usb通信固件程序開發(fā)畢業(yè)論文(附源代碼).zip
usb通信固件程序開發(fā)畢業(yè)論文(附源代碼),usb通信固件程序開發(fā)畢業(yè)論文(附源代碼)目錄第一章 緒論 11.1 pc接口簡(jiǎn)介 11.2 usb 接口分析 11.3 usb 器件的選擇 11.4 mass storage協(xié)議與fat16文件系統(tǒng) 2第二章 usb總線結(jié)構(gòu) 32.1 總線拓?fù)浣Y(jié) 32.2 usb設(shè)備 32.2.1 usb hub 42.2.2 即插...
該文檔為壓縮文件,包含的文件列表如下:
內(nèi)容介紹
原文檔由會(huì)員 莎士比亞 發(fā)布
USB通信固件程序開發(fā)畢業(yè)論文(附源代碼)
目錄
第一章 緒論 1
1.1 PC接口簡(jiǎn)介 1
1.2 USB 接口分析 1
1.3 USB 器件的選擇 1
1.4 MASS STORAGE協(xié)議與FAT16文件系統(tǒng) 2
第二章 USB總線結(jié)構(gòu) 3
2.1 總線拓?fù)浣Y(jié) 3
2.2 USB設(shè)備 3
2.2.1 USB HUB 4
2.2.2 即插即用 5
2.2.3 設(shè)備電源 6
2.2.4 設(shè)備的掛起 6
2.3 USB主機(jī) 6
2.4 USB數(shù)據(jù)流 7
2.5 USB的端點(diǎn) 9
第三章 協(xié)議 12
3.1 MASS STORAGE 協(xié)議 12
3.2 BULK-ONLY傳輸協(xié)議 16
3.3 SCSI指令集 18
3.4 FAT16 文件系統(tǒng) 21
3.4.1 FAT 文件系統(tǒng)結(jié)構(gòu) 21
3.4.2 Flash盤的FAT結(jié)構(gòu) 26
第四章 程序?qū)崿F(xiàn)與調(diào)試 29
4.1 固件程序的實(shí)現(xiàn) 29
4.1.1 主循環(huán)——MAINLOOP.C 29
4.1.2 中斷服務(wù)程序——D12ISR.C 29
4.1.3 標(biāo)準(zhǔn)設(shè)備請(qǐng)求處理——D12SETUP.C 33
4.1.4 NAND FLASH操作程序——NFLASH32.C 38
4.2 固件調(diào)試 42
4.2.1 檢查USB器件是否正常工作 42
4.2.2 設(shè)備枚舉 43
4.2.3 BULK_ONLY傳輸協(xié)議命令處理 43
4.2.4 FLASH的讀寫 45
結(jié)論 46
致謝 47
參考文獻(xiàn) 48
附錄 49
附錄 A USB接口芯片命令總匯 49
A1.初始化命令 50
A2.?dāng)?shù)據(jù)流命令 54
A3.?dāng)?shù)據(jù)流命令 59
附錄 B U盤固件程序源碼清單 60
第一章 緒論
1.1 PC接口簡(jiǎn)介
PC中的接口有兩類:串行接口和并行接口。計(jì)算機(jī)內(nèi)部總線,如CPU與存儲(chǔ)器之間勻采用并行接口,這樣速度快;但外設(shè)卻以串行接口比較占優(yōu)勢(shì)。傳統(tǒng)的打印機(jī)接口為并行接口。SCSI標(biāo)準(zhǔn)的全名是小型設(shè)備通用接口標(biāo)準(zhǔn),其傳輸速率為10M,早期的掃描儀一般使用此接口,硬盤與主機(jī)的聯(lián)接也使用這種接口。串行接口出現(xiàn)最早,使用最廣的RS232接口,但其速度太慢,現(xiàn)在已經(jīng)逐漸被淘汰。USB接口和IEEE1394接口是兩種速度比較高的串行接口,還有局域網(wǎng)中的以太網(wǎng)接口,它們具有較廣闊的發(fā)展前景和應(yīng)用潛力。USB適用于低檔外設(shè)與主機(jī)之間的高速數(shù)據(jù)傳輸,USB1.1可以達(dá)到1.5Mbps或12Mbps的傳輸率,而1394更是可達(dá)100/200/400Mbps。USB2.0將速度定位在480Mbps,而IEEE1394也推出了1394b 1.3.1 版草案,速度從800Mbps起步,最高可達(dá)3.2Gbps。局局域中用得最多的是以太網(wǎng)接口,速度可達(dá)100Mbps,當(dāng)使用光纖傳輸時(shí),速度可達(dá)1000Mbps。
1.2 USB 接口分析
通用串行總線(Universal Serial Bus USB),是一種快速、靈活的總線接口。與其它通信接口比較,USB接口的最大特點(diǎn)是易于使用,這也是USB的主要設(shè)計(jì)目標(biāo)。作為一種高速總線接口,USB適用于多種設(shè)備,如數(shù)碼相機(jī)、MP3播放機(jī)、高速數(shù)據(jù)采集設(shè)備等。易于使用還表現(xiàn)在USB接口支持熱插拔,并且所有的配置過程都由系統(tǒng)自動(dòng)完成,無需用戶干預(yù)。USB接口支持1.5Mb/s(低速)、12Mb/s(全速)和高達(dá)480Mb/s(USB 2.0規(guī)范)的數(shù)據(jù)傳輸速率,扣除用于總線狀態(tài)、控制和錯(cuò)誤監(jiān)測(cè)等的數(shù)據(jù)傳輸,USB的最大理論傳輸速率仍達(dá)1.2Mb/s或9.6Mb/s,遠(yuǎn)高于一般的串行總線接口。USB接口芯片價(jià)格低廉,一個(gè)支持USB 1.1 規(guī)范的USB接口芯片價(jià)格大多在人民幣(2004年)15~30元之間,這也大大促進(jìn)USB設(shè)備的開發(fā)與應(yīng)用。
1.3 USB 器件的選擇
在進(jìn)行一個(gè)USB設(shè)備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的USB控制器。目前,市場(chǎng)上供應(yīng)的USB控制器主要有兩種:帶USB接口的單片機(jī)(MCU)或純粹的USB接口芯片。帶USB接口的單片機(jī)從應(yīng)用上又可以分成兩類,一類是從底層設(shè)計(jì)專用于USB控制的單片機(jī)另一類是增加了USB接口的普通單片機(jī),如Cypress公司的EZ-USB(基于8051),選擇這類USB控制器的最大好處在于開發(fā)者對(duì)系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡(jiǎn)單,但對(duì)于簡(jiǎn)單或低成本系統(tǒng)。但價(jià)格因素也是在實(shí)際選擇過程中需要考慮的因素。純粹的USB 接口芯片僅處理USB通信,必須有一個(gè)外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD11(I2C接口)、PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888 等。USB接口芯片的主要特點(diǎn)是價(jià)格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(jì)(硬件上僅需對(duì)并行總線和中斷進(jìn)行改動(dòng),軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機(jī)的USB接口通信程序,無需對(duì)原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動(dòng))。
1.4 Mass Storage協(xié)議與FAT16文件系統(tǒng)
USB組織定義了海量存儲(chǔ)設(shè)備類(Mass Storage Class)的規(guī)范,這個(gè)類規(guī)范包括四個(gè)獨(dú)立的子類規(guī)范,即:1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USBMass Storage Class Bulk-Only Transport 3. USB Mass Storage Class ATA Command Block 4.USB Mass Storage Class UFI Command Specification。前兩個(gè)子規(guī)范定義了數(shù)據(jù)/命令/狀態(tài)在USB上的傳輸方法。Bulk- Only傳輸規(guī)范僅僅使用Bulk端點(diǎn)傳送數(shù)據(jù)/命令/狀態(tài),CBI傳輸規(guī)范則使用Control/Bulk/Interrupt三種類型的端點(diǎn)進(jìn)行數(shù)據(jù)/命令/狀態(tài)傳送。后兩個(gè)子規(guī)范則定義了存儲(chǔ)介質(zhì)的操作命令。ATA命令規(guī)范用于硬盤,UFI命令規(guī)范是針對(duì)USB移動(dòng)存儲(chǔ)。Microsoft Windows中提供對(duì)Mass Storage協(xié)議的支持,因此USB移動(dòng)設(shè)備只需要遵循Mass Storage協(xié)議來組織數(shù)據(jù)和處理命令,即可實(shí)現(xiàn)與PC機(jī)交換數(shù)據(jù)。而Flash的存儲(chǔ)單元組織形式采用FAT16文件系統(tǒng),這樣,就可以直接在Windows的瀏覽器中通過可移動(dòng)磁盤來交換數(shù)據(jù)了,Windows負(fù)責(zé)對(duì)FAT16文件系統(tǒng)的管理,USB設(shè)備不需要干預(yù)FAT16文件系統(tǒng)操作的具體細(xì)節(jié)。
目錄
第一章 緒論 1
1.1 PC接口簡(jiǎn)介 1
1.2 USB 接口分析 1
1.3 USB 器件的選擇 1
1.4 MASS STORAGE協(xié)議與FAT16文件系統(tǒng) 2
第二章 USB總線結(jié)構(gòu) 3
2.1 總線拓?fù)浣Y(jié) 3
2.2 USB設(shè)備 3
2.2.1 USB HUB 4
2.2.2 即插即用 5
2.2.3 設(shè)備電源 6
2.2.4 設(shè)備的掛起 6
2.3 USB主機(jī) 6
2.4 USB數(shù)據(jù)流 7
2.5 USB的端點(diǎn) 9
第三章 協(xié)議 12
3.1 MASS STORAGE 協(xié)議 12
3.2 BULK-ONLY傳輸協(xié)議 16
3.3 SCSI指令集 18
3.4 FAT16 文件系統(tǒng) 21
3.4.1 FAT 文件系統(tǒng)結(jié)構(gòu) 21
3.4.2 Flash盤的FAT結(jié)構(gòu) 26
第四章 程序?qū)崿F(xiàn)與調(diào)試 29
4.1 固件程序的實(shí)現(xiàn) 29
4.1.1 主循環(huán)——MAINLOOP.C 29
4.1.2 中斷服務(wù)程序——D12ISR.C 29
4.1.3 標(biāo)準(zhǔn)設(shè)備請(qǐng)求處理——D12SETUP.C 33
4.1.4 NAND FLASH操作程序——NFLASH32.C 38
4.2 固件調(diào)試 42
4.2.1 檢查USB器件是否正常工作 42
4.2.2 設(shè)備枚舉 43
4.2.3 BULK_ONLY傳輸協(xié)議命令處理 43
4.2.4 FLASH的讀寫 45
結(jié)論 46
致謝 47
參考文獻(xiàn) 48
附錄 49
附錄 A USB接口芯片命令總匯 49
A1.初始化命令 50
A2.?dāng)?shù)據(jù)流命令 54
A3.?dāng)?shù)據(jù)流命令 59
附錄 B U盤固件程序源碼清單 60
第一章 緒論
1.1 PC接口簡(jiǎn)介
PC中的接口有兩類:串行接口和并行接口。計(jì)算機(jī)內(nèi)部總線,如CPU與存儲(chǔ)器之間勻采用并行接口,這樣速度快;但外設(shè)卻以串行接口比較占優(yōu)勢(shì)。傳統(tǒng)的打印機(jī)接口為并行接口。SCSI標(biāo)準(zhǔn)的全名是小型設(shè)備通用接口標(biāo)準(zhǔn),其傳輸速率為10M,早期的掃描儀一般使用此接口,硬盤與主機(jī)的聯(lián)接也使用這種接口。串行接口出現(xiàn)最早,使用最廣的RS232接口,但其速度太慢,現(xiàn)在已經(jīng)逐漸被淘汰。USB接口和IEEE1394接口是兩種速度比較高的串行接口,還有局域網(wǎng)中的以太網(wǎng)接口,它們具有較廣闊的發(fā)展前景和應(yīng)用潛力。USB適用于低檔外設(shè)與主機(jī)之間的高速數(shù)據(jù)傳輸,USB1.1可以達(dá)到1.5Mbps或12Mbps的傳輸率,而1394更是可達(dá)100/200/400Mbps。USB2.0將速度定位在480Mbps,而IEEE1394也推出了1394b 1.3.1 版草案,速度從800Mbps起步,最高可達(dá)3.2Gbps。局局域中用得最多的是以太網(wǎng)接口,速度可達(dá)100Mbps,當(dāng)使用光纖傳輸時(shí),速度可達(dá)1000Mbps。
1.2 USB 接口分析
通用串行總線(Universal Serial Bus USB),是一種快速、靈活的總線接口。與其它通信接口比較,USB接口的最大特點(diǎn)是易于使用,這也是USB的主要設(shè)計(jì)目標(biāo)。作為一種高速總線接口,USB適用于多種設(shè)備,如數(shù)碼相機(jī)、MP3播放機(jī)、高速數(shù)據(jù)采集設(shè)備等。易于使用還表現(xiàn)在USB接口支持熱插拔,并且所有的配置過程都由系統(tǒng)自動(dòng)完成,無需用戶干預(yù)。USB接口支持1.5Mb/s(低速)、12Mb/s(全速)和高達(dá)480Mb/s(USB 2.0規(guī)范)的數(shù)據(jù)傳輸速率,扣除用于總線狀態(tài)、控制和錯(cuò)誤監(jiān)測(cè)等的數(shù)據(jù)傳輸,USB的最大理論傳輸速率仍達(dá)1.2Mb/s或9.6Mb/s,遠(yuǎn)高于一般的串行總線接口。USB接口芯片價(jià)格低廉,一個(gè)支持USB 1.1 規(guī)范的USB接口芯片價(jià)格大多在人民幣(2004年)15~30元之間,這也大大促進(jìn)USB設(shè)備的開發(fā)與應(yīng)用。
1.3 USB 器件的選擇
在進(jìn)行一個(gè)USB設(shè)備開發(fā)之前,首先要根據(jù)具體使用要求選擇合適的USB控制器。目前,市場(chǎng)上供應(yīng)的USB控制器主要有兩種:帶USB接口的單片機(jī)(MCU)或純粹的USB接口芯片。帶USB接口的單片機(jī)從應(yīng)用上又可以分成兩類,一類是從底層設(shè)計(jì)專用于USB控制的單片機(jī)另一類是增加了USB接口的普通單片機(jī),如Cypress公司的EZ-USB(基于8051),選擇這類USB控制器的最大好處在于開發(fā)者對(duì)系統(tǒng)結(jié)構(gòu)和指令集非常熟悉,開發(fā)工具簡(jiǎn)單,但對(duì)于簡(jiǎn)單或低成本系統(tǒng)。但價(jià)格因素也是在實(shí)際選擇過程中需要考慮的因素。純粹的USB 接口芯片僅處理USB通信,必須有一個(gè)外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有Philips公司的PDIUSBD11(I2C接口)、PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888 等。USB接口芯片的主要特點(diǎn)是價(jià)格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(jì)(硬件上僅需對(duì)并行總線和中斷進(jìn)行改動(dòng),軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機(jī)的USB接口通信程序,無需對(duì)原有產(chǎn)品系統(tǒng)結(jié)構(gòu)作很大的改動(dòng))。
1.4 Mass Storage協(xié)議與FAT16文件系統(tǒng)
USB組織定義了海量存儲(chǔ)設(shè)備類(Mass Storage Class)的規(guī)范,這個(gè)類規(guī)范包括四個(gè)獨(dú)立的子類規(guī)范,即:1. USB Mass Storage Class Control/Bulk/Interrupt (CBI) Transport 2. USBMass Storage Class Bulk-Only Transport 3. USB Mass Storage Class ATA Command Block 4.USB Mass Storage Class UFI Command Specification。前兩個(gè)子規(guī)范定義了數(shù)據(jù)/命令/狀態(tài)在USB上的傳輸方法。Bulk- Only傳輸規(guī)范僅僅使用Bulk端點(diǎn)傳送數(shù)據(jù)/命令/狀態(tài),CBI傳輸規(guī)范則使用Control/Bulk/Interrupt三種類型的端點(diǎn)進(jìn)行數(shù)據(jù)/命令/狀態(tài)傳送。后兩個(gè)子規(guī)范則定義了存儲(chǔ)介質(zhì)的操作命令。ATA命令規(guī)范用于硬盤,UFI命令規(guī)范是針對(duì)USB移動(dòng)存儲(chǔ)。Microsoft Windows中提供對(duì)Mass Storage協(xié)議的支持,因此USB移動(dòng)設(shè)備只需要遵循Mass Storage協(xié)議來組織數(shù)據(jù)和處理命令,即可實(shí)現(xiàn)與PC機(jī)交換數(shù)據(jù)。而Flash的存儲(chǔ)單元組織形式采用FAT16文件系統(tǒng),這樣,就可以直接在Windows的瀏覽器中通過可移動(dòng)磁盤來交換數(shù)據(jù)了,Windows負(fù)責(zé)對(duì)FAT16文件系統(tǒng)的管理,USB設(shè)備不需要干預(yù)FAT16文件系統(tǒng)操作的具體細(xì)節(jié)。