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