基于SJA1000和DSP的双滤波冗余CAN总线研究

摘要:为了提高控制系统的通信可靠性,介绍了基于DSP和SJA1000的双滤波冗余 CAN总线的设计与实现。该系统中,CAN总线的工作模式为PeliCAN下的双滤波,使从节点既能够与主节点进行点对点通信,又能够接收主节点的广播数据。给出了系统硬件电路设计和SJA1000的初始化与接收,以及发送数据和切换总线的软件流程。

关键词关键词:DSP;CAN;双滤波;双冗余

中***分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)011012103

0引言

现场总线技术因具有较强的开放性、可操作性、通信实时性以及对环境的适应性等特点而被广泛应用于工业控制领域\[1\]。控制器局域网(Controller Area Network,CAN) 属于工业现场总线范畴,是一种多主方式的串行通讯总线。CAN总线具有较高的位速率、很强的抗电磁干扰性、完善的错误检测机制,在汽车、制造业以及航空工业领域中得到了广泛应用\[2\]。CAN总线存在两个固有缺点:截止期丢失和不确定性信息传输延时\[3\]。为了提高应用CAN总线控制系统的可靠性,本文提出了一种基于DSP处理器TMS320VC33,使用双滤波冗余CAN总线的通信方式。使用两套总线电缆、两个总线驱动器和两个总线控制器,实现物理介质、物理层、数据链路层等关键网络协议部分的冗余配置,在工作总线发生故障时自动切换,启用冗余总线传输数据\[4\]。

1总体设计

本系统中,存在一个主节点和多个从节点,节点与节点之间使用CAN总线进行数据传输。主节点与从节点之间既存在点对点通信,又存在广播通信。采用双滤波冗余CAN总线通信方案,在一套总线瘫痪的情况下,切换到另一套总线,从而保证各个节点之间两种通信形式的高可靠性。每个节点通过***的总线接口电路连接到主总线和备份总线上。其总线连接方式如***1所示。

两套总线都采用热备份的方式,系统上电以后,对两套总线控制器都进行复位初始化,正常情况下,一条总线作为主总线(***1中总线A)用于数据传输,另一条总线作为主总线的备份总线(***1中总线B)等待唤醒。系统默认使用总线A进行通信,当总线A发生异常时,将总线B投入使用,按照同样的方式,也可以实现总线B到总线A的切换。主节点和从节点可以使用A、B两套总线进行点对点通信。同时,主节点也可以通过广播的方式,使用两套总线向各个从节点发送数据。

2硬件设计

系统中每一个与CAN总线相关的通信节点的硬件电路如***2所示。系统中使用的处理器TMS320VC33,TMS320VC33为32位浮点运算器,具有每秒1.5亿次的浮点运算能力,其特点是运算精度高、具有较多并行处理指令,主要完成自适应均衡、自适应滤波等功能。总线驱动器74FCT164245完成总线驱动和电平转换,即处理器工作电平3.3V到CAN总线控制器工作电平5V的转换。SJA1000为CAN总线控制器,PCA82C250为CAN总线驱动器,控制CAN总线的接收和发送数据。系统中还存在一个FPGA完成与CAN总线控制器和DSP的交互。两套CAN总线共享DSP的同一个外中断引脚。

***2硬件电路

在CAN总线设计细节上,尽管SJA1000本身具备一定的保护能力,但其与总线接口部分还是采用了一定的抗干扰措施:SJA1000的CANH和CANL与地之间并联两只10pF的小电容,可以滤除总线上的高频干扰\[5\];为了增强CAN总线各个节点的抗干扰能力,总线输入端与地之间分别接入一只瞬态抑制二极管,当两输入与地之间出现瞬变干扰时,收发器输入端电压被设定在安全范围内。由于CAN总线数据传输率较高,为了提高信号质量,终端连接120Ω左右的匹配电阻。

3软件设计

3.1软件设计概述

在系统初始化时,对两套总线都进行初始化,将两套总线都配置在PeliCAN的双滤波工作模式下。系统采用中断处理的方式,通过判断CAN总线的状态寄存器(SR)的接收缓冲区是否为满,进行CAN总线数据的读取,将读取的数据根据传输帧格式中所定义的帧标识,分别放入广播数据缓存、主总线数据缓存、备份总线数据缓存。从节点的发送采用应答的方式,只有在从节点接收到主节点发送的数据或者指令以后才会应答,从节点不会主动向主节点发送数据或者指令。在总线帧格式的定义中实现主节点数据、从节点数据和广播数据的区分。因此,本文在软件设计中首先介绍了CAN总线的传输帧格式,然后介绍了总线的初始化、接收数据处理、发送数据处理及总线切换方式。

3.2传输帧协议说明

为了易于构建稳定、高速、实时性高和低成本的控制网络,现场总线采用的通信模型大都对ISO模型进行了不同程度的简化\[6\]。CAN总线只采用了物理层和数据链路层。在实际应用中还需添加应用层或用户层的其它约定。CAN总线的传输帧有4种类型:数据帧、远程帧、错误帧和过载帧。如***3所示,数据帧由帧头、仲裁域、控制域、数据域、CRC域、应答域和帧尾组成,帧头标志数据帧的开始,仲裁域包括11位识别码和远程发送请求位,控制域中的数据长度标识表明了数据场中字节数量,数据场由数据帧中的发送数据组成,长度为0~8个字节,CRC域包括CRC序列和CRC界定符,应答场的长度为2个位,包含应答间隙和应答界定符,帧结尾被用来标识帧的结束,使用的传输帧为CAN总线标准帧格式。在总线数据的发送和接收之前,通过对CAN总线的帧信息、识别码1和识别码23个寄存器的设置和判断,来实现帧格式仲裁域所具备的功能。

在总线传输帧格式的定义中,仲裁域包含标识符ID10~ID0和远程传输请求位RTR。如表1所示,ID3表示传输帧的类型,该位为0表示广播通信,为1表示点对点通信;ID2表示传输总线标识,该位为0表示主总线,为1表示备份总线;ID10为0表示主处理占用总线,为1表示从处理占用总线;ID4~ID9表示源节点或目的节点地址;ID0~ID1表示单帧和复帧的首帧、相邻帧和尾帧等信息。按照数据帧格式的定义,系统通过仲裁域完成数据传输路由、设置数据通信方式、选择通信总线、确定数据长度等功能。在实际应用中,为了保证传输帧的可靠性,可以在数据帧中加入校验信息。

3.3软件实现说明

(1)总线初始化。在对两套总线初始化时,系统需要进行的工作有:通过时钟分频寄存器CDR设置CAN总线处于PeliCAN的工作模式;在对总线初始化前,应设置输出控制寄存器(OCR)的复位请求位为高,再设置其它寄存器;通过设置多个接收码寄存器(ACR)来设定节点地址和传输方式,通过接收屏蔽寄存器(AMR)设定工作形式,使CAN总线工作在双滤波模式下,将两个过滤器配置为一个用于过滤点对点通信,另一个用于过滤广播通信;通过定时寄存器(BTR0、BTR1)设定总线的工作频率、采样频率;最后,将输出控制寄存器设置为正常输出方式,复位请求位从高变成低,使CAN控制器进入正常工作状态。

(2)接收数据处理。CAN总线的接收处理,采用的是中断处理函数。当中断到来时,首先根据CAN总线地址中的值来判断是主总线还是备份总线产生的中断,将总线标识设置成相应的值。从总线上读取广播标识、帧类型、数据长度,将总线上的数据存入总线接收缓存。根据帧类型和数据长度判断是否为CAN总线复位帧,数据长度为0,则是复位帧,如果是复位帧,将复位标识设为1。将整个数据帧接收完成以后,对传输数据进行校验,校验成功后,根据广播标识和总线标识,将数据放入不同的缓冲区,以供数据处理。

(3)发送数据处理。在本系统中,从节点发送数据采用应答式,只有收到主节点的数据或者指令后,才发送应答,不会主动发送应答。在正常工作模式下,主节点使用主总线发送数据和指令,从节点通过主总线进行应答。当从节点接收到总线复位命令以后,复位当前总线,使用备份总线发送应答数据。在进行总线发送时,根据总线标识,选择发送CAN地址。在CAN总线的状态寄存器(SR)的发送缓冲器为“释放”时,发送数据。在发送数据前,需要进行拼帧,即加入帧字节长度、节点信息,以及总线标识和帧类型等信息。信息发送结束后,将CAN总线的命令寄存器(CMR)的发送请求位设置为1,表明信息被发送。

(4)总线切换处理。在主函数中,以查询方式检测总线复位标识,如果总线复位标识为1,说明当前总线接收到总线复位命令,需要进行复位操作。在复位操作处理中,首先需要对复位标识清0;然后,填充应答数据,复位当前总线,重新初始化当前总线的接收缓存;接下来通过切换总线标识的方式进行两套总线间的切换;最后,重新复位冗余总线,初始化冗余总线的缓存,使用冗余总线发送应答数据。具体流程见***4。

***4总线切换操作流程

3.4软件测试说明

在125kb/s、666kb/s、1000kb/s 三种波特率下,使用主节点向系统中的各个从节点发送点对点通信数据和广播数据,发送数据与从节点接收数据一致,接收帧数目、接收帧的首尾标识和协议定义一致,这表明CAN总线能够工作在双滤波的模式下。在同样的频率设置下,主节点向从节点发送总线复位指令,从节点接收到复位指令以后,清除总线缓存数据,切换总线,使用冗余总线发送应答数据,测试显示总线复位功能正常。

4结语

使用DSP和双滤波冗余CAN总线的实时控制系统工作稳定,响应速度快,通信可靠,已经成功应用于大型、多节点、可靠性要求较高的控制系统中。

参考文献参考文献:

\[1\]阳宪惠.现场总线技术及其应用\[M\].北京:清华大学出版社,2008.

\[2\]周立功.iCAN现场总线原理与应用\[M\].北京:北京航空航天大学出版社,2007.

\[3\]LEEN G,HEFFERNAN D.Timertriggered controller area network\[J\].Control Engineering Journal,2001,12(6):245256.

\[4\]黄自莹.基于冗余CAN总线的船用阀门嵌入式控制系统\[J\].仪表技术,2011(10).

\[5\]王金龙.短波数字化抗干扰单元的设计与实现\[C\].***事通信干扰会议,2001.

\[6\]饶运涛,邹继***,王进宏,等.现场总线CAN原理与应用\[M\].北京:北京航空航天大学出版社,2007.

\[7\]JEAN PIERRE THOMESSE.Field technology in industrial au—tomation\[C\].San Francisco:Proceedings of the IEEE,2005.

转载请注明出处学文网 » 基于SJA1000和DSP的双滤波冗余CAN总线研究

学习

我有一台时光机

阅读(23)

本文为您介绍我有一台时光机,内容包括我有一台时光穿梭机作文,我有一台时光放映机的英文怎么读。哇,参加本期PK的同学们都拥有一台时光机,真是让人羡慕呀!快来一起看看,他们乘坐时光机都去了哪里,看到了什么吧!一号攻擂手:南宁市五里亭第一小学

学习

刘益成与阮殿蓉茶界思行者

阅读(20)

在云南茶界,不认识刘益成和阮殿蓉的,我想鲜有其人。因为他们俩都是云南茶界享有盛名的人物。刘益成,号茗悟,祖籍广东汕头,从小爱茶,潜心钻研中华茶文化近二十年;职业茶艺创始人及云南“过桥普洱”茶艺创始人、国际金奖茶艺作品《化蝶》《中国普

学习

再读教育家陶行知先生

阅读(16)

作为一名伟大的人民教育家、教育思想家,陶行知先生以睿智的目光、博大的胸怀,倡导并实践了爱的教育。他爱教育,爱学校,爱学生,称学生和学校为爱人,令人耳目一新,也给了我很大的启示。陶行知一生提倡“爱满天下”,他热衷于创造真诚、博爱、和谐的

学习

经济学分支介绍——农业经济学

阅读(35)

本文为您介绍经济学分支介绍——农业经济学,内容包括农业经济学课程,农业经济学数据哪里找。农业经济学是研究农业生产,及与其相联系的交换、分配和消费等经济活动和经济关系的学科。其内容包括农业中生产关系发展变化,生产力诸要素的合

学习

金树:把自己活成一件艺术品

阅读(14)

金树的家里,像是一个古典艺术与现代艺术的融合场。两居室的房子虽然不大,但不算小的客厅却别有洞天。他的藏品很多,但摆放的位置都经过精心的搭配和设计,并不显得杂乱。整体的观感品位不俗。他喜欢买,也喜欢摆,摆不下了再藏。他很随性,虽然做的

学习

景东傣族历史探讨

阅读(77)

[摘要]景东傣族是一个勤劳智慧的民族,明清时期以前,在众多少时民族中从弱小变为强大,创造了丰富的物质财富和精神文化,成为当地人数较多占统治地位的民族。明清以后随着汉族人民到来和汉文化传播,他们在积极吸收利用汉文化的同时,失去了自己的

学习

春联的特点范文精选

阅读(30)

春联的特点篇1《春联》(苏教版四年级上册)是一篇介绍春联的通俗小品文。开篇介绍了春联给春节带来的喜庆气氛,接着以四副春联为例阐述了春联内容丰富的特点,然后以“绿柳舒眉辞旧岁,红桃开口贺新年”为例解读了春联讲究对仗的特点,最后强调了

学习

建筑工程施工中进度拖延的处理方法

阅读(23)

【摘要】项目实施过程中,由于主客观条件的不断变化,同时实际施工中存在一些不可预知的因素,所以施工中常会出现进度拖延的情况。本文对工程延期的申报条件、申报程序、费用索赔和工期延误的处理方法进行了分析。【关键词】工程施工;进度拖延

学习

ATP亚基能量转换结构和动力学

阅读(31)

活细胞能通过醣酵解和氧化还原反应从5-二磷酸腺苷(ADP)和无机磷合成5-三磷酸腺苷(ATP)。通过使用从水分解中得到的能量,细胞可以实现基本的生理功能,例如机械工作和生物合成材料等各种物质的运输。解释生物能量转换基本原理的研究过程大

学习

质量保证措施范文

阅读(47)

本文为您介绍质量保证措施范文,内容包括质量保证措施的范本,质量承诺及保证措施怎么写。质量保证措施范文第1篇【关键词】夏季;混凝土;质量保证;施工;措施一、夏季混凝土的拌合措施在夏季炎热高温条件下进行混凝土施工,搅拌后的混凝土温度会

学习

谈病毒之特洛伊木马

阅读(41)

互联网的发展给人类的生活带来便利,而与此同时也存在病毒的着潜在的威胁。本文从计算机病毒之特洛伊木马谈起,从其起源、定义、发展历史、和蠕虫的区别、分类等方面对特洛伊木马作初步探讨,以此来引出计算机病毒防护的重要性。关键词:网络病

学习

《史记》与《汉书》的纵向比较

阅读(25)

【摘要】《史记》是第一部纪传体通史,记载了上古到汉武帝时期历史;《汉书》是第一步断代体通史,记载了西汉汉高祖元年到王莽地黄四年结束。《汉书》所叙述的西汉两百三十年的历史中有一半和《史记》重叠,有关各篇甚至连文字也一仍其旧,很少删

学习

探索合成乙酸正丁酯的最佳条件

阅读(19)

本文为您介绍探索合成乙酸正丁酯的最佳条件,内容包括乙酸正丁酯的合成和处理,简述合成乙酸丁酯的反应原理。通过平行比较催化剂NaH2PO4、MnCl2、SnCl2、NaHSO4、C12H12FeN3O及NaH2PO4-MnCl2复合催化剂对合成乙酸正丁酯反应的催化效果,发

学习

黎族船形屋的前世今生

阅读(24)

在黎族民间,一直流传着《雅丹公主》的故事……雅丹公主因触犯家规受到惩治,被父王置于一条船上,顺水漂流到了一个孤岛。公主为了躲避风雨,防御野兽,上山砍来几根木桩,竖立在海滩上,然后把小船拉上岸,底朝天放到木桩上做屋顶,又割来茅草围住四周,白

学习

积分梳状(CIC)滤波器设计

阅读(21)

本文为您介绍积分梳状(CIC)滤波器设计,内容包括cic积分梳状滤波器原理,cic滤波器设计。积分梳状滤波器结合了递归型滤波器和非递归型滤波器的优点,结构简单,处理数据方式更为灵活。DDC通常作为输出数字速率变换的第一级处理单元。积分梳状

学习

基于HP滤波生产函数方法的我国潜在产出估计

阅读(50)

[收稿日期]2011-05-10[作者简介]谢冰(1968―),男,湖南浏阳人,湖南商学院工商管理系副教授,经济学博士.研究方向:创业投资管理,公司金融,区域经济发展.[摘要]以往有关估算我国潜在产出的研究,要么采用HP滤波方法进行潜在产出估计,要么采用生产函数方法对

学习

LC大功率滤波器

阅读(23)

本文为您介绍LC大功率滤波器,内容包括lc滤波器设计与制作,大功率lc滤波器。传统LC滤波器采用聚四氟乙烯印制板做为电容或另加载电容,因为聚四氟乙烯板材的导热性能不好,如果板材太薄功率耐压值又不够,所以一般可承受功率在几百瓦。为了进一

学习

自适应滤波算法研究及其Matlab实现

阅读(28)

本文为您介绍自适应滤波算法研究及其Matlab实现,内容包括嵌入式常用滤波算法的matlab实现,自适应滤波原理及matlab仿真应用。在对自适应滤波器相关理论研究的基础上,重点研究了LMS自适应滤波算法,给出了不同信噪比条件下,LMS算法的Matlab仿

学习

探究桥梁设计的冗余度

阅读(23)

本文为您介绍探究桥梁设计的冗余度,内容包括一般桥梁的冗余设计是多少,桥梁通行冗余度。[摘要]设计人员在对桥梁进行设计的过程中,为了保证桥梁整体结构的安全性和稳固性,对冗余度的运用越来越注重,他们通过将桥梁的断裂和破坏模式与冗余度

学习

浅谈桥梁设计的冗余度

阅读(40)

本文为您介绍浅谈桥梁设计的冗余度,内容包括一般桥梁的冗余设计是多少,桥梁通行冗余度。【摘要】为确保桥梁整体安全和结构稳定,在设计跟进中,需要特别注意冗余度,联系桥梁冗余度和破坏、断裂,保证桥梁具有抵御一般性的结构破坏能力。本文先

学习

有源滤波技术综述

阅读(25)

本文为您介绍有源滤波技术综述,内容包括有源滤波柜的工作原理,有源滤波容量计算方法。有源滤波器是近几年兴起的电力电子装置,它能够有效的抑制谐波,提高供电质量。该文首先阐明了有源滤波器的工作原理和连接方式,详细分析了有源滤波器常用

学习

谈现场总线技术

阅读(24)

本文为您介绍谈现场总线技术,内容包括现场总线技术基础知识,现场总线是什么意思。摘要:分析现场总线产生的原因;阐述现场总线的概念,体系结构与特点;给出现场总线的发展现状;提出为迎接现场总线这场自控领域内的技术变革应采取的对策。