标签: shift-register

了解使用 LFSR 实现 CRC 生成的两种不同方式

有两种使用线性反馈移位寄存器(LFSR)实现CRC生成的方法,如下图所示 CRC LFSR. 此图中生成多项式的系数为100111,红色“+”圆圈为异或运算符。两者的初始化寄存器值都是 00000。

例如,如果输入数据位流是 10010011,A 和 B 都会给出 1010 的 CRC 校验和。不同之处在于 A 完成了 8 次移位,而 B 进行了 8+5=13 次移位,因为输入后附加了 5 个零数据。我可以很容易地理解 B,因为它非常模仿模 2 除法。但是,我无法从数学上理解 A 如何在减少 5 个班次的情况下给出相同的结果。我听说人们在谈论 A 利用了预先附加的零,但我没有明白。谁能给我解释一下?谢谢!

crc shift-register

5
推荐指数
1
解决办法
7657
查看次数

与 z80 的 SPI 硬件接口

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

z80 spi sd-card retro-computing shift-register

5
推荐指数
1
解决办法
2616
查看次数

标签 统计

shift-register ×2

crc ×1

retro-computing ×1

sd-card ×1

spi ×1

z80 ×1