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

文档序号:7652494阅读:158来源:国知局
专利名称:一种车用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步。
权利要求
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步。
全文摘要
一种车用TTCAN通讯网络仿真方法,尤其适用于汽车用TTCAN网络协议的制订、仿真与测试,属于工业现场总线技术领域。该方法采用具有CAN控制器、内部时钟以及独立中断处理单元的32位单片机,将程序写入单片机之后,由单片机实现TTCAN信号的发送。本发明运用先进的TTCAN协议技术,结合MPC5xx开发平台,实现了一种新型车用TTCAN通讯网络仿真程序,计算能力强,与底层驱动程序分离,协议可读性强,修改简便;易于修改和维护。
文档编号H04L29/06GK101056242SQ20071009995
公开日2007年10月17日 申请日期2007年6月1日 优先权日2007年6月1日
发明者包磊, 华剑锋, 徐梁飞, 李建秋, 欧阳明高 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1