<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 手機(jī)與無線通信 > 設(shè)計(jì)應(yīng)用 > 適于底層協(xié)議棧開發(fā)的數(shù)據(jù)采集與仿真系統(tǒng)

          適于底層協(xié)議棧開發(fā)的數(shù)據(jù)采集與仿真系統(tǒng)

          作者: 時(shí)間:2010-05-07 來源:網(wǎng)絡(luò) 收藏

          2.2 輸出數(shù)據(jù)
          根據(jù)1.1節(jié)所選擇的點(diǎn),需在DSP的棧代碼中輸出時(shí)所用的數(shù)據(jù): (1)需要輸出的為前端AD/DA數(shù)據(jù),以及棧與上層棧之間的交互數(shù)據(jù),這是通信協(xié)議棧接收、發(fā)射信息時(shí)所需的輸入數(shù)據(jù)與最終的輸出結(jié)果; (2)其他外圍設(shè)備產(chǎn)生的中斷和輸入數(shù)據(jù)也會(huì)影響底層協(xié)議棧流程,是時(shí)所必須的部分;(3)底層協(xié)議棧各任務(wù)掛起、運(yùn)行、結(jié)束等狀態(tài)變化需要輸出,以保證程序運(yùn)行時(shí)刻與實(shí)際情況一致。另外,在2次AD/DA中斷之間會(huì)發(fā)生多次變化的全局變量也需要輸出,以彌補(bǔ)時(shí)間片劃分的不足。
          2.3 數(shù)據(jù)解析
          1.5節(jié)中所存儲(chǔ)的接收數(shù)據(jù)不方便直接用于仿真,需要進(jìn)行格式轉(zhuǎn)換。根據(jù)2.1節(jié)中所述框架,所有事件通過AD/DA數(shù)據(jù)計(jì)時(shí),故而除AD/DA數(shù)據(jù)外,其他類型數(shù)據(jù)需要記錄AD/DA數(shù)據(jù)個(gè)數(shù)信息,作為時(shí)間戳,因而可將所有數(shù)據(jù)分為兩大類:AD/DA數(shù)據(jù)和非AD/DA數(shù)據(jù)。為仿真方便,將這2種類型數(shù)據(jù)分別存放于2個(gè)文件中。在解析數(shù)據(jù)時(shí),需要將1.3小節(jié)中為了與CY68013A兼容而通過FPGA拆分開的2個(gè)16位數(shù)據(jù)重新合并為1個(gè),并將不同類型的數(shù)據(jù)分開。AD/DA數(shù)據(jù)一般長度固定,由AD/DA轉(zhuǎn)換器分辨率(位數(shù))而定,例如,AD/DA數(shù)據(jù)為16位,每次中斷輸出1個(gè)數(shù)據(jù),則解析后的數(shù)據(jù)格式如表2所示。

          本文引用地址:http://www.ex-cimer.com/article/157453.htm

            非AD/DA數(shù)據(jù)根據(jù)程序需求,長度不固定,可在協(xié)議棧程序輸出數(shù)據(jù)中包含長度信息,也可在接收程序與輸出程序中提前規(guī)定好數(shù)據(jù)長度。例如,非AD/DA數(shù)據(jù)以字為單位,數(shù)據(jù)長度為N,則解析后的數(shù)據(jù)格式如表3所示。

          由于底層協(xié)議棧需要兼顧外圍硬件控制,各種外部中斷比較多,很可能會(huì)打斷數(shù)據(jù)輸出,因而在解析數(shù)據(jù)時(shí),需要考慮各種數(shù)據(jù)之間的嵌套。為此,可以對(duì)每種數(shù)據(jù)采用單獨(dú)的緩沖區(qū),待解析到1條完整數(shù)據(jù)之后再存入文件中,同時(shí)還要保證文件中各種非AD/DA數(shù)據(jù)按照發(fā)生時(shí)間的先后順序排列。其流程如圖3所示。

          2.4 仿真
          仿真之前,首先要將運(yùn)行于DSP中的底層協(xié)議棧代碼轉(zhuǎn)換為PC機(jī)上可運(yùn)行的代碼,一般DSP大多采用C語言和匯編語言相結(jié)合的方式進(jìn)行,C代碼基本上不需要進(jìn)行大量修改,而匯編代碼需要根據(jù)其工作原理,轉(zhuǎn)譯成C代碼。系統(tǒng)仿真時(shí)采用2.3節(jié)中解析后的數(shù)據(jù)文件作為輸入,按照2.1節(jié)定義的仿真系統(tǒng)框架,以AD/DA數(shù)據(jù)為驅(qū)動(dòng),通過判斷非AD/DA數(shù)據(jù)的發(fā)生時(shí)刻(AD/DA數(shù)據(jù)計(jì)數(shù)值)來調(diào)動(dòng)底層協(xié)議棧各部分任務(wù)運(yùn)行,以達(dá)到再現(xiàn)協(xié)議棧運(yùn)行狀況、調(diào)試程序的目的。仿真流程如圖4所示。有些硬件操作需要底層協(xié)議??刂疲抡鏁r(shí)可以按照“[發(fā)生時(shí)間] 硬件操作內(nèi)容”的格式寫到文件中作為仿真程序的輸出。這樣通過查詢輸出文件,各種硬件操作的先后關(guān)系一目了然,更形象化,有利于發(fā)現(xiàn)硬件控制上的邏輯錯(cuò)誤。

          本文設(shè)計(jì)了一種專門用于底層協(xié)議棧與仿真系統(tǒng),利用USB高速傳輸特點(diǎn)以及物理連接的便利性,采用CY68013A進(jìn)行數(shù)據(jù)傳遞,充分利用其GPIF資源,使用FPGA進(jìn)行格式轉(zhuǎn)換。文中對(duì)仿真系統(tǒng)的整體框架和數(shù)據(jù)轉(zhuǎn)換細(xì)節(jié)進(jìn)行了詳細(xì)說明。該系統(tǒng)可用于各種類型協(xié)議棧調(diào)試,便于追蹤、再現(xiàn)問題。經(jīng)過實(shí)驗(yàn)驗(yàn)證,系統(tǒng)可承受100 Mb/s的實(shí)時(shí)數(shù)據(jù)流,在數(shù)字集群手持終端中進(jìn)行了廣泛應(yīng)用,不僅降低了協(xié)議棧的開發(fā)難度,而且縮短了開發(fā)周期,有很高的實(shí)用性。


          上一頁 1 2 下一頁

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();