计算机通信技术.ppt

上传人:小飞机 文档编号:6360514 上传时间:2023-10-20 格式:PPT 页数:30 大小:301.50KB
返回 下载 相关 举报
计算机通信技术.ppt_第1页
第1页 / 共30页
计算机通信技术.ppt_第2页
第2页 / 共30页
计算机通信技术.ppt_第3页
第3页 / 共30页
计算机通信技术.ppt_第4页
第4页 / 共30页
计算机通信技术.ppt_第5页
第5页 / 共30页
点击查看更多>>
资源描述

《计算机通信技术.ppt》由会员分享,可在线阅读,更多相关《计算机通信技术.ppt(30页珍藏版)》请在三一办公上搜索。

1、嵌入式系统,第24讲,CAN总线SPI接口计算机通信小结,本讲内容,CAN总线SPI接口计算机通信小结,CAN总线,随着监测和控制功能的广泛应用,必然要求系统连接或分布更多的传感器和控制信号。简化物理布线有许多方案,CAN总线(controller area network)是其中一种。CAN总线基于串行通信ISO11898标准,其初始协议是为车载数据传输而定义的。如今,CAN总线已经广泛应用于移动设备、工业自动化以及汽车领域。CAN总线标准包括物理层、数据链路层,其中链路层定义了不同的信息类型、总线访问的仲裁规则及故障检测与故障处理的方式。CAN总线与USB总线相比,其最大优点是其总线是多主

2、机结构,而USB总线上只能有一个主机。,CAN总线,目前有两种CAN总线协议:CAN1.0和CAN2.0,其中CAN2.0有两种形式A和B。CAN1.0和CAN2.0A规定了11位标识,CAN2.0B除了支持11位标识外,还能够接受扩展的29位标识。为了符合CAN2.0B,CAN控制器必须支持被动2.0B或主动2.0B。被动2.0B控制器忽略扩展的29位标识信息(CAN2.0A控制器在接收29位标识时,将产生帧错误),主动CAN2.0B控制器能够接收和发送扩展信息帧。CAN总线传输数据长度可变(08字节)的信息(帧),每帧都有一个唯一的标识(总线上任何节点发送的信息帧,都具有不同的标识)。CA

3、N总线和CPU之间的接口电路通常包括CAN控制器和收发器。,CAN总线,在1Mb/s速率下,CAN总线距离接近30m,而在10kb/s时,距离可达6km。由于所有的错误检测、纠错、传输和接收等都是通过CAN控制器的硬件完成的,所以用户组建这样的2线网络,仅需要极少的软件开销。,2线差分传输;多主机;单工或半双工;速率可达1Mb/s;120终端匹配电阻;标准化的硬件协议。,11位和29位标识的信息所适用的CAN协议,CAN总线,它们分别是:同步段(SYNC_SEG)、传播时间段(PROP_SEG)、相位缓冲段 1(PHASE_SEG1)、相位缓冲段 2(PHASE_SEG2)。采样点位于相位1结

4、束时刻。,CAN总线一位数据的时序,CAN总线一位数据通常被划分为4个时间段,如下图所示,CAN总线一位数据的时序,如果通信终端之间位同步良好,就能正确的传送和接收数据,但是实际通信中,在不同的端点之间,由于传输距离不同,相同的位会产生偏移,称其为相位偏移,就需要同步机制以保证每一位在时间上同步。有硬同步和重新同步两种方式。硬同步强迫由于硬同步引起的沿处于重新开始的位时间同步段之内。,CAN总线一位数据可以被划分为1-32个时间份额,通常被划分为8-25个时间份额,下图为10Quanta/bit,CAN总线一位数据的时序,重新同步,指的是出现相位偏移时,根据偏移情况,需要延长或缩短本位的时间,

5、以达到位同步。重新同步要设置一个重新同步跳转宽度,在下边所描述的偏移中,按规定延长或缩短一个重新同步跳转宽度。,当引起重新同步沿的相位误差的幅值小于或等于重新同步跳转宽度的设定值时,重新同步和硬件同步的作用相同。当相位错误的量级大于重新同步跳转宽度时:如果相位误差为正,则相位缓冲段 1 被增长。增长的范围为与重新同步跳转宽度相等的值。如果相位误差为负,则相位缓冲段 2 被缩短。缩短的范围为与重新同步跳转宽度相等的值。,CAN总线信息格式,1b,12b,6b,29+3=32b,1b,6b,N*8b,N=8,N*8b,N=8,CAN的帧类型,报文传输由以下4 个不同的帧类型所表示和控制:数据帧:数

6、据帧携带数据从发送器至接收器。远程帧:某单元发出远程帧,请求对方发送具有同一识别符的数据帧。错误帧:任何单元检测到一总线错误就发出错误帧。过载帧:过载帧用以在先行的和后续的数据帧(或远程帧)之间提供一附加的延时。数据帧(或远程帧)通过帧间空间与前述的各帧分开。,数据帧,数据帧由7 个不同的位场组成:帧起始、仲裁场、控制场、数据场、CRC 场、应答场、帧结尾。数据场的长度可以为0。,远程帧,总线单元发出远程帧,请求发送具有同一识别符的数据帧。,CAN总线出错处理,CAN控制器内置TX和RX出错计数器,根据出错是本地的还是全局的,计数器以此决定加1还是加8。每当收到信息,出错计数器就会增加或减少。

7、如果每次收到的信息是正确的,则计数器减1;如果信息出现本地错误,则计数器加8;如果信息出现网络错误,则计数器加1。这样,通过查询出错计数器值,就可以知道通信网络质量。,这种计数器方式确保了单个故障节点不会阻塞整个CAN网络。如果某个节点出现本地错误,其计数值将很快达到96、127或255。当计数器达到96时,它将向节点微控制器发出中断,提示当前通信质量较差。当计数值达到127时,该节点假定其处于“被动出错状态”,即继续接收信息,且停止要求对方重发信息。当计数达到255时,该节点脱离总线,不再工作,且只有在硬件复位后,才能恢复工作状态。,CAN总线出错处理,CAN总线网络结构,CAN总线规范采用

8、了ISO-OSI的三层网络结构,就有三种不同的器件与之相对应:对应物理层的是收发器;对应数据链路层的是CAN控制器;在应用层上主要是用户特殊的应用,对应的器件是微控制器。用户必须进行CAN总线的程序设计,包括CAN功能寄存器的设置、标识符设定、邮箱分配、消息的收发等。,CAN控制器与收发器,CAN芯片有系列化的产品,主要可分为:集成CAN控制器的微处理器:Philips的80C591/592/598、XAC37;Motorola的Pow2、PC555;Intel的196CA/CB;Silicon Lab的C8051F040047等。独立的CAN控制器:Philips的SJA1000、82C20

9、0、8XC592、8XCE598;Intel的82526、82527等。CAN总线收发器:PCA82C250/251/252;TJA1040/1041/1050等。,CAN控制器与收发器,在设计中,可以采用微处理器加CAN控制器的两片组合方案,也可以采用单片IC,如DS80C590、C8051F040等,DS80C590、C8051F040都集成有双路CAN总线,属于高速微处理器,能够管理更多设备,并允许它们透明地相互传输信息。由于内部集成了两个CAN控制器,能够很好地满足嵌入式系统中日益增长的许多要求,如简化布线,可靠的数据传输等。,本讲内容,CAN总线SPI接口计算机通信小结,SPI接口,

10、SPI是一种同步串行外设接口,其全称是“Serial Peripheral Interface”,意为串行外围接口,是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI接口在CPU和外围低速器件之间进行同步串行数据传输,在主器件的移位脉冲下,数据按位传输,高位在前,低位在后,为全双工通信,数据传输速度总体来说比I2C总线要快,速度可达到几Mbps。SPI接口是以主从方式工作的,这种模式通常有一个主器件和一个或多个从器件。,SPI接口,SPI接口包括以下四种信号:(1)MO

11、SI 主器件数据输出,从器件数据输入(2)MISO 主器件数据输入,从器件数据输出(3)SCLK 时钟信号,由主器件产生(4)/SS 从器件使能信号,由主器件控制,SPI时序,SPI接口在内部硬件实际上是两个简单的移位寄存器,传输的数据为8位,在主器件产生的从器件使能信号和移位脉冲下,按位传输,高位在前,低位在后。如下图所示,在时钟SCLK的下降沿(有些是上升沿,可选择)上数据改变,同时一位数据被存入移位寄存器。,void Initial_SPI(void)/初始化 SPI AUXR1=0X20;/SPI定义在P4口。SPCTL=0 x64;SPSTAT=0 xc0;/清0 标志位 SPIF(

12、SPSTAT.7),WCOL(SPSTAT.6)/向该两个标志位写1 会将它们清0 IE2|=0 x02;EA=1;,SPI初始化函数,void SendData(uchar i)IE2/开启SPI中断,SPI数据发送函数,void SPI_irq()interrupt 9 using 1EA=0;aerr=SPDAT;SPSTAT=0 xc0;DfDelay2us();if(aerr,SPI中断服务函数例1,void SPI_require()interrupt 9 using 2 ssb=SPDAT;/读取数据 SPSTAT=0 xc0;/清中断标志,SPI中断服务函数例2,应用SPI通信

13、需注意在多个从器件的系统中,每个从器件需要独立的使能信号,硬件上比I2C系统要稍微复杂一些。主要是对每个从器件的SS单独提供信号。以分别选通各个从器件。最后,SPI接口的一个缺点:没有指定的流控制,没有应答机制确认是否接收到数据。,本讲内容,CAN总线SPI接口计算机通信小结,计算机通信总结,(1)连接在同一通信总线上的设备的通信接口的电气规范必须相同,例如挂在同一总线上的设备,不能有些采用RS232接口,有些采用RS485接口,而必须采用同一种接口。(2)两个互相通信的设备的通信波特率和其他数据传输规约必须相同。(3)发送器和接收器所发送和接收的字节的位(bit)的先后次序必须相同,即发送一个字节按从D0到D7的次序,则接收器中对收到的数据也必须按同一次序处理。(4)数据传输协议必须约定好:是直接数据传输还是用ASCII码传输,即所传输的字节是一个0255的数字还是一个ASCII码,双方要确认一致;数据内容要约定好,在所传输的数组中,那些数据代表什么物理量,通信双方要清楚,才能对接收到的数据进行正确处理。,本讲内容小结,CAN总线SPI接口计算机通信小结,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号