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