基于ARM9的嵌入式智能车载系统设计
引 言
随着社会经济的发展,汽车已成为人们工作、生活中不可缺少的一种交通工具。在当前的汽车产业中,出于对安全性、舒适性、方便性、低公害、低成本的要求,开发了各种各样的电子控制系统。本文设计一种基于ARM9 S3C2410A的智能车载系统,它能够通过GPS全球定位系统和GPRS无线通信技术,实现车辆定位以及车辆与控制中心之间的数据通信,构建CAN总线控制模块用于采集车辆主要部分的工作状态,实时监控汽车的主要技术参数,并通过LCD模块显示车载信息的综合信息。
1 智能车载系统的功能
车载智能导航终端应具有如下功能:
车辆定位 它指通过GPS全球定位系统获取车辆的当前所处位置,包括经度、纬度、运动速度、标准时间以及海拔高度等信息;
网络通信 它采用GPRS无线通信技术,与监控中心保持联系,实时获取道路交通状况,为交通道路的智能管理提供基础;
故障检测 它通过CAN总线实时检测汽车的主要技术参数;
信息显示 它通过LCD液晶屏显示车辆位置、调度信息以及检测到的汽车技术参数。
智能车载系统可根据用户需要实现其他功能,例如通过GPRS自动报警增加自动报警功能,扩展音频设备和IDE接口设备以增加娱乐功能,通过USB接口连接图像采集设备,对车内外进行视频监控等功能。
2 智能车载硬件系统设计
本系统以S3C2410A为主控模块,扩展了64 MBNand Flash,用于存放启动代码和嵌入式Linux操作系统等;64 MB SDRAM用作系统运行时的内存;LCD提供了更好的人机交互界面,并通过串口与GPS模块相连,通过UART异步串口与GPRS模块相连,通过SPI接口与CAN总线相连,利用CAN总线挂接传感器,检测汽车主要技术参数,系统框图如图1所示。
2.1 主控模块
S3C2410A是韩国三星公司面向手持设备以及高信价比、低功耗和低价格而设计的一款基于ARM920T内核的16/32位RISC嵌入式微处理器。它采用5级流水线,资源丰富;带有独立的16 KB的指令Cache和16 KB的数据Cache,64 MB SDRAM,64 MB NandFLAsH,LCD控制器,RAM控制器,NAND内存控制器,3路UART,4路DMA,4路带PWM的定时器,并行I/O口,8路10位ADC,Touch Screen接口,I2C接口,I2S接口,2个USB接口控制器,2路SPI,其工作频率最高达到203 MHz。
2.2 GPS模块
GPS模块主要完成GPS定位信息的接收和处理。根据设计性能的要求和节约系统成本的考虑,选用的就是GARMIN公司的GPS25-LVC接收机,其内置了GPS25OEM板。该接收机与主控模块的接口方式采用RS 232兼容TTL的串行口方式,因此设计中将其与S3C2410A的串口1相连。GPS-25LVC与S3C2410A之间信号线仅需要连接GPS25-LVC的TXD1与S3C2410A的TXD1。另外,还要将GPS25-LVC的地线和电源线连接到主控板的地线和5 V电源上。
2.3 GPRS模块
GPRS模块主要完成车辆与车辆、车辆与控制中心的通信。在本系统中,GPRS模块选用MC35。MC35的数据输入/输出接口实际上是一个UART,它可以与S3C2410中的UART接口直接相连。
2.4 CAN总线模块
CAN总线模块可以使本系统与其他车载模块的连接,完成收集车辆的状态信息以及进一步控制。CAN总线模块主要包括CAN总线的控制器和收发器,在这里分别选用的是Microchip公司的MCP2510和飞利浦公司的PCA82C250。其中,CAN总线控制器MCP2510实现了CAN总线的协议,CAN总线收发器PCA82C250提供协议控制器和物理传输线路之间的接口。由于CAN总线控制器MCP2510具有SPI接口,因此,系统中将其与S3C2410A的SPI0相连。
2.5 故障检测模块
故障检测模块主要是对汽车的主要技术参数进行检测,并显示到LCD显示器上,如果检测到故障,会发出报警信号。本文主要检测的技术参数包括燃油消耗量、制动力、转向力、发动机温度、冷却液温度、前照灯,以及车内噪声和尾气等方面。该模块主要是通过各种传感器把各种信号转换为电信号,再利用信号处理电路把电信号进行相应的处理,使其能与CAN总线模块进行数据传输。
2.6 LCD模块
LCD模块用以实现信息的显示,提供一个良好的人机交互界面。本系统主控模块的处理器S3C2410内置了LCD控制器,支持STN-LCD和TFT-LCD。本文选用夏普公司的TFT-LCD模块LQ080V3DG01,该模块具有640×480的分辨率,18位的颜色深度,可与S3C2410A的LCD接口直接相连。
3 智能车载系统软件设计
由于Linux具有源代码公开、剪裁方便、移植方便等诸多优点,所以本系统选择嵌入式Linux作为软件运行平台。嵌入式Linux是将Linux内核移植到S3C2410A平台上。嵌入式Linux操作系统不仅可使软件的开发更加灵活,也能使整个系统的可靠性得到提高。该软件设计的具体流程如图2所示。
交叉编译环境是一个由
- 基于ARM9的智能车载系统设计(10-26)
- 通讯硬件接口综述(11-11)
- 基于ARM的车载GPS智能导航系统(11-19)
- 基于GPS定位的嵌入式汽车监控器设计(01-14)
- GSM/GPS车载系统中LCD中文显示的编程方法(05-06)
- 基于DSP技术汽车定位防盗系统的体系结构研究(05-26)