第六章 系统开发与调试
推荐给好友
打印
加入收藏
更新于2008-08-02 06:42:59

6.1 模拟赛道的设计与制作

我们根据韩国大学生智能车竞赛使用的韩国赛道和第一届“飞思卡尔”杯全国大学生智能汽车邀请赛处决赛使用的赛道,使用基于LabVIEW的Plastid2软件,自行设计了模拟赛道。该模拟赛道基本包括了所有的赛道类型,如图6.1所示:


图6.1 模拟赛道
6.2 硬件开发与调试

6.2.1硬件开发

硬件是软件的基础,其在智能车设计中的重要性不言而喻。硬件开发我们主要用到Protel DXP软件,利用Protel可以很方便的设计出电路原理图和PCB图。硬件仿真方面,我们使用了Multisim 7.0,用仿真的方式验证硬件设计的正确性,在一定程度上缩短了硬件开发的周期。

6.2.2硬件调试

硬件调试紧接着硬件开发之后进行,主要是使用万用表、示波器进行电路调试。

6.3 软件开发与调试

6.3.1软件开发

在硬件设计并制作完成以后,需要进行软件设计和开发。我们使用freescale公司CodeWarrior Development Studio for HCS12X Microcontrollers V4.6软件进行软件开发。CodeWarrior是面向freescale所有MCU/DSP嵌入式应用开发的软件,包括IDE、PE、全芯片仿真、可视化参数显示工具、项目工程管理、C交叉编译器、汇编器、联接器以及调试器,可使用汇编、C、C++、JAVA进行编程。我们使用中级语言C语言进行软件开发。

6.3.2软件调试

软件开发完成之后,需要进行大量的调试,来确定程序中算法是否合理、数据是否正确、参数是否合适等等。系统开发与调试用到的软件如表6.1所示:

表6.1 使用软件列表
软件名称
用途
CodeWarrior V4.6
软件开发与调试
Windows 超级终端
初期工程文件的下载
串口调试器 2002
参数调试
MATLAB 7.0
图像的模拟,编码盘的绘制
Protel DXP
硬件电路的绘制,PCB板的制作
Visual Basic 6.0
图像模拟软件制作
Plastid2
模拟赛道设计
Multisim 7.0
硬件电路仿真

初期我们使用单片机内部的监控程序,通过MC9S12DG128上的RS232串口通信,进行程序的下载和运行。

监控程序适合对单片机硬件及底层软件进行调试,操作起来不够方便,且不能实现在线编程。后来,我们使用了清华大学freescale MCU/DSP 应用开发研究中心开发的BDM调试器(基于MC68HC908),通过USB和PC机进行通信,并调用CodeWarrior中的Hiwave,进行MC9S12DG128的在线编程,使得调试过程彻底脱离了仿真器,大大方便了软件的调试。

我们利用MC9S12DG128中的异步串行通信接口SCI与上位机进行通信,向PC机发送实验数据,并利用串口调试器进行观察、记录、分析等工作。

但串口调试器只能简单的发送、接收数据,无法实现图像的模拟。初期我们将Hiwave中显示的图像二维数组记录下来,再使用MATLAB在PC机上进行图像的静态测试。
为了更加方便使用SCI进行调试,我们使用Visual Basic 6.0自行设计了初步的调试软件,目前能够实现图像接收及显示功能,可以方便的对图像传感器采集到的图像进行动态测试,如图6.2所示:


图6.2 图像测试软件
6.4 控制策略

为了增强智能车适应不同赛道的能力,在不违反竞赛规则的前提下,在比赛现场,不改动程序,通过预先设置的跳线或拨码开关及相关程序,实现控制参数的多种组合和控制策略的切换。
我们使用了拨码开关实现了转向控制策略设定、速度控制策略设定、舵机复位调零等功能,拨码开关SCH图如图6.3所示:

图6.3 拨码开关电路原理图

 

 

 

上一章 软件设计        下一章 总结





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