我试图使用z80制作一台复古计算机,理想情况下,我希望它能够从SD卡启动。我100%开始使用z80,不想使用带有内部SPI硬件接口的微控制器。我想要了解计算机的硬件和软件方面,所以arduinos和微控制器已经不在桌面上了,因为硬件方面在你购买之前已经完成了。总之,我的主要问题是,是否可以将移位寄存器、一些解码逻辑和软件结合起来,通过SPI模式从SD卡中读取?我在网上搜索了几个小时,读了好几篇文章,似乎找不到教程。但是,我理解SPI协议,但是缺乏有关硬件方面的信息,因为微控制器倾向于内置所有硬件。我计划将SD卡的SOMI连接到移位寄存器的串行输入引脚,将SD卡的SIMO连接到移位寄存器的串行输出引脚,然后将几个数据引脚连接到一些带有解码逻辑的触发器,这样如果我输出到特定端口,它就会切换触发器。触发器将作为时钟和芯片启用线到SD卡。我还将将z80的一个引脚连接到移位寄存器的锁存引脚(同样具有解码逻辑之间),以便如果输出到特定端口,它将锁定移位寄存器的数据。我不关心速度/效率,只要我能准确地从SD卡读取数据。另外,我是否会将移位寄存器时钟输入连接到与SD卡连接到的同一个时钟?如有任何关于如何实施的建议,我们将不胜感激!
发布于 2015-10-25 23:19:01
你真的可以在普通的IO上做一些SPI,你所需要的只是时钟信号的边缘中断和芯片选择的电平中断。其他的一切都可以用软件来完成。若要发送,请保持芯片选择低,并在MOSI上以期望的速率时钟出位。要接收,处理芯片选择低通过采样位的MISO在期望的边缘在时钟线上。将所有内容放入缓冲区,并在芯片选择线恢复到较高的位置时处理缓冲区。
https://stackoverflow.com/questions/33336089
复制相似问题