基于双核多接口的智能汽车控制系统设计
void Motor_init(void)
{
TPM2SC = 0x00; /* Stop and
reset counter */
TPM2MOD = VV_MAX;//15khz /* Period value setting */
(void)(TPM2C0SC == 0); /* Channel 0 int. flag clearing
(first part) */
/* TPM2C0SC: CH0F=0,CH0IE=0,MS0B=1,MS0A=0,ELS0B=
0,ELS0A=4 */
TPM2C0SC = 0x24;
/* Int. flag clearing (2nd part) and channel 0 contr. register setting
*/
TPM2C0V = VV_MAX/2; //50%占空比 /* Compare 0
value setting */
(void)(TPM2SC == 0); /* Overflow int. flag clearing
(first part) */
/* TPM2SC: TOF=0,TOIE=0,CPWMS=0,CLKSB=0,CLKSA=
1,PS2=0,PS1=0,PS0=0 */
TPM2SC = 0x08; /* Int. flag clearing (2nd part) and
timer control register setting */
}
普通I/O接口的应用
MC9S08DZ60单片机的普通I/O口操作可以用于逻辑控制、显示控制、信息采集等,其中对各个引脚的配置也比较简单,需要配置方向寄存器PTXDD、上拉使能寄存器PTXPE,压摆率寄存器PTXSE及数据寄存器PTXD,以A口为例:
Int_A()
{
PTADD=0X00;//作为输入
PTAPE=0XFF;//上拉使能
PTASE=0XFF;//压摆率使能
}
程序需要读取A口数据时直接读出PTAD寄存器的值即可。
结语
该系统实现了智能车车中各模块间的通信,对芯片的资源进行了充分的利用,实现了智能车多状态的实时监测,保证了车模的速度控制和路径优化,为以后的技术发展提供了很好的平台。
评语
MC9S08DZ60 MCU是Freescale半导体公司于2006年底月推出的一款低功耗、高性能的8位MCU,体积小,寄生参数减小,可靠性高,适合高频应用。可广泛应用于汽车电子、消费电子、工业控制和医疗设备等领域。本文针对智能模型车的系统需要,提供了一种双核的智能汽车控制系统设计方案,利用飞思卡尔芯片提供的双核间通信接口SPI,一个芯片处理传感器,另一芯片控制上位机与驱动电机和转向舵机等,这种设计方案有助于提高车辆的整体性能,通过上位机实时监控车辆运行状态,可大大提高智能汽车的调试效率和准确性。在算法设计上有继续提升的空间。
参 考 文 献
[1] 卓晴,黄开胜,邵贝贝.学做智能车[M]. 北京:清华大学出版社,2007.02
[2] 邵贝贝.单片机嵌入式应用的在线开发方法[M]. 北京:清华大学出版社,2004.08
[3] 陈伟,黄秋元,周鹏.高速电路信号完整性分析与设计[M].北京:电子工业出版社,2009.1
[4] MC9S08DZ60 Data Sheet[D]. Freescale Semiconductor,2007
[5] 谭浩强.C程序设计(第二版)[M]. 北京:清华大学出版社,1999.9
评论