嵌入式系统应用开发实例.pptx
会计学1嵌入式系统应用开发实例嵌入式系统应用开发实例11:242嵌入式系统应用开发实例1.1.基于嵌入式基于嵌入式LinuxLinux的智能手机系的智能手机系统设计统设计2.2.基于基于ARM-LinuxARM-Linux和和CDMACDMA的远程视的远程视频监控系统频监控系统第1页/共53页11:2431.1.基于嵌入式基于嵌入式LinuxLinux的智能手机系统设计的智能手机系统设计 随着手持通信设备市场的快速发展,手机的功能逐渐增多。随着手持通信设备市场的快速发展,手机的功能逐渐增多。现在手机已经不只是用于语音通信的手持设备,而成为集成现在手机已经不只是用于语音通信的手持设备,而成为集成了短信、彩信、上网以及移动办公等附加功能的嵌入式通信了短信、彩信、上网以及移动办公等附加功能的嵌入式通信平台。集成了这些功能的手机被称为智能手机。平台。集成了这些功能的手机被称为智能手机。近年,嵌入式处理器的运行速度和功能都有了很大的提高,近年,嵌入式处理器的运行速度和功能都有了很大的提高,使得许多以前只能在使得许多以前只能在PCPC上实现的应用,现在都可以在手持设上实现的应用,现在都可以在手持设备上实现。备上实现。PDAPDA发展的趋势和潮流就是计算、通信、网络、存发展的趋势和潮流就是计算、通信、网络、存储、娱乐、电子商务等多功能的融合。储、娱乐、电子商务等多功能的融合。第2页/共53页11:244智能手机系统设计智能手机系统设计 目前,市面上的智能手机主要采用目前,市面上的智能手机主要采用目前,市面上的智能手机主要采用目前,市面上的智能手机主要采用MicrosoftMicrosoft公司的公司的ocket ocket PCPC、Palm OSPalm OS等商用操作系统,但这些操作系统开放的程序不等商用操作系统,但这些操作系统开放的程序不够高,限制了许多第三方应用软件的移植。为使智能手机能够高,限制了许多第三方应用软件的移植。为使智能手机能够为第三方应用软件提供一个更为开放的嵌入式平台,提出够为第三方应用软件提供一个更为开放的嵌入式平台,提出一种以一种以LinuxLinux作为嵌入式操作系统作为嵌入式操作系统、MotorolaMotorola的的MX1MX1作为微处作为微处理器理器、以、以WavecomWavecom的的Q2403AQ2403A作为射频模块作为射频模块的智能手机系统的设的智能手机系统的设计与实现。计与实现。第3页/共53页11:2451.1 智能手机系统的硬件电路结构智能手机系统的硬件电路结构 第4页/共53页11:246智能手机的主要参数智能手机的主要参数CPU:ARM920T 200MHz(Motorola MC9328MXL)CPU:ARM920T 200MHz(Motorola MC9328MXL);显示显示:AU3.5Reflective TFT LCD with LED front light:AU3.5Reflective TFT LCD with LED front light 65,53665,536色;色;ROM:32MB FlashROM:32MB Flash;RAM:64MB SDRAMRAM:64MB SDRAM;音效音效:内置单声道麦克风、单声道扬声器、立体声耳机插口内置单声道麦克风、单声道扬声器、立体声耳机插口;触屏:电阻式触摸屏;触屏:电阻式触摸屏;SD/MMC:1SD/MMC:1个个SDSD卡插槽,卡插槽,MMC Ver3,1.0MMC Ver3,1.0标准标准SDMCSDMC;USB:USB 2.0USB:USB 2.0主,从口;主,从口;红外:红外:IrDA,115KpbsIrDA,115Kpbs;第5页/共53页11:247智能手机的主要参数智能手机的主要参数串口:串口:RS-232RS-232口;口;LED:LED:红红(在充电指示在充电指示)、绿、绿(软件运行或电池故障指示软件运行或电池故障指示)电源管理电源管理:Full featured-Sipports Run,Idle and Sleep:Full featured-Sipports Run,Idle and Sleep modes modes 复位:设置复位开关;复位:设置复位开关;电池:电池:3.7V3.7V锂离子电池锂离子电池 物理尺寸:主板尺寸为物理尺寸:主板尺寸为65x53x5.5mm 65x53x5.5mm 电源适配器:电源适配器:5V5V直流;直流;外部连接器外部连接器:Possible integration:Possible integration、CFCF卡、卡、SensorSensor、BluetoothBluetooth、SIM CardSIM Card、其他、其他第6页/共53页11:248智能手机系统的硬件设计智能手机系统的硬件设计 智能手机系统的硬件设计如上图所示。该设计采用智能手机系统的硬件设计如上图所示。该设计采用智能手机系统的硬件设计如上图所示。该设计采用智能手机系统的硬件设计如上图所示。该设计采用MotorolaMotorolaMotorolaMotorola公司的公司的公司的公司的MX1MX1MX1MX1(MC9328MC9328MC9328MC9328)高性能的)高性能的)高性能的)高性能的32323232位微处理器、位微处理器、位微处理器、位微处理器、WavecomWavecomWavecomWavecom公司的公司的公司的公司的Q2403AQ2403AQ2403AQ2403A无线收发模块等实现智能手机的无线收发模块等实现智能手机的无线收发模块等实现智能手机的无线收发模块等实现智能手机的GSMGSMGSMGSM通通通通话、话、话、话、GPRSGPRSGPRSGPRS上网及其它上网及其它上网及其它上网及其它PDAPDAPDAPDA应用等功能。应用等功能。应用等功能。应用等功能。第7页/共53页11:249MC9328MX1MC9328MX1微处理器微处理器 MC9328MX1 MC9328MX1 MC9328MX1 MC9328MX1是是是是Motorola DragonBallMotorola DragonBallMotorola DragonBallMotorola DragonBall系列微处理器。采用节电的系列微处理器。采用节电的系列微处理器。采用节电的系列微处理器。采用节电的ARM920TARM920T核核心心,速度最高,速度最高,速度最高,速度最高200MHz200MHz200MHz200MHz。集成了。集成了。集成了。集成了LCDLCDLCDLCD控制器、控制器、控制器、控制器、SRAMSRAMSRAMSRAM、USBUSBUSBUSB接口、一个接口、一个接口、一个接口、一个A/DA/DA/DA/D转换器转换器转换器转换器(支持触摸屏控制)、一个(支持触摸屏控制)、一个(支持触摸屏控制)、一个(支持触摸屏控制)、一个MMC/SDMMC/SDMMC/SDMMC/SD主机端控制器。主机端控制器。主机端控制器。主机端控制器。256-pin256-pin256-pin256-pin的的的的MPPBGAMPPBGAMPPBGAMPPBGA封装。封装。封装。封装。第8页/共53页11:2410存储器系统存储器系统 存储器的物理实质是一组或多组具备数据输入输出和数据存存储器的物理实质是一组或多组具备数据输入输出和数据存储功能的集成电路,用于充当设备缓存或保存固定的程序及数储功能的集成电路,用于充当设备缓存或保存固定的程序及数据。存储器按存储信息的功能可分为只读存储器据。存储器按存储信息的功能可分为只读存储器ROMROM和随机存和随机存储器储器RAMRAM。嵌入式系统中的固态存储一般用。嵌入式系统中的固态存储一般用FlashFlash存储器。存储器。第9页/共53页11:2411Flash MemoryFlash Memory16Megabit(2Mx8-Bit/1Mx16-Bit)CMOS3.0Volt-onlyBootSectorFlashMemory第10页/共53页11:2412SDSD存储卡电路存储卡电路 第11页/共53页11:2413Q2403AQ2403A无线收发模块无线收发模块 系统采用系统采用系统采用系统采用WAVECOMWAVECOMWAVECOMWAVECOM公司的公司的公司的公司的Q2403AQ2403AQ2403AQ2403A专用无线收发模块。是双频专用无线收发模块。是双频专用无线收发模块。是双频专用无线收发模块。是双频GSMGSMGSMGSM模块模块模块模块(EGSM900/1800MHz),EGSM900/1800MHz),EGSM900/1800MHz),EGSM900/1800MHz),其设计及开发符合其设计及开发符合其设计及开发符合其设计及开发符合ETSI GSM ETSI GSM ETSI GSM ETSI GSM Phase 2+Phase 2+Phase 2+Phase 2+标准。具有话音、标准。具有话音、标准。具有话音、标准。具有话音、GSMGSMGSMGSM电路数据电路数据电路数据电路数据/传真、传真、传真、传真、GPRSGPRSGPRSGPRS分组数据、分组数据、分组数据、分组数据、短消息等功能。该模块支持短消息等功能。该模块支持短消息等功能。该模块支持短消息等功能。该模块支持ATATATAT指令集指令集指令集指令集,通过通过通过通过RS232RS232RS232RS232与与与与MX1MX1MX1MX1通信。通信。通信。通信。第12页/共53页11:2414Q2403AQ2403A无线收发模块功能无线收发模块功能数据特征数据特征数据特征数据特征:Q2403A(Q2403A(Q2403A(Q2403A(支持支持支持支持class2),class2),class2),class2),下载下载下载下载26.8kbits/s,26.8kbits/s,26.8kbits/s,26.8kbits/s,上传上传上传上传13.4kbits/s;13.4kbits/s;13.4kbits/s;13.4kbits/s;话音,数据话音,数据话音,数据话音,数据/传真,短信息功能传真,短信息功能传真,短信息功能传真,短信息功能:话音功能话音功能话音功能话音功能数据数据数据数据/传真功能传真功能传真功能传真功能短信息服务功能短信息服务功能短信息服务功能短信息服务功能呼叫转移呼叫转移呼叫转移呼叫转移呼叫限制呼叫限制呼叫限制呼叫限制多方通话多方通话多方通话多方通话呼叫等待及呼叫保持呼叫等待及呼叫保持呼叫等待及呼叫保持呼叫等待及呼叫保持来电显示来电显示来电显示来电显示显示呼叫转移显示呼叫转移显示呼叫转移显示呼叫转移其他功能其他功能其他功能其他功能:电话簿管理、个人信息管理(电话簿管理、个人信息管理(电话簿管理、个人信息管理(电话簿管理、个人信息管理(PIMPIMPIMPIM)、固定拨号、实)、固定拨号、实)、固定拨号、实)、固定拨号、实时时钟、闹钟管理时时钟、闹钟管理时时钟、闹钟管理时时钟、闹钟管理第13页/共53页11:2415复位电路部分原理图复位电路部分原理图 第14页/共53页11:2416系统电源电路原理图系统电源电路原理图 第15页/共53页11:2417LCDLCD控制器功能模块图控制器功能模块图 第16页/共53页11:241874LVC1624574LVC16245驱动驱动LCDLCD引线引线第17页/共53页11:2419 LCDLCD控制器硬件连接控制器硬件连接 第18页/共53页11:2420CS8900ACS8900A的以太网接口设计的以太网接口设计 以太网接口电路主要由以太网接口电路主要由MACMAC控制器和物理层接口(控制器和物理层接口(Physical LayerPhysical Layer,PHYPHY)两大部分构成,目前常见的以太网接口芯片,如)两大部分构成,目前常见的以太网接口芯片,如RTL8019RTL8019、RTL8029RTL8029、RTL8139RTL8139、CS8900CS8900、DM9000DM9000等,其内部结构也主要包含这两部分。本系统采用等,其内部结构也主要包含这两部分。本系统采用CS8900CS8900芯片。芯片。第19页/共53页11:2421TCP/IPTCP/IP协议结构分层示意图协议结构分层示意图第20页/共53页11:2422CS8900ACS8900A的连接的连接CPUCPU部分部分 第21页/共53页11:2423USB2.0USB2.0总线接口总线接口 第22页/共53页11:2424音频电路原理图音频电路原理图第23页/共53页11:2425麦克风电路原理图麦克风电路原理图第24页/共53页11:24261.2 1.2 智能手机系统的软件设计智能手机系统的软件设计 系统分析系统分析系统分析系统分析和和和和软件设计软件设计软件设计软件设计是智能手机系统实现的是智能手机系统实现的是智能手机系统实现的是智能手机系统实现的难点难点难点难点之一,关系之一,关系之一,关系之一,关系到系统的到系统的到系统的到系统的稳定性稳定性稳定性稳定性、扩展性扩展性扩展性扩展性等。因为要兼顾到等。因为要兼顾到等。因为要兼顾到等。因为要兼顾到GSMGSMGSMGSM语音控制与其语音控制与其语音控制与其语音控制与其它智能手机应用之间的互相切换及关联关系,智能手机软件系它智能手机应用之间的互相切换及关联关系,智能手机软件系它智能手机应用之间的互相切换及关联关系,智能手机软件系它智能手机应用之间的互相切换及关联关系,智能手机软件系统的设计就变得相对复杂。系统设计将软件分为统的设计就变得相对复杂。系统设计将软件分为统的设计就变得相对复杂。系统设计将软件分为统的设计就变得相对复杂。系统设计将软件分为三层结构三层结构三层结构三层结构,如,如,如,如下图所示。最下面一层为下图所示。最下面一层为下图所示。最下面一层为下图所示。最下面一层为操作系统层操作系统层操作系统层操作系统层,主要实现对,主要实现对,主要实现对,主要实现对LinuxLinuxLinuxLinux操作操作操作操作系统的移植,其中包括系统的移植,其中包括系统的移植,其中包括系统的移植,其中包括BootloaderBootloaderBootloaderBootloader引导程序、引导程序、引导程序、引导程序、LCDLCDLCDLCD等设备的驱等设备的驱等设备的驱等设备的驱动程序。动程序。动程序。动程序。中间层为服务程序层中间层为服务程序层中间层为服务程序层中间层为服务程序层,该层主要包括,该层主要包括,该层主要包括,该层主要包括GUIGUIGUIGUI服务器以及服务器以及服务器以及服务器以及GSM/GPRSGSM/GPRSGSM/GPRSGSM/GPRS控制服务器。智能手机系统设计的关键在于各项功能控制服务器。智能手机系统设计的关键在于各项功能控制服务器。智能手机系统设计的关键在于各项功能控制服务器。智能手机系统设计的关键在于各项功能应用的实现。对智能手机软件进行分层设计,有利于各个功能应用的实现。对智能手机软件进行分层设计,有利于各个功能应用的实现。对智能手机软件进行分层设计,有利于各个功能应用的实现。对智能手机软件进行分层设计,有利于各个功能有机地协调运转,同时也便于软件的开发与调试。有机地协调运转,同时也便于软件的开发与调试。有机地协调运转,同时也便于软件的开发与调试。有机地协调运转,同时也便于软件的开发与调试。第25页/共53页11:2427智能手机系统的软件层次框图智能手机系统的软件层次框图第26页/共53页11:2428嵌入式嵌入式LinuxLinux操作系统操作系统 Linux Linux Linux Linux最初是由最初是由最初是由最初是由Linux TorvaldsLinux TorvaldsLinux TorvaldsLinux Torvalds编写及发布的源代码公开、编写及发布的源代码公开、编写及发布的源代码公开、编写及发布的源代码公开、可免费使用的操作系统。后来,又通过可免费使用的操作系统。后来,又通过可免费使用的操作系统。后来,又通过可免费使用的操作系统。后来,又通过InternetInternetInternetInternet上成百上千上成百上千上成百上千上成百上千的程序员的加入,使的程序员的加入,使的程序员的加入,使的程序员的加入,使LinuxLinuxLinuxLinux成为一个几乎支持所有主流成为一个几乎支持所有主流成为一个几乎支持所有主流成为一个几乎支持所有主流32323232位位位位CPUCPUCPUCPU的操作系统。其特点主要有:的操作系统。其特点主要有:的操作系统。其特点主要有:的操作系统。其特点主要有:内核高效稳定内核高效稳定内核高效稳定内核高效稳定、公开源代码公开源代码公开源代码公开源代码、可移植性可移植性可移植性可移植性、可裁减可裁减可裁减可裁减、支持多任务支持多任务支持多任务支持多任务等。等。等。等。设计中采用的设计中采用的设计中采用的设计中采用的LinuxLinuxLinuxLinux内核是内核是内核是内核是ARM-LinuxARM-LinuxARM-LinuxARM-Linux基础上,编写符合硬基础上,编写符合硬基础上,编写符合硬基础上,编写符合硬件设计的件设计的件设计的件设计的引导程序引导程序引导程序引导程序及及及及电源管理控制程序电源管理控制程序电源管理控制程序电源管理控制程序;并针对本系统的硬;并针对本系统的硬;并针对本系统的硬;并针对本系统的硬件设计,编写了件设计,编写了件设计,编写了件设计,编写了LCDLCDLCDLCD、触摸屏触摸屏触摸屏触摸屏等硬件设计等硬件设计等硬件设计等硬件设计驱动程序驱动程序驱动程序驱动程序。智能手机基于智能手机基于智能手机基于智能手机基于LinuxLinuxLinuxLinux操作系统工作时,首先操作系统工作时,首先操作系统工作时,首先操作系统工作时,首先初始化初始化初始化初始化CPUCPUCPUCPU;然;然;然;然后加载各个后加载各个后加载各个后加载各个设备驱动程序设备驱动程序设备驱动程序设备驱动程序,初始化存储器初始化存储器初始化存储器初始化存储器及及及及外围设备外围设备外围设备外围设备;最后;最后;最后;最后启动各服务程序启动各服务程序启动各服务程序启动各服务程序,进入,进入,进入,进入待机状态待机状态待机状态待机状态。第27页/共53页11:2429服务程序的设计服务程序的设计 智能手机系统中的服务程序主要有智能手机系统中的服务程序主要有智能手机系统中的服务程序主要有智能手机系统中的服务程序主要有GUI ServerGUI ServerGUI ServerGUI Server和和和和GSM/GPRSGSM/GPRSGSM/GPRSGSM/GPRS ServerServerServerServer,它们是上层应用赖以实现的基础。,它们是上层应用赖以实现的基础。,它们是上层应用赖以实现的基础。,它们是上层应用赖以实现的基础。GUI ServerGUI Server 为使系统能够很好地支持为使系统能够很好地支持为使系统能够很好地支持为使系统能够很好地支持浏览器浏览器及及及及MMSMMSMMSMMS等等等等界面界面复杂的应用,复杂的应用,复杂的应用,复杂的应用,具有良好的可扩展性,本系统中的具有良好的可扩展性,本系统中的具有良好的可扩展性,本系统中的具有良好的可扩展性,本系统中的GUI ServerGUI ServerGUI ServerGUI Server设计采用了客设计采用了客设计采用了客设计采用了客户机户机户机户机/服务器模式,并以动态链接库的形式对服务器模式,并以动态链接库的形式对服务器模式,并以动态链接库的形式对服务器模式,并以动态链接库的形式对图形设备接口图形设备接口进进进进行封装,具体如下图所示。行封装,具体如下图所示。行封装,具体如下图所示。行封装,具体如下图所示。第28页/共53页11:2430GUI ServerGUI Server程序设计框图程序设计框图 第29页/共53页11:2431GUI ServerGUI Server 服服务务进进程程与与应应用用进进程程之之间间采采用用LinuxLinux提提供供的的消消息息队队列列进进行行通通信信。服服务务进进程程保保存存系系统统GUIGUI环环境境的的描描述述信信息息,为为应应用用进进程程提提供供注注册册及及一一些些计计算算任任务务,如如计计算算当当前前剪剪切切域域内内容容等等。此此外外,还还负负责责显显示示桌桌面面。应应用用程程序序的的启启动动后后,首首先先与与服服务务进进程程建建立立连连接接并并进行交互,将自身的一些描述信息发送到服务进程。进行交互,将自身的一些描述信息发送到服务进程。服务进程和应用进程通过调用动态库实现服务进程和应用进程通过调用动态库实现基本窗口显示功基本窗口显示功能能。其中窗口树与剪切域都定义在动态库中,对于服务进程或。其中窗口树与剪切域都定义在动态库中,对于服务进程或应用程序而言,它们是透明的,不需要进行管理。因服务进程应用程序而言,它们是透明的,不需要进行管理。因服务进程与客户进程分别运行在不同的进程空间中,所以虽然在动态库与客户进程分别运行在不同的进程空间中,所以虽然在动态库中定义了相同的数据,但它们之间不会产生任何冲突。中定义了相同的数据,但它们之间不会产生任何冲突。第30页/共53页11:2432GUI ServerGUI Server 设设计计对对动动态态库库中中封封装装的的函函数数进进行行了了分分层层。其其中中直直接接针针对对FramebufferFramebuffer进进行行输输出出的的函函数数位位于于系系统统最最低低层层,其其上上是是设设备备上上下下文文。因因每每次次对对一一个个窗窗口口输输出出的的时时都都要要首首先先建建立立设设备备上上下下文文,所所以以设设备备上上下下文文总总可可以以引引用用窗窗体体结结构构,自自然然也也可可以以引引用用到到窗窗口口剪剪切域,在剪切域范围内才可以进行输出。切域,在剪切域范围内才可以进行输出。图图形形设设备备接接口口建建立立在在设设备备上上下下文文之之上上,主主要要包包括括点点、线线、面面、文文本本等等。如如上上文文所所述述,输输出出之之前前,首首先先建建立立设设备备上上下下文文,即即其其输出的目标是设备上下文,而不是窗口。输出的目标是设备上下文,而不是窗口。图图形形设设备备接接口口的的上上层层是是应应用用开开发发接接口口即即APIAPI层层,桌桌面面进进程程与与客户进程客户进程都通过调用都通过调用APIAPI函数实现系统功能。函数实现系统功能。另外,系统建立了另外,系统建立了输入的抽象层输入的抽象层,屏蔽了不同输入设备屏蔽了不同输入设备。第31页/共53页11:2433GSM/GPRS ServerGSM/GPRS Server多工通信服务器软件多工通信服务器软件 GSM/GPRS ServerGSM/GPRS Server多工通信服务器软件是电话、短信及数多工通信服务器软件是电话、短信及数据业务的守护进程,据业务的守护进程,负责响应应用程序转发的用户操作事件负责响应应用程序转发的用户操作事件及及从串口的获得的无线通信模块事件从串口的获得的无线通信模块事件,是整个智能手机系统,是整个智能手机系统的核心。在这部分的工作中要实现多链路的数据通信、事件的核心。在这部分的工作中要实现多链路的数据通信、事件优先级判别,并在执行数据通信时,保证优先级判别,并在执行数据通信时,保证电话电话、短信短信的的接入接入。具体程序设备结构如下图所示。具体程序设备结构如下图所示。第32页/共53页11:2434GSM/GPRS ServerGSM/GPRS Server程序设计框图程序设计框图第33页/共53页11:2435 有了中间层的服务程序,上层应用程序可以根据有了中间层的服务程序,上层应用程序可以根据GUI GUI ServerServer及及GSM/GPRS ServerGSM/GPRS Server提供的接口进行提供的接口进行移植移植和和开发开发。本设。本设计中实现了计中实现了电话控制程序电话控制程序、短信收发短信收发的管理及的管理及数据业务数据业务的应的应用等。下面用等。下面以电话控制程序为例以电话控制程序为例,介绍智能手机,介绍智能手机应用程序的应用程序的设计与实现设计与实现。第34页/共53页11:2436电话控制程序状态切换关系图电话控制程序状态切换关系图第35页/共53页11:2437电话控制程序状态切换电话控制程序状态切换 电电话话控控制制程程序序设设计计分分为为三三个个运运行行态态:PowerOn PowerOn State(State(上上电电态态)、Idle Idle State(State(空空闲闲态态)、Execution Execution State(State(执执行行态态)。上上图图表示了三个状态之间的关系和进入各个状态的条件。表示了三个状态之间的关系和进入各个状态的条件。电话控制程序在智能手机系统上电复位、电话控制程序在智能手机系统上电复位、GSM/GPRS ServerGSM/GPRS Server启动后,进入启动后,进入Power-on State(Power-on State(上电态上电态)。在上电态,程序首先。在上电态,程序首先进行初始化工作,与进行初始化工作,与GSM/GPRS ServerGSM/GPRS Server通信,获得系统状态。通信,获得系统状态。初始化后,即进入初始化后,即进入Idle State(Idle State(空闲态空闲态)。在空闲态,程序循环。在空闲态,程序循环等待等待GSM/GPRS ServerGSM/GPRS Server的呼入事件及来自键盘的呼出事件;当的呼入事件及来自键盘的呼出事件;当这些事件发生时,程序进入这些事件发生时,程序进入Execution State(Execution State(执行态执行态)。在执。在执行态,用户进行语音通信,通话结束后,程序又回到空闲态。行态,用户进行语音通信,通话结束后,程序又回到空闲态。如将如将CPUCPU主频进一步提高,无线通信模块换成符合主频进一步提高,无线通信模块换成符合3 3G G标准的,标准的,就可以实现更为广泛的手持设备应用。就可以实现更为广泛的手持设备应用。第36页/共53页11:24382.2.基于基于ARM-LinuxARM-Linux和和CDMACDMA的远程视频监控系统的远程视频监控系统 CDMACDMA(码码分分多多址址)无无线线网网络络具具有有覆覆盖盖面面广广,高高效效、低低成成本本的特点,的特点,CDMACDMA网络的数据传输速率可达网络的数据传输速率可达200200kb/skb/s。嵌入式远程视频监控系统就是充分利用嵌入式远程视频监控系统就是充分利用CDMACDMA无线网络技术无线网络技术和嵌入式系统的特点而搭建的和嵌入式系统的特点而搭建的数据传输系统数据传输系统,特别适合边远,特别适合边远偏僻或不具备常规网络传输条件的地方使用,例如偏僻或不具备常规网络传输条件的地方使用,例如车载视频车载视频监控系统监控系统、交通路口交通路口(车牌实时监视)及(车牌实时监视)及城市路灯城市路灯的监控等。的监控等。第37页/共53页11:24392.1 2.1 嵌入式嵌入式LinuxLinux系统系统 LinuxLinux作为一个桌面系统,其最大的特点是操作系统源代作为一个桌面系统,其最大的特点是操作系统源代码公开并且遵循码公开并且遵循GPLGPL协议,内核采用模块化的设计,易于裁减,协议,内核采用模块化的设计,易于裁减,特别适合嵌入式系统的小型化要求,在嵌入式系统中占据了特别适合嵌入式系统的小型化要求,在嵌入式系统中占据了半壁江山。半壁江山。监控系统选用的处理器是监控系统选用的处理器是SAMSUNGSAMSUNG公司公司ARM9ARM9内核的内核的CPU-CPU-S3C2410S3C2410,内建有内建有MMUMMU(内存管理单元内存管理单元),主频可达到,主频可达到200200MHzMHz,运行运行嵌入式嵌入式Linux2.4Linux2.4系统,不但保持了嵌入式系统小型化、系统,不但保持了嵌入式系统小型化、低功耗、易携带的特点,又充分利用了低功耗、易携带的特点,又充分利用了LinuxLinux系统的系统的内存内存、文文件件、线程管理线程管理功能,大大方便了程序的开发和程序中多任务功能,大大方便了程序的开发和程序中多任务功能的实现。功能的实现。第38页/共53页11:24402.2 2.2 监控系统结构监控系统结构 监控系统一般可分为监控系统一般可分为实时监控实时监控和和触发模式监控触发模式监控两种,可以两种,可以根据具体的情况设计合适的监控方式,如果采用实时监控,根据具体的情况设计合适的监控方式,如果采用实时监控,将占用较多网络资源,成本相对较高,采用触发模式的运行将占用较多网络资源,成本相对较高,采用触发模式的运行成本较低,成本较低,这里采用触发模式这里采用触发模式,监控系统结构见下图。,监控系统结构见下图。第39页/共53页11:2441嵌入式远程视频监控系统示意图嵌入式远程视频监控系统示意图 第40页/共53页11:2442监控系统工作原理监控系统工作原理 当遇异常情况后,触发监控终端当遇异常情况后,触发监控终端拍摄图片拍摄图片,同时其内部的,同时其内部的嵌入式控制模块和嵌入式控制模块和CDMACDMA模块协同运作,完成模块协同运作,完成InternetInternet的接入的接入(包括拨号、(包括拨号、PPPPPP和和TCP/IPTCP/IP协议的处理等),并把拍摄到的图协议的处理等),并把拍摄到的图片数据经打包后片数据经打包后发送给控制中心主机发送给控制中心主机,或发送给指定的,或发送给指定的E-E-mailmail地址,控制中心主机登录到地址,控制中心主机登录到InternetInternet上后运行服务器端上后运行服务器端软件就可以软件就可以浏览浏览由监控点发来的由监控点发来的图片图片。第41页/共53页11:24432.3 2.3 硬件系统设计硬件系统设计 要能够正确运行一个操作系统,硬件方面至少应该包括要能够正确运行一个操作系统,硬件方面至少应该包括CPUCPU、内存内存和和固态存储器固态存储器、系统、系统内部总线内部总线以及以及外设接口外设接口,具体,具体硬件系统结构见下图。硬件系统结构见下图。第42页/共53页11:2444硬件配置硬件配置 SAMSUNGSAMSUNG公司的公司的S3C2410 CPUS3C2410 CPU具有具有3 3个个UARTUART、1 1个个RTCRTC和触摸和触摸屏接口,还具有屏接口,还具有I I2 2C C总线、总线、USB HostUSB Host、USB DeviceUSB Device等接口,充等接口,充分满足了系统的需要,而且性价比高。分满足了系统的需要,而且性价比高。由于剪裁后的由于剪裁后的LinuxLinux系统所占得存储空间非常小(只有几系统所占得存储空间非常小(只有几MBMB),),选择选择E28F128J3A150E28F128J3A150 Nor FlashNor Flash作为固体存储器作为固体存储器,容量容量为为1616MBMB,通过通过1616位数据总线与位数据总线与CPUCPU交换数据,并利用其上端交换数据,并利用其上端8 8MBMB空间(空间(0080000000800000H-00ffffffHH-00ffffffH)开辟了一个开辟了一个jffs2jffs2文件存储系统,文件存储系统,存储系统的配置文件。存储系统的配置文件。64 64MBMB的的SDRAMSDRAM为为2 2片片K4S561632CK4S561632C,通过通过3232位数据总线与位数据总线与CPUCPU交交换数据。换数据。第43页/共53页11:2445硬件配置硬件配置 通过通过MAX3232CMAX3232C电平转换电平转换芯片和芯片和RTL8019RTL8019网络芯片网络芯片转换成一转换成一个个RS-232RS-232接口和一个以太网接口,用串口线和以太网网线与接口和一个以太网接口,用串口线和以太网网线与PCPC机相连,组成可以交叉编译的开发环境。机相连,组成可以交叉编译的开发环境。通过通过CPUCPU上集成的上集成的USB HostUSB Host接口接口直接与直接与USBUSB摄像头摄像头连接,考连接,考虑到监控与控制模块接口的要求,选用虑到监控与控制模块接口的要求,选用USB1.1USB1.1接口的接口的红外线红外线摄像头摄像头。通过通过CPUCPU上集成的上集成的UARTUART接口直接与接口直接与CDMA ModemCDMA Modem模块相连接,模块相连接,选用价格适中的选用价格适中的AnyDataAnyData公司的公司的DTGS-800 CDMADTGS-800 CDMA模块模块。第44页/共53页11:24462.4 2.4 软件系统设计软件系统设计 控制终端软件的核心是控制终端软件的核心是嵌入式嵌入式LinuxLinux操作系统操作系统,一切功能的,一切功能的实现都基于实现都基于LinuxLinux操作系统完成。需要解决的问题主要包括硬件操作系统完成。需要解决的问题主要包括硬件支持、提供二次开发的环境以及小型化(裁减内核)等。作为支持、提供二次开发的环境以及小型化(裁减内核)等。作为一个操作系统,一个操作系统,LinuxLinux内核主要负责内核主要负责程序的管理与调度程序的管理与调度、内存的内存的管理管理及对及对外设的驱动和管理外设的驱动和管理等,由于等,由于LinuxLinux内核采用模块化的设内核采用模块化的设计,很多模块可以独立地加载或卸载,这里只需要串口驱动、计,很多模块可以独立地加载或卸载,这里只需要串口驱动、USBUSB摄像头接口驱动(包含摄像头接口驱动(包含USB HostUSB Host,USB CoreUSB Core和和USB DeviceUSB Device)还有拨号网络应用,还要支持还有拨号网络应用,还要支持PPPPPP、TCP/IPTCP/IP网络协议,其他都可网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至以删除掉,使系统运行所需要的内核显著减小至1 1MbMb以内。以内。第45页/共53页11:2447控制终端程序流程控制终端程序流程 第46页/共53页11:2448程序设计程序设计 具体程序设计包括具体程序设计包括BootloaderBootloader启动代码启动代码、设备驱动程序设备驱动程序(USBUSB摄像头接口驱动程序、串口驱动程序)、摄像头接口驱动程序、串口驱动程序)、拨号拨号、PPPPPP及及TCP/IPTCP/IP协议处理协议处理,监控接收转发控制程序监控接收转发控制程序等。控制流程如上等。控制流程如上图所示。图所示。a a)系统加电后复位系统加电后复位 b b)BootloaderBootloader初始化初始化CPUCPU、SDRAMSDRAM、分配地址空间等。分配地址空间等。第47页/共53页11:2449程序设计程序设计c c c c)BootloaderBootloaderBootloaderBootloader把把把把LinuxLinuxLinuxLinux内核的压缩文件解压到内核的压缩文件解压到内核的压缩文件解压到内核的压缩文件解压到SDRAMSDRAMSDRAMSDRAM中,同时中,同时中,同时中,同时把控制权从把控制权从把控制权从把控制权从BootloaderBootloaderBootloaderBootloader移交到移交到移交到移交到LinuxLinuxLinuxLinux。LinuxLinuxLinuxLinux的内核有两种的内核有两种的内核有两种的内核有两种运行方式。可在运行方式。可在运行方式。可在运行方式。可在Fl