本发明涉及客车通讯技术领域,更为具体地说是指一种客车通用can通讯干预工具的单片机开发方法。
背景技术:
当前,客车行业零部件之间的通讯及其控制程序,基本都是掌握在供应商手里。尤其是进口零部件,国内代理商根本无法对软件的逻辑做出调整。一旦零部件之间出现通讯逻辑不匹配的情况,这就需要由主机厂协调不同零部件生产商更改通讯协议,由于厂家配合的问题,解决时间往往比较长,处理起来较为繁琐。
虽然,通讯主机厂还可以通过自己设计简单的控制逻辑来干预零部件的通讯问题,但是使用传统的单片机编程对现场处理问题的工程师技能提出更为严苛的要求。
技术实现要素:
本发明提供一种客车通用can通讯干预工具的单片机开发方法,其主要目的在于克服现有客车can总线通讯中,不同零部件之间通讯协议不匹配导致的通讯障碍问题的处理繁琐、处理时间较长等缺点。
本发明采用如下技术方案:
基于客车通用can通讯干预工具的单片机开发方法,包括如下步骤:
(1)、用户在matlab/simulink环境下,使用can通讯干预工具的库模型进行simulink模型建模;
(2)、对simulink代码生成环境进行配置,将用户搭建的simulink模型自动生成代码;
(3)、生成代码后调用预设好单片机开发环境keiluvision5,将自动生成的代码与预先设计好的底层驱动代码做集成,形成一个可编译的工程任务;
(4)、自动编译步骤(3)的工程任务,直接烧写入单片机。
进一步地,该单片机开发方法是基于stm32f4系列芯片的控制器单元。
进一步地,上述步骤(1)中simulink模型建模具体包括:配置控制单元与simulink的输入输出关系,在输入域输出之间设计控制逻辑,并在simulink环境中换成控制逻辑的仿真验证工作。
进一步地,上述步骤(2)中生成的代码为*.c文件与*.h文件,在生成代码的过程中调用钩子文件中的预制函数,生成后的代码集成到stm32的开发环境当中。
进一步地,上述步骤(4)将步骤(3)的工程认为翻译为*.bin文件,在通过stm32调试器烧写入单片机。
优选地,上述stm32调试器为st-link或者j-link。
由上述对本发明的描述可知,和现有技术相比,本发明具有如下优点:
该发明的单片机开发方法,电控系统调试人员只需将不同的信号在simulink环境下按一定的逻辑进行组合,就可直接生成控制程序,可快速解决客车各零部件通讯协议不匹配的故障问题,大大缩短了故障解决时间,而且电控系统调试人员无需掌握单片机开发能力,大大降低其对现场嵌入式系统开发的技能要求。
具体实施方式
下面说明本发明的具体实施方式。为了全面理解本发明,下面描述到许多细节,但对于本领域技术人员来说,无需这些细节也可实现本发明。对于公知的组件、方法及过程,以下不再详细描述。
基于客车通用can通讯干预工具的单片机开发方法,包括如下步骤:
(1)、用户在matlab/simulink环境下,使用can通讯干预工具的库模型进行simulink模型建模。
(2)、对simulink代码生成环境进行配置,将用户搭建的simulink模型自动生成代码;
(3)、生成代码后调用预设好单片机开发环境keiluvision5,将自动生成的代码与预先设计好的底层驱动代码做集成,形成一个可编译的工程任务;
(4)、自动编译步骤(3)的工程任务,直接烧写入单片机。
该单片机的开发方法是基于stm32f4系列芯片的控制器单元。
上述步骤(1)中simulink模型建模具体包括:配置控制单元与simulink的输入输出关系,在输入域输出之间设计控制逻辑,并在simulink环境中换成控制逻辑的仿真验证工作。
上述步骤(2)中生成的代码为*.c文件与*.h文件,在生成代码的过程中调用钩子文件中的预制函数,生成后的代码集成到stm32的开发环境当中。
上述步骤(4)将步骤(3)的工程认为翻译为*.bin文件,在通过stm32调试器如st-link或者j-link烧写入单片机。
上述仅为本发明的具体实施方式,但本发明的设计构思并不局限于此,凡利用此构思对本发明进行非实质性的改动,均应属于侵犯本发明保护范围的行为。