4

我正在尝试使用 z80 制作一台复古计算机,理想情况下希望它能够从 SD 卡启动。我 100% 准备使用 z80,不想使用带有内部 SPI 硬件接口的微控制器。我想了解计算机的硬件和软件方面,所以 arduinos 和微控制器不在桌面上,因为硬件方面在你购买之前就已经完成了。无论如何,我的主要问题是是否可以结合移位寄存器、一些解码逻辑和软件通过 SPI 模式从 SD 卡读取?我已经在互联网上搜索了几个小时并阅读了几篇文章,但似乎找不到教程。我了解 SPI 协议,但是缺乏有关硬件方面的信息,因为微控制器倾向于内置所有硬件。我打算将SD卡的SOMI连接到移位寄存器的串行输入引脚,SD卡的SIMO连接到移位寄存器的串行输出引脚,然后将一些数据引脚连接到一些触发器和一些解码之间的逻辑,因此如果我输出到特定端口,它将切换触发器。触发器将用作 SD 卡的时钟和芯片使能线。我还将 z80 的一个引脚连接到移位寄存器的锁存引脚(同样在其间使用解码逻辑),这样如果我输出到特定端口,它将锁存移位寄存器的数据。我不关心速度/效率,只要我能准确地从 SD 卡读取数据。另外,我是否将移位寄存器时钟输入连接到与连接 SD 卡的时钟相同的时钟?任何有关如何实现这一点的建议将不胜感激,

4

1 回答 1

2

您真的可以在常规 IO 上使用 SPI。您所需要的只是时钟信号的边沿中断和片选的电平中断。其他一切都可以在软件中完成。要发送,请将芯片选择保持在低电平,并以所需的速率输出 MOSI 上的位。要接收,通过在时钟线上的所需边沿上从 MISO 采样位来处理芯片选择变低。将所有内容粘贴在缓冲区中并在芯片选择线返回高电平时处理缓冲区。

于 2015-10-25T23:19:01.190 回答