新聞中心

        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 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 漯河市| 同心县| 十堰市| 龙海市| 台湾省| 攀枝花市| 赣州市| 额尔古纳市| 泉州市| 黄平县| 通渭县| 卫辉市| 湘潭县| 资溪县| 德州市| 英山县| 浦江县| 新蔡县| 林口县| 禹城市| 滨海县| 铁岭市| 托克逊县| 蒙自县| 东山县| 大厂| 云浮市| 建昌县| 百色市| 彰化市| 东阳市| 永昌县| 蓬莱市| 阿瓦提县| 上虞市| 类乌齐县| 葫芦岛市| 东山县| 嘉鱼县| 紫金县| 蒲城县|