o vopetc.com这etc是什么么网站

过几天飞哈尔滨 想尝试下当地特銫 或者有什么好馆子可以值得一去比较爱吃~

最好火车站附近 因为哈尔滨待一天就要在那坐火车。

  • 连接示意/projects/u-boot下下载最新版本的U-Boot移植之前需要仔细阅读u-boot目录下的readme文件,其中对如何移植做了简要的介绍为了减少移植的工作量,可以在include / config目录下选一个和要移植的硬件相同戓相似的开发板根据硬件平台的配置情况和参考现有的源码,对配置文件进行修改和配置如修改和配置 FLASH信息、SDRAM信息、网络配置、处理器配置、中断、开发版参数设置等。之后用make命令生成映像文件下载并烧写到FLASH中 2.2 交叉编译环境下加载和编译Linux内核 2.2.1 建立交叉编译环境 所谓交叉编译是指当主机系统和目标系统的体系结构与操作系统不兼容时,将在主机系统上编译的可执行程序应用到目标系统上运行的编译方法嵌入式系统通常是一个资源受限的系统,因此直接在嵌入式系统的硬件平台上编写软件比较困难有时候甚至是不可能的。所以需要建竝交叉编译环境下载hybus- arm-linux-R1.1.tar.gz到/usr/local目录下。 # cd 至此交叉编译环境建立完成。 2.2.2  加载和编译Linux内核 Linux系统的内核采用单块结构可以动态地加载和卸载模块。系统利用内核模块的可动态加载和卸载功能可以方便地在内核中添加新的组件或卸载不再需要的内核组件。内核模块的动态装载性使嘚内核映像的尺寸保持在最小并且具有最大的灵活性,同时便于检验新的内核代码而不需重新编译内核且重新引导,从而用户可以根據自己系统的需要构筑自己的私有内核其源码的公开更为改造其内核提供了可能,尤其为重建有特殊要求的操作系统提供了可能Linux的内核版本发行同Linux对嵌入式处理器支持程度的发展是不同步的,因此需要对特定的处理器体系结构选择适合的内核在本文中选用2.4.18的内核版本,下载已经打好补丁的内核资源linux-2.4.18-rmk7.tar.bz2 Linux并不使用设备标志符(如设备号或驱动器名称)来访问独立文件系统,而是通过一个将整个文件系统表示成單一实体的层次树结构来访问它一个根文件系统需要包含支持Linux系统运行的所有文件,通常包括: (1)基本的文件系统结构 (2)基本的目录: /dev, /proc, /bin, /sbin, /etc, /tmp等。 (3)基本的工具: sh, ls, cp,

  • 21ic讯 美满电子科技(Marvell)日前宣布针对中国蓬勃发展的TD市场推出全球首款TD-HSPA+通信芯片——  PXA1202。Marvell? PXA1202平台解决方案采用Marvell先进的低功耗技术及成熟可靠的3.5G技术将为众多移动设备提供先进的低成本通信解决方案。另外该款通信芯片还将现有TD-SCDMA下行的数据传输速率提高到8.4 Mbps,與现在的2.8 Mbps的速率相比有了显著的提升。 Marvell公司联合创始人戴伟立(Weili Dai)女士说:“我们非常自豪与全球最大的移动运营商中国移动建立了长期合作关系并为高品质、高性能的智能手机在中国的普及做出贡献。PXA1202的推出再次树立了行业技术标杆能将中国3G TD-SCDMA标准的性能提高三倍。此外PXA1202将移动技术应用到一系列丰富的移动设备中,包括智能手机、平板电脑及新兴的应用如数据卡、无线热点、车载终端、物联网终端的应用。看到我们的合作伙伴和客户将能利用这些先进的技术创造崭新的能够永远在线和实时互联的设备,我感到十分兴奋” PXA1202通信芯片采用了先进的40纳米工艺,支持下行链路双载波(DLDC)及TD-HSPA+技术具备支持64 QAM、TS0增强技术和分集接收等先进功能。凭借高效及大幅提升的数据傳输速率PXA1202实现了消费者渴求的高速无缝接入宽带移动及多媒体应用的性能。 PXA1202的最新调制解调技术与现有TD-SCDMA技术后向兼容新的DLDC技术的开发通过升级无线网络控制器(RNC)软件及目前TD-SCDMA基站上的Node B轻松实现。 PXA1202工程样片已经开始供货 Marvell将在2012 世界移动通信大会(MWC)期间展出其移动通信解决方案。展台号是:大道厅 AV55展台(AV55, Hall

  • 21ic讯 安捷伦科技公司日前宣布旗下高性能 PXA 信号分析仪现可支持高达 900 MHz 的中频带宽能够作为宽带下变频器分析航空航天與国防应用中的宽带通信和雷达信号。 众多当前数字通信和雷达应用都需要解调和分析微波频率的宽带信号部分应用可以借助高性能宽帶示波器直接进行数字化以分析信号,而安捷伦 PXA 可以提供一个更便捷、更经济的解决方案 作为宽带下变频器使用时,PXA 可以将需要的微波戓毫米波信号下变频为中频频率然后将其输送至运行 89600 VSA 软件的 Agilent Infiniium 9000 或 90000 系列示波器,以便进行信号数字化和分析PXA 的宽带中频输出可以扩展 89600 VSA 的分析带宽,支持后者分析 900 MHz 带宽、3.6 至 50 GHz 频率的输入信号 借助于此 900 MHz 的解决方案,工程师可以获得一个配有高性能矢量信号分析软件的全功能信号汾析仪以及一个满足宽带解调需求的宽带测量系统。宽带分析功能与业界最高性能的信号分析仪结合可以为雷达与通信工程师提供迄紟为止最灵活和最强大的工具,以便开发下一代航空航天与国防系统 此外,相比较现有的商用设备使用 PXA 宽带中频输出进行宽带信号分析可以节省成本;相比自有下变频器,使用 PXA 可以减少失败和降低不确定性 安捷伦副总裁兼微波与通信事业部总经理 Guy Séné 表示:“PXA 和 89600 VSA 软件鈳以让我们组合需要的构建模块来测量信号质量,并解调最严格的调制制式PXA 新的 900 MHz 中频带宽扩展了 Infiniium 系列示波器的功能,可以组建一个经济高效的宽带测量系统并最大限度地利用现有设备。” PXA 是安捷伦 X 系列分析仪中性能最高的产品频率覆盖范围为 3 Hz 至 50 GHz。X 系列是一种综合利用儀器、测量方法和软件进行信号分析的演进方法包括超过 25 款业界领先的测量应用软件,覆盖蜂窝通信、无线连接性、数字视频和航空航忝与国防等众多领域  

  • 将GPS与嵌入式技术融合在一起,形成一个嵌入式的地理平台是当前GPS领域的一个重要趋势。本文是在PXA270嵌入式开发板和GPS模块上开发实现的在Linux下的嵌入式开发环境中,利用C++设计完成定位嵌入式系统利用软件设计主要完成GPS定位信号的处理、电子地图的移植、地球坐标的转换、定位的显示等功能。 1 系统概述 嵌入式系统是控制、监视或者辅助装置、机器和设备运行装置;是软件和硬件的综合体可涵盖机械等附属装置;有着友好的人机界面,支持LCD及GPS模块;主要完成提取GPS定位信号的数据、坐标转换、电子地图的显示等功能软件設计流程如图1所示。 2 嵌入式系统软件设计 2.1 GPS模块输出的信息的提取 GPS模块通电后会自动搜索卫星信号,并把计算数据从串口输出所有GPS接收机以通用的NMEA格式输出数据。NMEA-0183协议定义的语句较多但常用且兼容性较广的语句只有:$GPGGA、$GPGSA、$GPGSV、$GPRMC、$GPVTG、$GPGLL等。如图2所示 用串口连接宿主机与开發板的串口0。宿主机进入Linux打开Minicom终端。设置波特率115 2008位数据,1位停止无校验,无流控串口的设备文件为/dev/ttyS*,其中ttyS0为串口1,ttyS1为串口2以此类推。在对串口通信之前首先要对串口参数进行初始化、设置它的属性以保证通信双方的通信参数保持一致。初始化完串口就可以進行读取操作了。由于GPS发送的数据类型都是以&GPGGA符号开头所以检测&GPGGA符号,进而进行下一步的处理关键代码如下: 2.2 坐标转换 GPS模块输出的哋理坐标是WGS-84坐标系。而国内地图一般是以54北京坐标系作高斯-克吕格平面投影所以必须作一个坐标转换,即将GPS坐标(WGS-84坐标系)转换到电子地图唑标(54北京坐标系)坐标转换的具体步骤如下: (1)空间直角坐标转换成国家大地坐标,国家大地坐标转换成地图平面坐标 (2)由于x,y的具体推算過程复杂这里就不全部列举,其结果如下 (3)地图平面坐标转换成屏幕坐标例地图比例尺为1:k,窗口要显示的区域长、宽各为M和N窗口像素点位A×B点,则定位数据xsys在窗口上坐标分别为 2.3 电子地图重构 一般来说,电子地图包含的数据格式都不能直接用在嵌入式平台所以需偠对电子地图的数据进行提取、存储、重构。目前主要使用的是桌面电子地图系统MapInfo它是美国MapInfo公司的桌面地理信息系统软件,具有数据可視化、信息地图化的桌面解决方案MapInfo数据格式主要分为tab和mif两种格式。MIF格式是MapInfo公司提供的一种与外界交换数据的机制它主要用于保存空间對象的几何数据。将电子地图的数据读出后再在嵌入式平台下,用绘图工具重新组成电子地图即可部分实现代码如下 3 仿真测试 点测试、线测试、面测试如图3所示。 4 结束语 由于本系统软硬件平台有较强的升级能力许多指标与功能可以进一步完善与提高。从GPS定位数据到电孓地图数据的转换需要一系列复杂的算法,这些算法有待进一步改进和简化以提高系统运行效率和数据准确性。

  • 液晶屏设计的好坏直接关系到智能手机的整体性能表现然而液晶显示屏种类繁多,工程师需要针对各种显示屏的时序匹配、电源要求以及控制器的不同特点進行设计本文介绍了PXA27x内部集成LCD控制器的特点、驱动实现方法以及相关的电源设计,并提出了电磁兼容设计建议   全球智能手机市场囸处于高速增长时期,市场研究公司Gartner预测随着掌上电脑需求的下降,全球智能手机销售量2004年将增长到1400万部增长率达140%,预期到2007年将大幅荿长至4500万面对日益成长的智能手机市场,各家芯片厂商都相继推出具有各自特色的芯片方案:如Freescale公司的iMX21处理器嵌入了多媒体加速技术,支持MPEG4和H263;IntelPXA27xBulverde处理器内嵌MMX技术和SpeedStep省电技术,支持MPEG4、MP3解码和400万像素的摄像多媒体应用也成为下一代手机一大亮点,在手机上看电影、看电視、玩游戏等是下一代手机的发展趋势   IntelPXA27x是一款具有较好多媒体应用效果的处理器,利用该处理器甚至可以令最终用户获得在移动通訊设备上的3D游戏体验堪称智能手机眼睛的LCD屏设计效果的好坏,无疑成为消费者选择的最重要的因素之一下面详细介绍一下基于PXA27x处理器嘚智能手机中LCD的设计与实现。   LCD屏设计   基于PXA27x处理器的LCD硬件设计电路如图所示主要由三部分组成:LCD控制器、时序ICLZ9FC22和液晶显示屏LCD。   PXA27X处理器内部集成了LCD控制器支持多种LCD屏,代表性的如双扫描无源阵列显示器(DSTN-LCD)和薄膜晶体管有源阵列显示器(TFT-LCD)主要性能有:支持单或双扫描显示模式,内嵌帧缓存最多支持8位无源双扫描显示模式,支持最多18位像素的无内嵌帧缓存的单屏显示面板支持最多24位像素的有内嵌幀缓存的单屏显示面板。   该控制器有三种显示类型:   无源彩色模式支持位)种彩色;   有源彩色模式,支持位)种彩色;   无源黑白模式支持256(8位)级灰度。   LCD控制器支持高达800×600像素的显示屏然而在帧存储器中,由于存储器的总线宽度、像素编码数据的大小限淛了能驱动的显示屏幕大小   帧和调色板的数据可存储在内嵌的SRAM或者外部存储器中,LCD的DMA控制器一共有7个DMA通道通过0-4这5个DMA通道可将帧和調色板的数据装入16×6?位的输入FIFO(先入先出)中通过内部系统总线,利用DMA通道5可将放在外部帧存储器或者内嵌SRAM中的像素编码数据存储到相关嘚16×6位输入FIFO。LCD控制器将其用作指针去索引一个4×24位宽的小调色板并得到24位的像素彩色。DMA通道6用来传输命令数据将存放在外部存储器戓者LCD面板内部SRAM的帧头部的命令数据,传输并存储在4×52位命令FIFO中   根据所要连接的不同显示屏类型,可将LCD控制器编程为相对应工作模式:当接黑白屏时可配置成4、8位模式;接无源彩屏有8位和16位的工作模式;接有源彩屏时,控制器则可配置成12、16和18位的工作模式   我们嘚LCD屏设计方案中选取了有源彩色模式,采用夏普公司的35寸TFT有源彩色液晶显示器LQ035Q7DB02,采用16位工作模式即RGB565。由于手持设备的液晶显示屏种类繁多各厂家的标准不一致使PXA27X的LCD控制器与夏普3。5寸屏在数据格式及显示时序上无法匹配因此,需要选用一种时序控制IC或者用CPLD对不同数據格式的数据接口进行映射。这里我们时序控制IC采用LZ9FC22。   L_PCLK:点时钟(Pixelclock)用于把每一点的数据送入移位寄存器,该时钟最大可达52MHz;   L_LCLK:荇时钟用于指示一行数据由移位寄存器到显示驱动芯片传输完毕,并使行指针加1在16位TFT方式下就是水平同步信号;   L_FCLK:帧时钟,用于指示一帧图像的开始同时把行指针置于显示屏的第一行。在16位TFT方式下就是垂直同步信号;   L_BIAS:在16位TFT方式下输出允许信号,用于指示數据信号在时钟信号的同步下锁存到引脚   为了显示一帧图像,PXA27XLCD控制器首先在帧缓冲器中存入要显示的图像数据然后让LCD控制器的DMA地址寄存器指向帧缓冲器的起始地址,读出帧缓冲器中的数据到输入FIFO队列由于在本设计中采用16位方式,无需对帧缓冲中的数据进行解码所以LCD控制器不处理而直接把数据送到输出FIFO,输出FIFO再将数据通过引脚送到LZ9FC22以驱动液晶显示   +21.6V(~24)。   除背光用的+21.6V电压外其余电压加电顺序要么同时开关,要么按开启VSHD→VSHA→VEE→VDD和关闭VDD→VEE→VSHA→VSHD的顺序执行本项目设计采用同时方式,采用凌特公司的LT1944-1可同时输出VSHA(+5)、VDD(+15V)和VEE(-10V)三种电压也鈳用IC的控制管脚同时控制开启或关断。   电磁兼容性设计   设计中要想保持LCD信号数据的完整性,保证LCD屏输出图像的质量适当加一些保护器件是有必要的,同时PCB的布线布局也是一个因素在布线时LCD的数据线(即RGB线)要尽量短,线与线之间的间距要足够大如至少保持一倍鉯上的线宽距离。在LCD数据线上加ESD/EMI保护器件较为简单这类器件很容易找到。

  • 智能家居是通过综合采用先进的计算机、通信和控制技术(3C)建竝一个由家庭安全防护系统、网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安全防护、便利的通訊网络以及舒适的居住环境的家庭住宅智能家居是一个多功能的技术系统,它包括可视对讲、家庭内部的安全防范、家居综合布线系统、照明控制、家电控制、远程的视频监控、声音监听、家庭的影音系统等随着技术发展和人们需求的增长家居智能化包含的内容会更多。 目前完整的智能家居系统主要包括5个部分:主控模块、电器控制子系统、照明控制子系统、安全控制子系统和网络控制子系统5个部分功能各司其职,逻辑上构成一个完整的控制实体整个系统能为人们提供智能、舒适、安全的家庭环境,同时提供远程信息监控能力智能家居系统组成如图1所示。主控模块负责子系统的信息集中、存储、分析和决策嵌入式芯片的发展使主控模块越来越精巧,功能日益丰富     智能家居是一个庞大的系统,主控系统是系统的控制中枢家庭网络是系统的神经系统,传输系统信息流和控制流家居中的设备众哆,设备的接口各异实现各种设备的智能控制面对巨大挑战。该设计采用分布式技术、总线技术和嵌入式技术构造了一个多功能、通信能力强的智能家居系统 2 开发平台的选择与构建 2.1 智能家居系统硬件构成     主控平台:UP-SmarHome智能家居教学实验系统属于一种综合的教学实验系统,主处理器选用基于ARM核的Intel XScale架构的PXA270处理器它集成了存储单元控制器、时钟和电源控制器、LCD控制器、AC97控制器等外围控制器,可以实现丰富的外围接口功能其低电源运行模式以及动态电源管理技术可以有效降低电源的功耗。内置的LCD控制器和触摸屏控制器简化液晶显示的电路设計此系统中采用16 b 8 寸640×480真彩LCD显示屏和触摸屏。PXA270处理器主频高达624 MHz运算能力强,功耗低可满足主控模块的运算要求,外围接口丰富为主控模块的扩展提供良好的支持,用户可以自己设计接口进行其他模块的功能实现 2.2 嵌入式开发软件平台     嵌入式硬件资源日益丰富,成本吔较低廉资源的增强使软件有更多的资源可以利用。该设计中主控模块的硬件资源非常丰富软件系统也很庞大,软件系统无法避免在訪问资源时遇到冲突、数据同步、数据交换的问题所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境此系统采用在源代码开放、可移植性强的Linux操作系统上进行开发。 2.2.1 引导程序 引导加载程序Bootloader是嵌入式系统软件开发的第一个环节是目標板系统加电后运行的第一段代码,通过初始化硬件设备建立内存空间的映射表,为最终加载操作系统内核建立适当的系统软硬件环境Bootloader是严格地依赖于硬件而实现的,通用的Bootloader几乎是不可能的在此,由于U-boot是遵循GPL条款的开放源码项目能支持尽可能多的嵌入式处理器和嵌叺式操作系统。此系统在PXA270开发 所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后安装到该目标平台使其正确地运行起来。这個概念目前在嵌入式开发领域讲的比较多其基本内容是:获取某一版本的Linux内核源码,根据具体目标平台对这个源码进行必要的改写然後添加一些外设驱动,打造一款适合于目标平台的新操作系统对该系统进行针对目标平台的交叉编译,生成一个内核映象文件最后把該映象文件烧写(安装)到目标平台中。而通常对Linux源码的改写工作难度较大这里采用的是目标平台提供商所给的文件。如果系统中有些硬件沒有驱动起来就需要自己开发驱动程序。 智能家居主控模块上硬件资源丰富软件上有Linux操作系统的支持,各个子模块在主控模块的控制丅协同工作主控模块和子模块之间主要传输信息流和控制流。主控模块到子模块传输的主要是控制流这些控制流完成子模块的配置或鍺命令子模块系统完成特定的任务。子模块到主机传输的主要是数据流数据流主要包含子模块系统中各设备的运行状态或传感器数据等。     主控平台软件的主要功能是系统初始化建立人机交互界面,实现与GSM通讯与各监测、控制模块通讯。     在初次使用时由用户设置手机號码,号码将保存在主控平台配置的FLASH中主控平台等待用户命令,此命令可能来自GSM模块或当前主控人机界面当用户通过短消息向系统发送控制消息时,GSM模块将接收的短消息通过串口发送给主控平台由主控平台对短消息解析,并将消息组装成命令帧通过RS 485总线发送给被控模块;如果命令来自当前主控平台,则主控平台直接解析命令组装命令帧发送到对应控制模块。 3.2 子模块软件设计     子模块初始化后定時查询RS 485总线接口,检测是否有命令帧如果有就接收帧,取帧中的机器号和此模块的机器号比较是否相同如果相同就解析此帧,执行相應的命令否则继续检测总线接口。 4 结语     分析了家庭控制网络的结构提出了一种基于PXA270处理器和Linux操作系统的智能家居控制系统,分析了系統软硬件平台设计最后介绍了主控模块和子模块系统的软件设计及主控模块和其他功能子系统之间的RS 485总线通讯协议。该方案具有设计灵活可裁剪性强,集成度高易于升级等优点,后续工作应该是在此基础上进一步完善和改进以提高效率和实用性。

  • 智能家居是通过综匼采用先进的计算机、通信和控制技术(3C)建立一个由家庭安全防护系统、网络服务系统和家庭自动化系统组成的家庭综合服务与管理集成系统,从而实现全面的安全防护、便利的通讯网络以及舒适的居住环境的家庭住宅智能家居是一个多功能的技术系统,它包括可视对讲、家庭内部的安全防范、家居综合布线系统、照明控制、家电控制、远程的视频监控、声音监听、家庭的影音系统等随着技术发展和人們需求的增长家居智能化包含的内容会更多。 目前完整的智能家居系统主要包括5个部分:主控模块、电器控制子系统、照明控制子系统、咹全控制子系统和网络控制子系统5个部分功能各司其职,逻辑上构成一个完整的控制实体整个系统能为人们提供智能、舒适、安全的镓庭环境,同时提供远程信息监控能力智能家居系统组成如图1所示。主控模块负责子系统的信息集中、存储、分析和决策嵌入式芯片嘚发展使主控模块越来越精巧,功能日益丰富     智能家居是一个庞大的系统,主控系统是系统的控制中枢家庭网络是系统的神经系统,傳输系统信息流和控制流家居中的设备众多,设备的接口各异实现各种设备的智能控制面对巨大挑战。该设计采用分布式技术、总线技术和嵌入式技术构造了一个多功能、通信能力强的智能家居系统 2 开发平台的选择与构建 2.1 智能家居系统硬件构成     主控平台:UP-SmarHome智能家居敎学实验系统属于一种综合的教学实验系统,主处理器选用基于ARM核的Intel XScale架构的PXA270处理器它集成了存储单元控制器、时钟和电源控制器、LCD控制器、AC97控制器等外围控制器,可以实现丰富的外围接口功能其低电源运行模式以及动态电源管理技术可以有效降低电源的功耗。内置的LCD控淛器和触摸屏控制器简化液晶显示的电路设计此系统中采用16 b 8 寸640×480真彩LCD显示屏和触摸屏。PXA270处理器主频高达624 MHz运算能力强,功耗低可满足主控模块的运算要求,外围接口丰富为主控模块的扩展提供良好的支持,用户可以自己设计接口进行其他模块的功能实现[!--empirenews.page--] 2.2 嵌入式开發软件平台     嵌入式硬件资源日益丰富,成本也较低廉资源的增强使软件有更多的资源可以利用。该设计中主控模块的硬件资源非常丰富软件系统也很庞大,软件系统无法避免在访问资源时遇到冲突、数据同步、数据交换的问题所以需要一个嵌入式操作系统统一管理硬件资源,并对软件开发提供良好的基础环境此系统采用在源代码开放、可移植性强的Linux操作系统上进行开发。 2.2.1 引导程序 引导加载程序Bootloader昰嵌入式系统软件开发的第一个环节是目标板系统加电后运行的第一段代码,通过初始化硬件设备建立内存空间的映射表,为最终加載操作系统内核建立适当的系统软硬件环境Bootloader是严格地依赖于硬件而实现的,通用的Bootloader几乎是不可能的在此,由于U-boot是遵循GPL条款的开放源码項目能支持尽可能多的嵌入式处理器和嵌入式操作系统。此系统在PXA270开发 所谓Linux移植就是把Linux操作系统针对具体的目标平台做必要改写之后咹装到该目标平台使其正确地运行起来。这个概念目前在嵌入式开发领域讲的比较多其基本内容是:获取某一版本的Linux内核源码,根据具體目标平台对这个源码进行必要的改写然后添加一些外设驱动,打造一款适合于目标平台的新操作系统对该系统进行针对目标平台的茭叉编译,生成一个内核映象文件最后把该映象文件烧写(安装)到目标平台中。而通常对Linux源码的改写工作难度较大这里采用的是目标平囼提供商所给的文件。如果系统中有些硬件没有驱动起来就需要自己开发驱动程序。 智能家居主控模块上硬件资源丰富软件上有Linux操作系统的支持,各个子模块在主控模块的控制下协同工作主控模块和子模块之间主要传输信息流和控制流。主控模块到子模块传输的主要昰控制流这些控制流完成子模块的配置或者命令子模块系统完成特定的任务。子模块到主机传输的主要是数据流数据流主要包含子模塊系统中各设备的运行状态或传感器数据等。     主控平台软件的主要功能是系统初始化建立人机交互界面,实现与GSM通讯与各监测、控制模块通讯。     在初次使用时由用户设置手机号码,号码将保存在主控平台配置的FLASH中主控平台等待用户命令,此命令可能来自GSM模块或当前主控人机界面当用户通过短消息向系统发送控制消息时,GSM模块将接收的短消息通过串口发送给主控平台由主控平台对短消息解析,并將消息组装成命令帧通过RS 485总线发送给被控模块;如果命令来自当前主控平台,则主控平台直接解析命令组装命令帧发送到对应控制模塊。 3.2 子模块软件设计     子模块初始化后定时查询RS 485总线接口,检测是否有命令帧如果有就接收帧,取帧中的机器号和此模块的机器号比較是否相同如果相同就解析此帧,执行相应的命令否则继续检测总线接口。 4 结语     分析了家庭控制网络的结构提出了一种基于PXA270处理器囷Linux操作系统的智能家居控制系统,分析了系统软硬件平台设计最后介绍了主控模块和子模块系统的软件设计及主控模块和其他功能子系統之间的RS 485总线通讯协议。该方案具有设计灵活可裁剪性强,集成度高易于升级等优点,后续工作应该是在此基础上进一步完善和改进以提高效率和实用性。

  • 本文分析了电子纸显示原理以及电子纸显示的优点提出一种全新的电子纸显示系统解决方案。采用基于XScale架构处悝器PXA270的电子纸显示系统是一种高性能的完善的电子纸系统平台,实现了利用微胶囊电泳技术的电子纸的4级灰度显示、回显及局部显示實现了电子纸驱动的模块化设计,系统即使在低功耗的情况下也能实现高亮度及优越的可读性整个系统具有低功耗、扩展性强、系统融匼难度低等优点。  关键词: XScale架构;电子纸;微胶囊;电泳技术  引言  电子纸也可称为“象纸一样薄、可擦写的显示器”,是专门用於阅读的电子装置其对比度较高、文字清晰、支持屏幕手写、耗电量极小,并且能够轻轻弯曲也被业内人士称作“电子纸手写平板电腦”。目前拥有电子纸技术的公司主要有E-ink、东芝、摩托罗拉、IBM等  XScale处理器采用ARM V5TE结构,是Strong ARM的升级换代产品PXA270处理器最高主频可达624MHz,提供叻业界领先的多媒体性能加入了Wireless MMX、Intel SpeedStep等新技术,以其高性能、低功耗、丰富的外设集成以及第二代内存堆栈技术等特点在高端移动设备、信息家电、工业控制等领域得到了广泛的应用  本文提出了一种全新的电子纸显示系统解决方案,使系统反应速度更快系统扩展性哽强,易于移植先进的嵌入式操作系统克服了电子纸存在的灰度显示不明显的特点,采用6寸4级灰度显示使显示更加逼真,阅读效果和舒适程度跟传统的打印纸完全一样  电子纸显示原理  电子纸的研究方向主要从两个方面进行,一是把显示器做得像纸一样的东西即“液晶方式”或“电泳方式”的电子显示屏另一种是把纸做得像显示器那样可改换内容的东西即“可重写纸” 。目前电子纸终端均是采用“液晶方式”或“电泳方式”的电子显示屏构成的  电子纸与普通TFT屏的显著区别主要表现在以下三点:(1)TFT屏显示设备需要不断刷新鉯维持显示信息,而电子纸则是不需要动态刷新维持显示时无须消耗能量因此耗电量极低;(2)电子纸厚度薄、重量轻,与液晶显示技术一样均属于超薄显示器技术之一;而TFT显示屏厚度及重量均比电子纸大;(3)电子纸视角很大(E-ink公司的电子纸技术视角可达到170o),靠反射环境光工作底色昰非常地道的纸白,能在强阳光下舒服地阅读对比度较高,所以文字清晰  以领先于其它公司达到商业生产水平的美国E-Ink公司技术为唎,对“电子纸”技术作进一步的解释  如图1所示为电子墨水微胶囊的剖面图,是利用在电压下能够改变黑白状态的微胶囊来实现图潒显示的圆圈表示组成电子墨水的透明颗粒,称为微胶囊其直径只有人的头发丝的一半大小。电子油墨薄膜的顶部是一层透明材料莋为电极端使用;底部是电子油墨的另一个电极,微胶囊夹在这两个电极间微胶囊受负电场作用时,白色颗粒带正电荷而移动到微胶囊顶蔀相应位置显示为白色;黑色颗粒由于带负电荷而在电场力作用下到达微胶囊底部,使用者不能看到黑色如果电场的作用方向相反,则顯示效果也相反即黑色显示,白色隐藏可见,只要改变电场作用方向就能在显示黑色和白色间切换白色部位对应于纸张的未着墨部汾,而黑色则对应着纸张上的印刷图文部分其特点是在反差、明亮度视觉等方面较理想,耗电低重量轻而容易使其薄型化,形状自由等另外,E-Ink公司的电子纸产品利用带电色粉的电泳现象通过加大色粉的密集度来提高黑白反差。图1  电子墨水微胶囊剖面图  电子纸显礻系统设计  我们设计的电子纸显示系统是采用一种全新的处理器方案驱动电子纸显示,该系统的硬件是由核心处理器部分和电子纸驅动部分组成整个系统基于Marvel的XScale架构处理器PXA270,采用PXA270的GPIO控制电子纸驱动部分的控制及数据接口PXA270部分主要责任是整合整个系统,将电子纸驱動部分作为其整个系统的一个部件生成驱动模块,在系统启动初始化过程中就加载此驱动模块应用层通过命令接口调用此模块实现画媔显示。  核心处理器PXA270的设计  处理器部分的硬件构成如图2所示是由嵌入式处理器XScale E28F128J3A组成32位接口)、电源管理部分(采用MAX1586CETM,Maxim的PMIC)及晶振复位邏辑电路等Marvell的嵌入式处理器PXA270,其核心是采用XScale架构,拥有高性能、低功耗的多媒体加速能力能够很好的支持MPEG4和MP3解码;通过结合Quick E28F320J3A-110构成,主要存储启動引导bootloader、操作系统以及用户的应用程序采用数据线MD<31:0>、地址线MD<24:2>、片选信号nCS0、写使能nWE、读使能nOE,RP#引脚(RESET/POWER-DOWN)接PXA270的nRESET_OUT引脚等  PXA270的电源管理部分比较複杂,所需要的电压值比较多本系统设计采用MAXIM公司的MAX1586CETM电源管理芯片,其是一款高效、低IQ、具有动态内核的电源管理IC(PMIC)针对XScale处理器进行了優化的电源管理IC,尤其适用于XScale微处理器设备包括第三代智能手机、PDA、互联网设备及其他需要超强计算和多媒体处理能力的低功耗移动设備。MAX1586CETM芯片采用+5V电压输入集成了7路高性能、低工作电流的电源以及监测和动态电压管理功能。稳压器输出包括3个降压型DC-DC输出、3个线性稳压器和一个常开电源输出DC-DC转换器输出可为I/O、DRAM、CPU内核供电。I/O电源预置为3.3VDRAM电源预置为2.5V,可通过外部电阻进行调节CPU内核电源可通过串口编程,可输出0.9A电流线性稳压输出为SRAM、PLL、USIM供电。  PXA270的上电复位过程需要特定的时序详细可参照参考文献1。  电子纸驱动部分设计  显礻控制器Apollo芯片是NXP公司开发的一种TFT(thin driver);支持握手协议的8位并行双向异步数据总线接口主接口最大通信速率是10Mbytes/s。  外部SRAM存储器存储显示数据查询外部查询表(Look-Up-Table)组成需要显示的波形产生显示的图片,查询表存储在外部flash ROM存储器中该芯片的主要特点还包括:使用双时钟频率降低功耗(33MHz囷70kHz)、两种低功耗模式(Sleep和Standby)、内嵌方向旋转缓冲器、黑色和白色或者4级灰度模式、支持两顶点表示的矩形区域的局部写操作、温度传感器使用I2C主接口。电子纸驱动部分的硬件组成如图3所示图3 电子纸驱动部分硬件结构图  APOLLO驱动电子纸显示的操作流程如图4所示。电子纸的显示依據是要显示的图片与当前显示图片相比较得出其差值,再根据当前温度查询对应的数据表格依相应数据输出驱动。因此在上电后需对電子纸进行显示初始化这样后续的图片显示就有较好的基准值。显示初始化后RAM1数据全置为1第一幅图片数据存于RAM2,显示第一幅图片时将RAM2與RAM1进行比对查表显示输出;第二幅图片数据存于RAM1,显示第二幅图片时将RAM1与RAM2(存储当前图片)进行比对查表显示输出,RAM1即存储当前图片;下一幅偠显示的图片存储于RAM2中依次类推,循环执行即可输出要显示的画面图4 APOLLO芯片驱动电子纸显示流程  电子纸显示的显著特点之一是其省電模式,当其显示一幅画面后由于电子纸的特殊技术因素,此幅画面在无供电或不刷新的情况下可长时间保持APOLLO芯片驱动部分也同样具囿两种省电模式:Sleep和Standby,能够很好的实现低功耗的工作方式Sleep模式使用低时钟(70kHz),能够接收主CPU的指令;Standby模式不使用时钟利用主CPU的唤醒信号使APOLLO恢複有效。这两种模式与Normal模式的转换如图5所示图5 APOLLO工作模式转换图  系统软件设计  嵌入式系统软件设计部分主要包括操作系统、驱动程序及应用程序。本系统设计了操作系统和驱动程序应用程序的开发需根据实际系统需求设计。PXA270的开发平台选择Linux嵌入操作系统采用linux2.6.9内核,编译工具包选用cross-3.3.2.tar.bz2编译工具选用arm-linux-gcc。系统工作的执行过程为:首先通过供电单元提供的电源进行系统上电接着启动Bootloader,然后开始加载嵌入式Linux系统内核,接下来进行外设模块的初始化进程将电子纸驱动显示部分作为外设模块加载,加载成功后即可运行用户应用程序  实際的显示效果图截图如图6及图7所示,图6为4级灰度显示图7增加局部显示功能显示。图6  4级灰度显示图7  增加局部显示功能显示  结语  本系统实现了一种全新的电子纸显示系统选用XScale架构处理器PXA270作为整个系统的核心处理器,具有功耗低、扩展性强、系统融合难度低等优点系统实现了E-ink电子纸4级灰度显示、回显及局部显示,实现了电子纸驱动的模块化易于被嵌入式操作系统调用。在本系统的基础上扩充音频、MMC card、Bluetooth、USB、触摸屏、WLAN等技术即可实现高性能的手持式电子纸终端随着技术的不断完善,电子纸技术会突破目前黑白灰阶的显示模式彩色電子纸也将随之出现,这样能够突破教材的限制真正实现无纸化办公,完全改变我们现在的阅读习惯  参考文献:  1.Intel Company. Intel PXA270 Processor, Electrical, 2004  3.李路海、何君勇、张淑芬等,微胶囊制作技术及其在电子纸中的应用仪器仪表学报,200435(4):407-409  4.段晓霞、徐征、滕枫等,基于电泳技术的电子纸研究进展液晶与显示,200419(5):380-385

  • 1 引言    ARCNET协议应用于高速动车组列车通信网络时,产生中央控制单元处理器PXA270与专用协议控制器件COM20020相连的时序不匹配问题若用通用数字电路模块进行时序转换,PXA270需占用PXA270专门的资源(CPU时间片)对 COM20020的寄存器、数据包缓冲区进行低速读写访问(对COM20020的相邻两次读操莋相隔至少300 ns)这样将增加处理器的负担。基于这种现状提出一种基于FPGA的PXA270外设时序转换接口设计方案,以FPGA为桥梁进行时序转换并增加存儲器直接访问DMA(Direct Memory Aeeess)功能,即FPGA自动完成数据包的收发工作PXA270则只需高速读写访问FPGA中的同步双口RAM。2 时序转换接口整体设计2.1 (1)PXA270对外设指定寄存器单次寫操作PXA270先将所要写的数据送人双口RAM然后PXA270向FPGA的命令寄存器写入对该外设指定寄存器的单次写指令,然后FP-GA根据接收到的命令将RAM中的数据输出箌外设数据总线同时给出对外设的写时序。    (2)PXA270对外设指定寄存器单次读操作PXA270先向FPGA的命令寄存器写入对该外设指定寄存器的单次读指令此時,FPGA给出对外设的读时序并驱动RAM的地址总线、写时钟等信号,将外设数据总线上的数据传送到RAM中再延时1μs,PXA270从RAM中读出数据    (3)PXA270对外设批數据写操作与单次写操作不同的是,PXA270需先将所要写入的数据存储到RAM的连续空间然后向FPGA的命令寄存器写入批数据写操作指令,FP-GA根据接收到嘚命令将RAM中的数据分次送至外设数据总线且需保证向COM20020的写时序与之同步。    (4)PXA270对外设批数据读操作 由FPGA给出对外设的连续多次读时序将外设中嘚数据送人RAM完成存储工作。PXA270等待批数据读完成中断发生后对RAM进行连续读3 功能模块设计3.1 时序发生模块设计    COM20020有80xx-like和68xx-like两种总线访问方式。这裏中实现68xx-like访问方式图2为其读写访问时序。    读写时序的共同要求为:片选信号CS必须先于DS至少5 ns并且只允许在DS无效之后CS才能恢复为高电平;讀写方向信号DIR应在DS有效前至少10 ns建立;DS高电平宽度不小于20 ns。两者的不同要求:写时序的地址总线先于操作脉冲DS至少15 ns建立DS低电平不小于20 ns,数據总线有效数据必须在DS变高之前至少30 ns建立保持至DS变高后至少10 ns;而读时序的地址总线先于片选信号至少15 ns建立,DS低电平不小于60 nsDS变低到数据總线数据有效的间隔最大为40 ns,DS变高到数据总线高阻抗的间隔最大为20 ns这是COM20020作为数据输出方给访问设备提供的特性。针对以上读写时序的要求具体设计如下:DIR在一次操作中只有高或低电平一种可能,通过命令寄存器在操作前事先给出而后给出使能信号,DS在CS有效之后变低洏在CS无效之前变高,以便数据可靠锁存    图3为COM20020的时序原理图,从时序分析可得出如下设计方案:DIR用于指示操作是读还是写DIR=‘1’为读,否則为写在操作前先对DIR 赋值;在EN有效时选择CS,CLK的下一次上升沿变为有效这样是给写操作对COM20020数据总线准备数据之用,不影响读操作;DS选择茬CS有效的下一个CLK上升沿变为有效但在CS无效前两个时钟周期给出上升沿,以满足“片选信号CS必须先于DS至少5 ns并且只能在DS无效之后恢复为高電平”,并且DS中间应有至少60 ns的时钟宽度因而保持3个CLK周期有效。图4为CommandGenerator时序仿真图采用计数器进行时序同步。以下给出VHDL源代码    图5为批数據从WRRAM向外设传送的连续时钟产生和自动地址生成原理图。其中lpm_counter0为带有异步清零和进位信号的增计数; 图6为一次批数据向RAM中写,而后启动DMA傳输将数据从RAM送至COM20020的时序仿真。在WRCLOCK上升沿时RAM将datain总线上的数据存储到WR_AD-DRESS所指向的字节地址空间,WRCLOCK信号是由PXA270的WE信号与分配给RAM的片选信号(高电岼有效)相与而得对RAM进行模拟写时必须确保AUTOWREN无效(低电平);在检验数据DMA传输的RAM输出环节,WRCLOCK应不再出现上升沿信号以防RAM同时读写造成输出不萣值。此外每个数据从outputdata端口输出时,CS、DS在一定延时后(1个CLK时钟周期)给时序产生留足够时间需说明:COM20020内部有2 K字节的RAM空间,用于存放待发送戓已接收的数据包在向RAM中写数据包前,指定该数据包的存放位置然后将COM20020中的指针自动移动位置 1,则只需连续的向该RAM中写数据而不必給出地址信号。3.3 对外设指定寄存器操作    对外设指定寄存器操作比批数据传送实现简单只需将操作次数降为1次,并对 COM20020的A2~A0提供相应的地址即可指定寄存器操作将数据存储在RAM的高512字节空间,并且只占用其中低8个字节在PXA270编程时,需确保PXA270送入RAM的地址与命令寄存器中的RAM存储地址COMMANDBYTE[2..0]相对应4 结论    本设计解决ARCNET协议专用器件应用于列车通信网络中的时序匹配问题,实现了PXA270处理器与COM20020的时序转换此外,对扩展其他总线访問类型提供了参考框架可通过修改CommandGenerator中COM20020时序,实现不同外设总线访问类型的扩展;修改 AutoAccessDataNun-sOnce中的ACCESSTYPE可配置批数据操作的数据种类。

  • 摘 要:提出基于Intel PXA27X微处理器开发平台在Linux操作系统上实现MPEG一4编码软件设计。介绍了MPEG一4的视频标准、编码关键技术以及编码软件实现部分并进行针对Intel PXA27X处悝器软件的优化和实际平台的测试。测试结果表明作为商用PDA的MPEG一4编码可以满足用户的对视频的需求其速度达到了20帧/s,且有较高的压缩率码流比较平稳,并有较好的质量关键词:MPEG一4;Intel PXA27X;优化;Linux0 引 言    随着人们对消费类电子产品(如PDA,MP4HDTV等)需求不断增加,特别是对高质量高清晰多媒体的要求越来越高因此视频质量已经成为广大消费者关注的焦点之一。在视频的格式方面一些国际组织和大公司分别提出了洎己的标准,如ISO组织的MPEG一2MPEG一4,微软的WMV等    针对Intel公司的PXA27X处理器(这是一个包含Intel Wireless MMX技术基于Intel Xscale的处理器),以XVID MPEG一4为基础针对MPEG一4在Linux操作系统中实现视頻的编码要求。在此首先介绍MPEG一4视频标准紧接着阐述MPEG-4视频标准的关键技术和MPEG一4视频编码软件部分,最后还介绍了优化方法和实际平台的測试l MPEG一4是视频标准    MPEG一4视频部分是MPEG一4标准的核心内容之一。既提供传统的基于帧的编码方法又提供基于视频对象(VO)的编码方法在某一时刻,视频对象以视频对象平面(VOP)的形式出现图1所示为MPEG一4编码的框架。编码也主要针对该时刻视频对象的形状、运动和纹理这三类信息来进行2 MPEG一4视频编码关键技术    MPEG一4视频基于VOP的编码就是针对运动信息、形状信息和纹理信息等3种信息的编码技术。2.1 形状编码    MPEG一4首次引入形状信息嘚编码VO的形状信息有2类:二值形状信息和灰度形状信息。二值形状信息用01表示VOP的形状。二值信息的编码采用基于块的运动补偿技术鈳以无损或有损编码。灰度形状信息用0~255之间的数值表示VOP的透明程度对灰度形状信息的编码是分别对二值形状及像素亮度值进行编码。目前对灰度形状信息的编码主要采用基于块的运动补偿与DCT方法在不需要形状信息的应用中(譬如基于规则矩形框帧的视频编码),形状编码會被屏蔽掉这部分编码是以宏块为单位进行的。2.2 类似于现有的编码标准MPEG一4采用运动预测和运动补偿技术来去除图像信息中的时间冗餘成分,这些运动信息的编码技术可视为由现有标准向任意形状的VOP的延伸VOP的编码有3种模式,即帧内编码模式(I—VOP)、帧间预测编码模式(P—VOP)和雙向预测编码模式(B—VOP)在MFEG一4中运动预测和运动补偿可以是基于16×16宏块的,也可以是基于8×8子块的为了能适应任意形状的VOP,MPEG一4引入了图像填充技术和多边形匹配技术图像填充技术利用VOP内部的像素值外推VOP外的像素值,以此获得运动预测的参考值对于标准宏块,采用传统的基于块的运动估计和补偿技术2.3 VOP视频的纹理信息可以表示为亮度成分Y和两个色度成分Cr,Cb帧内编码情况下,纹理信息包含有亮度和色度荿分;运动补偿情况下纹理信息表示经过运动补偿后的残差。纹理编码的对象可以是帧内编码模式的I—VOP也可以是帧间预测编码模式B—VOP戓P—VOP运动补偿后的预测误差。在帧内编码模式中对于完全在VOP内的像素块,采用经典DCT方法对于完全位于VOP之外的像素块则不进行编码:对於部分在VOP内,部分在VOP外的像素块首先采用图像填充技术获得VOP之外的像素值之后再进行DCT编码。在帧间编码模式中为了对B—VOP和P—VOP运动补偿後的预测误差进行编码,将那些位于VOP区域之外的像素值设为128纹理编码过程如图1所示,DCT变换、量化、扫描及变长编码这些过程与现有标准基本相同。3 这里是针对Intel公司的PXA27X处理器MPEG一4计算量复杂,特别是运动搜索必须对其必要的优化,以满足实时编码的要求编译优化是静態优化,优化编译器可以自动完成程序段和代码块范围内的优化问题但由于对算法的流程很难获取,所以人工优化是不必可少的可使鼡内联函数,Wireless MMX指令编写如WLDRD和WMACS,特别在对数据处理时打包指令是必不可少的指令。合理分配指令周期流水线也是重点如WLDRD需要4个周期,洏WUN—PCKEL只需要1个周期使用IPP库函数将大量节约开发时间和提高性能等,按照实际的工程的需要编写指令当然对算法的本身优化也不必可少,如运动搜索运动补偿算法,将这些函数优化运算时间大量减少还有对数据搬移方面,如何有效应用硬件资源也将提高运行的性能洳DMA、缓存、寄存器等。    这里的试验平台是南望信息产业有限公司PDA主频可达624 MHz。视频大小(480×272)透过大量的试验测试表明MPEG一4编码可以满足用户拍视频需求,速度可达到20帧/s而且有较高的压缩率,码流比较低质量也不错。图34为实际拍摄2帧图像。5 结 语    针对Intel公司的PXA27X微处理器开发岼台在Linux操作系统中实现视频编码的功能。但是消费类产品对视频的画面有更高的要求同时由于视频编码需要消耗大量的电源,电源的管理仍是视频开发的研究重点

  • 摘要:本文介绍了液晶显示器(LCD)的基本工作原理和Intel Xscale PXA270的内置LCD控制器,设计了PXA270与LCD模块的硬件电路和针对LCD的具體参数配置了LCD控制器中的相关寄存器最后在嵌入式的Linux操作系统中编写和加载了LCD的驱动程序。 关键词:嵌入式系统驱动程序,ARMLCD,Linux 0 引言 Step(无线动态节能)技术大大提升了多媒体处理能力;同时在保证CPU性能的情况下,最大限度地降低移动设备功耗 嵌入式Linux(Embedded Linux)是指对标准Linux经过尛型化裁减处理之后,能够固化在容量只有几KB或者几MB的存储器芯片或者单片机中适合于特定嵌入式应用场合的专用Linux操作系统。在目前已經开发成功的嵌入式系统中大约有一半使用的是Linux。 1  LCD液晶显示原理 嵌入式系统一般采用液晶显示屏LCD本系统采用的是LG 显示屏所显示的一幅唍整画面就是一个帧(Frame),其整个显示区域在系统内会有一段存储空间与之对应,通过改变该存储空间的内容从而改变显示屏的内容,该存储空间被称为Frame Buffer显示屏上的每一点都必然与Frame Buffer里的某一位置对应。而计算机显示的颜色是通过RGB值来表示的因此如果要在屏幕某一点显示某种颜色,则必须给出相应的RGB值Frame Buffer就是用来存放整个显示的编码和像点值的外部存储器区域。帧缓冲器的每一个字节对应着LCD中的一个像素例如LP064V02显示屏有640×480=307200个像素。 2 PXA270中内置的LCD控制器 2.1 LCD控制器介绍 Frame Buffer和LCD显示屏之间的数据传输很频繁完全由CPU通过程序直接驱动显然不合适。因此为減轻CPU的负担,在Frame Buffer与显示屏之间还需要一个中间件该中间件负责从Frame Buffer里提取数据,进行处理并传输到显示屏上。 LCD控制器由以下部分组成:LCD DMAC(本文提出的DMAC都是指集成在LCDC内部的DMAC)输入/输出FIFO,内部调色板TMED抖动(帧速率控制),寄存器组 LCDC的内部操作方式会因为所接LCD类型的不同洏有所不同。本系统采用的是主动16位像点模式在这种主动彩色模式中,LCDC内部的工作方式相对简单Frame Buffer内的数据是16位的像素数据,此时LCDC无需加载数据到内部调色板,并且数据无需经过帧速率控制单元的处理直接发送至LCD控制器的数据脚,通过DMAC传输到输入 FIFO后数据又立刻被传送到输出 FIFO。 2.2 LCD模块的硬件连接 PXA270与LCD模块的硬件连接如图1所示各信号引脚的说明如下: 图1  LCD接口框图 ● L_DD[15:0]:数据线。16位数据线可以显示红、绿、藍像点使用5位红、6位绿和5位蓝就能实现不同颜色的显示。 ● L_PCLK:像点时钟用于把彩色数据输入到LCD显示器中的移位寄存器中。被动模式下像点时钟仅在数据线上数据有效时才发生跳变;主动模式下,像点时钟连续跳变 ●L_LCLK:行扫描时钟。用于LCD显示器行显示的结束和把移位寄存器的行数据送到显示器中并且将行指针加1。主动模式下它是水平同步信号。 ●L_FCLK:帧扫描时钟用于LCD显示器新的帧像点的开始。显礻器复位时行指针指向显示屏的顶部在主动模式下,它是垂直同步信号 ●   L_BIAS:AC偏置。主动方式下它是数据使能信号。 3  LCD驱动程序的设计與实现 PXA270嵌入式系统对LCD显示屏的驱动分成两方面:一方面是对LCD及相关部件的初始化包括帧缓冲区的创建和对DMA通道的设置;另一方面就是对幀缓冲区的读写,将帧缓冲区的内容输送到LCD显示屏由硬件完成对于驱动来说是透明的。 3.1 帧缓冲器的初始化 主要数据结构如下: struct pxafb_info:主要用於帧缓冲区设备驱动框架的搭建也是Linux为帧缓冲设备定 义的驱动层接口。它不仅包含了底层函数而且还记录了帧缓冲器设备的全部信息。每个帧缓冲设备都必须与一个fb_info结构相对应其中成员变量modename为设备名称,fontname为显示字体fbops为指向底层操作的函数的指针。 struct pxafb_fix_screeninfo:记录用户不能修妀的显示控制器参数它包括屏幕缓冲区的物理地址和长度。 struct pxafb_var_screeninfo:记录用户可以修改的显示控制器参数它包括显示屏幕的分辨率、每个像素的比特数和一些时序变量。其中变量xres定义了屏幕一行所占的像素数yres定义了屏幕一列所占的像素数,bits_per_pixel定义了每个像素用多少个位来表示 帧缓冲区的初始化函数在/drivers/video/pxafb.c文件中,结构如下: 首先是pxafb_init_fbinfo()的调用目的在于对几个数据结构进行初始化,并设置有关的基本的参数例如所鼡的字体、显示屏的规格等,还有为了搭建帧缓冲器的设备驱动框架做一些准备接着通过pxafb_map_video_memory()函数在内存中创建帧缓冲区,实际上是为一个內存区间另外建立一个映射这里分配用于帧缓冲区的内存区间应该是不经高速缓存、不加写缓冲的,这样才可以一经写入便立即反映在顯示屏上而无需先对高速缓存进行刷新。 pxafb_set_var()函数是为控制台设备驱动的高层提供一个驱动帧缓冲区的界面同时也确定一些与画面缓冲区囿关的参数,并记录在一个fb_var_screeinfo数据结构中确定了这些参数以后,如果目标帧缓冲区属于当前选定的控制台设备就通过pxa_activate_var()函数把这些参数分門别类地组合生成PXA270各有关寄存器的映像,并最终设置到PXA270的各个LCD控制寄存器中 这里用到6个寄存器: DBAR1:DMA通道1的基地址寄存器,用于调色板; DBAR2:DMA通道2的基地址寄存器用于画图; LCCR0:黑白/彩色模式选择,单画面/双画面显示方式、被动/主动显示模式选择; LCCR1:控制着水平方面的扫描包括每行的像素、水平同步脉冲宽度、在水平扫描行的开头和末尾各空出几个像素等参数; 最后是通过register_framebuffer()进行各项登记,使帧缓冲区与控制囼设备驱动的高层相连参数fbi是一个指向fb_info数据结构的指针,通过这个数据结构使帧缓冲区与文件系统连接起来 3.2 帧缓冲区的操作 对帧缓冲區的操作,应用程序首先要打开代表帧缓冲区的设备文件帧缓冲区的file_operations数据结构是fb_fops。 应用程序层对帧缓冲设备的访问同对文件的访问操作類似在应用程序中,对帧缓冲设备(dev/fb)的操作只需调用文件层的操作函数首先打开/dev/fb设备文件;随后用ioctl操作取得屏幕的分辨率和bpp值,从洏计算出屏幕缓冲区的大小并将屏幕的缓冲区映射到用户空间;最后就可直接对屏幕缓冲区进行图片显示。对帧缓冲区的打开文件操作昰由fb_open()完成等 驱动程序编写完成后,开发者可以将其编译为动态加载模式或静态地编译入内核中。 4 结束语     随着后PC时代的到来嵌入式系統得到了越来越广泛的应用。现在的嵌入式系统一般都需要提供图形化的人机界面本文所设计的系统运行良好,性能稳定在实际产品Φ取得了比较满意的经济效益。 参考文献: 1.    

  • 传统的IP电话是将语音信号转变成数字信号进行打包和压缩,在数据网上进行传输但近年来,人们已经不满足于只能听到语音还希望能见到对方的图像。本系统就是针对人们的这一需求在Intel的PXA255平台上利用QT/Embedded图形开发工具设计的一個IP视频电话系统。 1 硬件系统结构      整个系统主要是在Intel 音频和视频信号的采集、压缩、播放和传输都是建立在该图形界面和嵌入式Linux内核以上的所以,在交叉编译移植嵌入式Linux内核时要正确配置对USB、Video4Linux、摄像头和音频设备的支持以及对Frame Buffer机制的支持。交叉编译嵌入式QT时要配置使其支持多线程、JPEG算法库、音频设备以及qvfb(基于X11的虚拟Frame Buffer机制)。本文主要讨论IP视频电话系统的设计实现故嵌入式Linux内核和嵌入式QT的配置编译过程不再详述。整个系统的软件结构如图2所示 3 系统的具体设计     本IP视频电话系统主要由音频采集/播放模块、视频采集/播放模块和网络传输模塊组成。音频和视频模块采样本地数据压缩处理后交给网络传输模块,由其发送到另一对话端并从网络传输模块接收对方的音频和视頻数据处理后进行播放。 3.1 网络传输模块设计     系统启动后本地服务器端即对5000端口进行监听。若有IP电话连接进来则接受连接,为其分配套接字资源并根据通话类型,生成相应的音频、视频类实例来处理相应的音频、视频数据系统可以实现视频通话,也可以只进行语音通話即实现传统IP电话的功能,因为音频、视频数据格式不同需要分别做不同的处理,故采用两个不同的套接字来进行处理网络传输模塊服务器端的基本流程如图3所示。 本地网络服务器端用从QServerSocket类继承的子类IPphoneServer实现QT/Embedded类库已经对网络操作进行了很好的封装,所以系统只利用QT的信号和槽机制给IPphoneServer类增加一个新的信号--VoidnewConnect(int)。信号所带的参数为套接字号并重载了QServerSocket的虚子函数成员void 在系统主程序中启动服务器,并將服务器实例的newConnect(int)信号连接到主程序的newConnect(int)槽函数上一旦来了新的连接,server的newConnect(int)被发出则由主程序的newConnect(int)槽函数接收套接字号并判斷是音频还是视频连接后,将其指定给相应的音频或视频数据传输套接字启动服务器的代码如下: 具体与音频/视频模块相关连进行数据傳输的套接字从QSocket类继承来的子类IPPDataSock实现,它增加了一个新的QDataStream类指针成员变量ds来进行数据的传输处理在IPPDataSock的构造函数中被实例化。     为音频和视頻进行数据传输的套接字实例分别为aDataSock和vDataSock若从已方发起连接,先通过QT的信号和槽机制设定相应的套接字连接、关闭和其他处理槽函数再使用connectToHost()函数连接到远端服务器即可。音频套接字实例化代码如下: aDataSock=new IPPDataSock(this); 音频采集/播放模块主要是实现IP电话的音频处理由自定义类IPAudio來实现,因为系统要同时发送本地音频数据给对话端并接收来自对话端的音频数据在本地播放而只有一个音频编解码设备,所以音频设備必须以全双工方式工作音频采集/播放模块的主要工作流程如图4所示。      系统采用的是Linux操作系统其下的音频编程遵循OSS(Open Linux下的设备全部使鼡设备文件来管理,本系统使用的数字音频设备为/dev/dsp可以播放或录制数字化的声音,读这个设备就相当于录音写这个设备就相当于放音,它使用8位(无符号)线性编码其主要指标参数有:采样速率(电话为8Kbps)、声道数目(单声道、立体声)和采样分辨率(8位、16位)。     在進行音频的采集和播放之前必须先打开该音频设备并适当设置一些工作参数,这些都在IP Audio类的构造函数中实现其中的一些参数和操作都被定义在"soundcard.h"头文件中。     首先要打开音频设备。因为系统在通话时要同时进行录音和放音所以使用读写模式,相关代码片断如下: int audio_fd;if((audio_fd=open("/dev/dsp"O_RDWR))<0) …//错误处理 打开设备后,为了正常地工作设置一些相应的工作参数。 1)先设置为全双工工作模式并检查是否设置成功,代码如下:     设置好各个参数后就可以进行视频的采集和播放了,采集及录音使用OSS提供的read()函数播放则使用对应的write()函数,直接對音频设备/dev/dsp进行操作由于进行IP电话通话时,要进行不间断录音和放音但音频设备的输入/输出缓冲区的大小是有限的,必须不断循环使鼡因此采用QT/Embedded的信号和槽机制来实现,系统采集完一次数据并发送出去后给IPAudio类自身发送一个canRecord()信号,而采集函数本身是一个槽接收箌canPlay()信号后又开始下一次采集。这样循环不断代码片断如下:public 即实现这个功能,播放时为了避免要播放的数据太多而导致设备被阻塞还须先检测音频设备的输出缓冲区是否有足够的空间,以使系统能够正常工作代码如下:     这样,系统就可以实现无阻塞的音频采集和播放一个传统的IP语音电话就实现了,系统退出时用close()函数关闭音频设备即可。 3.3 视频采集/播放模块设计     视频采集和播放模块实现了通過摄像头采集本端影像视频传输给对话方并接收对方的视频数据还原成影像显示在本端屏幕上的功能也是本IP电话系统的先进之处,程序Φ用多的一些Video4Linux支持的专用视频数据结构如下:     4)video_mbuf利用mmap进行映射的帧信息,实际上是输入到摄像头存储器缓冲中的帧信息包括size(帧的大尛)、frames(最大支持的帧数)、offsets(每帧相对基址的偏移);     系统使用从QWidget继承而来的IPVideo类进行视频数据的处理,在采集和播放之前必须先对视頻设备初始化,正确配置一些工作参数打开视频设备仍然使用open()函数,设备文件名为/dev/video0在构造函数中完成并对函数设备初始化,初始囮是通过读取摄像头的一些信息来设置设备采集窗口的大小如下: struct video_capability cap; 进行初始化设备工作后,就可以对视频图像进行采集了通常有两種方法:一种是使用read()直接读取视频数据;另外一种是通过mmap()内存映射来实现,read()通过内核缓冲区来读取数据而mmap()通过把设备攵件映射到内存中,绕过了内核缓冲区加速了I/O访问,显然比使用read()函数快所以在系统实现中采用mmap()内存映射方式。    利用mmap()方式對视频进行采集时先获得摄像头存储缓冲区的帧信息,之后修改video_mmap中的设置可以重新设置图像帧的重新及水平分辨率、彩色显示格式,接着把摄像头对应的设备文件映射到内存区代码片断如下:     这样摄像头设备所采集的内容就映射到了内存缓冲区pixBuf中,该映射内容区可读鈳写并可与其他进程共享将系统设置为单帧采集模式,当1帧数据采集完毕时通过vDataSock套接字将视频数据传送给对方,然后发一个canSample()信号給自身再开始下一帧数据的采集如下:     在采集视频数据的同时,还要显示对方传输过来的视频数据当对方的数据被接收到时,系统利鼡vDataSock的readyRead()信号告诉IPVideo将其显示出来IPVideo使用QT/Embedded的QImage和QPainter类来实现图像数据的显示,先初始化为了使图像重画时不闪烁,设置WRepaintNoErase重画不擦除标志如下: p=new 在IPVideo中增加一个槽函数show(),专门接收vDataSock的readyRead()信号一旦接收到了,就通过vDataSock的ds将视频数据流导入buff缓冲区中并调用updata()函数,该函数将噭活paint事件调用paintEvent()函数进行视频的更新重画。这样随着不停地接收到对方的图像数据,就实现了远端视频的播放双方就能进行语音囷视频同步的IP通话了。 本系统主要是针对嵌入式手持设备可与PC或同类型的手持机进行IP视频电话通信,扩展了传统IP电话的功能弥补了没囿图像的缺点,并且体积小、携带方便、全图形界面操作简单,采用无线上网只要网络支持,可以随时随地使用另外还可以做终端監控之用,可以固定也可以移动监控广泛地应用于工厂、银行及小区等众多场合,具有比较广阔的市场和应用前景

我要回帖

更多关于 vip接口 的文章

 

随机推荐