李 勇
(貴州大學明德學院,貴陽 550025)
本次系統(tǒng)CPU采用C8051F020單片機,設定被測量邏輯信號門限電平、觸發(fā)條件、觸發(fā)前后數(shù)據(jù)顯示模式等。8路預置初值通過模擬SPI通信協(xié)議給FPGA邏輯序列。信號通過模擬開關和一片LM324送入MCU內部引腳,進行模數(shù)轉換。將獲取的數(shù)字量和門限電平設定的值對比,判定高低電平,當所收集信號滿足觸發(fā)條件時,進行觸發(fā)、數(shù)據(jù)存儲。

圖1 系統(tǒng)框圖
本系統(tǒng)組成組成部分為C8051F020單片機模塊、FPGA模塊、信號調理電路等。其中,C8051F020單片機模塊由搭接電源電路、復位電路、TFT顯示電路、外部晶振、C8051F020單片機構成。本次FPGA選取EP2C5T144C8N作為關鍵器件,聯(lián)合時鐘電路、下載電路等組成FPGA系統(tǒng)。衰減電路,因為ADC采集電壓最大不超過3.3V,但邏輯分析儀所需電壓范圍為0-4V,因此,若將4V的電壓值送至ADC端口,將會直接將單片機毀壞。所以,需要將數(shù)字循環(huán)邏輯序列進行衰減。
程序設計分析兩個方面,一是MCU軟件設計,二是FPGA軟件設計。前者為主機,后者為從機,MCU主要功能在于對FPGA進行控制以及數(shù)據(jù)采集等,而FPGA主要完成初始值產(chǎn)生8路循環(huán)移位的邏輯信號。數(shù)字處理設計,首先對觸發(fā)條件進行判斷,滿足條件后,開始數(shù)據(jù)采集,存儲,因為觸發(fā)點位置并不是固定的,需加窗處理,采集40bit。在采集結束后,將數(shù)據(jù)顯示,與此同時畫出觸發(fā)位置,并顯示與之對應的門限電壓值。因為并非每次AD采樣時都可以滿足觸發(fā)條件,但綜合來說也不會大于8個周期。所以,當不符合條件時,還需結合超時判斷,若采集9個周期依然不能滿足條件,則實施清屏。在調整觸發(fā)位置時,系統(tǒng)將不做觸發(fā)判斷,通過按鍵查看觸發(fā)前后波形,觸發(fā)后波形顯示不超過40bit.當系統(tǒng)處于三級觸發(fā)字判斷時,需先按照屏蔽字進行調整。
測試1:輸入序列初始值為1,采用示波器查看8路輸出序列的輸出頻率,詳細記錄每次左移后的波形與前一次的時間間隔,通過輸入8路邏輯序列的初值,結果發(fā)現(xiàn)輸出序列和輸入值相對,測量出序列的頻率為100Hz,最大誤差并未大于0.3%,與此同時左移后所獲取的序列周期均為10ms,誤差為大于2%,具體如表1所見。

表1 序列頻率輸出
測試2:通過邏輯分析儀初始界面,輸入觸發(fā)值,觀察TFT顯示上的觸發(fā)線位置,測試結果顯示,序列在設置的觸發(fā)值時會進行一次觸發(fā),系統(tǒng)觸發(fā)靈敏,能夠很好的滿足設計需求。
將C8051f020和FPGA作為系統(tǒng)核心,運用數(shù)字信號采集原理,最終實現(xiàn)了對數(shù)字信號的邏輯分析功能。此系統(tǒng)可以產(chǎn)生8路可預置的循環(huán)移位邏輯信號序列,同時還能夠實現(xiàn)觸發(fā)判斷的切換、調制門限電壓等。測試結果表示,該系統(tǒng)穩(wěn)定性良好,可應用實踐。