在 ARM9 嵌入式处理器和 μC/OS-II 操作系统的基础上,本设计采用容量大、体积小、性价比高的 SD 卡存储长时间段的测量数据,对 FAT32 进行了裁剪,并结合 SD 卡的底层读写程序,实现了嵌入式 SD 卡文件系统,从而可以很方便地通过上位机对 SD 卡记录的货车称重数据进行查询、综合分析以及备份。同时,该方法为其他数据采集系统提供了一种非易失性存储器的解决方案:采集到的数据会以标准文件的格式记录到 SD 卡上,便于文件的统一管理。该系统具有实时性强、存取速率高、易维护、易移植等特点。
一、硬件电路
本系统硬件开发平台处理器为 S3C2440A,是三星公司推出的 16/32 位 RISC 微处理器,ARM920T 内核,主频 400MHz,最高可达 533MHz,内部具有丰富的系统外围控制器和多种通信接口。SD 卡支持 SPI 和 SD 两种通信模式,S3C2440A 具有 SD 卡接口、支持 SD 总线模式,所以不再像低端的 ARM 处理器那样采用 SPI 模式,而是采用 SD 总线模式,这样可以大大提高 SD 卡的读写速度。S3C2440A 与 SD 卡读写器的接口电路如图 1 所示。

图 1 SD 卡接口电路
SD 卡的 DAT0~DAT3、CLK(时钟线)和 CMD(命令线)分别连接到 S3C2440A 的 SDDATA0~SDDATA3、SDCLK 和 SDCMD 引脚。SD 卡支持单线和宽总线的数据传输,宽总线一次传 4 位、速度更快,因此本设计采用宽总线方式。