第十章 智能车的调试
推荐给好友
打印
加入收藏
更新于2008-07-30 17:05:39

10.1软件开发平台Codewarrior IDE的使用

          大赛中采用Codewarrior 4.6 for HCS12作为推荐的程序编译软件"CodeWarrior forS12" 是面向以HC12或S12为CPU的单片机嵌入式应用开发的软件包。包括集成开发环境IDE、处理器专家库、全芯片仿真、可视化参数显示工具、项目工程管理器、C交叉编译器、汇编器、链接器以及调试器。在Codewarrior软件中可以使用汇编语言或C语言,以及两种语言的混合编程。

10.1.1
利用监控程序下载用户程序

          监控程序(Monitor)的主要功能是对应用系统硬件及底层软件进行调试,也称为Debug程序,是最基本的调试工具。MC9S12DG128的Flash有128K,RAM有8K,而监控程序源代码占用不到3K FLASH,占用23字节RAM。这对用户程序的空间影响并不大。异步串行口是要用来做与PC通讯服务的,监控程序可以用,应用程序当然也可以使用。

10.1.2
利用“BDM for S12(TBDML)”调试程序

          当用户在监控程序的帮助下,熟悉了S12单片机的性能和结构,并能初步开始软硬件的设计后,就可以脱离监控程序了,尤其是对于一个完整的项目,就更要直接对硬件进行调试而脱离监控程序。S12 系列单片机采用BDM(Background Debug Mode,背景调试模式)调试方式。在BDM 模式下主要可以实现3方面的功能:
          1) 应用程序的下载与在线更新
          2) 单片机内部资源的配置与修复
          3) 应用程序的动态调试

10.2串口与计算机的通信

          在智能车的调试过程中,要对智能车走过一圈后的一些数据通过串口发送到计算机,并对其进行处理分 析。如智能车在各个时刻的转角PWM值、电机测速反馈值、电机控制输出的PWM值以及路面曲径值等等,都保存在外部FLASH里,通过串口就可以方便地发送到计算机里。

          串口通讯使用的软件是Commix混合串口调试工具。此软件界面友好,操作简单。其主要特点如下:
          1、能根据设备的通讯协议,方便地生成多种冗余校验如Modbus,并加上结束符,适用于大多数串口通讯的工业设备;
          2、能够混合输入16进制数、10进制数、ASCII字符,这种功能通过转义符“\”实现;
          3、支持串口1~255,支持各种虚拟串口,可以自定义任意通讯参数组合,随时改变参数而不用关闭串口,支持不常用的波特率等;
          4、可以测出设备的响应间隔;
          5、通讯数据可保存到Rtf文件,参数设置可保存到Reg文件。

10.3辅助调试软件

         计算机接收到单片机发送回来的数据后,要对其进行分析。我们选择了MATLAB作为数据分析的工具。MATLAB是一个功能强大的数学分析工具。其主要特点如下:
         1)语言简洁紧凑,使用方便灵活,库函数极其丰富。
         2)运算符丰富。
         3)MATLAB既具有结构化的控制语句(如for循环,while循环,break语句和if语句),又有面向对象编程的特性。
         4)程序限制不严格,程序设计自由度大。例如,在MATLAB里,用户无需对矩阵预定义就可使用。
         5)程序的可移植性很好,基本上不做修改就可以在各种型号的计算机和操作系统上运行。
         6)MATLAB的图形功能强大。在FORTRAN和C语言里,绘图都很不容易,但在MATLAB里,数据的可视化非常简单。MATLAB还具有较强的编辑图形界面的能力。

         图10.1是用MATLAB分析数据后画出来的图像,能反映路面的状况。图中测速反馈值反映在曲率比较平缓时速度明显增大,此时车子处在直线行驶状态,舵机转角的PWM几乎处在中间;在曲率较大并明显变化的线段上,车速明显下降,舵机也向左(或向右)转较大角度,可以看到图中曲率变化很徒的那段路线是处在S线上。因此通过上面的图像我们可以明显看出车子行驶的状态,并对不是很理想的状态进行分析,对车模作进一步改进。



10.1 MATLAB数据分析图

 

 

上一章 控制算法          下一章 总结




 
关于我们 | 诚邀加盟 | 客户服务 | 相关法律 | 网站地图 | 友情链接 | 服务信箱:service@eefocus.com
© 2006 与非门科技信息咨询(北京)有限公司 All Rights Reserved.