SmartCar

所属分类:单片机开发
开发工具:C/C++
文件大小:112KB
下载次数:6
上传日期:2009-03-25 23:03:47
上 传 者knights12345
说明:  飞思卡尔半导体是全球领先的半导体公司,为汽车、消费、工业、网络和无线市场设计并制造嵌入式半导体产品。这家私营企业总部位于美国德克萨斯州奥斯汀,在全球30多个国家和地区拥有设计、研发、制造和销售机构。
(smart car)

文件列表:
SmartCar\cmd\Full_Chip_Simulation_Postload.cmd (61, 2007-04-26)
SmartCar\cmd\Full_Chip_Simulation_Preload.cmd (67, 2007-04-26)
SmartCar\cmd\Full_Chip_Simulation_Reset.cmd (60, 2007-04-01)
SmartCar\cmd\Full_Chip_Simulation_SetCPU.cmd (59, 2007-04-01)
SmartCar\cmd\Full_Chip_Simulation_Startup.cmd (61, 2007-04-26)
SmartCar\cmd\getData8.cmd (431, 2007-05-07)
SmartCar\cmd\getDataIR070511A.cmd (357, 2007-05-11)
SmartCar\cmd\getDataIR070512A.cmd (249, 2007-05-12)
SmartCar\C_Layout.hwl (855, 2007-04-01)
SmartCar\Default.mem (161, 2004-06-15)
SmartCar\Docs\vssver.scc (48, 2007-06-04)
SmartCar\Docs\串口数据包标准.txt (271, 2007-06-04)
SmartCar\Docs\液晶和按键调试模块的接口定义.txt (1055, 2007-05-23)
SmartCar\Docs\红外发射接收定义.txt (287, 2007-05-04)
SmartCar\Full_Chip_Simulation.ini (1458, 2008-04-15)
SmartCar\LICENCE(中文版).TXT (1178, 2008-04-17)
SmartCar\LICENCE.TXT (1566, 2008-04-17)
SmartCar\prm\burner.bbl (3348, 2007-04-01)
SmartCar\prm\Full_Chip_Simulation_linker.prm (2531, 2008-04-15)
SmartCar\prm\MS9S12generic.prm (2405, 2007-04-01)
SmartCar\prm\vssver.scc (64, 2007-04-06)
SmartCar\SmartCar.mcp (65423, 2008-04-17)
SmartCar\SmartCar_Data\CWSettingsWindows.stg (4511, 2008-04-17)
SmartCar\SmartCar_Data\Full_Chip_Simulation\TargetDataWindows.tdt (69739, 2008-04-17)
SmartCar\Sources\cCoreControl.c (25291, 2008-04-17)
SmartCar\Sources\cCoreControl.h (3892, 2008-04-17)
SmartCar\Sources\ChgSet.c (1417, 2008-04-15)
SmartCar\Sources\cMotorControl.c (3016, 2008-04-17)
SmartCar\Sources\cMotorControl.h (2198, 2008-04-17)
SmartCar\Sources\cServoControl.c (3412, 2008-04-17)
SmartCar\Sources\cServoControl.h (1819, 2008-04-17)
SmartCar\Sources\datapage.c (64325, 2008-04-15)
SmartCar\Sources\dbgButton.c (3055, 2008-04-17)
SmartCar\Sources\dbgButton.h (1778, 2008-04-17)
SmartCar\Sources\dbgLCD.c (10536, 2008-04-17)
SmartCar\Sources\dbgLCD.h (1925, 2008-04-17)
SmartCar\Sources\dbgMenu.c (9842, 2008-04-17)
SmartCar\Sources\dbgMenu.h (1708, 2008-04-17)
SmartCar\Sources\dbgSCI.c (5293, 2008-04-17)
... ...

大一时参加第二届飞思卡尔智能车竞赛的源代码,使用BSD许可证发布. 包含很多有用的库, 源代码涉及了单片机的大部分功能.对DG128不熟的同学可以作为参考. 系统分四层, 硬件层,设备层,控制层和智能. 包含记忆算法. 当时我花了大约三个的时间去了解所用的单片机,并写完了硬件层和设备层的代码.这使我在后来的开发工作中不必去过多考虑的底层细节,能够把更多的精力放在控制和智能算法上面.项目中还包含了大量的测试用例以供参考.我基本上是采用边测试边开发的方法开发的.这是我认为大家可以学习的地方. 项目中的一些模块可能会对大家有用,我做一个简单的介绍. dbg* : 调试模块,控制LCD,调试用按键和串口, 包含一个菜单子模块, 自己写了一个printf函数,可以方便的从串口或者液晶屏输出信息.菜单模块也花了一些功夫,可以方便的添加菜单元素, 动态的查看和修改系统中某变量的值. h* : 硬件层,直接和I/O口与内部模块打交道. d* : 设备层,把传感器,马达,舵机等抽象出来. c* : 控制层,控制舵机,马达,采集道路信息. s* : 智能层,路径记忆和播放 为了不因为分层而影响效率, 分层并不是十分严格, 而且有很多地方是用宏来做层与层的衔接的. 系统在48MHz的采样和执行周期约为0.6~1ms之间.我认为这样的响应时间已经是比较高的了. 事实上我们的成绩并不理想.用记忆算法跑有的时候还不如不用. 赛后我分析了原因, 最主要的是我们的调速做的太差了,交大用的是千元的编码传感器,精度能到1/256圈, 也就是车每走15/256cm就能够感觉到速度的变化,而我们只用了4个磁铁加一个霍尔传感器,并且因为四个磁铁距离不同所以最后我们的车每跑15cm才能感觉到速度的变化.这样你的调速算法做的在好,也无济于事,这也是赛后才想通的. 记忆算法先不介绍,我之后会放一篇文章出来,专门讲这个. 我的大一下半学期的时间都用来干这个了,而且还付出了挂了一科的代价,虽然没进决赛,但我已经极大的培养和锻炼了我自己,没什的可后悔的.我将不会参加第三届的比赛.我把源代码公开出来,希望大家能去其糟粕,取其精华,从中得到一些有用的东西.免得它放在我的硬盘里发霉生锈了.十分愿意和参加这项比赛的同学和老师交流,交换各自的想法和意见.如果愿意,同时也很希望能看到同学们在赛后吧自己的源代码贡献和公开出来. 如果任何BUG或建议请联系作者eic(superefei@hotmail.com) eic, Apr. 17, 2008

近期下载者

相关文件


收藏者