女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 智能硬件 > 智能硬件
[導讀]闡述一個基于ARM7的U盤設計;詳細描述基于LPC2132、USB接口芯片PDIUSBDl2和Flash ROM的硬件系統(tǒng)設計。軟件設計主要包括D12驅(qū)動、Mass Storage類協(xié)議實現(xiàn)和Flash存儲器的讀寫控制等。

摘要 闡述一個基于ARM7的U盤設計;詳細描述基于LPC2132、USB接口芯片PDIUSBDl2和Flash ROM的硬件系統(tǒng)設計。軟件設計主要包括D12驅(qū)動、Mass Storage類協(xié)議實現(xiàn)和Flash存儲器的讀寫控制等。
關鍵詞 LPC21 32 USB Mass Storage類協(xié)議 U盤


引 言
   
USB移動存儲技術(U盤)把USB接口技術與Flash存儲器技術結合在一起,構成了一種快速、大容量、方便的新型數(shù)據(jù)交換系統(tǒng),主要構成有主控制器(MCU)、USB接口芯片和F1ash存儲器。主控制器(MCU)是系統(tǒng)的核心,負責控制各種外圍設備、實現(xiàn)各種算法、協(xié)調(diào)與主機通信;USB接口芯片負責USB通信;Flash(閃爍存儲器)用來存儲數(shù)據(jù),它決定了U盤的容量。

1 硬件系統(tǒng)設計
    U盤設計結構框圖如圖1所示。使用Philips公司的ARM7芯片LPC2132,控制Philips的USBl.1接口芯片PDI-USBDl2,處理PMC公司的128 KB串行F1ash存儲器作為數(shù)據(jù)存儲設備實現(xiàn)U盤。

(1)ARM處理器
    LPC2132是基于一個支持實時仿真和跟蹤的16/32位ARM7TDMI-S CPU,并帶有64 KB嵌入的高速Flash存儲器。LPC2132的實時仿真和跟蹤功能方便了代碼的調(diào)試,降低了開發(fā)成本。
(2) PDIUSB012
    PDIUSBDl2(簡稱為“D12”)是一款性價比很高的USB器件;通常用于微控制器系統(tǒng)中實現(xiàn)與微控制器進行通信的高速通用并行接口;支持本地的DMA傳輸。PDIUSBDl2所具有的低掛起功耗連同LazyClock輸出可以滿足使用ACPI、OnNOW和USB電源管理的要求。低功耗可以應用于使用USB總線供電的外設。
(3)Flash存儲器
    存儲器選用PMC公司的Pm25LV010。適合低功耗和低電壓下工作的應用場合;具有完備的數(shù)據(jù)保護功能。通過設置芯片的狀態(tài)寄存器,可以將存儲空間的高1/4、高1/2或整片寫保護。寫使能和寫禁止指令進一步保護數(shù)據(jù)。另外還提供WP引腳用于硬件數(shù)據(jù)保護,以防止對狀態(tài)寄存器的意外修改。
    U盤電路原理如圖2所示。

2 軟件設計
   
軟件設計主要包括D12驅(qū)動、Mass Storage類協(xié)議和Flash存儲器的讀/寫控制。
2.1 D12驅(qū)動的實現(xiàn)
    在USB設備插入主機之前,主機對這個USB設備的情況一無所知,無法建立起通信;但USB協(xié)議規(guī)定了一些最基本的準則,如每個設備的端點0都是可用的,屬于控制端點。有了這個基本的溝通途徑,主機就開始通過端點0向設備提出一些問題,這些問題是有關設備基本情況的。這些基本情況可以反映usB設備所屬的類別及子類,反映配置情況、接口情況和端點情況;一旦得知了這些信息,主機就大體了解了這個設備是個什么樣的設備,按照USB協(xié)議中的相應規(guī)定,就逐步建立起了一條介于設備之間的高速數(shù)據(jù)通道,用于數(shù)據(jù)的傳輸。主機向設備提出的這些問題實際上就是USB協(xié)議中規(guī)定的各種標準請求,設備必須對這些問題進行回答;而回答的方式就是向主機傳送相應的描述符,即設備描述符、配置描述符、接口描述符、端點描述符。
    為了使軟件可移植性強、易維護,采用分層的方法編寫PDIUSBDl2的驅(qū)動程序。USB驅(qū)動程序分層結構如表1所列。

    ①硬件提取層(D12HAL.c)包含最底層的函數(shù)。
    ②D12命令接口(D12CI.c)實現(xiàn)PDIUSBDl2的命令接口以簡化器件的編程。該層的甬數(shù)及其功能如下:
    ◇讀取芯片ID號,uintl6 D12_ReadChipID(void);
    ◇沒置地址/使能,void D12_SetAddressEnable(UINT8bAddress,UINT8 bEnable);
    ◇設置端點使能,void D12_SetEndpointEnable(UINT8 bEnablc);
    ◇設置模式,void D12_SetMode(uint8 bConfig,uint8bClkDiv)。
    ③協(xié)議層(Chap_9.c)處理標準的USB設備請求,以及特殊的廠商請求,如DMA等。USB主機通過標準USB設備請求,可設定和獲取USB設備的有關信息,完成USB設備的枚舉。
    所有的請求都是通過端點0接收和發(fā)送SETUP包來完成的。接收主機SETUP包的函數(shù)為ep0_rxdone(),所有SETUP包都由函數(shù)control_handler()來處理,發(fā)送SETUP包的函數(shù)為ep0_txdone()。SETUP包的接收和發(fā)送通過控制傳輸結構仝局變量CONTROL_XFER ControlData來控制,它實現(xiàn)了以上3個函數(shù)之間的通信。


    上述幾個函數(shù)及ControlData變量之問的關系如圖3所示。

    ④應用層(D12Driver.c)實現(xiàn)PDIUSBD12的所有功能。USB設備控制驅(qū)動、USB接口控制驅(qū)動和協(xié)議層都在應用層的控制之中。應用層要實現(xiàn)的仟務包括:
    ◆初始化PDIUSBDl2。包括初始化PDIUSBD12的硬件連接、復位PDIUSBDl2、配置PDIUSBD12的中斷服務程序地址、初始化應用層相關的全局變量。
    ◆編寫PDIUSBD12中斷服務程序。PDIUSBD12幾乎所有功能都是通過PDIUSBDl2中斷服務程序來完成的,因此中斷服務程序是應用層的核心部分,也是本驅(qū)動程序的核心部分。它要完成以下任務:
    ◇控制端點數(shù)據(jù)接收與發(fā)送中斷服務程序,負責處理控制傳輸?shù)挠嘘P工作;
    ◇端點1和端點2數(shù)據(jù)接收與發(fā)送中斷服務程序;
    ◇USB總線掛起、復位、DMA結束中斷服務程序。
    ◆用戶讀寫端點1和端點2的API函數(shù)。
    ◆傳輸控制處理任務。該任務用于處理枚舉、標準任務請求、廠商請求等傳輸控制。
2.2 Mass Storage類協(xié)議的實現(xiàn)
    完整的Mass Storage類協(xié)議需要實現(xiàn)如下兒部分:在枚舉時,提供Mass Storage類協(xié)議描述符;實現(xiàn)BulkOnly批量傳輸協(xié)議;實現(xiàn)SCSI命令集。
2.2.1 Mass Storage類協(xié)議描述符

    USB采用設備類的方式對設備進行管理。要讓主機識別設備,設備就必須提供正確的描述符:
    ◇設備描述符;
    ◇配置描述符;
    ◇接口描述符;
    ◇端點描述符。
2.2.2 Bulk-Only批量傳輸協(xié)議實現(xiàn)
    Bulk-Only協(xié)議包括兩部分:類特定請求命令和Bulk-Only傳輸。
(1)類特定請求命令
    ①批量傳輸?shù)拇笕萘看鎯ζ鲝臀弧Rl(fā)送批量傳輸?shù)拇笕萘看鎯ζ鲝臀徽埱?,主機將在默認管道發(fā)送一個設備請求:
    ◇bmRequestType——類、接口、主機到設備;
    ◇bRequest字段設置為255(FFh);
    ◇wValue字段設置為0;
    ◇wIndex字段設置為接口編號;
    ◇wLength字段設置為O。
    批量傳輸?shù)拇笕萘看鎯ζ鲝臀徽埱笕缦拢?/P>

   
    ②獲取最大邏輯單元號(專用類清求)。Get MaxLUN設備請求用于確定設備支持的邏輯單元編號。設備的邏輯單元編號可以從LUN為O到LUN的最大值15(Fh)。
    要發(fā)送Get Max LUN設備請求,主機應在以下默認管道發(fā)送一個設備請求:
    ◇bmRequestType——類、接口、設備到主機;
    ◇bRequest范圍設置為254(FEh);
    ◇wValue字段設置為0;
    ◇wIndex字段設置為接口編號;
    ◇wLength字段設置為1。
   獲得最大邏輯單元字如下:

   
    設備應返回1字節(jié)包含設備支持的最大邏輯單元數(shù)。例如,如果設備支持4個LUN,則LUN的編號應從0~3,則返回值為3。如果設備沒有相關的LUN,則返回值為0。主機不應向一個不存在的LUN發(fā)送命令塊包(CBW)。
    不支持多LUN的設備會返回STALL。
(2)Bulk—Only傳輸
    Bulk—Only傳輸協(xié)議沒有使用中斷和控制端點,僅使用Bulk批量端點來進行命令塊、數(shù)據(jù)和命令塊狀態(tài)的傳輸??刂贫它c(默認)管道僅用來請求批量端點上的STALL停止的狀態(tài)和執(zhí)行類特定請求命令。
    Bulk—Only傳輸?shù)牧鞒倘鐖D4所示。

2.2.3 SCSI命令集實現(xiàn)
    SCSI命令集是SCSI設備通用命令集。SCSI有3種字長的命令:6字節(jié)、10字節(jié)和12字節(jié)。Microsoft Win—dows環(huán)境下支持12字節(jié)長的命令。圖5給出了通用的UFI命令塊的格式。請注意,這些字節(jié)就是CBW封包中CBWCB字段的內(nèi)容。

    對不同的命令只需根據(jù)SCSI命令集白皮書作出適當?shù)幕貞?。Pm25LV010的最小擦除單位為扇區(qū)(4 KB),故在程序中定義一個4 KB的緩沖區(qū)Cache_STRUC Flash-Cache,把每次收到的數(shù)據(jù)放入緩沖區(qū)中,到緩沖區(qū)滿數(shù)據(jù)接收完畢時再將其寫入Flash存儲器中,流程如圖6所示。

2.3 Flash存儲器的讀寫控制
    Flash存儲器讀寫程序由SPI控制和Pm25LV010控制兩部分組成。
    Pm25LV010 Flash存儲器采用的是SPI串行接口,其SPI有兩種工作模式——模式O和模式3。SPI.c完成SPI底層操作,給Pm25LV010控制程序提供一個讀寫1字節(jié)數(shù)據(jù)函數(shù)。該函數(shù)使用SPI模式0。
    Pm25LV010控制程序完成Pm25LV010器件的所有操作,其向高層提供的函數(shù)及功能如表2所列。

    Pm25LV010的最小擦除單位是扇區(qū)(每扇區(qū)4 KB),在改寫扇區(qū)內(nèi)任意一字節(jié)數(shù)據(jù)時都需要將該扇區(qū)擦除。針對這種情況,在程序中定義了一個4 KB大小的緩沖區(qū),當上層調(diào)用函數(shù)WriteToFlash()向Flash寫數(shù)據(jù)時,并不直接寫入Flash,而是先寫到數(shù)據(jù)緩沖區(qū),其流程如圖7所示。

3 結論
    基于LPC2132微控制器的硬件平臺上實現(xiàn)了USB驅(qū)動、Bulk-Only傳輸協(xié)議、SCSI命令集,實現(xiàn)了完整的U盤功能。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

大家好,我是鲏。認識我的朋友都知道,我是一個實踐派,相比研究枯燥的理論知識,我更喜歡做自己想做的項目,用技術來實現(xiàn)自己的想法的感覺真的很棒。所以從大學期間一直到現(xiàn)在,除了工作中的項目外,我依然保持著自己做項目的習慣,有堅...

關鍵字: 系統(tǒng)設計 技術選型 需求分析

北京2022年9月2日 /美通社/ -- 把學習手牌放在觸控屏幕上,長征5號B運載火箭整流罩、助推器等部件的基本介紹、參數(shù)等便會一一呈現(xiàn)。完成學習環(huán)節(jié),就可以在系統(tǒng)中動手組裝、發(fā)射火箭,并將天和核心艙送到預定軌道……科技...

關鍵字: 智慧教育 大屏 APP 軟硬件

(全球TMT2022年8月30日訊)近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部件的最...

關鍵字: 系統(tǒng)設計 英特爾 數(shù)據(jù)中心 生態(tài)系統(tǒng)

北京2022年8月30日 /美通社/ -- 近日,在2022英特爾中國數(shù)據(jù)中心合作伙伴技術峰會上,英特爾與浪潮信息等產(chǎn)業(yè)生態(tài)伙伴聯(lián)合發(fā)布了《綠色數(shù)據(jù)中心創(chuàng)新實踐 -- 冷板液冷系統(tǒng)設計參考》白皮書,分享冷板液冷技術關鍵部...

關鍵字: 系統(tǒng)設計 英特爾 數(shù)據(jù)中心 電量

杭州2022年8月25日 /美通社/ -- 近日,浙江棱鏡全息科技有限公司(以下簡稱"棱鏡全息")宣布完成近億元B輪融資,由上市企業(yè)當虹科技(688039.SH)獨家戰(zhàn)略投資,該投資信息也出...

關鍵字: 數(shù)字化 全棧 軟硬件 IP

摘要:近年來,受人類活動的影響,各大水域的水質(zhì)污染問題越來越嚴重,大部分水資源受到嚴重污染,水質(zhì)處理問題亟需解決。分析水體污染情況對改進水質(zhì)有著重要意義,目前水質(zhì)監(jiān)測主要采用人工或無人船的方式。人工監(jiān)測方式工作量大,影響...

關鍵字: 水質(zhì)監(jiān)測 無人機 系統(tǒng)設計

摘要:根據(jù)饒平縣高堂水閘重建工程建設實際需求,對高堂水閘運行管理進行實時在線式監(jiān)控與監(jiān)測,通過閘門控制、視頻監(jiān)控、水情測報、安全監(jiān)測和網(wǎng)絡通信等系統(tǒng)的設計,為高堂水閘的水工建筑物安全、防洪調(diào)度和自動化管理提供技術支持,以...

關鍵字: 管理信息系統(tǒng) 水利工程 系統(tǒng)設計

湖州2022年7月26日 /美通社/ -- 近日,浙江省科技創(chuàng)新大會在浙江省人民大會堂隆重舉行。大會正式頒布2021年度浙江省科學技術進步獎,隆重表彰為浙江科技創(chuàng)新事業(yè)和經(jīng)濟社會發(fā)展做出突出貢獻的科技工作者及團隊。...

關鍵字: 電梯 檢測技術 系統(tǒng)設計 零部件

摘要:簡要介紹了柴油發(fā)電機組和重油發(fā)電機組的構成和主要特點,以某發(fā)電廠重柴油發(fā)電機組系統(tǒng)設計為例,重點分析了重油發(fā)電機組燃油系統(tǒng)、潤滑油系統(tǒng)、循環(huán)冷卻水系統(tǒng)、壓縮空氣系統(tǒng)的設計要點,以提高柴油、重油發(fā)電機組的運行效率和運...

關鍵字: 重油發(fā)電機組 特性 系統(tǒng)設計

摘要:針對一種小型消費級水下機器人,分析了其系統(tǒng)總體設計及各關鍵子系統(tǒng)(推進系統(tǒng)、通信系統(tǒng)、控制系統(tǒng)及其他系統(tǒng)等)設計的要點和方法,舉例介紹了一種五推進器小型消費級水下機器人。經(jīng)驗證,該設計方法可以用于同類型水下機器人的...

關鍵字: 推進器 系統(tǒng)設計 五推進器

智能硬件

21983 篇文章

關注

發(fā)布文章

編輯精選

技術子站

關閉