一種基于寬口sram存儲(chǔ)的高速ad數(shù)據(jù)pxi總線傳輸解析方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及數(shù)字信號(hào)處理領(lǐng)域,特別涉及一種基于寬口 SRAM存儲(chǔ)的高速AD數(shù)據(jù) PXI總線傳輸解析方法。
【背景技術(shù)】
[0002] 在低速采樣情況下,由于采樣速率不高,只需使用適合采樣寬度的SRAM進(jìn)行存儲(chǔ) 設(shè)計(jì)即可,通常并不需要寬口 SRAM來進(jìn)行存儲(chǔ)實(shí)現(xiàn),所以SRAM的數(shù)據(jù)傳輸解析也相對(duì)容易 的多。
[0003] 而在高速采樣情況下,由于采樣率通常均以GSps或以上進(jìn)行取樣,后端SRAM的工 作速率很難達(dá)到與之匹配的要求,所以為了實(shí)現(xiàn)實(shí)時(shí)存儲(chǔ),必須以降低速率、擴(kuò)展接口寬度 的方式來進(jìn)行處理,存儲(chǔ)接口寬度的擴(kuò)展使得其與傳輸總線之間的匹配問題復(fù)雜化。
[0004] 在現(xiàn)有技術(shù)中,在速率匹配方面,有使用不同SRAM讀寫時(shí)鐘的方法來處理PXI總 線與SRAM讀寫速率匹配問題的解決方案,采取SRAM寫時(shí)鐘與高速AD采樣進(jìn)行匹配設(shè)計(jì), SRAM讀時(shí)鐘與PXI總線速率進(jìn)行匹配設(shè)計(jì),從而來協(xié)調(diào)存儲(chǔ)傳輸?shù)倪^程,但該方法對(duì)于 SRAM存在兩種操作時(shí)鐘,增加了 SRAM時(shí)序控制的復(fù)雜性和存儲(chǔ)實(shí)施過程的風(fēng)險(xiǎn)性,不利于 FPGA進(jìn)行邏輯控制的穩(wěn)定性設(shè)計(jì)。
[0005] 在數(shù)據(jù)寬度匹配傳輸方面,由于SRAM接口寬度寬于總線接口寬度,如多片并聯(lián)使 用,則往往達(dá)到十幾倍或幾十倍的倍差關(guān)系,由于總線不能夠一次取走一次SRAM讀取所讀 出的數(shù)據(jù),往往需要FPGA里內(nèi)部做計(jì)數(shù)邏輯判斷處理進(jìn)行分次傳輸,此種方式不但增加了 FPGA邏輯流程,還使得總線傳輸效率降低,不能以連續(xù)地址方式進(jìn)行直接數(shù)據(jù)讀取,增加了 PXI總線讀取操作次數(shù),延長(zhǎng)了讀取總時(shí)間,尤其對(duì)于大容量數(shù)據(jù)讀取時(shí),耗費(fèi)的時(shí)間將直 接影響主控計(jì)算機(jī)處理的速率和顯示更新的速率。
【發(fā)明內(nèi)容】
[0006] 為解決上述現(xiàn)有技術(shù)的不足,本發(fā)明提出一種基于寬口 SRAM存儲(chǔ)的高速AD數(shù)據(jù) PXI總線傳輸解析方法。
[0007] 本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的:
[0008] -種基于寬口 SRAM存儲(chǔ)的高速AD數(shù)據(jù)PXI總線傳輸解析方法,包括以下步驟:
[0009] 步驟⑴:對(duì)于已經(jīng)存入SRAM中的N次高速AD采樣數(shù)據(jù)的PXI總線讀取傳輸解 析過程,首先需依據(jù)SRAM數(shù)據(jù)總接口寬度K 1、高速AD采樣量化位寬K2、PXI總線數(shù)據(jù)接口 寬度K3、SRAM地址總線寬度W 2來確定PXI地址總線譯碼組成和PXI總線從SRAM中讀取N 次高速AD采樣數(shù)據(jù)所實(shí)際需進(jìn)行的讀取次數(shù)NL ;
[0010] 步驟(2) :PXI總線實(shí)際需進(jìn)行讀取操作的次數(shù)NL確定后,則上位機(jī)主控單元通過 PXI總線從已設(shè)定好的基地址開始,進(jìn)行NL次連續(xù)遍歷取數(shù),依次獲取NL個(gè)K3位寬的數(shù)據(jù) 數(shù)組X tc;
[0011] 步驟(3):判斷數(shù)據(jù)數(shù)組Xi是否需進(jìn)行無用數(shù)據(jù)的剔除處理,是則對(duì)XJi行無用 數(shù)據(jù)剔除處理,并得到N 5個(gè)含有有用AD數(shù)據(jù)的PXI讀取的SRAM新數(shù)據(jù)數(shù)組X u否則將數(shù) 據(jù)數(shù)組Xi直接賦值給數(shù)據(jù)數(shù)組X ^
[0012] 步驟(4):對(duì)數(shù)據(jù)數(shù)組&進(jìn)行AD數(shù)據(jù)的分離處理,得到從SRAM中讀取的N個(gè)高速 AD采樣數(shù)據(jù)數(shù)組X,X數(shù)據(jù)傳給下一個(gè)流程進(jìn)行其他信號(hào)分析處理,并返回步驟(1),等待下 一批數(shù)據(jù)的傳輸解析處理。
[0013] 可選地,所述步驟(1)中,所述的PXI地址總線譯碼為由SRAM地址空間尋址地址 段和地址選通控制地址段組成;
[0014] 其中,SRAM地址空間尋址地址段位寬為W2,由SRAM器件的地址總線寬度來決定, 該段內(nèi)地址總線在FPGA中與SRAM地址總線對(duì)接;地址選通控制地址段位寬為W 1;PXI地址 總線的低W1-I位到0位定義為地址選通控制地址段,PXI地址總線的WdW 1-I位到W1位定 義為SRAM地址空間尋址地址段。
[0015] 可選地,所述的地址選通控制地址段位寬W1的確定方法為:其需滿足如下關(guān)系:
[0016] 其中,N1定義為一次SRAM讀取數(shù)據(jù)包含的完整AD采樣數(shù)據(jù)的最大個(gè)數(shù),N 2定義 為一次PXI總線讀取數(shù)據(jù)最大包含的完整AD采樣數(shù)據(jù)個(gè)數(shù);
[0017] 其中,
的值設(shè)為N3,表示一次SRAM讀取數(shù)據(jù)通過PXI總線進(jìn)行傳輸所需的次 數(shù)A1 % N2的值設(shè)為N 4,若N4大于0,表示最后一次讀取的AD數(shù)據(jù)個(gè)數(shù)少于N 2。
[0018] 可選地,所述的一次SRAM讀取數(shù)據(jù)包含的完整AD采樣數(shù)據(jù)的最大個(gè)數(shù)N1的確定 方法為1與K 2比值的最大正整數(shù)取值
,所讀的一次SRAM數(shù)據(jù)中AD數(shù)據(jù)以采 樣順序由低到高排列。
[0019] 可選地,所述的N1的確定方法中,當(dāng)K占 K 2比值為整數(shù)時(shí),SRAM存儲(chǔ)資源實(shí)現(xiàn)AD 數(shù)據(jù)存儲(chǔ)的最大利用率。
[0020] 可選地,所述的一次PXI總線讀取數(shù)據(jù)最太包含的完整AD采樣數(shù)據(jù)個(gè)數(shù)N2的確 定方法為1( 3與K 2比值的最大正整數(shù)取值:
[0021] 可選地,所述的隊(duì)的確定方法中,當(dāng)1(3與1(2比值為整數(shù)時(shí),PXI數(shù)據(jù)總線接口實(shí)現(xiàn) AD數(shù)據(jù)傳輸?shù)淖畲罄寐省?br>[0022] 可選地,所述的W1的確定方法中,當(dāng)N3等于0時(shí),地址選通控制地址段對(duì)AD數(shù)據(jù) 的選通編碼實(shí)現(xiàn)最大利用率。
[0023] 可選地,所述的W1的確定方法中,當(dāng)N 3等于0時(shí),且N4等于0時(shí),PXI總線實(shí)現(xiàn)AD 數(shù)據(jù)傳輸?shù)男首畲蠡?br>[0024] 可選地,所述步驟⑴中,所述的PXI總線從SRAM中讀取N次高速AD采樣數(shù)據(jù)所 實(shí)際需進(jìn)行的讀取次數(shù)NL的確定方法為
[0025]
的值設(shè)為N5,用于計(jì)算N次AD采樣數(shù)據(jù)讀取所需的PXI操作 次數(shù)
用于計(jì)算N次AD采樣數(shù)據(jù)連續(xù)讀取中由于地址選通控制地址段編碼 數(shù)大于N3時(shí)需多做的PXI總線無用數(shù)據(jù)的操作次數(shù)。
[0026] 可選地,所述步驟(2)中,所述的NL次連續(xù)遍歷取數(shù)操作,包括以下步驟:
[0027] 步驟(21):設(shè)連續(xù)遍歷取數(shù)的計(jì)數(shù)量為I,初始化值為0 ;
[0028] 步驟(22):由PXI總線基地址和計(jì)數(shù)量I相加得到PXI總線地址,PXI總線發(fā)起讀 數(shù)請(qǐng)求;
[0029] 步驟(23) :FPGA在收到讀數(shù)請(qǐng)求后,依據(jù)SRAM地址空間尋址地址對(duì)SRAM進(jìn)行取 數(shù),然后依據(jù)地址選通控制地址進(jìn)行判斷,并將當(dāng)前SRAM數(shù)據(jù)中相應(yīng)選通的AD數(shù)據(jù)送給 PXI數(shù)據(jù)總線;
[0030] 步驟(24):主控單元接收到數(shù)據(jù)總線K3位寬的數(shù)據(jù),并賦值給數(shù)據(jù)數(shù)組Xi的以I 索引的數(shù)值,計(jì)數(shù)量I加1 ;
[0031] 步驟(25):判斷計(jì)數(shù)量I是否等于NL,是則表示NL次取數(shù)完畢,等待進(jìn)行AD數(shù)據(jù) 解析流程,否則返回步驟(22)。
[0032] 可選地,所述步驟(23)中,所述的依據(jù)地址選通控制地址進(jìn)行判斷并將當(dāng)前SRAM 讀取數(shù)據(jù)中相應(yīng)選通的AD數(shù)據(jù)送給PXI數(shù)據(jù)總線的處理方法為:
[0033] 計(jì)W1位寬的選通控制地址位值為E,當(dāng)E < N 3_1時(shí),將SRAM所讀數(shù)據(jù)包含的第 EXNjIj (E+l) XN2-I個(gè)AD數(shù)據(jù)以一定順序共同賦值給PXI數(shù)據(jù)總線;當(dāng)E== (N3-I)時(shí), 如N4等于0,則將SRAM所讀數(shù)據(jù)包含的第E X N 2到(E+l) X N 2-1個(gè)AD數(shù)據(jù)以一定順序共同 賦值給PXI數(shù)據(jù)總線,若N4不等于0,則將SRAM所讀數(shù)據(jù)包含的第EXN 2到EXN 2+Ν4-1個(gè) AD數(shù)據(jù)以一定順序共同賦值給PXI數(shù)據(jù)總線;若% < A ,則給PXI總線數(shù)據(jù)送0處 理。
[0034] 可選地,所述的AD數(shù)據(jù)以一定順序共同賦值給PXI數(shù)據(jù)總線的賦值方法為:第 EXN2A AD數(shù)據(jù)賦值給PXI數(shù)據(jù)總線的第K 2-1位到第0位,EX N2+l個(gè)AD數(shù)據(jù)賦值給PXI 數(shù)據(jù)總線的第2XK2-1位到第1(2位,依此類推,第(E+l) XN 2-1個(gè)AD數(shù)據(jù)賦值給PXI數(shù)據(jù) 總線的第N2XK2-I位到第(N 2-I) X 1(2位,若PXI數(shù)據(jù)總線第N2XK2位及以上還有余位,則余 位補(bǔ)零處理或不處理;若N 4不等于0,則當(dāng)E等于(N 3-1)時(shí),賦值完第EXN2+N4-1個(gè)AD數(shù) 據(jù)后,PXI數(shù)據(jù)總線的剩余高位補(bǔ)零處理或不處理。
[0035] 可選地,所述的W1位寬的選通控制地址位值E的確定方法為:
;其中上標(biāo)H表示選通地址相應(yīng)位下的二進(jìn)制值。
[0036] 可選地,所述步驟(3)中,所述的是否進(jìn)行無用數(shù)據(jù)剔除處理的依據(jù)為:N3是否等 于%,是則說明W 1位寬的地址選通控制地址段編碼選通的地址正好和一次SRAM讀取數(shù)據(jù) 通過PXI總線進(jìn)行傳輸所