第二十九天

2020.12.10第二十九天学习总结 

主要内容为串口通信讲解

1.串口通信是一种设备间非常常用的串行通信方式。由于其简单便捷的特性而成为大部分电子设备都支持的一种通信方式。

2.物理层面

串口通信的物理层其实有很多标准,而我们所学的也是比较常用的就是RS-232标准,而这个标准主要是规定了信号的用途,通信接口以及信号的点评标准。

(1)使用RS-232标准的串口设备间通信方式为两个设备之间通过设备上的“DB9接口”之间通过RS-232标准的串口信号先相连接。

由于RS-232电平信号不能被控制器直接识别,因此就引出了TTL标准。这是电子电路中常用的电平标准。因此整个过程就是设备A的控制器A产生的TTL电平信号,由电平转换芯片转换成RS-232标准的电平,由DB9接口的数据线转到设备B上的控制器B。

(2)RS-232信号线

其实最开始使用RS-232串口标准常用在计算机,路由器与猫之间的通信上。像我们的电脑上就有一个COM接口也叫DB9接口。这种接口的数据线就是RS-232标准的。

顾名思义它有9个信号线。都是有不同作用的。电脑比较复杂,一般的工业控制在使用串口通信时,一般只用到RXD、TXD、GND三条线。其中RXD与TXD彼此交叉相连,GND之间相连。

3.协议层面

数据是由发送设备的TXD接口传输到接受设备的RXD接口的。

协议层就是规定了数据的内容,包含了起始位、主体数据、校验位和停止位。还规定了收发双方的数据格式必须一致。

(1)起始和停止位

起始位为逻辑“0”;停止位为0.5、1、1.5、2个逻辑“1”。

(2)有效数据

指的是真正要传输的有效数据信息。长度一般为5、6、7或8位。

(3)数据校验

校验位其实是非必要的。在数据通信协议容易受到干扰而出现偏差时才会使用。每发送一组数据都要校验一次,看是否出错。

校验方法有四种,非别为奇/偶校验和0/1校验。

例如当为奇校验时,就是有效数据加校验位中“1”的个数位奇数个才行。

(4)波特率

我们常用的串口通信主要分为串口同步通信和串口异步通信。其实两者各有利弊,同步的效率高但允许的误差小,异步虽说数据中心包含了很多与实际信息有关的字符,但是少了时钟信号使得允许误差变得了,容错率变得更高了。

由于异步通信没有时钟信号,通信双方格式又要保持一致,因此就引入了波特率这个概念,波特率就是每秒钟传输了多少个码元。我们可能会与比特率搞混,比特率指的是每秒钟传输的比特数,也就是说比特率是传输速率,而波特率为调制速率,码元的大小是我们自己设定的,他可以是一个比特,也可以是多个比特。因此由于数据是一位一位传输的,所以就用波特率这种传输速率作为异步通信的同步标准。常见的有4800、9600、115200等,我们使用的就是115200。

4.STM32中的通用同步异步收发器

STM32中有多个外设用于串口通信,其中包括4个USART和4个UART。而其中也只有USART1和USART6是连接在APB2上的,也就是当我们设置系统时钟频率为180MHz时,这两个端口的时钟就位90MHz。我们这里使用的就是USART1端口。

首先由于收发双方都有TXD和RXD信号线,因此串口通信都为全双工的通信模式。

USART其实有很多种功能,在STM32上用到最多的就是他的“打印”系统信息的功能,当调试程序时会把调试信息“打印”在串口调试助手上,从而可以了解程序是否运行正确,以及指出哪里出错了。

(1)USART有六种功能引脚,由于我们只是用了他的异步通信功能,并且是全双工的模式,因此我们最终只使用到了两个功能引脚,即TX:发动数据输出引脚和RX:接收数据输入引脚。我们用的USART1分别对应的I/O口就为PA9和PA10。

(2)数据传输的方式:数据存储在MCU中,当需要发送数据是数据从MUC转移到缓冲区再发送到数据寄存器DR中,最后发送到USART1端口。这个过程是系统自动进行的,并且是使用的并行通信方式,而数据在USART端口间传输则是使用的串行通讯方式,即数据一位一位的传输。

(3)小数比特率生成

提到波特率计算首先要提到一个概念就是“过采样”。而过采样就是当我们需要知道一个信号的真实情况时,我们就需要一个比这个信号频率更高的采样信号来对其进行检测,这就称为“过采样”。过采样的频率大小决定最后得到信号源的准确度,过采样的频率越高则准确度就越高,但是不是一味的提高过采样频率就更好,因为过采样的频率越高,获得采样也就越难,而且还需要更多的运算以及更高的功耗。因此这个值要酌情处理。

采样的方法是有控制寄存器CR1的OVER8位决定的。当其为1时,表示8倍过采样,也就是用8个采样信号采样一位数据。当为0时,表示16倍过采样,也就是用16个采样信号采样亿微数据。

8倍过采样速度更快,其最大速度可达到端口时钟的8分频。虽然16倍过采样的速度相对较慢,但是其获得的数据更为准确。

由此我们得到波特率的共识为:

波特率=fpclk/(8*(2-OVER8)USARTDIV)

其中USARTDIV表示的时一个存放在波特率寄存器中的一个无符号定点数。这个数是有小数位的,当采用的16分频时其小数位才有效,8分频时小数位要被舍掉。

波特率公式的用法是当我们需要一个特定值的波特率时,我们会得出相应的DIV值,并将其写入波特率寄存器内。

无论是通过DIV来获得波特率还是通过波特率来计算DIV的值,我们都会遇到数除不尽的情况,因此我们就需要在一个可接受的范围内对数值进行一定的取舍,来获得一个合理的估值。

(4)校验位生成

由于数据寄存器DR只有低9位有效,并且第九位是否有效还要看控制寄存器CR的M位如何设置。因此当决定使用校验位并开启时,系统会自动生成校验位,并在数据传输时自动对其进行校验。当出现校验失败时,移位寄存器就会做出相应的变化,从而产生一次校验位中断。

(5)中断控制

如上所提到的校验位中断,在USART中有很多种中断请求,大约有9中。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 206,214评论 6 481
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 88,307评论 2 382
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 152,543评论 0 341
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 55,221评论 1 279
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 64,224评论 5 371
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,007评论 1 284
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,313评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,956评论 0 259
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,441评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,925评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,018评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,685评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,234评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,240评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,464评论 1 261
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,467评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,762评论 2 345

推荐阅读更多精彩内容