用什么微处理器进行实验?


33

我怀有一个秘密幻想(哎呀,不再那么秘密了),从头开始构建一台简单的计算机。我正在寻找一个易于使用的微处理器。我知道诸如6502、68000、8086,Z80等常见嫌疑犯。但是我想知道是否还有更好的选择。这是我的愿望清单:

一定有:

  • 低时钟频率(4-25 MHz)
  • 不超过40-60针,最好在DIP配置中
  • 能够处理大约64KB的内存,但最多1MB左右将是不错的选择
  • 存储程序体系结构(非只读指令空间)(编辑:这排除了大多数低端微控制器,如PIC和AVR)
  • 平面内存模型,不像8086那样存储或分段

想要但不是必须具备:

  • RISCy指令集(加载存储)
  • 通用寄存器
  • TTL I / O引脚的种类
  • 内置闪存

您建议使用哪种微处理器或微控制器相对容易连接并编写第一个ROM例程?

我的目标是开发一个简单的Forth(或类似)系统。只是说我做到了。

编辑:经过一些研究,我认为像ARM7这样的东西很适合我。它带有大量的闪存和SRAM,有时甚至多达256K闪存和64K SRAM,以及数字I / O,ADC,串行I / O等。

这是一个:STR711 ARM开发板


与编程无关。听起来更像是一个硬件问题(即superuser.com的资料)。

3
是的,但是只有程序员的观众才能正确回答
Stefano Borini,2009年

您是否要让设备自行处理键盘,鼠标和显示器,还是只通过串行连接?

串行对我来说很好。

STR711 ARM并没有真正浸入

Answers:


15

我同意ARM是采用32位微控制器的方法。ARM无处不在,其汇编语言可用于各种微控制器系列。ARM还从GCC工具链获得了良好的支持。在过去的5年中,ARM7TDMI芯片体系结构一直主导着32位MCU领域,而ARM Cortex-M3是新兴的替代方案。Cortex-M3确实具有哈佛架构(单独的指令和数据地址空间),但是我不认为这是一个限制。

Micromint享有很高的声誉,他们提供带有可配置选项的Cortex-M3板,价格合理。但是,如果您真的需要DIP配置,那么mbed可以帮助您

现在,接下来是语言。您提到了FORTH。我还建议将Python-on-a-ChipeLua作为功​​能强大且易于学习的语言在这种规模的目标平台上运行。eLua的开发更加全面,但是比片上Python拥有更多的资源需求。全面披露:我是“片上Python”中使用的PyMite VM的作者。因此,如果您的目标是制作自己的语言,我将完全理解该练习的乐趣。


1
ARM具有独立的指令和数据总线地址空间是统一的(即,您可以读取指令并执行数据)。我还建议您查看NXP的低端Cortex-Mx芯片-查看LPCXpresso。
伊戈尔·斯科钦斯基

7

对于小型uC东西 Arduino,便宜,有趣,良好的社区

对于ARM类的机器,最便宜的可能是sheeva插头,它们可制成内置于壁式电源中的惊人的完整机器,以及具有更多I / O的稍大的单板机器

或者有beagle board,更多地用于音频/视频性能。

它们都运行linux,因此您拥有各种开发软件


完全。获取Fuzebox套件,将其放在一起,然后为您的电视破解一些小游戏(到目前为止,它们都是免费软件)。

5

德州仪器(TI)的MSP430具有非常低的功耗,小的但非常合理的指令集(与PIC不同),开源工具和价值线上的DIP格式。他们最近才发布了一个$ 4.30(是的,这是4美元30美分,免费送货)入门套件,其中包括用于编程和调试的USB接口以及两个DIP芯片。检查一下


太酷了!我已经将该网站加为书签。:)

4

您可以得到一个FPGA并以此模拟整个过程-不需要处理器。

我以前很想尝试制作一台简单的MIPS计算机。我有一个基本的CPU设计,但是至少要绕线或以其他方式进行原型制作很难说。


那是一个有趣的想法。是否存在可以编程到FPGA中的参考处理器设计的资源?

大多数FPGA开发套件都带有免费或许可的CPU设计。有时甚至附带一个RTOS。

PDP-1将是可行的。它由模块化组件构成。每个组件的逻辑图发布在1969年的《数字逻辑手册》中(我的邮件今天才来!)。
luser droog 2011年

2

看看Atmel的ATmega微控制器,它们除了具有从RAM执行代码的能力外,还具有您所要求的所有功能,而且它们很容易设置。

可以使用某些较小的32位ARM处理器(例如ARM7TDMI),但这些不是DIP包中的。这同样适用于瑞萨R8C / M16C微控制器。



所有的AVR都使用只读指令空间,不是吗?我需要能够在RAM之外执行,以便我的程序可以编写程序。

是的,看来您是对的。尽管25年前与Forth合作时,我使用的是线程代码实现,而AVR可以实现这种实现。
starblue

了ARM Cortex M0采用28脚DIP封装已经短视:nxp.com/products/microcontrollers/cortex_m0/lpc1100_x_l/...
starblue

2

听起来是一个很棒的项目!我在70年代使用8008芯片,再加上一点RAM和ROM来做一个。我对它进行了编程,以便在连接到I / O端口的扬声器上进行一些微调。存储器电路的一部分涉及由电容器控制的定时器芯片。我焊接了一个额外的电容器,当它与之接触时,使整个过程的速度降低了1000。然后,我在课堂上用作演示器。首先,我会把它放慢一点,然后学生会听到扬声器发出的咔嗒声。然后我解开电容器,他们听到了调子。我试图给他们留下深刻印象,让他们知道计算机在开始下一条指令之前是如何完成一条指令的。


1

查看OLIMEX,他们拥有适用于大多数现代微控制器的开发板,如果您真的想要DIP,则它们在板上具有DIP格式(1)的ARM处理器。他们还出售JTAG,并为大多数开发板(gcc)提供了一些演示代码,因此非常容易启动和运行。他们的大多数开发板都可以通过Sparkfun获得。我个人喜欢基于Phillips LPC ARM的微型表,但是Olimex的任何东西都很好。

AVR32也将为您工作(非哈佛)。我刚刚开始使用它们,对它们的功能和易用性感到非常惊讶。

除非您使用8位Dip Micro或具有焊接表面安装板并调试复杂的数字PC板的设置,否则今天从头开始构建实际上不是一个选择。


1

根据您的目标,您可能需要考虑使用所需的功能来构建自己的CPU,而不是使用现有的CPU。检查自制CPU Webring。甚至还有一个疯狂的发烧友,他们都用继电器制造了CPU!


1
哇!太吓人了!他看起来对此感到自豪....
asp316

这是一个不错的项目。Alan Turing使用基于中继的硬件。这些家伙的继电器看起来很整齐,并组装在漂亮的机柜中。做得好!
卡兹(Kaz)

1

视差螺旋桨

当前以DIP封装制造的唯一32位处理器是Parallax Propeller。(同一芯片还提供更小的44引脚QFP和44引脚QFN封装,全部具有32个通用I / O引脚)。除了Windows IDE外,还有一些可在Linux下运行的开发工具

除了“内置闪存ROM”外,它似乎满足了您的所有要求-而是从外部8引脚EEPROM启动Propeller引导程序。(这是接线的另一件事,但是接线8针芯片比大多数外部程序存储芯片要容易得多)。


0

+1对于ATmega micros。您可以使用引导加载程序通过USB进行编程,从而使第一块板运行变得更加容易,而无需使用专门的编程器。如果您走这条路线,您将错过ICE的东西。


0

对Amtel进行第二次投票。我特别喜欢teensy ++的原型和实验。USB供电,提供编程接口并显示调试输出。GNU开发工具。售价约30美元,可享许多乐趣。


0

Atmel将会很受欢迎,而arduinos(我喜欢sparkfun的专业模特)本身也很受欢迎。您会发现许多熟悉并且可以回答有关使用AVR的大多数问题的业余爱好者。

我更喜欢msp430指令集而不是avr,而arm指令集则高于其他。Olimex制造了许多非常适合实验的“标题”板。发光微芯片有一些不错的选择,但是许多引脚都被芯片上的外围设备消耗,从而可以很好地学习芯片和功能,但是您最终希望将它们切掉以获取I / O。无论如何,olimex很好,请尝试http://www.sparkfun.com并浏览开发板,其中一些来自olimex,一些来自sparkfun,选择范围广泛,许多价格在40或50美元以下,因此您可以尝试一些以了解您的需求喜欢。我将要订购一份armmite,如果它符合其功能列表,则可能是我的最佳控制板。


0

我有同样的梦想,只是从未真正实现过它。

上面的大多数建议都是针对开发板的。由于您是从头开始的,所以我假设您想从一个DIP处理器芯片开始,而不是购买开发板。在这种情况下,我会极力建议您坚持使用您在帖子中列出的常见嫌疑犯。它们之所以受欢迎是因为它们可以很好地完成此任务。您可以通过多路复用器和多路解复用器来克服对更多I / O线的需求。

假设您确实找到了“完美”的CPU,它可以完成您想要的一切,并具有所需的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,而arm指令集则高于其他指令。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.