文章目录时钟的设置I/OMAP开始写程序 移植别人的实现在里面显示打印信息 总结
其实学这章的时候到我学完了,感觉还是没什么章法的样子,摸不着一条清晰的脉络 。
所以一步步从头开始自己整理回顾吧 。开发板的UART的block
从上图可以提取到比较关键的信息是:
1.从 bus外部总线连接的
2. Unit 应该有相关配置的寄存器
3.Buad rate跟时钟源有关
4.里面有 和
5.里面包括 和
6.别漏了最终的TXD和RXD
DATA
能获取的信息
数据帧是可被设计的包括:
1.一个起始位
2.五到8位数据位
3.可选的奇偶校验位
4.一到两位停止位
5.这些都是被寄存器所制定的
DATA
数据接收跟数据传输类似,最后讲了接收器会侦测各种错误并且标出一个flag出来让你辨识 。
RS-232
红色框框是自己网上查再补充的 。
各种工作模式
紧接着讲到了
AFC模式
引用课程笔记
1.7.4.2、自动流控(AFC:Auto flow )
(1)为什么需要流控?流控的目的是让串口通信非常可靠,在发送方速率比接收方快的时候流控可以保证发送和接收不会漏掉东西 。
(2)现在为什么不用流控?现在计算机之间有更好更高级(usb、)的通讯方式,串口已经基本被废弃了 。现在串口的用途更多是SoC用来输出调试信息的 。由于调试信息不是关键性信息、而且由于硬件发展串口本身速度已经相对慢的要死了,所以硬件都能协调发送和接收速率,因此流控已经失去意义了,所以现在基本都废弃了 。
然后是
DMA模式
1.7.5.2、DMA模式及其作用
(1)DMA,直接内存访问 。DMA本来是DSP中的一种技术,DMA技术的核心就是在交换数据时不需要CPU参与,模块可以自己完成 。
(2)DMA模式要解决的问题和上面FIFO模式是同一个问题,就是串口发送/接收要频繁的折腾CPU造成CPU反复切换上下文导致系统效率低下 。
(3)传统的串口工作方式(无FIFO无DMA)效率是最低的,适合低端单片机;高端单片机上CPU事物繁忙所以都需要串口能够自己完成大量数据发送/接收 。这时候就需要FIFO或者DMA模式 。FIFO模式是一种轻量级的解决方案,DMA模式适合大量数据迸发式的发送/接收时 。
FIFO模式
1.7.5.1、FIFO模式及其作用
(1)典型的串口设计,发送/接收缓冲区只有1字节,每次发送/接收只能处理1帧数据 。这样在单片机中没什么问题,但是到复杂SoC中(一般有操作系统的)就会有问题,会导致效率低下,因为CPU需要不断切换上下文 。
(2)解决方案就是想办法扩展串口控制器的发送/接收缓冲区,譬如将发送/接收缓冲器设置为64字节,CPU一次过来直接给发送缓冲区64字节的待发送数据,然后慢慢发,发完再找CPU再要64字节 。但是串口控制器本来的发送/接收缓冲区是固定的1字节长度的,所以做了个变相的扩展,就是FIFO 。
(3)FIFO就是first in first out,先进先出 。fifo其实是一种数据结构,这里这个大的缓冲区叫FIFO是因为这个缓冲区的工作方式类似于FIFO这种数据结构 。
IrDA模式
1.7.5.3、IrDA模式及其用法 (1)IrDA其实就是红外,红外就是红外线通信(电视机、空调遥控器就是红外通信的) 。(2)红外通信的原理是发送方固定间隔时间向接收方发送红外信号(表示1或0)或者不发送红外信号(表示0或者1),接收方每隔固定时间去判断有无红外线信号来接收1和0.
![UART的学习记录](http://img.gansulong.com/230630/022SA346-0.jpg)
文章插图
(3)分析可知,红外通信和串口通信非常像,都是每隔固定时间发送1或者0(判断1或0的物理方式不同)给接收方来通信 。因此210就利用串口通信来实现了红外发送和接收 。
- 一张长图了解中国近代史上签订的38个不平等条约 历史条约之最
- 中国历史上最牛的三个太监:霸占后宫,让太后生子,权侵朝野! 历史太监之最
- 中国历代皇帝之最,最短的在位半天,最长的62年,有位67岁才登基 历史之最男性
- 贵州安顺市区仅剩的200米明清老街,藏着很多美食,太珍贵了 安顺历史之最
- 乾隆八年,12天热死11400人,历史上“最热的夏天”到底有多热? 乾隆历史之最
- 经典书籍排行榜,求经典的管理类书籍
- 经典下酒菜有哪些,喝啤酒最好的下酒菜是什么?
- 中药洗头还要不要过清水,中药茶麸洗头的配方是什么?
- 1.屏蔽和卸载自带的nvidia驱动
- 揭秘可以喝两到三斤酒的武松喝的酒是多少度