【连载】 FPGA Verilog HDL 系列实例--------AD转换(ADC0809)

【连载】 FPGA Verilog HDL 系列实例

Verilog HDL 之 AD转换

   AD转换就是模数转换,顾名思义,就是把模拟信号转换成数字信号。我们所用的模数转换芯片是ADC0809。

  ADC0809 8通道8位a/d转换器,ADC0809是带有8位A/D转换器、8路多路开关以及微处理机兼容的控制逻辑的CMOS组件。它是逐次逼近式A/D转换器,可以和单片机直接接口。ADC0809由一个8路模拟开关、一个地址锁存与译码器、一个A/D转换器和一个三态输出锁存器组成。多路开关可选通8个模拟通道,允许8路模拟量分时输入,共用A/D转换器进行转换。三态输出锁器用于锁存A/D转换完的数字量,当OE端为高电平时,才可以从三态输出锁存器取走转换完的数据。如图3.1所示。

     

                 图3.1 ADC0809的内部结构和引脚定义

   如何学会使用一个自己曾经没有用过的芯片,最重要的是要学会看它的芯片手册,以及它的时序图。下面我们将看看是如何根据它的时序图完成对芯片的驱动的。

      

                       图3.2 ADC0809时序图

  原理(好好理解一下,这样才能很好的根据时序图写出代码。):START为转换启动信号。当START上跳沿时,所有内部寄存器清零;下跳沿时,开始进行A/D转换;在转换期间,START应保持低电平。EOC为转换结束信号。当EOC为高电平时,表明转换结束;否则,表明正在进行A/D转换。OUTPUTENABLE为输出允许信号,用于控制三条输出锁存器向单片机输出转换得到的数据。OE=1,输出转换得到的数据;OE=0,输出数据线呈高阻状态。D7-D0为数字量输出线。CLK为时钟输入信号线。因ADC0809的内部没有时钟电路,所需时钟信号必须由外界提供,通常使用频率为500KHZ(程序中会有体现)

     

Verilog HDL实现

实现步骤请参照 【连载】 FPGA Verilog HDL 系列实例--------8-3编码器。这里就不再赘述。

设计文件输入Verilog HDL代码。

ContractedBlock.gif ExpandedBlockStart.gif ADC0809.v
  1 //-------------------------------------------------------------------------------------------------
2 //
3 // File : ADC0809.v
4 // Generated : 2011-07-21
5 // Author : wangliang
6 //
7 //-------------------------------------------------------------------------------------------------
8 `timescale 1 ns / 1 ps
9
10
11 module ADC0809 ( seven_seg ,ale ,OE ,D ,EOC ,clk ,abc_in ,abc_out ,start ,rst );
12
13 input clk ; //系统时钟
14 input [2:0] abc_in ; //外部控制的通道选择信号
15 input [7:0] D ; //ADC0809传进来的数据
16 input EOC ; //ADC0809转换完成信号标志
17 input rst ; //系统 复位
18
19 output [15:0] seven_seg ; //FPGA给数码管的数据
20 output ale ; //FPGA给ADC0809的地址锁存信号
21 output OE ; //FPGA给ADC0809的使能信号
22 output [2:0] abc_out ; //FPGA给ADC0809的通道选择信号
23 output start ; //ADC0809 转换开始信号
24
25 parameter st0 = 3'b000,
26 st1 = 3'b001,
27 st2 = 3'b010,
28 st3 = 3'b011,
29 st4 = 3'b100,
30 st5 = 3'b101,
31 st6 =
  • 9
    点赞
  • 105
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值