欢迎来到天天文库
浏览记录
ID:5941543
大小:31.00 KB
页数:9页
时间:2017-12-29
《基于sja1000与dsp双滤波冗余can总线探究》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、基于SJA1000与DSP双滤波冗余CAN总线探究 摘要:为了提高控制系统的通信可靠性,介绍了基于DSP和SJA1000的双滤波冗余CAN总线的设计与实现。该系统中,CAN总线的工作模式为PeliCAN下的双滤波,使从节点既能够与主节点进行点对点通信,又能够接收主节点的广播数据。给出了系统硬件电路设计和SJA1000的初始化与接收,以及发送数据和切换总线的软件流程。关键词关键词:DSP;CAN;双滤波;双冗余中图分类号:TP319文献标识码:A文章编号文章编号:16727800(2013)0110121030引
2、言现场总线技术因具有较强的开放性、可操作性、通信实时性以及对环境的适应性等特点而被广泛应用于工业控制领域\[1\]。控制器局域网(ControllerAreaNetwork,CAN)9属于工业现场总线范畴,是一种多主方式的串行通讯总线。CAN总线具有较高的位速率、很强的抗电磁干扰性、完善的错误检测机制,在汽车、制造业以及航空工业领域中得到了广泛应用\[2\]。CAN总线存在两个固有缺点:截止期丢失和不确定性信息传输延时\[3\]。为了提高应用CAN总线控制系统的可靠性,本文提出了一种基于DSP处理器TMS320V
3、C33,使用双滤波冗余CAN总线的通信方式。使用两套总线电缆、两个总线驱动器和两个总线控制器,实现物理介质、物理层、数据链路层等关键网络协议部分的冗余配置,在工作总线发生故障时自动切换,启用冗余总线传输数据\[4\]。1总体设计本系统中,存在一个主节点和多个从节点,节点与节点之间使用CAN总线进行数据传输。主节点与从节点之间既存在点对点通信,又存在广播通信。采用双滤波冗余CAN总线通信方案,在一套总线瘫痪的情况下,切换到另一套总线,从而保证各个节点之间两种通信形式的高可靠性。每个节点通过独立的总线接口电路连接到主
4、总线和备份总线上。其总线连接方式如图1所示。两套总线都采用热备份的方式,系统上电以后,对两套总线控制器都进行复位初始化,正常情况下,一条总线作为主总线(图1中总线A)用于数据传输,另一条总线作为主总线的备份总线(图1中总线B)等待唤醒。系统默认使用总线A进行通信,当总线A发生异常时,将总线B投入使用,按照同样的方式,也可以实现总线B到总线A的切换。主节点和从节点可以使用A、B两套总线进行点对点通信。同时,主节点也可以通过广播的方式,使用两套总线向各个从节点发送数据。92硬件设计系统中每一个与CAN总线相关的通信节
5、点的硬件电路如图2所示。系统中使用的处理器TMS320VC33,TMS320VC33为32位浮点运算器,具有每秒1.5亿次的浮点运算能力,其特点是运算精度高、具有较多并行处理指令,主要完成自适应均衡、自适应滤波等功能。总线驱动器74FCT164245完成总线驱动和电平转换,即处理器工作电平3.3V到CAN总线控制器工作电平5V的转换。SJA1000为CAN总线控制器,PCA82C250为CAN总线驱动器,控制CAN总线的接收和发送数据。系统中还存在一个FPGA完成与CAN总线控制器和DSP的交互。两套CAN总线共
6、享DSP的同一个外中断引脚。图2硬件电路在CAN总线设计细节上,尽管SJA1000本身具备一定的保护能力,但其与总线接口部分还是采用了一定的抗干扰措施:SJA1000的CANH和CANL与地之间并联两只10pF的小电容,可以滤除总线上的高频干扰\[5\];为了增强CAN总线各个节点的抗干扰能力,总线输入端与地之间分别接入一只瞬态抑制二极管,当两输入与地之间出现瞬变干扰时,收发器输入端电压被设定在安全范围内。由于CAN总线数据传输率较高,为了提高信号质量,终端连接120Ω左右的匹配电阻。3软件设计93.1软件设计概
7、述在系统初始化时,对两套总线都进行初始化,将两套总线都配置在PeliCAN的双滤波工作模式下。系统采用中断处理的方式,通过判断CAN总线的状态寄存器(SR)的接收缓冲区是否为满,进行CAN总线数据的读取,将读取的数据根据传输帧格式中所定义的帧标识,分别放入广播数据缓存、主总线数据缓存、备份总线数据缓存。从节点的发送采用应答的方式,只有在从节点接收到主节点发送的数据或者指令以后才会应答,从节点不会主动向主节点发送数据或者指令。在总线帧格式的定义中实现主节点数据、从节点数据和广播数据的区分。因此,本文在软件设计中首先
8、介绍了CAN总线的传输帧格式,然后介绍了总线的初始化、接收数据处理、发送数据处理及总线切换方式。3.2传输帧协议说明9为了易于构建稳定、高速、实时性高和低成本的控制网络,现场总线采用的通信模型大都对ISO模型进行了不同程度的简化\[6\]。CAN总线只采用了物理层和数据链路层。在实际应用中还需添加应用层或用户层的其它约定。CAN总线的传输帧有4种类型:数据帧、远程帧、错误
此文档下载收益归作者所有