歐陽雪,鄒文英
(中國電子科技集團(tuán)公司第58研究所,江蘇 無錫 214035)
數(shù)控振蕩器是數(shù)字通訊中調(diào)制解調(diào)單元必不可少的部分,同時(shí)也是各種數(shù)字頻率合成器和數(shù)字信號發(fā)生器的核心部分,具有頻率分辨率高、頻率變化速度快、相位可連續(xù)線性變化和生成的正/余弦信號正交特性好等特點(diǎn)。而且數(shù)控振蕩器的相位、幅度均已數(shù)字化,可以直接進(jìn)行高精度的數(shù)字調(diào)制/解調(diào)。隨著數(shù)字通信技術(shù)的發(fā)展,傳送的數(shù)據(jù)速率越來越高,如何得到一個(gè)可數(shù)控的高頻載波信號是實(shí)現(xiàn)高速數(shù)字通信系統(tǒng)必須解決的問題。本文將介紹用查表法實(shí)現(xiàn)數(shù)控振蕩器的ASIC設(shè)計(jì)的一種方法。
NCO(Numerical Controlled Oscillator)即數(shù)控振蕩器用于產(chǎn)生可控的正弦波或余弦波,其實(shí)現(xiàn)的方法目前主要有計(jì)算法和查表法等。計(jì)算法以軟件編程的方式通過實(shí)時(shí)計(jì)算產(chǎn)生正弦波樣本,該方法耗時(shí)多且只能產(chǎn)生頻率相對較低的正弦波,而需要產(chǎn)生高速的正交信號時(shí),用此方法無法實(shí)現(xiàn)。因此,在實(shí)際應(yīng)用中一般采用最有效、最簡單的查表法,即事先根據(jù)各個(gè)NCO正弦波相位計(jì)算好相位的正弦值,并以相位角度作為地址把該相位的正弦值數(shù)據(jù)存儲在表中,然后通過相位累加產(chǎn)生地址信息,讀取當(dāng)前時(shí)刻的相位值在表中對應(yīng)的正弦值,構(gòu)成一個(gè)幅度/相位轉(zhuǎn)換電路(即波形存儲器),通過該轉(zhuǎn)換電路產(chǎn)生所需頻率的正弦波。
用查表法實(shí)現(xiàn)NCO的性能指標(biāo)取決于查表的深度和寬度,即取決于表示相位數(shù)據(jù)的位數(shù)(查表存儲器地址線的位數(shù))和表示正弦值數(shù)據(jù)的位數(shù)(查表存儲器數(shù)據(jù)線的位數(shù))。改善NCO性能最簡單和最根本的方法是加大查找表的深度和寬度。目前,用查找表法實(shí)現(xiàn)NCO的普遍做法是用片內(nèi)ROM作為查找表,由于片內(nèi)資源的限制,查找表的深度和寬度一般不會很大,大大限制了NCO性能的提高,因此,設(shè)計(jì)高速、高精度的NCO時(shí),大容量、讀取速度快的ROM設(shè)計(jì)成為一大難題。采用正向全定制設(shè)計(jì)ROM模塊,嵌入片內(nèi)與標(biāo)準(zhǔn)單元進(jìn)行布局布線,是用查表法實(shí)現(xiàn)數(shù)控振蕩器的ASIC設(shè)計(jì)的一種好方法?;诖嗽O(shè)計(jì)構(gòu)想,筆者成功地利用0.5μm單多晶三鋁的CMOS工藝設(shè)計(jì)加工出一款48位編碼的高速、高精度NCO集成電路。
圖1 NCO的結(jié)構(gòu)框圖
圖1是數(shù)控振蕩器的頂層電路結(jié)構(gòu),可以看到主要部件分為頻率控制字寄存器,相位控制字寄存器、累加器、加法器、鎖存器等。
3.2.1 功能框圖
該電路可以在WRN、CSN及ADDR總線的控制下,將DATA總線上的數(shù)據(jù)置入48位數(shù)據(jù)緩沖器中,在LDSTB下降沿的時(shí)候通過CLOCK將緩沖器中的數(shù)據(jù)每4位為1個(gè)單位,分12個(gè)節(jié)拍鎖入鎖存器中,累加器每次將最新的結(jié)果和鎖存器中的數(shù)據(jù)相加,輸出最高的13位結(jié)果,然后根據(jù)電路外部SIN和TWO兩個(gè)控制線的狀態(tài)輸出相應(yīng)數(shù)字格式的正余弦波。
圖2 48位NCO的功能框圖
3.2.2 頻率控制字寄存器、相位控制寄存器、累加器和加法器的設(shè)計(jì)
頻率控制字寄存器和相位控制字寄存器都是48位并行輸入/并行輸出寄存器,它們通過微處理器接口進(jìn)行讀寫。頻率控制字寄存器確定載波的頻率,相位控制字寄存器確定載波的初始相位。48位累加器對代表頻率的頻率控制字進(jìn)行累加運(yùn)算,累加器對系統(tǒng)時(shí)鐘進(jìn)行計(jì)數(shù),每到達(dá)輸入頻率控制字的值即進(jìn)行累加,累加結(jié)果與代表初始相位的相位控制字通過48位加法器進(jìn)行相加運(yùn)算,在本電路中,取相加結(jié)果的高13位數(shù)據(jù)讀取查找表的地址信息。
其中,累加器是決定NCO性能的一個(gè)關(guān)鍵模塊,可以利用進(jìn)位鏈實(shí)現(xiàn)快速、高效的電路結(jié)構(gòu),但是,過長的進(jìn)位鏈會減少其他邏輯使用的布線資源;同時(shí),也會制約整個(gè)系統(tǒng)速度的提高。因此,設(shè)計(jì)中采用進(jìn)位鏈和流水線技術(shù)相結(jié)合的辦法,能大幅提高系統(tǒng)的性能和速度。其原理結(jié)構(gòu)如圖3所示。
圖3 采用流水線技術(shù)的累加器結(jié)構(gòu)原理圖
針對該電路的設(shè)計(jì)要求設(shè)計(jì)帶流水線技術(shù)的48位高速并行相位累加器,每個(gè)時(shí)鐘周期產(chǎn)生一個(gè)新的累加值,超出波形發(fā)生器最大值的累加值被溢出,并取48位數(shù)據(jù)的高13位作為波形發(fā)生器的地址信息,累加器的邏輯圖如圖4。
圖4 電路相位累加器邏輯圖
3.2.3 ROM模塊設(shè)計(jì)
正余弦查找表的設(shè)計(jì)也是NCO電路關(guān)鍵的一塊,本電路設(shè)計(jì)用13位≥12位(8192×12)的查找表,并采用Y對稱原則進(jìn)行相位簡化為(4096×12)查找表,再進(jìn)行正負(fù)幅度簡化為(4096×11)查找表,評估X對稱原則(即取四分之一象限)簡化為(2048×11)查找表,采用兩個(gè)相同ROM模塊實(shí)現(xiàn),結(jié)構(gòu)如圖5。
圖5 簡化后的ROM結(jié)構(gòu)圖
為達(dá)到讀取速度的要求,ROM單元晶體管級的電路設(shè)計(jì)如圖6,兩個(gè)N管共漏減小位電容,版圖設(shè)計(jì)時(shí)在柵上覆蓋三鋁,減小電阻。再根據(jù)此單元,全定制設(shè)計(jì)一字長11位、字深11位(2048×11)的ROM模塊,嵌入自動布局布線的版圖內(nèi)部。
圖6 ROM單元晶體管級電路圖
按照上述結(jié)構(gòu),筆者設(shè)計(jì)的電路工作時(shí)鐘為80MHz。用DSP作為微處理器,通過系統(tǒng)測試,該NCO的性能指標(biāo)達(dá)到了設(shè)計(jì)要求,頻率分辨率Δf=0.0186Hz,輸出頻率fout=25MHz(當(dāng)然,NCO輸出頻率的上限要受到Nyquist定律的限制,即fout的最大值為工作時(shí)鐘的1/2,實(shí)際設(shè)計(jì)一般不大于0.4fclk)。圖7為NCO的部分仿真時(shí)序圖。
圖7 寫時(shí)序和輸出時(shí)序圖
本文介紹了一種NCO的ASIC實(shí)現(xiàn)方法,用該方法設(shè)計(jì)的NCO可實(shí)現(xiàn)對載波頻率、相位和幅度的完全控制,由于片內(nèi)全定制設(shè)計(jì)ROM作為查找表,并引入流水線結(jié)構(gòu)設(shè)計(jì),使得NCO有較高的精度,且電路結(jié)構(gòu)簡單,可靠性高,在數(shù)控振蕩器的傳統(tǒng)設(shè)計(jì)方法上提高了電路精度和頻率,非常適用于在正交數(shù)字混頻器重進(jìn)行高精度的數(shù)字調(diào)制/解調(diào)。