- 相关推荐
嵌入式处理器MPC8250与CF卡的接口设计
摘要:从如何设计嵌入式处理器与CF卡之间的接口、如何高效率地编制读写程序出发,介绍了嵌入式处理器与CF卡的接口设计和编程技巧。最近几年,嵌入式处理器蓬勃发展,在通信、航空航天、医疗设备、消费类电子产品等领域一展身手。嵌入式处理器的外围设备也日新月异,例如记忆棒、USB口、CF卡等。本文从硬件和软件角度出发,介绍了CF卡在嵌入式系统中的设计和使用技巧。
由于CF卡具有携带方便、易于升级、存储量大、抗震性好等优点,应用范围越来越广。1995年10月,SanDisk、柯达、卡西欧、惠普、摩托罗拉、佳能等125家厂商发起成立了CompactFlash协会,致力于制定新一代的基于RAM和ROM技术的固态非易失的存储介质标准——CF卡标准?使不同厂家开发的CF卡及其接口器件可以互相兼容。目前,CF卡标准已有1.4版本,容量从最早的2M字节到现今的1G字节。
同时,CF卡遵从ATA-IDE工业设计标准,连接装置与 PCMCIA卡相似,只不过CF卡是50引脚(PCMCIA卡68引脚),可以很容易插入无源68引脚 TypeII适配卡并完全符合PCMCIA电力和机械接口规格。另外,CF卡的兼容性佳,不仅同时支持3.3V和5V的电压,而且不同的CF卡都可以用单一的机构读写,特别是CF卡升级换代时也可以保证旧设备的兼容性。而纯电子运动的CF卡耗电量很低,仅为IBM微型硬盘的5%。
1 系统设计
图1是笔者开发的嵌入式系统框图。其中,嵌入式处理器是MPC8250,PCI1410A是连接PCI总线和CF卡的一种接口芯片。
MPC8250芯片是Motorola公司开发的一款PowerPC系列嵌入式处理器。芯片采用小巧而强大的32位超标量体系结构PowerPC 603e处理器内核,最高主频为300MHz。它集成了PCI桥、PCI仲裁器、存储器控制器、中断控制器、DMA控制器、16K字节指令高速缓存和16K字节数据高速缓存等部件。MPC8250具有三个可配置为百兆或十兆以太网的FCC口,四个可配置为串口或网口的SCC口,一个多通道HDLC接口。该芯片适用于对成本、空间、功耗和性能都有很高要求的应用领域,例如路由器/接线器、多路MODEM、网络存储应用和图像显示等系统。
PCI1410A芯片是TI公司开发的一种高性能的PCI到CF卡的控制器,支持遵循CF卡标准的各类CF卡。它符合PCI总线标准,既可以工作于PCI主设备模式,也可以工作于PCI从设备模式。
MPC8250与PCI1410A之间通过32位PCI局部总线连接,工作频率33MHz。MPC8250用作PCI主设备,PCI1410A用作PCI从设备,同时采用MPC8250内部的PCI仲裁器。
本设计选用SanDisk公司的型号为SDCFB-64-101的CF卡,64M字节容量,几何尺寸为36.4mm×42.8mm×3mm。PCI1410A与CF卡之间的连接遵循CF卡标准,由地址、数据、控制三组信号组成。PCI1410A提供了五个通用I/O引脚,设计中将其中一个引脚GPIO1用作LED指示。当CF卡工作时,LED会以64ms的周期闪烁。
SDRAM选用了三星公司的K4S561632A,每片容量256M比特,共四片。
图2 读写CF卡技巧示意图
2 接口编程
在CF卡工作前,必须先进行初始化,在整个系统的地址空间中确定CF卡的位置,预设置CF卡的工作模式及相关寄存器。本设计中,CF卡位于系统的0x9A000000~0x9DFFFFFF地址空间。在每次读写CF卡时,必须根据读写数据的多少和操作特性来配置相应寄存器。
2.1 CF卡初始化
本系统中,CF卡的初始化由MPC8250通过PCI总线配置PCI1410A的寄存器实现,具体步骤如下:
(1)设置CF卡的基地址,即配置ExCA寄存器(偏移量:0x10)。该寄存器定义了CF卡在PCI存储器空间的基地址,即0x9A000000。
(2)配置PCI命令寄存器(偏移量:0x04),允许CPU访问PCI存储空间。
(3)配置系统控制寄存器(偏移量:0x80)。该寄存器定义了一些系统控制位,例如,是否采用PCI中断方式,是否采用内部振荡器,是否采用DMA等。本设计采用PCI中断方式,不采用内部振荡器和DMA。
(4)配置多功能引脚寄存器(偏移量:0x8C)。该寄存器配置通用引脚。本设计配置GPIO1引脚为LED指示,GPIO2引脚为PCI中断输出。
(5)配置设备控制寄存器(偏移量:0x92)。该寄存器选择中断方式,是并行PCI中断还是串行PCI中断。本设计选择了传统的并行PCI中断方式。
(6)配置ExCA电压控制寄存器(偏移量:0x802),选择Vcc为3.3V还是5V。本设计选择Vcc为3.3V。
(7)配置ExCA存储窗口0起始地址低位寄存器(偏移量:0x810),即起始地址的A19~A12位。PCI1410A具有五个存储地址翻译窗口和二个I/O地址翻译窗口,用于配置CF卡内寄存器的访问地址,将CF卡的寄存器映射到系统的存储空间或I/O空间,MPC8250访问这些寄存器就相当于访问一段存储空间或I/O空间。本设计中只使用了存储地址翻译窗口0。
(8)配置ExCA存储窗口0起始地址高位寄存器(偏移量:0x811),即起始地址的A23~A20位。
(9)配置ExCA存储窗口0结束地址低位寄存器(偏移量:0x812),即结束地址的A19~A12位。
(10)配置ExCA存储窗口0结束地址高位寄存器(偏移量:0x813),即结束地址的A23~A20
【嵌入式处理器MPC8250与CF卡的接口设计】相关文章:
ISDN网与普通电话接口(POTS)设计05-29
数字视频接口-DVI 1.005-31
电压电流转换接口AM442原理及应用05-29
卢卡奇的总体范畴05-29
嵌入式系统以太网卡控制器LAN91C9605-30
银行卡业务经营管理与监管06-03
毕业设计夹具设计开题报告09-02