Bộ vi xử lý nào để thử nghiệm?


33

Tôi có một ảo mộng bí mật (ôi, không còn bí mật nữa) để xây dựng một máy tính đơn giản từ đầu. Tôi đang tìm kiếm một bộ vi xử lý dễ sử dụng để bắt đầu. Tôi biết về các nghi phạm thông thường như 6502, 68000, 8086, Z80, v.v. Nhưng tôi tự hỏi liệu có thứ gì tốt hơn ngoài đó không. Đây là danh sách mong muốn của tôi:

Phải có:

  • Tốc độ xung nhịp thấp (4-25 MHz)
  • Không quá 40-60 chân, tốt nhất là trong cấu hình DIP
  • Khả năng giải quyết khoảng 64KB bộ nhớ, nhưng tối đa 1 MB hoặc hơn sẽ tốt hơn
  • Kiến trúc chương trình được lưu trữ (không phải không gian hướng dẫn chỉ đọc) (Chỉnh sửa: quy tắc này loại bỏ hầu hết các bộ vi điều khiển cấp thấp, như PIC và AVR)
  • Mô hình bộ nhớ phẳng, không bị gò bó hoặc phân đoạn như 8086

Muốn, nhưng không cần thiết phải có:

  • Tập lệnh RISCy (lưu trữ tải)
  • Sổ đăng ký mục đích chung
  • Các loại chân I / O của TTL
  • ROM flash tích hợp

Bộ vi xử lý hoặc vi điều khiển nào bạn muốn đề xuất là tương đối dễ dàng để kết nối và có được các thói quen ROM đầu tiên được viết cho?

Mục tiêu của tôi là có được một hệ thống Forth đơn giản (hoặc tương tự). Chỉ cần nói rằng tôi đã làm nó.

Chỉnh sửa: Sau khi thực hiện một chút nghiên cứu, tôi nghĩ một cái gì đó giống như ARM7 sẽ phù hợp với tôi. Nó đi kèm với một lượng flash không đáng kể và SRAM để chơi cùng - đôi khi nhiều như flash 256K và SRAM 64K - cùng với I / O kỹ thuật số, ADC, I / O nối tiếp, v.v.

Đây là một: ban phát triển ARM STR711 .


Không thực sự liên quan đến lập trình. Âm thanh giống như một câu hỏi phần cứng (tức là tài liệu superuser.com).

3
có, nhưng chỉ khán giả lập trình viên mới có thể trả lời đúng
Stefano Borini

Bạn có muốn thiết bị tự xử lý bàn phím, chuột và hiển thị hay bạn chỉ kết nối qua serial?

Nối tiếp sẽ tốt cho tôi.

STR711 ARM không thực sự nhúng

Câu trả lời:


15

Tôi đồng ý rằng ARM là con đường dành cho vi điều khiển 32 bit. ARM có mặt khắp nơi và ngôn ngữ lắp ráp của nó có thể được sử dụng trên một loạt các họ vi điều khiển. ARM cũng có sự hỗ trợ tốt từ chuỗi công cụ GCC. Kiến trúc chip ARM7TDMI đã thống trị không gian mcu 32 bit trong 5 năm qua và ARM Cortex-M3 là sự thay thế mới nổi. Cortex-M3 có kiến ​​trúc Harvard (không gian địa chỉ dữ liệu và hướng dẫn riêng biệt), nhưng tôi không cảm thấy đó là một hạn chế.

Micromint có một danh tiếng vững chắc, và họ cung cấp một bảng Cortex-M3 với các tùy chọn cấu hình với một mức giá hợp lý. Tuy nhiên, nếu bạn thực sự cần cấu hình DIP, tôi đã thành công với máy nghiền

Bây giờ, điều tiếp theo là ngôn ngữ. Bạn đã đề cập FORTH. Tôi cũng khuyên dùng Python-on-a-ChipeLua là những ngôn ngữ mạnh mẽ, dễ học, hoạt động trên nền tảng mục tiêu kích thước này. eLua được phát triển đầy đủ hơn nhưng có yêu cầu tài nguyên lớn hơn Python-on-a-Chip. Tiết lộ đầy đủ: Tôi là tác giả của PyMite VM được sử dụng trong Python-on-a-Chip. Vì vậy, nếu mục tiêu của bạn là tạo ra ngôn ngữ của riêng bạn, tôi hoàn toàn hiểu được niềm vui của bài tập đó.


1
ARM có các bus dữ liệu và lệnh riêng biệt , không gian địa chỉ được thống nhất (nghĩa là bạn có thể đọc hướng dẫn và thực hiện dữ liệu nếu bạn cần). Tôi cũng khuyên bạn nên xem xét các chip Cortex-Mx cấp thấp hơn từ NXP - hãy xem LPCXpresso.
Igor Skochinsky

7

Đối với công cụ uC nhỏ Arduino , giá rẻ, vui vẻ, cộng đồng tốt

Đối với các máy thuộc lớp ARM, giá rẻ nhất có lẽ là phích cắm sheeva, chúng tạo ra một cỗ máy hoàn chỉnh tuyệt vời được tích hợp vào nguồn cung cấp năng lượng tường và một máy bảng đơn hơi lớn với nhiều i / o hơn

Hoặc có bảng beagle , nhằm mục đích nhiều hơn vào hiệu suất âm thanh / video.

Tất cả đều chạy linux để bạn có một phần mềm phát triển khổng lồ


Hoàn toàn. Nhận bộ Fuzebox, kết hợp nó và hack các trò chơi nhỏ (chúng đều là phần mềm miễn phí cho đến nay, tôi nghĩ vậy) cho TV của bạn.

5

MSP430 từ Texas Cụ có mức tiêu thụ điện năng rất thấp, tập lệnh nhỏ nhưng rất lành mạnh (không giống như PIC), các công cụ nguồn mở và định dạng DIP trong dòng giá trị của chúng. Gần đây, họ đã phát hành một bộ khởi động 4,30 đô la (vâng, đó là bốn đô ba mươi xu, miễn phí vận chuyển) bao gồm giao diện USB để lập trình và gỡ lỗi và hai chip DIP để chơi. Kiểm tra nó ra .


Điều đó thật tuyệt! Tôi đã đánh dấu trang web đó. :)

4

Bạn có thể nhận được một FPGA và mô phỏng toàn bộ điều đó - không cần bộ xử lý.

Tôi đã từng cố gắng thử và tạo một máy tính MIPS đơn giản trước đây. Tôi đã có một thiết kế CPU cơ bản, nhưng sẽ rất khó để nói ít nhất là quấn dây hoặc nguyên mẫu.


Đó là một ý tưởng thú vị. Có nguồn nào cho các thiết kế bộ xử lý tham chiếu có thể được lập trình thành một đồ họa không?

Hầu hết các devkits đi kèm với thiết kế CPU miễn phí hoặc được cấp phép. Đôi khi ngay cả với một RTOS đi kèm.

Một PDP-1 sẽ khả thi. Nó được xây dựng từ các thành phần mô-đun. Các sơ đồ logic cho từng thành phần được xuất bản trong Sổ tay logic kỹ thuật số, 1969 (của tôi vừa xuất hiện trong thư ngày hôm nay!).
luser droog

2

Hãy xem bộ vi điều khiển ATmega của Atmel, họ có tất cả những gì bạn yêu cầu ngoại trừ khả năng thực thi mã từ RAM và chúng rất dễ cài đặt.

Một số bộ xử lý ARM 32 bit nhỏ như ARM7TDMI sẽ là một giải pháp thay thế, nhưng chúng không có trong các gói DIP. Điều tương tự cũng áp dụng cho vi điều khiển Renesas R8C / M16C.



Tất cả các AVR đều sử dụng không gian hướng dẫn chỉ đọc, phải không? Tôi cần để có thể thực hiện hết RAM, vì vậy các chương trình của tôi có thể viết chương trình.

Vâng, có vẻ như bạn đúng. Mặc dù khi tôi chơi với Forth 25 năm trước, tôi đã sử dụng triển khai mã luồng, điều này có thể thực hiện được với AVR.
starblue

Một ARM Cortex M0 trong gói DIP 28 chân đã được nhìn thấy: nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/
starblue

2

Âm thanh như một dự án tuyệt vời! Tôi đã quay lại những năm 70 với chip 8008 và một chút RAM và ROM. Tôi đã lập trình nó để chơi một giai điệu nhỏ với các loa được kết nối với cổng I / O. Một phần của mạch nhớ liên quan đến chip hẹn giờ được điều khiển bởi tụ điện. Tôi hàn trên một tụ điện phụ, khi bị đẩy vào tiếp xúc, làm cho toàn bộ sự việc chậm lại 1000. Sau đó, tôi sử dụng trong lớp như một người biểu tình. Đầu tiên tôi sẽ chạy nó chậm và các sinh viên có thể nghe thấy loa phát ra tiếng click, click. Sau đó, tôi tháo tụ điện và họ nghe thấy giai điệu. Tôi đã cố gắng gây ấn tượng với họ về cách máy tính hoàn thành một hướng dẫn trước khi bắt đầu kế tiếp.


1

Hãy xem OLIMEX họ có bảng phát triển cho hầu hết các bộ điều khiển vi mô hiện đại và nếu bạn thực sự muốn DIP, họ có bộ xử lý ARM trên các bảng theo định dạng như DIP ( 1 ). Họ cũng bán JTAG và có sẵn một số mã demo cho hầu hết các bảng (gcc) để họ rất dễ dàng để bắt đầu và chạy với. Hầu hết các bảng của họ có sẵn thông qua Sparkfun . Cá nhân tôi thích micros micros dựa trên Phillips LPC ARM nhưng mọi thứ từ Olimex đều tốt.

AVR32 cũng sẽ làm việc cho bạn (không có havard). Gần đây tôi mới bắt đầu sử dụng chúng và rất ngạc nhiên về khả năng và dễ sử dụng của chúng.

Để xây dựng từ đầu không thực sự là một lựa chọn ngày nay trừ khi bạn sử dụng micro nhúng 8 bit hoặc có một thiết lập để hàn các bảng gắn trên bề mặt và gỡ lỗi các bảng pc kỹ thuật số phức tạp.


1

Tùy thuộc vào mục tiêu của bạn, bạn có thể muốn xem xét việc xây dựng CPU của riêng mình với các tính năng bạn muốn, thay vì sử dụng CPU hiện có. Kiểm tra webring CPU Homebuilt . Thậm chí còn có một người đam mê điên cuồng , người đã chế tạo CPU từ rơle!


1
Ôi! Thật kinh khủng! Và anh ta có vẻ tự hào về điều đó ....
asp316

Đó là một dự án tốt đẹp. Alan Turing đã làm việc với phần cứng dựa trên rơle. Công cụ tiếp sức của kẻ này trông gọn gàng lắp ráp và được xây dựng trong tủ đẹp. Làm tốt lắm!
Kaz

1

Cánh quạt Parallax

Bộ xử lý 32 bit duy nhất hiện đang được sản xuất trong gói DIP là Parallax Propeller . (Cùng một con chip cũng có sẵn trong các gói QFP 44 chân và 44 pin QFN nhỏ hơn nhiều, tất cả đều có 32 chân I / O cho mục đích chung). Ngoài Windows IDE, cũng có một vài công cụ phát triển cho nó chạy trên Linux .

Nó dường như đáp ứng tất cả các yêu cầu của bạn ngoại trừ "ROM flash tích hợp" - thay vào đó, tải khởi động Propeller từ EEPROM 8 chân ngoài. (Đó là một điều nữa để kết nối, nhưng việc kết nối chip 8 chân dễ dàng hơn nhiều so với hầu hết các chip lưu trữ chương trình bên ngoài).


0

+1 Đối với kính hiển vi ATmega. Bạn nhận được chúng với bộ tải khởi động để lập trình qua USB - làm cho việc chạy bảng đầu tiên đó dễ dàng hơn mà không cần phải có một lập trình viên chuyên dụng. Bạn sẽ bỏ lỡ các công cụ ICE nếu bạn đi tuyến đường này mặc dù.


0

Một cuộc bỏ phiếu thứ hai cho Amtel. Tôi đặc biệt thích thiếu niên ++ cho các nguyên mẫu và thử nghiệm. USB cung cấp năng lượng, cung cấp giao diện lập trình và hiển thị đầu ra gỡ lỗi. Công cụ phát triển GNU. Hàng tấn niềm vui với giá khoảng 30 đô la.


0

Atmel sẽ khá phổ biến, bản thân arduinos (tôi thích những người mẫu chuyên nghiệp tại sparkfun) rất nổi tiếng. Bạn sẽ tìm thấy NHIỀU người có sở thích ngoài kia quen thuộc và có thể trả lời hầu hết mọi câu hỏi về việc sử dụng AVR.

Tôi thích tập lệnh msp430 hơn avr và tập lệnh arm set phía trên các lệnh khác. Olimex tạo ra một số bảng "tiêu đề" hoàn hảo cho các thí nghiệm. Luminary micro có một số cái tốt nhưng nhiều chân được sử dụng trên chip cho thấy các thiết bị ngoại vi chip, tốt cho việc học chip và các tính năng nhưng cuối cùng bạn muốn cắt chúng đi để lấy I / O. Dù sao, olimex vẫn tốt, hãy thử http://www.sparkfun.com và duyệt qua các ban phát triển, một số từ olimex, một số từ Sparkfun, nhiều lựa chọn và nhiều dưới 40 đô la hoặc 50 đô la để bạn có thể thử một vài cái để xem bạn là gì như. Tôi sắp đặt mua một armmite, nếu nó nằm trong danh sách tính năng của nó có lẽ là bảng điều khiển tốt nhất cho mục đích của tôi.


0

Tôi đã có cùng một giấc mơ, chỉ là chưa bao giờ thực sự có được nó.

Hầu hết các khuyến nghị ở trên là cho bảng dev. Vì bạn đã nói "từ đầu", tôi cho rằng bạn muốn bắt đầu với một chip xử lý DIP duy nhất và không mua bảng dev. Trong trường hợp đó tôi sẽ cực kỳ siêu khuyên bạn nên gắn bó với một cái gì đó giống như những nghi phạm thông thường mà bạn đã liệt kê trong bài đăng của mình. Chúng phổ biến vì chúng hoạt động tốt cho một nhiệm vụ như vậy. Bạn có thể khắc phục sự cần thiết của nhiều dòng I / O hơn với bộ ghép kênh và bộ tách kênh.

Giả sử bạn đã tìm thấy CPU "hoàn hảo" đó làm mọi thứ bạn muốn và có số dòng IO chính xác mà bạn muốn. Bạn sẽ không tìm thấy bất cứ nơi nào gần một smidgen hỗ trợ mà bạn sẽ tìm thấy cho các bộ xử lý phổ biến. Bạn sẽ rất dễ dàng có thể tìm thấy những cuốn sách cũ đã sử dụng trên E-Bay, Amazon, v.v. chỉ với những đồng xu chỉ ra cách thiết kế một hệ thống hoàn chỉnh bằng các bộ xử lý đó. Chưa kể các trang web, trình biên dịch và những người khác làm điều tương tự.

Nếu bạn đi với bất cứ điều gì khác, tôi nghĩ bạn sẽ hối tiếc sâu sắc. Bạn sẽ mất nhiều thời gian hơn vì thiếu hỗ trợ hơn là bạn sẽ khắc phục mọi vấn đề kỹ thuật bạn gặp phải với các bộ xử lý đó. Thêm vào đó, vì mọi người đã thiết kế toàn bộ máy tính với những con chip đó, bạn biết nó có thể được thực hiện. Với bất cứ điều gì khác, luôn có cơ hội bạn sẽ va vào một bức tường gạch.


Ngoài ra, bạn có thể muốn xem xét tùy chọn sao chép một kiến ​​trúc hiện có như C64 đã bị hack đến chết.

0

Chọn Atmel AVR. Dưới đây là một số nền tảng trò chơi xung quanh nó:

http://belogic.com/uzebox/index.asp
http://avga.prometheus4.com/
http://www.innovativedevice.com/console/GameStation.asp
http://www.lucidscience.com/pro-lazarus-64%20prototype-1.aspx
http://www.lucidscience.com/pro-vga%20video%20generator-1.aspx

0

Tôi thích tập lệnh msp430 hơn avr và tập lệnh arm đặt trên các lệnh khác.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.