基于FPGA的单片机外围接口电路设计
2.4.1 接收模块
异步串行通信是逐个字符进行传输的,并且传送的每一个字符格式都相同,均以一位起始位开始,中间有若干位数据位,然后是一位校验位(可选),昀后是停止位,停止位后面是不定长度的空闲位。这样就保证了起始位开始处一定有一个下跳沿。接收逻辑首先通过检测数据的下降沿来检测起始位,产生采样时钟,然后利用采样时钟来采样串行输入数据,在缓冲器中做移位操作,同时产生校验位,在第 8位处比较校验位是否正确,在第 9位处比较停止位是否为高,然后产生错误指示信号。本文采用状态机进行设计,其 FSM状态转换图如图 4所示。
2.4.2 发送模块
发送部分检测控制信号,当有数据要发送时只要按顺序依次发送 1位起始位、 5-7位数据位、一位校验位(带校验时)和 1位(或 1.5位、2位)停止位即可。其 FSM状态转换图如图 5所示。
停止位发送完毕
无数据要发送发送停止位
3 结束语
将设计下载到芯片中,综合报告显示只消耗了FPGA很少的一部分资源。整个系统的功耗也大为降低。由于FPGA为大规模集成电路,其集成度和工作速度随着技术进步和产品升级不断提高,所以用FPGA实现单片机外围接口电路可以大大改善单片机系统的性能,系统的外围逻辑越是复杂,FPGA的潜力越能得到更好的发挥。
评论