新闻中心

EEPW首页>嵌入式系统>设计应用> 基于LPC2132的U盘软硬件系统设计

基于LPC2132的U盘软硬件系统设计

作者: 时间:2012-08-27 来源:网络 收藏

2.2.3 SCSI命令集实现
SCSI命令集是SCSI设备通用命令集。SCSI有3种字长的命令:6字节、10字节和12字节。Microsoft Win—dows环境下支持12字节长的命令。图5给出了通用的UFI命令块的格式。请注意,这些字节就是CBW封包中CBWCB字段的内容。

对不同的命令只需根据SCSI命令集白皮书作出适当的回应。Pm25LV010的最小擦除单位为扇区(4 KB),故在程序中定义一个4 KB的缓冲区Cache_STRUC Flash-Cache,把每次收到的数据放入缓冲区中,到缓冲区满数据接收完毕时再将其写入Flash存储器中,流程如图6所示。

2.3 Flash存储器的读写控制
Flash存储器读写程序由SPI控制和Pm25LV010控制两部分组成。
Pm25LV010 Flash存储器采用的是SPI串行接口,其SPI有两种工作模式——模式O和模式3。SPI.c完成SPI底层操作,给Pm25LV010控制程序提供一个读写1字节数据函数。该函数使用SPI模式0。
Pm25LV010控制程序完成Pm25LV010器件的所有操作,其向高层提供的函数及功能如表2所列。

Pm25LV010的最小擦除单位是扇区(每扇区4 KB),在改写扇区内任意一字节数据时都需要将该扇区擦除。针对这种情况,在程序中定义了一个4 KB大小的缓冲区,当上层调用函数WriteToFlash()向Flash写数据时,并不直接写入Flash,而是先写到数据缓冲区,其流程如图7所示。

3 结论
基于微控制器的硬件平台上实现了USB驱动、Bulk-Only传输协议、SCSI命令集,实现了完整的功能。


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭