多语言展示
当前在线:845今日阅读:176今日分享:34

uart包括哪些模块结构,串口设计模块

uart(串口)可以用于数据通信,软硬件调试和print调试信息,但是它的传输速率比较慢,原因是它的通信原理和通信介质共同所致,虽然它的缺点很多,但是也不影响它被使用,它是比较常见的外设,尤其是在SOC设计中,本节介绍它的设计过程中的模块。本节的图片均来自本人的亲自截取。
方法/步骤
1

接口部分,中定义一些寄存器,如控制寄存器(control_reg),包括波特率的设置、奇偶校验位设置,bits数目的设置,停止位的设置等;状态寄存器(status_reg)包括奇偶校验错误状态,中断状态,发送接收fifo空满状态,CRC错误状态等;数据寄存器(data_reg)包括发送数据和接收数据。

2

输出缓存部分,用于缓存待发送的数据,关于它的大小,要根据发送端的吞吐率和uart的速率进行计算,然后给出一个比较合理的值;

3

输入缓存部分,用于缓存uart_rx接收的的数据,关于它的大小,要根据接收端的吞吐率和uart的速率进行计算,然后给出一个比较合理的值

4

发送状态机部分,用于中取一个字节,然后按照格式{开始位,数据位(位数可变),奇偶校验位,停止位}(有些位可以选择),在uart_baud的控制下一个一个bit的发送出去。

5

接收状态机,用于接收一个一个bit,然后剥去起始位,奇偶校验位停止位,组成一个字节,然后存入缓存部分。

推荐信息