- 相關(guān)推薦
在測控系統(tǒng)中用IP核實(shí)現(xiàn)D/A轉(zhuǎn)換
摘要:采用數(shù)字化技術(shù)、在測控系統(tǒng)中用IP核實(shí)現(xiàn)D/A轉(zhuǎn)換,并且在1片可編程邏輯器件中實(shí)現(xiàn)。它不受溫度的影響,既可保持高分辨率,又可降低對電路精度和穩(wěn)定度的要求,并減少元件的數(shù)量。關(guān)鍵詞:IP D/A VHDL 可編程邏輯器件
在各類電子系統(tǒng)中,數(shù)字電路所占比重越來越大。這主要是因?yàn)閿?shù)字電路相對于模擬電路有一些突出的優(yōu)點(diǎn),例如:
*數(shù)字電路中的有源器件工作在飽和區(qū)與截止區(qū),工作狀態(tài)穩(wěn)定;
*數(shù)字電路處理的是二值信號,易于存儲和再生;
*數(shù)字電路是由大量相同的基本單元,如門、觸發(fā)器等所組成,易于大規(guī)模集成,易于自動化設(shè)計(jì)工具的應(yīng)用等。
由于數(shù)字電路的以上特點(diǎn),再加上數(shù)字計(jì)算機(jī)和數(shù)字信號處理技術(shù)的迅速發(fā)展,使得數(shù)字電路從集成規(guī)模、應(yīng)用范圍及設(shè)計(jì)自動化程度等方面大大超過了模擬電路,越來越多的由模擬電路實(shí)現(xiàn)的功能轉(zhuǎn)由數(shù)字電路實(shí)現(xiàn),進(jìn)入了電子系統(tǒng)數(shù)字化的時代。
在測控系統(tǒng)采用數(shù)字化技術(shù),將原來由模擬電路實(shí)現(xiàn)的D/A由數(shù)字電路實(shí)現(xiàn)。
(范文先生網(wǎng)www.qkfawen.com收集整理)
1 IP核介紹
IP(知識產(chǎn)權(quán))核將一些在數(shù)字電路中常用,但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設(shè)計(jì)成可修改參數(shù)的模塊。IP核的重用是設(shè)計(jì)人員贏得迅速上市時間的主要策略。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜(IC的復(fù)雜度以每年55%的速率遞增,而設(shè)計(jì)能力每年僅提高21%),設(shè)計(jì)者的主要任務(wù)是在規(guī)定的時間周期內(nèi)完成復(fù)雜的設(shè)計(jì)。調(diào)用IP核能避免重復(fù)勞動,大大減輕工程師的負(fù)擔(dān),因此使用IP核是一個發(fā)展趨勢。
IP核包括硬IP與軟IP?膳渲肐P是參數(shù)化后的可重定目標(biāo)IP,其優(yōu)點(diǎn)是可以對功能加以裁剪,以符合特定的應(yīng)用。這些參數(shù)包括總線寬度、存儲器容量、使能或禁止功能塊。
硬IP最大的優(yōu)點(diǎn)是確保性能,如速度、功耗等。然而,硬IP難以轉(zhuǎn)移到新工藝或集成到新結(jié)構(gòu)中,是不可重配置的。
軟IP是以綜合形式交付的,因而必須在目標(biāo)工藝中實(shí)現(xiàn),并由系統(tǒng)設(shè)計(jì)者驗(yàn)證。其優(yōu)點(diǎn)是源代碼靈活,可重定目標(biāo)于多種制作工藝,在新功能級中重新配置。
不過目前大多數(shù)庫是收費(fèi)的,但也可以從網(wǎng)上下載一些免費(fèi)的IP核。
2 用IP核實(shí)現(xiàn)的D/A轉(zhuǎn)換器的功能及特點(diǎn)
數(shù)字到模擬轉(zhuǎn)換器(DACs)將一個二進(jìn)制數(shù)轉(zhuǎn)換為與之對應(yīng)的電壓值,目前常用的D/A轉(zhuǎn)換器都是由電阻或電容加權(quán)網(wǎng)絡(luò)、受碼元控制的開關(guān)和基準(zhǔn)電壓或電流源組成。當(dāng)D/A轉(zhuǎn)換器需要轉(zhuǎn)換的信號每次取樣字長很長時,對這些電路的精度要求很高,并且還必須在整個溫度范圍和整個使用壽命期間內(nèi)保持電路參數(shù)的穩(wěn)定。例如,一個16位的D/A轉(zhuǎn)換器,其MSB的精度必須在1/2 16以內(nèi),這是很困難的。所以,需尋求一種中保持高分辨率又可降低對電路精度和穩(wěn)定度要求的方法。
可綜合的Delta-Sigma DAC(術(shù)語Delta-Sigma分別指算術(shù)差與和,即Δ-∑DAC),是Xilinx公司提供的免費(fèi)IP核,可從網(wǎng)上下載得到。
Delta-Sigma DAC使用數(shù)字技術(shù),因而它不溫度的影響,并且能在一片可編程邏輯器件中實(shí)現(xiàn)。避免在D/A轉(zhuǎn)換器中使用匹配電阻,不僅能更便宜,而且,其轉(zhuǎn)換是線性的。Delta-Sigma DAC實(shí)際上是高速單個位的DAC,用數(shù)字反饋技術(shù),在輸出端產(chǎn)生一串脈沖。脈沖串中信號為高電平的時間部分與二進(jìn)制輸入成比例,當(dāng)這個脈沖串通過一個模擬低通濾波器后就得到一個模擬輸出信號。
圖1是一個典型的可編程邏輯器件實(shí)現(xiàn)的DAC的頂層電路圖,輸入信號有復(fù)位信號、時鐘信號以及二進(jìn)制數(shù)據(jù)總線。輸出DACoutDrvr驅(qū)動一個外部的低通濾波器Vout能從0V~Vcco。這里Vcco是FPGA I/O塊的供電電壓。輸入/輸出詳細(xì)說明如表1所列。
表1 輸入輸出描述表
描 述
DACOUT 輸出 驅(qū)動外部低通濾波器的脈沖串(通過一個輸出驅(qū)動器) DACIN 輸入 數(shù)字輸入總線,值必須設(shè)置成鐘的正沿 clk 輸入 正沿有效 Reset 輸入 復(fù)位信號初始化SigmaLatch和輸出D觸發(fā)器DAC的二進(jìn)制輸入是一個無符號數(shù)!0”代表最低電壓,輸出的模擬電壓也只有正的。“0”輸入產(chǎn)生0V輸出,輸入端全“1”,則輸出近似達(dá)到Vcco。
圖2是Delta-Sigma DAC的原理框圖,二進(jìn)制輸入的位寬是可變的。為簡單起見,電路原理圖描述了一個8位二進(jìn)制輸入的DAC。
在這個器件中,二進(jìn)制加法器用來產(chǎn)生和,也用來產(chǎn)生差。盡管Delta Adder的輸入是無符號數(shù),兩個加法器的輸出卻都是有符號數(shù)。Delta Adder計(jì)算DAC輸入和當(dāng)前DAC輸出的差,并用一個二進(jìn)制數(shù)表示。因?yàn)镈AC的輸出是一個單個的位,因此它不是1就是0。如圖2所示,當(dāng)輸入加上由Sigma Latch的輸出的兩個拷貝與0構(gòu)成的10位數(shù),就產(chǎn)生差值,這也補(bǔ)償了DACIN是無符號數(shù)的事實(shí)。Sigma Adder將它原來的輸出(保存在Sigma Latch中)與當(dāng)前的Delta Adder的輸出相加。
圖1中輸出電壓與輸入電壓的關(guān)系為
VOUT=(DACIN/(2MSBI+1))×VCCO
式中單位為V。
例如,對于一個8位DAC(MSBI=7),最后的輸出是這樣:DACIN輸入是0,則輸出也是0;DACIN輸入是十六進(jìn)制數(shù)FF時,輸出值為最大(255/256)×Vcco。
阻容低通濾波器適合多數(shù)應(yīng)用需要,一個簡單的阻容低通濾波器就能工作得很好。
Vs的定義是:DAC輸入增加或減少時,在Vout端產(chǎn)生變化的絕對值。對一個8位DAC,Vs等于(1/256)×Vcco。
Vout能夠產(chǎn)生在0V~Vcco之間可變的電壓,具體的值由DACIN的位寬和輸入的數(shù)值決定。
Delta-Sigma DAC適合需要相對高精度的低頻應(yīng)用。在這種應(yīng)用中,電壓不會很快地變化,因此,RC的時間常數(shù)可以很大,以減小噪聲。
這種DAC最廣泛的應(yīng)用就是產(chǎn)生通常直流電壓。這包括電壓控制振蕩器、電壓控制運(yùn)算放大器、I/O參數(shù)電壓、可編程電壓源、波形發(fā)生器(正弦、三角等)、A/D轉(zhuǎn)換中的參考電壓等。
Delta-Sigma DAC是一個例子,說明高速可編程邏輯器件能用于混合信號系統(tǒng),以減少元件的數(shù)量?删幊踢壿嬈骷乃俣群兔芏仁顾鼈兂蔀槟M信號產(chǎn)生和處理方面理想的元件。
3 用VHDL語言編寫的程序
library ieee;
use ieeestd_logic_1164.all;
use ieee.std_logic_arith.all;
use ieee.std_logic_unsigned.all;
entity dac_ds is
port(reset :in std_logic;
clk :in std_logic;
din :in std_logic_vector(7 downto 0);--Signed integer
dout :out std_logic;
);
end dac_ds;
architecture arch_dac_ds of dac_ds is
signal error :std_logic_vector(9 downto 0);--Error accumulator is 2 bits larger
constant zeros:std_logic_vector(7 downto 0):=(others=>'0');
begin
process(reset,clk,din)
variable val :std_logic_vector(9 downto 0);
begin
if reset='1'then
error<=(others=>'0');
dout<='0';
elsif clk'event and clk='1' then
--val:=din+error;din is sign extended to nbits+2
val:=(din(din'high)&din(din'high)&din)+error;
if val(val'high)='0'then
dout<='1';
error<=val+("11"& zeros);
else
dout<='0';
error<=val+("01"&zeros);
end if;
end if;
end process;
end arch_dac_ds;
4 芯片的選擇和配置
選擇MAX7000S系列可編程邏輯器件,編譯后由MAX+PLUS II軟件自動配置進(jìn)EMP7032SLC44芯片,將生成的目標(biāo)文件通過編程電纜對器件進(jìn)行編程。
將該IP核實(shí)現(xiàn)的D/A轉(zhuǎn)換器用于新型智能電阻爐溫度控制儀中,因?yàn)檎{(diào)節(jié)爐溫的信號不要求變化很快,因此DAC的輸入二進(jìn)制信號為緩變信號。對于這種低頻應(yīng)用,可以將RC時間常數(shù)取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-Sigma DAC模塊配置進(jìn)EMP7032芯片后,達(dá)到了預(yù)期的效果。
【在測控系統(tǒng)中用IP核實(shí)現(xiàn)D/A轉(zhuǎn)換】相關(guān)文章:
一種可進(jìn)化IP核的設(shè)計(jì)和實(shí)現(xiàn)08-06
Linux 中IP包過濾的實(shí)現(xiàn)08-06
基于Intranet的儲糧測控與糧情分析推理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)08-06
可復(fù)用SPI模塊IP核的設(shè)計(jì)與驗(yàn)證08-06
單總線協(xié)議轉(zhuǎn)換器在分布式測控系統(tǒng)中的應(yīng)用08-06