查看: 1349|回复: 0

【紫光同创国产FPGA教程】【第十七章】AD实验之AD9238波形...

[复制链接]
  • TA的每日心情
    开心
    2021-1-12 14:00
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2021-2-24 14:29:10 | 显示全部楼层 |阅读模式
    分享到:
    本原创教程由芯驿电子科技(上海)有限公司(ALINX)创作,版权归本公司所有,如需转载,需授权并注明出处(http://www.alinx.com)。
    适用于板卡型号:
    PGL22G/PGL12G
    1. 实验简介
    本实验练习使用ADC,实验中使用的ADC模块型号为AN9238,最大采样率65Mhz,精度为12位。实验中把AN9238的2路输入以波形方式在HDMI上显示出来,我们可以用更加直观的方式观察波形,是一个数字示波器雏形。
    AN9238双路65M采样12位ADC模块实验预期结果2. 实验原理
    黑金高速AD模块AN9238为2路65MSPS, 12位的模拟信号转数字信号模块。模块的AD转换采用了ADI公司的AD9238芯片, AD9238芯片支持2路AD输入转换,所以1片AD9238芯片一共支持2路的AD输入转换。模拟信号输入支持单端模拟信号输入,输入电压范围为-5V~+5V,接口为SMA插座。
    AN9238模块的原理设计框图如下:
    关于AD9238的电路具体参考设计请参考AD9238的芯片手册。
    2.1 单端输入及运放电路
    单端输入AD1和AD2通过J5或者J6两个SMA头输入,单端输入的电压为-5V~+5V。
    板上通过运放AD8065芯片和分压电阻把-5V~+5V输入的电压缩小成-1V~+1V。如果用户想输入更宽范围的电压输入只要修改前端的分压电阻的阻值。
    下表为模拟输入信号和AD8065运放输出后的电压对照表:
    AD模拟输入值AD8065运放输出
    -5V-1V
    0V0V
    +5V+1V
    2.2 单端转差分及AD转换
    -1V~+1V的输入电压通过AD8138芯片转换成差分信号(VIN+ − VIN−), 差分信号的共模电平由AD的CML管脚决定。
    下表为模拟输入信号到AD8138差分输出后的电压对照表:
    AD模拟输入值AD8065运放输出AD8138差分输出(VIN+−VIN−)
    -5V-1V-1V
    0V0V0V
    +5V+1V+1V
    2.3 AD9238转换
    默认AD是配置成offset binary的,AD转换的值如下图所示:
    在模块电路设计中,AD9238的VREF的值为1V,这样最终的模拟信号输入和AD转换的数据如下:
    AD模拟输入值AD8055运放输出AD8138差分输出(VIN+−VIN−)AD9238数字输出
    -5V-1V-1V000000000000
    0V0V0V100000000000
    +5V+1V+1V11111111111
    从表中我们可以看出,-5V输入的时候,AD9238转换的数字值最小,+5V输入的时候,AD9238转换的数字值最大。
    2.4 AN9238数字输出时序
    AD9238双通道AD的数字输出为+3.3V的CMOS输出模式,2路通道(A和B)独立的数据和时钟。AD数据在时钟的上降沿转换数据,FPGA端可用AD时钟的采样AD数据。
    3. 程序设计
    本实验显示部分是基于前面的已有的实验,在彩条上叠加网格线和波形。
    timing_gen_xy模块完成视频图像的坐标生成,x坐标,从左到右增大,y坐标从上到下增大。
    信号名称方向宽度(bit)说明
    clkin1系统时钟
    rst_nin1异步复位,低电平复位
    i_hsin1视频行同步输入
    i_vsin1视频场同步输入
    i_dein1视频数据有效输入
    i_datain24视频数据输入
    o_hsout1视频行同步输出
    o_vsout1视频场同步输出
    o_deout1视频数据有效输出
    o_dataout24视频数据输出
    xout12坐标x输出
    yout12坐标y输出
    timing_gen_xy模块端口
    grid_display模块主要完成视频的网格线叠加,本实验将彩条视频输入,然后叠加一个网格后输出,提供给后面的波形显示模块使用。
    信号名称方向宽度(bit)说明
    pclkin1像素时钟
    rst_nin1异步复位,低电平复位
    i_hsin1视频行同步输入
    i_vsin1视频场同步输入
    i_dein1视频数据有效输入
    i_datain24视频数据输入
    o_hsout1带网格视频行同步输出
    o_vsout1带网格视频场同步输出
    o_deout1带网格视频数据有效输出
    o_dataout24带网格视频数据输出
    grid_display模块端口
    wav_display显示模块主要是完成波形数据的叠加显示,模块内含有一个双口ram,写端口是由ADC采集模块写入,读端口是显示模块。
    信号名称方向宽度(bit)说明
    pclkin1像素时钟
    rst_nin1异步复位,低电平复位
    wave_colorin24波形颜色,rgb
    adc_clkin1adc模块时钟
    adc_buf_wrin1adc数据写使能
    adc_buf_addrin12adc数据写地址
    adc_buf_datain8adc数据,无符号数
    i_hsin1视频行同步输入
    i_vsin1视频场同步输入
    i_dein1视频数据有效输入
    i_datain24视频数据输入
    o_hsout1带网格视频行同步输出
    o_vsout1带网格视频场同步输出
    o_deout1带网格视频数据有效输出
    o_dataout24带网格视频数据输出
    wav_display模块端口
    ad9226_sample模块主要完成ad9226输入数据顺序调整,因为ad9226输入的数据MSB在最低位。再把有符号数转换为无符号数,最后位宽转换到8bit。
    信号名称方向宽度(bit)说明
    adc_clkin1adc系统时钟
    rstin1异步复位,高复位
    adc_datain12ADC数据输入,MSB在最低位,需要倒序
    adc_buf_wrout1ADC数据写使能
    adc_buf_addrout12ADC数据写地址
    adc_buf_dataout8无符号8位ADC数据
    ad9226_sample模块端口
    4. 实验现象
    1)将AN9238模块插入开发板的扩展口J8,注意1脚对齐,不要插错、插偏,不能带电操作。
    2)连接AN9238的输入到信号发生器的输出,这里使用的是专用屏蔽线,如果使用其他线可能会有较大干扰
    AN9238连接信号源示意图
    3)连接HDMI显示器,注意:连接的是显示器,不是笔记本电脑HDMI接口
    HDMI接口连接示意图
    4)下载程序,调节信号发生的频率和幅度,AN9238输入范围-5V-5V,为了便于观察波形数据,建议信号输入频率200Khz到1Mhz。观察显示器输出,红色波形为AD1输入、蓝色为AD2输入、黄色网格最上面横线代表5V,最下面横线代表-5V,中间横线代表0V,每个竖线间隔是10个采样点。

    回复

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-20 02:19 , Processed in 0.101206 second(s), 15 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.