David Vincenzoni,意法半導體研發(fā)設計工程師
前言
有時(shí)候我們需要進(jìn)行某一個(gè)特定量級的測量,但是噪聲或偶發(fā)干擾引起的數據錯誤可能會(huì )影響測量。假設我們有一個(gè)參數測量電路,偶爾會(huì )記錄一個(gè)錯誤數值,這時(shí)我們就要以某種方式對測量值進(jìn)行“過(guò)濾”,濾除記錄值中的錯誤數值。
本文將介紹一個(gè)能夠在噪聲環(huán)境中減少或濾除偶發(fā)錯誤測量值的數字電路。
智能移動(dòng)平均數
延遲線(xiàn)(DL)電路是一個(gè)廣為人知的概念,是一個(gè)可將電信號延遲一段時(shí)間的邏輯元件。從DDR SDRAM (雙倍數據率同步動(dòng)態(tài)隨機存取存儲器)到DLL(延遲鎖相環(huán)),延遲線(xiàn)的應用范圍十分廣泛。在DL延遲線(xiàn)模塊內,為生成一個(gè)確定性移相信號,我們需要設定邏輯元件的延時(shí),并調整延時(shí)設置,以補償制程、電壓和溫度(PVT)對測量值的影響。

圖1: 延遲線(xiàn)示例
圖 1給出一個(gè)預定數量的延遲單元構成的延遲線(xiàn)電路和通過(guò)配置字實(shí)現的反饋通道(Dfb)的示例,通過(guò)延遲配置字,可以在Din引腳輸入信號和Dout引腳輸出信號之間設定所需 延時(shí)。每個(gè)延遲單元在Din和Dl兩個(gè)引腳之間生成固定的通道延時(shí)。
我們可以通過(guò)多種方式計算符合理想延遲要求的配置字,計算已知時(shí)鐘延長(cháng)一個(gè)周期所需延遲單元的數量就是其中一種方法。確定一個(gè)延遲單元的延時(shí)不難。圖2所示是這種計算方法的原理;ClkIN 是已知時(shí)鐘信號,輸出是延長(cháng)一個(gè)周期的ClkIN信號。這個(gè)模塊的輸出(延遲單元的數量)用于確定延遲線(xiàn)的配置,如圖1所示。

圖2: 延遲配置字計算示例
如果噪聲或干擾在ClkIN上引起尖峰,測量精確度將會(huì )受到錯誤數據的影響。眾所 周知,錯誤的設置可能導致延遲線(xiàn)電路暫時(shí)性功能紊亂。假設在一段時(shí)間內,參考周期比標稱(chēng)值小很多或大很多,輸入延長(cháng)線(xiàn)的新計算值將會(huì )與以前的數值有很大差異。圖1所示的DL將會(huì )生成一個(gè)錯誤信號,被隨機抖動(dòng)信號吸收。
圖3中的示例描述了當參考時(shí)鐘ClkIN有一個(gè)大的峰對峰抖動(dòng)脈沖時(shí)所發(fā)生的情況,這時(shí)延遲單元數量的計算值不同于標稱(chēng)值。

圖3: ClkIN上的尖峰信號和錯誤延遲計算示例
對于這種問(wèn)題,我們可以使用一個(gè)數字錯誤補償電路,通過(guò)智能方式計算這些數據的移動(dòng)平均數。查看圖3示例中延遲計算值,錯誤數據(delay=15和delay=12)可以忽略丟棄,因為這些計算值遠遠小于平均數,同時(shí)可以使用新的采樣的平均數delay=30更新上一個(gè)平均數。
移動(dòng)平均數的原理(圖4)是采集N個(gè)最新的測量值 ,然后計算這些數值的平均數。只有新數據值與上一次N個(gè)采樣的實(shí)際平均數差別不是很大時(shí),新數據才會(huì )加進(jìn)緩沖電路(Sx)。

圖4: 智能移動(dòng)平均數電路
圖 4所未的有限狀態(tài)機(FSM)可以精確地管理這項任務(wù),檢查每個(gè)新校準值,并將其與此時(shí)的平均數最大值和最小值進(jìn)行對比。當新數值在設定范圍外時(shí),新數據將被濾除,不加進(jìn)移動(dòng)平均數內。
顯然這個(gè)電路是取模運算,但是保留已存儲采樣數量(Sx)的二次冪才是使運算邏輯最小化的最佳設置,這樣可以最大限度減少加法器元件數量,節省通用除法器。新輸入數據向右移兩位,執行除四運算,零成本。
用于保存采樣的緩沖器(Sx)的容量是M-2,這里M 代表輸入數據總線(xiàn)位寬。該電路是由三個(gè)有進(jìn)位功能的全加器組成,運算結果被有限狀態(tài)機用于檢查新輸入數據。
有限狀態(tài)機就是為該電路帶來(lái)一些智能的邏輯電路。圖5所示是有限狀態(tài)機的流程圖。

圖5: 智能移動(dòng)平均數FSM
在啟動(dòng)時(shí),因為比較點(diǎn)沒(méi)有平均值可用,所以第一個(gè)數據保存在Sx緩沖器內,代表初始瞬態(tài)值。當緩沖器寫(xiě)滿(mǎn)數據時(shí),開(kāi)始計算平均值。當時(shí)鐘頻率高時(shí),數據通道可能受到應力,為避免這個(gè)問(wèn)題,可以加進(jìn)一個(gè)小的計數器延遲。圖 5所示的AVERAGE代表穩態(tài)。這里有限狀態(tài)機在等待一個(gè)新的數據點(diǎn),該數據點(diǎn)將與下一個(gè)狀態(tài)上的平均值CHECK DATA對比。從硬件角度看,比較任務(wù)量不大,而且對濾除錯誤采樣很有效。數據比較過(guò)程與我們要測量的數據有關(guān)。當數據受到PVT影響時(shí),例如,本文討論的延遲線(xiàn),因為主要是溫度變化影響數據,所以數值變化比較小。在這種情況下,我們預計新輸入數據與前一個(gè)平均數和最新四個(gè)數據的平均值差別不大。對于這種特殊情況,可以采用下面方式完成數據比較過(guò)程:
·只比較最高有效位
·如果這部分與平均值相差不太大,新數據將被保存,同時(shí)平均值也會(huì )相應地更新
·如果這部分與平均值相差太大,新數據將被丟棄,平均值保持不變。
圖6給出一個(gè)比較表的示例。新輸入數據的可能取值范圍分成四部分,只有最高有效位用于數據比較,某些情況還需要檢查第三位。當新數據的最高有效位是“00”時(shí),前四個(gè)采樣平均值的最高有效位在“00”和“01”之間是可以接受的。否則,新輸入數據將被丟棄。同樣,當輸入數據是“01”、“10、”、“11”時(shí),新輸入數據將被丟棄。

圖6: 數據比較方法
結論
本文討論一個(gè)能夠濾除邏輯電路輸入數據受到各種干擾的數字電路,例如,濾除本文討論的延遲線(xiàn)輸入信號受到的干擾。這個(gè)智能移動(dòng)平均數電路有助于降低干擾影響,不只是計算平均值,還能濾除可能?chē)乐赜绊懸苿?dòng)平均數的錯誤采樣,錯誤采樣濾除規則取決于輸入數據的預計變化速率。在本文中我們看到,如果影響數據的因素是溫度,我們預計采樣變化率很小,在這種情況下,比較邏輯簡(jiǎn)單,元件數量少。
計數平均數所需的元件數量還取決于錯誤數據的發(fā)生率;如果只是偶發(fā)錯誤,平均數邏輯單元數量就會(huì )少些(例如,圖4);如果偶發(fā)錯誤發(fā)生率高,則必須提高緩沖器容量,使用8個(gè)或16個(gè)元件。 |