www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1 前言近年來隨著數(shù)碼相機、掃描儀、攝像手機等數(shù)碼設(shè)備的興起,數(shù)字照片成為人們生活中不可缺少的一部分。數(shù)碼相框作為一種新興的顯示媒介,以它大容量的存儲相片的能力,

1 前言

近年來隨著數(shù)碼相機、掃描儀、攝像手機等數(shù)碼設(shè)備的興起,數(shù)字照片成為人們生活中不可缺少的一部分。數(shù)碼相框作為一種新興的顯示媒介,以它大容量的存儲相片的能力,良好的顯示效果和多樣的功能正越來越迅速的走進千家萬戶。

隨著國家廣電總局推行電視數(shù)字化的進程,數(shù)字電視全面鋪開。本項目的開發(fā)正是基于這兩種考慮,開發(fā)了一種將數(shù)碼相框和數(shù)字電視相融合的產(chǎn)品。

在這個產(chǎn)品的開發(fā)過程中,一個關(guān)鍵性的問題就是為MB86H20B數(shù)字電視平臺擴展外部存儲的功能。本文中提到的基于μcosII的嵌入式文件系統(tǒng)的解決方案較好的解決了這一問題。

2 嵌入式文件系統(tǒng)硬件連接圖

ISP1160與MB86H20B(簡稱20B)之間的硬件連接圖如圖1,ISP的異步傳輸端口與20B上的UPI(Universal Peripheral InteRFace)接口相連,這是一種可以配置模式和時序的接口。在此采用了IDE模式,按照ISP1160的時序要求對其進行了配置。ISP1160 在20B上僅僅映射2個IO地址,一個為數(shù)據(jù)端口,一個為命令端口,由A0的高低電平區(qū)分[3]。

 

圖1 Decoder與USB Host Controller連接原理圖

ISP1160上的INT引腳連接到20B外部中斷引腳IRQ1。當(dāng)中斷發(fā)生時,20B進入中斷服務(wù)程序,讀取ISP1160狀態(tài)寄存器。這就構(gòu)成了ISP1160到20B的數(shù)據(jù)反饋通路。

3 在U盤上構(gòu)建FAT32文件系統(tǒng)

FAT32文件系統(tǒng)由三部分構(gòu)成, 這三部分在邏輯盤上的結(jié)構(gòu)如圖2[1]所示。

 

圖2 FAT32文件系統(tǒng)結(jié)構(gòu)示意圖

DBR(DOS Boot Record)包含BIOS參數(shù)塊和DOS引導(dǎo)程序。在BIOS參數(shù)塊中包含了每簇扇區(qū)數(shù),保留扇區(qū)數(shù),隱含扇區(qū)數(shù),每FAT扇區(qū)數(shù),根目錄FDT在DATA區(qū)的起始位置等重要信息。

DATA區(qū)是從U盤根目錄FDT(FAT Directory Table)開始的,在根目錄下用戶可以再創(chuàng)建不同的子目錄或文件,根目錄以及各個子目錄都有自己的FDT ,F(xiàn)DT 定義了文件名、文件大小以及文件存放的起始簇號。通過各子目錄和文件的FDT構(gòu)成的樹形文件索引結(jié)構(gòu)完成對文件的定位。

物理設(shè)備的最小存儲單位是Sector(扇區(qū)),在DATA區(qū)中最小的存儲單位是Cluster(簇),在U盤的flash上一般由8個Section構(gòu)成一個Cluster。

由于一個文件往往在DATA區(qū)上占用多個簇,F(xiàn)AT32文件系統(tǒng)采用簇鏈的方式索引一個文件所占用的簇鏈。FAT(File Allocate Table)記錄了DATA區(qū)哪些簇被使用,當(dāng)前簇的后繼簇簇號[1]。

4 FAT文件系統(tǒng)的實現(xiàn)

本文件系統(tǒng)的實現(xiàn),可以分為USB協(xié)議棧和FAT32文件系統(tǒng)為主的四大部分[4]。層次結(jié)構(gòu)關(guān)系如圖3所示。

 

圖3 軟件結(jié)構(gòu)模型

4.1 協(xié)議層的實現(xiàn)

大容量類設(shè)備都可能使用 RBC、SFF-8020i/MMC-2、QIC-157、UFI、SFF-8070i和 SCSI 等 6個命令集。嚴格來說,大容量類主機端的驅(qū)動都應(yīng)全部支持以上指令集,但實際上常見的大容量設(shè)備都使用 SCSI 和 UFI 指令集。SCSI 和 UFI 指令集中常用的命令在大容量類協(xié)議中都可兼容。

U盤的整個文件系統(tǒng)在主機軟件的協(xié)議層抽象為UFI(USB Floppy Interface)設(shè)備,通過含有UFI指令的命令塊(Command Block)與U盤通信[5]。這層完成的功能有將文件系統(tǒng)中的操作翻譯為UFI指令,UFI指令打包成命令塊及其對應(yīng)的逆向操作。

表1 傳輸層API函數(shù)實現(xiàn)

 

4.2 傳輸層的實現(xiàn)

傳輸處理層用于處理命令塊,包括主機傳輸命令塊到大容量類設(shè)備、主機與大容量設(shè)備之間的數(shù)據(jù)傳輸和主機接收命令塊處理狀態(tài)。大容量類設(shè)備傳輸協(xié)議分為Bulk-Only協(xié)議和 CBI-Only協(xié)議。該層為命令層提供了命令塊處理函數(shù)的統(tǒng)一接口,使命令層不需理會當(dāng)前大容量類設(shè)備的傳輸協(xié)議。

傳輸層接收由協(xié)議層包裝好的命令塊,根據(jù)已注冊的Mass Storage Class設(shè)備的信息,采用單批量(Bulk Only)傳輸模式從批量輸出端點(Bulk Data Out Endpoint)傳輸出去。類似,也可以從批量輸入端點(Bulk Data In Endpoint)接收數(shù)據(jù),向上傳遞到協(xié)議層解析。

4.3 USB主機協(xié)議棧的實現(xiàn)

在U盤連接到USB電纜上后首先為ISP1160注冊一個Root Hub Class,再為U盤注冊一個Mass Storage Class的設(shè)備。接著,為了檢測U盤的連接,啟動查詢當(dāng)前狀態(tài)的Host_Serve的任務(wù)。當(dāng)ISP1160 與U盤連接后,ISP1160通過中斷通知20B,20B進入中斷服務(wù)程序改變當(dāng)前狀態(tài)。在Host_Serve任務(wù)中檢測到狀態(tài)的改變,開始USB協(xié)議的通信。至此,U盤(USB Mass Storage設(shè)備)注冊完成(大容量類相關(guān)代碼見程序清單3.1,3.2,表2)。由此以后,F(xiàn)AT32文件系統(tǒng)所要對U盤進行的操作都經(jīng)過Bulk- Only傳輸完成。

 


程序清單3.1 大容量設(shè)備描述信息數(shù)據(jù)結(jié)構(gòu)

 


程序清單2.2 邏輯單元描述信息數(shù)據(jù)結(jié)構(gòu)

實現(xiàn)的大容量類的API函數(shù)如表2所示。

表2 大容量類API函數(shù)列表

 

[!--empirenews.page--]

4.4 此文件系統(tǒng)在μcosII中的移植

FAT32文件系統(tǒng)來源于開源代碼,移植的主要工作是替換消息通訊函數(shù)。這些工作完成后,將對File的各種操作包裝成一個OSFile任務(wù),接收應(yīng)用程序發(fā)出的文件操作要求。文件系統(tǒng)的整體結(jié)構(gòu)圖如圖4所示。

 

圖4 文件系統(tǒng)層次結(jié)構(gòu)[2]

5 性能測試

基于已經(jīng)實現(xiàn)的方案,進行了詳細的測試。首先,對目錄的創(chuàng)建,目錄的刪除,進入目錄,退出目錄,文件的創(chuàng)建,文件的刪除,文件的讀取,文件的寫入等基本功能進行了測試,均能圓滿完成以上功能。

接下來對比較關(guān)鍵的文件讀取功能進行了詳盡的測試。測試所得到的結(jié)果完全達到了對數(shù)字相片讀取的要求。

表3 不同文件的讀取時間

 

6 結(jié)束語

基于20B的UPI接口實現(xiàn)USB的傳輸,之前沒有可以參考的范例,完全是出于對硬件時序和文件系統(tǒng)的理解設(shè)計了整個解決方案。此方案解決了20B芯片上外掛U盤的問題, 從而使20B芯片可以應(yīng)用于數(shù)字相框(Digital Video Frame)領(lǐng)域。

為了讓文件系統(tǒng)能夠更好的適應(yīng)嵌入式應(yīng)用的需求,可以對文件系統(tǒng)做出一些優(yōu)化,盡量做到對flash的寫平衡,提高文件的讀取速度,減少文件系統(tǒng)對CPU和內(nèi)存資源的占用。

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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當(dāng)下,工業(yè)電機作為核心動力設(shè)備,其驅(qū)動電源的性能直接關(guān)系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設(shè)計中至關(guān)重要的兩個環(huán)節(jié),集成化方案的設(shè)計成為提升電機驅(qū)動性能的關(guān)鍵。

關(guān)鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設(shè)備的使用壽命。然而,在實際應(yīng)用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設(shè)計、生...

關(guān)鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關(guān)鍵字: LED 設(shè)計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術(shù)之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關(guān)鍵元件,其性能直接影響到電動汽車的動力性能和...

關(guān)鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設(shè)中,街道及停車場照明作為基礎(chǔ)設(shè)施的重要組成部分,其質(zhì)量和效率直接關(guān)系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關(guān)鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設(shè)計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關(guān)鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術(shù)日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設(shè)備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關(guān)鍵字: LED照明技術(shù) 電磁干擾 驅(qū)動電源

開關(guān)電源具有效率高的特性,而且開關(guān)電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關(guān)鍵字: LED 驅(qū)動電源 開關(guān)電源

LED驅(qū)動電源是把電源供應(yīng)轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關(guān)鍵字: LED 隧道燈 驅(qū)動電源
關(guān)閉