当前位置: 首页 > 范文大全 > 优秀范文 >

基于SJA1000的高可靠CAN总线通讯智能单元设计

发布时间:2022-03-23 09:20:25 | 浏览次数:

【摘要】CAN(Controller Area Network)总线是一种现场总线,由于其具有可靠性高、抗干扰能力强和实时性强的特点,而被广泛应用于工业控制领域。本文介绍了一种基于SJA1000的高可靠CAN总线智能单元的设计方案。该总线智能单元可以独立或者配合AT96总线和主控制器协同工作,易于系统扩展、优化和改进,利用微处理器完成数据发送/接受和错误诊断处理,降低主控制器的信息处理负担。测试表明,该高可靠CAN总线智能单元的设计是可行的。

【关键词】高可靠;CAN总线; 智能单元

ABSTRACT:CAN bus is a field bus which is widely used in industrial control field because of its advantages in high reliability,strong anti-jamming and high real-time characteristic. This paper introduces a design of high-reliability intelligent CAN communication unit base on SJA1000. The intelligent CAN unit may work independently or with the supervisor computer by AT96 bus. It is easy for system’s expansion,optimization and amelioration. The unit completes the data transferring/receiving and the error diagnosing by the microprocessor,thus decreases the load factor of the supervisor computer. Experimental results show that the design of intelligent and high-reliability CAN communication unit is effective.

KEY WORDS:high-reliability;CAN bus;intelligent unit

0.引言

随着核动力装置仪控系统数字化水平的不断提高,仪控系统设备内部、设备之间以及设备与现场仪表之间信息交换都将采用网络通讯技术,因此网络的安全性、可靠性都对核动力仪控系统正常完成其设计功能具有非常重要的意义。CAN(Controller Area Network)总线,是一种可以有效支持分布式实时控制的串行通讯网络,由于其具有可靠性高、抗干扰能力强和实时性强的特点而在工业控制、汽车电子控制、船舶运输和航空航天领域得到了广泛的应用[1]。因此,CAN总线是适合反应堆仪控系统应用的一种总线协议,需要研制一种应用于核动力装置仪控系统中的高可靠CAN总线智能单元。

1.CAN总线简介

1.1 CAN总线特点

具有统一国际标准ISO11898定义的CAN(Co-ntroller Area Network)总线是全数字式现场控制设备互连总线,能有效支持分布式控制和实时控制的串行通讯网络。与其它总线网络不同,在CAN总线通讯协议中废除了传统的站地址编码,而是支持基于数据的工作方式,因此CAN总线通讯面向的是数据而不是节点,加入或者撤销节点都不会影响通讯网络的正常工作[2]。其主要特点如下:

1)多主工作方式:网络上的任意节点均可在任意时刻主动向其它节点发送信息,而不分主从,通讯方式灵活;

2)实时性:采用短帧结构,传输时间短,受干扰概率低;网络上的节点信息可被分成不同的优先级,满足不同的实时要求,高优先级的数据最快可在134us内完成传输;

3)可靠性:采用非破坏性总线仲裁技术,多个节点同时向总线发送数据时,优先级较低的节点会主动退出发送,高优先级节点可不受影响的继续传输数据,大大节省了总线冲突仲裁时间。

1.2 CAN分层结构

CAN按照ISO/OSI标准模型划分为两层:数据链路层(包括逻辑链路控制子层LCC和媒体访问控制子层MAC)和物理层。CAN的分层结构如图1所示[2]。

逻辑链路控制子层(LCC)的功能是为数据传输和远程数据请求提供服务,确认由LCC子层接受的报文实际已被接受,并为恢复管理和通知超载提供信息。

媒体访问控制子层(MAC)是CAN协议的核心,其功能是传送规则,即控制帧结构、执行仲裁、错误检测、出错标定和故障界定。MAC子层也要确定当开始一次新的传送时,总线是否开放或者是否马上开始接受。

物理层的作用是在不同节点之间根据所有的电气属性进行位的实际传输,同一网络的物理层对于所有的节点当然是相同的。尽管如此,在选择物理层方面还是很自由的。

2.CAN协议控制器SJA1000

SJA1000是一种独立CAN控制器,用于汽车和一般工业环境中的局域网络控制,具有BasicCAN和PeliCAN两种工作模式,其中PeliCAN支持CAN2.0B协议[3]。SJA1000用来完成CAN协议所规定的数据链路层和物理层的所有功能,是一种I/O基于内存编址的微控制器,微处理器通过访问外部存储器的方式来访问SJA1000内部控制寄存器和数据缓冲区。本设计采用PeliCAN模式,支持对每个CAN总线错误和具体控制位控制的仲裁丢失中断,支持只听模式和热插拔,可扩展验收滤波器,并且具有自收发功能。SJA1000内部接受FIFO可以存储高达21个报文,延长了最大中断服务时间,避免数据超载。

3.CAN总线智能单元设计

3.1 设计要求

3.3.2 双口RAM和AT96总线

微处理器通过双口RAM及AT96总线与主控制器进行数据交换,双口RAM作为微处理器和主控制器的共用扩展存储空间,其左、右端口通过数据/地址总线分别与微处理器和主控制器相连,微处理器和主控制器通过CPLD进行地址译码产生双口RAM左、右端口控制信号,从而实现双口RAM的读写操作。

由于微处理器与主控制器对双口RAM的读写速度无法完全匹配,因此存在以下两种情况:1)微处理器将CAN总线节点接收到的数据包写入RAM固定地址之后,该数据包还未被主控制器读取就被微处理器新接收到的数据包覆盖;2)主控制器将需要发送的数据包写入RAM固定地址之后,微处理器还未将该数据包读出就被主控制器用新数据包覆盖。

为避免上述数据包丢失的情况发生,CAN总线通讯单元AT96总线数据交换采用环形缓冲区的方式。双口RAM具有4k的地址空间,微处理器和主控制器通过双口RAM进行两个CAN总线节点数据包的交换以及控制信息的交换,因此将双口RAM的4k地址空间划分为四个部分,每个部分1k空间,即:CAN节点1数据发送区、CAN节点1数据接收区、CAN节点2数据发送区以及CAN节点2数据接收区。每个区域的前128地址空间作为控制信息交互区,主要作为CAN总线节点配置信息以及数据环形缓冲区控制信息的交互;每部分的其余空间作为数据环形缓冲区,可以最多存放81个标准格式的数据帧。

3.3.3 SJA1000和CAN节点

微处理器通过CAN协议控制器SJA1000进行CAN总线节点数据的接收和发送。SJA1000的复用地址/数据总线通过CPLD进行地址锁存之后与微处理器的非复用地址/数据总线相连,将其作为微处理器外部存储器映射的I/O器件。CPLD通过微处理器地址信号A12~A15进行判断产生SJA1000的片选信号,只有在对SJA1000内部寄存器进行操作时才激活相应的器件。当CAN总线节点接收/发送数据或者产生错误时,将产生中断信号,微处理器以最高优先级响应该中断并进行相应的中断判断和处理。

4.2 环境试验

环境试验是为了考核CAN总线智能单元在典型工作环境下是否能够正常工作。试验在环境试验箱内进行,分别进行了高温试验、低温试验和交变湿热试验。

在高温试验和低温试验中,分别以规定速率的温度变化将环境温度调整至设定温度(高温为60℃,低温为0℃),保温8小时后进行功能检测;在交变湿热试验中,进行以升温恒温、高温高湿、降温恒湿、常温高湿等四个阶段为一个周期共24小时的试验,并在每个阶段结束前进行功能测试,共循环两个周期,周期结束后待温湿度以规定速率恢复到室温条件并稳定后进行功能测试。

通过环境试验表明CAN总线智能单元高温、低温和交变湿热试验合格,满足使用环境的要求。

4.3 电磁兼容性试验

为验证CAN总线智能单元的电磁兼容性,将CAN总线智能单元应用于系统样机中进行了电磁兼容性试验,试验结果表明,CAN总线智能单元的设计满足电磁兼容性要求。

5.技术特点

综上所述,基于SJA1000的高可靠CAN总线智能单元具有以下技术特点:

1)智能单元在与主控制器协同工作时,微处理器承担了CAN总线数据发送、接收以及错误处理等工作,减轻了主控制器的任务负担,减小了主控制器软件的复杂程度,同时,微处理器和主控制器通过双口RAM进行数据交换以及微处理器访问SJA1000控制器,均采用外部存储器直接访问的方式,占用CPU时间少,有利于设备或系统的整体实时性和可靠性;

2)通过硬件电路设计如数字器件空置端口的处理、集成器件供电端去耦、以及数字地与模拟地的处理,提高CAN总线智能单元的电磁电容性能以及硬件抗干扰能力;

3)通过软件的处理例如软件看门狗、错误中断处理程序等,提高智能单元的软件抗干扰能力,降低节点自动关闭退出网络的风险;

4)智能单元内部两个微处理器之间设计有握手信号,因此智能单元内部四个CAN总线节点之间可以互为备用,也可作为冗余通道独立工作,工作方式比较灵活,同时也大大提高了系统总线通讯网络的安全性;

5)微处理器和主控制器之间的数据交换采用环形缓冲区的方式进行,大大降低了总线数据丢失的可能,同时在CAN总线数据ID设计中隐含校验设计,主控制器通过该编码保证数据包的完整正确接收。

6)通过软硬件设计实现了CAN总线智能单元的自诊断功能,能够及时诊断单元的硬件错误并进行相应处理,提高系统整体的可靠性。

6.结束语

本文设计的基于SJA1000的高可靠CAN总线智能单元易于扩展和改进,能够根据软件的设计完成不同的系统功能要求,各个CAN总线节点之间可以互为备用,也可作为冗余节点独立工作,该单元通过微处理器完成数据发送/接受、总线错误处理,降低了主控制器的信息处理负担以及CAN节点错误关闭的风险,并采用环形缓冲区的方式进行总线数据交换,有利于提高数据的实时性和可靠性。该高可靠CAN总线智能单元适用于对安全性、可靠性要求高的系统,本设计也为仪控系统平台的总线结构设计奠定了坚实的基础,为未来其它仪控系统网络设计提供了技术参考。

参考文献

[1]饶运涛,邹继军,郑勇芸. 现场总线CAN原理与应用技术[M]. 北京:北京航空航天大学出版社,2003

[2]杜尚丰,曹晓钟,徐津.CAN总线测控技术及其应用[M]. 北京:电子工业出版社,2006

[3]广州周立功有限公司. SJA1000独立CAN控制器[OL]. 2009.08

[4]潘琢金译. C8051F040/1/2/3/4/5/6/7混合信号ISP FLASH微控制器数据手册[OL]. 2004.12

[5]广州周立功有限公司. SJA1000应用指南[OL]. 2009.08

作者简介:

赵阳(1982—),男,2007年毕业于上海交通大学精密仪器及机械专业,硕士,工程师,主要从事反应堆热工测量、高可靠性网络等科研与工程工作

吕鑫(1980—),男,2005年毕业于中国科学技术大学检测技术与自动化装置专业,硕士,高级工程师,主要从事反应堆热工测量及相关设备研制等科研与工程工作。

朱毖微(1984—),男,2010年毕业于西北工业大学导航制导与控制专业,硕士,工程师,主要从事反应堆热工测量及相关设备研制等科研与工程工作。

吴志强(1974—),男,1997年毕业于西南交通大学自动控制专业,学士,研究员级高级工程师,主要从事安全级仪控系统总体研究设计工作。

推荐访问: 总线 单元 通讯 智能 设计
本文标题:基于SJA1000的高可靠CAN总线通讯智能单元设计
链接地址:http://www.yzmjgc.com/youxiufanwen/2022/0323/35644.html

版权声明:
1.赢正文档网的资料来自互联网以及用户的投稿,用于非商业性学习目的免费阅览。
2.《基于SJA1000的高可靠CAN总线通讯智能单元设计》一文的著作权归原作者所有,仅供学习参考,转载或引用时请保留版权信息。
3.如果本网所转载内容不慎侵犯了您的权益,请联系我们,我们将会及时删除。

版权所有:赢正文档网 2010-2024 未经授权禁止复制或建立镜像[赢正文档网]所有资源完全免费共享

Powered by 赢正文档网 © All Rights Reserved.。粤ICP备19088565号