CN101056242A - 一种车用ttcan通讯网络的仿真方法 - Google Patents
一种车用ttcan通讯网络的仿真方法 Download PDFInfo
- Publication number
- CN101056242A CN101056242A CN 200710099957 CN200710099957A CN101056242A CN 101056242 A CN101056242 A CN 101056242A CN 200710099957 CN200710099957 CN 200710099957 CN 200710099957 A CN200710099957 A CN 200710099957A CN 101056242 A CN101056242 A CN 101056242A
- Authority
- CN
- China
- Prior art keywords
- signal
- ttcan
- tpu
- register
- transmission timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Landscapes
- Small-Scale Networks (AREA)
- Communication Control (AREA)
Abstract
一种车用TTCAN通讯网络仿真方法,尤其适用于汽车用TTCAN网络协议的制订、仿真与测试,属于工业现场总线技术领域。该方法采用具有CAN控制器、内部时钟以及独立中断处理单元的32位单片机,将程序写入单片机之后,由单片机实现TTCAN信号的发送。本发明运用先进的TTCAN协议技术,结合MPC5xx开发平台,实现了一种新型车用TTCAN通讯网络仿真程序,计算能力强,与底层驱动程序分离,协议可读性强,修改简便;易于修改和维护。
Description
技术领域
一种新型车用TTCAN通讯网络仿真方法,尤其适用于汽车用TTCAN网络协议的制订、仿真与测试,属于工业现场总线技术领域。
背景技术
现代汽车采用了大量分布式控制器完成零部件的控制,各个控制器之间通过总线进行通讯,总线技术相比于传统的直接连接,具有容错性好、扩展性好、接线简单等优点。CAN总线是专为汽车设计的局部总线技术,是汽车内部高速通讯的主要实现方式之一。
TTCAN协议是建立在传统CAN协议上的一种时间触发的通讯协议。相比传统的CAN协议,TTCAN具有实时性高、可靠性好,数据量大,信号桢中数据位数可变等特点。TTCAN协议适合新能源汽车,如纯电动汽车、内燃机-电机混合动力汽车和燃料电池汽车通讯数据量大、实时性要求高的需求,也适用于对实时性要求较高的传统汽车的内部通讯。
在传统的硬件在环仿真中,CAN信号部分多采用CAN卡发送的方式,通过上位机对CAN信号进行配置,通过操作CAN卡的驱动进行发送。这种方式中的CAN卡及对应软件价格昂贵,CAN信号的发送受到上位机CPU性能和操作系统的影响,而且CAN卡往往还要承担CAN接收的任务,同时发送和接收会大大影响到CAN信号发送的时间准确性。使用单片机进行CAN信号发送的优势在于不占用CAN卡资源,且不受上位机操作系统的循环时间制约,实时性好。
在传统的使用单片机进行CAN信号模拟的方案中,多数是针对部分部件,而不是整车网络的信号模拟,并且信号形式单一。本发明使用计算能力强大的32位单片机对发送信息进行计算,能够实现发送信号的复杂变化,采用驱动与协议分离的结构进行CAN信号发送,在中断中完成信号发送,并在发送程序中集成了协议的读取和信号屏蔽功能,解决了使用单片机模拟TTCAN协议配置复杂,程序可读性差的问题,能够实现整车级别的TTCAN网络模拟。
发明内容
本发明的目的在于针对目前车用TTCAN通讯网络协议的设计以及基于TTCAN通讯协议的控制器的开发需求,提供一种新的基于32位单片机和TTCAN总线的整车通讯网络仿真程序,以满足协议制订和控制器的开发需求。
本发明提出了一种车用TTCAN通讯网络的仿真方法,其特征在于:
A、采用具有CAN控制器、内部时钟以及独立中断处理单元的32位单片机,工作频率最高可达到40~56MHz。
B、将程序写入单片机之后,由单片机实现TTCAN信号的发送;
C、其步骤为:
(13)关闭中断;
(14)进行中断控制器、CAN发送驱动器、TPU的初始化,所述的初始化指将配置文件中设置的时钟频率、对应中断程序名、中断级别写入对应的专用寄存器;
(15)开启中断;
(16)查询第一次发送信息所需要的参数,所述参数包括TTCAN信号ID、信号数据位长度、信号的发送时序、信号中数据区的内容;
(17)配置CAN发送模块:将信号ID、数据位长度、信号中数据区的内容写入到CAN发送寄存器;
(18)配置TPU模块:从步骤(4)的配置文件的TTCAN时序中读取后一个信号的发送时序,将其与当前信号的发送时序做差,并将计算结果写入TPU输出比较(OC)寄存器;
(19)当TPU定时器触发中断之后,进入中断程序,读取中断屏蔽变量,此时TPU自动停止工作;
(20)查询当前信号是否被屏蔽,如果结果为“是”,则跳到第10步,否则执行下一步;
(21)将CAN_Send_ONCE写入CAN收发控制寄存器,发送当前信号,此时完成了对应当前TTCAN信号的仿真,CAN网络上产生了对应于当前信号ID、信号时序和信号数据区内容的CAN信号,转入第10步;
(22)读取配置文件并计算下一次发送信息所需要的参数,所述参数包括信号ID、数据位长度、信号的发送时序、信号中数据区的内容;
(23)配置CAN发送模块:将信号ID、数据位长度、信号中数据区的内容写输入到CAN发送寄存器;
(24)将下一个信号的发送时序与当前信号的发送时序做差,并将计算结果输入到TPU输出比较(OC)寄存器;
(13)启动TPU输出比较(OC)寄存器并清除中断标志位,回到第7步。
本发明运用先进的TTCAN协议技术,结合MPC5xx开发平台,实现了一种新型车用TTCAN通讯网络仿真程序,其主要效果有:
1、采用32位单片机,频率为40MHz到56MHz,计算能力强。
2、采用配置文件的方式写入CAN协议,与底层驱动程序分离,协议可读性强,修改简便。
3、将协议读取与信号屏蔽功能集成到发送程序中,程序结构清晰,易于修改和维护。
4、使用单片机时钟进行发送定时,并使用中断程序进行信号发送,不依赖上位机资源,通讯实时性好,通讯时间精度达μs级。
5、配置后的单片机可以作为发送部件单独工作,体积小、供电简单、耗电少、便于携带、应用场所灵活。
6、配置和使用过程无需借助专用CAN卡,成本低;易操作。
附图说明
图1是本发明一种车用TTCAN通讯网络的仿真方法流程图。
具体实施方式
下面结合附图对本发明具体实施做进一步说明。
实施例1:(VCU+MCU)
一种车用TTCAN通讯网络的仿真方法,工作方式如下:
1.关闭中断;
2.进行中断控制器、CAN发送驱动器、TPU的初始化,所述的初始化指将配置文件中设置的时钟频率1MHz;对应中断程序名CAN_ISR、中断级别9写入对应的专用寄存器;
3.开启中断;
4.查询第一次发送信息所需要的参数,所述参数包括TTCAN信号ID—1820A7A3、信号数据位长度—6、信号的发送时序—2250μs、信号中数据区的内容—03 E8 9C 4F F8 00;
5.配置CAN发送模块:将信号ID—1820A7A3、信号数据位长度—6、信号的发送时序—2250μs、信号中数据区的内容—03 E8 9C 4F F8 00写入到CAN发送寄存器;
6.配置TPU模块:从步骤(4)的配置文件的TTCAN时序中读取后一个信号的发送时序—3200μs,将其与当前信号的发送时序—2250μs做差,并将计算结果950μs写入TPU输出比较(OC)寄存器;
7.当TPU定时器触发中断之后,进入中断程序,读取中断屏蔽变量,此时TPU自动停止工作;
8.查询当前信号是否被屏蔽,如果结果为“是”,则跳到第10步,否则执行下一步;
9.将CAN_Send_ONCE写入CAN收发控制寄存器,发送当前信号,此时完成了对应当前TTCAN信号的仿真,CAN网络上产生了对应于电机控制器的TTCAN仿真信号:ID—1820A7A3、信号数据位长度—6、信号的发送时序—2250μs、信号中数据区的内容—03 E8 9C 4F F8 00,转入第10步;
10.读取配置文件并计算下一次发送信息所需要的参数,所述参数包括信号ID—、数据位长度—、信号的发送时序—、信号中数据区的内容—;
11.配置CAN发送模块:将信号ID—CFF03A7、数据位长度—8、信号中数据区的内容—0064 00 64 0F 93 01 11写入到CAN发送寄存器;
12.将下一个信号的发送时序15000μs与当前信号的发送时序3200μs做差,并将计算结果—11800μs输入到TPU输出比较(OC)寄存器;
13.启动TPU输出比较(OC)寄存器并清除中断标志位,回到第7步。
实施例2:(VCU+FCS+DCC)
一种车用TTCAN通讯网络的仿真方法,工作方式如下:
1.关闭中断
2.进行中断控制器、CAN发送驱动器、TPU的初始化,所述的初始化指将配置文件中设置的时钟频率1MHz;对应中断程序名CAN_ISR、中断级别9写入对应的专用寄存器;
3.开启中断;
4.查询第一次发送信息所需要的参数,所述参数包括TTCAN信号ID—1810A7A5、信号数据位长度—8、信号的发送时序—0μs、信号中数据区的内容—07 6C 3F 4F 9B 09 10 A0;
5.配置CAN发送模块:将信号ID—1810A7A5、信号数据位长度—8、信号的发送时序—0μs、信号中数据区的内容—07 6C 3F 4F 9B 09 10 A0写入到CAN发送寄存器;
6.配置TPU模块:从步骤(4)的配置文件的TTCAN时序中读取后一个信号的发送时序—800μs,将其与当前信号的发送时序—0μs做差,并将计算结果—800μs写入TPU输出比较(OC)寄存器;
7.当TPU定时器触发中断之后,进入中断程序,读取中断屏蔽变量,此时TPU自动停止工作;
8.查询当前信号是否被屏蔽,如果结果为“是”,则跳到第10步,否则执行下一步;
9.将CAN_Send_ONCE写入CAN收发控制寄存器,发送当前信号,此时完成了对应当前TTCAN信号的仿真,CAN网络上产生了对应于电机控制器的TTCAN仿真信号:ID—1810A7A5、信号数据位长度—8、信号的发送时序—0μs、信号中数据区的内容—07 6C 3F 4F 9B 09 10A0,转入第10步;
10.读取配置文件并计算下一次发送信息所需要的参数,所述参数包括信号ID、数据位长度、信号的发送时序、信号中数据区的内容;
11.配置CAN发送模块:将信号ID—1818A7A4、数据位长度—5、信号中数据区的内容—1901 90 01 50写入到CAN发送寄存器;
12.将下一个信号的发送时序—3200μs与当前信号的发送时序—800μs做差,并将计算结果—2400μs输入到TPU输出比较(OC)寄存器;
13.启动TPU输出比较(OC)寄存器并清除中断标志位,回到第7步。
实施例3:(VCU+DCC+BMS+MCU)
一种车用TTCAN通讯网络的仿真方法,工作方式如下:
1.关闭中断
2.进行中断控制器、CAN发送驱动器、TPU的初始化,所述的初始化指将配置文件中设置的时钟频率1MHz;对应中断程序名CAN_ISR、中断级别9写入对应的专用寄存器;
3.开启中断;
4.查询第一次发送信息所需要的参数,所述参数包括TTCAN信号ID—1818A7A4、数据位长度—5、信号中数据区的内容—19 01 90 01 50;
5.配置CAN发送模块:将信号ID—1818A7A4、数据位长度—5、信号中数据区的内容—1901 90 01 50写入到CAN发送寄存器;
6.配置TPU模块:从步骤(4)的配置文件的TTCAN时序中读取后一个信号的发送时序—2250μs,将其与当前信号的发送时序—1550μs做差,并将计算结果—700μs写入TPU输出比较(OC)寄存器;
7.当TPU定时器触发中断之后,进入中断程序,读取中断屏蔽变量,此时TPU自动停止工作;
8.查询当前信号是否被屏蔽,如果结果为“是”,则跳到第10步,否则执行下一步;
9.将CAN_Send_ONCE写入CAN收发控制寄存器,发送当前信号,此时完成了对应当前TTCAN信号的仿真,CAN网络上产生了对应于电机控制器的TTCAN仿真信号:信号ID—1818A7A4、数据位长度—5、信号中数据区的内容—19 01 90 01 50,转入第10步;
10.读取配置文件并计算下一次发送信息所需要的参数,所述参数包括信号ID、数据位长度、信号的发送时序、信号中数据区的内容;
11.配置CAN发送模块:将信号ID—1828A7A2、数据位长度—5、信号中数据区的内容—1841 A2 46 13写入到CAN发送寄存器;
12.将下一个信号的发送时序—3200μs与当前信号的发送时序—2250μs做差,并将计算结果—950μs输入到TPU输出比较(OC)寄存器;
13.启动TPU输出比较(OC)寄存器并清除中断标志位,回到第7步。
Claims (1)
1、一种车用TTCAN通讯网络的仿真方法,该方法采用具有CAN控制器、内部时钟以及独立中断处理单元的32位单片机,将程序写入单片机之后,由单片机实现TTCAN信号的发送,其特征在于,该方法包括以下步骤:
(1)关闭中断;
(2)进行中断控制器、CAN发送驱动器、TPU的初始化,所述的初始化指将配置文件中设置的时钟频率、对应中断程序名、中断级别写入对应的专用寄存器;
(3)开启中断;
(4)查询第一次发送信息所需要的参数,所述参数包括TTCAN信号ID、信号数据位长度、信号的发送时序、信号中数据区的内容;
(5)配置CAN发送模块:将信号ID、数据位长度、信号中数据区的内容写入到CAN发送寄存器;
(6)配置TPU模块:从步骤(4)的配置文件的TTCAN时序中读取后一个信号的发送时序,将其与当前信号的发送时序做差,并将计算结果写入TPU输出比较(OC)寄存器;
(7)当TPU定时器触发中断之后,进入中断程序,读取中断屏蔽变量,此时TPU自动停止工作;
(8)查询当前信号是否被屏蔽,如果结果为“是”,则跳到第10步,否则执行下一步;
(9)将CAN_Send_ONCE写入CAN收发控制寄存器,发送当前信号,此时完成了对应当前TTCAN信号的仿真,CAN网络上产生了对应于当前信号ID、信号时序和信号数据区内容的CAN信号,转入第10步;
(10)读取配置文件并计算下一次发送信息所需要的参数,所述参数包括信号ID、数据位长度、信号的发送时序、信号中数据区的内容;
(11)配置CAN发送模块:将信号ID、数据位长度、信号中数据区的内容写输入到CAN发送寄存器;
(12)将下一个信号的发送时序与当前信号的发送时序做差,并将计算结果输入到TPU输出比较(OC)寄存器;
(13)启动TPU输出比较(OC)寄存器并清除中断标志位,回到第7步。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710099957 CN101056242A (zh) | 2007-06-01 | 2007-06-01 | 一种车用ttcan通讯网络的仿真方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200710099957 CN101056242A (zh) | 2007-06-01 | 2007-06-01 | 一种车用ttcan通讯网络的仿真方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN101056242A true CN101056242A (zh) | 2007-10-17 |
Family
ID=38795859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200710099957 Pending CN101056242A (zh) | 2007-06-01 | 2007-06-01 | 一种车用ttcan通讯网络的仿真方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101056242A (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035901A (zh) * | 2014-06-23 | 2014-09-10 | 中国北方车辆研究所 | 一种ttcan总线对时及发送数据的方法 |
CN110109375A (zh) * | 2019-05-15 | 2019-08-09 | 北京昱连科技有限公司 | 一种基于ttcan通信模块的总线仿真系统 |
CN110519140A (zh) * | 2019-08-21 | 2019-11-29 | 延锋伟世通电子科技(南京)有限公司 | 基于时间片分配的can信号发送算法 |
-
2007
- 2007-06-01 CN CN 200710099957 patent/CN101056242A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104035901A (zh) * | 2014-06-23 | 2014-09-10 | 中国北方车辆研究所 | 一种ttcan总线对时及发送数据的方法 |
CN104035901B (zh) * | 2014-06-23 | 2016-09-14 | 中国北方车辆研究所 | 一种ttcan总线对时及发送数据的方法 |
CN110109375A (zh) * | 2019-05-15 | 2019-08-09 | 北京昱连科技有限公司 | 一种基于ttcan通信模块的总线仿真系统 |
CN110519140A (zh) * | 2019-08-21 | 2019-11-29 | 延锋伟世通电子科技(南京)有限公司 | 基于时间片分配的can信号发送算法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1637256A (zh) | 数据通信装置及使用该装置的控制器 | |
CN1721226A (zh) | 基于can总线的纯电动汽车主控制器装置及其控制方法 | |
CN101174806A (zh) | 一种混合动力电机扭矩管理方法 | |
CN1968168A (zh) | 刀片服务器的定位方法及定位系统 | |
CN1632771A (zh) | 直接存储访问控制装置和图像处理系统以及传输方法 | |
CN101056242A (zh) | 一种车用ttcan通讯网络的仿真方法 | |
CN1298572C (zh) | 微处理器式电动汽车多能源动力总成控制装置 | |
CN101042672A (zh) | 一种应用于数字信号处理器的高速仿真器及其操作方法 | |
CN1949184A (zh) | 一种芯片验证的方法及系统 | |
CN101030148A (zh) | 实现重映射的方法、装置 | |
CN1482661A (zh) | 通用数字电路仿真测试系统及测试方法 | |
CN101047447A (zh) | 基于光纤的点对点工业串行实时通信系统及其控制方法 | |
CN1267827C (zh) | 设备驱动器和设备类型数据变换方法 | |
CN200953143Y (zh) | 一种虚拟硬件系统 | |
CN1818829A (zh) | 内核动态调节处理器频率的节能方法 | |
CN1190925C (zh) | 通用串行总线复合装置及其实现方法 | |
CN2613818Y (zh) | 用于超导储能装置的主控制器 | |
CN2664948Y (zh) | Mpc500处理器式电动汽车多能源动力总成控制装置 | |
CN2748971Y (zh) | 具有块设备并行接口的通用串行总线主机控制器 | |
CN2768334Y (zh) | 基于can总线的轮胎压力监测系统 | |
CN200981237Y (zh) | 一种位置控制装置 | |
CN1278204C (zh) | 电源管理状态控制方法 | |
CN1435773A (zh) | 基于多处理机的虚拟网卡系统及其通信方法 | |
CN1622023A (zh) | 一种能离线进行数据交换的装置和方法 | |
CN2704880Y (zh) | 触摸屏分配器 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |