串行通信及工业网络剖析课件_第1页
串行通信及工业网络剖析课件_第2页
串行通信及工业网络剖析课件_第3页
串行通信及工业网络剖析课件_第4页
串行通信及工业网络剖析课件_第5页
已阅读5页,还剩73页未读 继续免费阅读

下载本文档

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

文档简介

串行通信技术及CAN网络

(内部培训资料)CopyrightreservedbyHL,Nodistribution1串行通讯的基本概念串行通讯:信息的各位数据被逐位按顺序传送。2数据传送模式半双工方式(halfduplex)全双工方式(fullduplex)3信号的同步4同步传输5异步传输6第0位第1位第2位第3位第4位第5位第6位第7位停止位开始位每个字符要用起始位和终止位作为字符开始和结束的标志总线分类总线分为:内部总线、系统总线、外部总线。内部总线:核心处理器与其外围芯片之间的总线,用于芯片一级的互连。这一类总线有:I2C总线、SCI总线、SPI总线;系统总线:各插件板与系统之间的总线,用于接插板一级的互连,这一类总线有ISA总线、PCI总线;外部总线:芯片与外设之间的总线,用于设备一级的互连,如工业总线CAN。ContentsofdiagrambelongstoHuangLiangCopyrightreservedbyHL,Nodistribution7内部总线-I2C总线I2C总线:Inter-IntegratedCircuitPhilips公司于80年代初推出。在主从方式通信中可以有多个I2C总线器件同时接到I2C总线上,通过地址来识别对象。8内部总线-I2C总线传送速率普通模式:100kHz;快速模式:400kHz;高速模式:3.4MHz;没有任何必要使用应用:9内部总线-I2C总线I2C共有三种类型信号:开始信号:SCL为高电平时,SDA由高电平向低电平跳变,开始传送数据。结束信号:SCL为高电平时,SDA由低电平向高电平跳变,结束传送数据。10内部总线-I2C总线I2C应答信号:接收端在接收到8bit数据后,必须将SDA线拉低,表示已收到数据。发送端接收到应答信号后,根据实际情况作出是否继续传递信号的判断。若未收到应答信号,由判断为受控单元出现故障。11内部总线-I2C总线第一个字节的头7位:从机地址第一个字节的最低位:“0”,表示主机会写信息到被选中的从机;“1”表示主机会向从机读信息。12内部总线-I2C总线发送数据:往EEPROM写数据:13内部总线-I2C总线接收数据:往EEPROM读数据:14内部总线-SPI总线SPI:SerialPeripheralInterface

串行外设接口,由Motorola首先在其MC68HCXX系列处理器上定义。15内部总线-SPI总线工作模式:主/从控制器连接(1)MCU1主模式16SPICLKSPICLKSPISIMOSPISIMOSPISTE*IOPC5(SPISTE)SPISOMISPISOMIMCU1MCU2内部总线-SPI总线工作模式:主/从控制器连接(2)MCU1从模式17SPICLKSPICLKSPISIMOSPISIMOSPISTE*SPISTE(IOPC5)SPISOMISPISOMIMCU1MCU2内部总线-SPI总线多机通信:18内部总线-SPI总线19内部总线-SPI总线全双工:在接收数据的同时也在发送数据(即使另一端没有发送数据)数据长度:1-16位,可编程设定。从机不能主动传输,收发都由主机控制。20内部总线-SPI总线21发送的数据从SPIDAT寄存器的MSB(MostSignificantBit,最高有效位)依次移出。接收的数据则从SPIDAT的LSB(LeastSignificantBit,最低有效位)依次移入。LSB

移位寄存器SPIDATMSB内部总线-SPI总线当传输数据长度<16bit时:数据从SPIDAT或SPIRXBUF寄存器读取出时必须右对齐。数据写入到SPIDAT或SPITXBUF寄存器时必须左对齐。22内部总线-SPI总线数据的发送方式有三种:

(1)主控制器发送数据,从控制器发送伪数据; (2)主控制器发送数据,从控制器发送数据; (3)主控制器发送伪数据,从控制器发送数据。23内部总线-SPI总线24DIG0-7:8位数码管驱动,低电平有效,驱动共阴极LED灌电流,最大值500mA。SEGA-G:7段LED驱动与小数点,高电平有效驱动,最大值40mA,可调。ISET:设置段电流,段指每一个LED。DOUT:用于多片级联内部总线-SCISCI:serialcommunicationinterface

异步通信接口。UART:UniversalAsynchronousReceiver

Transmitter通用异步收发器25内部总线-SCI空闲线模式数据格式:通信以帧为单位,双机通信1帧包括:1个起始位“0”;1-2个停止位“1”。26第0位第1位第2位第3位第4位第5位第6位第7位停止位开始位奇偶位带校验的单机通信格式第0位第1位第2位第3位第4位第5位第6位第7位停止位开始位无校验单机通信格式内部总线-SCI多处理器空闲线方式:27数据格式数据包/块空闲线周期一个数据包空闲线周期扩展开的数据格式几个数据包内部总线-SCI地址位模式数据格式:帧长度比空闲线模式多一位:地址位1表示ID,地址位0表示数据28起始位0LSB234567MSB地址位奇偶校验停止位1起始位0LSB234567MSB地址位停止位1地址位方式下帧格式(无奇偶校验)地址位方式下帧格式内部总线-SCI通信格式:ID+若干数据29外部总线美国电子工业协会EIA(ElectronicIndustryAssociation)制定总线历程:30外部总线-RS232RS是英文“推荐标准”的缩写,232为标识号。全名:数据终端设备(DTE)和数据通讯设备(DCE)之间串行二进制数据交换接口技术标准。美国电子工业协会EIA(ElectronicIndustryAssociation)联合贝尔系统、调制解调器厂家及计算机终端生产厂家共同制定的一种串行物理接口标准。31外部总线-RS232DB932载波检测数据终端准备振铃提示而工业控制的RS-232口一般只使用RXD、TXD、GND三条线。外部总线-RS232DB2533序号信号名称符号补充说明2发送数据TXD常用3接收数据RXD常用4发送请求RTS5发送允许CTS6数据设备准备好DSRDCE准备好7信号地GND常用8载波检测DCDDCE接收到远程载波20数据终端准备好DTRDTE准备好22振铃指示RIDCE与线路接通,出现振铃外部总线-RS232节点数:点对点传输。1台PC接1台设备。一般PC机上会有两组RS-232接口,分别称为COM1和COM2。通信距离:驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。34研发设备监控PC机波特率:50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。外部总线-RS232电平为负逻辑关系:35发送端接收端外部总线-RS232SCITTL电平与232负逻辑电平:36第0位第1位第2位第3位第4位第5位第6位第7位停止位开始位SCI-RS23237光电隔离器原理:作用:隔离、电平转换、驱动38SCI-232编程CopyrightreservedbyHL,Nodistribution3940voidSCI_init(){MCRA|=0x0003;//D0:SCITXD,D1:SCIRXD,1为复用SCICCR=0x0007;//D7=01个停止位,D6=D5=0禁止奇偶校验,D4=0禁止自测模式//D3=0空闲线多处理器模式,D0-D2=111长度8位SCICTL1=0x0003;//D6=0禁止接收错误中断,D5=SWRESET=0串口初始化begin,D7、D4保留//D3=0地址位填0,D2=SLEEP=0禁止地址触发,D1=D0=1发送/接收使能SCICTL2=0;//清标志,禁止中断SCIHBAUD=0;

SCILBAUD=0x0067;//16M晶振,系统1倍频,设置波特率19200SCIPRI=0x0060;//D6=D5=1发送和接收都为低优先级中断请求,D4=D3=0仿真挂起立即停止SCICTL1=0x0023;//D5=1,SWRESET复位,使能SCI}SCI-232编程41发送程序:SCITXBUF=数据; //发送实际数据while((SCICTL2&0x0080)==0)//D7=TXRDY=1?{}

查询接收程序:if(SCIRXST&0x0040)//D6=RXRDY=1SCIRXBUF有新数据更新,会产生中断申请{

SCI_BUF=SCIRXBUF;//读SCIRXBUF可以清除RXRDY位

}外部总线-RS485传输方式:半双工RS-485采用半双工工作方式,任何时候只能有一点处于发送状态,因此,发送电路须由使能信号加以控制。42外部总线-RS485传输方式:差分传输43外部总线-RS485发送器:逻辑“1”:两线间的电压差为+(2~6)V表示;逻辑“0”:两线间的电压差为-(2~6)V表示。接收器:逻辑“1”:A电平比B电平高出200mV以上。逻辑“0”:B电平较A电平高出200mV以上。44在RS-485网络中所有节点处于接收状态时,总线置为三态,没有任何信号驱动总线,使A和B之间的电平差趋于0。抵制共模干扰45A+NoiseB+Noise信号=A+Noise-(B+Noise)=A-BAB外部总线-RS485传输距离:平衡双绞线的长度与传输速率成反比,最大传输距离约为1219米,只有在很短的距离下才能获得最高速率传输。最大传输速率为10Mb/s。一般100米长双绞线最大传输速率仅为1Mb/s。46外部总线-RS485可多机通信:每个节点约定数据打包发送:ID+约定帧数数据每个节点可以拥有多个ID+约定帧数数据47SCI-RS48548SCI-RS485SCI模块与ADI公司的RS485隔离式收发器ADM2587进行数据传输。ADM2587内部集成隔离电源。49监控解决方案50上位机(PC机)只集成RS-232接口与下位机(控制器)通信;RS-232最大缺点在于PC机要与控制器须共用地信号,PC机电网干扰与控制器内部干扰会互相影响。例如converter输入电源来源于电网,当converter工作时电网会受到干扰,而PC机电源与电网共地,又会将干扰串给控制主板。在实际运行中见到的现象就是PC机收不到数据产生死机现象。而RS-485信号采用差分传输,不怕地线传入干扰。由于与232总线搭配,因此485传送速率受限于232的19200bps。监控数据格式0xaa+25个8位数据+LRC校验和+0x55;0xaa表示新的数据包的头;0x55表示数据包的尾;1个数据包里面有25个字节数据;LRC校验和=data[25]^data[24]^……data[1]。51SCI-RS485编程CopyrightreservedbyHL,Nodistribution52编程实例53voidSCI_init(){MCRA|=0x0003;//D0:SCITXD,D1:SCIRXD,1为复用SCICCR=0x0007;//D7=01个停止位,D6=D5=0禁止奇偶校验,D4=0禁止自测模式//D3=0空闲线多处理器模式,D0-D2=111长度8位SCICTL1=0x0003;//D6=0禁止接收错误中断,D5=SWRESET=0串口初始化begin,D7、D4保留//D3=0地址位填0,D2=SLEEP=0禁止地址触发,D1=D0=1发送/接收使能SCICTL2=0;//清标志,禁止中断SCIHBAUD=0;

SCILBAUD=0x0067;//16M晶振,系统1倍频,设置波特率19200SCIPRI=0x0060;//D6=D5=1发送和接收都为低优先级中断请求,D4=D3=0仿真挂起立即停止SCICTL1=0x0023;//D5=1,SWRESET复位,使能SCI485接收使能;485发送使能关闭;}54485接收使能关闭;485发送使能;//总线由0电平立马变成高电平,处于发送状态SCICTL1&=0x0FFFE; //D0=RXENA=0,关闭SCI接收SCICTL1|=0x0002; //D1=TXENA=1,使能SCI发送延时10ms;SCITXBUF=0xaa; //发送数据头0xaawhile((SCICTL2&0x0080)==0)//D7=TXRDY=1?{}SCITXBUF=数据; //发送实际数据while((SCICTL2&0x0080)==0){}SCITXBUF=LRC; //发送LRC校验和while((SCICTL2&0x0080)==0){}SCITXBUF=0xbb; //发送数据尾0x55while((SCICTL2&0x0080)==0){}延时20ms; //此处很重要,如没有延时,将会丢失前面发送的数据485发送使能关闭; //总线由高电平立马变成0电平485接收使能;SCICTL1&=0x0FFFD;//D1=TXENA=0,关闭SCI发送SCICTL1|=0x0001; //D0=RXENA=1,使能SCI接收RS-485发送波形55工业现场总线PROFIBUS总线(德国奔驰)ProfiBus-DPProfiBus-PAProfiBus-FMS基金会现场总线FF(美国芝加哥)CAN总线(德国BOSCH)56CAN总线CAN:全称为“ControllerAreaNetwork”,即控制器局域网,是国际上应用最广泛的现场总线之一。1993年11月,ISO正式颁布CAN为国际标准ISO11898。支持CAN协议的公司有Intel、Motorola、Philips、Siemens、NEC、Honeywell、TI等公司。57CAN总线传输速率:可达到1Mbps(40米以内)传输距离:10千米(5kbps以下)支持的介质:铜线,光纤媒体访问控制方式:CSMA/冲突按优先权解决可挂接的最大节点数:11058CAN总线59CAN总线是一种串行数据通信总线,其通信速率最高可达1Mbit/s。CAN系统内任意2个节点间的最大传送距离和其位速率有关。CAN总线60MDI:实现物理介质和介质访问单元MAU之间机械和电气接口。MDI层定义了电缆和连接器的特性PMA:实现总线收发的功能并提供总线故障检测方法。PMA层功能由CAN收发器完成。PLS:实现位表示、定时和同步的相关的功能。PLS层连同数据链路层功能由CAN控制器完成CAN总线61CAN总线电平6262信号使用差分电压传送CAN_H2.5V3.5VCAN_L2.5V1.5V状态“1”隐性“0”显性两个节点同时发送“0”和“1”时,总线上呈现“0”。CAN总线电平63CAN总线隔离接口电路64CAN总线82C250:是CAN协议控制器和物理总线的接口,提供差动发送/接收能力。三种工作模式:高速、斜率、准备模式。高速模式:最快的速度切换,因此一般使用屏蔽的总线电缆来防止可能的扰动。斜率模式:转换速度故意降低,以减少电磁辐射。准备模式:低功耗睡眠状态。65CAN总线高速模式66Px,y为低:工作Px,y为高:睡眠高速实现方式:此时CAN总线斜率模式67实现方式:此时:CAN总线斜率模式68单端转换速度SR与阻抗Rext的关系为:其中kse为转换速度常数:CAN总线69波特率(标称位率):每秒发送的位数。这个标称位率的最大值是1Mbps。标称位时间:标称位率的倒数。就是发送一位数据需要的时间。时间份额(时间当量):来源于晶振周期的固定时间单元。可通过一个带1-64整数值的可编程波特率分频器和一个固定2分频的时钟发生器来确定。时间份额的长度为其中,Fosc为时钟频率,BRP为BRGCON1寄存器<5-0>的数(0-63)。CAN总线时间份额70BRP的选择:应该使时间份额的时间值尽可能的小一些,也就是让1个位周期中时间份额的数量更多。这样做的目的是为了使采样点位置的选择具有更好的分辨率。CAN总线71同步段(SYNCSEG):用于同步总线上不同的节点。这一段内等待一个跳变沿。CAN总线的同步只有在节点检测到逻辑1到逻辑0的跳变时才会产生。传播段(PROPSEG):由于发送节点和接收节点之间存在网络传输延迟以及物理接口延迟,发送节点发送一位之后,接收节点延迟一段时问才能接收到,传播段的延时设置就是用于补偿网络内的物理延时时间。相位缓冲段1、2(PHASESEG1、2):用于补偿边沿相位误差。这两个段可以通过重同步加长或缩短。CAN总线采样点CAN总线的采样点最好靠近位时间的末端。根据工程经验,一般将采样点时间比设置在位时间80%

温馨提示

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

评论

0/150

提交评论