计算机串行通信接口技术.ppt_第1页
计算机串行通信接口技术.ppt_第2页
计算机串行通信接口技术.ppt_第3页
计算机串行通信接口技术.ppt_第4页
计算机串行通信接口技术.ppt_第5页
已阅读5页,还剩101页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、计算机测控技术,第一章 计算机串行通信接口技术,串行通信的基本概念,计算机系统与外设或者计算机系统与计算机系统之间的信息传递通常采用串行通信 串行通信按同步方式来分,可分为异步串行通信和同步串行通信 (概念1-1)异步串行通信:是指不使用同步时钟信号进行通信的方案。只要通信的收发双方使用相同的位速率(即波特率:每秒传送的数据位数),并使用适当的方法对数据校验,异步串行通信是可以可靠传送数据包的.,以字符为传送单位 , 用起始位和停止位标识每个字符的 开始和结束 , 字符间隔不固定,只需字符传送时同步。,(A) 异步通信常用格式:一个字符帧,异步通信,字符格式规定(一帧): 起始位,数据位,奇偶

2、校验位和停止位。 (概念1-2)波特率(位/秒)每秒传送的位数 常用的波特率有38400,19200,9600,4800 2400,1200, 600,300等多种,(B) 异步通讯双方的两项约定,串行通信的基本概念,工作方式,单工方式:,半双工方式:,全双工方式:,1.1.1异步串行通信硬件,1)计算机内部的数据是并行传送,要进行串行通信,必须通过接口电路,实现并串、串并转换,(1)单片机一般内部集成UART(通用异步收发机) (2)也可以使用芯片进行扩展如 8251并行接口 MAX3100SPI(8FIFO) TL16C550A1路异步串行口,并行(16FIFO) TL16C554内含4路

3、TL16C550B,串行通信,硬件实现 一般采用UART芯片实现,如下页图。 工作原理:发送时,由硬件将并行送来的数据串行由TXD发出,并自动添加辅助位。接收时,自动监视RXD线,测到起始位时转入串行接收,并自动去掉辅助位后并行送出。,串行通信的硬件结构,51单片机的串行接口硬件结构,SBUF(发),SBUF(收),发送控制器 TI,接收控制器 RI,移位寄存器,波特率发生器T1,1,A累加器,(门)移位寄存器,RxDP3.0,TxD P3.1,去申请中断,引脚,引脚,CPU内部,串行通信,串行通信,51单片机内部有一个功能很强的全双工串行口,可同时发送和接收数据。它有四种工作方式,可供不同场

4、合使用。波特率由软件设置,通过片内的定时/计数器产生。接收、发送均可工作在查询方式或中断方式,使用十分灵活。,51单片机串行通信的实现,发送和接收电路 SBUF是两个在物理上独立的接收、发送缓冲器,可同时发送、接收数据。两个缓冲器只用一个字节地址99H,可通过指令对SBUF的读写来区别是对接收缓冲器的操作还是对发送缓冲器的操作。 MOV SBUF,A ;CPU写SBUF,就是修改发送缓冲器; MOV A,SBUF ;CPU读SBUF,就是读接收缓冲器。 串行口对外也有两条独立的收发信号线RXD(P3.0)和TXD(P3.1),因此可以同时发送、接收数据,实现全双工传送,串行通信,发送和接收过程

5、都是在发送和接收时钟控制下进行的,必须与设定的波特率保持一致。,串行通信,串行口控制寄存器SCON(98H),1.SM0、SM1 控制串行口方式,如 mov scon,#00 xxxxxxb 则该串口工作在方式0,串口的工作方式,串行通信,2.SM2 允许方式2、3的多机通讯特征位(2,3主机0,分机1),3、REN 允许串行接收位,由软件置/复位 1:允许接收 0:不允许接收;发送数据时设为0,4、TB8 在方式2、3中要发送的第九位数据,由软件置/复位,串行通信,5、RB8 在方式2、3中是接收的第九位数据 在方式0中不用RB8。 6、RI 接收中断标志(必须由软件清除) 在方式0中串行接

6、收到第8位结束时自动置位。 在方式1、2、3中串行接收到停止位的中间时置位,串行通信,7、TI 发送中断标志(必须由软件清除) 在方式0中串行发送第8位结束时自动置位。 在方式1、2、3中串行发送停止位的开始时置位。,串行通信,串行口的编程 串行口需初始化后,才能完成数据的输入、输出。其初始化过程如下: 按选定串行口的操作方式设定SCON的SM0、SM1两位二进制编码。 对于操作方式2或3,应根据需要在TB8中写入待发送的第 9位数据。 若选定的操作方式不是方式0,还需设定接收/发送的波特率。设定SMOD的状态, 以控制波特率是否加倍。若选定操作方式1或3, 则应对定时器T1进行初始化以设定其

7、溢出率。,串行通信,9.3.2 串行口在其他方式下的应用 在方式1、2、3下,串口用于异步通信,不同之处在帧格式和波特率的差异。 方式1为8位数据位,方式3为9位数据位,两种方式的波特率都是受定时器T1的溢出率控制。 在用方式1或方式3实现串行异步通信时,初始化程序要设定串行口的工作方式,并对定时器T1进行初始化,即设定定时器方式和定时器初值。此外,还要编写发送子程序和接收子程序,串行通信,方式1的发送过程如下: 在TI为0的情况下(表示当前不处于发送状态,串行口发送控制电路处于空闲状态),任何写串行数据输出缓冲器SBUF指令(如MOV SBUF,A)均会触发串行发送过程: 51串行口自动在8

8、个串行数据位的前、后分别插入一个起始位(0)和一个停止位(1),构成10位信息帧,然后按设定的波特率依次输出起始位(0)、8个数据位(顺序为b0b7)和停止位(1)。当8位数据(即b7位)发送结束后(即开始发送停止位),串行口自动将发送中断标志TI置1。 这样执行了写SBUF寄存器操作后,可通过查询TI标志来确定发送过程是否已完成。若中断处于开放状态下,TI有效时,将产生串行中断请求。,串行通信,方式1的接收过程如下: 在接收中断标志RI为0(即串行数据输入缓冲器SBUF处于空闲状态)情况下,当REN位为1时,串行口即处于接收状态。 在接收状态下,存在两个定时信号:一个是移位脉冲信号(即发送波

9、特率);另一个是RXD引脚电平状态检测信号(也称为数据检测脉冲),它的频率是移位脉冲的16倍。进入接收状态后,串行口便按数据检测脉冲速率不断检测RXD引脚的电平状态, 当发现RXD引脚由高电平变为低电平后表明发送端开始发送起始位(0),启动接收过程,并复位接收波特率发生器,使数据检测脉冲与接收移位脉冲保持同步,然后按设定波特率顺序读出数据位和停止位。,串行通信,当接收完一帧信息(即接收到停止位)后,如果RI位为0,便将“接收移位寄存器”中的内容装入串行数据输入缓冲寄存器SBUF中,停止位装入SCON寄存器的RB8位中,并将串行接收中断标志RI置1。 这样通过查询RI标志即可确定接收过程是否已完

10、成。若中断处于开放状态下,RI有效时,也产生串行中断请求。不过值得注意是CPU响应串行中断后,不会自动清除RI,需要用“CLR RI”指令清除RI,以便接收下一帧信息。,串行通信,例:设甲乙机以串行方式1进行数据传送, fosc=11.0592MHz,波特率为1200b/s。甲机发送的1个数据存在内RAM 40H单元中,乙机接收后存在内RAM 50H地址区域中,串行通信,T1初值 = 256 - = 232 = E8H 串行方式1波特率取决于T1溢出率(设SMOD=0),计算T1定时初值:,发送过程,发送过程: 1.给定时器设定初值并开启,为串口工作准备 2.串口禁止接收状态; 3.发送数据

11、4.一个字节结束判断 5结束清标志位,发下一个字节,甲机发送子程序:,TXDA: MOV TMOD,#20H;置T1定时器工作方式2 MOV TL1,#0E8H;置T1计数初值 MOV TH1,#0E8H;置T1计数重装值 CLR ET1;禁止T1中断 SETB TR1;T1启动 MOV SCON,#40H;置串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断 TRSA: MOV R0,#40H;置发送数据区首地址 MOVA,R0;读一个数据 MOVSBUF,A;发送 JNBTI,$;等待一帧数据发送完毕 CLRTI;清发送中断标

12、志 INCR0;指向下一字节单元 RET,乙机接收子程序,RXDB: MOV TMOD,#20H;置T1定时器工作方式2 MOV TL1,#0E8H;置T1计数初值 MOV TH1,#0E8H;置T1计数重装值 CLR ET1;禁止T1中断 SETB TR1;T1启动 MOV SCON,#40H;置串行方式1,禁止接收 MOV PCON,#00H;置SMOD=0(SMOD不能位操作) CLR ES;禁止串行中断 MOV R0,#50H;置接收数据区首地址 SETB REN;启动接收 RDSB: JNB RI,$;等待一帧数据接收完毕 CLR RI;清接收中断标志 MOV A,SBUF;读接收数

13、据 MOV R0,A;存接收数据 INC R0;指向下一数据存储单元 RET,异步串行通信,异步串行通信接口通常指以下三类: RS-232(A、B、C)、 20mA电流环 RS-422/RS485。,工业控制中,用于调制解调器的信号不使用,RTS:请求发送 询问数据装置是否做好了接受数据的准备 CTS:清除发送 数据装置通知数据终端已做好了接受数据的准备 DTR:数据终端就绪 数据终端做好了接受数据的准备 DSR:数据装置就绪 数据装置做好了发送数据的准备 CD:载波信号检出 RI: 振铃信号,数据终端:如计算机 数据装置:如MODEM 或另一台计算机,2)串行通信连接方式,直接连接1米以内

14、RS-232C15米以内 20mA电流环500米 RS-422/4851200米,需TTL电平信号进行转换,1.1.2异步串行通信的直接连接,将TTL/CMOS信号直接连接 1米以内,最长不超过5米,图1.5 直接连接,图1.5 多机接连接,主机可以是计算机或单片机系统,从机多为单片机系统。51系列常采用总线方式。 从机较多时, 主机TXD应使用总线驱动器(如74HC244)驱动 从机TXD应使用OC门(如7407驱动)输出,并在主机端接上拉电阻(2.2k左右),1)电气特性采用负逻辑,1.1.3 RS-232C,-3v -15v表示逻辑“1” +3v +15v表示逻辑“0”,传输距离一般在1

15、5米以内,最远不超过30米。最远传输距离与波特率有关.传输速率越快,可靠传输的距离越短,2)电平转换常用芯片MAX232,图1.7 MAX32功能框图(电平转换),图1.7 MAX232功能框图,RS-232C,将TTL的异步通信逻辑转换为RS-232C逻辑电平,使用最方便的器件即是使用MAX232A(或功能类似的器件)。上图即是其内部逻辑框图,可以看到,片内包含了能产生10V电源的电荷泵电路(电压加倍器和电压反相器),仅需外接四个0.1f电容(MAX232A)或1f电容(MAX232)即可。每个器件含有两路TTL/CMOS到RS-232C的转换输出电路,同时含有两路RS-232C到TTL/C

16、MOS逻辑的输入电路。所以,当不需要其它控制信号时,一片MAX232即可支持两路RS-232C作全双工通信,而且不需要12V供电电源。 与MAX232A功能相当的器件有很多,仅Maxim公司就有许多型号,如MAX202、MAX220249等,有些器件甚至不必外加电容。,3)连接器,TXD:发送数据,2号引脚 RXD:接受数据,3号引脚 GND:信号地,5号引脚,常用9针D形连接器 DB9 计算机端使用DB9针,连线使用DB9孔,4)连接方法,上位机与多个串口设备通信时,每个串口必须使用1个独立的RS232C串口,可使用多串口卡,或多路串口接口芯片扩展,图1.8 两个RS-232C串行口的连接,

17、图1.8 使用多串口卡多个RS-232C串行口,1.1.4 RS-422和RS-485,实现较长距离传送 传输距离1200米以内,最远传输距离与波特率有关 RS-422 与RS-232C 异步通信逻辑相同,不同的是驱动及接收逻辑。 RS-485与RS-422 RS-485网络只能工作于半双工方式 RS-422可工作于全双工方式,1)接口电路,RS232电压驱动,RS422差动电流驱动,-3v -15v “1” +3v +15v “0”,UAB200mV “1” UBA200mV “0”,A,B,RS-422协议,RS-422协议。电流驱动时,抗干扰性能本身远高于电平驱动,加上差动方式可以用双绞

18、线进一步提高抗干扰,因而传输性能大幅度提高(正常情况下,波特率9600b/s时能可靠传输1200m以上),而传输介质仅需价格低廉的双绞线。 RS-422与RS-232C的异步通信逻辑完全相同,不同的仅是驱动及接收逻辑,DI连接UART的TXD脚,RO连接UART的RXD脚,2)接口连接方法,终端电阻100120欧姆,位于接收端,将差动电流转换成电压,图1.10 MAX488/490与RS422连线差动电流驱动,RS=422连线图,RS-485连线图,总线方式的RS485网络:使用一对双绞线,RXD,TXD,RXD,TXD,只能采用主从控制方式,(1)终端电阻的位置 (2)控制端的使用; 不允许

19、DE,RE同时有效,图1.12 用RS-485组建的网络,总线方式的RS422网络,(1)一般采用主从控制方式 (2)从机发送的数据只有主机可以接收,图1.14总线方式的RS422网络,点对点方式的RS422网络,单片机可使用MAX3100或TL16C554扩展串行口 PC机可使用RS422多串口卡,可采用主动发送方式,图1.13 点对点方式的RS422网络,3)连接器,建议使用8脚的RJ45连接器 传输线用双绞线即可 自制,1.1.6数据包组成及数据包的同步,可靠的通信方式应使用数据包,其格式如下,使用ASCII码的控制区字符构成起始字节时,常使用 起始字节常使用SOH(01H)或STX(0

20、2H) 发送较大数据包时,常使用字符串,如“AA55” 设备地址1B 或2B,通常最高位置为1,以区分同步字节 数据块通常使用ASCII码如发送01H实际发送30H、31H两个字节 数据包长度1B或2B,通常最高位置为1 校验字节常用和校验,2B,通常最高为置为1,1.1.6数据包组成及数据包的同步,单字节(不需要地址码的单字节命令),3B校验法ABB(B为的补码, A为字节命令) 需要区分地址信息时 4BDABC(D为地址, , A为字节命令B为的补码, A限制在127之内。C为DAB的校验和),对校验结果的响应方法,发送确认字节ACK(06H) 发送不确认字节NAK(15H),D-最高为设

21、为1,ABC最高为均设为0,1.2 SP I总线,用于芯片间的接口,连线长度不能超过1米,仅用3根线(SCK,MISO, MOSI),速率可达200KB/S 不同的SPI (Serial Peripheral Interface)串行外设接口器件,有不同的规定,何时锁存数据:上升沿,下降沿 高位在前还是低位在前 数据串的长度:8b,16b,SPI接口器件与处理器连接的方法,无SPI接口,则可接到任意三根I/O线(仿SPI ) 有SPI接口,不可随意安排,SPI-串行外设接口,1)SPI接口器件实例,SPI仅使用三根线进行数据通信 对于接口设备,分别为:输入线(MPU为输出线,标示为MOSI)、

22、输出线(MPU为输入线,标示为MISO)、时钟线(SCLK) (1)MAX110/1112通道A/D转换芯片 上升沿锁存,16b,高位在前 (2)X5045电源监视、看门狗、512B EEPROM 输入数据上升锁存、输出数据下降沿锁存,16b,高位在前,(1)MAX110/111,A/D转换芯片,与计算机通信时使用使用SPI三线接口。控制字输入、转换结果输出(上次转换)同时进行,图1.19 MAX110/MAX111的SPI接口时序,(2) X5045,读状态寄存器时序,三合一的多功能芯片(电源监视/复位、看门狗、512EEPROM),图1.20 X5045的SPI接口时序,(2) X5045

23、,写状态寄存器时序,(2) X5045,读存储器内容时序,2)软件SPI接口的实例,微处理器无SPI接口或接口不支持SPI器件时序时,可用I/0口线与器件3线连接 软件开销大,传输速度较低。 可用C语言或汇编语言实现,图1.2151系列单片机与MAX110/MAX111的SPI接口,3)硬件SPI接口的实例,带SPI接口的微处理器(如AT89S53),与SPI器件连接位置固定,不可随意安排 软件开销小,传输速度快。,注意:带SPI接口的微处理器,SPI参数需根据不同外围器件进行设置,时序要与器件保持一致,4)多SPI接口的连接,开发公司:Philips 多主机总线提供总线仲裁逻辑 同名端对应相

24、连SCL(时钟) ,SDA(数据) 上拉电阻漏极开路,阻值:510K 传送数据形式:字节,1.3 I2C总线,SCL高电平时SDA下降沿为起始条件, SCL高电平时SDA上升沿为终止条件;数据位跳变时,时钟信号必须处于低电平,首先传送数据的最高位;如果从机要完成其他功能再接收数据,则使SCL保持低电平,迫使主机进入等待状态。,图1.26 I2C 总线的起始条件和终止条件时序,I2C总线,图1.28 I2C总线硬件连接,MAX518时序,010,01011,01011,(1)SCL为高电平时,SDA应保持不变,否则视为起始或终止条件 (2)每个字节8位,高位在前,首先传输的是数据的最高位MSB,

25、每次传输字节数没有限制 (3)每传送完一字节之后,接受器件给出应答信号(低电平) (4)若接受器件不能接收下一个字节,则应使SCL保持低电平;准备好后,释放SCL,使数据传送继续进行,1)I2C明确规定了软硬件协议,2)符合I2C总线硬件规范的两线接口芯片举例,AT24C02A/04A/08A(1010)EEPROM 容量分别为256/512/1024B,标准I2C总线数据传送格式,(1)器件地址由固定位和可编程位组成 (2)改变数据传送方向时,应重新发送起始条件和从机地址,字节写时序,AT24C02A/04A/08A,3)不符合I2C总线硬件规范的两线接口芯片举例,SPI总线的变形,工作移位

26、寄存器方式,举例:DS1302时钟芯片,单字节读时序,单字节写时序,4)I2C器件的连接方法,(1)带I2C接口的微处理器(如P8X552),2线对应相连 (2)微处理器无I2C接口,用I/O线与I2C器件相连,软件模拟时序 对于不符合I2C硬件规范的器件,也只能用软件模拟,与SPI接口器件类似,1.4 USB总线,USB2.0规范将接口设备按通信速率分为三类:低速设备(最高1.5Mb/s)、全速设备(12Mb/s)、高速设备(480Mb/s)。为方便接口设备的工作,USB接口还允许接口设备从USB总线取得+5V电源,但总电流不得大于500mA。 USB通过4线电缆接入主机,分别为:VBus(

27、总线电源)、GND(地线)、D+和D (数据线)。其中D+和D是一对差模信号线,使用3.3V的电平,而VBus和GND则提供+5V的电源。USB总线可以自动探测出新设备的插入或已接入设备的断开。,带USB接口的单片机:EZ-USB USB接口芯片:CH372/375,1.4 USB总线,1.4 USB总线,PDIUSBD12符合USB1.1版的规范。具有以下特性:集成了串行接口引擎 (SIE)、320字节先进先出(FIFO)存储器、收发器以及电压调整器;可与任何外部微控制器/微处理实现高速并行接口(2M字节/秒);支持直接存贮器存取(DMA)操作;在批量模式和同步模式下均可实现1M字节/秒的数

28、据传输速率;可编程的时钟频率输出;符合ACPI、OnNOW和USB电源管理的要求;内部上电复位和低电压复位电路;高于8kV的片上静电防护电路等。图1.35为PDIUSBD12的引脚图和内部功能框图。表1.3为PDIUSBD12的引脚功能描述。,1.4 USB总线,PDIUSBD12采用GoodLink技术的连接指示器,在通信时使LED闪烁, 为通信状态提供了用户友好的指示, 方便用户调试。SoftConnectTM技术允许系统微控制器控制USB总线重新连接和重新初始化而不需要拔出电缆。,DMACK_N 接高电平本例不使用DMA方式;EOT_N引脚,借此检测USB设备是否已经连接到USB口,So

29、ftConnect功能只有在检测到此信号时才会进行连接,换言之,如果不接此信号,则PDIUSBD12总认为没有USB设备接入没有USB设备接入,SoftConnect不会启动,图中VDD接正电源(3.3V或5V),如果芯片工作在3.3V,则Vout3.3与VDD都接3.3V;如果芯片工作在5V,则此时Vout3.3会输出3.3V电压,用于提供给D+作参考电压。参考电压必须为3.3V。数据线D7:D0为8位数据线。如果连接16位系统或32位系统,则数据线接低8位。当CS_N或DMACK_N 信号任一为低时,均可选中PDIUSBD12。因此,如果不使用DMA方式,则应将DMACK_N 接高电平,使

30、用CS_N 作为片选。本例不使用DMA方式,使用CS_N引脚作为片选信号。 使用ALE可以简化与地址/数据线复用的MCU的连接。将ALE 接至MCU 的ALE,A0 接高电平,则PDIUSBD12会在ALE 的下降沿锁存地址信号,直接将数据写入对应的地址中。非地址/数据线复用的系统,则ALE总接低,A0为高时表示数据线上收到的是命令字节,A0为低时表明收到的是数据字节。通过将地址线的高位接至A0,PDIUSBD12就可以有独立的命令和数据端口。 USB电源线VBus经过10K和1M电阻串联接地,再从其分压处引至EOT_N引脚,借此检测USB设备是否已经连接到USB口,SoftConnect功能

31、只有在检测到此信号时才会进行连接,换言之,如果不接此信号,则PDIUSBD12总认为没有USB设备接入,SoftConnect不会启动设备枚举过程。,长距离通信问题,几十米以上的通信,通常即视为长距离通信,这时即可能遇到一些意想不到的通信问题,因此必须采取一些措施解决。 具体说来主要为两类问题: 一类是通信距离问题,通信距离超过限值时,通信不正常; 另一类是可靠性问题,通信过程时好时坏,严重时损坏设备。 解决方法也分为两种:选择合适的通信方式(硬件)、必要时进行光电隔离。,1.6长距离通信问题,各种通信协议,各有长处。RS-232C使用最简单,但通信速率不高,且不适宜远距离通信。但RS-232

32、C历史悠久,尽管有这样那样的缺陷,仍是应用最多的。RS-232C通常用于530m间的设备之间的通信,最远通信距离不大于100m。小于5m的通信不使用RS-232C而直接使用TTL电平传输即可。电流环接口是解决RS-232C通信距离问题的方案之一。早期的电流环接口规定:有信号时为20mA,无信号时无电流。电流环接口很适于做光电隔离,通信距离可大于500m(波特率为19200)甚至更远。,1.6长距离通信问题,用电流环实现隔离的长线通信,R1,R2取值550时,可在19200下传送500米,使用RS-422/485的长线通信,通信距离可达1200米,更长的距离可通过中继器实现。长距离通信应采用带光

33、电隔离的485驱动器,采用总线式结构,最多允许挂接32个接收设备 采用星形结构,每条支线上都应接终端电阻,并将终端电阻阻值提高,一般支线总数控制在 4条以下,使用光纤传输RS-422/485信号,通信距离可达20千米,1.5 CAN总线,控制器局域网(CAN)是一种用于连接电子控制模块、汽车和工业设施中的传感器和作动器的异步串行多主通信协议。 最初由博世(Bosch)采用的CAN 通信协议,能够以很高的安全性高效地支持分布式实时控制。CAN总线网络的典型应用为汽车和工业控制。,CAN总线,ISO11898定义了CAN总线规范,是用于汽车高速通信的CAN总线协议的国际标准。 标准主要指定了数据链

34、路层和通信连接的物理层。图1.37为CAN总线开放式系统互联参考模型(OSI)的结构分层。 物理层可分为图示的三个子层。分别为物理信号子层(位编码、定时、同步),物理介质配置子层(驱动器和接收器的特性),介质相关的接口子层(总线联接器)。,CAN总线,位编码:CAN传输的数据包称为报文(信息)帧。CAN报文帧的最初规范含有一个11位的标识符(IDENTIFIER)。1991年,博世发布了第二版的CAN协议,称为扩展的CAN报文帧格式,将标识符的位数扩展到了29位,主要用于增加可识别的对象数目,因此新格式只是可选的,而含有11位的标识符的报文仍是“标准帧”。含有11位标识符的标准报文帧格式和含有

35、29位标识符的扩展报文帧格式见图1.38。两种格式的数据块部分都是最多8字节,并使用15位CRC校验。,CAN报文帧格式,CAN报文格式,数据帧 数据帧由7个位场组成,即帧起始、仲裁场、控制场、数据场、CRC场、应答场和帧结束(参见图1.38)。其中,数据场长度可为0。 帧起始 标志数据帧和远程帧的起始,它仅由一个显性位构成。只有在总线处于空闲状态才允许节点开始发送帧起始位。所有节点都必须同步于首先开始发送的那一个节点的帧起始位前沿。 仲裁场 由标识符和远程发送请求位(RTR)组成。标识符的长度为11位,按从高到低的顺序发送,最低位为ID.0,其中最高7位(ID.10ID.4)不能全为隐性位。

36、 标识符的作用就是信息的名字,用于接收方的信息过滤,同时还用于总线仲裁时的优先级判定。数值小的标识符具有更高的优先级。 标识符后为RTR位,即远程发送请求位。该位置位时,表示发送RTR信息,无数据场信息一。如果该位复位,则发送数据帧。数据字节的长度由DLC控制。,CAN报文格式,控制场 控制场包括6位,包括两个保留位和4位数据长度码(DLC)。标准帧的两个保留位必须发送显性位,4位数据长度码指出数据场的字节数目。 数据场 数据场由数据帧中被传送的数据组成,08个字节,每个字节8位,最高有效位在前。 CRC校验场 采用15位的CRC(循环冗余码)校验,其生成多项式为 CRC校验场信息由CAN控制

37、器硬件产生。 应答场(ACK) 应答场为两位,包括应答间隙和应答界定符。在应答场中,发送器送出两个隐性位。接收节点收到正确的报文后,在应答间隙,将发送一个显性位报告给发送器 。 帧结束 每个数据帧和远程帧均由 7个隐性位组成的标志序列界定,表示总线回到空闲状态。 除标识符、RTR位、DLC场和数据字节外,其它位场信息均由CAN控制器硬件生成或操纵,1.7开机握手与波特率自动同步,1、数据包同步字符约定方式 2、反复发生固定字符串,让接收端通过试收发同步,波特率同步方式,停止位,01H接收端的波特率与发送端波特率相同,即同步 06H接收端的波特率是发送端波特率的2倍 78H接收端的波特率是发送端波特率的4倍 80H接收端的波特率是发送端波特率的8倍,握手的方式:接收端以最高波特率接收,发送端发送文件头SOH(ASCII码01H)时,若接收到的信号为,0

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论