整個調(diào)試驗證與仿真分析分三個步驟:第一步是進行
PCB
檢查及電氣特性測試,主
要用來驗證硬件設(shè)計是否正常工作;第二步進行各子模塊功能測試,包括高速光纖串行
通信的穩(wěn)定性與可靠性測試,
A/D
及
D/A
轉(zhuǎn)換特性測試,
EnDat
串行通信相關(guān)時序測試
與驗證等,主要用來驗證
FPGA
軟件內(nèi)核是否正常工作以及符合預(yù)期設(shè)計要求;第三步
進行系統(tǒng)聯(lián)合測試驗證,主要包括
DSP
系統(tǒng)對遠(yuǎn)程伺服控制分系統(tǒng)控制命令數(shù)據(jù)的發(fā),
以及對
EnDat
遠(yuǎn)程位置數(shù)據(jù)、增量式位置數(shù)據(jù)、各數(shù)字或模擬傳感器的遠(yuǎn)程數(shù)據(jù)請求及
驗證。
5.1
調(diào)試與驗證仿真平臺
為了對整個系統(tǒng)進行驗證測試,需搭建相應(yīng)的調(diào)試與仿真驗證平臺。調(diào)試與仿真驗
證平臺主要包括硬件平臺、軟件開發(fā)環(huán)境、仿真調(diào)試工具三大部分:
1.
硬件平臺:
DSP
主系統(tǒng)控制板卡、傳感數(shù)據(jù)采集板卡、伺服控制及位置數(shù)據(jù)控制
卡、
PC
機。
2.
軟件開發(fā)環(huán)境:
CCS3.3
、
Quartus II 11.1
及其
SignalTap II
在線邏輯分析儀、
Modelsim
SE
、
Matlab
等。
3.
測試工具:安捷倫
MSO7032A
示波器(帶寬
350Mhz
、采樣率
2Gps
)、
DSP
仿真
器(
XDS510
)、
FPGA
下載仿真器
(USB-Blaster)
、安捷倫
34401A
萬用表(六位半)、信
號發(fā)生器、直流電源、
3
米
62.5/125um
的
SC-SC
接口多模光纖線纜等。
5.2
系統(tǒng)子模塊功能仿真
5.2.1 模數(shù) D/A 數(shù)模 A/D 子模塊驗證
驗證方法:采用由
FPGA
主動產(chǎn)生一系列遞增的數(shù)字量,然后送給
DA
模塊進行轉(zhuǎn)
換,得到對應(yīng)的模擬電壓信號。測試點選擇第三章中圖
3.15
中的
TP28
點及其后端差分
后的
TP29
、
TP25
測試點進行。輸入值為
16'H0000---16'HFFFF
之間的一些值,輸出值
為對應(yīng)測試點的電壓值,數(shù)字與模擬值之間的對應(yīng)關(guān)系為:
文章來源:http://www.zghlxwxcb.cn/news/detail-428010.html
表格
5.1
為按照上述驗證方法,采用安捷倫
34401A
萬用表測得的實驗數(shù)據(jù),然后
再計算測量值與真實值之間的誤差,結(jié)果如表
5.2
所示:
根據(jù)表格
5.2
測得的誤差數(shù)據(jù)進行散點作圖,得到圖
5.1
所示的誤差散點示意圖。
據(jù)圖顯示,
DA
最大誤差值在
0.006
左右,達到設(shè)計要求的
13
位精度,滿足了設(shè)計預(yù)期。
數(shù)模
A/D
子模塊的驗證方法與之類似,在此不再詳細(xì)介紹。
5.2.2 EnDat 子模塊的驗證
驗證方法:采用
SignalTap II
在線邏輯分析儀對不同模式指令下的傳輸時序進行探
測,然后與
EnDat
規(guī)范相比較,從而確定本文中第四章中
EnDat
雙向串行通信協(xié)議內(nèi)核
的設(shè)計是否能夠正常工作。本次使用
EnDat2.2
版本的多圈旋轉(zhuǎn)編碼器進行驗證,其中
編碼器主要參數(shù)是單圈
13
位,多圈
12
位。
圖
5.2
為
EnDat
雙向串行通信協(xié)議內(nèi)核向編碼器發(fā)送模式指令:編碼器傳送位置值,
對應(yīng)的模式指令碼為
000111
。編碼器計算位置值后向
EnDat 內(nèi)核發(fā)送位置值,其時序與
第四章中介紹的
EnDat
傳輸位置值時序規(guī)范完全符合,其中單圈數(shù)值為
6735
,多圈數(shù)
值為
1580
。
5.3
為
EnDat
內(nèi)核向編碼器發(fā)送讀取參數(shù)模式指令,模式指令碼為
100011
。
EnDat
內(nèi)核接收到的串行數(shù)據(jù)為
1000000000011001
。根據(jù)
EnDat
規(guī)范,最高位保留讀始終為高
電平,低
6
位用于指示編碼器的總長度,因此
11001
表示該編碼器為
25
位。
圖
5.4
為
EnDat
內(nèi)核向編碼器發(fā)送讀取參數(shù)模式指令,模式指令碼為
100011
。
EnDat
內(nèi)核接收到的串行數(shù)據(jù)為
0001000000000000
。根據(jù)
EnDat
規(guī)范,
16
位的數(shù)據(jù)代表編碼
器可以區(qū)分的圈數(shù),即多圈數(shù)目,因此(
1000
)
h
表示該編碼器為
4096
即
12
位。
從測試的結(jié)果可以看出與之前已知的編碼器參數(shù)完全吻合。
5.2.3 高速串行通信子模塊的驗證
驗證方法:采用
SignalTap II
在線邏輯分析儀對高速串行通信內(nèi)核的傳輸時序進行
探測,從而確定本文第四章中所設(shè)計的高速串行光纖通信內(nèi)核的設(shè)計是否正常工作。在
圖
4.16
和圖
4.17
所示的發(fā)送控制器及接受控制器的空閑狀態(tài)時,為了提供足夠的信道
跳變密度,同時保證接收端的時鐘相位的同步,協(xié)議內(nèi)核中采用了
8B/10B
高速編碼方
案中的特殊字符
K28.5
,用來調(diào)整字對齊,保證接收時鐘的相位同步,同時提供
50%
的
跳變密度。根據(jù)上文中
8B/10B
編碼方案及表格
4.1
,
K28.5
對應(yīng)的十位的傳輸字符二進
制表示分別是
0101111100
和
1010000011
,即十六進制的
17C
和
283
,其中
j
為最高位,
a
為最低位,測試結(jié)果如圖
5.5
所示。
為了進行數(shù)據(jù)傳輸,首先要寫發(fā)送緩存區(qū),即雙口
RAM
。為了測試方便簡單,本
次只寫十六進制的
11111111, 22222222, 33333333, 44444444, 55555555, 66666666
這六個
32
位的數(shù)據(jù),測試結(jié)果如圖
5.6
所示。
存儲在如圖
4.15
發(fā)送緩存區(qū)的數(shù)據(jù)
,
按照如圖
4.14
所示的數(shù)據(jù)幀的格式傳輸?shù)浇邮?
端。其中數(shù)據(jù)長度配置為
5
,基地址配置為
0x00
。因此十六進制的
11111111, 22222222,
33333333, 44444444, 55555555
按順序被傳輸?shù)浇邮斩耍?
66666666
則被忽略,因為數(shù)
據(jù)長度為
5
。在圖
5.7
中,
ENCODE_DATA
為某發(fā)送端編碼前的
8
位數(shù)據(jù),而
DECODE_DATA
是另外通信模塊的接收端譯碼之后的
8
位數(shù)據(jù)。測試中采用的是同一
塊板卡上面的兩個不同的高速串行通信模塊,即模塊
A
的發(fā)送端與模塊
B
的接收端進
行通信連接。
T
delay
定義為在數(shù)據(jù)幀的傳輸過程中發(fā)送端與接收端的信道延遲時間。該參數(shù)只跟高
速串行通信模型有關(guān),并不受應(yīng)用層的控制,因此可以保證精確的控制。
測試結(jié)果如圖
5.7
所示,從中可以明確地看到數(shù)據(jù)在狀態(tài)機的控制下按照圖
4.14
的
數(shù)據(jù)幀格式進行傳輸,測試結(jié)果表明,數(shù)據(jù)傳輸正確,且長時間測試無誤碼產(chǎn)生,傳輸
穩(wěn)定可靠。
5.3
系統(tǒng)測試與驗證
系統(tǒng)級的測試與驗證,采用應(yīng)用層
DSP
主系統(tǒng)對系統(tǒng)的各個子模塊進行功能驗證
與分析,以判斷應(yīng)用層能否對各功能模塊進行長時間無錯誤的信息采集及數(shù)據(jù)下發(fā)任
務(wù),確保整個系統(tǒng)的可靠運行。值得慶幸的是
CCS
提供了一個信號分析工具
Graph
圖
形窗口,使用戶能夠精確的監(jiān)測信號數(shù)據(jù),是數(shù)據(jù)采集分析強有力的工具。
5.3.1 系統(tǒng)對 EnDat 數(shù)據(jù)采集的驗證
驗證方法:采用
CCS
信號分析工具
Graph
圖形窗口,將
EnDat
數(shù)據(jù)值實時顯示作
圖,其中使用
EnDat2.2
版本的多圈旋轉(zhuǎn)編碼器,其單圈
13
位,多圈
12
位,采用手動
選擇的方式。圖
5.8
中左側(cè)為順時針旋轉(zhuǎn)時的數(shù)據(jù)波形,右側(cè)為逆時針旋轉(zhuǎn)時的數(shù)據(jù)波
形,從中可以看出單圈位置值有規(guī)律的從
0
逐漸增大到最大值
2
13
即
8192
,然后又回到
0
,如此重復(fù);由于采用手動旋轉(zhuǎn)的方式,多圈位置值沒有進行截圖。單圈位置數(shù)據(jù)的
測試結(jié)果如圖
5.8
所示。
5.3.2 系統(tǒng)高速串行光纖通信可靠性驗證
驗證方法:采用
SignalTap II
在線邏輯分析儀和
CCS 集成開發(fā)環(huán)境對高速串行光纖
通信進行長時間的測試,以判斷通信的可靠性。
根據(jù)高速串行光纖通信協(xié)議,
DSP
主系統(tǒng)發(fā)送一幀數(shù)據(jù),目標(biāo)板會應(yīng)答一次,如果
中斷使能則應(yīng)答中斷產(chǎn)生一次。因此,發(fā)送數(shù)目、
atc
應(yīng)答數(shù)目、中斷數(shù)目,三個數(shù)值
應(yīng)當(dāng)相等即
Send Data Num
、
ATC int Num
、
interput happened Num
三個變量數(shù)值相等,
且等于測試幀數(shù)目,同時數(shù)據(jù)接收中斷
Data received int Num
數(shù)目為零;說明光纖通信
正常,否則異常。測試結(jié)果如圖
5.9
所示,
CCS
的打印窗口表明,一千萬次的可靠性測
試中
Send Data Num
、
ATC int Num
、
interput happened Num
三個變量數(shù)值均為一千萬次,
Data received int Num
為
0
,無錯誤產(chǎn)生,系統(tǒng)高速串行光纖通信可靠性很高,完全滿足
本課題需求。
5.3.3 系統(tǒng)對 DA 控制輸出的驗證
驗證方法:采用示波器對
DSP
主系統(tǒng)下發(fā)的
DA
控制數(shù)據(jù)進行顯示,以判斷應(yīng)用層
對
DA
控制的正確性。
測試采用
DSP
的定時器中斷產(chǎn)生
200us
的中斷周期,模擬
200us
的伺服周期內(nèi)分別
對
DA
部分下發(fā)數(shù)據(jù)
0x0000
、
0x9999
兩個數(shù)字量。根據(jù)前面的硬件設(shè)計,
DA
輸出的模
擬電壓信號應(yīng)為
0V
、
1.99999V
兩個電壓值,周期為
200us
的方波。圖
5.10
所示為示波
器測試結(jié)果
,
從中可以看出實際輸出與理論輸出完全一致,由于測試中采用的是開關(guān)電
源,存在開關(guān)噪聲,因此測得的模擬電壓信號毛刺較大。
5.3.4 系統(tǒng)對 AD 信號采集的驗證
驗證方法:采用信號發(fā)生器為
AD
輸入端提供模擬傳感器信號,采用
CCS
信號分
析工具
Graph
圖形窗口對采集的
AD
數(shù)字量實時作圖顯示,以判斷應(yīng)用層對
AD
信號采
集的正確性。
圖
5.11
是測試結(jié)果,上面為信號發(fā)生器提供的模擬電壓信號
,
下圖為
Graph
圖形窗
口對
AD
數(shù)字量的作圖顯示。從中可以看出,模擬電壓信號與轉(zhuǎn)化的數(shù)字量完全與理論
值相符合。
5.3.5 系統(tǒng)對 EMIF 的可靠性驗證
驗證方法:采用
CCS
集成開發(fā)環(huán)境,變量觀察窗口及存儲區(qū)查看窗口,對通過
EMIF
異步訪問的發(fā)送及接收緩存區(qū)即雙口
RAM
讀寫操作長時間測試,以判斷
EMIF
讀寫通
信接口的可靠性。
EMIF
異步接口中,讀、寫都需要配置建立、選通、保持三個參數(shù),為了縮短讀寫
話費的時間,盡可能設(shè)置的小,但過小的設(shè)置參數(shù)可能會影響讀寫操作的可靠性,因此
對
EMIF 讀寫通信接口的可靠性驗證是必須的。
圖
5.12
所示,通過
EMIF
異步接口對高速串行光纖通信內(nèi)核的發(fā)送緩存區(qū)寫一系列
遞增的數(shù)據(jù),然后再讀取發(fā)送緩存區(qū),將讀到的數(shù)據(jù)與之前寫入的數(shù)據(jù)進行一一比較,
就可以判斷本次讀寫操作是否正確。測試結(jié)果顯示,對緩存區(qū)即雙口
RAM
的
255
個長
字即
1KB
的存儲區(qū)進行了十萬次的讀寫重復(fù)性測試,錯誤指示變量
ERROR
的值為零,
存儲區(qū)查看窗口
memory window
顯示了最后一次讀寫操作之后緩存區(qū)中存儲的數(shù)據(jù),
結(jié)果表明測試無誤。
5.3.6 系統(tǒng)對增量式位置值采集的驗證
驗證方法:采用旋轉(zhuǎn)電機自帶的增量式接口提供增量式位置數(shù)據(jù),利用
CCS
信號
分析工具
Graph
圖形窗口對采集的增量式位置值實時作圖顯示,以判斷增量式位置數(shù)據(jù)
采集的正確性。測試中電機開環(huán),勻速旋轉(zhuǎn),定時手動復(fù)位位置數(shù)據(jù)為零,圖
5.13
即為
測試結(jié)果,從圖中可以看出,位置值數(shù)據(jù)從零均勻增加,手動復(fù)位時跳變?yōu)榱?,之后?
勻速增加,與理論預(yù)期完全吻合。
信邁提供DSP+FPGA電路仿真方案。?文章來源地址http://www.zghlxwxcb.cn/news/detail-428010.html