hello,这里是晴空-Tiso~
今天给大家带来我们模块库中串口接收模块的详细使用介绍,前面我们学习了FPGA中如何通过串口发送驱动给我们的PC机或者其他主控和设备发送数据,今天我们学习一下如何用我们模块库里的接收驱动来获取到其他设备发过来的串口数据。
首先,第一步还是跟我们串口发送驱动的设置一样,我们需要给定我们的时钟频率(直接从晶振或者锁相环等时钟模块中引出的时钟频率)和我们需要生成的通信波特率,只要写入这两个参数,便可以自动生成一路串口接收模块。
紧接着我们再来解释一下对应的每个端口信号,这里值得强调一点的是,在这里接收数据标志位和之前的串口发送完成信号(tx_done)有所区别,发送完成信号在发送完成后,只会返回一个时钟周期的高电平,但是这里的data_rec是数据接收完成后就会置1,直到你将clr清除使能置为高位置才会将data_rec复位回0,这里如此设计就是为了在接收到来之后,防止其他模块无法立即响应,就可以等待其他模块取走数据后再拉高clr。在之后的串口回声例程中我们也能看到这个设计的用意。如果我们确实只需要data_rec在收到数据时仅仅只返回一个时钟高电平信号,那么我们也可以如图所示将数据接收标志位data_rec连回clr端口中。
大家可以使用这个模块连接一下PC上的串口调试助手进行测试哦~
模块库的销量目前已经突破两百份了,感谢各位小伙伴的支持,啾咪~
CSDN上的解说文档主要是向购买了模块库的小伙伴对各个模块的使用介绍和答疑
也希望阿空模块库的各个参数化模块能像一块块积木一样,帮助各位热爱FPGA的小伙伴们搭建起来自己的逻辑电路城堡!
模块库获取链接(B站工房):哔哩哔哩工房