新闻中心

EEPW首页 > 汽车电子 > 设计应用 > 基于CAN总线的智能车的设计与实现

基于CAN总线的智能车的设计与实现

作者: 时间:2012-09-17 来源:网络 收藏


3 节点软件设计

3.1 通信数据格式

协议通信格式中有数据帧、远程帧、出错帧和超载帧4种帧格式。其中,数据帧和远程帧的发送需要在CPU控制下进行,而出错帧和超载帧的发送则是在错误发生和超载发生时自动进行的。一个有效的CAN的数据帧由起始帧、仲裁域、控制域、数据域、应答域和结束帧组成。一帧信息除仲裁域、控制域和数据域外,其他信息都是CAN控制器发送数据时自动加上去的,而仲裁域、控制域和数据域则必须由CPU给出。TMS320F2812的CAN控制器支持标准格式和扩展格式两种不同的帧格式,本设计采用标准格式。标识符作为报文的名称,在仲裁过程期间,它首先被发送到,在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。远程发送请求位RTR决定发送的是远程帧还是数据帧。数据长度码DLC用来确定每帧发送几个字节的数据,最多8 B。SJA1000可以工作在标准CAN模式和增强型CAN模式两种模式。标准CAN模式提供11 bit标识符的识别,而增强型CAN模式支持29 bit标识符识别。本设计选择SJA1000工作在标准CAN模式,与DSP的CAN模块选择的数据格式相吻合。

3.2 SST89E564RD软件设计

SST89E564RD软件的设计是在KeilC下完成的,主要由初始化模块、采集模块和通信模块组成。

(1)初始化模块。单片机在SJA1000的复位模式下完成对CAN控制器的初始化,向其控制寄存器写入控制字,确定CAN控制器的工作方式。

(2)采集模块。摄像头传感器采集到的信息经信号调理电路处理后传输到单片机,单片机采用图像滤波算法对所有信息进行预处理。

(3)通信模块。把采集模块处理完的信息通过CAN与其他节点进行信息交互。

3.3 TMS320F2812软件设计

TMS320F2812的eCAN模块主要由CAN协议内核和消息控制器构成。协议内核主要完成消息解码并向接收缓冲器发送解码后的消息,同时根据CAN协议向总线发送消息,消息控制器决定对接收到的消息的取舍。TMS320F2812软件主要由初始化模块、通信模块和驱动模块组成。

(1)初始化模块。其完成对CAN控制层中的寄存器进行初始化,包括时钟使能、引脚定义、波特率的设定和收发邮箱的配置等。初始化模块流程图如图4所示。

(2)通信模块。它包括报文发送模块、报文接收模块和CAN出错管理模块。

(3)驱动模块。它包括转向控制模块和速度控制模块。由于处于弯道和直道的转向模型不同,本系统在转向控制模块中采用了分段比例控制算法,而对速度的调整既要快速又要准确,还不能频繁波动,本系统在速度控制模块中采用了PID控制算法。

系统采用SST89E564RD微处理器实时采集道路信息,采用TMS320F2812进行数据的综合处理,输出相应命令给执行机构,所有数据通过CAN总线交互,方便功能拓展。通过模拟测试和大量环境试验,以及对记录、实时检测、数据分析的整理,该目前运行可靠。后续将增添无线模块节点,为该智能车添加遥控功能。

本文引用地址:https://www.eepw.com.cn/article/196396.htm

上一页 1 2 下一页

关键词: CAN 总线 智能车

评论


相关推荐

技术专区

关闭