开篇:润墨网以专业的文秘视角,为您筛选了一篇逻辑分析仪对CF卡的测量应用范文,如需获取更多写作素材,在线客服老师一对一协助。欢迎您的阅读与分享!
1 引言
CF卡(Compact Flash)技术是由CF协会(CFA)提出的一种与PC的ATA接口标准兼容的技术,使用标准的ATA/IDE接口。CF卡采用闪存(flash)技术,是一种稳定的存储解决方案,不需要电池来维持其中存储的数据,对保存的数据来说,CF卡比传统的磁盘驱动器安全性和保护性都更高,比传统的磁盘驱动器及Ⅲ型PC卡的可靠性高5~10倍,而且CF卡的用电量仅为小型磁盘驱动器的5%。CF卡使用3.3~5V之间的电压工作(包括3.3V或5V)。这些优异的条件使CF卡广泛应用于数码相机、PDA、笔记本电脑等设备。
CF卡的存取工作模式有三种:PC Card Memory模式、PC CardI/O模式以及True IDE模式。本文介绍了CF卡工作在True IDE模式下的时序分析,详细分析总线中的读、写寄存器状态、ATA命令等。根据CF卡标准总线的读写时序,分析总线中的建立、保持时间等,最终解码后的数据将以图形的方式详细显示。
2 原理分析
2.1 CF卡True IDE模式下总线时序
CF卡工作在True IDE模式下,最基本的连接线有A00-A02、-CS0、-CS1、-IORD,-IOWR、DataO-Datal5,其中A00-A02、-CSO、-CS1这五条信号线组成地址线Address0-address4。
CF卡True IDE模式总线读、写时序如图2.1所示,图中的时间参数如tsu、thd等由具体器件决定。数据线(-IORD)、写数据线(-IOWR)都是低电平有效,双向数据线(Data)位宽为16位,即读、写数据复用数据线。
2.2 True IDE模式地址
对于CF卡的读、写操作,其实就是对CF卡控制器的寄存器进行操作,所以在操作时必须对CF卡的寄存器十分熟悉,这些寄存器统称为任务文件(task file)寄存器。根据地址线和读、写控制线,表2-1详细介绍了CF卡控制器中可操作的寄存器。
有效数据的存取是基于实际物理地址进行的。地址线(A00、A01、A02)是CF卡的控制寄存器寻址线,实际操作地址并不是内存寻址空间。CF卡内存空间的寻址是通过扇区号寄存器、柱面号寄存器和磁头号寄存器三者组合完成内存的寻址。CF卡的读写是通过卡内的缓冲区进行的,不支持直接读写存储区域,读取数据时,存储卡中的智能控制电路先把数据写入缓冲区,然后外部系统才能通过读缓冲区将数据读取出来。写数据时,外部系统先把数据写入缓冲区,写满后,CF卡将缓冲区的内容自动读入存储区域。缓冲区的读写以顺序读写的方式进行,不支持随机存取方式,系统只能一次性地按顺序读完或写完所有512字节。在读写访问时,CF卡True IDE模式支持CHS(柱面/磁头/扇区)寻址方式,物理寻址地址通过IDE接口写入相应的CHS(柱面/磁头/扇区)寄存器。
3 利用逻辑分析仪分析数据
下面我们将使用广州致远电子有限公司的LAB6052逻辑分析仪对cf卡进行测量分析。
3.1使用步骤
3.1.1 设置CF卡读、写控制线
根据信号线的接线情况在逻辑分析仪软件(zlglogic)中添加Data、Address、IORD、IOWR等线。
3.1.2 对CF卡分析插件进行设置。
选择菜单[工具]-[插件管理器],在弹出的窗口中单击(CF卡协议分析),并点击左下边的(设置)按钮,进入CF卡解码设置窗口,按照如图3.1所示进行设置,其他默认选择,也可根据个人喜好选择性设置。
3.2 解码结果分析
3.2.1 读操作解码
读操作时序在CF卡原理中已经介绍过,图3.2为一次完整的读状态寄存器操作,图中看到软件根据总线信号,自动解码出当前读寄存器为读状态寄存器(Read Status REG)和读到的数据为0XD0(低8位)。图中的Time为时序分析信号,软件参考标准读时序图,根据地址和读控制信号,自动分析出读数据的延迟、保持时间等,通过辅助光标能够准确测量时序是否满足器件的时序要求。
由上可知,软件根据总线状态能自动分析出CF卡操作的寄存器和操作的数据。
3.2.2 写操作分析
CF卡协议采用标准的ATA/IDE接口,支持ATA命令。CF卡操作数据寄存器的最小单位为1个扇区,一个扇区为512字节。图3.3为一次完整的写数据寄存器时序,虚拟Data Cmd为逻辑分析仪对采集到的数据进行ATA命令解析,在写数据寄存器首先要写入写扇区命令,软件根据总线状态解析出写扇区命令后,并智能判断后续将有写入扇区数据的操作,图中的蓝色部分(Write Data length iS 512 Bytes)是根据之前写入的ATA命令分析出总线正处于写数据寄存器状态。
4 总结
本文介绍了CF卡在True IDE模式下的基本原理,及如何使用逻辑分析仪分析总线中的数据。解码出来的地址和读写信号能够清楚的知道总线操作寄存器,根据总线信号也能分析出执行的ATA命令和时序是否满足要求。