UART_RECV详细设计方案
2014-05-25 15:01
1131 查看
1. UART_RECV简介:
串口是用的非常多的一种接口,实现原理比较简单,基本所有CPU芯片都配置有串口,所以经常被用来作为调试接口。2. UART_RECV规格:
实现9600波特率的串口接收,上位机串口软件发送的数据,可以被接收到。3. 实现原理
以波特率9600为例子说明,波特率9600发送一个bit的时间为1s/9600=104us,即每隔104us发送一个数据。104us = 104000ns 50M时钟的一个周期时间为20ns要远小于104000ns,所以可以用50M时钟产生的计数器来计数,然后根据时间来采样数据。
起始位可以用一个下降沿检测电路,这个在沿检电路一节有详细简介,此处只做使用,简介见检电路一节。
采样数据有个基本要求就是要在数据稳定时候采样,这样可以最好的满足寄存器的建立时间和保持时间,得到一个稳定的值,从时序图上可以看出,在数据bit位的中间位置数据最为稳定,所以我们采样点设在中间。如下图红色线条所示:
下图对应采样点的时间:
新建一个计数器,50Mhz为时钟,那么计数器变化一次时间为20ns。
由于一次完整数据接收需要有1144000ns时间,所以计数器必须记到1144000ns时间。
1144000ns/20ns = 57200,所以需要16位计数器。
由于9600波特率一个传输周期为104us,所以第一个红线位置为104us+104us/2=156us,其他位置依次类推,所以对应的计数器如下计算:
D0 对应计数器的156000ns/20ns = 7800
D1 对应计数器的260000ns/20ns = 13000
D2 对应计数器的364000ns/20ns = 18200
D3 对应计数器的468000ns/20ns = 23400
D4 对应计数器的572000ns/20ns = 28600
D5 对应计数器的676000ns/20ns = 33800
D6 对应计数器的780000ns/20ns = 39000
D7 对应计数器的884000ns/20ns = 44200
相关文章推荐
- UART_SEND详细设计方案
- WF工作流详细设计方案
- 急求 电子设计大赛设计详细方案 用单片机的 必有重谢
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Front Controller(前端控制器)
- 大型网吧网络系统设计详细方案
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Observer(观察器)
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Page Cache(页面缓存)
- 大型网吧网络系统设计详细方案
- 复位处理详细设计方案
- PLL详细设计方案
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Observer(观察器)
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Intercepting Filter(截取筛选器)
- 大型网吧网络系统设计详细方案
- 出租车定位系统的设计[详细设计方案]
- CloudStack+XenServer详细部署方案(1):方案规划设计
- 聚合支付平台详细设计方案
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 Intercepting Filter(截取筛选器)
- 如何给多个子系统设计一个简单通用的权限管理方案?(详细讲解及源代码下载)
- WF工作流详细设计方案
- 使用Micrisoft.net设计方案 第三章Web表示模式 Web模式集群详细介绍 PageController(页面控制器)