芯片 74HC595
该芯片的作用是移位寄存器,通过移位的方式,节省 FPGA 的管脚。
原理
移位寄存器芯片的作用就是将data端传进来的串行数据转化为并行输出。
上图是模拟移位寄存器的结构。data数据端传进来的1001经过四个周期一级一级的传送后,每个触发器的Q端都有输出。
所以四个周期后,D3,D2,D1,D0,都有数据输出,那么有个疑问,如果经过第三个周期呢,可以发现,D0的值是不确定的,也就是说,输出端不稳定,所以就需要加上开关,当每个触发器的Q端有值输出时,就可以打开开关,稳定的输出D3,D2,D1,D0,也就是下图。
clk:移位寄存器时钟
data:串行数据输入
latch:产生高电平或者上升沿,用来充当开关打开。输出稳定的D值。
上图画的是触发器,但实际上可以用锁存器,因为在设计过程中的锁存器比触发器消耗的晶体管数目较少。
芯片 74HC595是8位的,而上图介绍的是4位的大家注意。
当然,这个芯片是可以级联的,以便得到更大的位数。芯片最后的一个移位寄存器输出可以接到下一个芯片的输入。
74HC595芯片引脚
时序图
Q0到Q7是输出,DS是串行输入。
SHCP频率
板子上fpga引脚输出的是3.3v,所以可以这样取值,在2V和4.5V之间取一个平均(20+4)/2MHZ = 12MHZ
板子上大多是使用50MHZ的时钟,所以再取12.5MHZ便于分频实现。
当然12MHZ可以用PLL来实现。
此文章总结小梅哥讲解的移位寄存器视频