嵌入式Linux编程入门与开发实例-第11章.ppt
《嵌入式Linux编程入门与开发实例-第11章.ppt》由会员分享,可在线阅读,更多相关《嵌入式Linux编程入门与开发实例-第11章.ppt(81页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第第11 11章章 嵌入式车载终端的设计嵌入式车载终端的设计 随着社会的快速发展以及人民生活水平的提高,汽车及相关产业在整个国民经济中的地位变得越来越重要。数字信息技术以及网络技术的高速发展,使人民在追求驾驶舒适性、便利性的同时,汽车的自动化、智能化和网络化也相应地被提上了日程。车载终端是车辆导航、管理、监控和调度等ITS应用的基础,智能的车载终端为驾驶员提供了集通信,多媒体播放,导航,娱乐为一体的多种服务。车载移动多媒体系统的研制和产业化的实施,对发展车载移动多媒体应用信息产业,带动相关产业的共同发展具有十分重要的意义。第第11 11章章 嵌入式车载终端的设计嵌入式车载终端的设计 车载终端的
2、硬件平台车载终端的硬件平台11.1嵌入式开发环境的建立嵌入式开发环境的建立11.2嵌入式车载终端软件的开发嵌入式车载终端软件的开发11.311.1 11.1 车载终端的硬件平台车载终端的硬件平台本设计选择的是SamSung的S3C2440A做为处理芯片,基于ARM920T内核,400MHz;S3C2440A的CPU内 核 采 用 的 是 ARM公 司 设 计 的 16/32位ARM920TRISC处 理 器。ARM920T实 现 了 MMU、AMBA总线和Harvard高速缓存体系结构,该结构具有独立的16KB指令Cache和16KB数据Cache。本设计的车载定位终端由GPRS模块、嵌入式微
3、处理器和存储器、显示单元、电源与复位电路、存储器、JTAG等必需的外围电路等组成。嵌入式微处理器是整个车载定位终端的核心,负责控制整个系统。GPS模块接收卫星信号,车载定位终端通过GPRS模块和车辆监控中心进行双向的信息传输,将车辆的位置和状态信息传送到车辆监控中心,同时接收车辆监控中心的指令数据。车载终端的结构框图如图11-1所示。图11-1 车载终端的结构框图S3C2440A是是著著名名的的半半导导体体公公司司SAMSUNG推推出出的的一一款款16/32位位RISC微微处处理理器器,它它为为手手持持设设备备和和一一般般类类型型的的应应用用提提供供了了低低价价格格、低低功功耗耗、高高性性能能
4、微微控控制制器器的的解解决决方方案案。S3C2440A采采用用了了ARM920T的的内内核核,0.13um的的CMOS标标准准宏宏单单元元和和存存储储器器单单元元。其其低低功功耗耗、简简单单、且且全全静静态态设设计计特特别别适适合合于于对对成成本本和和功功率率敏敏感感型型的的应应用用。它它采采用用了了新新的的总总线线架架构构AdvancedMicrocontrollerBusArchitecture(AMBA)。S3C2440A的的最最大大特特点点是是其其核核心心处处理理器器(CPU)是是一一个个由由AdvancedRISCMachines有有限限公公司司设设计计的的16/32位位ARM920
5、T的的RISC处处理理器器。ARM920T实实现现了了MMU,AMBABUS和和Harvard高高速速缓缓冲冲体体系系结结构构。这这一一结结构构具具有有独独立立的的16KB指指令令Cache和和16KB数数据据Cache。每每个个都都是是由由具具有有8字字长长的的行行组组成成。通通过过提提供供一一套套完完整整的的通通用用系系统统外外设设,S3C2440A减少整体系统成本和无需配置额外的组件。减少整体系统成本和无需配置额外的组件。11.1.1 S3C2440A11.1.1 S3C2440A微处理器微处理器S3C2440A集成的以下片上功能主要包括:集成的以下片上功能主要包括:l1.2V内核供电,
6、内核供电,1.8V/2.5V/3.3V存储器供电,存储器供电,3.3V外部外部I/O供电具备供电具备16KB的的I-Cache和和16KBDCache/MMU。l外部存储控制器外部存储控制器(SDRAM控制和片选逻辑控制和片选逻辑)。lLCD控制器(最大支持控制器(最大支持4K色色STN和和256K色色TFT)提供)提供1通道通道LCD专用专用DMA。l4通道通道DMA并有外部请求引脚。并有外部请求引脚。ll3通道通道UART(IrDA1.0,64字节字节TxFIFO,和和64字节字节RxFIFO)。l2通道通道SPI。l1通道通道IIC-BUS接口(多主支持)。接口(多主支持)。l1通道通道
7、IIS-BUS音频编解码器接口。音频编解码器接口。lAC97解码器接口解码器接口l兼容兼容SD主接口协议主接口协议1.0版和版和MMC卡协议卡协议2.11兼容版。兼容版。l2端口端口USB主机主机/1端口端口USB设备(设备(1.1版)版)l4通道通道PWM定时器和定时器和1通道内部定时器通道内部定时器/看门狗定时器看门狗定时器l8通道通道10比特比特ADC和触摸屏接口和触摸屏接口l具有日历功能的具有日历功能的RTCl相机接口(最大相机接口(最大40964096像素的投入支持。像素的投入支持。20482048像素的投入,支持缩放)像素的投入,支持缩放)l130个通用个通用I/O口和口和24通道
8、外部中断源。通道外部中断源。l具有普通,慢速,空闲和掉电模式。具有普通,慢速,空闲和掉电模式。l具有具有PLL片上时钟发生器。片上时钟发生器。车车辆辆监监控控系系统统是是在在全全球球卫卫星星定定位位系系统统(GPS)、公公共共移移动动通通信信网网(GPRS)、互互联联网网(Internet)和和地地理理信信息息系系统统(GIS)等等现现有有技技术术基基础础上上开开发发的的一一套套信信息息服服务务管管理理系系统统,以以用用于于各各种种移移动动目目标标、固固定定目目标标的的导导航航、定定位位和和监监控控。完完整整的的车车辆辆监监控控系系统统主主要要由由GPS车车载载终终端端、GPRS无无线线网网络
9、络和和监监控控中中心心3部部分分构构成成。车车辆辆监监控控系系统统的的整整体体结结构构如如图图11-2所所示示。其其中中,车车载载终终端端包包括括ARM、GPS卫卫星星数数据据采采集集模模块块、GPRS无无线线通通信信模模块块以以及及各各种种辅辅助助扩扩展展电电路路等等,GPRS无无线线链链路路基基于于移移动动公公司司的的GPRS移移动动通通信信公公众众网网,包包括括MSC基基站站控控制制器器、SGSN业业务务支支撑撑节节点点、GGSN网网关支持节点等,监控中心包括信息服务器和关支持节点等,监控中心包括信息服务器和GIS数据库。数据库。11.1.2 11.1.2 车辆监控系统车辆监控系统图11
10、-2 车载监控系统由由于于嵌嵌入入式式车车载载终终端端使使用用了了图图形形用用户户界界面面,应应用用程程序序在在运运行行时时需需要要使使用用较较多多的的内内存存,因因此此系系统统需需要要有有足足够够的的内内存存。此此外外,使使用用图图形形界界面面的的Linux文文件件系系统统体体积积较较大大,需需要要大大容容量量的的存存储储文文件件系系统统。在在设设计计中中为为嵌嵌入入式式车车载载终终端端配配置置了了64MB的的SDRAM用用于于代代码码的的执执行行,以以及及64MB的的NANDFlash用于保存代码和各种文件。用于保存代码和各种文件。11.1.3 11.1.3 存储单元存储单元LCD显示器是
11、通过给不同的液晶单元供电,显示器是通过给不同的液晶单元供电,控制其光线的通过与否,从而达到显示的目的。控制其光线的通过与否,从而达到显示的目的。因此,因此,LCD的驱动控制归于对每个液晶单元通断的驱动控制归于对每个液晶单元通断电的控制,每个液晶单元都对应着一个电极,对电的控制,每个液晶单元都对应着一个电极,对其通电,便可使光线通过其通电,便可使光线通过(也有刚好相反的,即不也有刚好相反的,即不通电时光线通过,通电时光线不通过通电时光线通过,通电时光线不通过)。光源的提。光源的提供方式有两种供方式有两种:透射式和反射式。笔记本电脑的透射式和反射式。笔记本电脑的LCD显示屏即为透射式,屏后面有一个
12、光源,因显示屏即为透射式,屏后面有一个光源,因此外界环境可以不需要光源。而一般微控制器上此外界环境可以不需要光源。而一般微控制器上使用的使用的LCD为反射式,需要外界提供光源,靠反为反射式,需要外界提供光源,靠反射光来工作射光来工作1261。11.1.4 LCD11.1.4 LCD扫描器控制方式LCD显示屏没有驱动电路,需要与驱动电路配合使用。这种LCD体积小,但需要另外的驱动芯片。S3C2440AA的内置LCD控制器支持单色、每象素2位(4级灰度)、每象素4位16级灰度)的黑白屏,也支持每象素8位(256色)和每象素12位(4096色)的彩色LCD,并且也支持每象素16位和每象素24位的真彩
13、显示。LCD控制器可以通过编程选择支持不同的LCD屏的要求,例如行和列象素,数据总线宽度,就口时序和刷新频率。LCD控制器的主要作用是将定位于系统存储器的显示缓冲区的LCD图像数据传送到外部LCD驱动器。数字音频接口是嵌入式车载终端的一数字音频接口是嵌入式车载终端的一个多媒体接口,主要用来实现多媒体播放个多媒体接口,主要用来实现多媒体播放和录音等功能。和录音等功能。对于播放多媒体文件,对于播放多媒体文件,S3C2440A先将先将音频数据通过软件解码,然后将解码后的音频数据通过软件解码,然后将解码后的数据通过数字音频接口传输给数字音频编数据通过数字音频接口传输给数字音频编解码芯片,数字音频编解码
14、芯片将数据处解码芯片,数字音频编解码芯片将数据处理后,经过数模转换,最后通过模拟音频理后,经过数模转换,最后通过模拟音频接口将声音送到扬声器实现声音的输出。接口将声音送到扬声器实现声音的输出。11.1.5 11.1.5 数字音频接口数字音频接口11.2 11.2 嵌入式开发环境的建立嵌入式开发环境的建立 进行嵌入式应用程序开发时,一般应进行嵌入式应用程序开发时,一般应先在宿主机上编译调试通过后,再下载到先在宿主机上编译调试通过后,再下载到目标板上。若遇到问题时,可直接在目标目标板上。若遇到问题时,可直接在目标板上进行调试开发。这种直接在目标板开板上进行调试开发。这种直接在目标板开发模式下的开发
15、流程将宿主机和目标机使发模式下的开发流程将宿主机和目标机使用交叉网线通过以太网连接,在用交叉网线通过以太网连接,在PC宿主宿主机上运行机上运行minicom作为目标板的显示终端,作为目标板的显示终端,在目标板上通过网络文件系统在目标板上通过网络文件系统(NFS)来挂来挂载载(mount)宿主机硬盘,让应用程序直接宿主机硬盘,让应用程序直接运行在目标板上进行调试。运行在目标板上进行调试。图11-3Linux系统开发流程图(l)宿主机软件安装当今Linux发行版本有很多,需要选择适合宿主机上的Linux开发版本。Linux的安装有两种方式,一是在PC上直接安装,这样PC上就有两种操作系统,在电脑启
16、动的时候选择其中一个启动;另一种是在Windows中安装虚拟机Vmware,而Linux在虚拟机中安装,这样Linux的启动要先启动Windows,然后在虚拟机中启动,这种的优点是可以同时启动两个操作系统,而且两个系统就像两台直接连接的PC,可以互相通信。(2)安装交叉编译器交叉编译器是在宿主机上编译目标机程序的编译器,是嵌入式软件开发特有的编译器。(3)NFS方式挂载调试NFS(NetworkFileSystem)是由SunMierosystems公司开发的,NFS允许一个系统在网络上与其他人共享目录和文件。通过使用NFS,用户可以像访问本地文件一样访问远端系统上的文件。由于NFS的便利特性
17、,使得在嵌入式开发过程中,往往在目标板上使用NFS挂在宿主机上的需要调试的文件来进行调试。(4)设置宿主机和目标机共享文件夹(5)连接交叉串口线配置串口由于嵌入式系统资源相对匾乏,缺少PC机上良好的开发环境和界面,故在调试过程中常常使用Minicom来进行调试,Minicom相当于一个人机交互的界面。可以把需要输出的调试信息通过串口输出到PC上。(6)网络配置在宿主机里开启一个终端后进入防火墙设置,接着进行系统设置,启动NFS服务,如果之前已经启动了NFS,此后还需要修改目标板的IP地址,使之与宿主机在一个局域网网段,然后在U-boot界面下输入配置文字设置开发板的启动方式。11.3 11.3
18、 嵌入式车载终端软件的开发嵌入式车载终端软件的开发本节介绍嵌入式车载终端应用程序的设计,包括GPRS通信、温度调控系统,可视倒车功能、车载SIP电话、移动终端音视频文件播放器、嵌入式web服务器在车载终端的实现等。GPRS无无线线通通信信模模块块G20内内嵌嵌了了TCP/IP协协议议栈栈,处处理理器器使使用用AT指指令令集集,可可方方便便与与监监控控中中心心服服务务器器建建立立TCP/IP或或UDP/IP连连接接。因因此此,系系统统的的软软件件设设计计无无需需考考虑虑链链路路层层PPP控控制制脚脚本本程程序序和和网网络络层层TCP/UDP套套接接字字程程序序的的设设计计,进进而而降降低低了了系
19、系统统软软件件设设计计的的复复杂杂度度,提提高高了了系系统统的可靠性。的可靠性。11.3.1 GPRS11.3.1 GPRS通信模块通信模块 为在车载终端和监控中心之间建立数据传输链路,为在车载终端和监控中心之间建立数据传输链路,G20 需要经历两个主要过程需要经历两个主要过程,具体如下:具体如下:1、初始化过程、初始化过程 图11-4描述了G20初始化的过程。上电后,G20首先进行硬件初始化设置,如配置数据的传输波特率,设置线路工作参数等。初始化完成之后G20将打开SIM卡,并进行校验SIM卡的操作,如判断SIM卡是否被更换等。这一切完成后,G20就进入就绪状态,开始登录网络,与监控中心进行
20、“握手”应答。图11-4 G20 初始化过程2、“握手握手”过程过程 车载终端的G20登录GPRS网络成功并获到一个动态分配的IP地址后,开始准备接收监控中心发送的带监控中心服务器IP地址的短信。一旦得到服务器IP地址,先创建socket进行连接,连接成功后给监控中心发送带己方IP地址的短信,并开始等待接收启动命令标志头。如果在预定的等待时间内没有收到监控中心发送的启动命令,则说明监控中心此时没有收取到车载终端的IP地址,则发送第二条带终端IP地址的短信给服务端,重复以上过程三次后结束。“握手”应答成功以后,车载终端与监控中心的数据链路建立,即可进行数据的可靠传输。温度自动调节系统,是车载信息
21、采集的一部温度自动调节系统,是车载信息采集的一部分,是对车内温度的实时监控。如果温度小于人分,是对车内温度的实时监控。如果温度小于人体的舒适值,会自动开启车内空调的取暖系统,体的舒适值,会自动开启车内空调的取暖系统,同理,如下大于人体舒适值,则会开启空调的制同理,如下大于人体舒适值,则会开启空调的制冷系统。冷系统。本设计采用一线制温度数据采集。一线制温本设计采用一线制温度数据采集。一线制温度网络的温度信号特点是数值不高,多在度网络的温度信号特点是数值不高,多在-1085范围内,温度信号变化较慢,实时性要范围内,温度信号变化较慢,实时性要求不高,精度要求不高。一线制的优点在于硬件求不高,精度要求
22、不高。一线制的优点在于硬件接口少所有的通信都通过一线协议,而与被测的接口少所有的通信都通过一线协议,而与被测的具体量无关。具体量无关。11.3.2 11.3.2 温度自动调节系统温度自动调节系统DS18B20是美国DALLAS公司生产的单总线数字温度传感器,可把温度信号直接转换成串行数字信号供微机处理,在一条总线上可挂接多个DS18B20芯片。主机或从机通过一个漏极开路或三态端口连至该单总线,以允许设备在不发送数据时能够释放总线,而让其他设备使用总线。DS18B20数字温度传感器可提供912位温度读数。读取或写入DS18B20的信息仅需一根总线,总线本身可以向所有挂接的DS18B20芯片提供电
23、源,而不需额外的电源。由于DS18B20这一特点,非常适合于多点温度检测系统,硬件结构简单。DS18B20具有以下功能特点:(1)适应宽的电压范围(3.0V5.5V)在寄生电源方式下可由数据线供电。(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要1条GPIO口线即可实现微处理器与DS18B20的双向通信。(3)温度范围适合车内应用可测量55+125,在-10+85时精度为0.5。DS18B20驱动程序DS18B20.c如下所示:#ifndef_KERNEL_#define_KERNEL_#endif#ifndefMODULE#defineMODULE#endif#include
24、#include#include#include#include#include#include#include#include#include#include#include#include#include#include#include#defineMAJOR_NUM98/*主设备号*/#definedat_1820_hignGPGDAT|=17;GPGCON&=(314)#definedat_1820_lowGPGDAT&=(17);GPGCON=(GPGCON&(314)|(114)unsignedcharDS18B20_Reset(void)unsignedchardr=0;dat_
25、1820_low;udelay(600);/delay600uSdat_1820_hign;udelay(80);/delay80uSif(!(GPGDAT&(17)dr=1;udelay(500);/delay400uSreturndr;voidDS18B20_Write(unsignedchardw)unsignedcharwr;for(wr=0;wr=1;udelay(3);udelay(5);unsignedcharDS18B20_Read(void)unsignedchardr,dr1=0;for(dr=0;dr=1;dat_1820_low;udelay(2);dat_1820_h
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 嵌入式 Linux 编程 入门 开发 实例 11
限制150内