有時候我們需要進行某一個特定量級的測量,但是噪聲或偶發乾擾引起的數據錯誤可能會影響測量。假設我們有一個參數測量電路,偶爾會記錄一個錯誤數值,這時我們就要以某種方式對測量值進行「過濾」,濾除記錄值中的錯誤數值。Il4ednc
本文將介紹一個能夠在噪聲環境中減少或濾除偶發錯誤測量值的數字電路。Il4ednc
延遲線(DL)電路是一個廣為人知的概念,是一個可將電信號延遲一段時間的邏輯元件。從DDR SDRAM(雙倍數據率同步動態隨機存取存儲器)到DLL(延遲鎖相環),延遲線的應用範圍十分廣泛。Il4ednc
在DL延遲線模塊內,為生成一個確定性移相信號,我們需要設定邏輯元件的延時,並調整延時設置,以補償製程、電壓和溫度(PVT)對測量值的影響。Il4ednc
Il4ednc
圖1: 延遲線示例Il4ednc
Il4ednc圖1給出一個預定數量的延遲單元構成的延遲線電路和通過配置字實現的反饋通道(Dfb)的示例,通過延遲配置字,可以在Din引腳輸入信號和Dout引腳輸出信號之間設定所需延時。每個延遲單元在Din和Dl兩個引腳之間生成固定的通道延時。Il4ednc
我們可以通過多種方式計算符合理想延遲要求的配置字,計算已知時鐘延長一個周期所需延遲單元的數量就是其中一種方法。確定一個延遲單元的延時不難。Il4ednc
圖2所示是這種計算方法的原理;ClkIN是已知時鐘信號,輸出是延長一個周期的ClkIN信號。這個模塊的輸出(延遲單元的數量)用於確定延遲線的配置,如圖1所示。Il4ednc
Il4ednc
圖2: 延遲配置字計算示例Il4ednc
Il4ednc如果噪聲或幹擾在ClkIN上引起尖峰,測量精確度將會受到錯誤數據的影響。眾所周知,錯誤的設置可能導致延遲線電路暫時性功能紊亂。Il4ednc
假設在一段時間內,參考周期比標稱值小很多或大很多,輸入延長線的新計算值將會與以前的數值有很大差異。圖1所示的DL將會生成一個錯誤信號,被隨機抖動信號吸收。Il4ednc
圖3中的示例描述了當參考時鐘ClkIN有一個大的峰對峰抖動脈衝時所發生的情況,這時延遲單元數量的計算值不同於標稱值。Il4ednc
Il4ednc
圖3: ClkIN上的尖峰信號和錯誤延遲計算示例Il4ednc
Il4ednc對於這種問題,我們可以使用一個數字錯誤補償電路, 通過智能方式計算這些數據的移動平均數。查看圖3示例中延遲計算值,錯誤數據(delay=15和delay=12)可以忽略丟棄, 因為這些計算值遠遠小於平均數,同時可以使用新的採樣的平均數delay=30更新上一個平均數。Il4ednc
移動平均數的原理(圖4)是採集N個最新的測量值,然後計算這些數值的平均數。只有新數據值與上一次N個採樣的實際平均數差別不是很大時,新數據才會加進緩衝電路(Sx)。Il4ednc
Il4ednc
圖4: 智能移動平均數電路 Il4ednc
Il4ednc圖4所示的有限狀態機(FSM)可以精確地管理這項任務,檢查每個新校準值,並將其與此時的平均數最大值和最小值進行對比。當新數值在設定範圍外時,新數據將被濾除,不加進移動平均數內。Il4ednc
顯然這個電路是取模運算,但是保留已存儲採樣數量(Sx) 的二次冪才是使運算邏輯最小化的最佳設置,這樣可以最大限度減少加法器元件數量,節省通用除法器。新輸入數據向右移兩位,執行除四運算,零成本。Il4ednc
用於保存採樣的緩衝器(Sx)的容量是M-2,這裡M 代表輸入數據總線位寬。該電路是由三個有進位功能的全加器組成,運算結果被有限狀態機用於檢查新輸入數據。Il4ednc
有限狀態機就是為該電路帶來一些智能的邏輯電路。圖5所示是有限狀態機的流程圖。Il4ednc
Il4ednc
圖5: 智能移動平均數FSM Il4ednc
Il4ednc在啟動時,因為比較點沒有平均值可用,所以第一個數據保存在Sx緩衝器內,代表初始瞬態值。當緩衝器寫滿數據時,開始計算平均值。當時鐘頻率高時,數據通道可能受到應力,為避免這個問題,可以加進一個小的計數器延遲。Il4ednc
圖5所示的AVERAGE代表穩態。這裡有限狀態機在等待一個新的數據點,該數據點將與下一個狀態上的平均值CHECK DATA對比。從硬體角度看,比較任務量不大,而且對濾除錯誤採樣很有效。Il4ednc
數據比較過程與我們要測量的數據有關。當數據受到PVT影響時,例如,本文討論的延遲線,因為主要是溫度變化影響數據,所以數值變化比較小。在這種情況下,我們預計新輸入數據與前一個平均數和最新四個數據的平均值差別不大。對於這種特殊情況,可以採用下面方式完成數據比較過程:Il4ednc
● 只比較最高有效位Il4ednc
● 如果這部分與平均值相差不太大,新數據將被保存,同時平均值也會相應地更新Il4ednc
● 如果這部分與平均值相差太大,新數據將被丟棄,平均值保持不變Il4ednc
圖6給出一個比較表的示例。新輸入數據的可能取值範圍分成四部分,只有最高有效位用於數據比較,某些情況還需要檢查第三位。當新數據的最高有效位是「00」時,前四個採樣平均值的最高有效位在「 00 」和「01」之間是可以接受的。否則,新輸入數據將被丟棄。同樣,當輸入數據是「01」、「10、」、「11」時,新輸入數據將被丟棄。Il4ednc
Il4ednc
圖6: 數據比較方法Il4ednc
Il4ednc本文討論一個能夠濾除邏輯電路輸入數據受到各種幹擾的數字電路, 例如,濾除本文討論的延遲線輸入信號受到的幹擾。這個智能移動平均數電路有助於降低幹擾影響,不只是計算平均值,還能濾除可能嚴重影響移動平均數的錯誤採樣,錯誤採樣濾除規則取決於輸入數據的預計變化速率。Il4ednc
在本文中我們看到,如果影響數據的因素是溫度,我們預計採樣變化率很小,在這種情況下,比較邏輯簡單,元件數量少。計數平均數所需的元件數量還取決於錯誤數據的發生率;如果只是偶發錯誤,平均數邏輯單元數量就會少些(例如,圖4);如果偶發錯誤發生率高,則必須提高緩衝器容量,使用8個或16個元件。Il4ednc
(作者:David Vincenzoni,意法半導體研發設計工程師)Il4ednc
《電子技術設計》2016年9月刊版權所有,謝絕轉載。Il4ednc
Il4ednc