用FPGA器件实现UART核心功能的一种方法
[11-20 16:13:56] 来源:http://www.88dzw.com FPGA 阅读:8622次
文章摘要: 三、 接受部分 对于接收同样存在9、10、11位三种串行数据长度的问题,必须根据所设置的情况而将数据完整地取下来。接收还有一个特别的情况,那就是它的移位的时钟不是一直存在的,这个时钟必须在接受到起始位的中间开始产生,到停止位的中间结束。接受到停止位后,必须给出中断,并提供相应的校验出错、FRAME错以及溢出等状态。 这样需引入hunt和idle两个信号,其中hunt为高表示捕捉到起始位,idle为高表示不在移位状态,利用这两个信号就可以生成接收所需要的移位时钟。 下面还有一个小程序,就是如何将接收的状态和标志表示出来。溢出标志很简单,那就是在idle从低变高,也就是说在接收到一个完整的
用FPGA器件实现UART核心功能的一种方法,标签:fpga是什么,fpga教程,http://www.88dzw.com
三、 接受部分
---- 对于接收同样存在9、10、11位三种串行数据长度的问题,必须根据所设置的情况而将数据完整地取下来。接收还有一个特别的情况,那就是它的移位的时钟不是一直存在的,这个时钟必须在接受到起始位的中间开始产生,到停止位的中间结束。接受到停止位后,必须给出中断,并提供相应的校验出错、FRAME错以及溢出等状态。
---- 这样需引入hunt和idle两个信号,其中hunt为高表示捕捉到起始位,idle为高表示不在移位状态,利用这两个信号就可以生成接收所需要的移位时钟。
---- 下面还有一个小程序,就是如何将接收的状态和标志表示出来。溢出标志很简单,那就是在idle从低变高,也就是说在接收到一个完整的串行序列后,去判一下当前的中断是否有效?(高有效,数据没有被读走)如果为高那么溢出,否则没有。在移位的时候,同时对接收的数据进行校验,这样就可以判断接收的数据是否有错,在接收完成时判一下当前的RX是否为高电平就可以知道FRAME是否有错,图三是一个8bit奇校验的接收时序图(假定接收正确,所以没有给出校验、溢出、帧出错信号)。
---- 总结:我在用FPGA做一个设计的时候,由于还有资源而且正好用到UART,所以就根据对UART的认识进行了设计,全部用VHDL进行描述,用SPEEDWAVE进行语言级的仿真,用XILINX的F2.1进行顶层仿真,最后和PC的仿真终端进行联机,功能一切正常,整个UART所需要的触发器为80个左右,一般的PLD都可以完成。
Tag:FPGA,fpga是什么,fpga教程,FPGA
《用FPGA器件实现UART核心功能的一种方法》相关文章
- › 采用FPGA的红外密集度光电立靶测试系统
- › 利用FPGA协处理器提升无线子系统的性能
- › 采用FPGA实现 DisplayPort
- › 利用FPGA协处理提升无线子系统性能
- › 用FPGA解决65nm芯片设计难题
- › 利用FPGA实现视频监控系统的视频处理
- 在百度中搜索相关文章:用FPGA器件实现UART核心功能的一种方法
- 在谷歌中搜索相关文章:用FPGA器件实现UART核心功能的一种方法
- 在soso中搜索相关文章:用FPGA器件实现UART核心功能的一种方法
- 在搜狗中搜索相关文章:用FPGA器件实现UART核心功能的一种方法
分类导航
最新更新