- 积分
- 87
- 注册时间
- 2003-12-29
- 仿真币
-
- 最后登录
- 1970-1-1
|
楼主 |
发表于 2005-8-18 22:41:05
|
显示全部楼层
来自 湖北十堰
Re:【分享】【转贴】基于ARM的汽车电子控制系统单元设计
3 电子控制系统单元软件设计
对于LPC2119微处理器来说,CAN控制器完全是基于事件触发的,即在本身状态发生改变时,CAN控制器会将状态变化的结果告诉微处理器。因此中心微处理器可以采用中断的方式或者轮询的方式对CAN控制器作出相应的处理。完整的CAN固件编程层次结构图如图3所示。
各电子控制系统单元按规定格式和周期发送数据到总线上,同时根据需要各取所需的报文。对于接收数据,本系统采用中断的方式实现,一旦中断发生,即将接收的数据自动装载到相应的报文寄存器中。此时利用屏蔽滤波寄存器对接收报文的标识符和预先在接收缓冲器初始化时设定的标识符进行有选择地逐位比较,只有标识符匹配的报文才能进入接收缓冲器,那些不符合要求的报文将被屏蔽于接收缓冲器外,从而减轻CPU处理报文的负担。
各电子控制系统单元的应用层程序都不一样,但是通信模块的应用程序基本上一致,可分为CAN初始化、发送数据、接收数据。
3.1 CAN初始化程序
CAN初始化程序主要用来实现CAN工作时的参数设置,其初始化主要内容包括:硬件使能CAN、设置CAN报警界限、设置总线波特率、设置中断工作方式、设置CAN验收滤波器的工作方式、设置CAN控制器的工作模式等。初始化流程图如图4所示。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?注册
×
|