基于System ACE的DSP文件系统设计
第1、2个记录项(前4个字节)用作介质描述。从第3个记录项开始记录除根目录外的其他文件及文件夹的簇链情况。
4 DSP对CF卡的读写操作
4.1 DSP对CF卡读写的硬件电路
通过在MPU端口处连接DSP来实现DSP对CF卡的读写,图2为DSP读写CF卡的示意图,图3为硬件连接图。
4.2 DSP对CF卡读写的软件流程
图4为DSP读写CF卡数据的软件流程。首先,DSP通过MPU端口访问CF卡前必须获得CF卡锁,否则进入等待直到CF卡处于空闲状态或者强制获得CF卡锁。其次,CF卡数据的读写是以扇区为单位的。1个扇区可以分为若干个sector,每个sector的大小固定为512字节,每个sector又可分为16个buffer。若已知CF卡的容量就可以通过计算来设置LBA、sector变量以及buffer变量。最后,对buffer进行读写,读写结束后释放CF卡锁。
4.3 程序设计
可以通过以下函数来实现DSP对CF卡的读写。
◆获得CF卡锁:Uint32 get_CF_lock(void);
◆检测CF卡当前状态:Uint32 check_CF_ready (void);
◆检测buffer是否准备就绪:Uint32 wait_buffer_ready(void);
◆读CF卡数据:Uint32 read_data_from_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector Count);
◆向CF卡写数据:Uint32 write_data_to_CF(Uint8*p_data,Uint32 LBA,Uint16 Sector_Count);
◆复位:void reset(void)。
结 语
本文实现了DSP通过System ACE对CF卡进行数据存储管理,充分利用了SystemACE技术的系统内配置方案,突破了传统的多FPGA应用环境。
CF卡作为存储介质具有容量大、接口简单、体积小、价格低廉和可靠性较高等特点,结合FAT16文件系统,可以很方便地存储和回放数据。
- linux操作系统下的进程通信设计(01-24)
- EDM安全访问机制应用方案(02-12)
- 基于SystemC的通用嵌入式存储器模型设计(08-02)
- 嵌入式存储器基于不同存储单元的设计方案汇总(10-04)
- 基于32位RISC架构的SoC系统设计与验证(11-08)
- 可视化系统集成器大大加快系统开发(07-02)