汽车电子技术与单片机第9章_第1页
汽车电子技术与单片机第9章_第2页
汽车电子技术与单片机第9章_第3页
汽车电子技术与单片机第9章_第4页
汽车电子技术与单片机第9章_第5页
已阅读5页,还剩39页未读 继续免费阅读

下载本文档

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

文档简介

第九章CAN控制器与80C51系列单片机的接口技术第一节CAN总线系统智能节点设计第二节CAN网桥设计第一节CAN总线系统智能节点设计一、CAN总线系统智能节点硬件设计图9-1为CAN总线系统智能节点硬件电路原理图。从图中可以看出,电路主要由部分所构成:单片机P89C51、独立CAN通信控制器SJA1000、CAN总线驱动器TJA1050和高速光电耦合器6N137.单片机P89C51负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务。下一页返回第一节CAN总线系统智能节点设计SJA1000的AD0~AD7连接到P89C51的P0口,

连接到基地址为0xFA00的外部存储器片选信号,当访问地址0xFA00~0xFA31时,CPU可对SJA1000执行相应的读写操作。SJA1000的、、ALE分别与P89C51的对应引脚相连,就接P89C51的使P89C51可通过中断方式访问SJA1000.SJA1000的复位信号为低电平有效,这一点必须注意。为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与TJA1050的TXD和RXD相连,而是通过高速光耦6N137后于TJA1050相连,这样就很好的实现了总线上个CAN节点间的电气隔离。上一页下一页返回第一节CAN总线系统智能节点设计TJA1050与CAN总线的接口部分也采用了一定的安全和抗干扰措施。TJA1050的CANH和CANL引脚各自通过一个5Ω的电阻与CAN总线相连,电阻可起到一定的限流作用,保护TJA1050免受过流的冲击。CANH和CANL与地之间并联了两个30PF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射的能力。另外,在两根CAN总线输入端与地之间分别接了一个防雷击管,两输入间也分别接了一个防雷击管,当两输入端与地之间出现瞬变干扰时,通过防雷击管的放电可起到一定的保护作用。上一页下一页返回第一节CAN总线系统智能节点设计二、CAN总线系统智能节点软件设计CAN总线智能节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收。1.初始化过程SJA1000的初始化只有在复位模式下才可以进行,初始化主要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器(AMR)和接收代码寄存器(ACR)的设置、波特率参数设置和中断允许寄存器(IER)的设置等。在完成SJA1000的初始化设置以后,SJA1000就可以回到工作状态,进行正常的通信任务。下面提供了SJA1000初始化的51汇编源程序。上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计2.发送过程发送子程序负责节点报文的发送。发送时用户只需将待发送的数据按特定格式组合帧报文,送入SJA1000发送缓冲区中,然后启动SJA1000发送即可。当然在往SJA1000发送缓冲区送报文之前,必须先作一些判断。发送程序分发送远程帧和数据帧两种,远程帧无数据场。(1)发送数据帧子程序。上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计(2)发送远程帧上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计3.接收过程接收子程序负责节点报文的接收以及其他情况处理。接收子程序比发送子程序要负责一些,因为在处理接收报文的过程中,同时要对诸如总线关闭、错误报警、接收溢出等情况进行处理。SJA1000报文的接收主要有两种方式:中断接收方式和查询接收方式。两种接收方式的编程思路基本相同,如果对通信的实时性要求不是很强,建议采用查询接收方式。下面仅以查询方式接收报文为例对子程序作一个说明。上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页下一页返回第一节CAN总线系统智能节点设计上一页返回第二节CAN网桥设计CAN网桥是CAN网络系统的关键设备之一,在稍大型的CAN总线系统中经常会用到网桥。网桥也可以认为是不同速率的CAN子网之间的网关,只要对网桥的初始化参数进行适当配置,就能使它既具有报文转发功能,又具有报文过滤功能。使网桥可以提高网络设计的灵活性,极大地扩展其使用范围。一、CAN网桥硬件电路设计方案CAN网桥主要由89C52和两路CAN控制器接口组成,89C52作为CAN网桥的单片机,负责整个网桥的监控任务和数据转发。下一页返回第二节CAN网桥设计两路CAN控制器接口电路基本相同,都是由CAN通信控制器SJA1000,光电耦合电路和CAN总线驱动器TJA1050组成。两路CAN接口的CAN总线驱动器都采用带隔离的开关电源模块单独供电。这样就不仅实现了两路CAN接口之间的电气隔离,也实现了网桥与CAN总线的隔离。采取隔离措施,可使故障局限在某一网段内,而不至于影响其他同段,既便于维护又保证了系统设备的安全。图9-2为CAN网桥硬件结构框图。上一页下一页返回第二节CAN网桥设计二、CAN网桥软件设计CAN网桥的主要任务是在两个CAN网段之间实现数据的转发,由于通信对时间的要求及CAN网桥CPU中内部RAM容量有限,所以进行软件设计时要求做到存储转发的时间尽量短。为了达到以上要求,CPU采用中断方式接受两个CAN控制器的数据。为了节省内存和实行有效管理,CPU采用了FIFO机制来管理内部RAM。为了实现网桥的数据转发功能,软件主要包括以下一些子程序:初始化子程序、主监控子程序、接收中断子程序和发送子程序等。初始化子程序编写方法与上一节中的初始化子程序基本相同,只是在对两个CAN控制器进行初始化应采用不同的初始化参数,该子程序在这里不再进行介绍。下面主要介绍其他三个子程序的设计。上一页下一页返回第二节CAN网桥设计首先为了程序说明的需要,现将程序中用到的一些变量或符号定义如下:上一页下一页返回第二节CAN网桥设计上一页下一页返回第二节CAN网桥设计上一页下一页返回第二节CAN网桥设计1.主监控程序设计主监控程序负责对两路CAN控制器的FIFO进行监视,如某一路FIFO非空则向另一路转发。两路FIFO的容量大小是不相等的,在下面的程序中对应CAN控制器1的FIFO大小为72个字节单元(30H~77H),而对应CAN控制器2的FIFO大小为112个字节单元(78H~E7H)。采用这种不对称配置的好处在于,可以将容量更大的FIFO分配给通信任务更繁忙的一方,从而尽量避免FIFO的溢出。FIFO共有两个指针:接收数据指针和发送数据指针。当两指针不相等时即证明FIFO中存有有效数据。FIFO接收数据指针的调整是通过接收中断子程序实现的,而发送数据指针的调整则通过发送子程序实现。主监控程序流程图如图9-3所示。上一页下一页返回第二节CAN网桥设计具体程序如下:上一页下一页返回第二节CAN网桥设计上一页下一页返回第二节CAN网桥设计上一页下一页返回第二节CAN网桥设计2.接收中断子程序设计接收中断子程序负责CAN总线数据的接收,网桥软件中共有两个接收中断子程序,分别对应两路CAN总线控制器。当任一路CAN总线控制器从总线上接收到数据时,就会向CPU提出中断申请,CPU响应中断执行中断处理程序完成数据接收。在中断程序中除了将CAN控制器中的接收数据存入CPU内部相应的FIFO中以外,还要进行相应的FIFO参数的调整,包括FIFO接收数据指针和FIFO中存储数据的有效字节长度。当FIFO中空闲字节间不够存储最近接收数据帧时,接收数据帧将被丢弃,直到有多余的空间释放出来为止。图9-4是网桥第一路接收中断子程序流程图,第二路接收中断子程序除了有关FIFO参数以外与第一路基本相同。上一页下一页返回第二节CAN网桥设计3.发送子程序设计发送子程序负责FIFO中数据的发送,网桥软件中共有两个发送子程序,分别对应两路CAN总线控制器。发送子程序的调用是在主监控程序中进行的,当主监控程序发现某一路CAN控制器对应的FIFO非空时,就会调用发现子程序向另一路发送数据。在发送子程序中除了将FIFO中数据向另一方发送以外,同样也要进行相应的FIFO参数的调整,包括FIFO发送数据指针和FIFO中存储数据的有效字节长度。上一页下一页返回第二节CAN网桥设计当目前不符合发送条件时前面发现子程序中采用的是循环等待的办法,直到条件满足为止,而网桥的发送子程序检测到目前发送条件不符合时则直接返回。在中断器中采用直接返回的办法,可以让CPU利用这段时间处理其他事务,提高CPU的执行效率,而作为单个的节点则没有这种必要。下面提供了网桥的第一路

温馨提示

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

评论

0/150

提交评论