新聞中心

EEPW首頁 > EDA/PCB > 設(shè)計(jì)應(yīng)用 > 在測(cè)控系統(tǒng)中用IP核實(shí)現(xiàn)D/A轉(zhuǎn)換

在測(cè)控系統(tǒng)中用IP核實(shí)現(xiàn)D/A轉(zhuǎn)換

作者: 時(shí)間:2004-12-08 來源:網(wǎng)絡(luò) 收藏
摘要:采用數(shù)字化技術(shù)、在中用實(shí)現(xiàn)D/A,并且在1片可編程邏輯器件中實(shí)現(xiàn)。它不受溫度的影響,既可保持高分辨率,又可降低對(duì)電路精度和穩(wěn)定度的要求,并減少元件的數(shù)量。

關(guān)鍵詞:IP D/A VHDL 可編程邏輯器件

在各類電子系統(tǒng)中,數(shù)字電路所占比重越來越大。這主要是因?yàn)閿?shù)字電路相對(duì)于模擬電路有一些突出的優(yōu)點(diǎn),例如:

*數(shù)字電路中的有源器件工作在飽和區(qū)與截止區(qū),工作狀態(tài)穩(wěn)定;

*數(shù)字電路處理的是二值信號(hào),易于存儲(chǔ)和再生;

*數(shù)字電路是由大量相同的基本單元,如門、觸發(fā)器等所組成,易于大規(guī)模集成,易于自動(dòng)化設(shè)計(jì)工具的應(yīng)用等。

由于數(shù)字電路的以上特點(diǎn),再加上數(shù)字計(jì)算機(jī)和數(shù)字信號(hào)處理技術(shù)的迅速發(fā)展,使得數(shù)字電路從集成規(guī)模、應(yīng)用范圍及設(shè)計(jì)自動(dòng)化程度等方面大大超過了模擬電路,越來越多的由模擬電路實(shí)現(xiàn)的功能轉(zhuǎn)由數(shù)字電路實(shí)現(xiàn),進(jìn)入了電子系統(tǒng)數(shù)字化的時(shí)代。

采用數(shù)字化技術(shù),將原來由模擬電路實(shí)現(xiàn)的D/A由數(shù)字電路實(shí)現(xiàn)。

1 介紹

IP(知識(shí)產(chǎn)權(quán))核將一些在數(shù)字電路中常用,但比較復(fù)雜的功能塊,如FIR濾波器、SDRAM控制器、PCI接口等設(shè)計(jì)成可修改參數(shù)的模塊。的重用是設(shè)計(jì)人員贏得迅速上市時(shí)間的主要策略。隨著CPLD/FPGA的規(guī)模越來越大,設(shè)計(jì)越來越復(fù)雜(IC的復(fù)雜度以每年55%的速率遞增,而設(shè)計(jì)能力每年僅提高21%),設(shè)計(jì)者的主要任務(wù)是在規(guī)定的時(shí)間周期內(nèi)完成復(fù)雜的設(shè)計(jì)。調(diào)用IP核能避免重復(fù)勞動(dòng),大大減輕工程師的負(fù)擔(dān),因此使用IP核是一個(gè)發(fā)展趨勢(shì)。

IP核包括硬IP與軟IP??膳渲肐P是參數(shù)化后的可重定目標(biāo)IP,其優(yōu)點(diǎn)是可以對(duì)功能加以裁剪,以符合特定的應(yīng)用。這些參數(shù)包括總線寬度、存儲(chǔ)器容量、使能或禁止功能塊。

硬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)于多種制作工藝,在新功能級(jí)中重新配置。

不過目前大多數(shù)庫是收費(fèi)的,但也可以從網(wǎng)上下載一些免費(fèi)的IP核。

2 用IP核實(shí)現(xiàn)的D/A器的功能及特點(diǎn)

數(shù)字到模擬器(DACs)將一個(gè)二進(jìn)制數(shù)轉(zhuǎn)換為與之對(duì)應(yīng)的電壓值,目前常用的D/A轉(zhuǎn)換器都是由電阻或電容加權(quán)網(wǎng)絡(luò)、受碼元控制的開關(guān)和基準(zhǔn)電壓或電流源組成。當(dāng)D/A轉(zhuǎn)換器需要轉(zhuǎn)換的信號(hào)每次取樣字長很長時(shí),對(duì)這些電路的精度要求很高,并且還必須在整個(gè)溫度范圍和整個(gè)使用壽命期間內(nèi)保持電路參數(shù)的穩(wěn)定。例如,一個(gè)16位的D/A轉(zhuǎn)換器,其MSB的精度必須在1/2 16以內(nèi),這是很困難的。所以,需尋求一種中保持高分辨率又可降低對(duì)電路精度和穩(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í)際上是高速單個(gè)位的DAC,用數(shù)字反饋技術(shù),在輸出端產(chǎn)生一串脈沖。脈沖串中信號(hào)為高電平的時(shí)間部分與二進(jìn)制輸入成比例,當(dāng)這個(gè)脈沖串通過一個(gè)模擬低通濾波器后就得到一個(gè)模擬輸出信號(hào)。

圖1是一個(gè)典型的可編程邏輯器件實(shí)現(xiàn)的DAC的頂層電路圖,輸入信號(hào)有復(fù)位信號(hào)、時(shí)鐘信號(hào)以及二進(jìn)制數(shù)據(jù)總線。輸出DACoutDrvr驅(qū)動(dòng)一個(gè)外部的低通濾波器Vout能從0V~Vcco。這里Vcco是FPGA I/O塊的供電電壓。輸入/輸出詳細(xì)說明如表1所列。

表1 輸入輸出描述表

信 號(hào)方 向

描 述

DACOUT輸出驅(qū)動(dòng)外部低通濾波器的脈沖串(通過一個(gè)輸出驅(qū)動(dòng)器)
DACIN輸入數(shù)字輸入總線,值必須設(shè)置成鐘的正沿
clk輸入正沿有效
Reset輸入復(fù)位信號(hào)初始化SigmaLatch和輸出D觸發(fā)器

DAC的二進(jìn)制輸入是一個(gè)無符號(hào)數(shù)。“0”代表最低電壓,輸出的模擬電壓也只有正的。“0”輸入產(chǎn)生0V輸出,輸入端全“1”,則輸出近似達(dá)到Vcco。

圖2是Delta-Sigma DAC的原理框圖,二進(jìn)制輸入的位寬是可變的。為簡單起見,電路原理圖描述了一個(gè)8位二進(jìn)制輸入的DAC。

在這個(gè)器件中,二進(jìn)制加法器用來產(chǎn)生和,也用來產(chǎn)生差。盡管Delta Adder的輸入是無符號(hào)數(shù),兩個(gè)加法器的輸出卻都是有符號(hào)數(shù)。Delta Adder計(jì)算DAC輸入和當(dāng)前DAC輸出的差,并用一個(gè)二進(jìn)制數(shù)表示。因?yàn)镈AC的輸出是一個(gè)單個(gè)的位,因此它不是1就是0。如圖2所示,當(dāng)輸入加上由Sigma Latch的輸出的兩個(gè)拷貝與0構(gòu)成的10位數(shù),就產(chǎn)生差值,這也補(bǔ)償了DACIN是無符號(hào)數(shù)的事實(shí)。Sigma Adder將它原來的輸出(保存在Sigma Latch中)與當(dāng)前的Delta Adder的輸出相加。

圖1中輸出電壓與輸入電壓的關(guān)系為

VOUT=(DACIN/(2MSBI+1))VCCO

式中單位為V。

例如,對(duì)于一個(gè)8位DAC(MSBI=7),最后的輸出是這樣:DACIN輸入是0,則輸出也是0;DACIN輸入是十六進(jìn)制數(shù)FF時(shí),輸出值為最大(255/256)Vcco。

阻容低通濾波器適合多數(shù)應(yīng)用需要,一個(gè)簡單的阻容低通濾波器就能工作得很好。

Vs的定義是:DAC輸入增加或減少時(shí),在Vout端產(chǎn)生變化的絕對(duì)值。對(duì)一個(gè)8位DAC,Vs等于(1/256)Vcco。

Vout能夠產(chǎn)生在0V~Vcco之間可變的電壓,具體的值由DACIN的位寬和輸入的數(shù)值決定。

Delta-Sigma DAC適合需要相對(duì)高精度的低頻應(yīng)用。在這種應(yīng)用中,電壓不會(huì)很快地變化,因此,RC的時(shí)間常數(shù)可以很大,以減小噪聲。

這種DAC最廣泛的應(yīng)用就是產(chǎn)生通常直流電壓。這包括電壓控制振蕩器、電壓控制運(yùn)算放大器、I/O參數(shù)電壓、可編程電壓源、波形發(fā)生器(正弦、三角等)、A/D轉(zhuǎn)換中的參考電壓等。

Delta-Sigma DAC是一個(gè)例子,說明高速可編程邏輯器件能用于混合信號(hào)系統(tǒng),以減少元件的數(shù)量??删幊踢壿嬈骷乃俣群兔芏仁顾鼈兂蔀槟M信號(hào)產(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軟件自動(dòng)配置進(jìn)EMP7032SLC44芯片,將生成的目標(biāo)文件通過編程電纜對(duì)器件進(jìn)行編程。

將該IP核實(shí)現(xiàn)的D/A轉(zhuǎn)換器用于新型智能電阻爐溫度控制儀中,因?yàn)檎{(diào)節(jié)爐溫的信號(hào)不要求變化很快,因此DAC的輸入二進(jìn)制信號(hào)為緩變信號(hào)。對(duì)于這種低頻應(yīng)用,可以將RC時(shí)間常數(shù)取得較大,以減小噪聲。這樣,可綜合的VHDL語言Delta-Sigma DAC模塊配置進(jìn)EMP7032芯片后,達(dá)到了預(yù)期的效果。



評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉