1、A Free sample background from www.,powerpointbackgrounds,.com,Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Slide,*,*,1,嵌入式系统开发与应用,江苏大学计算机科学与通信工程学院,通 信 工 程 系,陈祖爵,E-mail:zjchen TEL:13775360008,*,2,嵌入式系统应用开发实例,1.,基于嵌入式,Linux,的智能手机系统设计,2.,基于,ARM-Linux,和,CDMA
2、的远程视频监控系统,*,3,1.基于嵌入式,Linux,的智能手机系统设计,随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通信的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。,近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在,PC,上实现的应用,现在都可以在手持设备上实现。,PDA,发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。,*,4,智能手机系统设计,目前,市面上的智能手机主要采用,Microsoft,公司的,ocket PC,、,Palm
3、 OS,等商用操作系统,但这些操作系统开放的程序不够高,限制了许多第三方应用软件的移植。为使智能手机能够为第三方应用软件提供一个更为开放的嵌入式平台,提出一种以,Linux,作为嵌入式操作系统、,Motorola,的,MX1,作为微处理器、以,Wavecom,的,Q2403A,作为射频模块的智能手机系统的设计与实现。,*,5,1.1 智能手机系统的硬件电路结构,*,6,智能手机的主要参数,CPU:ARM920T 200MHz(Motorola MC9328MXL),;,显示,:AU3.5Reflective TFT LCD with LED front light 65,536,色;,ROM:
4、32MB Flash,;,RAM:64MB SDRAM,;,音效,:,内置单声道麦克风、单声道扬声器、立体声耳机插口,;,触屏:电阻式触摸屏;,SD/MMC:1,个,SD,卡插槽,,MMC Ver3,1.0,标准,SDMC,;,USB:USB 2.0,主,从口;,红外:,IrDA,115Kpbs,;,*,7,智能手机的主要参数,串口:,RS-232,口;,LED:,红,(,在充电指示,),、绿,(,软件运行或电池故障指示,),电源管理,:Full featured-Sipports Run,Idle and Sleep modes,复位:设置复位开关;,电池:,3.7V,锂离子电池,物理尺寸:
5、主板尺寸为,65x53x5.5mm,电源适配器:,5V,直流;,外部连接器,:Possible integration,、,CF,卡、,Sensor,、,Bluetooth,、,SIM Card,、其他,*,8,智能手机系统的硬件设计,智能手机系统的硬件设计如上图所示。该设计采用,Motorola,公司的,MX1,(,MC9328,)高性能的,32,位微处理器、,Wavecom,公司的,Q2403A,无线收发模块等实现智能手机的,GSM,通话、,GPRS,上网及其它,PDA,应用等功能。,*,9,MC9328MX1,微处理器,MC9328MX1,是,Motorola DragonBall,系列
6、微处理器。采用节电的,ARM920T,核心,,速度最高,200MHz,。集成了,LCD,控制器、,SRAM,、,USB,接口、一个,A/D,转换器(支持触摸屏控制)、一个,MMC/SD,主机端控制器。,256-pin,的,MPPBGA,封装。,*,10,存储器系统,存储器的物理实质是一组或多组具备数据输入输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。存储器按存储信息的功能可分为只读存储器,ROM,和随机存储器,RAM,。嵌入式系统中的固态存储一般用,Flash,存储器。,*,11,Flash Memory,16 Megabit(2 M x 8-Bit/1 M x 16-
7、Bit)CMOS 3.0 Volt-only Boot Sector Flash Memory,*,12,SD,存储卡电路,*,13,Q2403A,无线收发模块,系统采用,WAVECOM,公司的,Q2403A,专用无线收发模块。是双频,GSM,模块(,EGSM900/1800MHz),其设计及开发符合,ETSI GSM Phase 2+,标准。具有话音、,GSM,电路数据,/,传真、,GPRS,分组数据、短消息等功能。该模块支持,AT,指令集,通过,RS232,与,MX1,通信。,*,14,Q2403A,无线收发模块功能,数据特征,:,Q2403A(,支持,class2),下载,26.8kbi
8、ts/s,上传,13.4kbits/s;,话音,数据,/,传真,短信息功能,:,话音功能数据,/,传真功能短信息服务功能呼叫转移呼叫限制多方通话呼叫等待及呼叫保持来电显示显示呼叫转移其他功能,:,电话簿管理、个人信息管理(,PIM,)、固定拨号、实时时钟、闹钟管理,*,15,复位电路部分原理图,*,16,系统电源电路原理图,*,17,LCD,控制器功能模块图,*,18,74LVC16245,驱动,LCD,引线,*,19,LCD,控制器硬件连接,*,20,CS8900A,的以太网接口设计,以太网接口电路主要由,MAC,控制器和物理层接口(,Physical Layer,,,PHY,)两大部分构成
9、目前常见的以太网接口芯片,如,RTL8019,、,RTL8029,、,RTL8139,、,CS8900,、,DM9000,等,其内部结构也主要包含这两部分。本系统采用,CS8900,芯片。,*,21,TCP/IP,协议结构分层示意图,*,22,CS8900A,的连接,CPU,部分,*,23,USB2.0,总线接口,*,24,音频电路原理图,*,25,麦克风电路原理图,*,26,1.2,智能手机系统的软件设计,系统分析,和,软件设计,是智能手机系统实现的,难点,之一,关系到系统的,稳定性,、,扩展性,等。因为要兼顾到,GSM,语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系统
10、的设计就变得相对复杂。系统设计将软件分为三层结构,如下图所示。最下面一层为操作系统层,主要实现对,Linux,操作系统的移植,其中包括,Bootloader,引导程序、,LCD,等设备的驱动程序。中间层为服务程序层,该层主要包括,GUI,服务器以及,GSM/GPRS,控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。,*,27,智能手机系统,的软件层次框图,*,28,1.2.1,嵌入式,Linux,操作系统,Linux,最初是由,Linux Torvalds,编写及发布的源代码公开、可免费使用的操作系
11、统。后来,又通过,Internet,上成百上千的程序员的加入,使,Linux,成为一个几乎支持所有主流,32,位,CPU,的操作系统。其特点主要有:内核高效稳定、公开源代码、可移植性、可裁减、支持多任务等。设计中采用的,Linux,内核是,ARM-Linux,基础上,编写符合硬件设计的引导程序及电源管理控制程序;并针对本系统的硬件设计,编写了,LCD,、触摸屏等硬件设计驱动程序。,智能手机基于,Linux,操作系统工作时,首先初始化,CPU,;然后加载各个设备驱动程序,初始化存储器及外围设备;最后启动各服务程序,进入待机状态。,*,29,1.2.2,服务程序的设计,智能手机系统中的服务程序主要
12、有,GUI Server,和,GSM/GPRS Server,,它们是上层应用赖以实现的基础。,GUI Server,为使系统能够很好地支持,浏览器,及,MMS,等,界面,复杂的应用,具有良好的可扩展性,本系统中的,GUI Server,设计采用了客户机,/,服务器模式,并以动态链接库的形式对,图形设备接口,进行封装,具体如下图所示。,*,30,GUI Server,程序设计框图,*,31,GUI Server,服务进程,与,应用进程,之间采用,Linux,提供的,消息队列,进行通信。服务进程保存系统,GUI,环境的描述信息,为应用进程提供注册及一些计算任务,如计算当前剪切域内容等。此外,还负
13、责显示桌面。应用程序的启动后,首先与服务进程建立连接并进行交互,将自身的一些描述信息发送到服务进程。,服务进程和应用进程通过调用动态库实现,基本窗口显示功能,。其中窗口树与剪切域都定义在动态库中,对于服务进程或应用程序而言,它们是透明的,不需要进行管理。因服务进程与客户进程分别运行在不同的进程空间中,所以虽然在动态库中定义了相同的数据,但它们之间不会产生任何冲突。,*,32,GUI Server,设计对动态库中封装的函数进行了分层。其中直接针对,Framebuffer,进行输出的函数位于系统最低层,其上是设备上下文。因每次对一个窗口输出的时都要首先建立设备上下文,所以设备上下文总可以引用窗体结
14、构,自然也可以引用到窗口剪切域,在剪切域范围内才可以进行输出。,图形设备接口建立在设备上下文之上,主要包括点、线、面、文本等。如上文所述,输出之前,首先建立设备上下文,即其输出的目标是设备上下文,而不是窗口。,图形设备接口的上层是,应用开发接口,即,API,层,,桌面进程,与,客户进程,都通过调用,API,函数实现系统功能。,另外,系统建立了,输入的抽象层,,,屏蔽了不同输入设备,。,*,33,1.2.3,GSM/GPRS Server,多工通信服务器软件,GSM/GPRS Server,多工通信服务器软件是电话、短信及数据业务的守护进程,,负责响应应用程序转发的用户操作事件,及,从串口的获得
15、的无线通信模块事件,,是整个智能手机系统的核心。在这部分的工作中要实现多链路的数据通信、事件优先级判别,并在执行数据通信时,保证,电话,、,短信,的,接入,。具体程序设备结构如下图所示。,*,34,GSM/GPRS Server,程序设计框图,*,35,1.2.4 智能手机系统中的应用程序设计,有了中间层的服务程序,上层应用程序可以根据,GUI Server,及,GSM/GPRS Server,提供的接口进行,移植,和,开发,。本设计中实现了,电话控制程序,、,短信收发,的管理及,数据业务,的应用等。下面以电话控制程序为例,介绍智能手机应用程序的设计与实现。,*,36,电话控制程序状态切换关系
16、图,*,37,电话控制程序状态切换,电话控制程序设计分为,三个运行态,:,PowerOn State(,上电态,)、,Idle State(,空闲态,)、,Execution State(,执行态,)。上图表示了三个状态之间的关系和进入各个状态的条件。,电话控制程序在智能手机系统上电复位、,GSM/GPRS Server,启动后,进入,Power-on State(,上电态)。在上电态,程序首先进行初始化工作,与,GSM/GPRS Server,通信,获得系统状态。初始化后,即进入,Idle State(,空闲态)。在空闲态,程序循环等待,GSM/GPRS Server,的呼入事件及来自键盘的
17、呼出事件;当这些事件发生时,程序进入,Execution State(,执行态)。在执行态,用户进行语音通信,通话结束后,程序又回到空闲态。,如将,CPU,主频进一步提高,无线通信模块换成符合3,G,标准的,就可以实现更为广泛的手持设备应用。,*,38,2.基于,ARM-Linux,和,CDMA,的远程视频监控系统,CDMA(,码分多址)无线网络具有,覆盖面广,,,高效,、,低成本,的特点,,CDMA,网络的数据传输速率可达200,kb/s。,嵌入式远程视频监控系统就是充分利用,CDMA,无线网络技术和嵌入式系统的特点而搭建的,数据传输系统,,特别适合边远偏僻或不具备常规网络传输条件的地方使用
18、例如,车载视频监控系统,、,交通路口,(车牌实时监视)及,城市路灯,的监控等。,*,39,2.1 嵌入式,Linux,系统,Linux,作为一个桌面系统,其最大的特点是操作系统源代码公开并且遵循,GPL,协议,内核采用模块化的设计,易于裁减,特别适合嵌入式系统的小型化要求,在嵌入式系统中占据了半壁江山。,监控系统选用的处理器是,SAMSUNG,公司,ARM9,内核的,CPU-S3C2410,,内建有,MMU(,内存管理单元),主频可达到200,MHz,,运行嵌入式,Linux2.4,系统,不但保持了嵌入式系统小型化、低功耗、易携带的特点,又充分利用了,Linux,系统的内存、文件、线程管理功
19、能,大大方便了程序的开发和程序中多任务功能的实现。,*,40,2.2 监控系统结构,监控系统一般可分为,实时监控,和,触发模式监控,两种,可以根据具体的情况设计合适的监控方式,如果采用实时监控,将占用较多网络资源,成本相对较高,采用触发模式的运行成本较低,这里采用触发模式,监控系统结构见下图。,*,41,嵌入式远程视频监控系统示意图,*,42,监控系统工作原理,当遇异常情况后,触发监控终端,拍摄图片,,同时其内部的嵌入式控制模块和,CDMA,模块协同运作,完成,Internet,的接入(包括拨号、,PPP,和,TCP/IP,协议的处理等),并把拍摄到的图片数据经打包后,发送给控制中心主机,,或
20、发送给指定的,E-mail,地址,控制中心主机登录到,Internet,上后运行服务器端软件就可以,浏览,由监控点发来的,图片,。,*,43,2.3 硬件系统设计,要能够正确运行一个操作系统,硬件方面至少应该包括,CPU、,内存,和,固态存储器,、系统,内部总线,以及,外设接口,,具体硬件系统结构见下图。,*,44,硬件配置,SAMSUNG,公司的,S3C2410 CPU,具有3个,UART、1,个,RTC,和触摸屏接口,还具有,I,2,C,总线、,USB Host、USB Device,等接口,充分满足了系统的需要,而且性价比高。由于剪裁后的,Linux,系统所占得存储空间非常小(只有几,M
21、B),,选择,E28F128J3A150,Nor Flash,作为固体存储器,,,容量为16,MB,,通过16位数据总线与,CPU,交换数据,并利用其上端8,MB,空间(00800000,H-00ffffffH),开辟了一个,jffs2,文件存储系统,存储系统的配置文件。64,MB,的,SDRAM,为2片,K4S561632C,,通过32位数据总线与,CPU,交换数据。,*,45,硬件配置,通过,MAX3232C,电平转换,芯片和,RTL8019,网络芯片,转换成一个,RS-232,接口和一个以太网接口,用串口线和以太网网线与,PC,机相连,组成可以交叉编译的开发环境。通过,CPU,上集成的,
22、USB Host,接口,直接与,USB,摄像头,连接,考虑到监控与控制模块接口的要求,选用,USB1.1,接口的,红外线摄像头,。通过,CPU,上集成的,UART,接口直接与,CDMA Modem,模块相连接,选用价格适中的,AnyData,公司的,DTGS-800 CDMA,模块,。,*,46,2.4 软件系统设计,控制终端软件的核心是,嵌入式,Linux,操作系统,,一切功能的实现都基于,Linux,操作系统完成。需要解决的问题主要包括硬件支持、提供二次开发的环境以及小型化(裁减内核)等。作为一个操作系统,,Linux,内核主要负责,程序的管理与调度,、,内存的管理,及对,外设的驱动和管理
23、等,由于,Linux,内核采用模块化的设计,很多模块可以独立地加载或卸载,这里只需要串口驱动、,USB,摄像头接口驱动(包含,USB Host,USB Core,和,USB Device),还有拨号网络应用,还要支持,PPP、TCP/IP,网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至1,Mb,以内。,*,47,控制终端程序流程,*,48,程序设计,具体程序设计包括,Bootloader,启动代码,、,设备驱动程序,(,USB,摄像头接口驱动程序、串口驱动程序)、,拨号,、,PPP,及,TCP/IP,协议处理,,,监控接收转发控制程序,等。控制流程如上图所示。,a),系统加电后
24、复位,b)Bootloader,初始化,CPU、SDRAM、,分配地址空间等。,*,49,程序设计,c)Bootloader,把,Linux,内核的压缩文件解压到,SDRAM,中,同时把控制权从,Bootloader,移交到,Linux。Linux,的内核有两种运行方式。可在,Flash,存储器上直接运行,,也可以,加载到内存中运行,。,Flash,存储器运行方式就是把内核的可执行映像烧写到,Flash,存储器上,系统启动时从,Flash,存储器的某个地址开始运行内核,进入,SDRAM,继续运行。这种做法能减少内存需要,实际上很多嵌入式系统都采用这种方法;内存加载方式把内核的压缩文件存放在,F
25、lash,存储器上,系统启动时自动读取压缩文件并在内存中解压,然后开始执行,这种方式相对较复杂,但运行速度更快,这里采用这种方式。,*,50,程序设计,d),开始,执行,SDRAM,中的代码,,,Linux,内核初始化,完成堆栈,中断的分配等。,e),加载串口驱动模块,和,USB,摄像头驱动模块,完成串口和,USB,口的初始化。,f),运行,PPP,拨号程序,,通过,CDMA,网络与,Internet,进行连接,在,Linux,下的,PPP,包是专门为解决,Modem,拨号上网问题而编写的,并且是公开源代码的,,PPP,拨号脚本程序主要是通过调用,pppd,和,chat,这两个应用程序,并通过
26、AT,指令实现对,Modem,的操作。,*,51,程序设计,已建立了从,图像采集,到,图像传输,的完整的嵌入式监控系统,但作为一个嵌入式操作系统,是为某一专门的用途而设计的。运行不同的用户应用程序,就可以实现用户要求的不同功能,生动地体现了嵌入式系统的灵活性。这里运行的,用户程序是一个无限循环的过程,,控制终端在不断等待拍照请求,通过比较识别认为有请求后,,CPU,通过,USB,摄像头驱动控制摄像头拍照,同时接收图片并发送控制中心,或通过,SMTP,协议,发送到指定的,Email,地址,完成一次请求。,*,52,2.5 控制中心服务器程序设计,服务器软件主要功能,:接收、保存和重显监控图片,控制中心主机通过拨号、带宽上网等方式登录到,Internet,要求申请一个静态,IP,地址,。主机登录,Internet,后,即可运行服务器端软件。服务器端程序设计主要包括,网络通信,、,接收,、,保存,、,重显图片,通过该软件可方便地浏览由控制终端发来的图片。另一种方案是不设置控制中心服务器,控制终端抓拍到的图片直接发送到某,Email,地址。该方案管理容易,只需定期查收,Email,,清除,Email,存储空间,运行成本很低,但可靠性差。,利用无线网络与,IT,技术对传统监控领域进行革新,是市场的需要,嵌入式系统因其体积小、处理能力强、支持网络服务等功能,扮演了重要角色。,*,53,






