<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于TMS320C6713控制的USB數據存儲系統設計

基于TMS320C6713控制的USB數據存儲系統設計

作者: 時(shí)間:2009-01-09 來(lái)源:網(wǎng)絡(luò ) 收藏

圖4給出空間分配表。由圖4可知,空間CEl的地址范圍是0x90000000~0xA0000000,因此可設定地址總線(xiàn)經(jīng)CPLD相關(guān)編碼后SL811HS的片選地址是0x90080006,HOST 寄存器的空間為0x90080006。地址寄存器為0x90080007。


3 軟件
軟件含有初始化和驅動(dòng)兩部分程序。前者用于完成芯片支持庫(Chip Support Library,簡(jiǎn)稱(chēng)CSL)提供的標準方法.以訪(fǎng)問(wèn)和片上外設設備的初始化、軟件變量的初始化及使能中斷(總中斷、NMI中斷)等。SL811HS對U盤(pán)操作的軟件分為:①針對SL811HS編寫(xiě)主機器驅動(dòng)程序;②調用驅動(dòng)程序,以完成U盤(pán)讀寫(xiě)的應用程序。
3.1 設備的配置

在設備檢測階段,SL8llHS通過(guò)讀取中斷狀態(tài)寄存器判斷中斷類(lèi)型。當中斷類(lèi)型為檢測到設備插入時(shí)(U盤(pán)插入USB插座會(huì )產(chǎn)生中斷),配置USB設備即U盤(pán)。同時(shí)還需使能SL811HS的1 ms SOF,以便進(jìn)行幀的同步。此時(shí),可通過(guò)setup結構的數據包(8字節)向USB設備的控制端點(diǎn)O(默認控制端點(diǎn)和默認地址)發(fā)送命令。
當采用setup數據包配置U盤(pán)時(shí),需將U盤(pán)的地址寫(xiě)入SL811HS的寄存器4;將數據包的類(lèi)型和U盤(pán)的控制端點(diǎn)寫(xiě)入SL811HS的寄存器3。U盤(pán)配置過(guò)程的主要流程如圖5所示。在U盤(pán)的配置過(guò)程完成后,主機與USB設備之間的通信必須使用設置的地址。默認地址0不再有效,傳輸端點(diǎn)則為讀取配置描述符中所定義的端點(diǎn)號。

3.2 傳輸流程設計
在與U盤(pán)之間傳輸大量數據時(shí),需要利用描述符提供的In,OUt端點(diǎn)傳送數據,并遵循Bulk―Only傳輸協(xié)議.其傳輸過(guò)程一般分為3個(gè)階段。
根據USB的協(xié)議規范,所有的傳輸都需由DSP啟動(dòng).即TMS320C6713首先向設備的OUT端點(diǎn)發(fā)送一命令(CBW數據包),請求傳輸,在數據包中設定下一步的數據傳輸方向。若為設備到TMS320C6713,則當CBW發(fā)送成功后,從設備的IN端點(diǎn)讀取CBW中規定長(cháng)度的數據;若為T(mén)MS320C6713到設備,則當CBW發(fā)送成功后,向設備的0UT端點(diǎn)發(fā)送CBW中規定長(cháng)度的數據。
當TMS320C6713與設備之間的數據傳輸完畢后,TMS320C6713還需從設備的IN端點(diǎn)讀取傳送狀態(tài),然后TMS320C6713根據接收的握手包(ACK,NAK,STALL等)即可判斷通信是否正常。若返回的結果有錯誤,還需進(jìn)行相應的出錯處理。
U盤(pán)數據結構包括DBR(引導記錄)、FAT表、文件目錄表(FDT)。當寫(xiě)一新文件時(shí),需在FAT表中查找未使用的簇,并將該簇號寫(xiě)入文件所對應目錄數據結構中的起始簇號位置。當該文件長(cháng)度大于一簇時(shí),還需在FAT表中對應的起始簇號位置填入下一可用簇的簇號,直到文件的最后一簇(FAT表中的相應位置填FFFF)為止。若磁盤(pán)有備份FAT,還需在備份FAT表的相應位置填入正確的內容。
使用U盤(pán)的Bulk端點(diǎn)進(jìn)行數據傳輸,Bulk傳輸分為Bulk-In(TMS320C6713向外圍設備請求數據)和Bulk-Out(TMS320C6713向外圍設備發(fā)送數據)。先發(fā)送令牌包(CBW包),再發(fā)送數據包,若發(fā)送或接收正確,則返回握手包.一次事務(wù)傳送成功。在事務(wù)傳送過(guò)程中,DATAO和DATAl是交替使用的。圖6給出一般傳輸流程。

3.3 速度分析
塊傳輸適合傳輸大量且對傳輸時(shí)間和傳輸速率均無(wú)要求的數據。當USB總線(xiàn)帶寬緊張時(shí),它會(huì )為其他傳輸類(lèi)型讓出所占用的幀/小幀時(shí)間,而其本身將被延遲,這時(shí)傳輸速率很低,占用的傳輸時(shí)間也很長(cháng);當USB總線(xiàn)空閑時(shí),它能以很快的速度傳輸,其傳輸時(shí)間也很短。所以塊傳輸可發(fā)送大量的數據而不會(huì )堵塞USB總線(xiàn),但其傳輸時(shí)間和傳輸速率卻得不到保證。另外,影響傳輸速度的因素很多,如指令讀取時(shí)間、執行時(shí)間,主機響應時(shí)間及數據傳輸時(shí)間等,但因采用了功能強大的DSP,其頻率配置為200 MHz。因此,能大大提高指令讀取執行和主機的相應時(shí)間。對存儲速度進(jìn)行了仿真測試,其結果表明基本達到了設計要求。


4 結語(yǔ)
使用USB主機接口控制器SL811HS實(shí)現了對U盤(pán)的讀寫(xiě),大大降低了系統硬件設計的復雜度和系統調試的難度。同時(shí)提高了系統的集成度和穩定性,減小了系統的體積和功耗。若采用諸如FIFO類(lèi)提高傳輸速度的措施.可為數據采集系統存儲大容量數據提供一種通用、方便和可靠的解決方案。若采用支持USB2.0協(xié)議的器件,可大大提高傳輸速度.為數據分析提供有利手段。在野外采集數據時(shí)。該技術(shù)能盡量存儲所需的信息,因此它的應用前景十分看好。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>