微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于MC9S12XS128的单片机开发板的设计

基于MC9S12XS128的单片机开发板的设计

时间:08-13 来源:现代电子技术 点击:

0 引言

"飞思卡尔"杯全国大学生智能车竞赛是以迅速发展的汽车电子为背景,涵盖控制、模式识别、传感技术、电子、电气、计算机、机械等多个交叉学科的科技创意性比赛,该项目由大赛组委会统一提供车模,利用指定的微控制器作为核心控制单元,各参赛队伍在此基础上自主进行系统设计,完成智能车的制作,使其能够在专门设计的跑道上自动识别道路,并以最高速度行驶。此项赛事旨在加强大学生的创新意识、团队合作精神和培养学生的创新能力。本文设计了基于MC9S12XS128(飞思卡尔指定芯片)的单片机开发系统,为即将参加此项竞赛的同学提供学习平台。实际应用结果表明,此项开发板的应用大大提高了大学生制作智能车的开发效率。

1 系统硬件设计

MC9S12XS128单片机开发板由MC9S12XS128单片机最小系统、电源模块、CAN/LIN总线接口、USB转串口、标准异步串行接口、MAX 485通信接口、4×4矩阵键盘键号的识别与显示电路(包括数码管和液晶显示接口)和电机驱动接口组成,系统框图如图1所示。



1.1 电源模块设计

此开发板上提供2种输出电压,分别为5 V和12 V,输出的12 V电压可以通过LIN总线接口外接,同时提供2种电压输入方式,通过公用一个电源插头给此开发板送入5 V或12 V电压,当输入5 V电压时,开关s,需打到5 V档上,板内芯片ST662将5 V的电压转换为12 V电压,给需要12 V电压的模块供电。当选择使用输入12 V电压给开发板供电时,开关S1需打到12 V档上。此供电系统的原理图如图2所示。



1.2 CAN总线与LIN总线设计

TJA1041高速CAN收发器通过接头与MC9S12XS128的CAN总线引脚相连。考虑到CAN总线的不常使用,和功耗比较大,所以系统不但设计了这2种总线接口,为了方便又设计了J-CAN-SELECT接头和J-LIN-Selector接头。当使用CAN总线时,用跳线帽把J-CAN-SELECT接头选通,当使用LIN总线时,用跳线帽把J-LIN-SELECT接头选通。CAN总线原理图(LIN总线原理图略)如图3所示。



1.3 通信接口设计

文中采用单片机与PC机之间的异步通信模式,将单片机看成另外一个PC机,只需3根线:发送线,接收线和固定公地线。由于MC9S12XS 128内部集成有2个串口控制器,可以选用其中一个作为RS 232串口使用,另外一个作为485总线的控制器。单片机内部TTL电平与RS 232信号电平之间的电平转换选用MAXIM公司的MAX 232芯片。串口和485接口原理图如图4所示。

其中PS1为对应的单片机上串行控制接口0的发送端,PS0为接口0的接收端。另外为了方便应用,设计了USB转串口电路,原理图如图5所示。由于MC9S12XS128内部只集成有2个SCI控制器,所以USB转串口,串口,LIN,485四种通信接口需要公用2个SCI控制模块:串口与USB转串口公用SCI0,485与LIN公用SCI1。USB协议转换成串口通信协议选用PL2303芯片。



1.4 直流电机驱动电路

直流电机驱动电路采用组委会推荐的专用电机驱动芯片MC33886,驱动电路如图6所示。其中,V1+接电池正极;VCC接系统+5 V;OUT+和OUT2-接直流电机;IN1和IN2控制MC33886输出不同的值。


1.5 矩阵键盘按键识别

在MC9S12XS128单片机的I/O口设计4×4行列式键盘,采用程序扫描识别键号,当有按键按下时,其键号显示在共阴极LED数码管上。其电路如图7所示。在键盘的按键识别中通常采用"行扫描法"(逐行或列)扫描查询法。判断键盘中有无键按下时,将列线PT0~PT3置为输出,将其中一条线置低电平其余3条线输出高电平,然后检测行线的状态。只要有一行的电平为低,则表示键盘中有键被按下,而且闭合的键为被拉低的低电平行线与4根列线中低电平线相交叉的对应按键。若判断所有行线均为高电平,则键盘中无键按下(具体可用查表的方法)。

但是此种方法单片机需要通过不停的扫描查询,方可准确的检测到按键值。考虑到PP口有中断功能所以可将这4个口设置成中断的模式来获得按键值,本设计中是将拉高的4位通过一个与门接到单片机的带中断的引脚上,这样当任意键按下时就会产生低电平发生中断,这时单片机再进行按键判断,从而无需一直查询,减少了MCU的负荷量。

数码管显示电路采用共阴极使用两个锁存器74HC573分别接到PORTA口和PORTB口来实现。也可应用液晶显示接口:1602和12864接口显示。

2 系统软件设计

系统软件采用C语言编写,由于存在键盘阵列、数码管显示和液晶显示,它可以完成较多的常规实验项目。如LED流水灯实验、基于PWM控制的蜂鸣器实验、数码管驱动、键盘驱动、1602液晶驱动、ATD转换等多个实验;还可以进行目前工业控制所常用的通信试验,如串口,IIC,CAN,LIN,485总线实验,基本具备单片机开发工业控制系统的能力。下面以电子钟为例来介绍其软件设计思想。

在电子钟设计中对于时间的产生,选择PIT0,即对周期中断定时器0做初始化,使其每隔1 ms产生1次中断,定义4个变量分别为:毫秒,秒,分,时,然后在中断服务程序中根据这4个变量在实际中的关系更新这4个变量。在主程序中判断键盘按键值和进行时间显示,这里定义3个键值:1,2,3。软件程序流程图如图8所示。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top