·上一文章:一种基于FPGA的PXA270外设时序转换接口设计
·下一文章:DCT域数字水印算法的FPGA实现
发送模块部分VHDL程序如下:
2.5 接收模块设计
接收模块也分为空闲、检测起始位、移位等3种模式。如图4所示。首先捕捉起始位,在 mclkx16时钟下不断检测从rx端输入数据的起始位,当检测到起始位后,接收模块由空闲模式转换为移位模式,并且16分频mclkx16产生 rxclk波特率时钟。此时rxclk时钟的上升沿位于串行数据每一位的中间,这样接下来的数据在每一位的中点采样。然后由rxclk控制在上升沿将数据位写入移位寄存器rgr的rsr[7]位,并且rsr右移1位,依次将8位数据全部写入rsr,并且停止产生rxclk波特率时钟。判断奇偶校验、帧结构和溢出标志正确后,rsr寄存器中的数据写入rhr数据锁存寄存器中,最后由8位数据总线输出转换完成的数据。
接收模块部分VHDL程序如下: