基于TMS320C6713控制的USB數(shù)據(jù)存儲(chǔ)系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
全球定位系統(tǒng)(Global Positioning System,簡(jiǎn)稱GPS)的反射信號(hào)(GPS—R)接收機(jī)根據(jù)海面的反射信號(hào),結(jié)合電波對(duì)海面、海浪的散射理論,可獲得海面平均高度、浪高、海面風(fēng)力等信息,還可監(jiān)測(cè)和分析高緯地區(qū)的冰層厚度、海洋鹽度等參數(shù),因此,GPS-R是近十多年來(lái)迅速發(fā)展的一種空基海洋遙感技術(shù),具有廣泛的應(yīng)用前景。在設(shè)計(jì)GPS-R接收機(jī)時(shí),為了減少重量.在機(jī)載和星載條件下不允許有顯示設(shè)備,而高緯地區(qū)一20℃的溫度會(huì)使液晶顯示器失效,這些都要求將采集、壓縮后的數(shù)據(jù)存儲(chǔ)到U盤或硬盤中,并帶回基站進(jìn)一步處理。
Texas Instruments(簡(jiǎn)稱TI)公司的DSP具有高速運(yùn)算性能,在數(shù)據(jù)采集與處理、工業(yè)控制和語(yǔ)音、圖像通信等領(lǐng)域有著廣泛的應(yīng)用。通用串行總線(Universal Serial Bus,簡(jiǎn)稱USB)是一種新型接口技術(shù),具有設(shè)備自動(dòng)識(shí)別功能,可自動(dòng)安裝驅(qū)動(dòng)程序和配置,可支持不同速率的同步和異步傳輸方式,且接口體積小巧,可支持熱插拔和即插即用等優(yōu)點(diǎn),因而得到廣泛應(yīng)用。由USB規(guī)范可以看到,在USB的拓樸中居于核心地位的是計(jì)算機(jī)主機(jī),每一次的數(shù)據(jù)傳輸都必須由主機(jī)控制。但是,隨著DSP應(yīng)用領(lǐng)域的日益發(fā)展,USB外設(shè)的應(yīng)用范圍也隨之?dāng)U大,因此迫切需要實(shí)現(xiàn)DSP對(duì)USB的外設(shè)控制。為此介紹了TMS320C6713的基本特點(diǎn)及USB嵌入式主控制器SL811HS的基本結(jié)構(gòu)和性能,給出USB存儲(chǔ)系統(tǒng)的硬件連接圖和軟件設(shè)計(jì)方案。利用TMS320C6713的外設(shè)資源,系統(tǒng)實(shí)現(xiàn)與SL8lHS的連接,而且系統(tǒng)穩(wěn)定性高。
2 硬件設(shè)計(jì)
2.1 主要器件介紹
TMS320C6000系列是TI公司推出的運(yùn)算能力最強(qiáng)的處理器,它采用了VLIW的體系結(jié)構(gòu)及流水線技術(shù),具有兩級(jí)cache緩存結(jié)構(gòu),而且運(yùn)行速度快,精度高。TMS320C6713是該系列的32位浮點(diǎn)DSP,其最高工作主頻可達(dá)300 MHz,處理速度高達(dá)2 400 MI/s,片上共有264 KBx8位存儲(chǔ)器,其中含有4 KBx8位L1Pcache,4:KBx8位L1Dcache和256 KBx8位L2RAM/cache:片上外設(shè)資源豐富,其中含有兩個(gè)McBSP、兩個(gè)McASP、兩組:I2C總線、一組GPIO、兩個(gè)32位通用定時(shí)器、一個(gè)16位主機(jī)接口HPI。此外,TMS320C6713還有32位的EMIF總線,分為4個(gè)存儲(chǔ)空間(CE0~CE3),每個(gè)存儲(chǔ)空間的尋址范圍為256 M字節(jié),可訪問(wèn)8位、16位或32位數(shù)據(jù)寬度,每個(gè)空間均可與SDRAM,SBSRAM及異步外設(shè)實(shí)現(xiàn)無(wú)縫接口。
設(shè)計(jì)中,采用EMIF總線控制SL811HS。該器件是Cypress公司推出的遵循USBl.1規(guī)范的具有主/從兩種工作模式的USB控制器,支持微處理器、微控制器或DSP的USB接口設(shè)計(jì),可按DSP的要求自動(dòng)將數(shù)據(jù)整合為USB協(xié)議數(shù)據(jù)包傳輸?shù)臄?shù)據(jù)。其特點(diǎn)是:①基于內(nèi)部集成的全/低速傳輸引擎(SIE)所產(chǎn)生的USB串行接口功能,可自動(dòng)檢測(cè)總線速率.支持全速12 Mb/s和低速1.5 Mb/s設(shè)備;②具有8位雙向數(shù)據(jù)總線,能較為簡(jiǎn)單地與DSP連接。片內(nèi)256字節(jié)的SRAM用于數(shù)據(jù)傳輸和支持乒乓操作,其中16字節(jié)用于工作寄存器;③自動(dòng)產(chǎn)生SOF和CRC5/16,簡(jiǎn)化軟件工作量;④在完成傳輸事務(wù)或有外部設(shè)備接入時(shí)中斷寄存器觸發(fā)中斷,通過(guò)寫入中斷寄存器可清除中斷;⑤為提高電路的穩(wěn)定性,時(shí)鐘發(fā)生器外接48 MHz晶體振蕩器,其工作電源為3.3 V,接口可承受5 V的工作電壓,并可與多種器件相連。
圖1給出SL811HS的原理框圖。與目前的ARM+內(nèi)嵌USB、FPGA+操作系統(tǒng)+內(nèi)嵌USB接口相比,因它是由DSP控制的嵌入式主控制器,可以快速存儲(chǔ)數(shù)據(jù),能最大限度地利用DSP的外設(shè)資源,適合非PC設(shè)備的應(yīng)用。
2.2 系統(tǒng)硬件接口設(shè)計(jì)
設(shè)計(jì)中使用TMS320C6713控制SL811HS存儲(chǔ)數(shù)據(jù)。圖2給出其總體硬件框圖。其中,電源部分可產(chǎn)生3.3 V和5 V電壓:數(shù)據(jù)采集部分采集數(shù)據(jù),然后將數(shù)據(jù)送至TMS320C6713進(jìn)行相應(yīng)的算法處理。Flash ROM器件采用SST39IF800A,將初始化、算法和控制程序燒寫到ROM內(nèi),上電后即可初始化CSL和各寄存器。采用HY57V641620HGT一7作為SDRAM,用于暫存經(jīng)過(guò)處理壓縮后的數(shù)據(jù)。
圖3給出SL811HS與TMS320C6713的硬件連接原理圖。使用EMIF總線中第2個(gè)存儲(chǔ)空間CEl,其數(shù)據(jù)總線低8位EDO~ED7與DO~D7相連;EA2與A0相連;讀寫信號(hào)、復(fù)位信號(hào)及中斷信號(hào)與TMS320C6713相應(yīng)的信號(hào)位相連,其中SL81lHS外接48 MHz晶體振蕩器。
[!--empirenews.page--]
圖4給出TMS320C6713存儲(chǔ)空間分配表。由圖4可知,存儲(chǔ)空間CEl的地址范圍是0x90000000~0xA0000000,因此可設(shè)定TMS320C6713地址總線經(jīng)CPLD相關(guān)編碼后SL811HS的片選地址是0x90080006,HOST USB數(shù)據(jù)寄存器的存儲(chǔ)空間為0x90080006。地址寄存器為0x90080007。
3 軟件設(shè)計(jì)
軟件設(shè)計(jì)含有初始化和驅(qū)動(dòng)兩部分程序。前者用于完成芯片支持庫(kù)(Chip Support Library,簡(jiǎn)稱CSL)提供的標(biāo)準(zhǔn)方法.以訪問(wèn)和控制片上外設(shè)設(shè)備的初始化、軟件變量的初始化及使能中斷(總中斷、NMI中斷)等。TMS320C6713控制SL811HS對(duì)U盤操作的軟件設(shè)計(jì)分為:①針對(duì)SL811HS編寫USB主機(jī)控制器驅(qū)動(dòng)程序;②系統(tǒng)調(diào)用驅(qū)動(dòng)程序,以完成U盤數(shù)據(jù)讀寫的應(yīng)用程序。
3.1 USB設(shè)備的配置
在設(shè)備檢測(cè)階段,SL8llHS通過(guò)讀取中斷狀態(tài)寄存器判斷中斷類型。當(dāng)中斷類型為檢測(cè)到設(shè)備插入時(shí)(U盤插入U(xiǎn)SB插座會(huì)產(chǎn)生中斷),配置USB設(shè)備即U盤。同時(shí)還需使能SL811HS的1 ms SOF,以便進(jìn)行數(shù)據(jù)幀的同步。此時(shí),可通過(guò)setup結(jié)構(gòu)的數(shù)據(jù)包(8字節(jié))向USB設(shè)備的控制端點(diǎn)O(默認(rèn)控制端點(diǎn)和默認(rèn)地址)發(fā)送命令。
當(dāng)采用setup數(shù)據(jù)包配置U盤時(shí),需將U盤的地址寫入SL811HS的寄存器4;將數(shù)據(jù)包的類型和U盤的控制端點(diǎn)寫入SL811HS的寄存器3。U盤配置過(guò)程的主要流程如圖5所示。在U盤的配置過(guò)程完成后,主機(jī)與USB設(shè)備之間的通信必須使用設(shè)置的地址。默認(rèn)地址0不再有效,傳輸端點(diǎn)則為讀取配置描述符中所定義的端點(diǎn)號(hào)。
3.2 傳輸流程設(shè)計(jì)
在與U盤之間傳輸大量數(shù)據(jù)時(shí),需要利用描述符提供的In,OUt端點(diǎn)傳送數(shù)據(jù),并遵循Bulk—Only傳輸協(xié)議.其傳輸過(guò)程一般分為3個(gè)階段。
根據(jù)USB的協(xié)議規(guī)范,所有的傳輸都需由DSP啟動(dòng).即TMS320C6713首先向設(shè)備的OUT端點(diǎn)發(fā)送一命令(CBW數(shù)據(jù)包),請(qǐng)求傳輸,在數(shù)據(jù)包中設(shè)定下一步的數(shù)據(jù)傳輸方向。若為設(shè)備到TMS320C6713,則當(dāng)CBW發(fā)送成功后,從設(shè)備的IN端點(diǎn)讀取CBW中規(guī)定長(zhǎng)度的數(shù)據(jù);若為TMS320C6713到設(shè)備,則當(dāng)CBW發(fā)送成功后,向設(shè)備的0UT端點(diǎn)發(fā)送CBW中規(guī)定長(zhǎng)度的數(shù)據(jù)。
當(dāng)TMS320C6713與設(shè)備之間的數(shù)據(jù)傳輸完畢后,TMS320C6713還需從設(shè)備的IN端點(diǎn)讀取傳送狀態(tài),然后TMS320C6713根據(jù)接收的握手包(ACK,NAK,STALL等)即可判斷通信是否正常。若返回的結(jié)果有錯(cuò)誤,還需進(jìn)行相應(yīng)的出錯(cuò)處理。
U盤數(shù)據(jù)結(jié)構(gòu)包括DBR(系統(tǒng)引導(dǎo)記錄)、FAT表、文件目錄表(FDT)。當(dāng)寫一新文件時(shí),需在FAT表中查找未使用的簇,并將該簇號(hào)寫入文件所對(duì)應(yīng)目錄數(shù)據(jù)結(jié)構(gòu)中的起始簇號(hào)位置。當(dāng)該文件長(zhǎng)度大于一簇時(shí),還需在FAT表中對(duì)應(yīng)的起始簇號(hào)位置填入下一可用簇的簇號(hào),直到文件的最后一簇(FAT表中的相應(yīng)位置填FFFF)為止。若磁盤有備份FAT,還需在備份FAT表的相應(yīng)位置填入正確的內(nèi)容。
使用U盤的Bulk端點(diǎn)進(jìn)行數(shù)據(jù)傳輸,Bulk傳輸分為Bulk-In(TMS320C6713向外圍設(shè)備請(qǐng)求數(shù)據(jù))和Bulk-Out(TMS320C6713向外圍設(shè)備發(fā)送數(shù)據(jù))。先發(fā)送令牌包(CBW包),再發(fā)送數(shù)據(jù)包,若發(fā)送或接收正確,則返回握手包.一次事務(wù)傳送成功。在事務(wù)傳送過(guò)程中,DATAO和DATAl是交替使用的。圖6給出一般傳輸流程。
3.3 系統(tǒng)速度分析
塊傳輸適合傳輸大量且對(duì)傳輸時(shí)間和傳輸速率均無(wú)要求的數(shù)據(jù)。當(dāng)USB總線帶寬緊張時(shí),它會(huì)為其他傳輸類型讓出所占用的幀/小幀時(shí)間,而其本身將被延遲,這時(shí)傳輸速率很低,占用的傳輸時(shí)間也很長(zhǎng);當(dāng)USB總線空閑時(shí),它能以很快的速度傳輸,其傳輸時(shí)間也很短。所以塊傳輸可發(fā)送大量的數(shù)據(jù)而不會(huì)堵塞USB總線,但其傳輸時(shí)間和傳輸速率卻得不到保證。另外,影響傳輸速度的因素很多,如指令讀取時(shí)間、執(zhí)行時(shí)間,主機(jī)響應(yīng)時(shí)間及數(shù)據(jù)傳輸時(shí)間等,但因采用了功能強(qiáng)大的DSP,其頻率配置為200 MHz。因此,能大大提高指令讀取執(zhí)行和主機(jī)的相應(yīng)時(shí)間。對(duì)存儲(chǔ)速度進(jìn)行了仿真測(cè)試,其結(jié)果表明基本達(dá)到了設(shè)計(jì)要求。
4 結(jié)語(yǔ)
使用USB主機(jī)接口控制器SL811HS實(shí)現(xiàn)了對(duì)U盤的讀寫,大大降低了系統(tǒng)硬件設(shè)計(jì)的復(fù)雜度和系統(tǒng)調(diào)試的難度。同時(shí)提高了系統(tǒng)的集成度和穩(wěn)定性,減小了系統(tǒng)的體積和功耗。若采用諸如FIFO類提高傳輸速度的措施.可為數(shù)據(jù)采集系統(tǒng)存儲(chǔ)大容量數(shù)據(jù)提供一種通用、方便和可靠的解決方案。若采用支持USB2.0協(xié)議的器件,可大大提高傳輸速度.為數(shù)據(jù)分析提供有利手段。在野外采集數(shù)據(jù)時(shí)。該技術(shù)能盡量存儲(chǔ)所需的信息,因此它的應(yīng)用前景十分看好。