PXA270处理器PCMCIA/CF接口设计及WinCE 5.0驱动实现 ----eetchina.com
2008年09月19日 星期五 21:20

本文以Intel PXA270开发平台Mainstone II(Bulverde DVK NBMMNS2B0PC)为基础,用实例论述在XScale PXA270处理器在省去硬件逻辑器件CPLD/FPGA的情况下,如何实现单PCMCIA接口、CF接口和Windows CE 5.0的驱动。

图1:PXA270的PCMCIA接口逻辑图。(说明:图中几个锯齿符号是电阻,上面的横线是电压VCC3)

英特尔开发代号为Bulverde的XScale PXA270系列处理器时钟频率高达624MHz,支持无线多媒体指令集扩展(Wireless MMX),允许PXA270以较低的时钟频率实现增强的多媒体性能,同时该处理器引用了英特尔的SpeedStep技术来延长电池寿命。另外可以配合内部开发代号为Marathon的2700G多媒体加速器,提升高分辨率图像处理和3D加速处理能力,构建手持终端中的“骨灰级”多媒体应用

Intel Xscale PXA270处理器内部集成了双通道16位PCMCIA PC Card/CF控制器。支持8位/16位I/O模式和Memory模式的访问,但不支持32位的Card Bus,符合工业标准的32位PC卡和16位PC卡通常可以从外观上辨别。

I/O模式和Memory模式是可以在相同的硬件设计上通过驱动和软件来控制的。而在CF规范中描述的True IDE模式,可参考Intel关于IDE模式的设计资料,本文不作详细讨论。

在Mainstone II平台上,PCMCIA的控制逻辑将状态转换中断和读写中断交给CPLD和FPGA处理后通过单一的GPIO交由CPU处理,通常在开发平台上,为了适合不同接口和设备的实验,CPLD和FPGA成为不可缺少的必要组件,但在实际的产品,尤其是手持产品应用中,考虑成本和功耗的因素,通常将逻辑部件用成本更低的电路实现。对于PXA270这样的高性能处理器来说,用软件实现PCMCIA接口的时序和中断逻辑可以说很容易,关键是要清楚CPLD和FPGA到底在什么时间点做了哪些工作。

图2:PCMCIA/CF接口的参考原理图。

先来看看PXA270的PCMCIA接口逻辑图,如图1。除去MD(15:0)数据线和MA(25:0)地址线之外,PCMCIA/CF在I/O和Memory模式所需的控制信号的名称和定义如表1。

图2是PCMCIA/CF接口的参考原理,可以看到CD1/CD2被拉高到VCC,而插卡进去时,卡内将此两脚对地短接,则表现为低电平,在简化的系统设计中,还可以忽略BVD1/-STSCHG用CD的沿来做卡插入/拔出中断。考虑到WINCE中PC CARD设备在整个系统一般不作为高优先级的中断设备,RESET和IRQ可连接到PXA270的空余用户GPIO,即除0/1之外的其它空闲GPIO。详细硬件设计,可参考设计指南文档。

关于Windows CE的驱动,在安装Windows CE5.0选择Xscale的支持后,就会安装Mainstone II平台的BSP。以此为基础,开始修改并完善自己的PXA270平台的BSP。建议用BSP Wizard“克隆”一套自己的BSP,而不是在原先Mainstone II平台修改。

目录:针对Mainstone II平台PCCARD驱动的相关目录。

针对Mainstone II平台PCCARD驱动的相关目录(见目录(a)、(b)、(c)、(d)、 (e)),如果是用PCMCIA或者CF接口的网卡作以太网调试,则还需要关注目录(f)和目录(e)。

各个目录中的文件修改

目录(a)有3个CPP文件和一个注册表文件,修改思路如程序1所示。

说明1:目录(a)的修改思路。

目录(b)和目录(c)比较关键的就是intr.c文件,前者是WinCE接受BSP层外部中断的接口。后者是CPU系统处理中断的优先级和内部中断的配置,以及内外部中断的交互。

目录(c)中的intr.c的g_IntPriorities中去掉一组0x00000000,在IRQ_GPIO1前面或者后面加上IRQ_GPIOXX_2,并将目录(b)的intr.c中PCMCIA相关的BLR语句屏蔽。

说明2:BSPIntrInit部分添加。

BSPIntrInit部分添加如程序2(a)所示,程序2(b)是和PCCARD驱动相关的中断函数,可参照以下思路具体实现针对轮询方式的卡插入/取出中断处理,关于传输的中断可参考卡插入取出中断处理自行实现(见程序3):

说明3:调整xlli_mainstone_defs.inc。

需要注意的是,在WindowsCE 2.0以后,BVD1/2状态中断可以用CD中断来代替,而不需要单独使用。而CD1/2的状态一般情况都是相同的,经过实验,选取其中之一也是切实可行的,可自行决定是否全部采用。

目录(d)下需要修改INC/xllp_pccardsocket.h和SOURCE/xllp_pccardsocket.c,将读取BLR需要修改为读取GPIO的方式。

调整xlli_mainstone_defs.inc

程序4

(见程序4),目录(e)在这里是MDD层的驱动,通常不用修改。

在所有的中断和BLR机制都修改完成后,即可开始编译平台测试,而Bootloader部分若采用CF/PCMCIA NE2000有线网卡调试,上述除XLLP外的其他部分在Eboot里面是不起作用的,正确修改的XLLP部分可结合Eboot来验证硬件设计的正确性.

本文小结

表1:PCMCIA/CF在I/O和Memory模式所需的控制信号的名称和定义。

本文在一个成功实验的平台上提供Intel XScale PXA270的PCMCIA/CF控制器的设计和CE 5.0驱动的实现过程,在必要的部分作了一定幅度的精简,需仔细研读Intel XScale PXA270相关设计文档和Windows CE5.0的帮助,并根据实际设计情况结合本文的思路方可具体实现完整的PCMCIA驱动。此外,本文提供的中断和GPIO操作的思路也可进一步应用于其他外部设备的硬件设计和Windows CE驱动编写工作中。

参考文献

《Intel Xscale PXA27x Developer Manual(280000-002)》——Intel Corp.

《Intel Xscale PXA27x Design Guide(280001-001)》——Intel Corp.

《CF+ and CompactFlash Specification Revision 3.0》——CompactFlash Association

《PC Card Standard, Volume 2, Electrical Specification, Version 1.4》——PCMCIA

《Help file of Platform Builder for Microsoft Windows CE 5.0》——Microsoft Cor

PXA270处理器PCMCIA/CF接口设计及WinCE 5.0驱动实现 ----eetchina.com相关推荐

  1. PXA270处理器PCMCIA/CF接口设计及WinCE5.0驱动实现

    本文以Intel PXA270开发平台Mainstone II(Bulverde DVK NBMMNS2B0PC)为基础,用实例论述在XScale PXA270处理器在省去硬件逻辑器件CPLD/FPG ...

  2. S3C2440的camera接口特性及WinCE 下的驱动

    S3C2440的camera接口特性及WinCE 下的驱动 发布:2011-06-02 | 作者: | 来源: luhaifei | 查看:1022次 | 用户关注: 摘要:实现了一种全集成可变带宽中 ...

  3. 手机屏和大屏LCD显示面板接口(和处理器连接的接口类似12864等单片机处理器和屏接口的8086,SPI等并口串口屏以及RGB屏接口)LVDS接口常见于液晶电视中。eDP,LVDS,MIPI,HDMI

    mipi是手机液晶屏最常见的接口了 现在普遍的16:9或者16:10的宽屏,LCD接口大部分都是LVDS,也有RSDS接口,不过比较少.接口一般都是30PIN,不过由于尺寸不同,分辨率的不同,所用到的 ...

  4. Xscale PXA255处理器与CF卡的接口设计

    Xscale PXA255处理器与CF卡的接口设计 以导航设备存储系统应用为例,本文讨论了Intel Xscale PXA255嵌入式处理器与CF卡的硬件接口设计,并以读写CF卡扇区的程序为例,给出了 ...

  5. ADI Blackfin DSP处理器-BF533的开发详解25:USB接口设计(含源代码)

    硬件准备 ADSP-EDU-BF533:BF533开发板 AD-HP530ICE:ADI DSP仿真器 软件准备 Visual DSP++软件 硬件链接 硬件设计原理图 功能介绍 跟网口一样,USB这 ...

  6. AT89S52与CF卡的接口设计

    摘要:本文介绍了CF卡和单片机接口的各种模式,比较了各种模式的利弊.给出了2种常用模式下的电路原理图,简要说明了IDE模式下存取工作的原理,阐述了映射存储模式下CF卡的存取原理.  关键词:CF卡:单 ...

  7. 软件接口设计_基于PREEvision的AUTOSAR Adaptive设计——上篇

    AUTOSAR Adaptive概述 2003年,汽车行业的高端玩家们发起了汽车嵌入式系统软件架构标准化项目--AUTOSAR(汽车开放系统架构).2017年,为适应汽车的发展趋势(智能化.网联化等) ...

  8. 一体化计算机接口,4.机电一体化计算机接口设计(下).ppt

    4.机电一体化计算机接口设计(下) 第 4 章机电一体化计算机接口设计(下) 4.1 概述 机电一体化系统中,计算机担负着信息处理,指挥整个系统运行等任务.信息处理是否正确.及时,直接影响到系统工作的 ...

  9. 嵌入式平台的VGA接口设计及VGA接口时序波形图

    大多数嵌入式产品的显示终端都选择LCD,但在某些需要大屏幕显示的应用中,工业级LCD的价格比较昂贵,且现有的大屏幕显示器(包括CRT显示器和LCD显示器)一般都采用统一的15针VGA显示接口.三星公司 ...

最新文章

  1. python剑指offer 包含min函数的栈
  2. 20155229实验三 《Java面向对象程序设计实验三 敏捷开发与XP实践 》实验报告
  3. 【译】为何我们要写super(props)?
  4. Qt Creator使用外部工具
  5. Angular async pipe在Component html模板中的一个实际应用
  6. SDM For Face Alignment 流程介绍及Matlab代码实现之训练篇
  7. 容器弹性云底层原理揭秘
  8. ajax与DOM的使用,AJAX和DOM的运行经验
  9. stata 空间杜宾模型_利用STATA创建空间权重矩阵及空间杜宾模型计算----命令
  10. scrapy实现爬取全书网小说到本地TXT文件
  11. beta版和alpha版
  12. c# NPOI 导出Excel 冻结窗格
  13. Java实现桐桐的数学难题
  14. Python使用psutil的电脑资源监控软件
  15. matlab画箱型图均值方差,Matlab 绘制箱线图
  16. MYSQL 修改语句(数据)
  17. TNS-12535和ORA-3136 超时连接
  18. C语言void和int的区别是什么?
  19. ANSYS学习5——单元的选择
  20. 水水笔-first(04/29)

热门文章

  1. java计算机毕业设计企业员工管理系统源码+程序+lw文档+mysql数据库
  2. 2017丹东计算机成绩,丹东市2017年国民经济和社会发展统计公报
  3. Spring Boot整合Mybatis【超详细】
  4. 简易计数器(Java语言)
  5. 项目管理心得(二)——翻译项目
  6. Webpack 和 Parcel 打包辅助工具
  7. 法国计算机好找工作吗,留学专业就业率排行榜 法国哪个专业容易找工作
  8. 深度学习中的表示学习_Representation Learning
  9. 2017最新GSMS软件系统 ISO文件下载 刻录教程
  10. 奥地利、爱沙尼亚重要机构或正成为俄黑客目标