嵌入式系統(tǒng)中USBHOST的擴(kuò)展_第1頁
嵌入式系統(tǒng)中USBHOST的擴(kuò)展_第2頁
嵌入式系統(tǒng)中USBHOST的擴(kuò)展_第3頁
嵌入式系統(tǒng)中USBHOST的擴(kuò)展_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、嵌入式系統(tǒng)中usb host的擴(kuò)展摘要:某些嵌入式系統(tǒng)在運行時會產(chǎn)生大量的數(shù)據(jù),這些數(shù)據(jù)通常要儲存在usb移動存儲設(shè)備中,這就要求嵌入式系統(tǒng)具備usb host,以便讀寫或管理 usb移動存儲設(shè)備中的數(shù)據(jù)和文件。本文將介紹一種使用文件管理芯片ch376t為單片機(jī)擴(kuò)展usb host的方式。關(guān)鍵詞:嵌入式系統(tǒng); usb移動存儲設(shè)備;usb host;單片機(jī)usb host expansion in embedded systemabstract: some embedded systems will produce large amounts of data in working state,u

2、sually these data are stored in the usb removable storage device. so usb host is required in the embedded system in order to read or write these data. this paper will introduce a way to extend usb host for the scm with file manager chip ch376t.keywords: embedded system; usb removable storage device;

3、 usb host; scm1引言 當(dāng)今計算機(jī)技術(shù)、半導(dǎo)體技術(shù)以及電子技術(shù)的高速發(fā)展,使得嵌入式系統(tǒng)在各種場合中的應(yīng)用更加廣泛和成熟。在某些場合,嵌入式系統(tǒng)需要存儲大量的數(shù)據(jù),比如水紋監(jiān)測數(shù)據(jù)和無人看管設(shè)備的運行數(shù)據(jù)等。為便于數(shù)據(jù)的轉(zhuǎn)移和處理,通常使用usb移動存儲設(shè)備來存儲這些數(shù)據(jù)。這便要求嵌入式系統(tǒng)具有usb host功能,才能對u盤中的文件數(shù)據(jù)等進(jìn)行讀寫操作,雖然目前市場上已經(jīng)出現(xiàn)了同時內(nèi)置usb host的單片機(jī),但這種單片機(jī)相對比較昂貴,不符合嵌入式系統(tǒng)所要求的最小軟硬件配置、最小成本的條件,本文給出了一種成本更加低廉的方式實現(xiàn)usb host功能,即單片機(jī)stm32f103vc配置

4、文件管理芯片ch376t的方式。2芯片介紹2.1 stm32f103vc介紹stmf103vc是意法半導(dǎo)體公司生產(chǎn)的基于arm corex-m3 的處理器芯片,芯片內(nèi)置了256kb flash、48kb ram、3路12bit adc、1路12bit dac、3路spi、pwm、can、usb、sdio和fsmc等諸多資源。特點:1)32位的risc處理器;2)72mhz運行頻率,1.25dmips/mhz;3) 硬件除法和單周期乘法;4)快速可嵌套中斷,6-12個時鐘周期;5)具有mpu保護(hù)設(shè)定訪問規(guī)則。其性價比較高,只是stm32f103vc芯片內(nèi)并沒有usb host的功能,需要外圍芯片

5、擴(kuò)展實現(xiàn)。2.2 ch376t介紹ch376t是文件管理控制芯片,支持usb host和slave方式,內(nèi)置了usb通信協(xié)議基本固件和f12、f16和f32等文件系統(tǒng)的管理固件,可用于單片機(jī)擴(kuò)展usb host功能,并且支持單片機(jī)通過spi方式控制ch376t芯片,從而使單片機(jī)能夠方便的讀寫 usb 移動存儲設(shè)備中的數(shù)據(jù)文件。特點:1) 支持1.5mbps低速和12mbps全速usb通訊,兼容usb2.0,外圍器件只需要晶體和電容;2) 支持usb設(shè)備的控制傳輸、批量傳輸和中斷傳輸;3) 自動檢測usb設(shè)備的連接和斷開,提供設(shè)備連接和斷開的事件通知;4) 提供文件管理功能如打開、新建或刪除文件

6、、枚舉和搜索文件、創(chuàng)建子目錄、支持長文件名;5) 以字節(jié)為最小單位或者以扇區(qū)為單位對多級子目錄下的文件進(jìn)行讀寫;6) 提供磁盤管理功能:初始化磁盤、查詢物理容量、查詢剩余空間金額物理扇區(qū)讀寫。3 usb host擴(kuò)展的硬件實現(xiàn)圖1便是使用ch376t芯片為單片機(jī)stm32f103vc擴(kuò)展usb host功能的硬件電路。如圖ch376t的外圍電路僅需要電容和晶振,電容的作用主要是退耦,而晶振y則為ch376t提供12mhz的時鐘信號輸入。reset為ch376t的外部復(fù)位信號。圖1中有兩種型號的usb接口:usb_a型接口和usb_b型接口。usb_a型接口可支持usb host(主機(jī))和usb

7、 slave(從機(jī))兩種方式,而usb_b型接口僅支持usb_slave方式。所有的通信都是由usb host發(fā)出的,usb slave則不能發(fā)起通信,即當(dāng)無系統(tǒng)的usb設(shè)備如u盤、usb鼠標(biāo)或者usb硬盤插入時,單片機(jī)可以通過usb host功能對usb設(shè)備中的數(shù)據(jù)進(jìn)行讀寫操作,而u盤等設(shè)備不能主動發(fā)起通信;當(dāng)有系統(tǒng)的設(shè)備如pc機(jī)插入時,通過hnp對話協(xié)議判斷,哪個設(shè)備作主機(jī),哪個設(shè)備作從機(jī);而插入usb_b型接口的設(shè)備只能作從機(jī)。圖1 usb host硬件擴(kuò)展電路fig.1 usb host hardware expansion circuitusb_a型接口與usb_b型接口均需要外接5

8、v電源,usb_a型接口的2、3腳分別連接到ch376t的9(ud-)、8(ud+)腳,usb_b型接口的2、3腳則連接到單片機(jī)的usb_dm、usb_dp腳,單片機(jī)通過usb_en腳控制接入usb設(shè)備,led表示usb設(shè)備的通信狀態(tài)。ch376t芯片通過spi方式與單片機(jī)進(jìn)行通信,如圖1所示,ch376t的sdo(串行數(shù)據(jù)輸出)、sdi(串行數(shù)據(jù)輸入)、sck(串行時鐘輸入)、scs(片選輸入)分別與單片機(jī)的spi1_miso、spi1_mosi、spi1_sck、usb_cs相連。spi的操作步驟是:1) 單片機(jī)產(chǎn)生spi的片選信號,低電平有效;2) 單片機(jī)按spi的方式發(fā)出一個字節(jié)的數(shù)據(jù)

9、,ch376t總是將spi片選scs有效后收到的首個字節(jié)當(dāng)做命令碼,后續(xù)字節(jié)當(dāng)數(shù)據(jù);3) 單片機(jī)延時 tsc時間(約1.5);4) 如果是寫操作,單片機(jī)向ch376t發(fā)出一個字節(jié)的待寫數(shù)據(jù),等待spi接口空閑后,單片機(jī)繼續(xù)發(fā)出若干個字節(jié)的待寫數(shù)據(jù),直到單片機(jī)禁止spi片選;5) 如果是讀操作,單片機(jī)從ch376t接收一個字節(jié)的數(shù)據(jù),等待spi接口空閑后,ch376t繼續(xù)接收若干個字節(jié)的數(shù)據(jù),直到單片機(jī)禁止spi片選;6) 單片機(jī)結(jié)束ch376t芯片的spi片選,以便結(jié)束當(dāng)前的spi操作。4 usb host的軟件說明4.1 usb host軟件流程圖2是單片機(jī)通過usb host功能對usb設(shè)

10、備中的文件數(shù)據(jù)進(jìn)行相關(guān)操作的軟件流程圖。圖 2 usb host軟件流程圖fig.2 usb software flow chart4.2文件操作程序說明4.2.1初始化,進(jìn)行任何一項文件操作之前的必要步驟1)cmd_set_usb_mode 命令,進(jìn)入usb-host 工作方式;2) 等待u 盤連接,u 盤可以由ch376t自動檢測并產(chǎn)生中斷通知,或者由單片機(jī)向ch376t 發(fā)出cmd_disk_connect 命令定期查詢;3)cmd_disk_mount 命令,初始化u 盤,并測試磁盤是否就緒,失敗后可以重試最多5 次;4)上述步驟只需執(zhí)行一次,除非u 盤斷開后重新連接,那么必須回到步驟

11、2)。4.2.2 順序讀文件1) cmd_set_file_name 命令+cmd_file_open 命令,打開文件;2) 多次cmd_byte_read 命令+cmd_rd_usb_data0 命令+cmd_byte_rd_go 命令,讀取數(shù)據(jù);3) cmd_file_close 命令,關(guān)閉文件,可選操作。4.2.3 順序改寫文件(覆蓋原數(shù)據(jù),超過原文件長度后轉(zhuǎn)變?yōu)樽芳訑?shù)據(jù))1) cmd_set_file_name 命令+cmd_file_open 命令,打開文件;2) 多次cmd_byte_write 命令+cmd_wr_req_data 命令+cmd_byte_wr_go 命令,寫入數(shù)

12、據(jù);3) cmd_file_close 命令,參數(shù)是1,關(guān)閉文件并允許自動更新文件長度。4.2.4 向已有文件追加數(shù)據(jù)1) cmd_set_file_name 命令+cmd_file_open 命令,打開文件;2) cmd_byte_locate 命令,參數(shù)是0ffffffffh,移動文件指針到文件末尾;3) 多次cmd_byte_write 命令+cmd_wr_req_data 命令+cmd_byte_wr_go 命令,寫入數(shù)據(jù);4) cmd_file_close 命令,參數(shù)是1,關(guān)閉文件并允許自動更新文件長度。4.2.5 新建文件并寫入數(shù)據(jù)1)cmd_set_file_name 命令+cm

13、d_file_create 命令,新建文件;2)多次cmd_byte_write 命令+cmd_wr_req_data 命令+cmd_byte_wr_go 命令,寫入數(shù)據(jù);3)cmd_file_close 命令,參數(shù)是1,關(guān)閉文件并允許自動更新文件長度。4.2.6 先讀文件再改寫文件1)cmd_set_file_name 命令+cmd_file_open 命令,打開文件;2)多次cmd_byte_read 命令+cmd_rd_usb_data0 命令+cmd_byte_rd_go 命令,讀取數(shù)據(jù);3)cmd_byte_locate 命令,參數(shù)是0,移動文件指針到文件頭部;4)多次cmd_byt

14、e_write 命令+cmd_wr_req_data 命令+cmd_byte_wr_go 命令,寫入數(shù)據(jù);5)cmd_file_close 命令,參數(shù)是1,關(guān)閉文件并允許自動更新文件長度。4.2.7 如果文件已經(jīng)存在則追加數(shù)據(jù),如果文件不存在則新建文件再寫入數(shù)據(jù)1)cmd_set_file_name 命令+cmd_file_open 命令,打開文件,如果返回err_miss_file 說明文件不存在,那么轉(zhuǎn)步驟3);2)cmd_byte_locate 命令,參數(shù)是0ffffffffh,移動文件指針到文件末尾,然后轉(zhuǎn)步驟4);3)cmd_file_create 命令,新建文件;4)多次cmd_b

15、yte_write 命令+cmd_wr_req_data 命令+cmd_byte_wr_go 命令,寫入數(shù)據(jù);5)cmd_file_close 命令,參數(shù)是1,關(guān)閉文件并允許自動更新文件長度。4.2.8 修改文件名、文件日期/時間、文件長度等文件目錄信息1)cmd_set_file_name 命令+cmd_file_open 命令,打開文件;2)cmd_dir_info_read 命令,參數(shù)是0ffh,將文件目錄信息讀入內(nèi)存;3)用cmd_rd_usb_data0 命令讀出原文件目錄信息;4)cmd_dir_info_read 命令,參數(shù)是0ffh,將文件目錄信息讀入內(nèi)存;5)用cmd_wr_ofs_data 命令寫入新的文件目錄信息;6)cmd_dir_info_save 命令,保存文件目錄信息;7)cmd_file_close 命令,參數(shù)是0,關(guān)閉文件并禁止自動更新文件長度,可選操作。4.2.9 創(chuàng)建

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論