注:文章内容为本人学习笔记,若有错误欢迎指正或补充。
1,74hc595芯片
74hc595是一个串行输入并行输出的芯片,可以多个一起并用,每一个芯片有8个输出端口。
输入端口: DS 输入端口。
SHCP 移位寄存器时钟,用于把数据从DS传到移位寄存器中。
STCP 储存寄存器时钟,用于把数据从移位寄存器传到存储寄存器中。
OE 输出使能,低电平有效,从存储寄存器中把数据输出。
MR 复位信号 ,电平有效,一般接VCC。
Q7S 多个74hc595连用时这个端口连接下一个芯片的DS端口。
多个芯片连用时,输入数据从最末端芯片的最大输出引脚号处依次填入。
由于计算机都是二进制数据传送,若要串行输入并行输出则要进行位数分离。虽然可以使用除余操作快速分离,但是这种操作会占用大量的资源。所以要使用BCD编码的方式减少资源的使用。BCD码,即用四位二进制表示十进制中的0~9,10个数,BCD码分为有权码与无权码,有权码即每一位都有对应的权,常见的有权码有8421码,5421码,2421码,常见的无权码有余3码,余3循环码。
二进制码转8421码的方式:例如有n位10进制数,转换为二进制为x,其位数为z。
1,在x前面补n x 4个0。
2,左移然后判断补0处的每4位二进制是否小于等于4,若小于等于4则左移一位,若大余4则加3后再左移一位,循环z次。
2,IP核
将常用且复杂的功能模块,设计成参数可修改的模块,让其他用户可以直接调用这些模块,即为IP核。例如,FIFO,RAM,SDRAM控制器。
3,PLL-IP核
PPL锁相环,可以对输入到FPGA的时钟信号进行任意分频,倍频,相位调制,占空比调整,输出一个期望时钟。在Quartus中使用的锁相环为模拟锁相环,相对的还有数字锁相环。
下图是PPL的工作原理,输入时钟经过鉴频鉴相器与下面输入的时钟进行对比,对比结果输入搭配环路滤波器上,使环路滤波器产生不同的电压输出给压控振荡器,压控振荡器通过电压大小不同调整输出的时钟频率与相位。最终使得输出的时钟与输入的时钟相位都相等。
下图是PLL倍频工作原理图,与上图比多了个分屏器,若要实现二倍频,则让分频器进行二分频,使分频器输出频率为初始频率的一半,在经过鉴频鉴相器与初始时钟对比后,在环路滤波器与压控振荡器的控制下使时钟达到二倍频的效果。
下图是PLL分频工作原理图,与倍频不同处在于分屏器的位置,其工作原理相同。
下图整合图。
PLL-IP核的使用模式:
1,标准模式,时钟通过PLL到寄存器有相位补偿,输出时钟没有补偿。
2,原同步模式,数据和时钟来自用一个原,让数据与时钟保持原来的相位关系,用于告诉的数据接口
3,零延迟缓存模式,与标准模式相反输入到内部寄存器无补偿,输出有补偿。
4,无补偿模式,PLL不对任何时钟相位进行补偿,使其有更好的抖动性能。
每个设备的锁相环是有限个的,每个锁相环最多有五个时钟输出。
4,ROM-IP核
ROM只读存储器,其使用的是RAM的资源生成,文件格式为 .hex 与 .mif ,ROM-IP核有单端口ROM与双端口ROM,一个双端口ROM可以看做两个单端口ROM。