<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;" id="_atxgbpjgosi"><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3390.html&ccd=24&dis=0&dc=3&chi=50&dtm=HTML_POST&tpr=1541904423111&pis=-1x-1&psr=1366x768&dai=1&ti=8%E4%BD%8DA%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8ADC0809_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&tlm=1494517300&cja=false&pss=1173x1408&cec=gbk&drs=1&cpl=30&exps=111000&dri=0&cdo=-1&ari=2&tcn=1541904423&col=zh-CN&cce=true&ant=0&cfv=0&pcs=1173x182&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3391.html&cmi=42&par=1366x728&ps=348x806" frameborder="0" height="180" width="336"></iframe></div></div>
讯享网
ADC0809是单片双列直插式集成电路芯片,是8通路8位A/D转换器,其主要特点是:分辨率8位;总的不可调误差±1LSB;当模拟输入电压范围为0~5V时,可使用单一的+5V电源;转换时间100μs;温度范围-40~+
讯享网;不需另加接口逻辑可直接与CPU连接;可以输入8路模拟信号;输出带锁存器;逻辑电平与TTL兼容。
1、电路组成及转换原理
ADC0809是一种带有8位转换器、8位多路切换开关以及与微处理机兼容的控制逻辑的CMOS组件。8位A/D转换器的转换方法为逐次逼近法。在A/D转换器的内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关树组的256R分压器,以及一个逐次逼近的寄存器。八路的模拟开关由地址锁存器和译码器控制,可以在八个通道中任意访问一个单边的模拟信号,其原理框图如图1所示。
图1 ADC0808/0809原理框图
ADC0809无需调零和满量程调整,又由于多路开关的地址输入能够进行锁存和译码,而且它的三态TTL输出也可以锁存,所以易于与微处理机进行接口。
从图中可以看出,ADC0809由两大部分所组成,第一部分为八通道多路模拟开关,它的基本原理与CD4051类似。它用于控制C、B、A端子和地址锁存允许端子,可使其中一个通道被选中。第二部分为一个逐次逼近型A/D转换器,它由比较器、控制逻辑、输出缓冲锁存器、逐次逼近寄存器以及开关树组和256R电阻分压器组成。后两种电路(即开关树组和256R电阻分压器)组成D/A转换器。控制逻辑用来控制逐次逼近寄存器从高位到低位逐次取“1”,然后将此数字量送到开关树组(8位开关),用来控制开关~
与参考电平相连接。参考电平经256R电阻分压器,则输出一个模拟电压
,
、
在比较器中进行比较。当
>
时,本位D=0;当
≤
时,则本位D=1。因此,从
~
比较8次即可逐次逼近寄存器中的数字量,即与模拟量
所相当的数字量相等。此数字量送入输出锁存器,并同时发转换结束脉冲。
2、ADC0808/0809的外引脚功能
图2 ADC0808/0809管脚排列图
ADC0808/0809的管脚排列如图2所示,其主要管脚的功能如下:
IN0~IN7——8个模拟量输入端。
START——启动A/D转换器,当START为高电平时,开始A/D转换。
EOC——转换结束信号。当A/D转换完毕之后,发出一个正脉冲,表示A/D转换结束。此信号可用作为A/D转换是否结束的检测信号或中断申请信号。
OE——输出允许信号。如此信号被选中时,允许从A/D转换器锁存器中读取数字量。
CLOCK——时钟信号。
ALE——地址锁存允许,高电平有效。当ALE为高电平时,允许C、B、A所示的通道被选中,并将该通道的模拟量接入A/D转换器。
ADDA、ADDB、ADDC——通道号地址选择端,C为最高位,A为最低位。当C、B、A全零(000)时,选中IN0通道接入;为001时,选中INl通道接入;为111时,选中IN7通道接入。
~
——数字量输出端。
(+)、
(-)——参考电压输入端,分别接+、-极性的参考电压,用来提供D/A转换器权电阻的标准电平。在模拟量为单极性输入时;
(+)=5V,
(-)=0V,当模拟量为双极性输入时,
(+)、
(-)。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;" id="_atxgbpjgosi"><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3390.html&ccd=24&dis=0&dc=3&chi=50&dtm=HTML_POST&tpr=1541904423111&pis=-1x-1&psr=1366x768&dai=1&ti=8%E4%BD%8DA%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8ADC0809_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&tlm=1494517300&cja=false&pss=1173x1408&cec=gbk&drs=1&cpl=30&exps=111000&dri=0&cdo=-1&ari=2&tcn=1541904423&col=zh-CN&cce=true&ant=0&cfv=0&pcs=1173x182&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3391.html&cmi=42&par=1366x728&ps=348x806" frameborder="0" height="180" width="336"></iframe></div></div>
ADC0809是单片双列直插式集成电路芯片,是8通路8位A/D转换器,其主要特点是:分辨率8位;总的不可调误差±1LSB;当模拟输入电压范围为0~5V时,可使用单一的+5V电源;转换时间100μs;温度范围-40~+;不需另加接口逻辑可直接与CPU连接;可以输入8路模拟信号;输出带锁存器;逻辑电平与TTL兼容。
1、电路组成及转换原理
ADC0809是一种带有8位转换器、8位多路切换开关以及与微处理机兼容的控制逻辑的CMOS组件。8位A/D转换器的转换方法为逐次逼近法。在A/D转换器的内部含有一个高阻抗斩波稳定比较器,一个带有模拟开关树组的256R分压器,以及一个逐次逼近的寄存器。八路的模拟开关由地址锁存器和译码器控制,可以在八个通道中任意访问一个单边的模拟信号,其原理框图如图1所示。
图1 ADC0808/0809原理框图
ADC0809无需调零和满量程调整,又由于多路开关的地址输入能够进行锁存和译码,而且它的三态TTL输出也可以锁存,所以易于与微处理机进行接口。
从图中可以看出,ADC0809由两大部分所组成,第一部分为八通道多路模拟开关,它的基本原理与CD4051类似。它用于控制C、B、A端子和地址锁存允许端子,可使其中一个通道被选中。第二部分为一个逐次逼近型A/D转换器,它由比较器、控制逻辑、输出缓冲锁存器、逐次逼近寄存器以及开关树组和256R电阻分压器组成。后两种电路(即开关树组和256R电阻分压器)组成D/A转换器。控制逻辑用来控制逐次逼近寄存器从高位到低位逐次取“1”,然后将此数字量送到开关树组(8位开关),用来控制开关~
与参考电平相连接。参考电平经256R电阻分压器,则输出一个模拟电压
,
、
在比较器中进行比较。当
>
时,本位D=0;当
≤
时,则本位D=1。因此,从
~
比较8次即可逐次逼近寄存器中的数字量,即与模拟量
所相当的数字量相等。此数字量送入输出锁存器,并同时发转换结束脉冲。
2、ADC0808/0809的外引脚功能
图2 ADC0808/0809管脚排列图
ADC0808/0809的管脚排列如图2所示,其主要管脚的功能如下:
IN0~IN7——8个模拟量输入端。
START——启动A/D转换器,当START为高电平时,开始A/D转换。
EOC——转换结束信号。当A/D转换完毕之后,发出一个正脉冲,表示A/D转换结束。此信号可用作为A/D转换是否结束的检测信号或中断申请信号。
OE——输出允许信号。如此信号被选中时,允许从A/D转换器锁存器中读取数字量。
CLOCK——时钟信号。
ALE——地址锁存允许,高电平有效。当ALE为高电平时,允许C、B、A所示的通道被选中,并将该通道的模拟量接入A/D转换器。
ADDA、ADDB、ADDC——通道号地址选择端,C为最高位,A为最低位。当C、B、A全零(000)时,选中IN0通道接入;为001时,选中INl通道接入;为111时,选中IN7通道接入。
~
——数字量输出端。
(+)、
(-)——参考电压输入端,分别接+、-极性的参考电压,用来提供D/A转换器权电阻的标准电平。在模拟量为单极性输入时;
(+)=5V,
(-)=0V,当模拟量为双极性输入时,
(+)、
(-)。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_gm16y4xj76"><div id="qykxvzj" style="padding-left:0px;"><div><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3389.html&ant=0&dtm=HTML_POST&ti=A%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E6%8A%80%E6%9C%AF%E5%8F%82%E6%95%B0_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&cfv=0&psr=1366x768&tlm=1494517300&dai=1&pcs=1173x182&dri=0&dis=0&ari=2&cce=true&col=zh-CN&par=1366x728&tcn=1541904424&chi=50&exps=111000&cdo=-1&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3390.html&dc=3&pis=-1x-1&pss=1173x925&tpr=1541904424397&ccd=24&cmi=42&drs=1&cec=gbk&cpl=30&ps=348x806&cja=false" frameborder="0" height="180" width="336"></iframe></div></div></div></div>
A/D转换器的种类很多,按转换二进制的位数分类包括:8位的ADC0801、0804、0808、0809;10位的AD7570、AD573、AD575、AD579;12位的AD574、AD578、AD7582;16位的AD7701、AD7705等。A/D转换器的主要技术参数如下:
1、分辨率
分辨率通常用转换后数字量的位数表示。如8位、l0位、12位、16位等。分辨率为8位表示它可以对满量程的1/28=1/256的增量作出反应。分辩率是指能使转换后数字量变化1的最小模拟输入量。
2、量程
量程是指所能转换的电压范围。如5V、10V等。
3、转换精度
转换精度是指转换后所得结果相对于实际值的准确度,有绝对精度和相对精度两种表示法。绝对精度常用数字量的位数表示,如绝对精度为±1/2LSB。相对精度用相对于满量程的百分比表示。如满量程为10V的8位A/D转换器,其绝对精度为1/2×=±19.5mV,而8位A/D的相对精度为
×100%≈0.39%。
精度和分辨率不能混淆。即使分辨率很高,但温度漂移、线性不良等原因可能造成精度并不是很高。
4、转换时间
转换时间是指启动A/D到转换结束所需的时间。不同型号、不同分辨率的器件,转换时间相差很大。一般几s~几百ms,逐次逼近式A/D转换器的转换时间为1~200
s。在设计模拟量输入通道时,应按实际应用的需要和成本来确定这一项参数的选择。
5、工作温度范围
较好的A/D转换器的工作温度为-40~,较差的为0~
。应根据具体应用要求查器件手册,选择适用的型号。超过工作温度范围,将不能保证达到额定精度指标。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_gm16y4xj76"><div id="qykxvzj" style="padding-left:0px;"><div><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3389.html&ant=0&dtm=HTML_POST&ti=A%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E6%8A%80%E6%9C%AF%E5%8F%82%E6%95%B0_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&cfv=0&psr=1366x768&tlm=1494517300&dai=1&pcs=1173x182&dri=0&dis=0&ari=2&cce=true&col=zh-CN&par=1366x728&tcn=1541904424&chi=50&exps=111000&cdo=-1&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3390.html&dc=3&pis=-1x-1&pss=1173x925&tpr=1541904424397&ccd=24&cmi=42&drs=1&cec=gbk&cpl=30&ps=348x806&cja=false" frameborder="0" height="180" width="336"></iframe></div></div></div></div>
A/D转换器的种类很多,按转换二进制的位数分类包括:8位的ADC0801、0804、0808、0809;10位的AD7570、AD573、AD575、AD579;12位的AD574、AD578、AD7582;16位的AD7701、AD7705等。A/D转换器的主要技术参数如下:
1、分辨率
分辨率通常用转换后数字量的位数表示。如8位、l0位、12位、16位等。分辨率为8位表示它可以对满量程的1/28=1/256的增量作出反应。分辩率是指能使转换后数字量变化1的最小模拟输入量。
2、量程
量程是指所能转换的电压范围。如5V、10V等。
3、转换精度
转换精度是指转换后所得结果相对于实际值的准确度,有绝对精度和相对精度两种表示法。绝对精度常用数字量的位数表示,如绝对精度为±1/2LSB。相对精度用相对于满量程的百分比表示。如满量程为10V的8位A/D转换器,其绝对精度为1/2×=±19.5mV,而8位A/D的相对精度为
×100%≈0.39%。
精度和分辨率不能混淆。即使分辨率很高,但温度漂移、线性不良等原因可能造成精度并不是很高。
4、转换时间
转换时间是指启动A/D到转换结束所需的时间。不同型号、不同分辨率的器件,转换时间相差很大。一般几s~几百ms,逐次逼近式A/D转换器的转换时间为1~200
s。在设计模拟量输入通道时,应按实际应用的需要和成本来确定这一项参数的选择。
5、工作温度范围
较好的A/D转换器的工作温度为-40~,较差的为0~
。应根据具体应用要求查器件手册,选择适用的型号。超过工作温度范围,将不能保证达到额定精度指标。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_kox5n18zojr"><div style="width:0px;height:0px;padding-right:0px;"></div><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3388.html&drs=1&tlm=1494517300&cja=false&ccd=24&cpl=30&par=1366x728&ti=A%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&ari=2&col=zh-CN&chi=50&pss=1173x827&ant=0&cec=gbk&dc=3&ps=348x806&cce=true&tcn=1541904426&exps=111000,118000&cfv=0&cdo=-1&pcs=1173x182&tpr=1541904425908&dis=0&dai=1&dtm=HTML_POST&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3389.html&cmi=42&psr=1366x768&pis=-1x-1&dri=0" frameborder="0" height="180" width="336"></iframe></div></div>
逐次逼近式A/D转换器的原理如图1所示。它由逐次逼近寄存器、D/A转换器、比较器和缓冲寄存器等组成。当启动信号由高电乎变为低电平时,逐次逼近寄存器清0,这时,D/A转换器输出电压V0也为0,当启动信号变为高电平时,转换开始,同时,逐次逼近寄存器进行计数。
图1 逐次逼近式A/D转换
逐次逼近寄存器工作时与普通计数器不同,它不是从低位往高位逐一进行计数和进位,而是从最高位开始,通过设置试探值来进行计数。具体讲,在第一个时钟脉冲到来时,控制电路把最高位送到逐次逼近寄存器,使它的输出为,这个输出数字一出现,D/A转换器的输出电压Vo就成为满量程值的128/255。这时,若>
则作为比较器的运算放大器的输出就成为低电平,控制电路据此清除逐次逼近寄存器中的最高位;若
≤
,则比较器输出高电平,控制电路使最高位的1保留下来。
若最高位被保留下来,则逐次逼近寄存器的内容为,下一个时钟脉冲使次低位为1。于是,逐次逼近寄存器的值为,D/A转换器的输出电压V0到达满量程值的192/255。此后,若
>
,则比较器输出为低电平,从而使次高位域复位;若
<
,则比较器输出为高电平,从而保留次高位为1……重复上述过程,经过N次比较以后,逐次逼近寄存器中得到的值就是转换后的数值。
转换结束以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐次逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。
目前,绝大多数A/D转换器都采用逐次逼近的方法。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_kox5n18zojr"><div style="width:0px;height:0px;padding-right:0px;"></div><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3388.html&drs=1&tlm=1494517300&cja=false&ccd=24&cpl=30&par=1366x728&ti=A%2FD%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&ari=2&col=zh-CN&chi=50&pss=1173x827&ant=0&cec=gbk&dc=3&ps=348x806&cce=true&tcn=1541904426&exps=111000,118000&cfv=0&cdo=-1&pcs=1173x182&tpr=1541904425908&dis=0&dai=1&dtm=HTML_POST&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3389.html&cmi=42&psr=1366x768&pis=-1x-1&dri=0" frameborder="0" height="180" width="336"></iframe></div></div>
逐次逼近式A/D转换器的原理如图1所示。它由逐次逼近寄存器、D/A转换器、比较器和缓冲寄存器等组成。当启动信号由高电乎变为低电平时,逐次逼近寄存器清0,这时,D/A转换器输出电压V0也为0,当启动信号变为高电平时,转换开始,同时,逐次逼近寄存器进行计数。
图1 逐次逼近式A/D转换
逐次逼近寄存器工作时与普通计数器不同,它不是从低位往高位逐一进行计数和进位,而是从最高位开始,通过设置试探值来进行计数。具体讲,在第一个时钟脉冲到来时,控制电路把最高位送到逐次逼近寄存器,使它的输出为,这个输出数字一出现,D/A转换器的输出电压Vo就成为满量程值的128/255。这时,若>
则作为比较器的运算放大器的输出就成为低电平,控制电路据此清除逐次逼近寄存器中的最高位;若
≤
,则比较器输出高电平,控制电路使最高位的1保留下来。
若最高位被保留下来,则逐次逼近寄存器的内容为,下一个时钟脉冲使次低位为1。于是,逐次逼近寄存器的值为,D/A转换器的输出电压V0到达满量程值的192/255。此后,若
>
,则比较器输出为低电平,从而使次高位域复位;若
<
,则比较器输出为高电平,从而保留次高位为1……重复上述过程,经过N次比较以后,逐次逼近寄存器中得到的值就是转换后的数值。
转换结束以后,控制电路送出一个低电平作为结束信号,这个信号的下降沿将逐次逼近寄存器中的数字量送入缓冲寄存器,从而得到数字量输出。
目前,绝大多数A/D转换器都采用逐次逼近的方法。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_0pu8u9x4v3pi"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3387.html&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3388.html&dtm=HTML_POST&dc=3&cfv=0&cmi=42&dis=0&tcn=1541904428&cja=false&ti=12%E4%BD%8DD%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8DAC1210_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&par=1366x728&dri=0&cce=true&pss=1173x1594&ps=348x806&exps=111000&chi=50&tlm=1494517300&ccd=24&pis=-1x-1&ant=0&cec=gbk&ari=2&tpr=1541904428045&pcs=1173x182&col=zh-CN&cpl=30&drs=1&dai=1&psr=1366x768&cdo=-1" frameborder="0" height="180" width="336"></iframe></div></div>
1、DAC1210的主要性能及特点
DAC1210(与DAC1208、DAC1209是一个系列)是双列直插式24引脚集成电路芯片。输入数字为12位二进制数字;分辨率12位;电流建立时间1μs;供电电源+5~+15V(单电源供电);基准电压范围-10~+10V。
DACl210的特点是:线性规范只有零位和满量程调节;与所有的通用微处理机直接接口;单缓冲、双缓冲或直通数字数据输入;与TTL逻辑电平兼容;全四象限相乘输出。
2、DACl210引脚说明
DAC1210的引脚排列图如图5-47所示。各引脚的定义如下:
控制信号(所有控制信号都是电平激励信号)。
——片选(低电平有效)。
——写入1(低电平有效),
用于将数字数据位(D1)送到输入锁存器。当
为高电平时,输入锁存器中的数据被锁存。12位输入锁存器分成2个锁存器,一个存放高8位的数据,而另一个存放低4位。Bytel/Byte2控制脚为高电平时选择二个锁存器,处于低电平时则改写4位输入锁存器。
BYTEl/BYTE2——字节顺序控制。当此控制端为高电平时,输入锁存器中的12个单元都被使能。当为低电平时,只使能输入锁存器中的最低4位。
——写入2(低电平有效)。
——传送控制信号(低电子有效)。该信号与
结合时,能将输入锁存器中的12位数据转移到DAC寄存器中。
——数据写入。DI0是最低有效位(LSB),
是最高有效位(MSB)。
——数模转换器电流输出1。DAC寄存器中所有数字码为全“1”时
为最大,为全“0”时
为零。
——数模转换器电流输出2。
为常量减去
,即:
+
=常量(固定基准电压),该电流等于
×(1-1/4096)除以基准输入阻抗。
——反馈电阻。集成电路芯片中的反馈电阻用作为DAC提供输出电压的外部运算放大器的分流反馈电阻。芯片内部的电阻应当一直使用(不是外部电阻),因为它与芯片上的R—2RT形网络中的电阻相匹配,已在全温度范围内统调了这些电阻。
——基准输入电压。该输入端把外部精密电压源与内部的R—2RT形网络连接起来。
的选择范围是-10~+10V。在四象限乘法DAC应用中,也可以是模拟电压输入。
——数字电源电压。它是器件的电源引脚。
的范围在直流电压5~15V,工作电压的**值为15V。
AGND——模拟地。它是模拟电路部分的地。
DGND——数字地。它是数字逻辑的地。
3、DAC1210的输入与输出
DACl210有12位数据输入线,当与8位的数据总线相接时,因为CPU输出数据是按字节操作的,那么送出12位数据需要执行两次输出指令,比如第一次执行输出指令送出数据的低8位,第二次执行输出指令再送出数据的高4位。为避免两次输出指令之间在D/A转换器的输出端出现不需要的扰动模拟量输出,就必须使低8位和高4位数据同时送入DACl210的12位输入寄存器。为此,往往用两级数据缓冲结构来解决D/A转换器和总线的连接问题。工作时,CPU先用两条输出指令把12位数据送到第一级数据缓冲器,然后通过第三条输出指令把数据送到第二级数据缓冲器,从而使D/A转换器同时得到12位待转换的数据。
DAC1210是电流相加型D/A转换器,有和
两个电流输出端,通常要求转换后的模拟量输出为电压信号,因此,外部应加运算放大器将其输出的电流信号转换为电压输出。加一个运算放大器可构成单极性电压输出电路,加二个运算放大器则可构成双极性电压输出电路。图1中绘出DAC1210单缓冲单极性电压输出电路原理图。
图1 DAC1210单缓冲单极性电压输出电路
由上面分析可知,DAC1210与DAC0832有许多相似之处,其主要差别在于分辨率不同,DAC1210具有12位的分辨率,而DAC0832只有8位分辨率。例如,若取=10V,按单极性输出方式,当DAC0832输入数字0000,0001时其输出电压约为39.06mV,而DAC1210输入数字0000,0000,0001时,其输出电压约为2.44mV。可见,DACl210的分辨率比DAC0832的分辨率高16倍,因此转换精度更高。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_0pu8u9x4v3pi"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3387.html&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3388.html&dtm=HTML_POST&dc=3&cfv=0&cmi=42&dis=0&tcn=1541904428&cja=false&ti=12%E4%BD%8DD%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8DAC1210_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&par=1366x728&dri=0&cce=true&pss=1173x1594&ps=348x806&exps=111000&chi=50&tlm=1494517300&ccd=24&pis=-1x-1&ant=0&cec=gbk&ari=2&tpr=1541904428045&pcs=1173x182&col=zh-CN&cpl=30&drs=1&dai=1&psr=1366x768&cdo=-1" frameborder="0" height="180" width="336"></iframe></div></div>
1、DAC1210的主要性能及特点
DAC1210(与DAC1208、DAC1209是一个系列)是双列直插式24引脚集成电路芯片。输入数字为12位二进制数字;分辨率12位;电流建立时间1μs;供电电源+5~+15V(单电源供电);基准电压范围-10~+10V。
DACl210的特点是:线性规范只有零位和满量程调节;与所有的通用微处理机直接接口;单缓冲、双缓冲或直通数字数据输入;与TTL逻辑电平兼容;全四象限相乘输出。
2、DACl210引脚说明
DAC1210的引脚排列图如图5-47所示。各引脚的定义如下:
控制信号(所有控制信号都是电平激励信号)。
——片选(低电平有效)。
——写入1(低电平有效),
用于将数字数据位(D1)送到输入锁存器。当
为高电平时,输入锁存器中的数据被锁存。12位输入锁存器分成2个锁存器,一个存放高8位的数据,而另一个存放低4位。Bytel/Byte2控制脚为高电平时选择二个锁存器,处于低电平时则改写4位输入锁存器。
BYTEl/BYTE2——字节顺序控制。当此控制端为高电平时,输入锁存器中的12个单元都被使能。当为低电平时,只使能输入锁存器中的最低4位。
——写入2(低电平有效)。
——传送控制信号(低电子有效)。该信号与
结合时,能将输入锁存器中的12位数据转移到DAC寄存器中。
——数据写入。DI0是最低有效位(LSB),
是最高有效位(MSB)。
——数模转换器电流输出1。DAC寄存器中所有数字码为全“1”时
为最大,为全“0”时
为零。
——数模转换器电流输出2。
为常量减去
,即:
+
=常量(固定基准电压),该电流等于
×(1-1/4096)除以基准输入阻抗。
——反馈电阻。集成电路芯片中的反馈电阻用作为DAC提供输出电压的外部运算放大器的分流反馈电阻。芯片内部的电阻应当一直使用(不是外部电阻),因为它与芯片上的R—2RT形网络中的电阻相匹配,已在全温度范围内统调了这些电阻。
——基准输入电压。该输入端把外部精密电压源与内部的R—2RT形网络连接起来。
的选择范围是-10~+10V。在四象限乘法DAC应用中,也可以是模拟电压输入。
——数字电源电压。它是器件的电源引脚。
的范围在直流电压5~15V,工作电压的**值为15V。
AGND——模拟地。它是模拟电路部分的地。
DGND——数字地。它是数字逻辑的地。
3、DAC1210的输入与输出
DACl210有12位数据输入线,当与8位的数据总线相接时,因为CPU输出数据是按字节操作的,那么送出12位数据需要执行两次输出指令,比如第一次执行输出指令送出数据的低8位,第二次执行输出指令再送出数据的高4位。为避免两次输出指令之间在D/A转换器的输出端出现不需要的扰动模拟量输出,就必须使低8位和高4位数据同时送入DACl210的12位输入寄存器。为此,往往用两级数据缓冲结构来解决D/A转换器和总线的连接问题。工作时,CPU先用两条输出指令把12位数据送到第一级数据缓冲器,然后通过第三条输出指令把数据送到第二级数据缓冲器,从而使D/A转换器同时得到12位待转换的数据。
DAC1210是电流相加型D/A转换器,有和
两个电流输出端,通常要求转换后的模拟量输出为电压信号,因此,外部应加运算放大器将其输出的电流信号转换为电压输出。加一个运算放大器可构成单极性电压输出电路,加二个运算放大器则可构成双极性电压输出电路。图1中绘出DAC1210单缓冲单极性电压输出电路原理图。
图1 DAC1210单缓冲单极性电压输出电路
由上面分析可知,DAC1210与DAC0832有许多相似之处,其主要差别在于分辨率不同,DAC1210具有12位的分辨率,而DAC0832只有8位分辨率。例如,若取=10V,按单极性输出方式,当DAC0832输入数字0000,0001时其输出电压约为39.06mV,而DAC1210输入数字0000,0000,0001时,其输出电压约为2.44mV。可见,DACl210的分辨率比DAC0832的分辨率高16倍,因此转换精度更高。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_koqgvgf89sc"><div style="padding-bottom:0px;"><div style="margin-bottom:0px;"><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3386.html&pss=1173x1912&par=1366x728&cpl=30&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3387.html&dtm=HTML_POST&cdo=-1&ps=348x806&pis=-1x-1&tlm=1494517300&tcn=1541904429&drs=1&dc=3&cfv=0&col=zh-CN&tpr=1541904429487&pcs=1173x182&cec=gbk&exps=111000&cja=false&dis=0&ccd=24&ari=2&ti=8%E4%BD%8DD%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8DAC0832_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&psr=1366x768&dai=1&ant=0&dri=0&cmi=42&cce=true&chi=50" frameborder="0" height="180" width="336"></iframe><abbr style=""></abbr></div></div></div></div>
DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(以电流形式)输出的转换。图1和图2分别为DAC0832的内部结构图和引脚图。其主要参数如下:分辨率为8位(满度量程的1/256),转换时间为1μS,基准电压为+10V~-10V,供电电源为+5~+15V,功耗20mW、与TTL电平兼容。
图1 DAC0832内部结构图
图2 DAC0832引脚图
从图1中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号。因为有两级锁存器,所以DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同;时可以采集下一个数据,于是,可以有效地提高转换速度。另外,有了两级锁存器以后,可以在多个D/A转换器同时工作时,利用第二级锁存器的锁存信号来实现多个转换器的同时输出。
图1中,当ILE为高电平,和
为低电平时,
为1,这种情况下,输入寄存器的输出随输入而变化。此后,当
由低电平变高时,
成为低电平,此时,数据被锁存到输入寄存器中,这样,输入寄存器的输出端不再随外部数据的变化而变化。
对第二级锁存来说,和
同时为低电平时,
为高电平,这时,8位的DAC寄存器的输出随输入而变化,此后,当
由低电平变高时,
变为低电平,于是,将输入寄存器的信息锁存到DAC寄存器中。
图2中各引脚的功能定义如下:
——片选信号,它和允许输入锁存信号ILE合起来决定
是否起作用。
ILE——允许锁存信号。
——写信号1,它作为第一级锁存信号将输人数据锁存到输入寄存器中,
必须和
、ILE同时有效。
——写信号2,它将锁存在输入寄存器中的数据送到8位DAC寄存器中进行锁存,此时,传送控制信号
必须有效。
——传送控制信号,用来控制
。
~
——8位的数据输入端,
为最高位。
——模拟电流输出端,当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。
——模拟电流输出端,
为一个常数与
的差,即
十
=常数。
——反馈电阻引出端,DAC0832内部已经有反馈电阻,所以,
端可以直接接到外部运算放大器的输出端,这样,相当于将一个反馈电阻接在运算放大器的输入端和输出端之间。
——参考电压输入端,此端可接一个正电压,也可接负电压、范围为(+10~-10)V。外部标准电压通过
与T形电阻网络相连。
——芯片供电电压,范围为(+5~+15)V,**工作状态是+15V。
AGND——模拟量地,即模拟电路接地端。
DGND——数字量地。
DAC0832可处于三种不同的工作方式。
(1)直通方式:当ILE接高电平,、
、
和
都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即,把要产生基本波形存在ROM中的数据,连续取出送到DAC去转换成电压信号。
(2)单缓冲方式:只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存数据,DAC就可处于单缓冲工作方式。一般的做法是将和
都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,
接端口地址译码信号,
接CPU系统总线的
/W,这样便可以通过一条OUT指令,选中该端口,使
和
有效,启动D/A转换。
(3)双缓冲方式:主要在以下两种情况下需要用双缓冲方式的D/A转换。
其一,需在程序的控制下,先把转换的数据传入输入寄存器,然后在某个时刻再启动D/A转换。这样可以做到数据转换与数据输入同时进行,因此转换速度较高。为此,可将ILE接高电平,和
均接CPU的
/W,
和
分别接两个不同的I/O地址译码信号。执行OUT指令时,
和
均变低电平。这样,可先执行一条OUT指令,选中
端口,把数据写入输入寄存器;再执行第二条OUT指令,选中
端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。
图3是DAC0832工作于双缓冲方式下,与8位数据总线的微机相连的逻辑图。其中,的口地址为320H,XFER的口地址为321H,当CPU执行第一条OUT指令,选中
端口,选通输入寄存器,将累加器中的数据传入输入寄存器。再执行第二条OUT指令,选中
端口,把输入寄存器的内容写入DAC寄存器,并启动转换。执行第二条OUT指令时,累加器中的数据为多少是无关紧要的,主要目的是使
有效。
图3 DAC0832与8位数据总线微机的连接图
其二,在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据分别打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC的转换。图4是一个用3片DAC0832构成的3路DAC系统。图中,
DAC0832是双列直插式8位D/A转换器。能完成数字量输入到模拟量(以电流形式)输出的转换。图1和图2分别为DAC0832的内部结构图和引脚图。其主要参数如下:分辨率为8位(满度量程的1/256),转换时间为1μS,基准电压为+10V~-10V,供电电源为+5~+15V,功耗20mW、与TTL电平兼容。
图1 DAC0832内部结构图
图2 DAC0832引脚图
从图1中可见,在DAC0832中有两级锁存器,第一级锁存器称为输入寄存器,它的锁存信号为ILE,第二级锁存器称为DAC寄存器,它的锁存信号也称为通道控制信号。因为有两级锁存器,所以DAC0832可以工作在双缓冲器方式,即在输出模拟信号的同;时可以采集下一个数据,于是,可以有效地提高转换速度。另外,有了两级锁存器以后,可以在多个D/A转换器同时工作时,利用第二级锁存器的锁存信号来实现多个转换器的同时输出。
图1中,当ILE为高电平,和
为低电平时,
为1,这种情况下,输入寄存器的输出随输入而变化。此后,当
由低电平变高时,
成为低电平,此时,数据被锁存到输入寄存器中,这样,输入寄存器的输出端不再随外部数据的变化而变化。
对第二级锁存来说,和
同时为低电平时,
为高电平,这时,8位的DAC寄存器的输出随输入而变化,此后,当
由低电平变高时,
变为低电平,于是,将输入寄存器的信息锁存到DAC寄存器中。
图2中各引脚的功能定义如下:
——片选信号,它和允许输入锁存信号ILE合起来决定
是否起作用。
ILE——允许锁存信号。
——写信号1,它作为第一级锁存信号将输人数据锁存到输入寄存器中,
必须和
、ILE同时有效。

——写信号2,它将锁存在输入寄存器中的数据送到8位DAC寄存器中进行锁存,此时,传送控制信号
必须有效。
——传送控制信号,用来控制
。
~
——8位的数据输入端,
为最高位。
——模拟电流输出端,当DAC寄存器中全为1时,输出电流最大,当DAC寄存器中全为0时,输出电流为0。
——模拟电流输出端,
为一个常数与
的差,即
十
=常数。
——反馈电阻引出端,DAC0832内部已经有反馈电阻,所以,
端可以直接接到外部运算放大器的输出端,这样,相当于将一个反馈电阻接在运算放大器的输入端和输出端之间。
——参考电压输入端,此端可接一个正电压,也可接负电压、范围为(+10~-10)V。外部标准电压通过
与T形电阻网络相连。
——芯片供电电压,范围为(+5~+15)V,**工作状态是+15V。
AGND——模拟量地,即模拟电路接地端。
DGND——数字量地。
DAC0832可处于三种不同的工作方式。
(1)直通方式:当ILE接高电平,、
、
和
都接数字地时,DAC处于直通方式,8位数字量一旦到达DI7~DI0输入端,就立即加到8位D/A转换器,被转换成模拟量。例如在构成波形发生器的场合,就要用到这种方式,即,把要产生基本波形存在ROM中的数据,连续取出送到DAC去转换成电压信号。
(2)单缓冲方式:只要把两个寄存器中的任何一个接成直通方式,而用另一个锁存数据,DAC就可处于单缓冲工作方式。一般的做法是将和
都接地,使DAC寄存器处于直通方式,另外把ILE接高电平,
接端口地址译码信号,
接CPU系统总线的
/W,这样便可以通过一条OUT指令,选中该端口,使
和
有效,启动D/A转换。
(3)双缓冲方式:主要在以下两种情况下需要用双缓冲方式的D/A转换。
其一,需在程序的控制下,先把转换的数据传入输入寄存器,然后在某个时刻再启动D/A转换。这样可以做到数据转换与数据输入同时进行,因此转换速度较高。为此,可将ILE接高电平,和
均接CPU的
/W,
和
分别接两个不同的I/O地址译码信号。执行OUT指令时,
和
均变低电平。这样,可先执行一条OUT指令,选中
端口,把数据写入输入寄存器;再执行第二条OUT指令,选中
端口,把输入寄存器内容写入DAC寄存器,实现D/A转换。
图3是DAC0832工作于双缓冲方式下,与8位数据总线的微机相连的逻辑图。其中,的口地址为320H,XFER的口地址为321H,当CPU执行第一条OUT指令,选中
端口,选通输入寄存器,将累加器中的数据传入输入寄存器。再执行第二条OUT指令,选中
端口,把输入寄存器的内容写入DAC寄存器,并启动转换。执行第二条OUT指令时,累加器中的数据为多少是无关紧要的,主要目的是使
有效。
图3 DAC0832与8位数据总线微机的连接图
其二,在需要同步进行D/A转换的多路DAC系统中,采用双缓冲方式,可以在不同的时刻把要转换的数据分别打入各DAC的输入寄存器,然后由一个转换命令同时启动多个DAC的转换。图4是一个用3片DAC0832构成的3路DAC系统。图中,
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;" id="_u9yox1k0fmm"><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3385.html&cfv=0&ti=D%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8F%82%E6%95%B0_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&chi=50&drs=1&dri=0&tlm=1494517300&cdo=-1&cmi=42&pss=1173x650&pcs=1173x182&dtm=HTML_POST&cec=gbk&dai=1&exps=111000,119001&psr=1366x768&par=1366x728&tcn=1541904552&cja=false&pis=-1x-1&ari=2&dis=0&ant=0&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3386.html&cce=true&cpl=30&ccd=24&dc=3&ps=300x806&col=zh-CN&tpr=1541904551999" frameborder="0" height="180" width="336"></iframe><abbr style="padding-left:0px;"></abbr></div></div>
(1)分辨率:D/A转换器的分辨率表示当输入数字量变化1时,输出模拟量变化的大小。它反映了计算机数字量输出对执行部件控制的灵敏程度。对于一个N位的D/A转换器其分辨率为
(1)
分辨率通常用数字量的位数来表示,如8位、10位、12位、16位等。分辨率为8位,表示它可以对满量程的=1/256的增量作出反应。所以,n位二进制数最低位具有的权值就是它的分辨率。
(2)稳定时间:稳定时间系指D/A转换器中代码有满刻度值的变化时,其输出达到稳定(一般稳定到±1/2最低位值相当的模拟量范围内)所需的时间,一般为几十纳秒到几微秒。
(3)输出电平:不同型号的D/A转换器件的输出电平相差较大,一般为5V~10V。也有一些高压输出型,输出电平为24V~30V。还有一些电流输出型,低的为20mA,高的可达3A。
(4)输入编码:一般二进制编码比较通用,也有BCD等其它专用编码形式芯片。其它类型编码可在D/A转换前用CPU进行代码转换变成二进制编码。
(5)温度范围:较好的D/A转换器工作温度范围为-40~85℃,较差的为0~70℃,按计算机控制系统使用环境查器件手册选择合适的器件类型。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;" id="_u9yox1k0fmm"><iframe scrolling="no" src="https://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3385.html&cfv=0&ti=D%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E4%B8%BB%E8%A6%81%E5%8F%82%E6%95%B0_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&chi=50&drs=1&dri=0&tlm=1494517300&cdo=-1&cmi=42&pss=1173x650&pcs=1173x182&dtm=HTML_POST&cec=gbk&dai=1&exps=111000,119001&psr=1366x768&par=1366x728&tcn=1541904552&cja=false&pis=-1x-1&ari=2&dis=0&ant=0&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3386.html&cce=true&cpl=30&ccd=24&dc=3&ps=300x806&col=zh-CN&tpr=1541904551999" frameborder="0" height="180" width="336"></iframe><abbr style="padding-left:0px;"></abbr></div></div>
(1)分辨率:D/A转换器的分辨率表示当输入数字量变化1时,输出模拟量变化的大小。它反映了计算机数字量输出对执行部件控制的灵敏程度。对于一个N位的D/A转换器其分辨率为
(1)
分辨率通常用数字量的位数来表示,如8位、10位、12位、16位等。分辨率为8位,表示它可以对满量程的=1/256的增量作出反应。所以,n位二进制数最低位具有的权值就是它的分辨率。
(2)稳定时间:稳定时间系指D/A转换器中代码有满刻度值的变化时,其输出达到稳定(一般稳定到±1/2最低位值相当的模拟量范围内)所需的时间,一般为几十纳秒到几微秒。
(3)输出电平:不同型号的D/A转换器件的输出电平相差较大,一般为5V~10V。也有一些高压输出型,输出电平为24V~30V。还有一些电流输出型,低的为20mA,高的可达3A。
(4)输入编码:一般二进制编码比较通用,也有BCD等其它专用编码形式芯片。其它类型编码可在D/A转换前用CPU进行代码转换变成二进制编码。
(5)温度范围:较好的D/A转换器工作温度范围为-40~85℃,较差的为0~70℃,按计算机控制系统使用环境查器件手册选择合适的器件类型。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_8wli8r9w026"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3384.html&dis=0&dtm=HTML_POST&pcs=1173x182&ant=0&pis=-1x-1&ari=2&drs=1&ccd=24&chi=50&exps=111000&ti=%E8%A1%8CD%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&dri=0&ps=348x806&tcn=1541904554&cmi=42&cdo=-1&cpl=30&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3385.html&dai=1&tlm=1494517300&cfv=0&dc=3&tpr=1541904553561&psr=1366x768&cec=gbk&cce=true&col=zh-CN&pss=1173x840&cja=false&par=1366x728" frameborder="0" height="180" width="336"></iframe></div></div>
D/A转换器是把输入的数字量转换为与输入量成比例的模拟信号的器件,为了了解它的工作原理,先分析一下图1所示的R—2R梯形电阻解码网络的原理电路。在图中,整个电路由若干个相同的支电路组成,每个支电路有两个电阻和一个开关,开关S-i是按二进“位”进行控制的。当该位为“1”时,开关将加权电阻与输出端接通;该位为“0”时,开关与
接通。
图1 R-2R梯形电阻解码网络原理图
由于接地,
为虚地,所以
(1)
流过每个加权电阻的电流依次为
(2)
由于端输出的总电流是置“1”各位加权电流的总和,IOUT2端输出的总电流是置“0”各位加权电流的总和,所以当D/A转换器输入为全“1”时,
和
分别为
(3)
当运算放大器的反馈电阻Rfb等于反相端输入电阻∑R时,其输出模拟电压
(4)
对于任意二进制码,其输出模拟电压为
(5)
式中,=1或
=0,由上式便可得到相应的模拟量输出。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div id="_8wli8r9w026"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3384.html&dis=0&dtm=HTML_POST&pcs=1173x182&ant=0&pis=-1x-1&ari=2&drs=1&ccd=24&chi=50&exps=111000&ti=%E8%A1%8CD%2FA%E8%BD%AC%E6%8D%A2%E5%99%A8%E7%9A%84%E5%B7%A5%E4%BD%9C%E5%8E%9F%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&dri=0&ps=348x806&tcn=1541904554&cmi=42&cdo=-1&cpl=30&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3385.html&dai=1&tlm=1494517300&cfv=0&dc=3&tpr=1541904553561&psr=1366x768&cec=gbk&cce=true&col=zh-CN&pss=1173x840&cja=false&par=1366x728" frameborder="0" height="180" width="336"></iframe></div></div>
D/A转换器是把输入的数字量转换为与输入量成比例的模拟信号的器件,为了了解它的工作原理,先分析一下图1所示的R—2R梯形电阻解码网络的原理电路。在图中,整个电路由若干个相同的支电路组成,每个支电路有两个电阻和一个开关,开关S-i是按二进“位”进行控制的。当该位为“1”时,开关将加权电阻与输出端接通;该位为“0”时,开关与
接通。
图1 R-2R梯形电阻解码网络原理图
由于接地,
为虚地,所以
(1)
流过每个加权电阻的电流依次为
(2)
由于端输出的总电流是置“1”各位加权电流的总和,IOUT2端输出的总电流是置“0”各位加权电流的总和,所以当D/A转换器输入为全“1”时,
和
分别为
(3)
当运算放大器的反馈电阻Rfb等于反相端输入电阻∑R时,其输出模拟电压
(4)
对于任意二进制码,其输出模拟电压为
(5)
式中,=1或
=0,由上式便可得到相应的模拟量输出。
讯享网<p>
在微机控制系统中,为了实现对生产过程的控制,要将对象的各种测量参数,按要求的方式送人微机。微机经过运算、处理后,将结果以数字量的形式输出,此时也要把该输出变换为适合于对生产过程进行控制的量。所以在微机和生产过程之间,必须设置信息的传递和变换的连接通道。该连接通道被称为输入与输出通道,它包括模拟量输入通道、模拟量输出通道、数字量输入通道和数字量输出通道,其组成如图1所示。 </p>
<p align="center">
<font color="#FFFFFF"></font> </p>
<p align="center">
图1 输入与输出通道的组成 </p> <p></p>
<p>
<strong> 1、模拟量输入通道</strong> </p> <p></p>
<p>
模拟量输入一般由信号处理装置、多路转换器、采样保持和A/D转换器等组成。它的任务是把从控制对象检测到的模拟信号,转换成二进制数字信号,经I/O接口送入微机。 </p> <p></p>
<p>
关于信号检测处理、多路转换、采样保持等内容在前面已经介绍。 </p> <p></p>
<p>
<strong> 2、模拟量输出通道</strong> <font color="#FFFFFF"></font> </p>
<p>
模拟量输出通道主要由D/A转换器和输出保持器组成。它们的任务是把微机输出的数字量转换成模拟量。多路模拟量输出通道的结构形式,主要取决于输出保持器的结构形式。保持器一般有数字保持方案和模拟保持方案两种。这就决定了模拟量输出通道的两种基本结构形式。 <font color="#FFFFFF"></font> </p>
<p>
(1)一个通道设置一个D/A转换器的形式 </p> <p></p>
<p>
微机和通路之间通过独立的接口缓冲器传送信息,这是一种数字保持的方案,如图2所示。这种结构通常用于混合计算,测试<u>自动化</u>和模拟量显示的应用中,其特点是速度快、精度高、工作可靠,即使某一路D/A转换器有故障,也不会影响其它通路的工作。但是,如果输出通道的数量很多,将使用较多的D/A转换器,因此这种结构价格很高。当然,随着大规模集成电路技术的发展,D/A转换器价格的下降,这种方案会得到广泛的应用。 </p>
<p align="center">
<font color="#FFFFFF"></font> </p>
<p align="center">
图2 一个通路一个D/A转换器 </p> <p></p>
<p>
(2)多个通道共用一个D/A转换器的形式 </p> <p></p>
<p>
这种结构的转换器共用一个D/A,它是在微机控制下分时工作。即依次把D/A转换器转换成的模拟电压(或电流)通过多路模拟开关传送给输出采样保持器。这种结构形式的优点是节省了D/A转换器。但因为分时工作,只适用于通路数量多且速度要求不高的场合。它需要多路模拟开关,且要求输出采样保持器的保持时间与采样时间之比比较大。通常应用在监控和DDC的系统中。这种方案工作可靠性较差。 </p>
<p>
<strong> 3、数字量输入通道</strong> <font color="#FFFFFF"></font> </p>
<p>
在微机控制系统中,数字量输入的情况是很多的,如用编码器的位置检测和速度检测;用按钮或转换开关控制系统的启停或选择工作状态;在生产现场用行程开关反映生产设备的运行状态等。这些输入信号分为编码数字(二进制数)、开关量和脉冲列等三类,它们都属于数字信号,因此,微机控制系统中应设立数字量输入通道。 <font color="#FFFFFF"></font> </p>
<p>
随输入数字信号的类型不同,数字量输入通道的结构也不同。 <font color="#FFFFFF"></font> </p>
<p>
(1)编码信号:编码信号一般是TTL电平(或转换成TTL电平),可将TTL电平的编码数字直接接到并行接口电路的输入端口上。对于可靠性要求很高的场合,有时也加上光电隔离电路,输入数字信号经光电隔离后再接到接口端口上。 </p> <p></p>
<p>
(2)脉冲列:假定脉冲频率不高,则可采用软件计数的方法,将脉冲信号加到并行接口的一个输入端,用查询方式或中断方式对输入脉冲计数。假定脉冲频率高,软件计数来不及处理,则接口电路中需外加硬件计数器,如使用可编程定时/计数器8253就很方便,计数值可随时准确的读入CPU,读取计数值时不影响计数器连续准确地计数。 </p> <p></p>
<p>
(3)开关信号:来自操作台或控制箱的按钮、转换开关,拨码开关、继电器或来自现场的行程开关等等的触点接通或断开的信号输入,首先必须经过电平转换电路,将触点的通断转换成高电平或低电平,同时要考虑滤波,防触头抖动以及采用光电隔离或继电器隔离等特殊措施。最后将一个个开关信号接到并行接口的输入端口上去。图3画出几种微机系统中常用的电平转换、滤波、去抖动及光电隔离和继电器隔离电路。 </p> <p></p>
<p align="center">
</p> <p></p>
<p align="center">
图3 开关量输入电路 </p>
<p align="center">
a)电平转换及滤波器 b)继电器隔离及电平转换电路 c)消除开关二次反跳触发器电路 d)光电隔离及电平转换电路 <font color="#FFFFFF"></font> </p>
<p>
<strong> 4、数字量输出通道</strong> </p> <p></p>
<p>
数字量输出通道输出的数字信号有三类:二进制编码数字、“1”或“0”的开关信号和脉冲信号。计算机计算的设定值、控制量以及从现场采样的物理参量(经A/D转换后的数字量)等都是编码数字,常常要送出至操作面板上的数字显示器上显示;<u>电动机</u>启停、阀门开关等控制要求CPU送出“1”或“0”的开关控制信号;步进电动机控制要求送出脉冲列。 </p> <p></p>
<p>
编码数字可直接从I/O接口电路的输出端口送出,一般输出数据需要锁存。当编码数字送出的距离较长时,为节省传输线路和提高可靠性,可采用串行发送的方式,数据接收端再采用串—并转换电路(如74LSl64)将其转换成并行输出形式,供外部(如LED显示器)使用。 <font color="#FFFFFF"></font> </p>
<p>
对于步进电动机这类要求输出脉冲列的对象,输出通道应加脉冲产生及其控制电路,如使用8253就很方便,让它工作于方波发生器的模式,输出脉冲的频率及个数都可通过程序设置来控制,具体电路参阅图4。 </p> <p></p>
<p align="center">
</p> <p></p>
<p align="center">
图4 一种使用步进电动机串行D/A转换电路 </p> <p></p>
<p>
开关量输出通常有TTL电平逻辑信号输出、电子无触点开关输出和继电器输出几种形式。为保证计算机安全、可靠的工作,输出部分要加光电隔离电路,同时为驱动继电器或其他执行部件,输出通道一般都要加功率放大电路。图5画出几种开关量输出的具体电路。 </p> <p></p>
<p align="center">
<font color="#FFFFFF"></font> </p>
<p align="center">
</p> <p></p>
<p align="center">
图5 开关量输出电路 </p>
<p align="center">
a)TTL电平输出(PC900为高速光电隔离电路) b)晶体管开关输出 c)继电器输出 </p> <p></p>
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3382.html&dai=1&cmi=42&ccd=24&pss=1173x1902&cja=false&tlm=1494517300&drs=1&pcs=1173x182&pis=-1x-1&dis=0&tcn=1541904556&cec=gbk&cpl=30&cce=true&dtm=HTML_POST&cfv=0&par=1366x728&ari=2&tpr=1541904556430&ant=0&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3383.html&exps=111000,119011&col=zh-CN&cdo=-1&dri=0&chi=50&psr=1366x768&ti=%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%A8%A1%E6%8B%9F%E9%87%8F%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E5%A4%84%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&dc=3&ps=348x806" frameborder="0" height="180" width="336"></iframe></div></div>
模拟量输入通道是完成模拟量的采集并转换成数字量送入计算机的任务。依据被控参量和控制要求的不同,模拟量输入通道的结构形式不完全相同。目前普遍采用的是公用运算放大器和A/D转换器的结构形式,其组成方框图如图1所示。
图1 模拟量输入通道方框图
模拟量输入通道主要由信号处理装置、采样单元、采样保持器、信号放大器、A/D转换器和控制电路等部分组成。本书第四章已经介绍了一些传感器的工作原理、信号的采集与保持的相关电路,以及信号放大和非线性补偿等内容,下面介绍其它相关内容。
1、信号处理装置
信号处理装置一般包括敏感元件、传感器、滤波电路、线性化处理及电参量间的转换电路等。转换电路是把经由各种传感器所得到的不同种类和不同电平的被测模拟信号变换(电桥和信号放大)成统一的标准信号,为后端数据采集提供标准范围。
在生产现场,由于各种干扰源的存在,所采集的模拟信号中可能夹杂着干扰信号。如通常生产过程被测参量(如温度、流量等)的信号频率低(1Hz以下),却夹杂上许多高于1Hz的干扰信号成分(如50Hz的电源干扰),为此必须进行信号滤波。根据检测信号的频带范围,合理选择低通、高通或带通等无源滤波器或有源滤波器,以消除干扰信号。
另外,有些转换后的电信号与被测参量呈现非线性。如采用热敏元件测量温度,由于热敏元件存在非线性,所得到的温度—电压曲线就存在非线性特性,即所测电压值在某一段不能反映温度的线性变化。因此,应作适当处理,使之接近线性化。在硬件上可采用加负反馈放大器或采用线性化处理电路(如冷端补偿)的办法达到此目的。在软件上也可以用计算机进行分段线性化数字处理的办法来解决。
2、采样单元
采样单元也称为多路转换器或多路切换开关,它的作用是把多个已变换成统一电压信号(0~40mV)的测量信号按序或随机的接到采样保持器或直接接到数据放大器上。即在模拟输入通道中,多路模拟输入量只用一个A/D转换器,借助采样单元把各路模拟量分时接到A/D转换器进行转换,实现了CPU对各路模拟量分时采样的目的。(见第四章)
3、计算机采样与量化
模拟信号的计算机数据采集过程需要解决用离散数据表达连续信号的精度问题。理论上,当信号采集时间间隔越短,计算机获取的模拟信号信息越真实。下面进一步分析一下模拟信号转换为数字信号的过程。
(1)采样过程:所谓采样过程(简称采样)是用采样开关(或采样单元)将模拟信号按一定时间间隔抽样成离散模拟信号的过程。如图2所示。
图2 采样过程
a)模拟信号 b)离散模拟信号
图2a是被采样的模拟信号f(t), f(t)是时间上连续且幅值上也连续的信号。f(t)被按一定时间间隔T周期开、闭的采样开关分割成如图2b所示的时间上离散而幅值上连续的离散模拟信号(t)。离散模拟信号
(t)是一连串的脉冲信号,又称为采样信号。采样开关两次采样(闭合)的间隔时间T,称为采样周期,采样开关闭合的时间,称为采样时间0、T、2T……各时间点,称为采样时刻。
采样是计算机控制的特点之一。一个控制系统中的模拟输入量可能有多个,甚至上百个,计算机利用采样开关对各输入量逐个采样,依次处理,再逐个输出,实现对各通道和控制回路分时控制。
按分时采样控制的特点,在一个周期内,计算机对全部通道进行一次按序或随机采样,得到的是一组不同通道的输入信号,而对每一通道来说,只是在采样时间内向计算机输入信号。因此,A/D转换器从每一通道所得到的是一串以采样周期为周期,以采样时间为脉宽、以采样时刻的信号幅值为幅值的脉冲信号。
2)量化过程
因采样后得到的离散模拟信号本质上还是模拟信号,未数量化,不能直接送入计算机,故还需经数量化,变成数字信号才能被计算机接受和处理。
量化过程(简称量化)就是用一组数码(如二进制码)来逼近离散模拟信号的幅值,将其转换成数字信号,如图3所示。
图3 量化过程
a)离散模拟信号 b)数字信号
由于计算机的数值信号是有限的,因此用数码来逼近模拟信号是近似的处理方法。
量化单位q是指量化后二进制数的最低位所对应的模拟量的值。设和
分别为转换信号的最大值和最小值,i为转换后二进制数的位数,则量化单位为
(1)
对于同一转换信号范围,i越大、即转换后的位数越多,q就越小,量化误差越小。由于量化后的数值是以量化单位为单位逼近模拟量得到的,是取相邻两个数字量中更接近的一个数值(四舍五入)作为采样值的量化量,因此量化误差的最大值为±,而不是q。
例如,模拟信号=16V、
=0V,取i=4,则q=1V,量化误差最大值
=±0.5V。
由以上分析可知,在采样过程中,如果采样频率足够高,并选择足够字长的量化数值,使得量化误差足够小,就会保证采样处理的精度。因此,我们可以用经采样量化后得到的一系列离散的二进制数字量来表示某一时间上连续的模拟信号。从而满足计算机计算、处理和控制的需要。
<div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3382.html&dai=1&cmi=42&ccd=24&pss=1173x1902&cja=false&tlm=1494517300&drs=1&pcs=1173x182&pis=-1x-1&dis=0&tcn=1541904556&cec=gbk&cpl=30&cce=true&dtm=HTML_POST&cfv=0&par=1366x728&ari=2&tpr=1541904556430&ant=0&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3383.html&exps=111000,119011&col=zh-CN&cdo=-1&dri=0&chi=50&psr=1366x768&ti=%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%A8%A1%E6%8B%9F%E9%87%8F%E7%9A%84%E9%87%87%E6%A0%B7%E4%B8%8E%E5%A4%84%E7%90%86_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&dc=3&ps=348x806" frameborder="0" height="180" width="336"></iframe></div></div>
模拟量输入通道是完成模拟量的采集并转换成数字量送入计算机的任务。依据被控参量和控制要求的不同,模拟量输入通道的结构形式不完全相同。目前普遍采用的是公用运算放大器和A/D转换器的结构形式,其组成方框图如图1所示。
图1 模拟量输入通道方框图
模拟量输入通道主要由信号处理装置、采样单元、采样保持器、信号放大器、A/D转换器和控制电路等部分组成。本书第四章已经介绍了一些传感器的工作原理、信号的采集与保持的相关电路,以及信号放大和非线性补偿等内容,下面介绍其它相关内容。
1、信号处理装置
信号处理装置一般包括敏感元件、传感器、滤波电路、线性化处理及电参量间的转换电路等。转换电路是把经由各种传感器所得到的不同种类和不同电平的被测模拟信号变换(电桥和信号放大)成统一的标准信号,为后端数据采集提供标准范围。
在生产现场,由于各种干扰源的存在,所采集的模拟信号中可能夹杂着干扰信号。如通常生产过程被测参量(如温度、流量等)的信号频率低(1Hz以下),却夹杂上许多高于1Hz的干扰信号成分(如50Hz的电源干扰),为此必须进行信号滤波。根据检测信号的频带范围,合理选择低通、高通或带通等无源滤波器或有源滤波器,以消除干扰信号。
另外,有些转换后的电信号与被测参量呈现非线性。如采用热敏元件测量温度,由于热敏元件存在非线性,所得到的温度—电压曲线就存在非线性特性,即所测电压值在某一段不能反映温度的线性变化。因此,应作适当处理,使之接近线性化。在硬件上可采用加负反馈放大器或采用线性化处理电路(如冷端补偿)的办法达到此目的。在软件上也可以用计算机进行分段线性化数字处理的办法来解决。
2、采样单元
采样单元也称为多路转换器或多路切换开关,它的作用是把多个已变换成统一电压信号(0~40mV)的测量信号按序或随机的接到采样保持器或直接接到数据放大器上。即在模拟输入通道中,多路模拟输入量只用一个A/D转换器,借助采样单元把各路模拟量分时接到A/D转换器进行转换,实现了CPU对各路模拟量分时采样的目的。(见第四章)
3、计算机采样与量化
模拟信号的计算机数据采集过程需要解决用离散数据表达连续信号的精度问题。理论上,当信号采集时间间隔越短,计算机获取的模拟信号信息越真实。下面进一步分析一下模拟信号转换为数字信号的过程。
(1)采样过程:所谓采样过程(简称采样)是用采样开关(或采样单元)将模拟信号按一定时间间隔抽样成离散模拟信号的过程。如图2所示。
图2 采样过程
a)模拟信号 b)离散模拟信号
图2a是被采样的模拟信号f(t), f(t)是时间上连续且幅值上也连续的信号。f(t)被按一定时间间隔T周期开、闭的采样开关分割成如图2b所示的时间上离散而幅值上连续的离散模拟信号(t)。离散模拟信号
(t)是一连串的脉冲信号,又称为采样信号。采样开关两次采样(闭合)的间隔时间T,称为采样周期,采样开关闭合的时间,称为采样时间0、T、2T……各时间点,称为采样时刻。
采样是计算机控制的特点之一。一个控制系统中的模拟输入量可能有多个,甚至上百个,计算机利用采样开关对各输入量逐个采样,依次处理,再逐个输出,实现对各通道和控制回路分时控制。
按分时采样控制的特点,在一个周期内,计算机对全部通道进行一次按序或随机采样,得到的是一组不同通道的输入信号,而对每一通道来说,只是在采样时间内向计算机输入信号。因此,A/D转换器从每一通道所得到的是一串以采样周期为周期,以采样时间为脉宽、以采样时刻的信号幅值为幅值的脉冲信号。
2)量化过程
因采样后得到的离散模拟信号本质上还是模拟信号,未数量化,不能直接送入计算机,故还需经数量化,变成数字信号才能被计算机接受和处理。
量化过程(简称量化)就是用一组数码(如二进制码)来逼近离散模拟信号的幅值,将其转换成数字信号,如图3所示。
图3 量化过程
a)离散模拟信号 b)数字信号
由于计算机的数值信号是有限的,因此用数码来逼近模拟信号是近似的处理方法。
量化单位q是指量化后二进制数的最低位所对应的模拟量的值。设和
分别为转换信号的最大值和最小值,i为转换后二进制数的位数,则量化单位为
(1)
对于同一转换信号范围,i越大、即转换后的位数越多,q就越小,量化误差越小。由于量化后的数值是以量化单位为单位逼近模拟量得到的,是取相邻两个数字量中更接近的一个数值(四舍五入)作为采样值的量化量,因此量化误差的最大值为±,而不是q。
例如,模拟信号=16V、
=0V,取i=4,则q=1V,量化误差最大值
=±0.5V。
由以上分析可知,在采样过程中,如果采样频率足够高,并选择足够字长的量化数值,使得量化误差足够小,就会保证采样处理的精度。因此,我们可以用经采样量化后得到的一系列离散的二进制数字量来表示某一时间上连续的模拟信号。从而满足计算机计算、处理和控制的需要。
讯享网 <div id="contentMidPicAD" style="float:right; clear:both; top:0; vertical-align:top;"><div style="width: 100%;" id="_g9v64i7sz6"><iframe scrolling="no" src="http://pos.baidu.com/s?hei=180&wid=336&di=u3123873&ltu=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3381.html&ari=2&cfv=0&ti=%E8%AE%A1%E7%AE%97%E6%9C%BA%E7%B3%BB%E7%BB%9FI%2FO%E6%8E%A5%E5%8F%A3%E6%89%A9%E5%B1%95_%E8%87%AA%E5%8A%A8%E6%8E%A7%E5%88%B6%E7%BD%91&cpl=30&ccd=24&tlm=1494517300&cec=gbk&col=zh-CN&psr=1366x768&ant=0&cmi=42&ltr=http%3A%2F%2Fwww.eadianqi.com%2Fzc%2Fjidian%2F3382.html&dri=0&cce=true&pcs=1173x182&ps=348x806&chi=50&cdo=-1&cja=false&tcn=1541904558&dai=1&par=1366x728&dc=3&drs=1&tpr=1541904558008&exps=111000&dis=0&pss=1173x2121&pis=-1x-1&dtm=HTML_POST" frameborder="0" height="180" width="336"></iframe></div></div>
通常选用的微型计算机系统都已配备有相当数量的通用可编程序I/O接口电路,如并行接口8155、8255A、串行接口8251A、计数器/定时器8253以及DMA控制器和中断控制器等。但是选用通用的计算机系统用于控制生产对象时,往往接口和内存还不够用,必须扩展I/O接口及内存容量。因此,I/O接口扩展是计算机控制系统硬件设计的主要任务之一。 </p> <p></p>
讯享网<strong> 1、地址译码器的扩展</strong> <font color="#FFFFFF"></font> </p>
扩展I/O接口必然要解决I/O接口的端口(寄存器)的编址、选址问题。每个通用接口部件都包含一组寄存器,CPU和外围设备进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。一个双向工作的接口芯片通常有4个端口,如Z-80PlO有A数据端口、B数据端口、A控制端口和B控制端口。8255A有A、B、C三个数据端口和一个控制端口。计算机主机和外部之间的信息交换都是通过接口部件的I/O端口进行的。因此扩展的地址译码电路不仅要提供接口芯片的片选信号,而且还能对芯片内的I/O端口(寄存器)寻址。 </p>
讯享网 前面已介绍了I/O接口有两种编址方式,即与存储器独立编址和统一编址,今以独立编址为例,说明如何扩展I/O接口的地址译码。 <font color="#FFFFFF"></font> </p>
地址译码要用译码器,常用的译码器有2—4(四中选一)、3—8(八中选一)和4—16(十六中选一)译码器等。微机系统中最常采用的是74LSl38(3—8)译码器和74LSl55(双2—4)译码器。74LSl38的管脚图如图1所示。其译码功能是:A、B、C三个地址输入端分别输入000~111时,则<img uploads/allimg//0T04963c-0.gif" align="absMiddle">~<img uploads/allimg//0T04a0O-1.gif" align="absMiddle">依次是低电平, </p>
讯享网 <font color="#FFFFFF"></font> </p>
图1 74LS138管脚图 </p> <p></p>
讯享网 例1:此例是采用8位的Z—80CPU的微机控制系统,按控制要求需扩展一个并行接口芯片PIO、一个计数器/定时器(CTC)、一个8位的A/D转换器(ADC0808)和一个8位的D/A转换器(DAC0832)。若指定它们的地址分别为40H~43H、44H~47H、58H和5CH,那么可以设计出如图所示的地址译码电路。 </p> <p></p>
图中,独立编址方式片选信号只利用地址总线的低8位(<img uploads/allimg//0T04954C-3.gif" align="absMiddle">~<img uploads/allimg//0T0-4.gif" align="absMiddle">)译出,为了区别是访问存储器还是访问I/O接口,<img uploads/allimg//0T049A61-5.gif" align="absMiddle">信号是必须用的。同时为了控制数据流向也要使用读(<img uploads/allimg//0T0495L8-6.gif" align="absMiddle">)、写(<img uploads/allimg//0T04a461-7.gif" align="absMiddle">)信号。但是Z—80PIO和Z—80CTC芯片有些特殊,没有<img uploads/allimg//0T04a461-7.gif" align="absMiddle">信号引脚,它是利用<img uploads/allimg//0T049A61-5.gif" align="absMiddle">、<img uploads/allimg//0T0495L8-6.gif" align="absMiddle">和<img uploads/allimg//0T0491U0-11.gif" align="absMiddle">三个信号通过内部逻辑电路的组合而得到读、写、复位、中断响应等控制信号的。ADC0808只提供按58H地址的启动转换信号(START和ALE同时为“1”)并允许读出转换后的数据信号(OE=1)。DAC0832只提供按5CH地址的一次锁存信号,<img uploads/allimg//0T04a5C-12.gif" align="absMiddle">和<img uploads/allimg//0T04a334-13.gif" align="absMiddle">同时为“0”(ADC0808和DAC0832的原理、接线等。 </p> <p></p>
讯享网 为了准确的得到ADC0808和DAC0832的译码信号,使用了四或门74LS32和四或非门74LS02构成简单的逻辑电路。 <font color="#FFFFFF"></font> </p>
<font color="#FFFFFF"></font> </p>
讯享网图2 I/O接口地址译码扩展 </p> <p></p>
<strong> 2、负载能力的扩展</strong> <font color="#FFFFFF"></font> </p>
讯享网 扩展的I/O接口和存储器的数据线都同时挂到CPU的数据总线上,各芯片的地址都要挂到CPU的地址线上,控制线也一样,要挂到CPU的控制总线上。计算机系统设计时,都考虑了各总线的驱动能力问题,CPU的数据、地址和控制总线都经过总线收发器(如74LS245)或缓冲器(如74L8244)才形成系统总线。因此,系统总线的负载能力较强。但是其负载能力还是有限的,不能无限制的增加,特别是当设计者自己设计微机控制系统时,更有必要考虑CPU各总线的负载能力。因为当负载过重时,各信号线的电压就会偏离正常值,“0”电平偏高,或“1”电平偏低,造成系统工作不稳定、抗干扰能力差,严重时甚至会损坏器件。因此总线负载能力的扩展也是I/O接口扩展设计中必须考虑的问题之一。 </p>
微机系统中,通常采用两种不同工艺制造的器件,即TTL器件和MOS器件(TTL又分标准TTL器件74XXX,和低功耗肖特基TTL器件74LSXXX)。它们之间级连使用,逻辑电平是一致的(“1”电平≥1.8V~3.8V,“0”电平≤0.8~0.3V),但功耗和驱动能力有差别。它们的输入输出电流,如表2—4所示。 </p> <p></p>
讯享网 由表2可见,MOS器件的输入电流小,驱动能力也差。一个MOS器件只能带一个标准74XXX器件(约1.6 mA)或四个74LSXXX器件(4×0.4mA),但它可以驱动10个左右的MOS器件。通常,同类器件带8~10个没有问题,若超过了就要加驱动器。 </p> <p></p>
表2 TTL和MOS器件输入输出电流 </p>
器件
I 意义
74XXX
74LSXXX
MOS
I1H
输入为高电平时的输入电流
40A
20A
10A
I1L
输入为低电平时的输入电流
-1.6mA
-0.4mA
-0.1mA
I0H
输出为高电平时的拉电流
-0.4mA
-0.2~-1.2mA
-0.2mA
I0L
输出为的电平时的灌电流
16mA
8~16mA
1.6mA
应用总线收发器可以提高总线驱动能力。Intel系列芯片的典型收发器为8286,是8位的。所以,在数据总线为8位的8088系统中,只用一片8286就可以构成数据总线收发器,而在数据总线为16位的8086系统中,则要用2片8286。
从图3中,可以看到8286具有两组对称的数据引线,~
为输入数据线,
~
为输出数据线,当然,由于在收发器中数据是双向传输的,所以实际上输入线和输出线也可以交换。用T表示的引脚信号就是用来控制数据传输方向的。当T=1时,就使
~
为输入线,当T=0时,则使
~
为输入线。在系统中,T端和CPU的DT/R端相连,DT/
为数据收发信号。当CPU进行数据输出时,DT/
为高电平,于是数据流由
~
进入,从
~
讯享网 通常选用的微型计算机系统都已配备有相当数量的通用可编程序I/O接口电路,如并行接口8155、8255A、串行接口8251A、计数器/定时器8253以及DMA控制器和中断控制器等。但是选用通用的计算机系统用于控制生产对象时,往往接口和内存还不够用,必须扩展I/O接口及内存容量。因此,I/O接口扩展是计算机控制系统硬件设计的主要任务之一。 </p> <p></p>
<strong> 1、地址译码器的扩展</strong> <font color="#FFFFFF"></font> </p>
讯享网 扩展I/O接口必然要解决I/O接口的端口(寄存器)的编址、选址问题。每个通用接口部件都包含一组寄存器,CPU和外围设备进行数据传输时,各类信息在接口中进入不同的寄存器,一般称这些寄存器为I/O端口。一个双向工作的接口芯片通常有4个端口,如Z-80PlO有A数据端口、B数据端口、A控制端口和B控制端口。8255A有A、B、C三个数据端口和一个控制端口。计算机主机和外部之间的信息交换都是通过接口部件的I/O端口进行的。因此扩展的地址译码电路不仅要提供接口芯片的片选信号,而且还能对芯片内的I/O端口(寄存器)寻址。 </p>
前面已介绍了I/O接口有两种编址方式,即与存储器独立编址和统一编址,今以独立编址为例,说明如何扩展I/O接口的地址译码。 <font color="#FFFFFF"></font> </p>
讯享网 地址译码要用译码器,常用的译码器有2—4(四中选一)、3—8(八中选一)和4—16(十六中选一)译码器等。微机系统中最常采用的是74LSl38(3—8)译码器和74LSl55(双2—4)译码器。74LSl38的管脚图如图1所示。其译码功能是:A、B、C三个地址输入端分别输入000~111时,则<img uploads/allimg//0T04963c-0.gif" align="absMiddle">~<img uploads/allimg//0T04a0O-1.gif" align="absMiddle">依次是低电平, </p>
<font color="#FFFFFF"></font> </p>
讯享网图1 74LS138管脚图 </p> <p></p>
例1:此例是采用8位的Z—80CPU的微机控制系统,按控制要求需扩展一个并行接口芯片PIO、一个计数器/定时器(CTC)、一个8位的A/D转换器(ADC0808)和一个8位的D/A转换器(DAC0832)。若指定它们的地址分别为40H~43H、44H~47H、58H和5CH,那么可以设计出如图所示的地址译码电路。 </p> <p></p>
讯享网 图中,独立编址方式片选信号只利用地址总线的低8位(<img uploads/allimg//0T04954C-3.gif" align="absMiddle">~<img uploads/allimg//0T0-4.gif" align="absMiddle">)译出,为了区别是访问存储器还是访问I/O接口,<img uploads/allimg//0T049A61-5.gif" align="absMiddle">信号是必须用的。同时为了控制数据流向也要使用读(<img uploads/allimg//0T0495L8-6.gif" align="absMiddle">)、写(<img uploads/allimg//0T04a461-7.gif" align="absMiddle">)信号。但是Z—80PIO和Z—80CTC芯片有些特殊,没有<img uploads/allimg//0T04a461-7.gif" align="absMiddle">信号引脚,它是利用<img uploads/allimg//0T049A61-5.gif" align="absMiddle">、<img uploads/allimg//0T0495L8-6.gif" align="absMiddle">和<img uploads/allimg//0T0491U0-11.gif" align="absMiddle">三个信号通过内部逻辑电路的组合而得到读、写、复位、中断响应等控制信号的。ADC0808只提供按58H地址的启动转换信号(START和ALE同时为“1”)并允许读出转换后的数据信号(OE=1)。DAC0832只提供按5CH地址的一次锁存信号,<img uploads/allimg//0T04a5C-12.gif" align="absMiddle">和<img uploads/allimg//0T04a334-13.gif" align="absMiddle">同时为“0”(ADC0808和DAC0832的原理、接线等。 </p> <p></p>
为了准确的得到ADC0808和DAC0832的译码信号,使用了四或门74LS32和四或非门74LS02构成简单的逻辑电路。 <font color="#FFFFFF"></font> </p>
讯享网 <font color="#FFFFFF"></font> </p>
图2 I/O接口地址译码扩展 </p> <p></p>
讯享网<strong> 2、负载能力的扩展</strong> <font color="#FFFFFF"></font> </p>
扩展的I/O接口和存储器的数据线都同时挂到CPU的数据总线上,各芯片的地址都要挂到CPU的地址线上,控制线也一样,要挂到CPU的控制总线上。计算机系统设计时,都考虑了各总线的驱动能力问题,CPU的数据、地址和控制总线都经过总线收发器(如74LS245)或缓冲器(如74L8244)才形成系统总线。因此,系统总线的负载能力较强。但是其负载能力还是有限的,不能无限制的增加,特别是当设计者自己设计微机控制系统时,更有必要考虑CPU各总线的负载能力。因为当负载过重时,各信号线的电压就会偏离正常值,“0”电平偏高,或“1”电平偏低,造成系统工作不稳定、抗干扰能力差,严重时甚至会损坏器件。因此总线负载能力的扩展也是I/O接口扩展设计中必须考虑的问题之一。 </p>
讯享网 微机系统中,通常采用两种不同工艺制造的器件,即TTL器件和MOS器件(TTL又分标准TTL器件74XXX,和低功耗肖特基TTL器件74LSXXX)。它们之间级连使用,逻辑电平是一致的(“1”电平≥1.8V~3.8V,“0”电平≤0.8~0.3V),但功耗和驱动能力有差别。它们的输入输出电流,如表2—4所示。 </p> <p></p>
由表2可见,MOS器件的输入电流小,驱动能力也差。一个MOS器件只能带一个标准74XXX器件(约1.6 mA)或四个74LSXXX器件(4×0.4mA),但它可以驱动10个左右的MOS器件。通常,同类器件带8~10个没有问题,若超过了就要加驱动器。 </p> <p></p>
讯享网表2 TTL和MOS器件输入输出电流 </p>
<tbody> <tr> <td colspan="2" align="center" bgcolor="#e8f7ff" valign="center" width="307"> <p> 器件<br> I 意义 <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="84"> <p> 74XXX <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="96"> <p> 74LSXXX <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="81"> <p> MOS </p> <p></p> </td> </tr> <tr> <td align="center" bgcolor="#e8f7ff" valign="center" width="114"> <p> I1H <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="194"> <p> 输入为高电平时的输入电流 </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="84"> <p> 40<img uploads/allimg//0T0-15.gif" height="11" width="10">A <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="96"> <p> 20<img uploads/allimg//0T04914N-16.gif" height="11" width="10">A </p> <p></p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="81"> <p> 10<img uploads/allimg//0T0-17.gif" height="11" width="10">A <font color="#FFFFFF"></font> </p> </td> </tr> <tr> <td align="center" bgcolor="#e8f7ff" valign="center" width="114"> <p> I1L <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="194"> <p> 输入为低电平时的输入电流 <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="84"> <p> -1.6mA </p> <p></p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="96"> <p> -0.4mA <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="81"> <p> -0.1mA </p> <p></p> </td> </tr> <tr> <td align="center" bgcolor="#e8f7ff" valign="center" width="114"> <p> I0H </p> <p></p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="194"> <p> 输出为高电平时的拉电流 </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="84"> <p> -0.4mA </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="96"> <p> -0.2~-1.2mA </p> <p></p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="81"> <p> -0.2mA <font color="#FFFFFF"></font> </p> </td> </tr> <tr> <td align="center" bgcolor="#e8f7ff" valign="center" width="114"> <p> I0L </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="194"> <p> 输出为的电平时的灌电流 </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="84"> <p> 16mA </p> <p></p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="96"> <p> 8~16mA <font color="#FFFFFF"></font> </p> </td> <td align="center" bgcolor="#e8f7ff" valign="center" width="81"> <p> 1.6mA </p> </td> </tr> </tbody>
讯享网 应用总线收发器可以提高总线驱动能力。Intel系列芯片的典型收发器为8286,是8位的。所以,在数据总线为8位的8088系统中,只用一片8286就可以构成数据总线收发器,而在数据总线为16位的8086系统中,则要用2片8286。 </p>
从图3中,可以看到8286具有两组对称的数据引线,<img uploads/allimg//0T0-4.gif" align="absMiddle">~<img uploads/allimg//0T04954C-3.gif" align="absMiddle">为输入数据线,<img uploads/allimg//0T0-20.gif" align="absMiddle">~<img uploads/allimg//0T0491b4-21.gif" align="absMiddle">为输出数据线,当然,由于在收发器中数据是双向传输的,所以实际上输入线和输出线也可以交换。用T表示的引脚信号就是用来控制数据传输方向的。当T=1时,就使<img uploads/allimg//0T0-4.gif" align="absMiddle">~<img uploads/allimg//0T04954C-3.gif" align="absMiddle">为输入线,当T=0时,则使<img uploads/allimg//0T0-20.gif" align="absMiddle">~<img uploads/allimg//0T0491b4-21.gif" align="absMiddle">为输入线。在系统中,T端和CPU的DT/R端相连,DT/<img uploads/allimg//0T049B15-26.gif" align="absMiddle">为数据收发信号。当CPU进行数据输出时,DT/<img uploads/allimg//0T049B15-26.gif" align="absMiddle">为高电平,于是数据流由<img uploads/allimg//0T0-4.gif" align="absMiddle">~<img uploads/allimg//0T04954C-3.gif" align="absMiddle">进入,从<img uploads/allimg//0T0-20.gif" align="absMiddle">~ </p>
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/199682.html