串行通信的基础知识
- 格式:doc
- 大小:21.50 KB
- 文档页数:2
串行通信基础知识本节简要概括了串行通信中的相关概念,为学习PC 机与MCU 的串行通信做准备。
1. 基本概念我们知道,“位”(bit )是二进制数字的简称,是可以拥有两种状态的最小二进制值,分别用“0”和“1”表示。
在计算机中,通常一个信息单位用8位二进制表示,称为一个“字节”(byte )。
串行通信的特点是:数据以字节为单位,按位的顺序从一条传输线上发送出去。
这里至少涉及到以下几个问题:第一,每个字节之间是如何区分的?第二,发送一位的持续时间是多少?第三,怎样知道传输是正确的?第四,可以传输多远?等等。
这些问题属于串行通信的基本概念。
串行通信分为异步通信与同步通信两种方式,本节主要给出异步串行通信的一些常用概念。
正确理解这些概念,对串行通信编程是有益的。
① 异步串行通信的格式在MCU 的英文芯片手册上,通常说SCI 采用的是NRZ 数据格式,英文全称是:“standard non-return-zero mark/space data format ”,可以译为:“标准不归零传号/空号数据格式”。
这是一个通信术语,“不归零”的最初含义是:用负电平表示一种二进制值,正电平表示另一种二进制值,不使用零电平。
“mark/space ”即“传号/空号”分别是表示两种状态的物理名称,逻辑名称记为“1/0”。
对学习嵌入式应用的读者而言,只要理解这种格式只有“1”、“0”两种逻辑值就可以了。
图3.3.1给出了8位数据、无校验情况的传送格式。
这种格式的空闲状态为“1”,发送器通过发送一个“0”表示一个字节传输的开始,随后是数据位(在MCU 中一般是8位或9位,可以包含校验位)。
最后,发送器发送1到2位的停止位,表示一个字节传送结束。
若继续发送下一字节,则重新发送开始位,开始一个新的字节传送。
若不发送新的字节,则维持“1”的状态,使发送数据线处于空闲。
从开始位到停止位结束的时间间隔称为一帧(frame )。
所以,也称这种格式为帧格式。
can通信基础知识讲解Can通信是一种常见的通信协议,广泛应用于汽车领域。
本文将从Can通信的基础知识入手,介绍Can通信的原理、特点以及应用。
一、Can通信的原理Can通信是Controller Area Network的缩写,即控制器局域网。
它是一种串行通信协议,主要用于在汽车电子系统中传输数据。
Can通信采用差分信号传输,通过两根线(Can_High和Can_Low)来实现数据的收发。
Can_High和Can_Low的电平差异表示二进制数据的0和1。
Can通信采用非归零编码,即数据在传输过程中不会回到零电平,从而减少了传输中的干扰。
二、Can通信的特点1. 高可靠性:Can通信采用冗余校验机制,即每个数据帧都包含有校验和。
接收端在接收到数据帧后会对校验和进行验证,从而保证数据的可靠性。
2. 高效性:Can通信采用了事件触发的方式,只有在需要发送数据时才进行通信,减少了通信的时间开销。
3. 可扩展性:Can通信支持多个节点之间的通信,节点数量可以灵活扩展。
4. 抗干扰性强:Can通信采用差分信号传输,能够有效抵抗电磁干扰和噪声干扰。
5. 实时性好:Can通信的传输速率较快,能够满足实时性的要求。
三、Can通信的应用Can通信广泛应用于汽车领域,主要用于实现汽车内部各个电子控制单元(ECU)之间的通信。
以下是Can通信在汽车领域的一些典型应用:1. 发动机控制单元(ECU)之间的通信:Can通信用于发动机控制单元与其他ECU之间的数据交换,如发动机转速、油耗等数据的传输。
2. 制动系统的控制:Can通信用于制动系统的各个部件之间的通信,如制动踏板、制动盘、制动液位等数据的传输。
3. 车身电子系统的控制:Can通信用于车身电子系统中各个部件之间的通信,如车门、车窗、天窗等设备的控制。
4. 安全系统的控制:Can通信用于安全系统中的各个部件之间的通信,如安全气囊、防抱死制动系统等设备的控制。
四、Can通信的发展趋势Can通信作为一种可靠、高效的通信协议,已经在汽车领域得到广泛应用。
串⼝通信基础,接收,发送数据通信接⼝背景知识设备之间通信的⽅式⼀般情况下,设备之间的通信⽅式可以分成并⾏通信和串⾏通信两种。
它们的区别是:串⾏通信的分类1、按照数据传送⽅向,分为:单⼯:数据传输只⽀持数据在⼀个⽅向上传输;半双⼯:允许数据在两个⽅向上传输。
但是,在某⼀时刻,只允许数据在⼀个⽅向上传输,它实际上是⼀种切换⽅向的单⼯通信;它不需要独⽴的接收端和发送端,两者可以合并⼀起使⽤⼀个端⼝。
全双⼯:允许数据同时在两个⽅向上传输。
因此,全双⼯通信是两个单⼯通信⽅式的结合,需要独⽴的接收端和发送端。
2、按照通信⽅式,分为:同步通信:带时钟同步信号传输。
⽐如:SPI,IIC通信接⼝。
异步通信:不带时钟同步信号。
⽐如:UART(通⽤异步收发器),单总线。
在同步通讯中,收发设备上⽅会使⽤⼀根信号线传输信号,在时钟信号的驱动下双⽅进⾏协调,同步数据。
例如,通讯中通常双⽅会统⼀规定在时钟信号的上升沿或者下降沿对数据线进⾏采样。
在异步通讯中不使⽤时钟信号进⾏数据同步,它们直接在数据信号中穿插⼀些⽤于同步的信号位,或者将主题数据进⾏打包,以数据帧的格式传输数据。
通讯中还需要双⽅规约好数据的传输速率(也就是波特率)等,以便更好地同步。
常⽤的波特率有4800bps、9600bps、115200bps等。
在同步通讯中,数据信号所传输的内容绝⼤部分是有效数据,⽽异步通讯中会则会包含数据帧的各种标识符,所以同步通讯效率⾼,但是同步通讯双⽅的时钟允许误差⼩,稍稍时钟出错就可能导致数据错乱,异步通讯双⽅的时钟允许误差较⼤。
常见的串⾏通信接⼝STM32串⼝通信基础STM32的串⼝通信接⼝有两种,分别是:UART(通⽤异步收发器)、USART(通⽤同步异步收发器)。
⽽对于⼤容量STM32F10x系列芯⽚,分别有3个USART和2个UART。
UART引脚连接⽅法RXD:数据输⼊引脚,数据接受;TXD:数据发送引脚,数据发送。
对于两个芯⽚之间的连接,两个芯⽚GND共地,同时TXD和RXD交叉连接。
CAN线基础知识讲解1. 什么是CAN线?CAN(Controller Area Network)是一种串行通信协议,最初由德国公司Bosch 开发。
CAN总线主要用于车辆内部的通信系统,但现在也被广泛用于工业控制和汽车领域以及航空航天领域。
CAN线是CAN总线的物理连接线路,负责将CAN控制器、传感器、执行器等设备连接起来进行数据通信。
2. CAN线的特点•高可靠性:CAN线采用差分信号传输,抗干扰能力强,即使在噪音干扰较大的环境下,数据传输也可靠。
•实时性强:CAN线采用事件驱动的通信方式,具有较低的延迟,适用于要求实时性的应用场景。
•多路复用:CAN总线支持多个设备在同一根线上进行通信,节约了线路资源。
•灵活性:CAN总线可以动态连接和断开设备,方便系统调试和维护。
3. CAN线的工作原理CAN线采用双绞线作为传输介质,数据传输采用差分信号方式,即在CAN_H和CAN_L两根信号线上传输互补的电压信号。
CAN_H线上的电压高表示逻辑1,CAN_L线上的电压高表示逻辑0,通过CAN控制器的差分比较可以识别信号。
CAN线的通信帧由起始标志、控制字段、数据字段、CRC字段和结束字段组成,通信速率可根据需求配置。
CAN线具有发送器和接收器,通过在总线上抢占通信的方式实现多路复用。
4. CAN线的应用领域CAN线广泛应用于汽车电子控制系统、工业控制系统、医疗设备、航空航天等领域。
在汽车电子控制系统中,CAN线连接了发动机控制单元、传感器、仪表盘、空调控制器等各个设备,实现数据的快速传输和实时控制。
在工业控制系统中,CAN线连接了PLC、传感器、执行器等设备,实现设备之间的数据交换和协同工作。
CAN线也被广泛应用于航空航天领域,连接了航空电子设备、飞行控制系统等,确保了系统的可靠性和实时性。
5. CAN线的发展趋势随着物联网、智能制造等领域的快速发展,CAN线也在不断演进。
未来CAN线将更加智能化、高速化,支持更多的设备连接和更高的数据传输速率。
485自动收发原理485自动收发原理一、485总线概述485总线是一种串行通信协议,它是以RS-232为基础的一种通信协议。
它采用差分信号传输方式,可以在长距离、高噪声环境下进行可靠的数据传输。
因此,485总线广泛应用于工业自动化、楼宇自控等领域。
二、485自动收发原理1. 串行通信基础知识在介绍485自动收发原理之前,我们需要了解一些串行通信的基础知识。
串行通信是指将数据位逐个传输,每个数据位之间通过一个时钟信号进行同步。
在串行通信中,有两种常见的传输方式:同步传输和异步传输。
2. 485总线物理层在物理层上,485总线采用差分信号传输方式。
差分信号是指将两个相反的电平作为一个逻辑电平进行传输。
这样可以有效地抵消环境中的干扰信号。
3. 485总线数据链路层在数据链路层上,485总线采用了半双工通信方式。
这意味着同一时间内只能有一个设备发送数据,并且接收方必须等待发送方发送完毕后才能发送数据。
为了保证数据的可靠传输,485总线采用了差错检测和纠正技术。
4. 485自动收发原理485自动收发原理是指通过硬件电路实现自动切换发送和接收状态。
在发送数据时,控制器将数据写入发送缓冲器,并将控制信号置为发送状态。
此时,驱动电路会将缓冲器中的数据转换成差分信号进行传输。
在接收数据时,控制器将控制信号置为接收状态,并等待驱动电路传输的差分信号到达接收缓冲器。
此时,接收缓冲器会将差分信号转换成数字信号,并传递给控制器。
5. 485自动收发原理实现在实现485自动收发原理时,需要使用一些特殊的芯片或模块。
常见的有MAX485、ADM2483、SN75176等芯片或模块。
这些芯片或模块具有自动切换发送和接收状态的功能,并且支持半双工通信方式。
6. 485总线应用场景由于485总线具有长距离、高噪声环境下可靠传输的特点,因此广泛应用于工业自动化、楼宇自控、智能家居等领域。
例如,在工业自动化中,485总线可以用于PLC控制器与传感器、执行器之间的通信;在楼宇自控中,485总线可以用于空调、照明等设备的控制和监测;在智能家居中,485总线可以用于家庭安防、照明等场景的控制。
串行通信的基础知识
串行数据通信要解决两个关键技术问题,一个是数据传送,另一个是数据转换。
所谓数据传送就是指数据以什么形式进行传送。
所谓数据转换就是指单片机在接受数据时,如何把接收到的串行数据转化为并行数据,单片机在发送数据时,如何把并行数据转换为串行数据进行发送。
8.1.1 数据传送
单片机的串行通信使用的是异步串行通信,所谓异步就是指发送端和接收端使用的不是同一个时钟。
异步串行通信通常以字符(或者字节)为单位组成字符帧传送。
字符帧由发送端一帧一帧地传送,接收端通过传输线一帧一帧地接收。
1. 字符帧的帧格式
字符帧由四部分组成,分别是起始位、数据位、奇偶校验位、停止位。
如图8.1所示:
1)起始位:位于字符帧的开头,只占一位,始终位逻辑低电平,表示发送端开始发送一帧数据。
2)数据位:紧跟起始位后,可取5、6、7、8位,低位在前,高位在后。
3)奇偶校验位:占一位,用于对字符传送作正确性检查,因此奇偶校验位是可选择的,共有三种可能,即奇偶校验、偶校验和无校验,由用户根据需要选定。
4)停止位:末尾,为逻辑“1”高电平,可取1、1.5、2位,表示一帧字符传送完毕。
图8.1 字符帧格式
异步串行通信的字符帧可以是连续的,也可以是断续的。
连续的异步串行通信,是在一个字符格式的停止位之后立即发送下一个字符的起始位,开始一个新的字符的传送,即帧与帧之间是连续的。
而断续的异步串行通信,则是在一帧结束之后不一定接着传送下一个字符,不传送时维持数据线的高电平状态,使数据线处于空闲。
其后,新的字符传送可在任何时候开始,并不要求整倍数的位时间。
2. 传送的速率
串行通信的速率用波特率来表示,所谓波特率就是指一秒钟传送数据位的个数。
每秒钟传送一个数据位就是1波特。
即:1波特=1bps(位/秒)
在串行通信中,数据位的发送和接收分别由发送时钟脉冲和接收时钟脉冲进行定时控制。
时钟频率高,则波特率高,通信速度就快;反之,时钟频率低,波特率就低,通信速度就慢。
8.1.2 数据转换
MCS-51单片机只能处理8位的并行数据,所以在进行串行数据的发送时,要把并行数据转换为串行数据。
而在接收数据时,只有把接收的串行数据转换成并行数据,单片机才能进行处理。
能实现这种转换的设备,称为通用异步接收发送器(Universal Asynchronous Receiver /Transmitter)。
这种设备已集成到单片机内部,称为串行接口电路。
串行接口电路为用户提供了两个串行口缓冲寄存器(SBUF),一个称为发送缓存器,它的用途是接收片内总线送来的数据,即发送缓冲器只能写不能读。
发送缓冲器中的数据通过TXD引脚向外传送。
另一个称为接收缓冲器,它的用途是向片内总线发送数据,即接收缓冲器只能读不能写。
接收缓冲器通过RXD引脚接收数据。
因为这两个缓冲器一个只能写,一个只能读,所以共用一个地址99H。
串行接口电路如图8.2所示。