一種應(yīng)用于串行總線分析儀器的波特率估計(jì)ip核系統(tǒng)的制作方法
【專利摘要】一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng),涉及測(cè)試儀器系統(tǒng)的串行總線波特率估計(jì)領(lǐng)域。本發(fā)明是為了解決現(xiàn)有的對(duì)波特率估計(jì)方法獲得波特率的準(zhǔn)確性差、可靠性差、精度低的問(wèn)題。本發(fā)明AXI8位內(nèi)存映射型從端口S8的串行總線數(shù)據(jù)信號(hào)輸出端連數(shù)據(jù)輸入緩沖FIFO模塊的串行總線數(shù)據(jù)信號(hào)輸入端,數(shù)據(jù)輸入緩沖FIFO模塊的串行總線數(shù)據(jù)信號(hào)輸出端連波特率估計(jì)算法核心控制模塊的串行總線數(shù)據(jù)信號(hào)輸入端,波特率估計(jì)算法核心控制模塊的串行總線數(shù)據(jù)信號(hào)輸出端連數(shù)據(jù)輸出緩沖FIFO模塊的串行總線數(shù)據(jù)信號(hào)輸入端,數(shù)據(jù)輸出緩沖FIFO模塊的數(shù)據(jù)信號(hào)輸出端連AXI8位內(nèi)存映射型主端口M8的數(shù)據(jù)信號(hào)輸入端。它用于獲得波特率。
【專利說(shuō)明】
-種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng)
技術(shù)領(lǐng)域
[0001] 本發(fā)明設(shè)及一種串行總線協(xié)議分析技術(shù),具體設(shè)及基于測(cè)試儀器系統(tǒng)的串行總線 波特率估計(jì)技術(shù)。
【背景技術(shù)】
[0002] 隨著現(xiàn)代測(cè)試儀器系統(tǒng)對(duì)串行總線協(xié)議分析的要求越來(lái)越高,波特率作為數(shù)字通 信中重要的參數(shù),波特率估計(jì)方法逐漸應(yīng)用于具有獨(dú)立時(shí)鐘線的串行總線協(xié)議分析設(shè)計(jì) 中。
[0003] 波特率估計(jì)是為了解決在現(xiàn)代數(shù)字通信中波特率作為未知參數(shù)問(wèn)題的技術(shù),根據(jù) 傳輸?shù)臄?shù)據(jù)信息估算出波特率。
[0004] 在現(xiàn)代的通信數(shù)據(jù)分析領(lǐng)域中,有很多波特率估計(jì)方法對(duì)波特率未知參數(shù)進(jìn)行估 算。由于運(yùn)些波特率估計(jì)方法主要用于非協(xié)作通信、自適應(yīng)通信等數(shù)字通信領(lǐng)域,在現(xiàn)代測(cè) 試儀器系統(tǒng)的串行總線協(xié)議分析領(lǐng)域上沒有系統(tǒng)理論的波特率估計(jì)方法。并且大部分波特 率估計(jì)方法的計(jì)算復(fù)雜,對(duì)于一些波特率估計(jì)方法,如果觀測(cè)數(shù)據(jù)長(zhǎng)度不夠時(shí),將會(huì)使得波 特率的估計(jì)精度達(dá)不到時(shí)鐘同步的要求。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明是為了解決現(xiàn)有的對(duì)波特率估計(jì)方法獲得波特率的準(zhǔn)確性差、可靠性差、 精度低的問(wèn)題?,F(xiàn)提供一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng)。
[0006] -種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng),它包括輸入接口控制模 塊、輸出接口控制模塊和波特率估計(jì)算法核屯、控制模塊,
[0007] 輸入接口控制模塊,用于接收來(lái)自測(cè)試儀器系統(tǒng)的串行總線數(shù)據(jù);
[000引波特率估計(jì)算法核屯、控制模塊,用于接收輸入接口控制模塊發(fā)送的串行總線上整 個(gè)時(shí)鐘線上的原始數(shù)據(jù)和接收上位機(jī)配置的闊值,進(jìn)行比較電平高低,從而獲得串行總線 數(shù)據(jù)的波特率;
[0009] 輸出接口控制模塊,用于接收波特率,將波特率發(fā)送給上位機(jī);
[0010] 輸入接口控制模塊包括AXI8位內(nèi)存映射型從端口 S8和數(shù)據(jù)輸入緩沖FIFO模塊,
[00川輸出接口控制模塊包括AXI8位內(nèi)存映射型主端口 M8和數(shù)據(jù)輸出緩沖FIFO模塊,
[0012] AXI8位內(nèi)存映射型從端口 S8的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸入緩沖FIFO 模塊的串行總線數(shù)據(jù)信號(hào)輸入端,
[0013] 數(shù)據(jù)輸入緩沖FIFO模塊的串行總線數(shù)據(jù)信號(hào)輸出端連接波特率估計(jì)算法核屯、控 制模塊的串行總線數(shù)據(jù)信號(hào)輸入端,
[0014] 波特率估計(jì)算法核屯、控制模塊的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸出緩沖 FIFO模塊的串行總線數(shù)據(jù)信號(hào)輸入端,
[00巧]數(shù)據(jù)輸出緩沖FIFO模塊3的數(shù)據(jù)信號(hào)輸出端連接AXI8位內(nèi)存映射型主端口 M8的數(shù) 據(jù)信號(hào)輸入端。
[0016] 本發(fā)明的有益效果為:采用由上位機(jī)軟件控制模塊、PCI Express接口模塊、AXI流 水橋和串行總線數(shù)據(jù)源模塊構(gòu)成的串行總線分析儀器對(duì)波特率估計(jì)IP核進(jìn)行波特率估計(jì),
[0017] 首先,由輸入接口控審臘塊采集串行總線數(shù)據(jù),將串行總線數(shù)據(jù)寫入到AXI8位內(nèi) 存映射型從端口,波特率估計(jì)算法核屯、控制模塊將寫入到AXI8位內(nèi)存映射型從端口的數(shù)據(jù) 進(jìn)行處理,算出波特率后,通過(guò)AXI8位內(nèi)存映射型主端口發(fā)送給數(shù)據(jù)輸出緩沖FIFO模塊,可 W根據(jù)I2C的時(shí)鐘線上的傳輸數(shù)據(jù)進(jìn)行波特率估計(jì)或者根據(jù)SPI的時(shí)鐘線上的傳輸數(shù)據(jù)進(jìn) 行波特率估計(jì)。通過(guò)該方式獲得的波特率同比現(xiàn)有方式獲得的波特率準(zhǔn)確性高6倍、可靠性 強(qiáng)6倍、精度高提高了 7倍。
【附圖說(shuō)明】
[0018] 圖1為【具體實(shí)施方式】一所述的波特率估計(jì)IP核的結(jié)構(gòu)示意圖;
[0019] 圖2為波特率估計(jì)算法的流程圖;
[0020] 圖3為波特率估計(jì)IP核與上位機(jī)和串行總線數(shù)據(jù)源模塊連接關(guān)系結(jié)構(gòu)圖。
【具體實(shí)施方式】
【具體實(shí)施方式】 [0021] 一:參照?qǐng)D1具體說(shuō)明本實(shí)施方式,本實(shí)施方式所述的一種應(yīng)用于串 行總線分析儀器的波特率估計(jì)IP核系統(tǒng),它包括輸入接口控制模塊、輸出接口控制模塊和 波特率估計(jì)算法核屯、控制模塊,
[0022] 輸入接口控制模塊,用于接收來(lái)自測(cè)試儀器系統(tǒng)的串行總線數(shù)據(jù);
[0023] 波特率估計(jì)算法核屯、控制模塊2,用于接收輸入接口控制模塊發(fā)送的串行總線上 整個(gè)時(shí)鐘線上的原始數(shù)據(jù)和接收上位機(jī)配置的闊值,進(jìn)行比較電平高低,從而獲得串行總 線數(shù)據(jù)的波特率;
[0024] 輸出接口控制模塊,用于接收波特率,將波特率發(fā)送給上位機(jī);
[0025] 輸入接口控制模塊包括AXI8位內(nèi)存映射型從端口 S8和數(shù)據(jù)輸入緩沖FIFO模塊,
[0026] 輸出接口控制模塊包括AXI8位內(nèi)存映射型主端口 M8和數(shù)據(jù)輸出緩沖FIFO模塊,
[0027] AXI8位內(nèi)存映射型從端口 S8的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸入緩沖FIFO 模塊1的串行總線數(shù)據(jù)信號(hào)輸入端,
[0028] 數(shù)據(jù)輸入緩沖FIFO模塊1的串行總線數(shù)據(jù)信號(hào)輸出端連接波特率估計(jì)算法核屯、控 制模塊2的串行總線數(shù)據(jù)信號(hào)輸入端,
[0029] 波特率估計(jì)算法核屯、控制模塊的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸出緩沖 FIFO模塊3的串行總線數(shù)據(jù)信號(hào)輸入端,
[0030] 數(shù)據(jù)輸出緩沖FIFO模塊的數(shù)據(jù)信號(hào)輸出端連接AXI8位內(nèi)存映射型主端口 M8的數(shù) 據(jù)信號(hào)輸入端。
[0031] 本實(shí)施方式中,輸入接口控制模塊中內(nèi)嵌一個(gè)AXI8位內(nèi)存映射型從端口和一個(gè)數(shù) 據(jù)輸入緩沖FIFO模塊,輸入接口模塊用于將寫入AXI8位內(nèi)存映射型從端口的數(shù)據(jù)取出并存 儲(chǔ)到數(shù)據(jù)輸入緩沖模塊中,數(shù)據(jù)輸入緩沖FIFO模塊用于從AXI8位內(nèi)存映射型從端口讀取數(shù) 據(jù)并發(fā)送給"波特率估計(jì)算法核屯、控制模塊。數(shù)據(jù)輸入緩沖FIFO模塊為整個(gè)IP核的跨時(shí)鐘 域處理提供了保障。
[0032] -種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核總體設(shè)計(jì)如圖1所示,圖中M8為 AXIS位內(nèi)存映射型主端口,S8為AXIS位內(nèi)存映射型從端口,波特率算法根據(jù)串行總線時(shí)鐘 線上的數(shù)據(jù)估算波特率。其中IP核對(duì)外的接口有兩個(gè):字符數(shù)據(jù)流輸入的AXI8位內(nèi)存映射 型從端口,用于將滿足觸發(fā)條件的數(shù)據(jù)流輸出的AXI8位內(nèi)存映射型主端口。
[0033 ]【具體實(shí)施方式】二:參照?qǐng)D2具體說(shuō)明本實(shí)施方式,本實(shí)施方式是對(duì)【具體實(shí)施方式】一 所述的一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng)作進(jìn)一步說(shuō)明,本實(shí)施方式 中,波特率估計(jì)算法核屯、控制模塊2,用于接收輸入接口控制模塊發(fā)送的串行總線上整個(gè)時(shí) 鐘線上的原始數(shù)據(jù)和接收上位機(jī)配置的闊值,進(jìn)行比較電平高低,從而獲得串行總線數(shù)據(jù) 的波特率的過(guò)程為:
[0034] 步驟一、接收輸入接口控制模塊發(fā)送的串行總線上整個(gè)時(shí)鐘線上的原始模擬數(shù) 據(jù),根據(jù)公式1將該原始模擬數(shù)據(jù)與在上位機(jī)上設(shè)置的闊值比較確定電平高低,
[0035]
[0036] 式中,XI代表數(shù)據(jù)電平,1代表高電平,0代表低電平,Datai代表采集到的模擬數(shù)據(jù), T虹eshold代表上位機(jī)上設(shè)置的闊值,Μ代表從串行總線采集到模擬數(shù)據(jù)長(zhǎng)度,i為正整數(shù);
[0037] 步驟二、根據(jù)步驟一獲得的電平狀態(tài)變化確定時(shí)鐘周期:時(shí)鐘周期由一段低電平 和一段高電平組成,時(shí)鐘線從空閑狀態(tài)進(jìn)入工作狀態(tài)后,從工作狀態(tài)中的第二個(gè)周期開始 獲得波特率,根據(jù)公式:
[003 引 BaudRate 化)=SampRate/(Count_Hk+Count_Lk)公式 2,
[0039] 獲得串行總線數(shù)據(jù)的波特率,
[0040] 式中,BaudRate化),化> 2)代表在第k個(gè)周期算出的波特率,SampRate代表采集數(shù) 據(jù)的采樣率,Countjlk代表第k個(gè)周期內(nèi)高電平數(shù)據(jù)的個(gè)數(shù),Count_Lk代表第k個(gè)周期內(nèi)低電 平數(shù)據(jù)的個(gè)數(shù);
[0041] 步驟Ξ、根據(jù)公式:
[0042]
[0043] 判斷是否連續(xù)兩個(gè)周期獲得的波特率相對(duì)誤差不超過(guò)百分之五,如果否,則執(zhí)行 步驟Ξ,如果是,則執(zhí)行步驟四;
[0044] 步驟四、根據(jù)公式:
[0045]
[0046] 獲得運(yùn)兩個(gè)連續(xù)周期的波特率的平均值BaudRate;
[0047] 步驟五、將步驟四獲得的兩個(gè)連續(xù)周期的波特率的平均值BaudRate發(fā)送給數(shù)據(jù)輸 出緩沖FIFO模塊3。
[0048] 本實(shí)施方式中,步驟二中為了提高估算波特率的準(zhǔn)確度,工作狀態(tài)中的第一個(gè)周 期不被用來(lái)估算波特率,從第二個(gè)周期開始估算;步驟Ξ中為了保證波特率估計(jì)的準(zhǔn)確性 與可靠性,在進(jìn)行波特率估計(jì)時(shí),設(shè)置一個(gè)條件:如果連續(xù)兩個(gè)周期估算的波特率相對(duì)誤差 不超過(guò)百分之五,即當(dāng)滿足
^件時(shí),則可W認(rèn)定波特率 為運(yùn)兩個(gè)連續(xù)周期估算出波特率的平均值。
【具體實(shí)施方式】 [0049] Ξ:本實(shí)施方式是對(duì)二所述的一種應(yīng)用于串行總線分 析儀器的波特率估計(jì)IP核系統(tǒng)作進(jìn)一步說(shuō)明,本實(shí)施方式中,串行總線為12C上的時(shí)鐘線或 者為SPI上的時(shí)鐘線。
[0050] 圖3中Cn為外部信號(hào)端,用于接收串行總線數(shù)據(jù),M8為AXI8位內(nèi)存映射型主端口, S8為AXI8位內(nèi)存映射型從端口,M32為PCIe32位內(nèi)存映射型主端口,S32為PCIe32位內(nèi)存映 射型從端口,可編程邏輯器件采用帶有PCI Express硬核的忍片。
[(K)引]PCI Express接口模塊將PCI Express總線與AXI總線進(jìn)行相互轉(zhuǎn)換,提供一個(gè) AXI32位內(nèi)存映射型主端口和一個(gè)AXI32位內(nèi)存映射型從端口用于連接上位機(jī)軟件控制模 塊。PCIE邱ress接口模塊受上位機(jī)軟件模塊控制。
[0052] 串行總線數(shù)據(jù)源模塊將獲取的串行總線數(shù)據(jù)編碼成8bit位寬的總線數(shù)據(jù),然后將 8bit位寬的總線數(shù)據(jù)從串行總線數(shù)據(jù)源模塊的AXI8位內(nèi)存映射型主端口通過(guò)AXI流水線橋 模塊寫入到波特率估計(jì)IP核模塊和PCI Express接口模塊中。串行總線可W選擇I2C、SPI 等。串行總線數(shù)據(jù)源模塊受波特率估計(jì)IP核和PCI Express接口模塊控制。
[0053] 波特率估計(jì)IP核將寫入到波特率估計(jì)IP核的AXI8位內(nèi)存映射型從端口的8b i t位 寬的總線數(shù)據(jù)進(jìn)行處理,估算出波特率后,從AXIS位內(nèi)存映射型主端口通過(guò)AXI流水線橋模 塊寫入到PCI Express接口模塊。波特率估計(jì)IP核模塊受PCI Express接口模塊控制。
[0054] AXI流水線橋模塊用于連接串行總線數(shù)據(jù)源模塊到波特率估計(jì)IP核,連接串行總 線數(shù)據(jù)源模塊、波特率估計(jì)IP核到PCI Express接口模塊。AXI流水線模塊進(jìn)一步增強(qiáng)了后 端存儲(chǔ)系統(tǒng)的吞吐率。
[0055] 上位機(jī)軟件控制模塊:上位機(jī)軟件控制模塊支持PCIe總線接口,包含一個(gè)PCI Express32位主端口和一個(gè)PCI Express32位從端口,上位機(jī)軟件控制模塊通過(guò)PCI Express接口模塊控制串行總線數(shù)據(jù)源模塊、波特率估計(jì)IP核,獲取串行總線數(shù)據(jù)源模塊輸 出的串行總線數(shù)據(jù)和波特率估計(jì)IP核輸出的波特率估算值,將用戶在上位機(jī)配置的闊值參 數(shù)寫入到波特率估計(jì)IP核模塊。上位機(jī)軟件控制模塊用于顯示總線數(shù)據(jù)波形,對(duì)闊值參數(shù) 進(jìn)行配置,并顯示波特率估算結(jié)果。
[0化6]軟件設(shè)計(jì):
[0057] 軟件設(shè)計(jì)分為兩部分,一部分是上位機(jī)應(yīng)用程序設(shè)計(jì),另一部分是硬核處理器中 的程序設(shè)計(jì)。
[0058] 上位機(jī)應(yīng)用程序負(fù)責(zé)對(duì)闊值進(jìn)行配置,顯示總線數(shù)據(jù)波形和波特率估計(jì)結(jié)果。在 基于windows操作系統(tǒng)上,開發(fā)平臺(tái)可W選用Visual SUidio、CVI,Visual Studio軟件的開 發(fā)語(yǔ)言可W選用(:八++八#,〇^軟件的開發(fā)語(yǔ)言選用幻吾言。
[0059] 硬核處理器中軟件設(shè)計(jì)主要是實(shí)現(xiàn)波特率估計(jì)算法,能夠根據(jù)串行總線數(shù)據(jù)傳輸 信息估算波特率。FPGA可W選用Xi 1 inx系列產(chǎn)品,在基于windows操作系統(tǒng)上,開發(fā)平臺(tái)可 W選用Vivado,開發(fā)語(yǔ)言可W選用Ve;rilog、VHDL。
【主權(quán)項(xiàng)】
1. 一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng),其特征在于,它包括輸入接 口控制模塊、輸出接口控制模塊和波特率估計(jì)算法核心控制模塊(2), 輸入接口控制模塊,用于接收來(lái)自測(cè)試儀器系統(tǒng)的串行總線上整個(gè)時(shí)鐘線上的原始數(shù) 據(jù); 波特率估計(jì)算法核心控制模塊(2),用于接收輸入接口控制模塊發(fā)送的串行總線上整 個(gè)時(shí)鐘線上的原始數(shù)據(jù)和接收上位機(jī)配置的閾值,進(jìn)行比較電平高低,從而獲得串行總線 數(shù)據(jù)的波特率; 輸出接口控制模塊,用于接收波特率,將波特率發(fā)送給上位機(jī); 輸入接口控制模塊包括AXI8位內(nèi)存映射型從端口( S8)和數(shù)據(jù)輸入緩沖FIFO模塊(1), 輸出接口控制模塊包括AXI8位內(nèi)存映射型主端口(M8)和數(shù)據(jù)輸出緩沖FIFO模塊(3), AXI8位內(nèi)存映射型從端口(S8)的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸入緩沖FIFO模 塊(1)的串行總線數(shù)據(jù)信號(hào)輸入端, 數(shù)據(jù)輸入緩沖FIFO模塊(1)的串行總線數(shù)據(jù)信號(hào)輸出端連接波特率估計(jì)算法核心控制 模塊(2)的串行總線數(shù)據(jù)信號(hào)輸入端, 波特率估計(jì)算法核心控制模塊(2)的串行總線數(shù)據(jù)信號(hào)輸出端連接數(shù)據(jù)輸出緩沖FIFO 模塊(3)的串行總線數(shù)據(jù)信號(hào)輸入端, 數(shù)據(jù)輸出緩沖FIFO模塊(3)的數(shù)據(jù)信號(hào)輸出端連接AXI8位內(nèi)存映射型主端口(M8)的數(shù) 據(jù)信號(hào)輸入端。2. 根據(jù)權(quán)利要求1所述的一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng)其特征 在于,波特率估計(jì)算法核心控制模塊(2),用于接收輸入接口控制模塊發(fā)送的串行總線上整 個(gè)時(shí)鐘線上的原始數(shù)據(jù)和接收上位機(jī)配置的閾值,進(jìn)行比較電平高低,從而獲得串行總線 數(shù)據(jù)的波特率的過(guò)程為: 步驟一、接收輸入接口控制模塊發(fā)送的串行總線上整個(gè)時(shí)鐘線上的原始模擬數(shù)據(jù),根 據(jù)公式1將該原始模擬數(shù)據(jù)與在上位機(jī)上設(shè)置的閾值比較確定電平高低,式中,^代表數(shù)據(jù)電平,1代表高電平,0代表低電平,Datai代表采集到的模擬數(shù)據(jù), Threshold代表上位機(jī)上設(shè)置的閾值,Μ代表從串行總線采集到模擬數(shù)據(jù)長(zhǎng)度,i為正整數(shù); 步驟二、根據(jù)步驟一獲得的電平狀態(tài)變化確定時(shí)鐘周期:時(shí)鐘周期由一段低電平和一 段高電平組成,時(shí)鐘線從空閑狀態(tài)進(jìn)入工作狀態(tài)后,從工作狀態(tài)中的第二個(gè)周期開始獲得 波特率,根據(jù)公式: BaudRate(k) = SampRate/(Count_Hk+Count_Lk)(公式2), 獲得串行總線數(shù)據(jù)的波特率, 式中,BaudRate (k),(k 2 2)代表在第k個(gè)周期算出的波特率,SampRate代表采集數(shù)據(jù)的 采樣率,Count_Hk代表第k個(gè)周期內(nèi)高電平數(shù)據(jù)的個(gè)數(shù),Count_Lk代表第k個(gè)周期內(nèi)低電平數(shù) 據(jù)的個(gè)數(shù); 步驟三、根據(jù)公式:判斷是否連續(xù)兩個(gè)周期獲得的波特率相對(duì)誤差不超過(guò)百分之五,如果否,則執(zhí)行步驟 三,如果是,則執(zhí)行步驟四; 步驟四、根據(jù)公式:獲得這兩個(gè)迕5買拘朋tf」股符半tf」T功俚BaudKate; 步驟五、將步驟四獲得的兩個(gè)連續(xù)周期的波特率的平均值BaudRate發(fā)送給數(shù)據(jù)輸出緩 沖FIFO模塊(3)。3.根據(jù)權(quán)利要求2所述的一種應(yīng)用于串行總線分析儀器的波特率估計(jì)IP核系統(tǒng),其特 征在于,串行總線為12C上的時(shí)鐘線或者為SPI上的時(shí)鐘線。
【文檔編號(hào)】H04L12/26GK105871655SQ201610177394
【公開日】2016年8月17日
【申請(qǐng)日】2016年3月24日
【發(fā)明人】付平, 劉冰, 石金龍, 宋興喆, 王茹, 王一茹, 王斌峰, 周穎, 陽(yáng)彬, 黃子桓
【申請(qǐng)人】哈爾濱工業(yè)大學(xué)