<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è) > 手機與無(wú)線(xiàn)通信 > 設計應用 > 適于底層協(xié)議棧開(kāi)發(fā)的數據采集與仿真系統

適于底層協(xié)議棧開(kāi)發(fā)的數據采集與仿真系統

作者: 時(shí)間:2010-05-07 來(lái)源:網(wǎng)絡(luò ) 收藏
隨著(zhù)軟件無(wú)線(xiàn)電思想與技術(shù)的發(fā)展,現代數字通信中,越來(lái)越多地使用DSP等處理器結合高速AD、DA轉換器進(jìn)行OSI 7層通信體系模型中物理層(信號的調制、解調)和數據鏈路層(信道編、解碼)部分的數據處理工作。近年來(lái),處理理論發(fā)展迅猛,處理器工作頻率及能力不斷提高,數字通信中越來(lái)越多的工作能夠通過(guò)DSP來(lái)完成,因而DSP本身的程序結構也越來(lái)越復雜。由于通信信號(尤其是無(wú)線(xiàn)通信)本身具有很強的實(shí)時(shí)性、隨機性的特點(diǎn),造成DSP的輸入數據缺乏規律性,一閃即逝,從而導致相應的處理程序出現了問(wèn)題不易復現,且問(wèn)題難于追蹤、捕捉,這就給DSP的程序設計與調試帶來(lái)了較大困難。針對這一問(wèn)題,本文根據一般通信棧的數據處理方法,設計了一套適合于對棧進(jìn)行和調試的,以達到追蹤、再現問(wèn)題并查找程序缺陷的目的。
1 系統
系統主要完成從正在工作中的通信終端中采集數據的任務(wù)。
1.1 采集點(diǎn)的選擇
整個(gè)通信系統中有多個(gè)數據采集切入點(diǎn)可選,可以對中頻信號直接采樣,也可以對基帶信號采樣,還可以通過(guò)模擬系統中的AD數據接收時(shí)序,直接接收AD輸出數據。但前兩種采集點(diǎn)不能確保采集到的信號數據與DSP輸入數據完全一致,而模擬AD數據時(shí)序的方式則可能影響DSP與AD之間的主從關(guān)系,影響DSP棧的正常運行,而且各種外部中斷的采集也比較困難。因而最為穩妥的方式是DSP通過(guò)數據總線(xiàn)輸出其接收到的數據。這種方法的缺點(diǎn)是需要占用DSP少量資源,但這與協(xié)議棧運行相比,完全可以忽略不計,不計不會(huì )影響協(xié)議棧本身的運行。
1.2 硬件連接
參考文獻[1]對各種數據采集系統進(jìn)行了分析比較,并指出USB總線(xiàn)為數據采集卡與PC機較理想的接口,因此選用CY68013A作為USB接口芯片。采用1片FPGA進(jìn)行DSP與CY68013A之間數據格式的轉換,CY68013A固件程序存放在E2PROM中,通過(guò)I2C總線(xiàn)連接,連接方式如圖1所示。

本文引用地址:http://dyxdggzs.com/article/157453.htm

其中,DSP除了輸出16位數據總線(xiàn)之外,還引出7位地址線(xiàn)(A0~A6),用以區分不同的數據類(lèi)型。FPGA須將DSP外部總線(xiàn)輸出的數據格式轉換為CY68013A外部GPIF可兼容的格式。
1.3 FPGA程序設計
CY68013A外部GPIF端口可作為數據輸入端口的僅有16位(FD0~FD15),而DSP輸出的信息數據一共有23位(16位數據線(xiàn)D0~D15和7位地址線(xiàn)A0~A6),故而需要將多出的7位地址信息嵌入到數據中去。將1個(gè)16位數據拆分成2個(gè),每個(gè)數據中的低8位(FD0~FD7)用于存儲原數據信息(D0~D7或D8~D15),高7位(FD8~FD14)存放地址類(lèi)型信息(A0~A6),最高位(FD15)用于標識當前數據中FD0~FD7是原數據的D0~D7或是D8~D15,具體格式如圖2(b)所示。CY68013A GPIF端口使用內部48 MHz時(shí)鐘,根據參考文獻[2],每個(gè)GPIF信號周期為20.83 ns,二者時(shí)鐘不同步,FPGA為了與高速設備兼容,需要使用更高的時(shí)鐘源。因此,為了保證GPIF能夠采集到RDY信號,FPGA輸出的信號至少需要保持1.5個(gè)GPIF信號周期。GPIF每次從外部讀取數據存入FIFO需要6個(gè)狀態(tài),故而每個(gè)輸出數據間隔應大于6個(gè)GPIF信號周期。以TI公司C55系列DSP為例,主頻時(shí)鐘144 MHz,與FPGA連接的為EMIFS外部總線(xiàn),則FPGA轉換信號時(shí)序如圖2所示。其中,圖2(a)為DSP EMIFS輸出時(shí)序, 圖2(b)為經(jīng)FPGA轉換后的CY68013A GPIF輸入時(shí)序及數據格式。

考慮到DSP輸出數據時(shí)鐘可能較CY68013A GPIF采集時(shí)鐘快,因而FPGA需要設計內置的FIFO存儲器,用于緩存DSP輸出的數據。
1.4 USB固件設計
由于CY68013A內置的8051內核時(shí)鐘周期較慢,不高速傳輸,因而采集程序中僅使用8051進(jìn)行初始化配置,而不干預數據傳輸過(guò)程。CY68013A通過(guò)外部GPIF讀取數據存入FIFO中,FIFO滿(mǎn)時(shí)通過(guò)USB傳入PC機。采用Cypress公司提供的通用程序框架以及圖形化GPIF設計工具,參照圖2(b)的時(shí)序,編輯GPIF波形。USB總線(xiàn)選擇傳輸大量數據時(shí)比較常用的Bulk傳輸模式,硬件配置程序采用Cypress公司提供的程序模板,參考文獻[3]對該模板進(jìn)行了詳細說(shuō)明,這里不再贅述,程序框架與參考文獻[4、5]類(lèi)似。
1.5 PC機接收程序
USB接口驅動(dòng)程序可直接使用Cypress公司提供的ez-usb驅動(dòng)。由于ez-usb驅動(dòng)沒(méi)有提供高級的文件操作IO方式,因而需要調用比較的DeviceIoControl函數來(lái)處理??紤]到Bulk傳輸方式完全是由主機端(PC機)發(fā)起讀操作,從機端(采集板)只能被動(dòng)地等待,而當CY68013A內置的FIFO寫(xiě)滿(mǎn)之后,如果主機不能及時(shí)地發(fā)起讀操作,則FIFO不再接收數據寫(xiě)入操作,因而會(huì )有少量的數據丟失。對于底層協(xié)議棧調試,這種少量的數據丟失可能引起程序流程錯誤,是不能接受的。因此PC機端接收程序應采用多線(xiàn)程處理方式,將接收USB數據的工作列為單獨的線(xiàn)程,并將其優(yōu)先級設置為實(shí)時(shí)性最高的THREAD_PRIORITY_TIME_CRITICAL,防止接收數據過(guò)程被系統中其他進(jìn)程打斷,以確保每次讀操作能夠及時(shí)發(fā)出。同時(shí)也要保證負責數據采集的PC機操作系統中同時(shí)運行的進(jìn)程盡量少,關(guān)掉不必要的后臺進(jìn)程。
PC機接收到的數據先存入臨時(shí)文件中,以備后續解析、程序使用。臨時(shí)文件以字(16 bit)為單位存儲,每個(gè)數據用2個(gè)字來(lái)表示,低字節在前,與FPGA轉換后的數據格式一致,如表1所示。

2 系統
仿真系統使用采集系統采集到的數據,再現通信終端中的協(xié)議棧運行狀態(tài),便于者隨時(shí)檢查程序錯誤,對程序進(jìn)行調試。
2.1 系統框架
要想再現底層協(xié)議棧運行狀態(tài),除了保證協(xié)議棧整體輸入、輸出一致外,最大的難度在于系統的定時(shí),要能夠準確再現各種事件的發(fā)生時(shí)刻?;谲浖o(wú)線(xiàn)電技術(shù)的數字通信系統大都采用過(guò)采樣方式,AD/DA速率都比較高而且穩定,因而底層協(xié)議棧也大多以AD/DA的輸入、輸出中斷作為系統定時(shí)。當通信終端作為接收機時(shí),底層協(xié)議棧需要以AD采樣數據作為其他部分(信道估計與均衡、解調、信道解碼等)的驅動(dòng)數據;作為發(fā)射機時(shí),DA輸出數據是底層協(xié)議棧的最終輸出結果,需要仿真程序進(jìn)行驗證。故而仿真程序可以采用AD/DA中斷來(lái)劃分程序運行的最小時(shí)間片,其他各種事件的發(fā)生都通過(guò)中斷個(gè)數來(lái)計時(shí),仿真程序通過(guò)判斷AD/DA數據的個(gè)數調用各程序函數來(lái)再現底層協(xié)議棧運行狀況及數據流向。這樣就可以在不增加開(kāi)銷(xiāo)的情況下,盡最大可能保證仿真程序與實(shí)際DSP中運行的協(xié)議棧一致,方便再現問(wèn)題。


上一頁(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>