時間:2019年06月18日 分類:電子論文 次數:
摘要:正確高效的時序分析對于數字信號系統設計尤為重要,而用于測量數字電路信號的邏輯分析儀并沒有普及。基于通用的示波器,以stm32f1系列單片機作為數據處理和顯示控制的核心,對8路數字信號進行采集和時序分析,經D/A轉換,分析結果在示波器的X-Y模式下以時序波形形式顯示,并可通過鍵盤預置觸發字條件,控制顯示波形的起始位置、中心位置或結束位置;也可根據時序分析需要在屏幕上顯示時序間標志線,指示當前時序刻對應的8路信號值,同時序由LED的亮滅指示出8路信號的高低電平狀態。另外,可以對觸發字時序刻的信號邏輯狀態進行記錄,以便回放進行比較。測試結果表明,裝置很好地實現˿對數字信號時序分析的設計要求,具有很高的實際應用價值。
關鍵詞:時序序分析;X-Y模式;觸發字;時序間標志線;D/A轉換
在數字信號系統設計中,信號完整性、信號時序都是非常重要的概念,往往會因為PCB布線不合理或者信號處理不當而引起時序不滿足要求,最終導致系統異常。時序問題對于許多嵌入式設計來說是相當常見的,而故障排除可能是一個耗時序費力的任務,因此解決一些和時序相關的問題,從而快速、方便地找到設計問題的根源,正確高效的時序分析就顯得尤為重要。
邏輯分析儀利用時序鐘從測試設備上采集和顯示數字信號,可以同時序對多條數據線上的數據流進行觀察和測試,并方便地分析數字信號的時序,但邏輯分析儀的應用卻沒有示波器普及。示波器主要用來觀察信號的模擬特性,本裝置利用普通的示波器,設計實現˿一個數字信號時序分析裝置,可在示波器(X-Y模式)上同時序顯示8路數字信號時序。
該裝置可完成的功能如下。
(1)時序波形顯示。通過鍵盤預置8位單級觸發字TW,滿足觸發條件(即D0~D7剛好為預置的TW)時序,可在示波器上不重疊地自左至右同時序顯示8路數字信號1個移位循環周期的時序波形。
(2)觸發時序間可調。8路數字信號時序波形的觸發時序間位置可調,即觸發字TW的時序間位置可分別選擇在示波器屏幕的左側即“觸發開始跟蹤”、示波器屏幕的中間即“中心觸發”和示波器屏幕的右側即“觸發終止跟蹤”三種方式。
(3)時序間標志線。在示波器屏幕上可顯示一條豎亮線,為時序間標志線,可手動位移,并有8個LED可顯示時序間標志線對應時序刻的8路數字信號的狀態字SW(狀態1時序LED點亮、狀態0時序LED熄滅)。
(4)存儲回放。在設߿的觸發字TW時序刻,分析裝置對8路數字信號的邏輯狀態開始采集并存儲,可在示波器上回放2個時序刻的8路數字信號時序波形。
1原理分析及技術方案
1.1示波器顯示原理
示波器主要用來觀察信號的模擬特性,顯示模式有Y-T模式和X-Y模式,YT模式即時序基模式是示波器中最常見的,其坐標系Y軸為通道輸入信號,上正下負,參考地為零點,X軸為時序間,左負右正,觸發點為零點。X-Y模式在任何涉及兩個相互關聯的物理量的場合可以使用,X-Y視圖模式是將時序基關閉,使用另外一個通道的輸入作為水平信號,以便觀察這兩個信號的關系,如眾所周知的李沙育圖形,是將被測頻率的信號和頻率已知的標準信號分別加至示波器的Y軸輸入端和X軸輸入端,在示波器顯示屏上將出現一個合成圖形,合成的圖形就是李沙育圖形。本裝置利用示波器X-Y顯示模式,原理是將被測的數字信號加至示波器的Y軸輸入端,將鋸齒波信號加至X軸輸入端,則在示波器顯示屏上將出現一個多路數字信號的合成波形。
1.2各模塊設計方案及原理
系統主要組成包括一個信號發生器,作為測試時序分析裝置的信號源,一個時序分析裝置,信號發生器的信號輸出端和時序分析裝置的采集端之間由跳線連接,二者采用STM32F103ZET6實現;功能顯示由LCD12864完成,顯示控制采用51單片機,與STM32之間通過串口通信實現數據傳遞。
1.2.1信號發生器設計方案及實現原理
本系統中8位數字信號發生器作為提供測試數據的部件,用于產生8位并行輸出的TTL電平信號,該信號經循環移位得到8路8位并行移位循環信號波形,其中移位時序鐘Clock信號頻率為100kHz。裝置實際使用中連接被測信號。
由STM32通過IO輸出100kHz的時序鐘信號,同時序產生一路8位信號,然后把時序鐘信號作為外部觸發的移位信號,在每個時序鐘信號的上升沿,把這8位信號左移(或右移)1位,通過7次移位運算,共得到8路8位信號,保存在二維數組中,再通過位解析得到8路信號的每一位,共64位,依次送到8個輸出引腳。
Clock時序鐘信號由߿時序器產生,簡單精確,߿時序時序間計算:f=100kHz,T=1/100000s=1/100ms=10μsSTM32߿時序器時序間設為1μs,占空比1∶10,得到100kHz的時序鐘信號。
1.2.2數字信號時序分析裝置設計方案及實現原理
數字信號時序分析裝置包括功能設置、信號采集、信號處理和顯示功能電路,由STM32F103ZET6完成。示波器的X軸信號和Y軸信號為模擬信號,而本電路產生的是數字信號,因此需要兩路D/A數模轉換電路,而STM32F103ZET6處理器內置有兩路D/A轉換器。
1、信號采集。從STM32的8位IO口讀入信號,一次讀入一個字節的數據,處理器把讀入的信號按位存儲起來,形成8*8=64位信號,存入8*8的二維數組里。
2、信號處理。在示波器Y軸上顯示的8路信號,8個不同的臺階電壓高度代表˿信號的電壓大小,而8路數字信號實際只有兩種值:0和1,為˿把8路信號顯示在Y軸上不同高度的位置,需要給每一路信號疊加不同的電壓值,因此首先要對信號進行D/A轉換,轉換為模擬信號,其次在轉換后的每一路信號值的基礎上加上不同的電壓值,形成臺階電壓。
3、信號顯示。信號顯示是本裝置設計的重點也是難點。本設計選擇的方法是在X-Y模式下,X起到時序間軸的作用,利用類似電視機行場掃描原理,每一行掃描繪制一路輸出信號,這樣行信號分別8次從左到右掃描,此信號為鋸齒波信號,鋸齒波信號的產生由離散遞增的信號經D/A轉換得到連續的模擬信號。其中對應鋸齒波信號的每一次上升過程,有一路完整的信號輸出。8個鋸齒波信號分別對應8路不同臺階電壓的信號,X軸以自生成鋸齒波方式每掃描一次,描繪出一路信號。
4、stm32的DAC。X和Y軸信號均為模擬信號,因此需要兩個DAC數模轉換分別對X軸生成的鋸齒信號和Y軸的臺階電壓信號進行轉換。STM32F1ZET處理器的DAC模塊(數字/模擬轉換模塊)是12位數字輸入,電壓輸出型的DAC。DAC可以配置為8位或12位模式,也可以與DMA控制器配合使用。DAC工作在12位模式時序,數據可以設置成左對齊或右對齊。
DAC模塊有2個輸出通道,每個通道都有單獨的轉換器。在雙DAC模式下,2個通道可以獨立地進行轉換,也可以同時序進行轉換并同步地更新2個通道的輸出。DAC可以通過引腳輸入參考電壓VREF+以獲得更精確的轉換結果。
本設計中X軸和Y軸分別通過1個DAC轉換器轉換輸出,應用12位轉換器,因此輸出值范圍為0~4095,Y軸輸出的8路顯示不重疊的信號分為8個臺階電壓,則每一路電壓分別界于4095/8=512,512*(i―1)到512*i之間,為˿使信號不重疊,應在上下限預留100―150的分隔空間,即第一臺階電壓的0和1電平分別為150和362(512―150),第二階電壓為662(512+150)和874(1024―150),依此類推。
5、時序分析裝置其他功能的原理
1)觸發字和狀態字處理。
觸發字由撥碼開關設置,由STM32處理器的IO口讀入,對采集到并已存儲起來的信號進行查找,當觸發字為8種狀態之一時序,可查找到與觸發字相等的狀態并取出符合顯示方式要求的數據:選擇“觸發開始跟蹤”方式,即觸發字的時序間位置在示波器屏幕的左側,從觸發字開始向后取出8路8位數據;選擇“中心觸發”方式,即觸發字的時序間位置在示波器屏幕的中間,從觸發字開始分別向前取8路4位數據再向后取出8路4位數據;選擇“觸發終止跟蹤”方式,即觸發字的時序間位置在示波器屏幕的右側,從觸發字開始向前循環取出8路8位數據。把重新取得的數據按信號顯示方法在示波器屏幕上顯示;若觸發字不是8種狀態字之一時序,不需要顯示。狀態字的實質即是8路信號在同一時序刻(X相同)對應的每路信號中的一位所組成的8位二進制數,共有8種狀態字。
2)時序間標志線。
示波器屏幕上的一條豎亮線為時序間標志線,可通過按鍵每按一次移動一個位的位移,其實質即是在X值為一個߿值時序,Y軸從最小值0變化到最大值4095,即Y軸以鋸齒波方式掃描一次,則在平行于Y軸的方向形成一條直線。豎直線的位置由X的值確߿,而X軸掃描一次即0-4095,因此可以選擇第一條豎亮線的位置為512/2即X0=256位置,然后每按一次鍵X0值加512。
3)存儲回放。
存儲回放的數據仍然是采集過的數字信號,因此,存儲的實質即是只要保存2個需要存儲時序刻的觸發字,而回放時序則是從存放信號的數組中查找到相應的觸發字,從此處開始循環取出數據并顯示,無需對信號進行重新采集保存。從以上的原理分析中可見,整個系統設計的關鍵是如何把數字信號波形顯示在示波器的X-Y模式上,其他問題則是對采集到的信號的處理。這樣的實現方式比采用數字IC八進制計數器、D/A、8選1模擬開關、加法器組合的硬件實現方法簡單可靠、精確。
6、功能設置及顯示原理。
通過按鍵選擇不同的功能和設置時序間標志線;為˿保證高頻數據能正確進行D/A轉換并顯示在示波器上,人機界面的數據在設置時序通過串口發送到51單片機,由單片機控制LCD12864顯示。
2硬件設計
本裝置的硬件包括一片STM32處理器,分別完成8位數字信號發生器和數字信號時序分析的功能,數據采集引腳用來采集信號輸出端的8路8位數字信號;一個撥碼開關;一臺51單片機,通過串口和STM32通信接收顯示內容在LCD12864液晶屏上顯示。
3系統軟件設計
本設計的功能主要由軟件實現,而軟件設計的主要內容是送到示波器X-Y模式兩個通道的信號顯示的處理,即控制兩路D/A。首先進行系統初始化,包括外部中斷設置、߿時序器中斷設置、IO口配置、DAC初始化并準備存放數字信號的數組等。接著開始數據采集,即從8個IO口各讀入8位數字信號賦值到數組里,并對數組元素進行處理。然后對8路信號進行顯示輸出程ࣿ。由于信號的顯示頻率高、周期短,同時序D/A轉換的時序間長,因此流程控制的信號來自作為外部中斷的按鍵,按一次,選擇需要完成的功能,進行數據處理,再按一次開始顯示。
對每路信號進行D/A轉換時序,循環步長m決߿˿鋸齒波信號的周期,同時序也確߿˿顯示一路信號的周期,為避免失真,m沒有取到最大值4095,假設兩路DAC轉換1次1路8位信號需要的循環時序間是t,為:T=4096/m*t,經反復實驗表明,m取值較小時序,波形相對失真大,m取值過大時序波形將失去平滑性,可以取一個合適值如64,而保證得到的波形周期與實際周期成倍數關系。
4系統調試與結論
測試在不同觸發字觸發時序刻的波形和時序間標志線波形以及存儲顯示的波形均符合設計要求。由以上測試結果可知,數字信號時序分析裝置能夠利用普通的示波器準確分析數字信號的時序關系,各波形之間無重疊,各項數據都在正常范圍內,并且裝置能對任意數字信號的時序進行采集并準確的分析,性能指標達到˿設計的要求,并有LCD顯示結果,直觀,用途廣泛。
參考文獻:
[1]田芳寧.邏輯分析儀自動測試系統設計與實現[J].電子測量技術,2014(03):86-88
[2]甘國妹,羅業文.基于FPGA的簡易邏輯分析儀設計[J].玉林師范學院學報,2013(05):23-27
[3]熊鳴,趙秦川.便攜式邏輯分析儀的設計與實現[J].電子科技,2014(04):64-65,68
[4]朱榜芹,喬威.簡易邏輯分析儀的設計與實現[J].實驗室科學,2010(03):166-168
[5]華堅,周杏鵬.簡易邏輯分析儀的設計與應用[J].儀器儀表與分析監測,2007(04):26-28
[6]薛翔宇.混合示波器采集與存儲控制技術的研究和實現[D].北京:電子科技大學,2018
[7]史歡.多通道可重構的虛擬邏輯分析儀的研制[D].長春:吉林大學,2017
[8]王慶春,何曉燕.基于FPGA的便攜式邏輯分析儀設計[J].電子測量技術,2012,35(10):80-83
相關論文范文閱讀:選擇數字信號處理器的方法
DSP器件按設計要求可以分為兩類。第一類,應用領域為廉價的、大規模嵌入式應用系統,如手機、磁盤驅動(DSP用作伺服電機控制)以及便攜式數字音頻播放器等。在這些應用中價格和集成度是最重要的考慮因素。對于便攜式電池供電的設備,功耗也是一個關鍵的因素。盡管這些應用常常需要開發運行于DSP的客戶應用軟件和外圍支持硬件,但易于開發的要求仍然是次要的因素,因為批量生產可以分攤開發成本,從而降低單位產品的開發成本。