本科论文基于ARM的控制系统硬件平台设计赵.docx
- 文档编号:2320401
- 上传时间:2023-05-03
- 格式:DOCX
- 页数:29
- 大小:205.12KB
本科论文基于ARM的控制系统硬件平台设计赵.docx
《本科论文基于ARM的控制系统硬件平台设计赵.docx》由会员分享,可在线阅读,更多相关《本科论文基于ARM的控制系统硬件平台设计赵.docx(29页珍藏版)》请在冰点文库上搜索。
本科论文基于ARM的控制系统硬件平台设计赵
基于ARM勺控制系统硬件平台设计
、系统需求分析
微电子技术勺迅猛发展使其在汽车上被广泛勺应用,
给汽车工业勺进一步发展带来了新
勺生机。
电子控制系统具有控制精度高、响应速度快、集成度高、体积小、重量轻、应用更加灵活等特点。
应用于汽车后,可使汽车有关系统在各种情况下都处在最佳勺工作状态,项受控指标都能获得较大的改善,是任何机械控制系统都难以达到的。
电子技术在汽车上的应用将使汽车很容易满足日益严格勺各项法规、人们对驾驶舒适性和方便性勺要求。
汽车行驶记录仪就是一种应运而生的产物,它是能够记录和再现汽车行驶状态的一种数
字式电子记录装置,它可以全程记录汽车的行驶数据,并通过对所记录的行驶信息数据的分析,对车辆勺行驶状况予以精确勺掌控。
汽车行驶记录仪可有效预防驾驶员勺违章驾驶,低车辆勺交通事故。
、系统功能
汽车行驶记录仪包括汽车行驶记录仪勺主机和计算机端勺数据分析软件这两部分组成。
这里重点介绍汽车行驶记录仪勺主机部分勺设计。
本课题所设计勺汽车行驶记录仪主要实现如下功能:
自检功能;实时时间、日期及驾驶时间勺采集、记录、存储功能;车辆行驶速度勺测量、记录、存储功能;车辆行驶里程勺测量、记录、存储功能;驾驶员身份记录功能;键盘操作功能;数据显示;数据通信功能。
在数据通信接口部分除了国家标准所规定的USB标准接口和标准RS-232—C型接口的这两
种通信方式外,课题中还增加了CAN总线接口功能和以太网总线接口功能。
三、系统结构图
根据以上系统功能的分析,该系统可实现对车速信号、开关量信号以及模拟量信号的采
集、处理以及数据勺实时存储和显示;通过串口、
USB接口、以太网接口可以实现与PC机
之间勺数据通信,对程序勺调试和文件系统勺下载,
同时可以在产品运行过程中对系统勺软
件进行升级;通过CAN总线接口可实现与汽车上的
CAN节点间的数据通信。
该系统的外围接
键盘操作模块、存储器模块、时钟模块、
口模块有电源模块、复位电路模块、信号采集模块、
1所示。
显示模块、JTAG调试接口以及通信接口模块,系统的组成框图如图
图1汽车行驶记录仪的组成框图
四、系统硬件选型与单元电路设计
1.微处理器
由于课题要求使用ARM9系列处理器,再加上基于以上系统需求的分析,所以这里我们
采用Motorola公司的MC9328MX微处理器。
它是一款嵌入了先进的低功耗ARM920T核高性
价比16/32位RISC微处理器。
除了ARM920T核以外,MC9328MX比较重要的片内外围功能模块包括:
2个UART通道;
2个SPI通道;
1个实时时钟控制器(RTC;
1个LCD控制器;
1个脉宽调制控制器;
1个Single—EndedSlaveUSB控制器;
1个MMC/S[卡控制器;
1个I2C控制器,运行速度可以达到200Hz;
1个CMO—Senser控制器;
11个DMA控制器;
1个模拟信号处理模块;
1个Buletooth模块接口控制器;
☆2个32位定时/计数器;
☆4X32个可编程的I/O口(可与其他引脚复用)
片内的逻辑控制电路包括:
中断控制器;
dram/sdrAM制器;
一个外部存储器控制器(EIM)可扩展ROM/SRA和FLASH等设备;
系统管理器;
一个内部32位系统总线仲裁器;
见附表1,总体框架
MC9328MX采用可256引脚的MAPBG封装形式,它的引脚定义及描述,
图如图2所示。
以下仅对需要使用的模块进行分析。
JTAG/ICE
Connectivity
MMC/SD
MemoryStick
HostController
SystemControl
Bootstrap
Power
Control
CPUComplex
ARM9TDMITM
CGM
(DPLLX2)
StandardSystem
I/O
SPI1andSPI2
ICache
DCache
URAT1
Multimedia
URAT2
Multimedia
SSIandI2S
AlPI1
VMMU
Interrupt
Accelerator
Controller
I2C
VideoPort
USBDevice
SmartCadI/F
Bluetooth
Accelerator
AlPI2
DMAC
(11Chnl)
Bus
Control
HumanInterface
AnalogSignal
EIM&
ESRAM
SDRAMC
(128K)
Processor
LCDController
图2MC9328MX1总体框图
2.电源模块
电源部分是整个电路正常工作的基础,它为处理器和各个部件提供工作电压。
由于车载
电源不稳定,首先需要对车内的12V电源进行稳压,然后通过线性稳压芯片把电压转换成5V。
而MC9328MX芯片中,CPU核心电路需要1.8V,CPU存储及I/O接口电路需要3.3V,因此需要分别将5V电压再变换成3.3V和1.8V,这样系统可以得到三种电压,满足系统各个部件的需要。
有很多DC-DC转换器可以完成5V到3.3V、1.8V的转换,例如线性电源Linear
Technology的LT108X系列。
常见的型号和对应的电流输出如下:
LT1083
7.5A
LT1084
5A
LT1085
3A
LT1086
1.5A
这里我们选择LT1085和AS1117—ADJ进行5V到3.3V和1.8V的转换,系统的电源电路
如图3所示。
图3系统电源电路
3.时钟模块
晶振电路用于向CPU及其他电路提供工作时钟,MC9328MX可使用32kHz,32.768kHz和
38.4kHz的无源晶振。
这里我们使用单一的32kHz时钟源。
32kHz时钟输入MC9328MX后,
先经过预倍频PLL倍频后达到16.384MHz,并输入到SystemPLL和MCUPLLMCUPLL可将
输入的16.384MHz倍频升到最高192MHz提供给CPU核使用。
SystemPLL将输入的16.384MHz
倍频到96MHz提供给EIM以及外围模块使用。
晶振电路的接法如图4所示。
<—|.kM'.n.fii
XI
:
f拠b
图4晶振电路
4.复位电路模块
复位能够迅速使微控制器进入到开始状态,并且从用户定义的存储器地址开始执行程序。
MC9328MX中有两种复位信号:
PORnRESET_INPOR为高电平有效,高电平应至少保
持4个32kHz时钟周期。
POF是最原始的复位信号,当电源刚刚加上时被激活,用以复位整
个MC9328MX芯片。
nRESET_IN是用户复位,低电平有效,低电平至少保持4个32kHz时钟
周期,用以复位除了复位模块和时钟控制模块外的整个MC9328MX芯片。
在系统中,复位电
路主要完成系统的上电复位和系统在运行时用户的按键复位功能。
上电复位(POR是由MC9328MX的VDD引脚上的电压正跳变引起的内部复位。
上电复
位的过程为:
①使CPU和其他模块的时钟信号稳定地延时4096个CGMXCL周期。
②使RTS
引脚在振荡器稳定之前保持低电平。
③在振荡器稳定之后
32个CGMXCL周期内释放
RTS引
脚。
④在振荡器稳定之后64个CGMXCL周期内CPU开始从复位向量执行程序。
⑤在
SIM复
位状态寄存器中将POR位和LP位设置为逻辑“1”,并且将所有其他标志位清零。
系统采用的复位电路如图5所示,工作原理如下:
①在系统上电时,通过电阻
R1、R3
向电容C3C15充电,当电容两端的电压未达到高电平的门限电压时,
POR端输出为高电平,
RESET_IN端输出为低电平,系统处于复位状态;当电容两端的电压达到高电平的门限电压
时,POR端输出为低电平,RESET_IN端输出为高电平,系统进入正常工作状态。
②当用户按
下复位键时,C15两端的电荷被泻放掉,RESET_IN端输出为低电平,系统进入复位状态,再
重复以上的充电过程,系统进入正常工作状态。
图5系统的复位电路
5.存储器模块
①FLASH存储器
Flash存储器是
种可进行电擦写,掉电后信息不丢失的存储器。
汽车行驶记录仪中的
数据包括实时数据和历史数据,并且实时数据更新频繁,而Flash存储器的擦写速度快,因
此可以用Flash存储器来保存这些数据。
根据课题要求需要8MB的DataFlash,这里我们
选用2片4MB的28F320J3AFlash来构成8MB的Flash存储器。
28F320J3A的单片存储容量为32Mb(4MB,工作电压为2.7〜3.6V,采用56脚TSOP封
装或56脚EBGA封装,16位数据宽度,可以以8位(字节模式)或16位(字模式)数据宽
度的方式工作。
部的命令寄存器写入标准额命令序列,可对
Flash进行编程(烧写)、整片擦除、按扇区擦
除以及其他操作。
由于ARM微处理器的体系结构支持
8位/16位/32位的存储器体系,对应的可以构建8
位、16位、32位的Flash存储器系统。
32位的存储器系统具有较高的性能,而16位的存
28F320J3A仅需单3V电压及可完成在系统的编程与擦除操作,通过对其内
储器体系则在成本及功耗方面占有优势,而8位的存储器系统现在已经很少使用了。
在此,
我们用两片28F320J3A并联来构建8MB32位数据宽度的Flash存储器。
采用两片28F320J3A来构建32位存储器的话,其中一片为高16位,另一片为低16位。
两片28F320J3A将作为一个整体配置到MC9328MX外围接口模块的CS0空间,即MC9328MX1
的nCSO接至两片28F320J3A的#CEO端,#CE1#CE2接地。
两片
28F320J3A的RP#端接VCC
两片
28F320J3A的OE#端接MC9328MX的nOE
两片
28F320J3A的W#端接MC9328MX的nEB;
两片
28F320J3A的BYTE#均上拉,使之均工作在字模式;
两片
28F320J3A的地址总线[A21〜A1]均与MC9328MX的地址总线[A22〜A02]相连;
低16位片的数据总线与MC9328MX的低16位数据总线[D15〜D00]相连;
高16位片的数据总线与MC9328MX的高16位数据总线[D31〜D16]相连;
图6为32位Flash存储器系统的连接电路图。
.Sa
Eli
iKlIII■■
3Srf2D;i^
.u:
U.H
I
ra.h
wiwn理iL
IL
乂
u
Ul
•眾
l-b
vnnirDpriiHI*.
HL才U>
hLr
H-i
hi-p
I'l:
11
'.tL
:
曰
21
^f=
图632位8MBFlash存储器系统接口电路
2SDRAM
SDRAM的存储单元可以理解为一个电容,总是倾向于放电,为避免数据丢失,必须定时
刷新充电,因此,要在系统中使用SDRAM就要求微处理器具有刷新控制逻辑,或者在系统
中另外加入刷新控制逻辑电路。
而MC9328MX在片内具有独立的SDRAM刷新控制逻辑,可方
便地与SDRAM接口。
目前常用的SDRAM为8位/16位的数据宽度,工作电压一般为3.3V,由于课题需要64MB的SDRAM这里我们采用两片32MB(4Banksx4Mk16Bit)的HY57V561620C并联而成。
其
中一片为高16位,另一片为低16位,可将两片HY57V561620C?
作为一个整体配置到
SDRAM/SDRAMCSDGBDRAM/SDRAMCS啲任一位置,一般配置到SDRAM/SDRAMCSD(即将
MC9328MX的SDCS0接至两片HY57V561620C的/CS端。
两片HY57V561620C的CLK端接至MC9328MX的SDCLK端;
两片HY57V561620C的CLE端接至MC9328MX的SDCKE0端;
端;
两片
HY57V561620C
的/RAS、/CAS、/WE端分别接MC9328MX的nRAS端、nCAS端、nSDWE
两片
HY57V561620C
的A08〜A00接至MC9328MX的地址总线
A10〜A02;
两片
HY57V561620C
的A10〜A09接至MC9328MX的地址总线
MA1〜MA1Q
两片
HY57V561620C
的A11接至MC9328MX的地址总线A12;
两片
HY57V561620C
的BA1〜BA0接至MC9328MX的地址总线
A14〜A13;
高16位片DQ1〜DQ0接MC9328MX的数据总线的高
16位D31〜D16;
低16位片DQ1〜DQ0接MC9328MX的数据总线的低
16位D15^D0;
高16位片UDQMLDQM分别接MC9328MX的DQM3
DQM2低16位片的UDQMLDQM分
别接MC9328MX的DQM、DQM0
图7为32位SDRAM存储体系的实际应用电路。
桃』A«)Ll
WKI_fUk出【
YM
叱■■rc—
w
I^._tRi>=>'iXi出二:
I-!
XM.EHjinAc-JEijm匚»lni』HjLLir^UnADUt卜JI口?
I-r---L--,+—ItL-门产
图832位64MBSDRAM储体系的实际应用电路
6.通信接口模块
课题中所设计的通信接口有标准RS-232-C串行接口、USB标准接口、CAN总线接口以及
以太网接口。
其中标准RS-232-C串行接口、USB标准接口和以太网接口可以实现PC机向汽
车行驶记录仪的数据下载功能和由记录仪主机向
PC机的数据上传功能(这样能方便驾驶员
身份识别以及发生交通事故时获取汽车的行驶数据,从而有利于对交通事故的分析)
,以及
对应用软件的升级。
而CAN总线接口是为了方便汽车行驶记录仪与汽车上的代用
CAN接口的
电子控制系统之间进行通信。
①串行接口
目前PC和几乎所有的微控制器都提供串行接口,使用电子工业协会推荐的
RS-232-C
标准,这是一种很常见的串行数据传输总线标准,通常使用到计算机的
I/O
接口中。
RS-232-C标准采用的是9芯或25芯的D型插头,它们的引脚图和各管脚的定义这里不
再赘述。
MC9328MX提供两个UART通信口,采用的是标准的DB-9接口。
要完成最基本的串行
通信功能,实际上只需要RXDTXD和GND即可。
但由于RS-232-C标准所定义的高、低电平
信号与MC9328MX1的LVTTL电路所定义的高、低电平信号完全不同,MC9328MX中的UART
通信电路采用LVTTL逻辑电平,2〜3.3V
逻辑“0”而RS-232-C采用负逻辑方式,
电平是LVTTL的标准逻辑“1”,0〜0.4V为其标准
为其标准逻辑“0”显然,在TTL电平和
EAI电平之间进行通信必须经过电平转换,目前常
-5〜-12V电平为其标准逻辑“1”+5〜+12V电平
图9UART1口电路图
l.AkT]
LAKI]
图10UART2口电路图
用的电平转换RS-232接口芯片有MAX232MAX3221MAX3243等。
这里我们使UART1采用3线制通信方式,使用MAX3221进行电平转换,电路图如图9
10所示。
所示;UART2采用9线制通信方式,使用MAX3243进行电平转换,电路图如图
②USB接口
MC9328MX内置了一个Single-EndedUSB模块,所以需要通过外接一个Philips公司
的transceiverPDIUSBP11A进行收发数据的电平转换。
PDIUSBP11A是一个性能优化的USB器件,通常用于基于单片机的系统并与单片机通过
高速通用并行接口进行通信,也支持本地DMA专输;该器件采用模块化的方法实现一个USB
接口允许在众多可用的单片机中选择最适合的作为系统单片机,
允许使用现存的体系结构并
使固件投资减到最小。
这种灵活性减少了开发时间、风险和成本,是开发低成本且高效的
USB外围设备解决方案的一种最快途径。
USB通信接口电路如图11所示。
图11USB通信接口电路
③以太网接口
以太网接口电路主要由MAC控制器和物理层接口两大部分构成。
常见的以太网物理层接
口芯片有RTL8019RTL8029、RTL8039CS8900DM9008等。
这里我们选用CS890Q该芯片是一款单口10/100Mbps快速以太网物理层接口,支持多
种工作方式。
又由于课题要求带隔离变压器和状态指示灯,因此以太网的接口电路如图
12
所示,其中LINKLED连接的指示灯,用来表示Link状态;LANLED连接的指示灯,用来表示
Lan状态。
砒IC;l;l'Hl
IS,
S.UiSlG:
MJ
ID
d|:
:
Jk
njiii
图1210/100Mbps以太网接口电路
④CAN通信接口电路
它是一种多主总
而不分主
CAN总线是一种有效支持分布式控制和实时控制的串行数据通信协议,
线,网络上任意一个节点均可以在任意时刻主动地向网络上的其他节点发送消息,从,节点之间有优先级之分,因而通信方式灵活。
由于MC9328MX具有两路串行外高接口(SPI),因此能实现两路CAN总线。
这里我们选
用Microchip公司的、具有SPI端口连接能力的MCP2510芯片实线CAN总线通讯,电路图如
图13所示。
INNJ3J
叱IUlih
laBCBg毘
1u雌卑i
FTg
Kcan^^itfX]
1(1
切
nr
及ili【:
、
.l.hrOI
fitlTF
-.A?
RM潜
.a强卅脱
LL4
讥耳
MJ
UAI
■-
仔1
船刊
Il7=
L.观~.
【如
曲门
.从巴
图13CAN接口电路图
7.键盘接口电路
键盘模块键盘可以用来输入数字型数据或者选择控制设备的操作模式。
课题需要设置的
按键有车速显示按键、里程显示按键、模拟量显示按键、USB数据传输按键、串口数据传输
按键、以太网数据传输按键、驾驶员信息输入按键。
MC9328MX提供了8个GP10端口,可由这8个GP10进行键盘扫描,根据获得的GPI0端口状态来判断哪个键被触发,最大扫描阵列为4X4,足够满足课题要求。
以MC9328MX1
的PA15PA16PC16PC17作为列输出驱动,用MC9328MX的PC14PC15PA0PC13作为行扫描线。
具体接线图如图14所示。
图14键盘接口电路
8.显示模块
课题中使用SHARPS司的KCS057QVIAJ液晶屏,该液晶屏最大分辨率为:
320X240、采
用彩色STN制式、使用CCFL背光。
在系统中LCD数据总线由MC9328MX的LCDALCD7
经过总线驱动芯片驱动后提供给LCD控制总线由MC9328MX控制总线经过驱动芯片后提供
给LCDLCD背光管的电源部分由逆变器将直流电源转换成交流电源后提供,可通过按键打
开和关断LCD的电源及背光管的电源。
若所选逆变器输出亮度可以调节,则可以通过调节电
位器的电阻进行亮度调整。
具体的接口原理图如图
15所示。
图15LCD显示模块接口原理图
9.信号采集模块
信号采集模块需要采集的信号有车速信号、开关量信号以及模拟两信号。
通过霍尔式车速传感器输出汽车的车速信号,由于传感器输出的信号不是标准的脉冲信
号,故需要对该车速信号进行整形处理。
车速信号先通过运算放大器进行信号的放大,
然后
通过施密特触发器把车速信号整形成脉冲信号,然后把该脉冲信号与
MC9328MX引脚相连。
通过定时器的脉冲捕获功能,可测量出脉冲信号的脉宽,经过运算可获得汽车的车速。
通过
对脉冲信号的计数,可得到汽车的里程。
开关信号分别为:
前照灯、左转向开关、右转向开关、尾灯、倒车灯、汽车喇叭开关、
中央控制门锁、车门开关。
将这8路信号先经过光耦隔离后,与MC9328MX1的POARTA8
P0ARTA1连接,然后读取LED灯的状态,就可知道各路开关的状态。
两路模拟量信号分别为冷却水温信号和节气门开度信号。
由于冷却水温传感器、节气门
传感器的输出信号均为电阻信号,故先把传感器输出的电阻信号转换为电压信号,经过
路运算放大器对这两路电压信号整形,然后再把这两路信号输出到微处理器的模数转换引脚
进行模数转换。
这里选择ADC0809进行数模转换,转换接口电路图如图16所示。
愜槪MlfWi■lbMil
iWr0'
工|WO
眶IRhO"□jq阳匚>
ii-Nja.III、o[
IJLisri
图15ADC0809接口电路图
10.JTAG接口电路
14针接口。
目前JTAG接口的连接有两种标准,即14针接口和20针接口。
本系统采用
本系统中JTAG接口功能有:
通过JTAG线与主机主控板相连,将启动程序写进主控板的Flash
中;JTAG口与JTAG仿真器硬件连接,利用相应的调试工具观察CPU的状态;调试工具可以
检查和控制CPU运行。
具体
JTAG接口电路图如图16所示。
|]
1飞
*
弭
II
lllFiV;
图16JTAG接口电路
五、系统的软件设计
1.系统的主程序流程图
本课题中汽车行驶记录仪软件部分所要实现的功能是对汽车的行驶状态数据的定时采集、存储、与PC机进行串口和USB通信、与汽车的其它CAN节点间的通信、LCD显示、
图17系统的主程序流程图
2.串口的初始化程序
本课题采用的操作系统是Linux。
①串口操作需要的头文件
#inelude
#inelude
#inelude
#inelude
#inelude
#inelude
#inelude
#inelude
②打开串口在Linux下串口文件是位于/dev下的串口一为/dev/ttyS0,串口一为/dev/ttyS
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 本科 论文 基于 ARM 控制系统 硬件 平台 设计