一站式电子元器件采购平台

华强商城公众号

一站式电子元器件采购平台

元器件移动商城,随时随地采购

华强商城M站

元器件移动商城,随时随地采购

半导体行业观察第一站!

芯八哥公众号

半导体行业观察第一站!

专注电子产业链,坚持深度原创

华强微电子公众号

专注电子产业链,
坚持深度原创

电子元器件原材料采购信息平台

华强电子网公众号

电子元器件原材料采购
信息平台

无胶,热插拔的CompactFlash 存储卡接口与ADSP-2191M数字信号处理器

来源:analog 发布时间:2023-12-21

摘要: 如何使用CompactFlash卡作为个人电脑之间传输文件的另一种方式。

在过去的几年中,我们在消费者市场上看到了由使用小型、高密度、可移动存储介质支持的便携式手持设备的激增。走进任何一家消费电子产品商店,您都会看到MP3播放器、数码相机和pda排成一列,它们都拥有数百兆字节的可扩展离线非易失性存储。有了这种令人印象深刻的存储能力,用户可以在便携式设备和台式电脑之间下载他们喜欢的mp3或上传他们新拍摄的JPEG图像文件。我的第一台数码相机有一个奇怪的火柴盒大小的小卡片,可以很容易地弹出,用来上传我所有的JPEG文件到电脑上。这种CompactFlash 存储卡(图1)已经成为多媒体文件便携式紧凑存储的事实上的标准。

今天,CompactFlash的插槽存在于数以百计的数码相机、手持或手掌大小的个人电脑、MP3播放器、语音备忘录录音机和其他类型的电子设备中——包括打印机、心脏监测器和除颤器——可能比任何其他具有竞争力的小尺寸卡都要多。紧凑型闪存卡设计得小巧、可移动、耐用,容量从8兆到1千兆不等。


图1所示。CompactFlash存储卡大小比较。CompactFlash和CF是CompactFlash协会的商标。

除了体积小之外,CompactFlash (CF)还有一个优点,可以像Type II PC中的任何PC ATA (IDE)硬盘、软盘或zip磁盘驱动器一样工作。(ATA是原始IBM AT计算机上的标准总线接口,也被称为IDE,即Integrated Drive Electronics。)CompactFlash支持ATA命令寄存器集,但是对于数据存储,它比IDE硬盘驱动器更可靠,因为它没有活动部件。它以传统硬盘驱动器的速度运行,同时消耗更少的电力。因为它与ata兼容,所以它可以像任何硬盘驱动器或软盘一样进行格式化,作为与个人计算机之间传输文件的另一种方式。

Windows/ dos格式的文件可以很容易地从从任何ata兼容设备(如数码相机或Palm 大小的PC)上删除的CF卡中复制。存储卡上的数据可以通过连接到电脑的USB或并行端口的高速、低成本的CompactFlash读取/写入器与台式个人电脑之间传输。事实上,Windows 2000和XP将自动识别插入CF USB读写器的CF卡,并在Windows资源管理器下为该卡分配逻辑驱动器号。然后,任何软件应用程序都可以访问它作为文件存储。将CF卡插入连接到PC的USB读写器,您最喜欢的MP3歌曲标题可以在几秒钟内简单地“拖放”到卡上,准备在便携式MP3设备上播放。从嵌入式数字信号处理(DSP)的角度来看,CompactFlash是保存记录的实时数字化数据流用于临时存储或离线检索的好方法。嵌入式系统设计者已经开始使用它们来扩展处理器有限的外部地址范围能力。

在评估CompactFlash的使用时,设计师经常会问这些问题:在基于dsp的系统中使用CompactFlash卡有多困难?如何将CompactFlash物理连接到DSP?它可以在没有任何外部组件或逻辑的情况下进行接口吗?用DSP对CompactFlash进行ATA接口编程有多难?DSP是否支持像基于intel的PC那样的FAT-16(16位集群寻址文件分配表)文件系统?

本文将详细介绍如何使用ADSP-2191M数字信号处理器为便携式MP3播放器应用程序设计一个无胶、可热插拔的CompactFlash存储卡接口。ADSP-2191是一个16位,160 mips(每秒百万指令)处理器,包含64 k字的内部片上存储器和各种存储器和工业标准外设接口。由于其低动态功耗,ADSP-2191M被设计用于各种手持便携式设备,这些设备可能使用紧凑,高密度,可移动的存储介质。

该接口是使用ADSP-2191 EZ-KIT Lite评估平台开发和测试的。完成的原型最终被用作基于Devices ADSP-219x DSP的32位双精度MP3播放器(解码器)的参考设计。

压缩闪存概述

1995年,CompactFlash协会(CFA)成立,目的是开发一种通用的标准接口格式,使数据(如图像或音频文件)能够在各种数字系统中捕获、保留和传输。这种合作导致了CompactFlash规范的发布。它定义了一个紧凑、高密度、可移动的存储接口,基本上是PCMCIA或PC卡规范的缩小版,它也与ide硬盘兼容。因为它被设计为可移动的,所以CF卡可以在基于活动微处理器的系统中“热插拔”,而不需要系统断电或硬复位。CompactFlash标准还支持三种不同的行业标准接口:PC-Memory模式、pc卡I/O模式和True-IDE模式。当使用True-IDE模式时,设备可以连接到IDE连接器,而无需任何额外的支持电路。


图2。CompactFlash内部框图。

图2是各种CompactFlash存储卡的通用功能图。隐藏在塑料外壳内的是一个小型印刷电路板(图3),其中包含一个闪存控制器,一些数据缓冲存储器和闪存模块。闪存控制器芯片执行磁盘仿真软件,并包含一些符合ATA规范的主机可访问内存映射寄存器。对于主机处理器来说,闪存控制器看起来就像一个标准的ATA (IDE)硬盘。主机处理器(可能是DSP)可以访问一组用于命令、状态和数据字的ATA寄存器。


图3。CompactFlash的内部印刷电路板(由Silicon Storage Technology, Inc.提供)。

为了传输数据,主机处理器首先用配置数据加载7个ATA寄存器;然后,它通过写入第八个命令寄存器来执行一个操作。物理上位于非易失性(即AND/NAND)存储器芯片和外部主机接口之间的闪存控制器“模拟”ATA命令。存储卡还包含一个内存缓冲区,由内部闪存控制器控制,用于在外部处理器和存储芯片之间传输信息的“扇区”(512字节块)。闪存控制器负责管理接口协议,并在外部主机处理器和存储存储器之间检索和放置数据扇区。此外,flash控制器还可以在卡处于空闲模式时进行纠错码、诊断、内存缺陷识别和下电操作。

使用带有ADSP-2191M的CF卡

由于Devices已经提供了基于ADSP-219x系列的商用双精度32位解码器设计,因此选择了ADSP-2191M数字信号处理器(DSP)来实现功能性低成本、高性能的基于compactflash的MP3播放器。该解决方案最初设计用于从CD驱动器读取MP3文件。为了演示一个无胶、可热插拔的CF接口,我们开发了一个修改版本的CD MP3解码器,使用ADSP-2191 EZ-KIT Lite评估板及其相关软件替代支持CF MP3播放。图4显示了基于ADSP-2191 EZ-KIT cf的MP3解码器系统的框图。为了识别和读取MP3 DOS/WIN文件集群,ADSP-2191还执行简化的FAT-16文件系统来识别和加载从PC下载到卡上的MP3文件。


图4。EZ-KIT Lite CF MP3播放系统。

ADSP-2191M是一款针对数字信号处理和其他高速应用进行优化的16位、160 mips单芯片微型计算机,它将ADSP-219x核心架构与三个串行端口、两个spi兼容端口、一个UART端口、一个DMA控制器、三个可编程定时器和通用I/O引脚相结合。ADSP-2191M还集成了64K字的片上存储器;因此,它有足够的片上内部存储器,可以轻松集成:AC-97音频驱动程序、MP3解码器、FAT-16文件系统、低级ATA命令和主机控制命令,而无需使用外部存储器。

图5显示了一个CompactFlash 8位数据接口到ADSP-2191M DSP的外部存储器接口(EMI)端口的功能框图。选择CF PC Card Memory模式作为CompactFlash与DSP连接的操作模式。这种默认的操作模式允许ATA命令/状态寄存器被简单地内存映射到ADSP-2191的外部地址空间。PC卡内存模式访问与真正的ide模式非常相似,因为ATA寄存器是通过DSP核心生成的外部存储器地址访问的。然而,虽然真正的ide模式是一个16位方案,pc卡内存模式允许8位或16位接口。此外,这两种模式使用不同的读/写控制频闪来传输数据。正如我们将看到的,这个实现既不需要外部支持地址解码的粘合逻辑,也不需要CF热插拔支持的总线隔离组件。唯一的要求是在卡检测1 上包括两个10-k欧姆上拉电阻。CD1)和准备好了/忙了(RDY/BSY)别针。


图5。CompactFlash与ADSP-2191互连框图。

现在考虑CF的8位内存模式接口。虽然16位访问将使数据吞吐量提高两倍,但8位数据总线将节省16位实现所需的8条额外数据线。

为了寻址卡内的ATA寄存器,DSP的A[10:0]地址引脚连接到CF的A[10:0]引脚(参见表1中的DSP的ATA寄存器内存映射)。

表1。adsp -2191-to compactflash 'PC内存模式'地址映射真值表。


DSP外部存储器地址首次购物(CE2]A12 [CE1]
A11 [注册]
A10一个[9:4](握)(十六进制)
理查德·道金斯OE= 0 ATA寄存器读取或者说是我们= 0 ATA Register Write
0 x4028001010X0即使是WR数据
即使是WR数据
0 x402801
1010X
1错误功能
0 x402802
1010X
2部门统计部门统计
0 x402803
10180X
3.部门人数
部门人数
0 x402804
1010X
4汽缸瞧气缸低
0 x402805
1010X
5汽缸嗨
汽缸嗨
0 x402806
1010X
6选择卡/头选择卡/头
0 x402807
1010X
7状态命令
0 x402808
1010X
8Dup Even RD数据甚至WR数据
0 x402809
1010X
9Dup奇数RD数据
添加奇数WR数据
0 x40280d
1010X
D重复的错误Dup特性
0 x40280e
1010X
EAlt状态设备控制
0 x40280f
1010X
F驱动地址保留
0 x402c08
1011X
8均匀研发数据即使是WR数据
0 x402809
1011X
9奇数WR数据
奇数WR数据

注册当ALL为“0”时引脚激活。CE1当A12为“0”时引脚激活。CE2对于8位访问,A13设为“1”时停用。

热插拔CompactFlash时主机-处理器总线隔离问题

CompactFlash的设计是在连接总线信号之前先连接电源引脚。这在CompactFlash规范中被定义为一种建议,即CF雄性50针接头上的电源引脚比其他引脚长,并且卡检测引脚比其他引脚短。这里的期望是,当卡插入时,引脚长度的差异将允许在所有其他地址和数据引脚连接到主机系统之前首先将电源应用到卡上,并且,当插入完成时,卡检测引脚将连接并向主机发出信号,表明卡已插入并准备访问。

然而,这仍然不足以保护主机处理器在“热插拔”或“热插拔”CompactFlash到其主机插座时免受损坏。主机处理器的地址和数据总线需要与CompactFlash设备在进行POR(上电复位)和内部引脚电容器充电时产生的瞬变隔离。这些操作在卡插入后最多需要100毫秒。主机的运行时系统应该这样设计:在CF插入到插槽后,它延迟执行外部访问并主动驱动外部总线至少100毫秒——避免总线与CF的POR序列争用。可能导致主机的引脚立即损坏;或者,根据总线争用的持续时间,在数十次甚至数百次槽插入之后,可能会长期发生损坏。

在插入卡后的POR阶段,如何防止总线争用?最常用的设计方法是用缓冲区或双向总线收发器隔离地址和数据汇流线,这将使地址和数据线处于高阻抗状态,直到被a激活理查德·道金斯或者说是频闪(参见上一期关于总线开关的文章)。

然而,当使用ADSP-2191M DSP时,有一个有吸引力的选择,消除了对外部总线收发器芯片的需求:ADSP-2191M包括一个引脚,称为BR(总线请求),它使DSP的地址和数据引脚模仿双向总线收发器芯片或缓冲区的行为,这样当BR低电平驱动时,ADSP-2191外部端口上的所有DSP地址、数据和内存控制频闪都将进入高阻抗状态,并像输入一样工作。总线请求通常是DSP的主处理器使用的一个功能,它允许主机获得对外部总线的控制,并防止DSP试图访问外部存储器。当授予外部总线给主机使用时BR(总线授权),然后主机可以访问相同的外部存储器或访问DSP的外部端口主机DMA传输。然而,为了充分优化无胶CF接口,我们可以使用DSP自己的标志或GPIO引脚来控制的状态BR关闭外部总线。

在MP3播放系统的情况下,不需要外部存储器或主机并行连接(主机处理器也可以使用SPI端口来控制MP3播放器操作)BR引脚是免费使用的,因此可以由DSP本身控制。在软件控制下,DSP上可用的额外标志引脚可用于控制在CompactFlash卡插入和移除期间“热”DSP总线的激活和去激活。在这里描述的系统中,可编程I/O标志引脚PF6用于驱动BR

最初,在ADSP-2191M上电并执行初始化例程后,它首先通过总线请求断言的禁用外部总线,以确保插入CompactFlash设备是安全的。然后,ADSP-2191M通过周期性轮询来检测卡是否已插入CD1连接到PF2标志引脚的线路,配置为输入(参见图5中的BR连接)CD1检测到低,ADSP-2191M,使用延迟环路,将停止几百毫秒(允许100毫秒的上电复位和内部引脚电容器充电),然后通过释放总线请求引脚(再次连接到DSP自己的标志引脚,配置为输出并通过软件控制)使外部总线退出其高阻抗状态。在总线激活后,ADSP-2191M然后重置CF的ATA寄存器,等待最小CF重置周期,然后轮询ATA状态寄存器以确定卡何时准备好进行读/写操作。

结论

ADSP-2191M DSP非常适合需要使用紧凑、高密度、可移动非易失性存储卡的低成本、低功耗便携式应用。它不需要隔离缓冲区、离散地址解码或额外的粘合逻辑。为了支持CompactFlash的热插拔,ADSP-2191M提供了固有的能力,通过使用其总线请求引脚,在卡插入期间禁用外部地址和数据总线。当电源首次应用于CompactFlash存储卡时,当它执行上电复位操作并对内部引脚电容器充电时,此总线隔离至关重要。还包括基于ADSP-2191 EZ-KIT Lite的完整参考设计和DSP汇编语言程序示例,用于执行ATA命令,以便在ADSP-2191和CompactFlash之间传输数据。

声明:本文观点仅代表作者本人,不代表华强商城的观点和立场。如有侵权或者其他问题,请联系本站修改或删除。

社群二维码

关注“华强商城“微信公众号

调查问卷

请问您是:

您希望看到什么内容: