一種用于光盤伺服控制系統(tǒng)的通用濾波器的設(shè)計
1 引 言
通常,DVD/CD盤片在高速旋轉(zhuǎn)時,由于表面翹曲、不圓度或者外界干擾等因素的存在,使讀數(shù)光束焦深范圍(簡稱讀數(shù)光點)對目標信跡的跟蹤掃描出現(xiàn)誤差。對此,CD、DVD機中設(shè)置了伺服控制系統(tǒng),以實現(xiàn)讀數(shù)光點對目標信跡的動態(tài)跟蹤。該系統(tǒng)以PID(比例微積分)閉環(huán)控制理論為基礎(chǔ),采用數(shù)字濾波的方式實現(xiàn)。該伺服控制系統(tǒng)的實現(xiàn)原理如圖1所示。
圖1中,Gc(z)為控制濾波器,G(s)為光盤讀寫系統(tǒng)的傳遞函數(shù),R(s)為預期輸出響應,C(s)為實際輸出響應。整個閉環(huán)控制系統(tǒng)實現(xiàn)的核心是濾波器,它通過改善誤差(FE)信號的幅相頻特性來實現(xiàn)控制方案。這里,由于濾波器類型和階數(shù)與G(s)密切相關(guān),為了保證伺服控制系統(tǒng)的通用性,必然要設(shè)計一種通用可配置的濾波器,這正是本文所要討論的重點。
2 系統(tǒng)設(shè)計
2.1 設(shè)計原理
數(shù)字濾波器可以用式(1)的差分方程來表示:
其中,x(n)為輸入序列,y(n)為輸出序列,ak、bk為各自的系數(shù)。其對應的系統(tǒng)函數(shù)為:
當ak不都為0時,就是遞歸結(jié)構(gòu)的IIR濾波器;當ak都為0時,就是非遞歸結(jié)構(gòu)的FIR濾波器。
2.2 設(shè)計方法
由于傳統(tǒng)的濾波器設(shè)計都與濾波器的類型密切相關(guān),不同的類型采用不同的乘加網(wǎng)絡(luò)結(jié)構(gòu)實現(xiàn),因此,無法滿足通用的要求。但從濾波器的原始差分表達式(如式(1)所示)可知,F(xiàn)IR和IIR的區(qū)別僅在于ak是否為零,兩者都進行累加乘積計算,這一特點決定了可以采用編程來配置濾波器的類型和階數(shù),再用狀態(tài)機控制累計乘積的方式實現(xiàn)濾波器,從而達到階數(shù)、類型都可配置的目的。
由上述分析可知,所有的x(k)、y(k)、ak、bk均要由存儲器送向運算單元進行計算。若采用以運算單元為中心的馮諾依曼結(jié)構(gòu),依次從存儲器中取數(shù)據(jù)的做法,則必然會使速度受到很大影響。因此,我們借用Harvard結(jié)構(gòu)將指令和數(shù)據(jù)分開編址、存取的做法,將x(k)、y(k)和ak、bk分別存放在不同的存儲器中,單獨編址,加快數(shù)據(jù)處理速度。同時,考慮到x(k)、y(k)可能同時對存儲器讀寫,將讀、寫數(shù)據(jù)總線分開,進一步提高性能。圖2就是采用類Harvard結(jié)構(gòu)設(shè)計的濾波器的結(jié)構(gòu)圖。
圖2中共包含一條指令流,三條數(shù)據(jù)流。指令流用于配置濾波器的和實現(xiàn)濾波器的讀寫控制;數(shù)據(jù)流的D―BUS1用于Y(n)的寫回,D―BUS2用于X(n)、Y(n)的讀出,Coef―BUS用于濾波器系數(shù)的寫回和讀出。因為系數(shù)存儲單元和X(k)、Y(k)存儲單元都采用雙端口SRAM,所以,可同時進行讀、寫操作。
運算單元采用算術(shù)累加器(MAC)實現(xiàn)。MAC由乘法器和加法器組成,其中,乘法器因為速度的限制,通常采用基于查找表(LUT)的并行分布算法(DA)實現(xiàn),但該算法占用硬件資源較多,對實現(xiàn)的濾波器的階數(shù)有一定限制,在本電路中不宜采用。在綜合考慮面積和速度兩方面因素后,最終選用Booth乘法器實現(xiàn)。整個電路的硬件結(jié)構(gòu)圖如圖3所示。
其控制邏輯中的配置寄存器(32bits)設(shè)計如表1所示。
評論