#111723#在良多人看来,打造一台家用的盘算机须要太多硬件:主板、CPU 等等。但实现一个8 位的盘算机远没有这么庞杂。克日,一名名为 Matt Sarnoff 的开辟者就仅用了 6 个芯片就组装好了一台盘算机。它不但能有音视频输入输出,还能够实现编程义务。不愧是经典又复旧的 8 位
电脑。
时至本日,8-bit作风的电脑仍然有着不朽的魅力。那末,能否能够应用经典的 CPU 来实现当初的盘算义务,同时保存 8-bit 的作风呢
克日,一名名为 Matt Sarnoff 的开辟者开辟了一款经典的家用盘算机,名为Amethyst。它有一个集成式的键盘,可能天生声响和图象。此中有一个高等编程言语,可能让用户本人编程。更主要的是,这个盘算机只要要 6 块芯片,此中包含一个ATMEGA1284P 的 CPU,一个 USB 接口芯片,以及 4 个简略的集成电路。
能够看到,你能够在下面实现一些基础操纵。这个盘算机还能够表现黑色图象。
那末,怎么用这些简略的硬件组装一台盘算机呢?
Amethyst :六个芯片打造家用盘算机
据作者先容,Amethyst 是一种复旧作风的家用九三级,缭绕 ATmega1284 微把持器打造。它可能分解 NTSC 视频输出,有着高色采和高辨别率形式、单声道音频输出和一个完全的机器键盘。
该盘算机应用 Forth 编程言语,有图象和声响指令、调试器和屏幕编纂功效。它采取一个 USB Type-B 接口,供给 5V 的电源和与一台 PC 的衔接相同。
另外,Amethyst 兼容 Optiboot (Arduino) bootloader,可能将固件加载到下面,不须要特别的编程硬件。
硬件设置
在硬件设置上,起首是 CPU。作者应用了 ATMEGA1284P。这是一个 2008 年宣布的CPU,有 128KB 的闪存和 16KB 的内存。它的运转主频最高到达 20MHZ,有一个内置的序列界面把持器以及 32 位的输入/输出 pin。
怎样让这个电脑输入和输出视频?作者找出了 4 个 7400 芯片——两个多路复用器和两个并行到串行移位存放器。
详细而言,他将 CPU 上的 8 个 pin 设置并行,将其同时传入 4 个芯片中,从而将它们转换高速串行比特流。通过这类方法,他可能让盘算机在屏幕上表现出 215 种差别的色彩。固然,如许带来的价值也很大,为了跟上屏幕革新,CPU 只剩下 25% 的算力处置其余义务了。
编程言语和情况
因为终究目标是供给一个轻量级的编程情况,以是作者抉择了 Forth 而不是Basic。Forth 是嵌入式体系的言语,存在交互性以及可高效编译代码的功效,能够在无限空间内施展感化。因为 1284P 不可能直接从 RAM 中履行已编译的代码,因而将代码编译为旁边字节代码,以后该字节码将作为数据供给给从 1284P 的虚构机。虚构机的代码是用汇编代码编写的,并停止了恰当的手动调剂以使其尽可能高效。
作者可能应用进步的激光切割机,因而计划以及制作木箱(wooden case)并不是很艰苦。机器键盘的开关直接焊接在 Amethyst 的单印刷电路板上,这个键盘的空格键在Enter 键上方。
作者所用机器键盘的空格键不像个别键盘那样位于旁边,而在 Enter 键的下面。
后果展现
从上图来看,这台电脑供给了一个下令行界面,用户能够停止种种操纵。
更风趣的是,电脑还自带了一个游戏。游戏中,玩家表演呆板人「#」,并从一大推字符中寻觅「kitten」。
寻觅 kitten 的游戏界面,可见这个盘算性能够实现良多义务,存在必定的机能。
总硬件清单
那末这一般具作风的家用盘算机详细须要哪些硬件呢?请看以下硬件清单:
· 以 14.318 MHz 运转的 ATmega1284 微把持器(8 位)
· 16KB 内存储器(16352 字节可用于利用顺序)
· 4KB 非易失性 EEPROM 存储
· 存在 Cherry MX 键开关的机器键盘
· NTSC 黑色和单色复合视频输出:
o 256 色、16 色和 4 色位图图形,辨别率最高为 160x200
o 辨别率高达 640x200 的单色位图图形
o 40x25 和 80x25 单色文本形式
o 40x25 黑色文本形式
o 40x25 黑色平铺图形形式
· 单声道音频输出(脉冲波或 PWM)
· USB 串行通讯速率高达 57600 波特
· 四个 SPI 扩大端口,用于外设、把持器和存储装备
· 仅 6 个芯片(ATmega1284、FT320X、2 个 74HC157 和 2 个74HC166)
完全的道理图、PCB 文件以及体系代码都能够在 Github 里找到。同时,作者也表现欢送读者通过已供给的信息构建本人的 Amethyst 或许改良其已有的计划。
参考衔接:
https://spectrum.ieee.org/geek-l ... r-with-just-5-chips
https://github.com/74hc595/Amethyst/blob/master/README.md
更多内容阅读推荐:
柜式空调显示e6怎么办