基于SOPC的簡(jiǎn)易誤碼率測試儀設計技術(shù)
設備上電后進(jìn)入模式選擇,用戶(hù)根據需要設定模式,確認后,mode_reg設置完畢。隨后進(jìn)入速率選擇,設置時(shí)鐘分頻器的數值,用以設置代碼發(fā)送速率。Control_reg提供了AM7968其他端口的設置。參數設置完畢后,設置好的代碼就配合設定好的時(shí)鐘頻率,通過(guò)通信端口發(fā)送出去了。
需要特別說(shuō)明的是循環(huán)代碼的發(fā)送過(guò)程。因為,在其他模式下,數據自發(fā)送開(kāi)始就一直在數據總線(xiàn)上有效,只要控制好數據的發(fā)送脈沖信號即可;而循環(huán)代碼模式下,數據需要實(shí)時(shí)更新,且不能有遺漏和跳躍,因此特別設計了循環(huán)碼發(fā)生模塊。它以AM7968芯片的ACK信號作為循環(huán)代碼遞增的觸發(fā)信號。這是因為ACK信號是AM7968在數據發(fā)送完畢后立即發(fā)送的反饋信號。所以利用這個(gè)信號,就很好地保證了循環(huán)代碼的可靠性。
(2)接收端設計
如圖3所示,芯片AM7969是信號的接收端。在用戶(hù)設定了代碼模式后,AM7969的控制寄存器被配置為相應模式。之后設置誤碼計算模式,并將誤碼計數器復位,且設置好對應的對照代碼。
AM7969芯片中的鎖相環(huán)時(shí)鐘生成器(PLL clockgenerator),可以從接收到的數據流中分離出時(shí)鐘信號和數據信號。
由于線(xiàn)路傳輸存在延時(shí)問(wèn)題,會(huì )使AM7969分離的時(shí)鐘相對于發(fā)送端AM7968的時(shí)鐘滯后。對比較器兩端的輸入來(lái)說(shuō),出現了不同步的情況。如果AM7969也利用本地系統時(shí)鐘,那么其接收到的數據就會(huì )紊亂。這種方法不可取。
本系統采取發(fā)送同步序列的方式來(lái)進(jìn)行同步。在測量開(kāi)始后,發(fā)送端發(fā)送同步序列。在10 ms內(此時(shí)間閾值可進(jìn)行設置),如果接收端沒(méi)有收到同步序列,則判定線(xiàn)路故障,無(wú)法正常測量;如果在時(shí)間閾值內收到同步序列,則立刻進(jìn)入測試狀態(tài)。例如,當發(fā)送代碼A0后,接收端如果在時(shí)限內(時(shí)間閾值)收到信號,則進(jìn)行比較,之后發(fā)送1個(gè)反饋信號Dstrb和1個(gè)數據A1,依此類(lèi)推;如果接收端沒(méi)有收到信號,則系統將認為是誤碼丟失,記為誤碼,同時(shí)自行發(fā)送1個(gè)偽Dstrb,繼續測量。
3.2 顯示模塊設計
顯示部分采用了Visionox公司的VGGl2864E―S002、128×64點(diǎn)陣的單色圖形顯示模塊。該模塊有以下特點(diǎn):亮度高,對比度高,視角寬,響應速度快,溫度范圍寬,功耗低;8位并行數據接口,讀、寫(xiě)操作時(shí)序;模塊內藏64×64顯示數據RAM(RAM中每位數據對應OLED屏上一個(gè)點(diǎn)的亮、暗狀態(tài));接口電路簡(jiǎn)單,使用方便。
本設計通過(guò)VHDL語(yǔ)言編寫(xiě)接口時(shí)序IP核控制器oled.VHD,使其作為Slave device連接到Avalon總線(xiàn)上,實(shí)現了數據顯示功能。
3.3 誤碼率測試儀的SOPC設計
圖4為在SOPC Builder工作窗口中的該誤碼率測試儀的SOPC系統。
其中,cpu_0為主Nios II處理器,cfi_flash_bridge_O為Avalon三態(tài)橋用來(lái)連接Flash IP核控制器cfi_flash_O,sdram是SDRAM IP核控制器,timer_O是Nios II內部定時(shí)器,oled_O是OLED IP核控制器,pio_0是按鍵外部引腳,am7968_2_O和am7969_2_0分別是用VHDL語(yǔ)言編寫(xiě)的收發(fā)芯片AM7968和AM7969的1P核控制器。
評論