Uart串口设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Uart串口设计总结及实验

QinZhanAo

1.串口说明

电脑上通常位Rs232口,为9针口,可以在机箱后面找到。现在基本上都用USB转串口来实现串口的功能,需要注意的是,如果用USB转串口来实现串口功能的话,需要下载安装USB转串口驱动,否则不能实现。台式机可以直接用串口线来实现,而一般笔记本已经没有串口了,那么必须用USB转串口。

2.串口发端设计

2.1发端时序

串口发送数据端的时序如下图所示。

从时序图上可以看出,需要发送的数据低位先发出去,在发送数据之前,需要先发送一个开始特征比特,值为0,TXD数据线空闲状态为1。发送完数据最高位后发送一个停止比特,值为1。

2.2 设计思路

设计时钟:

根据前述的SPI模块设计时提出的一个思想:所有低速接口时钟都以进入接口时钟的2分频时钟来进行发送或者采样。

这里需要的波特率是38400Hz,那么进入串口发送模块的时钟为76800Hz,板上时钟50MHz,也就是需要进行652分频,分频计数为(652/2)- 1 = 325,计数值计到324即时钟翻转。

验证实验:

利用板上的两个按键,sw1按一下,计数值加1,并通过串口调试助手显示,sw2使得计数清零。

2.3 源码公布

发送端IP:

Uart Tx顶层源码:

2.4 功能仿真

功能仿真波形如下:

2.5 上板调试结果显示

3.串口接收端设计

3.1 接收端时序

串口接收端时序图如下:

由时序图可知,收端先收数据的低位直到收到停止位,RXD线空闲电平为高,直到检测到一个低电平开始采样数据。

3.2 串口接收端设计

时钟设计:

和发送端一样,采用时钟是进入接收端模块时钟的2分频,这样能保证采样时刻在数值的中间,避免了亚稳态等问题。

设计时序:

发送模块偷了个懒没有给出设计时序图,这里给下设计之初的接收模块的时序图,如上图所示。slot是最下面的红色的那个,蓝色的那个slot画错了。

验证设计:

这里因为只有4个led,所以设计验证是通过串口助手发送数通过4个led的二进

制表现具体的发送数。

3.3 源码公布

接收端IP:

验证顶层文件代码:

3.4 功能仿真

仿真结果如下:

3.5 上板调试结果

可以看到,发送6,中间的两个灯亮了,即4’b0110。

相关文档
最新文档