基于FPGA verilog的数模转换

基于FPGA verilog的数模转换

ID:46807931

大小:69.71 KB

页数:5页

时间:2019-11-28

基于FPGA verilog的数模转换_第1页
基于FPGA verilog的数模转换_第2页
基于FPGA verilog的数模转换_第3页
基于FPGA verilog的数模转换_第4页
基于FPGA verilog的数模转换_第5页
资源描述:

《基于FPGA verilog的数模转换》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、数模转换先介绍一下DAC7512。DAC7512是一种低功耗,12位缓冲电压输出数字到模拟转换器(DAC)。其内置的精密输出放大器允许轨到轨(即最大输出可达到参考电压)输出摆幅。DAC7512采用多功能三线串行接口,运行在高达30MHz的时钟速率,并与标准的SPI™,QSPI™,微丝™和DSP的接口兼容。其SOT-23-6封装的引脚图:引脚定义如下表:Vout芯片模拟输出电压GND器件内所有电路的地参考点Vdd供电电源,直流2.7V-5.5VDin串行数据输入SCLK串行时钟输入SYNC输入控制信号(低电平有效)DAC7512采用三线制(SYNC,SC

2、LK及DIN)串行接口,其串行写操作时序如下图所示:写操作开始前,SYNC要置低。DIN的数据在串行时钟SCLK的下降沿依次移入DAC7512的16位输入数据寄存器(DAC是在下降沿的时候采数据,所以我们应该在上升沿的时候把数据发出)。在串行时钟的第16个下降沿到来时,将最后一位移入寄存器。输入数据中包含对工作模式的设置及DAC内容的刷新,从而完成一个写周期的操作。此时,SYNC可保持低电平或置高,但在下一个写周期开始前,SYNC必须转为高电平并至少保持33ns以便使SYNC有时间产生下降沿来启动下一个写周期。若SYNC在一个写周期内转为高电平,则本次

3、写操作失败,寄存器强行复位。输入数据寄存器格式(输入的数据被装到这个寄存器里):其中第12位和第13位是模式控制位:DAC7512的输入数据寄存器宽度为16位,其中DB15、DB14是空闲位,DB13、DB12是工作模式选择位、DB11~DB0是数据位。器件内部带有上电复位电路。上电后,寄存器置0,所以DAC7512处于正常工作模式,模拟输出电压为0V。我们可以得到输入数字量与输出模拟量的对应关系:其中D为输入数字量(DB11~DB0是数据位),4096就是2的12次方(因为数据有效位就是后12位),VDD就是DAC7512的电源电压,也是它的参考电压

4、。我们在这儿列出一些参考的数字量和对应的模拟值的对应关系(DAC参考电压是3.3V):数字量输入(data_out)理论模拟输出0X02000.4125V0X04000.8250V0X08011.6509V0X09B21.9997V0X0FFF3.2993V//修改dataout的初始值就可以改变输出的模拟电压值moduledac7512(clk,rst,sync_out,sclk_out,da_data_out);inputclk,rst;outputsync_out,sclk_out,da_data_out;regsync_out,sclk_out

5、,da_data_out;regbclk;reg[15:0]dataout;reg[5:0]cnt;//40分频defparamGen_RxClk.divdFACTOR=20,Gen_RxClk.divdWIDTH=5;//分频时钟gen_divdGen_RxClk(.reset(!rst),.clkin(clk),.clkout(bclk));//端口名称关联always@(posedgebclk)beginif(!rst)beginsync_out<=1'b1;sclk_out<=1'b1;dataout<=16'h0400;//待转换数字量cnt

6、<=6'd0;endelsebegincnt<=cnt+1'b1;case(cnt)0:beginsync_out<=1'b1;sclk_out<=1'b1;end1:beginsync_out<=1'b0;end2:beginsclk_out<=1'b1;da_data_out<=dataout[15];end3:beginsclk_out<=1'b0;end4:beginsclk_out<=1'b1;da_data_out<=dataout[14];end5:beginsclk_out<=1'b0;end6:beginsclk_out<=1'b1;

7、da_data_out<=dataout[13];end7:beginsclk_out<=1'b0;end8:beginsclk_out<=1'b1;da_data_out<=dataout[12];end9:beginsclk_out<=1'b0;end10:beginsclk_out<=1'b1;da_data_out<=dataout[11];end11:beginsclk_out<=1'b0;end12:beginsclk_out<=1'b1;da_data_out<=dataout[10];end13:beginsclk_out<=1'b0;

8、end14:beginsclk_out<=1'b1;da_data_out<=dataout[

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。