基于PXA255的WinCE开发平台的硬件设计

来源 :科学时代·上半月 | 被引量 : 0次 | 上传用户:UFO_2113
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
   [摘 要] 本文结合Xscale PXA255的ARM9系列嵌入式系统硬件平台以及Windows CE软件环境,以先尚PXA255开发板为基础,设计CF(CompactFlash)卡插槽与主机的接口电路。讨论在WindowsCE开发环境下硬件电路的实现,并完成了针对ATA接口的True IDE 模式下CF 卡驱动的编写。
  [关键词] 嵌入式系统 PXA255 Windows CE CF卡
  [Abstract] This paper combined with the embedded systematic hardware platform of ARM9 series and Windows CE software environment,based on the Cinsum PXA255 Development Board,the interface circuits between the PXA255 Development Board and the Compact Flash Card socket are designed.In this paper, author mainly discuss the implementation of hardware electric circuits in the WindowsCE environment and realizes the program of the drive for the ATA in the True IDE mode.
  [Key Words] Embedded system PXA255 Windows CE CompactFlash Card
  
  1.引言
  伴随着数码产品在消费电子领域的兴起,移动存储作为存储产品和技术中最活跃的部分,展现出了无尽的魅力和光明的前景。各种不同的格式卡在更高速度、更大容量和更小体积的三大指标上展开激烈的竞争。CF卡以更高速度、更大容量为目标,多用于追求性能、高像素、连拍速度的高端数码相机上。存取速度和存储容量是CF卡的两个重要指标。Intel推出的PXA255高效能处理器处理能力极高。本文以先尚PXA255开发板为基础,深入研究了在WinCE开发平台下,PXA255开发板与CF卡插槽之间接口电路的实现方案,以便进一步提高CF卡的存取速度。
  2.基于PXA255的硬件设计理论基础
  PXA255处理器是新一代的嵌入式处理器,基于ARMv5TE体系结构的微处理器,性价比较高、功耗较低,适合于数字移动电话、个人数字助理、网络路由器等嵌入式系统的应用[1]。PXA255处理器提供了PCMCIA/CF卡控制器,可以方便地实现PXA255处理器与CF卡的接口设计。
  CF卡由2个基本部分组成,如图2-1所示:控制芯片和闪存模块组,控制芯片用来实现与主机的连接及控制数据在闪存模块中的传输,闪存用于存储信息[4]。
  
  图2-1 CF卡结构框图
  CF卡支持多种接口访问模式,有符合PCMCIA规范的Memory Mapped模式、I/O Card模式和符合ATA规范的True IDE模式。当CF卡工作在存储器方式时,按照ATA标准以寄存器方式传送数据、命令和地址,命令寄存器用来接受命令和传输数据,控制寄存器用来进行磁盘控制;当CF卡工作在I/O方式时,控制寄存器组主要用于控制CF卡的工作方式,命令寄存器组被分配在与ATA标准兼容的地址空间[2]。
  3.PXA255核心板与CF卡插槽接口电路的实现
  广州先尚计算机科技有限公司推出的PXA255开发平台是一款基于Intel PXA255的高端ARM开发平台。它采用核心板加底板的配置,本设计的主要部件之一就是这块核心板。核心板封装为200个引脚,主要包括CPU,SDRAM和FLASH。
  3.1核心板与CF卡插槽连接图
  
  图3-1 核心板与CF卡插槽连接框图
  核心板与CF卡插槽连接方式如图3-1所示,框图中使用了两个控制器件,分别为74ALVTH16245和74LVC574。下面分别介绍其在电路中的功能。
  74ALVTH16245是一个总线锁存器,核心板提供的ISA总线经过74ALVTH16245总线锁存器后输出,锁存器用来在一定时期内稳定输出信号,输出信号用来控制CF卡接口。74ALVTH16245是16位的,它可以当作两个8位锁存器和一个16位锁存器。数据可以从A总线上传送到B总线上,也可以从B总线传送到A总线上。这由方向控制引脚(DIR)上的逻辑电平决定。74LVC574是一个高性能、低功耗、低电压的触发器件,由时钟的上升沿触发。
  3.2 CF卡的读写操作
  当检测到CF卡与主机相连后,即可对CF卡进行读写操作。CF准备好接收数据后,通过CF-IREQ引脚发出一个高电平信号给主机,主机接收到信号就知道CF卡已经准备好接收数据,这时若主机也已准备好发送数据则通过向CF发出写信号CFWE通知CF卡,数据通过数据线写入到CF卡指定空间。当在规定的时间内未完成读写操作,CF卡会通过CFWAIT引脚输出低电平通知主机延迟存取周期的完成时间。
  CF卡扇区寻址有两种方式:物理寻址方式(CHS)和逻辑寻址方式(LBA)。工作在不同的方式时,扇区号寄存器、柱面号寄存器和磁头寄存器表示的内容是不同的。在CHS方式下,系统隐藏扇区是不能访问的,能访问的扇区从0柱面、0磁头、1扇区开始。 CHS(柱面、磁头、扇区)寻址时,直接输入相应的柱面、磁头、扇区数值就可以了。在LBA访问方式时,则要将所要访问的逻辑扇区值转换成相应的物理磁道、柱面和扇区号。在数据传输时,必须先把传输需要的地址信息发送到地址线上,即通过CS0、CS1、A0-A2五根信号线。然后通过命令寄存器发出读/写信号。如果是读,CF卡会把需要的数据发送到数据线上。如果是写,应该在数据线上准备好数据。在读写信号取消之前,数据必须一直保持有效状态。在有错误发生的时候,错误寄存器会返回相应的诊断码。
  4.CF卡的流接口驱动程序设计
  流接口驱动程序都用同一组接口并调用同一组标准函数集,以此完成标准的文件IO操作和电源管理,当设备需要驱动程序为其服务时,CE平台使用中断机制通知操作系统(CE支持中断嵌套和抢占)。中断处理分成两部分:中断服务程序ISR(常驻OAL层,可直接访问注册表)和中断服务线程IST(PDD层,执行大多数的中断处理)[3]。IST使用一个事件。并用WaitForSingleObject等待事件变为有信号(中断IRQ信号与事件在InterruptInitialize时向内核注册),然后线程醒来并继续中断处理。
  
  图4-1 基于Windows CE平台的驱动框架
  驱动程序在编写时可选用PB或EVC,结合MFC可编写出相关DLL代码,但要集成到内核,还需编写配置文件。cec,。bib,再把添加的feature加入catalog,并import到相关Platform,最后重新编译内核nk。bin即可进入调试阶段。
  流接口驱动程序的加载有三种方法:
  第一种方法是在系统启动时,从注册表HKEY_LOCAL_MACHINEDriversRootKey下找到键值DriversBuiltIn,并根据该值读取HKEY_LOCAL_MACHINEDriversBuiltIn键的内容,并加载列出的流接口驱动程序。第二种加载在设备管理程序自动检测外围设备与CE平台连接时进行,需要把找到的即插即用标识符与注册表进行比对,以确定执行注册表列出的驱动程序或自动探测。第三种情况是在不能自动探测或加载驱动时,用ActivateDeviceEx函数来加载驱动。
  流接口驱动程序是一个管理外围设备的DLL,它把设备表示为文件系统的一个特殊文件主要任务是把外设的使用传递给应用程序。Windows CE的设备文件存在固定的路径 Windows下,以一个特殊的命名惯例来区分设备文件和其他文件。流接口驱动程序接收设备管理器和应用程序通过系统调用的命令,并且封装所有命令,转换成控制设备适当的动作信息。图4-1表示 CF卡的流接口驱动程序和其他系统部件间的相互关系:
  流接口驱动程序通过内部硬件访问外围设备。对CF卡而言,内部设备是CF卡插槽,由内置CF卡插槽驱动程序驱动,而CF卡插槽驱动程序提供编写CF卡流接口驱动程序的插槽接口函数。即CF卡的设备驱动程序使用CF卡服务库(由CF卡插槽接口函数组成),CF卡服务库控制CF卡插槽硬件[5]。
  CF卡加载流接口驱动有两种方法:第一种加载的类型是在DM自动检测到CF卡与Windows CE平台的连接时进行的。第二种加载的形式是在DM不能自动检测到CF卡与平台的连接时,使用该CF的应用程序必须列出该外围设备的驱动程序,即主动调用RegisterDevice( )或者ActivateDevice( )函数实现驱动的加载。即插即用时驱动的加载是采用第一种类型。实现CF卡即插即用,首先下位机需要修改相应的 CIS(Card Information Structure),在驱动中添加检测模块,并且在注册表添加设备注册信息。
  当系统开启或者 CF卡插人槽后,DM会调用在注册表中设置的检测模块检测插卡类型,如果符合,则会加载相应的驱动。检测模块写成 DLL的形式,调用CF卡插槽接口函数检测CIS中的数据,判断是否对应设备。如果对应,则告诉 DM需要加载注册表中指定的相应设备的驱动程序。
  5.结束语
  CF卡存取速度和存储容量是两个重要的指标, CF卡的速度当然是越快越好,目前市场上的CF卡一般为4X-16X,如果一块CF卡确实能达到16X标准,基本就可以满足多数应用需求了,不过大部分CF卡的写入速度都远不能达标。而存储容量的增大必然带来一定体积上的增大,这也是一对矛盾所在。所以高速CF卡和大容量CF卡设计是重点和难点,而CF卡插槽与主机的接口电路的设计就因此成为具有挑战性的工作。本文在嵌入式理论基础之上提出了一种PXA255核心板与CF卡插槽之间的接口设计方案,它具有存取速度快的特点,同时有较好的应用性和可扩展性。
  参考文献:
  [1] 陈章龙,唐志强,涂时亮 嵌入式技术与系统Intel Xscale结构与开发 北京航空航天大学出版社 2004 P15.
  [2] CompactFlash Association CF+ and CompactFlash Specification Revision 1.4.
  [3] 田东风 Windows CE应用程序设计 机械工业出版社 2003 P128-131.
  [4] http://www.myembed.com.
  [5] 国家电工电子教学中心 Arm嵌入式WinCE实践教程 2006 P47-51.
其他文献
1996年岁末,美国纽约街头不少报刊亭前,都有许多黄皮肤、黑眼睛的华人争购这年最后一期的《时代》周刊,并自豪地议论着。人们议论的这个人是淮呢?他,就是华裔科学家何大一,
[摘 要] 在分析WLAN通信协议的基础上,针对无线局域网安全现状,提出了基于OSI模型层次化的WLAN安全策略,采用该策略能够最大限度地杜绝非法用户接入WLAN,保证了数据在传输过程中安全保密。  [关键词] WLAN IEEE802.11 网络安全 WEP VPN    1.引言  无线通信技术的发展推动了无线网络的快速发展,无线局域网在推出之后得到了快速普及。无线局
随着中国经济实力的增强,变电站建设的数量和规模也在不断增多和加大.作为变电土建专业最重要的特种结构—变电站架构的研究备受国内同行关注.工程建设过程表明构架结构设计
在家里我最尊敬父亲,我的家庭观念很强一个普通家庭出现一个1.90米的大个儿应该是不足为奇,可是我们这个身高不超过1.80米的家庭却冒出了我这个1.98米的“巨人”,这不能不说我是我
特高压电网将在中国发展迅猛,不可忽视其带来的各种电网技术问题,特别是短路电流直流分量及其衰减时间常数.断路器短路时间衰减常数需要在工程设计阶段就予以确定.为更加准确
会议
英《医学新闻》第14卷第11期第6页(1982年)报道:糖尿病病人口服复合避孕药后并发心血管和脑血管病的危险性较大,所以,患糖尿病的妇女通常采用宫内避孕器。 The British Med
从63年3月至63年10月份,我站防疫科布防組与偏关县中心人民医院协同兽医部門,在該县老教公社进行了为期8个月的布病調查防治工作,現将結果报告如下: 一、步驟和方法 1.調查
随着国内电网的不断发展,规模不断壮大,电网电压层级和电压序列也出现了多种配置,由于电压层级和电压序列的增多,造成220kV和110kV变电站利用效率降低,电网损耗增大,并且个别
会议
请下载后查看,本文暂不支持在线获取查看简介。 Please download to view, this article does not support online access to view profile.
期刊