保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

基子CAN_BUS的控制器调试系统的设计


定间隙与电流,根据修改需要,每个参数都是单独下传的。下传数据包的大小与CAN的最大有效传送字节数一致,为8个字节。第一个字节指出数据包的类型(用Oxll标示),第二个字节指出参数类型(用0xx7标示),第三字节至第八字节指出传送的有效数据,对应上面给定参数的参数标示依次为0x17、0x27、0x37、0x47、0x57。图2所示为数据包的一般格式。

2.1.2 程序数据包格式

FLASH写入文件较大,一般有几十K字节。控制系统采用的FLASH芯片AT29C010以128字节为基本操作单位。为了适应芯片,可将文件分成128字节的数据段,并为每个数据段标定次序。发送时,标出数据段号及该片数据所处段中的位置即可。控制器接收到128字节后,做一次写入FLASH操作,数据包格式及说明见图3。

    2.1.3 命令数据包格式

命令数据指出对下传参数的操作,Oxx7+0x44表示对某一参数的修改生效,如:0x17+0x44使能C1,0x27+0x44使能C2,0x37+0x44使能C3。如果修改的参数不能满足控制要求,调试员希望能恢复原来的运行参数,因此定义0x55为修改参数恢复命令,如:0x17+0x55恢复C1,0x27+0x55恢复C2,0x37+0x55恢复C3。0x66+0x66表示将下传数据写入最后的FLASH参数存储区。命令数据包格式如图4所示。

2.2 上传数据协议

上传数据包的大小也为8个字节,数据包类型分为参数反馈、命令反馈两种,参数反馈用于上传DSP的实际运行控制参数及间隙、电流等状态信息,命令反馈用于对PC机使能、写入、参数恢复等命令的应答。

上传数据依次为控制参数C1、C2、C3、CURRENTl、CURRENT2、CLEARANCE。数据类型标示依次为0x17、0x27、0x37、0x47、0x57、0x67。由于上位机要同时接收多个控制器上传的数据,所以为了正确区分这些参数,需要给上传的数据包加入端口标示,指出数据包来自哪个总线端口。上传的数据包在前面格式的基础上还要加入对应于各控制器的CAN总线端口号。

上传命令是对总线通信出现异常情况的应答,因为控制器随时将控制参数上传,且参数字节数较少,出错的可能性较低,不需配备应答命令;而上传程序的数据量较大,容易出现错误,必须配备应答命令,指示程序写入过程。

因为控制器是周期性地扫描SJAl000的接收缓冲区,当总线连接的节点较多时,数据量较大,难免会发生数据漏收的情况;而且控制器对外部中断的响应也会影响扫描周期,使接收缓冲区中未来得及读取的数据被新数据冲掉。当控制器发现应接收的数据位置与已接收到的数据位置不符时,控制器发差错命令给上位机,指出应接收的数据段号及位置,上位机接收到这一信息后重发相关数据。发送数据包包含CAN端口字节、命令标示、段号、位置号等信息。通信过程中也可能出现发送数据与接收数据不符的情况,因此有必要引入数据校验算法。控制器将接收到的128字节校验后得到的校验值与接收到的校验值作比较,一致后才将数据写入FLASH;否则反馈回校验值错误信息,上位机重发该段数据。发送数据包包含CAN端口字节、命令标示、段号、重发标示(0x88)等信息。

图5

3 通信程序设计流程

3.1 控制器通信流程

控制器的通信部分主要在主程序循环中完成。每次主程序循环中,控制器都向调试系统发送当前C1、C2、C3、CURRENTl、CURRENT2、CLEARANCE等信息;一旦接收到调试系统下传的信息,控制器便分析下传信息的性质,对它们分别进行判别与应答。

图5是控制器的通信流程。控制器上电后,程序从FLASH的参数存储区(最后256个字节)读取控制参数值,存人控制参数缓存中,作为参数初值。同时,控制器通过CAN总线接收上位机下传的控制参数,校验后存入控制参数缓存中。一旦接收到参数使能命令,则将缓存中的数据复制给C1、C2、C3等变量,作为实际的工作参数;调试完毕后,

《基子CAN_BUS的控制器调试系统的设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/166103.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。