Який мікропроцесор для експериментів?


33

Я маю таємну фантазію (ой, вже не така таємна), щоб створити простий комп’ютер з нуля. Я шукаю простий у використанні мікропроцесор для початку. Я знаю про звичайних підозрюваних, таких як 6502, 68000, 8086, Z80 тощо. Але мені цікаво, чи є щось краще там. Ось мій список побажань:

Повинен мати:

  • Низька тактова частота (4-25 МГц)
  • Не більше 40-60 штифтів, бажано в конфігурації DIP
  • Можливість адресувати близько 64 КБ пам'яті, але до 1 Мб або близько цього було б добре
  • Архітектура збереженої програми (не простір інструкцій лише для читання) (Редагувати: це виключає більшість мікроконтролерів низького класу, як-от PIC та AVR)
  • Модель з плоскою пам’яттю, не заповнена або сегментована як 8086

Хочеться, але не обов'язково мати:

  • Набір інструкцій RISCy (завантаження)
  • Реєстри загального призначення
  • Асортимент штифтів вводу / виводу TTL
  • Вбудований флеш-диск

Для якого мікропроцесора чи мікроконтролера ви б припустили, що відносно легко підключити та отримати перші підпрограми ПЗУ?

Моя мета - створити просту систему Forth (або подібну). Просто сказати, що я це зробив.

Редагувати: Після невеликих досліджень я думаю, що щось на зразок ARM7 мені підійде. Він постачається з нетривіальною кількістю спалаху та SRAM, з якою грати - іноді навіть 256K спалахом та 64K SRAM - разом із цифровими введеннями / виводами, АЦП, послідовним входом / виводом тощо.

Ось один: рада розвитку STRM11 ARM .


Не дуже пов'язане з програмуванням. Звучить більше як апаратне запитання (тобто матеріал superuser.com).

3
так, але лише аудиторія програміста може відповісти належним чином
Стефано Борині

Ви хочете, щоб пристрій керував клавіатурою, мишкою та дисплеєм самостійно чи збираєтесь підключатись лише через серійний?

Серіал був би для мене добре.

АРМ STR711 насправді не опускається

Відповіді:


15

Я погоджуюся, що ARM - це шлях для 32-бітних мікроконтролерів. ARM є всюдисущим, і мова його складання може використовуватися для широкого кола мікроконтролерів. ARM також має гарну підтримку з набору інструментів GCC. Архітектура мікросхем ARM7TDMI домінувала в 32-бітовому просторі mcu за останні 5 років, а ARM Cortex-M3 - це нова заміна. Cortex-M3 має гарвардську архітектуру (окремий простір інструкцій та даних), але я не відчуваю, що це обмеження.

Micromint має добру репутацію, і вони пропонують плату Cortex-M3 з можливістю налаштування за гідну ціну. Однак якщо вам дійсно потрібна конфігурація DIP, я мав успіх з mbed

Тепер наступне - це мови. Ви згадали ФОРТ. Я також рекомендую Python-on-a-Chip та eLua як потужні, легкі для вивчення мови, які працюють на цій цільовій платформі розміру. eLua більш розвинений, але має більші потреби в ресурсах, ніж Python-on-a-Chip. Повне розкриття: я автор PyMite VM, що використовується в Python-on-a-Chip. Отже, якщо ваша мета - зробити власною мовою, я цілком розумію радість від цієї вправи.


1
ARM має окремі шини інструкцій та даних , адресний простір уніфікований (тобто ви можете читати інструкції та виконувати дані, якщо вам потрібно). Я також порекомендую подивитися чіпи Cortex-Mx нижнього рівня від NXP - перевірити LPCXpresso.
Ігор Скочинський

7

Для невеликих предметів з UC Arduino , дешево, весело, добре співтовариство

Для машин класу ARM найдешевший, мабуть шієва штепсельна вилка, вони роблять дивовижну повну машину, вбудовану в блок живлення стінових батарей та трохи велику одноплатову машину з набагато більшою кількістю вводу-виводу

Або є бігль-борд , орієнтований більше на аудіо / відео.

Усі вони працюють під управлінням linux, тому у вас є величезний спектр програмного забезпечення для розробки


Повністю. Отримайте комплект Fuzebox, складіть його разом і зламіть маленькі ігри (на сьогоднішній день, на мою думку, це все вільне програмне забезпечення) для вашого телевізора.

5

MSP430 від Texas Instruments має дуже низьке енергоспоживання, невеликий, але дуже розумний набір інструкцій (на відміну від PIC), інструменти з відкритим кодом та формат DIP у своєму рядку значень. Вони нещодавно випустили 4,30 долара (так, це чотири долари тридцять копійок, безкоштовна доставка), стартерний комплект, який включає USB-інтерфейс для програмування та налагодження та два DIP-чіпи, з якими можна грати. Перевірте це .


Це дуже круто! Я зробив закладки на цьому сайті. :)

4

Ви можете отримати FPGA і знущатися над усією справою над цим - не потрібен процесор.

Раніше я намагався спробувати зробити простий комп'ютер MIPS. У мене є базовий дизайн процесора, але важко було б сказати щонайменше, щоб обернути провід або іншим чином скласти прототип.


Це цікава ідея. Чи є джерела для еталонних процесорів, які можна запрограмувати на FPGA?

Більшість девітів FPGA поставляються з безкоштовним або ліцензованим дизайном процесора. Іноді навіть із супровідним RTOS.

PDP-1 було б можливим. Він побудований з модульних компонентів. Логічні діаграми для кожного компонента опубліковані у посібнику з цифрової логіки 1969 р. (Моє щойно прийшло на пошту!).
luser droog

2

Ознайомтеся з мікроконтролерами ATmega Atmega, у них є все, що вам потрібно, крім можливості виконання коду з оперативної пам’яті, і їх дуже легко налаштувати.

Деякі невеликі 32-бітові процесори ARM, такі як ARM7TDMI, були б альтернативою, але вони не поставляються в пакетах DIP. Те саме стосується мікроконтролерів Renesas R8C / M16C.



Усі AVR-файли використовують простір інструкцій лише для читання, чи не так? Мені потрібно мати можливість виконувати оперативну пам’ять, щоб мої програми могли писати програми.

Так, схоже, ти маєш рацію. Хоча коли я грав з Forth 25 років тому, я використав реалізацію потокового коду, що було б можливо з AVR.
starblue

ARM Cortex M0 в 28-контактному DIP-пакеті було помічено: nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/…
starblue

2

Звучить як чудовий проект! Я зробив один ще в 70-х з чіпом 8008 і трохи оперативної пам’яті та ПЗУ. Я запрограмував його на невелику мелодію з динаміками, підключеними до порту вводу / виводу. Частина ланцюга пам'яті включала в себе чіп таймера, керований конденсатором. Я припаяв додатковий конденсатор, який при натисканні на контакт змусив все сповільнитись на 1000. Потім я використовував у класі як демонстратор. Спочатку я би запустив це повільно, і студенти могли почути, як динаміки натискали, клацали. Потім я відкрутив конденсатор, і вони почули мелодію. Я намагався вразити їх, як комп'ютери закінчують одну інструкцію, перш ніж починати наступну.


1

Ознайомтеся з OLIMEX, у них є плати розробки для більшості сучасних мікроконтролерів, і якщо ви дійсно хочете DIP, вони мають ARM-процесори на платах у форматі DIP ( 1 ). Вони також продають JTAG, і для більшості дощок (gcc) доступний демо-код, тому з ними дуже легко встати і працювати. Більшість їх дощок доступні через Sparkfun . Мені особисто подобаються мікрофони Phillips LPC ARM, але все, що від Olimex, добре.

AVR32 також буде працювати для вас (не гавард). Я нещодавно почав користуватися ними і був дуже здивований тим, наскільки вони здатні та прості у використанні.

Сьогодні побудувати з нуля - це насправді не варіант, якщо ви не використовуєте 8-бітовий занурений мікрофон або не налаштовуєте на паяння платів для поверхневого кріплення та налагодження складних плат цифрового ПК.


1

Залежно від ваших цілей, ви можете розглянути можливість створення власного процесора з потрібними функціями замість того, щоб використовувати існуючий процесор. Ознайомтеся з домашнім вбудованим процесором . Є навіть шалений ентузіаст, який побудував процесор із реле!


1
ОЦЕ ТАК! Це моторошно! І він виглядає гордим це ....
asp316

Це приємний проект. Алан Тьюрінг працював із апаратним забезпеченням на основі реле. Хлопці з естафети виглядають акуратно зібраними та вбудованими в приємні шафи. Хороша робота!
Каз

1

Пропелер Parallax

Єдиний 32-розрядний процесор, який зараз виробляється в пакеті DIP, - Propeller Parallax . (Цей самий чіп також доступний у набагато менших 44-контактних QFP та 44-контактних QFN-упаковках, усі з 32 штифтами загального призначення вводу / виводу). Окрім Windows IDE, є також декілька інструментів розробки для нього, які працюють під Linux .

Схоже, він відповідає всім вашим вимогам, окрім "Вбудованої флеш-ROM" - натомість завантажувальний гвинт завантажується з зовнішнього 8-контактного EEPROM. (Це ще одна річ, яку потрібно підключити, але набагато простіше підключити 8-контактний чіп, ніж більшість чіпів зовнішньої програми).


0

+1 Для мікрометра ATmega. Ви отримуєте їх із завантажувальним завантажувачем для програмування через USB - це ще простіше запустити цю першу дошку без необхідності отримати спеціального програміста. Ви пропустите речі ДВС, якщо підете цим маршрутом.


0

Другий голос за Amtel. Особливо мені подобається підліток ++ для прототипів та експериментів. USB забезпечує живлення, забезпечує інтерфейс програмування та відображає вихід налагодження. Інструменти розробки GNU Тони розваги приблизно за 30 доларів.


0

Atmel буде досить популярним, ардуїно (мені подобаються професійні моделі в sparkfun) самі популярні. Ви знайдете НІКОЛІ любителів, які знайомі і можуть відповісти на більшість питань щодо використання AVR.

Я віддаю перевагу інструкціям msp430, встановленим на avr, і інструкція про руку, встановлена ​​вище інших. Olimex робить ряд дощок «заголовків», які ідеально підходять для експериментів. Світловий мікрофон має кілька хороших, але багато штифтів споживаються на мікросхемі, демонструючи мікросхему периферійних пристроїв, добре для вивчення мікросхеми та особливостей, але ви, зрештою, хочете відрізати їх, щоб потрапити на введення / виведення. У будь-якому випадку olimex добре, спробуйте http://www.sparkfun.com та перегляньте дошки розробників, деякі - від olimex, деякі - від sparkfun, широкий вибір і багато під $ 40 або $ 50, так що ви можете спробувати кілька, щоб побачити, що ви подібно до. Я збираюся замовити арміт, який, якщо він відповідає своєму списку характеристик, мабуть, найкраща плата контролера для моїх цілей.


0

У мене був такий самий сон, я просто ніколи насправді не обійшов його.

Більшість рекомендацій, наведених вище, стосуються плати розробників. Оскільки ви сказали "з нуля", я припускаю, що ви хочете почати з єдиного мікросхеми процесора DIP, а не купувати плату розробників. У такому випадку я б дуже надзвичайно рекомендував вам дотримуватися чогось подібного до звичайних підозрюваних, які ви вказали у своєму пості. Вони популярні, бо добре справляються з таким завданням. Ви можете подолати потребу в більше ліній вводу / виводу за допомогою мультиплексорів і демультиплексорів.

Припустимо, ви знайшли той "ідеальний" процесор, який виконує все, що завгодно, і має точну кількість ліній IO, які ви хочете. Ви не збираєтесь ніде знаходитись поблизу фрагменту підтримки, яку ви знайдете для популярних процесорів. Ви повинні дуже легко мати змогу знайти старі книги, що вживаються на E-Bay, Amazon тощо, лише за копійки, які показують, як створити повну систему за допомогою цих процесорів. Не кажучи вже про веб-сайти, компілятори та інших людей, які роблять те саме.

Якщо ви підете з чим-небудь іншим, я думаю, що ви будете глибоко шкодувати про це. Ви витратите більше часу на розчарування через відсутність підтримки, ніж на подолання будь-яких технічних проблем, які виникають із цими процесорами. Крім того, оскільки люди вже створили цілі комп'ютери з цими мікросхемами, ви знаєте, що це можна зробити. З будь-чим іншим, завжди є шанс потрапити в цегляну стіну.


Крім того, ви можете розглянути можливість копіювання існуючої архітектури на зразок C64, яка вже була взломана.

0

Виберіть Atmel AVR. Ось кілька ігрових платформ навколо нього:

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

Я віддаю перевагу інструкціям msp430, встановленим на avr, і інструкція про руку, встановлена ​​вище інших.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.