標題: 通用序列匯流排的快閃記憶卡\SmartMeida讀卡機設計
USB CompactFlash/SmartMedia Card Reader Design
作者: 高龍毅
吳炳飛
電控工程研究所
關鍵字: 通用序列匯流排;快閃記憶卡;讀卡機;USB;CompactFlash;CF;SmartMedia;CardReader
公開日期: 1999
摘要: 本篇論文主要是敘述一應用通用序列匯流排之快閃記憶卡(CompactFlash)及SmartMedia卡讀卡機設計方法及實現。主要目的是以通用序列匯流排(USB)為外接週邊介面設計出可以讓PC讀取CompactFlash/SmartMedia的裝置。並在使用者介面上模擬成一個磁碟機裝置,以方便使用者使用。本論文的內容包括有,硬體設計的方法,驅動程式設計的方法和效能的瓶頸分析及解決方式。主要重點是驅動程式的設計中所應用的技巧及所使用的演算法。
This thesis mainly describes the design and realization of one USB compactflash/smartmedia card reader design . The major purpose is to design a device that lets PC access the compactflash/SmartMedia card using USB as its interface . And supply the users a convenient user interface by simulating as a disk . The content of this thesis includes methods of hardware design , the methods of driver design , the method for analyzing the choke point of performance and the method to solve it . The main point is the skill and the algorithm of the driver design . 英文摘要………………………………………………………………………………………………II 誌謝……………………………………………………………………………………………………III 目錄……………………………………………………………………………………………………IV 表目錄………………………………………………………………………………………………..VIII 圖目錄…………………………………………………………………………………………………IX 一、系統簡介 1 1.1功能簡介 1 1.2 USB規格簡介 1 1.3 COMPACTFLASH與SMARTMEDIA規格簡介 2 1.4系統架構 2 二、硬體 4 2.1 USB CF/SM READER硬體架構及線路說明 4 2.1.1 USB CF Reader: 4 2.1.2 USB SM Reader: 5 2.2 USB CF READER線路說明: 5 2.3 USB SM READER線路說明: 6 2.4 UEP0203 USB/EPP CONTROLLER功能及軔體說明 7 2.5 ALTERA EPM 7032功能說明: 8 三、驅動程式及測試程式 11 3.1 WINDOWS98驅動程式架構: 11 3.1.1 USB CF/SM Reader Driver架構: 12 3.1.2 I/O Protocol of USB Reader: 13 3.2 WDM DRIVER架構及說明: 15 3.2.1 DriverEntry and Initialize: 15 3.2.2 I/O and PnP Handler: 15 3.2.3 和Port Driver的介面部分: 16 3.3 WDM DRIVER程式說明: 16 3.3.1 DriverEntry 16 3.3.2 DF_GetNextPdo 17 3.3.3 DFIOCTL 17 3.3.4 DF_Create 18 3.3.5 DF_Close 18 3.3.6 DF_PnP 19 3.3.7 DF_StartDevice 20 3.3.8 DF_StopDevice 20 3.3.9 DF_RemoveDevice 21 3.3.10 DF_PdoPnP 21 3.3.11 DF_ConfigureDevice 22 3.3.12 DF_AbortPipes 22 3.3.13 DF_Dispatch 22 3.3.14 DF_Unload 23 3.3.15 DF_CallUSBD 23 3.3.16 DF_CommandRequest 23 3.3.17 DF_ReadSector 24 3.3.18 Read Data 24 3.3.19 DF_Preformat 25 3.3.20 DF_GetStatus 25 3.3.21 DF_GetGPIO 25 3.3.22 DF_ReadData 26 3.3.23 DF_ATACmd 26 3.4 PORT DRIVER架構及說明: 26 3.4.1 Initialize、PnP and Registry: 26 3.4.2 AEP及I/O Request Handler: 27 3.4.3 Thread and Cache: 27 3.5 PORT DRIVER程式說明: 28 3.5.1 _USBDISK_Drp 28 3.5.2 DFBDISK_Ilb_ILB_dequeue_iop 28 3.5.3 InstallThread 29 3.5.4 _Set_Thread_Win32_Pri 29 3.5.5 _Release_Time_Slice 29 3.5.6 SHELL_CallAtAppyTime 29 3.5.7 YieldExecution 30 3.5.8 AllocDataCache 30 3.5.9 DeAllocDataCache 30 3.5.10 AllocRheadCache 30 3.5.11 DeAllocRheadCache 30 3.5.12 AllocFatCache 31 3.5.13 DeAllocFatCache 31 3.5.14 CacheFatHit 31 3.5.15 CacheFatUpdate 31 3.5.16 CacheHit 32 3.5.17 CacheUpdate 32 3.5.18 CacheInvalidate 32 3.5.19 DFIoCtl 33 3.5.20 FindCurDevIdx 33 3.5.21 AddCurDevIdx 33 3.5.22 AddCurDevFdo 34 3.5.23 CallBack2UpLayer 34 3.5.24 PassCall2DnLayer 34 3.5.25 DFBDISK_RequestHandler 35 3.5.26 DFBDISK_RequestHandlerDirect 37 3.5.27 TransWdm2IosError 37 3.5.28 OnInitialize 37 3.5.29 OnDeviceInquiry 38 3.5.30 OnUnConfigDcb 38 3.5.31 AppTimeHandler 38 3.5.32 OnConfigDcb 38 3.5.33 OnIopTimeOut 39 3.5.34 OnSysDynamicDeviceInit 39 3.5.35 OnSysDynamicDeviceExit 40 3.5.36 OnKernel32Shutdown 40 3.5.37 OnW32DeviceIoControl 40 3.6 INSTALLSHIELD PROGRAM說明及使用: 40 3.6.1目的: 41 3.6.2事前準備: 41 3.6.3使用InstallShield Wizard: 41 3.6.4 使用Install Shield 42 3.7 測試程式架構說明: 43 3.7.1 Application測試程式: 43 3.7.2 Debug測試程式: 45 四、軟體加速演算法及成果 48 4.1 READ/WRITE SECTOR演算法: 48 4.2 SGD演算法的改良: 48 4.3 CACHE的演算法: 49 五、發展歷程: 51 5.1 8051+Net2888: 51 5.2 80930: 51 5.3 UEP0203: 52 5.4 Driver設計: 53 六、結論 54 七、參考文獻 55
URI: http://140.113.39.130/cdrfb3/record/nctu/#NT880591041
http://hdl.handle.net/11536/66273
顯示於類別:畢業論文