数字电子技术基础(新形态版) 课件 第9章 - AD和DA转换器_第1页
数字电子技术基础(新形态版) 课件 第9章 - AD和DA转换器_第2页
数字电子技术基础(新形态版) 课件 第9章 - AD和DA转换器_第3页
数字电子技术基础(新形态版) 课件 第9章 - AD和DA转换器_第4页
数字电子技术基础(新形态版) 课件 第9章 - AD和DA转换器_第5页
已阅读5页,还剩71页未读, 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

《数字电子技术基础》教学课件张俊涛陕西科技大学电子信息与人工智能学院第9章数-模和模-数转换器

D/AandA/DConverter

9.1数/模转换器本章内容9.2模/数转换器本章小结,习题9.3设计实践9.3.2数控电流源设计9.3.3数控稳压电源设计9.3.1可控增益放大电路设计9.3.5*

A/D转换控制器的设计9.3.6*

VGA时序控制器件的设计9.3.4温度检测与显示系统设计◆什么是模-数和数-模转换?◆为什么需要进行A/D和D/A转换?

模-数转换:将模拟信号(analogsignal)转换成数字信号(digitalsignal),简称A/D转换。相应地,实现A/D转换的器件称为A/D转换器,或称为ADC。☆数字系统的优点

(1)易于实现信号存储与处理;

(2)抗干扰能力强;(3)成本越来越低。

数-模转换:将数字信号还原成模拟信号,简称D/A转换。(1)自然界的物理量本质上是模拟的;(2)数字信号还需要还原为模拟信号。◆D/A转换器的分类

(按实现原理)☆权电阻网络☆T型网络权电流网络开关树权电容◆A/D转换器的分类

(按实现原理)直接型:☆并联比较型反馈比较型:计数型

☆

逐次渐近型间接型:☆V-T型(双积分)

V-F型

◆D/A转换器的性能指标☆转换精度

(1)分辨率(2)转换误差☆转换速度◆A/D转换器的性能指标☆转换精度

(1)分辨率(2)转换误差☆转换速度9.1D/A转换器1.权电阻网络DAC无符号二进制数,不同数位的数码具有不同权值。

权电阻网络(WeightedResistorNetwork)D/A转换器采用不同阻值的电阻来实现这些权值。

设权电阻网络从高位到低位产生的电流分别用I3、I2、I1和I0表示,流过反馈电阻的总电流用IΣ表示,则ex1:四位权电阻DACI3I2I1I0IΣD/A转换器有权电阻网络、梯形电阻网络、权电流和开关树等多种电路形式。ex:8位无符号二进制数b7b6b5b4b3b2b1b0。反相加法电路工作原理分析:di=1:Si接VREF;di=0:Si接GND。因此,流向运放反馈电阻的总电流其中8d3+4d2+2d1+d0表示4位二进制数d3d2d1d0的数值在小,用Dn表示,则D/A转换器的输出电压

上式表示:该电路能够将4位二进制数d3d2d1d0转换成与其数值大小Dn成正比的模拟量VO。I3I2I1I0IΣ权电阻网络D/A转换器的优点:原理清晰,易于实现!

【例9-1】利用74HC161和四位权电阻网络D/A转换器设计的锯齿波发生器电路如图所示。分析电路的工作原理。设DCLK的频率为1000Hz,计算输出锯齿波的频率和最大幅度。电源电压VDD=5V,VOH≈VDD、VOL≈0。分析:74HC161在时钟脉冲DCLK的作用下依次输出0000~1111,然后通过四位权电阻网络D/A转换器转换为模拟电压输出,输出的波形如图所示。?思考与练习9-1.应用计数器和四位权电阻网络设计三角波发生器,画出设计图。若时钟频率为1000Hz,分析输出三角波的频率和幅度。仿真程序:ex9.1-1.ms11【例9-1简化电路】仿真程序:ex9.1-2.ms11vO=K·Dn?思考与练习9-1*.对于例9-1简化电路,推导输出电压vO与计数器输出Dn的表达式,确定vO=K·Dn中K的值。

权电阻网络D/A转换器的缺点:随着转换位数的增多,权电阻网络D/A转换器使用电阻的种类越来越多,电阻的差值也越来越大,不利于集成D/A转换器的制造。(1)对于8位DAC,电阻的值:0.5R,R~128R(2)对于10位DAC,电阻的值:0.5R,R~512R(3)对于12位DAC,电阻的值:0.5R,R~2048R权电阻网络D/A转换器一般做原理电路使用!2.梯形电阻网络DAC

梯形电阻网络(LadderResistorNetwork)D/A转换器只使用R和2R两种规格的电阻即可实现任意位数的D/A转换。IΣex2:四位梯形DACI-V转换电路di=1:Si接反相端;di=0:Si接GND。因此,D/A转换器的输出电压

上式表示:该电路能够将四位二进制数d3d2d1d0转换成与其数值大小Dn成正比的模拟量vO。

一般地,对于n位D/A转换器,其输出电压可表示为

梯形电阻网络D/A转换器只使用了两种规格的电阻,而且结构规整,便于集成电路制造,所以是目前集成D/A转换器的主流结构。

DAC0832为双缓冲结构,其中8位输入寄存器由ILE、CS'、WR1'控制,8位DAC寄存器由WR2'、XFER'控制,可设置为双缓冲、单缓冲或直通三种工作模式。

DAC0832为电流输出型DAC,需要通过I-V转换电路将输出电流转换成输出电压,典型应用电路如图所示。由微控制器输出的8位待转换数据DI7~DI0在ILE、CS'、WR1'、WR2'、XFER'控制信号的作用下,通过DAC0832内部R-2R梯形电阻网络和外接运放转换为模拟电压vO。AD7520为电流输出型DAC,需要通过外接运放才能将电流转换为电压输出。

10位D/A转换器AD7520的内部结构如图所示,由R-2R梯形电阻网络、电子开关和反馈电阻R组成。3.D/A转换器的性能指标转换精度和转换速度是衡量D/A转换准确度和实时性的两项指标。(1)转换精度转换精度用分辨率和转换误差两项指标来描述。

分辨率定义为D/A转换器能够输出的最小模拟电压(对应输入数字量只有最低数值位为1时)与最大模拟电压(对应输入数字量所有数值位全为1时)的比值,反映D/A转换器理论上可以达到的转换精度。

把D/A转换器的实际输出特性与理想输出特性之间的最大偏差定义为转换误差。

导致D/A转换器产生转换误差的原因是由于内部电阻值的误差、电子开关的导通压降与导通内阻以及运放的非线性因素等影响。ex:n=8时,1/255≈0.39%(2)转换速度

转换速度由建立时间(tset)定义,用来衡量D/A转换速度的快慢。

D/A转换器输入数字量从全0跳变为全1时开始,到输出电压稳定在满量程(FullScaleRange,简称FSR)的±½LSB(LeastSignificantBit,最低有效位)范围内为止的时间称为建立时间。ex:n=8时Dn=00000000Dn=11111111

对于电流输出型DAC,需要外接集成运放才能构成D/A转换器,因此D/A转换的速度不但与DAC的建立时间有关,而且与运放的压摆率有密切的关系。所以,应用时不但要选择合适的DAC,而且需要选择合适的运放。【例9-2】用数字系统控制电机转速的原理电路如图所示,将DAC输出0~2mA的模拟电流信号放大后控制电机的转速在0~1000转/分之间变化。如果希望控制电机转速的分辨率小于2(转/分),则需要采用几位DAC?分析:转速范围为0~1000转/分,分辨率小于2转/分,所以DAC最少应有1000/2+1=501个取值。因为29=512>501,因此,至少需要采用9位D/A转换器。9.2A/D转换器◆A/D转换的四个步骤☆采样(Sampling)☆保持(Hold)☆量化(Quantization)☆编码(Coding)◆

A/D转换器的电路结构☆采样-保持电路☆量化与编码电路◆A/D转换过程中存在的两个理论问题(1)采样定理fs≥2fmaxfs≥(2.5~4)fmax模拟信号:f(t),0<t<tn离散时间信号:f(tk),0≤k<N(2)量化方法f(t):0~1V3位二进制码:D2D1D0只舍不入法四舍五入法量化误差∆=1/8V量化误差∆=1/15V1.采样-保持电路(1)取样阶段

采样-保持电路的核心为比例积分电路,其中MOS管T为采样开关,受采样信号VL的控制。

VL为高电平时,T导通,采样-保持电路开始采样。设积分器的初始电压为0,则采样开始后积分器的输出电压受到比例电路的限制,采样-保持电路的输出电压最高可以达到若取RF=R1,并且t足够长,则采样过程结束时,采样-保持电路的输出电压(1)VL=0时,vO保持上一次的采样值(2)VL=1时,vO=vO1=vI(采样)应用:多通道同步采样时驱动和隔离!2.量化与编码电路(1)并联比较型

优点:并联比较型A/D转换器只需要一次比较,就可以将模拟量转换为数字量,是目前所有A/D转换器中速度最快的,每秒可以转换千万次以上。因此,并联比较型A/D转换器也称为FlashA/D转换器。并联比较型A/D转换器工作原理分析缺点:电路复杂,成本很高。并联比较型A/D转换器优缺点分析:8位Semi-flashA/D转换器电路结构3位:7个比较器,7位寄存器,8-3线优先编码器。4位:15个比较器,15位寄存器,16-4线优先编码器。8位:255个比较器,255位寄存器,256-8线优先编码器。(2)反馈比较型(a)计数型(b)逐次渐近(SAR)型x=138421转换开始前(vL=0):(1)QAQBQC=000vB=0/1(2)Q1Q2Q3Q4Q5=10000转换开始后(vL=1):(1)QAQBQC=100(2)QAQBQC=110(3)QAQBQC=101(4)d2d1d0=QAQBQCQ1Q2Q3Q4Q5:

01000001000001000001vB=0:保持vB=1:置零x=5SAR型A/D转换器总结:(1)电路复杂程度远低于并联比较型;(2)转换速度仅次于并联比较型;(3)是目前A/D转换器的主流产品。?思考与练习9-*.根据3位SAR型A/D转换器的工作原理,将3位SAR型A/D转换器扩展为8位SAR型A/D转换器。?思考与练习9-2.在A/D转换过程中,取样-保持电路的作用是?9-3.量化有哪两种方案,量化误差各为多少?9-4.并联比较型A/D转换器是否需要外加取样保持电路?试分析说明。(3)双积分型A/D转换器(1)正向积分时间为T1,正向积分完成后积分器的输出电压为(2)设反向积分时间为T2,则由上式解得

由上式看出,反向积分时间T2与输入电压成正比。输入电压越高,反向积分时间越长。

由于计数值与T2成正比,而T2与输入电压成正比,所以计数值自然也与输入电压成正比,从而将输入模拟电压转换成与之成正比的数字量,实现了A/D转换。

若在反向积分时间T2内通过计数器对固定频率的时钟源CLK进行计数,T2越长,则计数值越大。双积分型A/D转换器优缺点分析:优点:(1)...,(2)...缺点:.....D3,D2D1D00000~1999211=2048D4,D3D2D1D000000~19999214=16384(4)*V-F型A/D转换器3.A/D转换器的性能指标转换精度和转换速度是衡量A/D转换准确度和实时性的两项指标。(1)转换精度转换精度用分辨率和转换误差两项指标来描述。

分辨率表示A/D转换器对输入信号的分辨能力。从理论上讲,n位A/D转换器应该能够区分出2n个不同等级的输入电压,或者说,能够区分出的最小输入电压为满量程电压的1/2n。

转换误差表示A/D转换器实际输出的数字量和理论上输出数字量之间的差值,通常以最低有效位(LSB)的倍数表示。(2)转换速度转换速度用完成一次A/D转换所需要的时间来描述。

转换时间是指A/D转换器从转换控制信号有效开始,到输出端得到稳定的数字信号所经过的时间。

双积分A/D转换器的转换速度最慢,转换时间大都在几十毫秒至几百毫秒范围内,满足仪表与检测领域的需要。

A/D转换器的转换时间与量化与编码电路的类型有关,不同类型的转换器转换速度差异很大。并联比较型的转换速度最高,8位A/D转换器的时间可以达到50ns以内;

逐次渐近型A/D转换器的转换速度次之,转换时间在1~100μs之间,但电路成本远低于并联比较型,是目前广泛应用A/D转换器的产品。?思考与练习9-5.应用A/D转换器进行模数转换时应注意哪些主要问题?9-6.某同学用满量程为5V的A/D转换器对幅值为0.5V的模拟信号进行转换。你认为是否合适?应该怎么做?9.3设计实践9.3.1可控增益放大电路设计9.3.2数控电流源设计9.3.3数控稳压电源设计9.3.4温度测量与显示系统设计9.3.5*A/D转换控制器的设计9.3.6*VGA时序控制器的设计9.3.1可控增益放大电路设计

放大电路一般需要根据输入信号的大小来调整增益,以防止放大倍数过大导致输出信号失真,或者因放大倍数过小而导致分辨率降低的问题。

分析:放大电路增益调整的几种方法:(1)利用模拟开关切换电阻网络

CD4051/2/3,AD7501/2/3(2)应用集成可控增益放大器

AD603,VCA821/2A=2×RF/RGX9241(64taps)/X9313(32taps)【设计任务】设计一个增益可控的放大电路,能够对峰值为10mV、频率为1000Hz的音频小信号进行放大。电路设有“UP”和“DOWN”两个键,按UP时增益步进增加,按DOWN时增益步进减小。要求放大电路的增益范围为0~1000,步进不大于4,增益误差小于±5%。(3)应用D/A转换器

DAC0832/AD7520

设计过程:应用D/A转换器实现可控增益放大电路的总体设计方案如图所示。

用两片74HC193级联构成8位二进制加/减计数器,输出作为DAC0832的输入数字量D7~D0,有0~255共256种取值,对应放大电路的增益分别为0、3.9、7.8、11.7、...、992.2和996.1。

可控增益放大电路的实际增益与运放的性能、电阻和电容等元件的参数以及电路板的布局与布线有关,以实际性能以测量为准。

进一步讨论:放大电路增益调整的几种方法:(1)利用模拟开关切换电阻网络;

CD4051/2/3,AD7501/2/3(2)应用集成可控增益放大器;

AD603,VCA821/2(3)应用D/A转换器。

DAC0832/AD75209.3.2

数控电流源设计

电流源用于为电子设备提供恒定的输出电流。【设计任务】设计数控电流源。电流源设有“电流增”(UP)和“电流减”(DOWN)两个按键,按UP时输出电流步进增加,按DOWN时输出电流步进减小。具体要求如下:(1)输出电流范围为100mA~800mA,步进为100mA;(2)输出电流误差≤±5%;(3)当负载两端电压变化5V时,输出电流的绝对误差小于变化前电流值的10%。【分析】输出8种电流值,而且可增可减,因此应用8进制加/减计数器作为主控电路,通过D/A转换器将计数器输出的数字量转换成模拟电压值,再通过加法电路调整为1~8V,驱动电流源输出100~800mA。总体设计方案如图所示。(1)DAC0832的输出电压取Dn=0x2x1x00000时,若取VREF=16V时,(2)加法电路基于运放设计。

设计加法电路对vo的加法增益对-1,并将5V电源的加法增益为0.2,则可叠加出1~8V的控制电压。(3)用加法电路输出的1~8V控制电流源,在10Ω电阻上产生100mA~800mA、步进100mA的电流值。采用小功率三极管复合中功率三极管(如TIP41)或大功率三极管(如2N3055)作为电流源的调整管。故将数字0~7转换成0~-7V.vo=-x2x1x0【设计过程】8进制加/减计数器应用双时钟加/减计数器74HC193实现,通过显示译码器CD4511驱动数码管显示计数器的状态。D/A转换器选用8位D/A转换器DAC0832,设置为直通模式,用于将数字量转换成模拟电压。9.3.3

数控稳压电源设计稳压电源是基本的电子产品,为电子系统提供稳定的直流电压,分为线性稳压电源和开关电源两大类。

分析:要求电源输出电压为0~9.9V,共有100种取值,而且要求输出电压可增可减,因此用100进制加/减计数器作为主控电路,然后通过D/A转换器将十位和个位的数字量转换成相应的模拟电压值,然后根据权值叠加成0~9.9V的控制电压,去控制直流稳压电源输出0~9.9V电压,故总体设计方案如图所示。【设计任务】设计一个数控直流稳压电源。电源设有“UP”和“DOWN”两个键,按UP时输出电压步进增加,按DOWN时输出电压步进减小。具体要求如下:(1)输出电压的范围为0~9.9V,步进为0.1V;(2)输出电压的误差≤±0.05V;(3)用数码管显示设定输出电压值;(4)最大输出电流≥1A。

设计过程:100进制加/减计数器用两个74HC192级联实现,通过显示译码器CD4511驱动数码管显示设定的电压值。8位D/A转换器选用DAC0832,设置为直通模式,用于将数字量转换成模拟电压。(1)由于DAC0832的输出电压取Dn=x3x2x1x00000时,若取VREF=16V时,(2)加法器基于运算放大器设计。设计十位数的加法增益为-1,个位数的加法增益为-0.1,可叠加出0~9.9V的控制电压。(3)用加法器的输出信号控制直流稳压电源,采用小功率三极管复合中功率三极管(如TIP41,最大输出电流为6A)或大功率三极管(如2N3055,最大输出电流为15A)作为调整管,在散热完善的情况下,完全可以满足最大输出电流1A要求。故将数字0~9转换成0~-9V.

数控直流电源的输出电压与运放的性能、电阻和电容等元件的参数偏差以及电路板的布局与布线有关,以实际测量为准。9.3.4温度测量与显示系统设计温度是工业生产测量与控制的基本测量参数。

温度是工业生产测量与控制的基本测量参数。

分析:本设计要求测量温度的范围不大,精度高求也不高,同时考虑后续电路设计方便,因此选用摄氏温度传感器LM35,测量温度范围为-55℃~150℃,测量误差为±0.5℃。【设计任务】设计一个温度测量与显示系统,要求被测温度范围0~99°C,精度不低于1°C。

温度传感器有模拟温度传感器和数字温度传感器(DS18B20)两大类。

模拟温度传感器有绝对温度传感器(AD590)、摄氏温度传感器(LM35/45)和用于工业现场测量高温的热电偶等多种类型。

设计过程:LM35输出电压与温度的关系为Vout=10(mV/℃)×T(℃)

当测温范围为0~100°C时,LM35的输出电压对应为0~1000mV。

为了提高测量精度,通过信号调理电路将温度传感器输出的电压信号放大5倍,达到ADC0809输入电压的满量程范围。同时为了减小调理电路对温度传感器电路的影响,采用输入阻抗极高的同相放大电路进行放大。ADC0809的输入电压为0~5V时,其输出数字量D为0~255,而相应的温度T应对应为0~100℃,故采用公式T=(D/255)×100将数字量映射成温度值,并通过公式

(BCD码)十位=T/10,(BCD码)个位=T%10转换为BCD码显示。#include<math.h>#include<stdio.h>intmain(void){unsignedintAD_dat;unsignedcharTemp_dat;unsignedcharBCD_s,BCD_g,BCD_dat;FILE*fp;fp=fopen("Trom256x8.bin","wb");for(AD_dat=0;AD_dat<256;AD_dat++)

{Temp_dat=(AD_dat*100.0)/255+0.5;BCD_s=Temp_dat/10;BCD_g=Temp_dat%10;BCD_dat=(BCD_s<<4)+BCD_g;fputc(BCD_dat,fp);}fclose(fp);}用上述公式建立“数字量D-BCD温度值”映射文件,加载至256×8位ROM中,实现转换与显示。生成映射文件的C程序参考如下:温度测量的整体设计如图所示,图中的START按键用于启动A/D转换。9.3.5*A/D转换控制器的设计

A/D转换的传统控制方法是用微控制器(micro-controller)按工作时序控制A/D转换器完成数据采集过程。受微控制器串行执行方式的限制,这种控制方法在实时性方面有很大的局限性。若应用状态机控制A/D转换器,则不仅速度快,而且可靠性高,是传统控制方法无法比拟的。温度是工业生产测量与控制的基本测量参数。【设计任务】设计A/D转换控制器,能够控制ADC0809对模拟量进行转换。【分析】ADC0809是八路8位逐次渐近型A/D转换器,工作时序分别如图所示。根据ADC0809的工作时序,将一次转换过程划分为st0~st4五个工作阶段。各工作阶段状态的含义及输出如表9-4所示,状态转换关系如图9-37所示。

根据ADC0809的工作时序,将一次转换过程划分为st0~st4五个工作阶段。各工作阶段状态的含义及输出如表所示,状态转换关系如图所示。【设计过程】根据上图所示的状态转换关系,结合状态机三段式描述方法,设计出A/D转换控制器的结构框图如图所示。根据上述结构框图,描述ADC0809转换控制器的VerilogHDL代码参考如下。moduleADC0809_controller(clk,rst_n,iaddr,eoc,d,start,ale,oe,oaddr,lock,q);inputclk,rst_n,eoc;

//时钟、复位信号和转换结束信号input[2:0]iaddr;

//转换通道号input[7:0]d;

//AD转换值输入outputregstart,ale,oe,lock;//启动信号、锁存信号、输出允许信号和锁存信号outputwire[2:0]oaddr;//转换通道号outputreg[7:0]q;

//AD转换值输出//状态定义及编码,一位热码方式localparamst0=5'b00001;localparamst1=5'b00010;localparamst2=5'b00100;localparamst3=5'b01000;localparamst4=5'b10000;//定义状变变量寄存器

reg[4:0]curr_state,next_state;

assignoaddr=iaddr;

//设置A/D转换通道

//时序逻辑过程,描述状态转换

always@(posedgeclkornegedgerst_n)

if(

!rst_n

)curr_state<=st0;

elsecurr_state<=next_state;

//组合逻辑过程,确定次态always@(curr_state,eoc)case(curr_state)

st0:next_state=st1;

st1:next_state=st2;st2:if(eoc)

next_state=st3;

elsenext_state=st2;st3:next_state=st4;st4:next_state=st0;default:next_state=st0;endcase//组合逻辑过程,确定输出always@(curr_state)

case(curr_state)st0:beginstart=1'b0;ale=1'b0;oe=1'b0;lock=1'b0;endst1:beginstart=1'b1;ale=1'b1;oe=1'b0;lock=1'b0;endst2:beginstart=1'b0;ale=1'b0;oe=1'b0;lock=1'b0;endst3:beginstart=1'b0;ale=1'b0;oe=1'b1;lock=1'b0;endst4:beginstart=1'b0;ale=1'b0;oe=1'b1;lock=1'b1;enddefault:beginstart=1'b0;ale=1'b0;oe=1'b0;lock=1'b0;endendcase//辅助过程,锁存转换数据always@(posedgelock)q<=d;endmodule9.3.6*VGA时序控制器的设计VGA(VideoGraphicsArray)是IBM公司推出的视频显示接口标准,采用D-SUB15接口,如图9-39所示,主要应用5个信号:行同步信号和场同步信号,以及红、绿、蓝三基色模拟信号。VGA将显示图像按行划分为若干个像素,按列划分为若干行,采用动态扫描方式显示图像,如图所示。

要正确地显示VGA图像,必须为VGA接口精确地提供VGA行、场同步信号。行、场同步信号的工作时序如图9-41所示。温度是工业生产测量与控制的基本测量参数。【设计任务】设计VGA一个时序控制器,能够控制VGA接口在40480@60Hz模式下显示8×8彩色方格图像。【分析】分辨率为640×480、刷新频率为60Hz的VGA图像行、场同步信号的具体参数如表所示。【设计过程】VGA显示应用系统结构如图6-42所示,由VGA时序产生电路、VGA时序控制器和像素生成模块三部分组成。VGA时钟产生电路生成VGA时序控制器所需要的时钟信号,VGA时序控制器产生行、场同步信号以及动态扫描所需要的像素坐标,而像素生成电路输出当前像素点相应的RGB像素值,然后通过三通道高速D/A转换器转换为三基色模拟信号,驱动VGA显示图像。

VGA时序控制器的设计与接口电路有关。设VGA接口电路如图所示,将数字系统输出的4位红、绿、蓝三基色数字量经过三个4位权电阻网络转换为三基色模拟信号,提供给VGA显示器。

基于上述接口电路,设计VGA时序控制模块的结构框图如图所示,由两个过程语句组成。其中第一个过程语句用于产生行同步信号VGA_HS和像素行坐标X,第二个过程语句用于产生场同步信号VGA_VS和像素列坐标Y.

根据上述结构框图,描述分辨率为640480@60Hz模式行、场同步信号以及像素坐标X、Y的VGA时序控制器的VerilogHDL代码参考如下。moduleVGA_controller(input

iVGA_clk,//时钟输入outputwireoVGA_clk,//时钟输出outputregVGA_HS,//行同步信号outputregVGA_VS,//场同步信号outputreg[9:0]X,//10位行坐标Xoutputreg[9:0]Y

//10位列坐标Y);//640×480@60Hz行参数定义localparamH_FRONT=16;//前沿localparamH_SYNC=96;//同步头localparamH_BACK=48;//后沿localparamH_ACT=640;//显示段localparamH_BLANK=H_FRONT+H_SYNC+H_BACK;//消隐期localparamH_TOTAL=H_FRONT+H_SYNC+H_BACK+H_ACT;//总像素

//640×480@60Hz场参数定义localparamV_FRONT=10;//前沿localparamV_SYNC=2;

//同步头localparamV_BACK=33;//后沿localparamV_ACT=480;//显示段localparamV_BLANK=V_FRONT+V_SYNC+V_BACK;//消隐期localparamV_TOTAL=V_FRONT+V_SYNC+V_BACK+V_ACT;//总行数//内部变量定义reg[9:0]H_cnt;//行计数器reg[9:0]V_cnt;//场计数器//VGA输出时钟逻辑assignoVGA_clk=iVGA_clk;//行同步信号VGA_HS和行像素坐标X生成过程always@(posedgeiVGA_clk)begin//行计数过程 if(H_cnt<H_TOTAL) H_cnt<=H_cnt+1'b1; else

H_cnt<=0;

//行同步头生成

if(H_cnt==H_FRONT-1)

//检测行前沿结束点 VGA_HS<=1'b0;

if(H_cnt==H_FRONT+H_SYNC-1)//检测行同步头结束点 VGA_HS<=1'b1;

//行像素坐标生成

if(H_cnt>=H_BLANK)

X<=H_cnt-H_BLANK;

elseX<=0;

end//场同步信号VGA_VS和列坐标Y生成过程always@(posedgeVGA_HS)begin//场计数过程

if(V_cnt<V_TOTAL)

V_cnt<=V_cnt+1'b1;

else

V_cnt<=0;

//场同步头生成

if(V_cnt==V_FRONT-1) //检测场前沿结束点 VGA_VS<=1'b0;if(V_cnt==V_FRONT+V_SYNC-1) //检测场同步头结束点 VGA_VS<=1'b1;

//列像素坐标生成

if(V_cnt>=V_BLANK)

Y<=V_cnt-V_BLANK; elseY<=0;endendmodule

为了测试VGA时序控制器的功能,还需要编写像素生成模块,产生RGB数字量提供给VGA接口电路,在VGA时序控制器的作用下,转换为三基色模拟信号依次在VGA像素坐标点(X、Y)上显示相应的色彩信息。

彩色方格图像是指将VGA图像划分为若干个规则的区域,每个区域分配一种色彩。将图像按行分为8个区、按列分为8个区时,则整个图像共有64个区域。每个区域分配不同的色彩时,则会形成8×8彩色方格图像,如图所示。moduleVGA_pattern(VGA_clk,X,Y,VGA_red,VGA_gre,VGA_blue);inputVGA_clk;

//来自iVGA_clk或oVGA_clkinput[9:0]X,Y;

//像素点坐标outputreg[3:0]VGA_red;//红色分量值outputreg[3:0]VGA_gre;//绿色分量值outputreg[3:0]VGA_blue;//蓝色分量值//方格色彩定义always@(posedgeVGA_clk)begin//将VGA显示区按行等分为4个区,从上向下红色分量依次增强VGA_red<=(Y<120)?

4: (Y>=120&&Y<240) ? 8: (Y>=240&&Y<360) ? 12:15;//将VGA显示区按列等分为8个区,从左向右绿色分量依次增强 VGA_gre<=(X<80)

?2:

(X>=80&&X<160) ?

4:

(X>=160&&X<240) ? 6: (X>=240&&X<320) ? 8 : (X>=320&&X<400) ? 10 : (X>=400&&X<480) ? 12 : (X>=480&&X<560) ? 14 :15;

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论