一文读懂通信串口(物理接口)2

六、uart1) 异步通信uart引脚连接方法:uart是 异步 ,全双工串口总线。它比同步串口复杂很多。有两根线,一根txd用于发送,一根rxd用于接收。uart的串行数据传输不需要使用时钟信号来同步传输,而是依赖于发送设备和接收设备之间预定义的配置。对于发送设备和接收设备来说,两者的串行通信配置应该设置为完全相同。
对于两个芯片之间的连接,两个芯片gnd共地,同时txd和rxd交叉连接。这里的交叉连接的意思就是,芯片1的rxd连接芯片2的txd,芯片2的rxd连接芯片1的txd。这样,两个芯片之间就可以进行ttl电平通信了。
若是芯片与pc机(或上位机)相连,除了共地之外,就不能这样直接交叉连接了。尽管pc机和芯片都有txd和rxd引脚,但是通常pc机(或上位机)通常使用的都是rs232接口(通常为db9封装),因此不能直接交叉连接。rs232接口是9针(或引脚),通常是txd和rxd经过电平转换得到的。故,要想使得芯片与pc机的rs232接口直接通信,需要也将芯片的输入输出端口也电平转换成rs232类型,再交叉连接。
经过电平转换后,芯片串口和rs232的电平标准是不一样的:
单片机是ttl电平:+5v表示1,0v表示0
rs232是负逻辑电平,-3 to -15v为1,3 to 15v为0
rs-232通讯协议标准串口的设备间通讯结构图如下:
所以单片机串口与pc串口通信就应该遵循下面的连接方式:在单片机串口与上位机给出的rs232口之间,通过电平转换电路(如下面图中的max232芯片) 实现ttl电平与rs232电平之间的转换。下图中的p10,也就是上文中提到的db9。
stm32的uart特点
全双工异步通信;
n 分数波特率发生器系统,提供精确的波特率。发送和接受共用的可编程波特率,最高可达4.5mbits/s;
n 可编程的数据字长度(8位或者9位);
n 可配置的停止位(支持1或者2位停止位);
n 可配置的使用dma多缓冲器通信;
n 单独的发送器和接收器使能位;
n 检测标志:① 接受缓冲器 ②发送缓冲器空 ③传输结束标志;
n 多个带标志的中断源,触发中断;
n 其他:校验控制,四个错误检测标志。
串口通信过程
stm32中uart参数
起始位:表示数据传输的开始,电平逻辑为“0” 。数据位:可能值有5、6、7、8、9,表示传输这几个bit 位数据。一般取值为8,因为一个ascii 字符值为8 位。奇偶校验位:用于接收方对接收到的数据进行校验,校验“1” 的位数为偶数(偶校验) 或奇数(奇校验),以此来校验数据传送的正确性,使用时不需要此位也可以。停止位:表示一帧数据的结束。电平逻辑为“1”。如果用通用io口模拟uart总线,则需一个输入口,一个输出口。
uart串口通信的数据包以帧为单位,常用的帧结构为:1位起始位+8位数据位+1位奇偶校验位(可选)+1位停止位。如下图所示:
奇偶校验位分为奇校验和偶校验两种,是一种简单的数据误码校验方法。奇校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为奇数;偶校验是指每帧数据中,包括数据位和奇偶校验位的全部9个位中1的个数必须为偶数。
校验方法除了奇校验(odd)、偶校验(even)之外,还可以有:0 校验(space)、1 校验(mark)以及无校验(noparity)。0/1校验:不管有效数据中的内容是什么,校验位总为0或者1。
uart框图
这个框图分成上、中、下三个部分,具体的可以看《stm32中文参考手册》中的描述。
框图的上部分,数据从rx进入到接收移位寄存器,后进入到接收数据寄存器,最终供cpu或者dma来进行读取;数据从cpu或者dma传递过来,进入发送数据寄存器,后进入发送移位寄存器,最终通过tx发送出去。
然而,uart的发送和接收都需要波特率来进行控制的,波特率是怎样控制的呢?
这就到了框图的下部分,在接收移位寄存器、发送移位寄存器都还有一个进入的箭头,分别连接到接收器控制、发送器控制。而这两者连接的又是接收器时钟、发送器时钟。也就是说,异步通信尽管没有时钟同步信号,但是在串口内部,是提供了时钟信号来进行控制的。而接收器时钟和发送器时钟又是由什么控制的呢?
可以看到,接收器时钟和发送器时钟又被连接到同一个控制单元,也就是说它们共用一个波特率发生器。同时也可以看到接收器时钟(发生器时钟)的计算方法、usrrtdiv的计算方法。
七、物理接口串行端口称为串口,也称为串行通信接口,即com端口。
uart口(嵌入式里面说的串口,一般是指uart口。4个pin(vcc,gnd,rx,tx),用ttl电平)、com口、usb口、rj45以太网口是指的物理接口形式(硬件)。
ttl、rs-232(全双工)、rs-485(半双工) rs-422(全双工)是指的电平标准(电信号)。
使用国际连接器标准定义的8个位置(8针)。修改后的插孔或插头
单片机与pc通讯示意图如下
uart接口 :通用异步收发器(universal asynchronous receiver/transmitter),uart是串口收发的逻辑电路,这部分可以独立成芯片,也可以作为模块嵌入到其他芯片里,单片机、soc、pc里都会有uart模块,uart有4个pin(vcc, gnd, rx, tx), 用的ttl电平, 低电平为0(0v),高电平为1(3.3v或以上)。
com 口 : 即串行通讯端口,简称串口。这里区别于usb的“通用串行总线”和硬盘的“sata”。一般我们见到的是两种物理标准。d型9针插头,和 4针杜邦头两种。这是常见的4针串口,在电路板上常见,经常上边还带有杜邦插针。还有时候有第五根针,3.3v电源端。由于是预留在电路板上的,协议可以有很多种,要看具体设备,应用了串口通信时序和rs232的逻辑电平。
1)usb通用串行总线(universal serial bus)缩写为usb,(物理接口)
是一个外部总线标准,用于规范电脑与外部设备的连接和通讯,是应用在pc领域的接口技术,特点是传输速度快,支持热插拔,可连接多个设备。
  我们在很多地方可以看到usb的身影,鼠标,键盘,手机充电器,现在几乎所有的电子充电设备都是usb接口,如下是各个usb的物理接口。
usb接口是计算机主板上的四针接口。2根信号线(d+、d-)和2根电源线(+、-)
最常见的的type-a型usb接口定义如下。
pin#name颜色
1 vbus/+5v 红色
2 d-/data-/dm 白色
3 d+/data+/dp 绿色
4 gnd 黑色
usb电缆分为屏蔽型和非屏蔽型。屏蔽电缆的传输速度可以达到12mbps,价格更高。
非屏蔽电缆的速度为1.5mbps,但价格便宜。
2、usb速率1mb/s=8mbps(1个byte等于8bit)
usb1.0 低速(low speed) 传输速率为 1.5mbps;
usb1.1 全速(full speed) 传输速率为 12mbps;
usb2.0 高速(high speed) 传输速率为 480mbps;
usb3.0 超速(superspeed) 传输速率为 5gbps;
usb3.1 gen2 超高速(superspeed+) 传输速率为 10gbps;
●usb type-c
又称usb-c,是一种通用串行总线(usb)的硬件接口形式,外观上最大特点在于其上下端完全一致,与micro-usb相比用户不必再区分usb正反面。
但usb-c只是一个接口,不一定支持usb 3.1或power delivery。
自从2014年usb-c规范发布后,许多新款的android移动设备、笔记本电脑、台式机甚至是游戏机等3c设备开始使用这种连接端口。windows 10原生支持type-c。
4、usb转rs-232usb转232,可以先将usb转换为ttl,再将ttl转换为rs232,当然市面上也有很多usb直接转rs232的线材,线材内部集成转换电路,淘宝上某usb转rs232用的两个芯片是ft232和sp213。

新能源汽车已连续多月呈现爆发式增长
全球互联网通信云厂商融云完成数亿人民币D轮融资
高通收购恩智浦后,将主导汽车芯片市场?
如何采用DATA进行Flash的在线烧写
抗生素残留检测仪的应用及性能
一文读懂通信串口(物理接口)2
一个研究小组以螳螂虾为灵感设计了一套成像系统
下周即将发布的三款新机:小米MIX2、.iphone8和三星Note8,你最期待谁的到来?
食品添加剂检测仪功能有哪些?
MAXIM汽车电子高压供电方案
百度正式宣布将收购国内直播业务—YY直播
竞逐智慧医疗大饼 Maxim智能可穿戴IC方案取得重大进展
小米意在互联网金融第三极 强势推进互联网金融
关于电路板的小知识
汽车线束气密性测试使用快速接头进行密封密封应该如何操作
防静电电阻大好还是小好
建设数字中国 腾讯木星云打通数字化“任督二脉”
R-78S评估板是如何延长电池使用寿命的
C语言如何获得自身定义函数的实际地址和大小吗
公共网络安全,还得看华为云虚拟专用网络VPN