第四章 智能车的电路设计及实现
Altium Designer 6.9极大地增强了对高密板设计的支持,可用于高速数字信号设计,提供大量新功能和改进,改善了对复杂多层板卡的管理和导航,可将器件放置在PCB 板的正反两面,处理高密度封装技术,如高密度引脚数量的球型网格阵列 (BGAs)。Altium Designer 6.9 极大减少了带有大量管脚的器件封装在高密度板卡上设计的时间,简化了复杂板卡的设计导航功能。
在实际制作过程中,我们的光电检测模块采用Altium Designer设计制作,其他模块采用手工焊接。
4.7本章小结
硬件电路对整个系统的稳定性有着至关重要的作用。而电源电路则是重中之重。因此在电源电路设计过程中,选用多种稳压芯片来保证电源的稳定性。单片机最小系统是智能车的核心,设计时充分考虑了抗干扰、防静电和运行的稳定性。
13
第五章 软件设计及其应用
5.1总体程序设计
智能车系统的软件编写是基于MC9S12XS128单片机,主要用到S12芯片中的PWM模块,TIM模块、I/O模块以及SCI模块等模块化设计。PWM模块主要用来控制舵机和电机的运转;TIM模块主要是用在了测速模块和数据采集,捕捉中断并计算瞬时速度;I/O模块主要是用来分配给开关和激光管扫描、信息采集;SCI模块主要用在无线串口调试模块。
5.2开发、调试工具
5.2.1 Code Warrior
比赛的软件开发平台为Metroworks 公司Code Warrior开发软件。其使用界面如图5.1所示:
图5.1 CodeWarrior程序编写界面图
CodeWarrior的功能强大,可用于大部分单片机、嵌入式系统的开发。用户可在新建工程时将芯片的类库添加到集成环境开发环境中,工程文件一旦生成就是一个最小系统,用户无需再进行繁琐的初始化操作,就能直接在工程中添
14
加所需的程序代码。如图6-2所示,利用CodeWarrior和配套的BDM。用户可以进行一系列的调试工作,如监视寄存器状态、修改PC 指针、设置断点等,这样能快速地帮助我们找到软件或硬件的问题。
图5.2 Hiwave下载调试界面
在源程序编译、连接通过后,就可以进行程序下载了。下载前,先将单片机上已经存在的程序擦除,然后点击Load,将bin文件夹下生成的后缀为.abs的文件打开,就可以完成下载。 5.2.2 BDM开发工具
图5.2BDM开发工具
后台调试模式(Background Debug Mode)是当代单片机普遍采用的调试方式之一,在BDM 模式下主要可以实现一下3 个方面的功能:首先是应用程序的下载与在线更新。在BDM 模式下,可以对Flash 做写入和擦除操作,故可以在产品出厂前即将应用程序下载的产品当中去,也可以在产品出厂后更应用程序。
BDM 模式的另一功能是做单片机内部资源的配置与修复,程序的加密处理
15
等。一些MCU 的内部寄存器只能在BDM 模式下操作,特别是一些单片机内部词源配置的寄存器。BDM 的第三个功能是做应用程序的动态调试。S12 系列单片机的BDM调试模式有这种功能。和多时现代单片机一向,S12 单片机CPU 内部使用了4 级流水线结构,这种结构使得CPU 的读取指令,解释指令,执行指令等操作看起来好像是并行的。
5.3 本章小结
本章重点介绍了编译环境的使用及其在线调试的方案,合理使用软件能更高效的为队员服务,检测错误及其调节参数。
16
第六章 智能车的路径识别跟速度控制
6.1路径信号的获取识别
6.1.1方案的选取
由于第七届非思卡尔光电路径识别要求较前几届又较大的改变,由中间循线变为两边循线,于是有以下循线方案。
八字循线布局:
图6.1光电模块的布局
首先,硬件上要求传感器分成两部分,光点也从中间断开,一改以往连续光点的思想。
这里可以采用的光点是直线型分布,也可以采用圆弧形或者是斜线分布。这种设计硬件思想比较灵活被比较多的学校采纳。这种布局使用激光头少了,传感器也短了,并且传感器的不用伸出,有利于重心的稳定。中间还得加个下排的小前瞻或者红外来检测起跑线。
传感器还是跟以前的差不多,可能要很宽,其实这种思想还是可行的,比赛的时候赛道的背景颜色是蓝色的,寻白线的优势就很大,因为检测的光点基本要覆盖整个赛道,要用到的激光也不会很多,就是两边靠近黑线的激光要密集一点,算法控制也比较方便,但是在十字处理上比较困难。
17