CN101056242A - 一种车用ttcan通讯网络的仿真方法 - Google Patents

一种车用ttcan通讯网络的仿真方法 Download PDF

Info

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
Application number
CN 200710099957
Other languages
English (en)
Inventor
包磊
华剑锋
徐梁飞
李建秋
欧阳明高
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN 200710099957 priority Critical patent/CN101056242A/zh
Publication of CN101056242A publication Critical patent/CN101056242A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Small-Scale Networks (AREA)
  • Communication Control (AREA)

Abstract

一种车用TTCAN通讯网络仿真方法,尤其适用于汽车用TTCAN网络协议的制订、仿真与测试,属于工业现场总线技术领域。该方法采用具有CAN控制器、内部时钟以及独立中断处理单元的32位单片机,将程序写入单片机之后,由单片机实现TTCAN信号的发送。本发明运用先进的TTCAN协议技术,结合MPC5xx开发平台,实现了一种新型车用TTCAN通讯网络仿真程序,计算能力强,与底层驱动程序分离,协议可读性强,修改简便;易于修改和维护。

Description

一种车用TTCAN通讯网络的仿真方法
技术领域
一种新型车用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步。
CN 200710099957 2007-06-01 2007-06-01 一种车用ttcan通讯网络的仿真方法 Pending CN101056242A (zh)

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)

* Cited by examiner, † Cited by third party
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信号发送算法

Cited By (4)

* Cited by examiner, † Cited by third party
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