iTop-4412 裸机程序(十二)- 串口介绍


通信的几个基本概念

1. 同步通信与异步通信
同步通信是指通信双方共用同一个时钟工作,而异步通信双方则按照各自的时钟进行工作。
由于异步通信不使用同一个时钟,接收方就需要一定的手段与发送方进行“同步”。比如使用一个标志位来表示开始,一个结束位表示停止。而同步通信则不需要,但是发送方和接收方很多时候无法使用同一个时钟,所以异步通信更为常用。

2. 电平信号和差分信号
电平信号是指用电平值表示的信号 ,电平值分为高电平“1”和低电平值”0”。电平信号使用信号线和参考线(一般为GND线)的电压差来表示。常见的电平信号有:

  • TTL 信号:使用 TTL 管(常见的比如三极管)。功耗较大,驱动能力强,一般工作电压为 +5V。输出高电平 >2.4V,输出低电平<0.4V。在室温下,一般输出高电平是3.5V,输出低电平是 0.2V。最小输入高电平和低电平:输入高电平>=2.0V,输入低电平<=0.8V,噪声容限是 0.4V。

  • CMOS信号:CMOS集成电路使用MOS管,功耗小,工作电压范围很大。逻辑电平 1 电压接近于电源电压,逻辑电平 0 接近于0V。而且具有很宽的噪声容限

  • RS232信号:RS232 接口任何一条信号线的电压均为负逻辑关系。即:逻辑“1”为-3— -15V;逻辑“0”:+3— +15V ,噪声容限为2V。即要求接收器能识别高于+3V的信号作为逻辑“0”,低于-3V的信号作为逻辑“1”。

    电平信号使用信号线和参考线的电压差作为电平信号,其抗干扰能力较差。差分信号区别于传统的一根信号线一根地线的做法,差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号。

  • RS485是典型的差分信号:RS485 采用两根通信线,通常用 A 和 B 或者 D+ 和 D- 来表示。逻辑“1”:两线之间的电压差为+(0.2 - 6)V,逻辑“0”:两线间的电压差为-(0.2- 6)V来表示。

3. 串行通信和并行通信
串行:使用一根通信线依次传输一个数据位
并行:使用多更通信线同时传输多个数据位,多少根通信线就传输多少根数据位。

4. 全双工和半双工
单工通信:单方向通信,即只能A发B收
半双工通信:双向通信,但是同一时间内只能一方发送,另外一方接收
全双工通信:双向通信,一方可以同时发送和接收

串口

现在嵌入式系统中最常见的调试串口是 RS232和 TTL。RS232使用异步、电平、串行、全双工通信的方式。RS232使用 Rx、Tx 和 GND 三根线进行数据传输。

串口通信的常见参数
1. 波特率
波特率(Baud rate)即调制速率,指的是有效数据信号调制载波的速率,即单位时间内载波调制状态变化的次数。 特别区分与比特率(单位时间内传输或处理的比特的位数)。在串口通信中,恰好只有两种电平信号(0和1),所以此时恰好波特率=比特率。我们在嵌入式系统中比较常用的 9600 波特和115200波特。

2. 起始位、数据位、奇偶校验位、停止位

  • 串口通信时,收发是一个周期一个周期进行的,没周期传输n个二进制位。这一个周期就叫做一个通信单元,一个通信单元是由:起始位+数据位+奇偶校验位+停止位组成的。
  • 起始位表示发送方要开始发送一个通信单元;数据位是一个通信单元中发送的有效信息位;奇偶校验位是用来校验数据位,以防止数据位出错的;停止位是发送方用来表示本通信单元结束标志的。起始位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。
  • 数据位是本次通信真正要发送的有效数据,串口通信一次发送多少位有效数据是可以设定的(一般可选的有6、7、8、9,大情况下我们都是选择8位数据位。因为我们一般通过串口发送的文字信息都是ASCII码编码的,而ASCII码中一个字符刚好编码为8位。)
  • 奇偶校验位是用来给数据位进行奇偶校验(把待校验的有效数据逐个位的加起来,总和为奇数奇偶校验位就为1,总和为偶数奇偶校验位就为0)的,可以在一定程度上防止位反转。
  • 停止位的定义是串口通信标准事先指定的,是由通信线上的电平变化来反映的。常见的有1位停止位,1.5位停止位,2位停止位等。大部分情况下都是用1位停止位。

3. 流控制
数据在传输过程中容易出现数据丢失的现象,例如:两台计算机通过串口传输数据时,或者台式机与单片机之间进行通信时,可能由于两端计算机的处理速度不同,出现接收端的数据缓冲区已满,而发送端依然继续发送数据,则导致数据丢失。流控制的出现就是为了解决这种数据丢失的问题。但是现在的串口一般都只用来作为调试使用,流控的意义不大了,所以一般都不再使用了。

DB9 标准

  1. DB9接口是串口通信早期比较常用的一种规范化接口。
  2. 串行通信在早期是计算机与外界通信的主要手段,那时候的计算机都有标准配置的串口以实现和外部通信。那时候就定义了一套标准的串口规约,DB9接口就是标准接口。
  3. DB9接口中有9根通信线,其中3根很重要,为GND、Tx、Rx,必不可少;剩余6根都是和流控有关的,我们使用串口都是用来做调试一般都禁用流控,所以这6根没用。现在一般使用串口时要记得把流控禁止掉。

2021年10月7日

Kilento

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值