学习嵌入式之基于ARM9的智能车载系统设计
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
随着社会经济的发展,汽车已成为人们工作、生活 中不可缺少的一种交通工具。在当前的汽车产业中, 出于对安全性、舒适性、方便性、低公害、低成本 的要求,开发了各种各样的电子控制系统。本文设 计一种基于arm9 S3C2410A的智能车载系统,它 能够通过GPS全球定位系统和GPRS无线通信技术, 实现车辆定位以及车辆与控制中心之间的数据通信, 构建CAN总线控制模块用于采集车辆主要部分的工 作状态,实时监控汽车的主要技术参数,并通过 LCD模块显示车载信息的综合信息。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
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。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
本系统数据链路层采用PPP协议,它是一种面向字符 的协议,是为在两个对等实体间传输数据包连接而设计 的,使用可扩展的链路控制协议LCP来建立、配置和测 试数据链路。用网络控制协议族NCP来建立和配置不同 的网络层协议,并且允许采用多种网络层协议。一个 PPP会话分四个步骤:建立连接、连接质量控制、网络 层协议配置和连接终止。 嵌入式Linux系统内核源自于Linux内核,并保留了 对TCP/IP以及其他的网络协议的支持。在嵌入式 Linux系统上编写网络应用程序与在Linux上编写网络 应用程序没什么大区别,通常只需要做很小的修改就可 以移植到嵌入式Linux系统上。至此,GPRS模块完整地 集成到嵌入式终端中。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入百度文库移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
交叉编译环境是一个由编译器、连接器和解释器组 成的综合开发环境。BootLoader是系统加电启动 运行的第一段软件代码,类似于PC机的BIOS加上 硬盘MBR中的引导程序。它可以初始化硬件设备, 建立内存空间的映射图,从而将系统的软硬件环境 带到一个合适的状态,为最终调用操作系统内核或 用户应用程序准备好合适的环境。Linux操作系统 的移植是将Linux内核经过重新的剪裁、编译后移 入到S3C2410A上。下面主要阐述各模块驱动和应 用程序的编写。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
由于Linux具有源代码公开、剪裁方便、移植方便等诸多优点,所以 本系统选择嵌入式Linux作为软件运行平台。嵌入式Linux是将Linux 内核移植到S3C2410A平台上。嵌入式Linux操作系统不仅可使软件 的开发更加灵活,也能使整个系统的可靠性得到提高。该软件设计的 具体流程如图2所示。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
GPS模块软件设计的基本思想如下:首先接收完整 的NMEA0183语句,然后提取相关的数据(时间、 经纬度、速度),再将这些数据送去显示或者发送出 去,并且可以保存,以便日后查看。 由于GPS模块是通过串行口1与S3C2410A进行 通信的,因此本文设计了Linux系统下相应的串行 口通信程序。串口程序设计具体步骤如下: (1)串行口1的初始化:设置串行口1的通信方式 为8位数据位,1位停止位,无奇偶校验位。波特率 为4 800 b/s。 (2)一帧一帧接收ASCII码字符信息。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
LCD模块用以实现信息的显示,提供一个良好的人 机交互界面。本系统主控模块的处理器S3C2410 内置了LCD控制器,支持STN-LCD和TFT-LCD。 本文选用夏普公司的TFT-LCD模块 LQ080V3DG01,该模块具有640×480的分辨率, 18位的颜色深度,可与S3C2410A的LCD接口直接 相连。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
GPRS模块是借助GPRS无线网络实现数据的无线传输, 从而在不同的车辆或车辆与控制中心之间架起沟通的桥 梁,所以软件的功能主要是建立无线连接,按照GPRS 通信协议传输数据。 GPRS模块的通信主要是通过串口驱动实现,在嵌入 式Linux内核中已经提供了对串设备的支持,因此在配 置内核编译选项时,只需要选中对串口设备的支持,就 可以实现对GPRS模块的串口数据通信功能。为了实现 与Internet的通信,还需要在配置内核编译选项时选中 PPP和TCP/IP协议。这样一旦网络连接建立,就可以 使用应用程序来实现网络数据的通信。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
(3)对每一帧ASCII码字符信息进行数据处理。 在数据处理过程中,针对需要的定位信息要求, 设计了如下的串行通信思想:①以“$GPRMC”为过 滤条件,接收定位语句。 ②在“$GPRMc”之后的59个字符为有用的信息, 所以用“59”作为判断定位语句完整的依据。 ③在数据接收的过程中往往会有两种情况,一种 是每帧会得到一个以“$GPRMC”开头的完整语句, 另一种是上一帧的后半部分在加下一帧的前一部分 共同组成的完整定位语句。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
故障检测模块主要是对汽车的主要技术参数进行检 测,并显示到LCD显示器上,如果检测到故障,会 发出报警信号。本文主要检测的技术参数包括燃油 消耗量、制动力、转向力、发动机温度、冷却液温 度、前照灯,以及车内噪声和尾气等方面。该模块 主要是通过各种传感器把各种信号转换为电信号, 再利用信号处理电路把电信号进行相应的处理,使 其能与CAN总线模块进行数据传输。
本系统以S3C2410A为主控模块,扩展了64 MBNand Flash,用于存放启动代码和嵌入式 Linux操作系统等;64 MB SDRAM用作系统运行 时的内存;LCD提供了更好的人机交互界面,并通 过串口与GPS模块相连,通过UART异步串口与 GPRS模块相连,通过SPI接口与CAN总线相连,利 用CAN总线挂接传感器,检测汽车主要技术参数, 系统框图如图1所示。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
GPRS模块主要完成车辆与车辆、车辆与控制中心 的通信。在本系统中,GPRS模块选用MC35。 MC35的数据输入/输出接口实际上是一个UART, 它可以与S3C2410中的UART接口直接相连。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
CAN总线驱动程序要完成的报文发送、接收等任务 都是围绕CAN总线控制器展开的,因此驱动程序主 要是对控制器MCP2510内部寄存器进行操作。 CAN总线控制器MCP2510的初始化按照以下步骤 进行:(1)软件复位,进入配置模式; (2)设置CAN总线波特率; (3)关闭中断,设置ID过滤器; (4)切换MCP2510到正常状态; (5)清空接收和发送缓冲区; (6)开启接收缓冲区,开启中断。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
车载智能导航终端应具有如下功能: 车辆定位 它指通过GPS全球定位系统获取车辆的当前所 处位置,包括经度、纬度、运动速度、标准时间以及海拔高 度等信息;网络通信 它采用GPRS无线通信技术,与监控中 心保持联系,实时获取道路交通状况,为交通道路的智能管 理提供基础; 故障检测它通过CAN总线实时检测汽车的主要技术参数; 信息显示 它通过LCD液晶屏显示车辆位置、调度信息以 及检测到的汽车技术参数。 智能车载系统可根据用户需要实现其他功能,例如通过 GPRS自动报警增加自动报警功能,扩展音频设备和IDE接口 设备以增加娱乐功能,通过USB接口连接图像采集设备,对 车内外进行视频监控等功能。
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
引言 1智能车载系统的功能 2智能车载硬件系统设计 2.1主控模块 GPS模块 2.2 GPS模块 2.3 GPRS模块 GPRS模块 CAN总线模块 2.4 CAN总线模块 2.5故障检测模块 LCD模块 2.6 LCD模块 3智能车载系统软件设计 3.1 GPS定位功能实现 GPS定位功能实现 GPRS通信模块实现 3.2 GPRS通信模块实现 CAN模块实现 3.3 CAN模块实现 4结语
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
CAN总线模块可以使本系统与其他车载模块的连接, 完成收集车辆的状态信息以及进一步控制。CAN总 线模块主要包括CAN总线的控制器和收发器,在这 里分别选用的是Microchip公司的MCP2510和飞利 浦公司的PCA82C250。其中,CAN总线控制器 MCP2510实现了CAN总线的协议,CAN总线收发 器PCA82C250提供协议控制器和物理传输线路之 间的接口。由于CAN总线控制器MCP2510具有SPI 接口,因此,系统中将其与S3C2410A的SPI0相连。
www.embedtrain.org www.mobiletrain.org
千锋3G嵌入式移动互联网技术研发培训中心 千锋3G嵌入式移动互联网技术研发培训中心 3G
GPS模块主要完成GPS定位信息的接收和处理。根 据设计性能的要求和节约系统成本的考虑,选用的 就是GarmIN公司的GPS25-LVC接收机,其内置了 GPS25OEM板。该接收机与主控模块的接口方式采 用RS 232兼容TTL的串行口方式,因此设计中将其 与S3C2410A的串口1相连。GPS-25LVC与 S3C2410A之间信号线仅需要连接GPS25-LVC的 TXD1与S3C2410A的TXD1。另外,还要将 GPS25-LVC的地线和电源线连接到主控板的地线 和5 V电源上。