Open Journal of Circuits and Systems
Vol.04 No.04(2015), Article ID:16485,6 pages
10.12677/OJCS.2015.44008

TTCAN Application Implementation in the ARM

Qianwen Liu1, Qiuyao Zheng1, Mengjie Jin2

1School of Electronic Information, Hangzhou Dianzi University, Hangzhou Zhejiang

2Qiushi Academy, Zhejiang University, Hangzhou Zhejiang

Received: Nov. 13th, 2015; accepted: Nov. 28th, 2015; published: Dec. 8th, 2015

Copyright © 2015 by authors and Hans Publishers Inc.

This work is licensed under the Creative Commons Attribution International License (CC BY).

http://creativecommons.org/licenses/by/4.0/

ABSTRACT

CAN bus is a kind of field bus and is widely used in automotive electronics and marine electronics. For the data transmission delay of low priority number is large and the stability is poor in CAN communication network, time-triggered TTCAN protocol is proposed in this paper. The time- triggered dual CAN bus system is controlled by ARM IPC, which consists of one master node and several slave nodes. This system is compared with the existing CAN bus system on the subsequent error rate to demostrate the feasibility of this system.

Keywords:Double CAN-Bus, TTCAN, Transmission System

TTCAN在ARM中的应用实现

刘倩文1,郑秋瑶1,金梦洁2

1杭州电子科技大学电子信息学院,浙江 杭州

2浙江大学求是学院,浙江 杭州

收稿日期:2015年11月13日;录用日期:2015年11月28日;发布日期:2015年12月8日

摘 要

CAN总线是现场总线的一种,目前在汽车电子和船舶电子中广泛应用。针对CAN通信网络中低优先级数据传输延迟较大、存在稳定性较差的问题,提出了基于时间触发的TTCAN协议。本基于时间触发的双路CAN总线系统是由ARM工控机控制,是具有一个主节点和n个从节点的系统,并在后续作出错误率检测与现有的总线结构作比较以证明该总线结构的可行性。

关键词 :双CAN总线,TTCAN,传输系统

1. 引言

CAN总线具有稳定性好,实时性强的优点,但在挂载多个从节点的时候,它的性能会大大减弱[1] 。在一些实时性要求高的应用中,比如工业生产流水线,迫切需要提供一种服务以保障安全相关的消息传输不受总线上其他待传消息的影响,TTCAN协议(time-triggered CAN)正是应这种需求而提出并发展起来的。TTCAN对CAN协议进行了扩展,提供时间触发机制以提高通信实时性。TI'CAN的研究始于2000年,现已成为CAN标准的第4部分ISO 11898-4,该标准目前处于CD (委员会草案)阶段。我们所用的ARM开发板为TQ3358系列,具有10.7寸的显示器和双CAN的硬件设备是作为本设计上位机的最佳选择[2] -[4] 。

2. 智能工业生产流水线系统结构

图1为本控制系统的总体结构图,包括一个主控节点模块和多个从节点模块。系统选用STM 32F 105作为系统的从节点主控芯片。此单片机含有CAN0和CAN1模块,并且可以支持本系统的控制协议TTCAN (时间触发CAN协议) [5] 。采用该芯片可以节约开发成本,简化电路。上位机由广州天嵌计算机科技有限公司的TQ3358开发板和Linux系统及自主使用QT编写的显示\控制客户端软件组成,主要任务是完成TTCAN协议网络中各节点的通信调度,作为一个时间主机发送参考报文,同步系统时间。人机界面的操作都集中在主节点中,使用时,上位机在每个周期的开始通过CAN总线向各从节点发出参考报文并接收从节点的反馈的各种状态信息并显示,实现远程监测。当从节点的CAN控制器收到参考报文时,根据已设置的调度信息,在相应的时间窗口内执行相应的功能。

从节点的CAN控制器TJA1050是CAN的高速收发器,在本设计中,TJA1050的应用如图2所示,其中协议输出器通过一条串行输出线(TXD)和一条串行输入线(RXD)连接到收发器。而收发器则通过他们有差动接收和发送能力的总线终端传输数据。

3. TTCAN简介

TTCAN协议是一种在ISO 1 1898-1规定的CAN数据链路层顶部之上的高层协议,可基于标准CAN物理层协议实现。TTCAN扩展协议分为两层,第一层子协议提供基本的时间触发服务,第二层子协议是第一层的扩展,提供全局时间(global time) TTCAN网络同步服务[6] 。这里详细介绍第二层子协议提供的服务,同时注明只在第二层子协议中实现的服务。TTCAN中的时间触发通信是基于校时基准消息(reference message)完成的,此基准消息由TI'CAN网络中的计时主机(time master,确定网络时间基准的控制节点)定时发送。在TTCAN网络中最多可以有8个计时主机,由各自识别符决定优先级。同一时间

Figure 1. The block diagram of control system

图1. 控制系统总体框图

Figure 2. The application of TJA1050

图2. TJA1050的应用

只有一个计时主机发送基准消息,当前计时主机工作发生异常时由备份计时主机发送基准消息。基准消息之后是一系列时间窗(time windows),这些时间窗为特定消息的传输提供精确定时限制[7] -[9] 。

两个连续的竞争时间窗可以结合为一个扩展的竞争时间窗,在不影响下一个时间窗定时的情况下允许在扩展竞争时间网络中可以预先定义多个消息段,消息段中定义各自的时间窗对应消息。这样就组成一个TTCAN网络的消息段矩阵(matrix cycle),如图3所示。

本系统控制设计中,为实现TTCAN的功能,在原有的CAN模块中加入触发存储单元,该单元由STM32F105内部扩展RAM的一部分来实现[10] ,将RAM的一部分定义成触发状存储器,在软件上定义成指针数组,根据节点在系统中的作用,对这个存储器进行初始化。触发存储器的数值决定了该节点在哪个时候被触发,以及触发以后的动作[11] [12] 。帧同步块是TTCAN的功能控制器[13] ,在STM32F105的CAN总线定时器的基础上,利用软件实现帧同步块的六个单元功能,从而使STM32F105完成支持TTCAN通信协议。同时预留可调动窗口,方便实际使用需要做出应变。且每个窗口无重叠,确保在一个

窗口周期内只有一个CAN消息在总线上传输。节点数在理论上可达到110个,本设计中实际使用到的节点数目一般在8个左右。

在界面设计中,如上图4所示,左上角周期一栏为TTCAN参考周期,(一帧报文最多有128 bit,假设传输速率为a,负载率为b)周期公式为。右上角线路一栏为节点报错栏,只要有节点出现故障,即刻会在此栏显示详细信息,节点号及线路。图5为实物图。

4. 错误率检测

CAN总线的最大传输速率可达1 Mbit/s,在实际数据传输错误率检测时每小时乃至每分钟的数据量都是相当庞大的。由此,在错误率检测时,我们使用了双路USBCAN II调试器,此调试器带有2路CAN接口,使用时可以直接接入到CAN网络中,当做一个监测节点。

在测试中,作为一个标准的CAN节点,配合USBCAN的工具软件,直接进行CAN总线的配置,发送,接收和数据的储存报错,使检错工作的效率得以大大提高。数据分析仪软件界面,如图6所示。表1为测试得到的结果。

Figure 3. News section matrix in TTCAN

图3. TTCAN中消息段矩阵

Figure 4. Interfacial design

图4. 界面设计

Figure 5. Real figure

图5. 实物图

Figure 6. The software interface of data analyzer

图6. 数据分析仪软件界面

Table 1. Result of error rate of each node

表1. 各节点错误率测试结果

5. 结语

随着信息技术的快速发展,现场总线技术得到了越来越多的应用。作为一种已经被广泛采用的工业控制网络,CAN具有自身的要求和特点,其中重要的就是稳定性,不仅要求传输的速度快,而且要求准确性高。由表1可得该系统不论传输速率在500 kbit/s还是125 kbit/s,错误率均在3 × 10−11以下,明显优于RS485总线10−7的错误率,同时也优于单CAN总线4.7 × 10−11的错误率,适用于我们所要求的环境条件,达到了设计要求的目标。当然,在总线不同的负载率、传输距离、节点数等情况下错误率会有所变动,这些也值得今后深入研究。

文章引用

刘倩文,郑秋瑶,金梦洁. TTCAN在ARM中的应用实现
TTCAN Application Implementation in the ARM[J]. 电路与系统, 2015, 04(04): 55-60. http://dx.doi.org/10.12677/OJCS.2015.44008

参考文献 (References)

  1. 1. 牛德青, 岳曾敬. 时间触发的CAN协议[J]. 兵工自动化, 2005 (5): 44-45.

  2. 2. Xilinx Inc. (2001) JBits 2.8 SDK for Virtex documentation. Xilinx Inc., San Jose.

  3. 3. 杨福字. CAN总线的局限[J]. 电子设计应用, 2006(11): 32, 34.

  4. 4. 廖晓露. 基于 CAN 总线的汽车控制网络实时性优化研究[D]: [硕士学位论文]. 长沙: 湖南大学, 2010.

  5. 5. 蒋月红, 马小军, 殷文龙. 智能照明控制通信协议的应用分析[J]. 电气应用, 2013, 33(18): 28-32.

  6. 6. 姚浩强. 多主TTCAN网络设计应用研究[D]: [硕士学位论文]. 武汉: 华中科技大学, 2013.

  7. 7. 黎军华. TTCAN总线技术在汽车通信系统中的应用研究[D]: [硕士学位论文]. 南昌: 东华理工大学, 2012.

  8. 8. 项新建. 基于CAN总线的灯光控制系统[J]. 照明工程学报, 2004, 14(2): 28-30.

  9. 9. 张庆祥, 宋占伟, 夏茂盛. 基于短距通信的嵌入式CAN网络测试系统设计[J]. 吉林大学学报: 信息科学版, 2012, 30(3): 240-244.

  10. 10. 周立功. ARM嵌入式系统实验教程(三) [M]. 北京: 北京航空航天大学出版社, 2005.

  11. 11. LPC2000 系列32位ARM微控制器的CAN接收过滤设置[EB/OL]. http://www.zlgmcu.com/, 2004-06-08.

  12. 12. Albert, A. and Gerth, W. (2003) Evaluation and Comparison of Real Time Performance of CAN and TTCAN. Proceedings of the 9th International CAN Conference, Munich.

  13. 13. Lawrenz, W. (1997) CAN System Engineering from Theory to Practical Application. Spring-Verlag, New York.

期刊菜单