外观
2 通道高速 AD 模块 AN9238 用户手册Rev 1.0
| 版本 | 时间 | 描述 | ||||
| 1.0 | 2020/3/11 | First Release | ||||
第一部分 2 通道高速 AD 模块说明介绍
黑金高速 AD 模块 AN9238 为2 路 65MSPS ,12 位的模拟信号转数字信号 模块。模块的 AD 转换采用了ADI 公司的 AD9238 芯片,AD9238 芯片支持 2 路 AD 输入转换,所以 1 片 AD9238 芯片一共支持 2 路的 AD 输入转换。模拟信号输入支持单端模拟信号输入,输入电压范围为-5V~+5V ,接口为 SMA 插座。
模块有一个标准 2.54mm 间距的 40 针的排母 ,用于连接 FPGA 开发板, AN9238 模块实物照片如下:
AN9238 模块实物图
1.1 AN9238 模块的参数说明
以下为 AN9238 高速 AD 模块的详细参数
AD 转换芯片 :1 片 AD9238
AD 转换通道 :2 路;
AD 采样速率: 65MSPS ;
AD 采样数据位数 : 12 位 ;
数字接口电平标准:+3.3V 的 CMOS 电平
AD 模拟信号输入范围:-5V~+5V ;
模拟信号输入接口:SMA 接口;
测量精度 :10mV 左右 ;
工作温度:-40° ~85° ;
1.2 AN9238 模块的结构图
AN9238 高速 AD 模块尺寸结构图
第二部分 模块功能说明
2.1 AN9238 模块原理框
AN9238 模块的原理设计框图如下:
关于 AD9238 的电路具体参考设计请参考 AD9238 的芯片手册。
2.2 单端输入及运放电路
单端输入 AD1 和 AD2 通过 J5 或者 J6 两个 SMA 头输入,单端输入的电压 为-5V~+5V。
板上通过运放 AD8065 芯片和分压电阻把-5V~+5V 输入的电压缩小成 -1V~+1V。如果用户想输入更宽范围的电压输入只要修改前端的分压电阻的阻值。
下表为模拟输入信号和 AD8065 运放输出后的电压对照表:
| AD 模拟输入值 | AD8065 运放输出 |
|---|---|
| -5V | -1V |
| 0V | 0V |
| +5V | +1V |
2.3 单端转差分及 AD 转换
-1V~+1V 的输入电压通过 AD8138 芯片转换成差分信号( VIN+ − VIN − ), 差分信号的共模电平由 AD 的 CML 管脚决定。
下表为模拟输入信号到 AD8138 差分输出后的电压对照表:
| AD 模拟输入值 | AD8065 运放输出 | AD8138 差分输出( VIN+−VIN − ) |
|---|---|---|
| -5V | -1V | -1V |
| 0V | 0V | 0V |
| +5V | +1V | + 1V |
2.4 AD9238 转换
默认 AD 是配置成 offset binary 的,AD 转换的值如下图所示:
在模块电路设计中,AD9238 的 VREF 的值为 1V ,这样最终的模拟信号输入 和 AD 转换的数据如下:
| AD 模拟输入值 | AD8055 运放 输出 | AD8138 差分输出 ( VIN+−VIN − ) | AD9238 数字输出 |
|---|---|---|---|
| -5V | -1V | -1V | 000000000000 |
| 0V | 0V | 0V | 100000000000 |
| +5V | +1V | +1V | 111111111111 |
从表中我们可以看出,-5V 输入的时候,AD9238 转换的数字值最小 ,+5V 输入的时候,AD9238 转换的数字值最大。
2.6 AN9238 数字输出时序
AD9238 双通道 AD 的数字输出为+3.3V 的 CMOS 输出模式,2 路通道(A 和 B )独立的数据和时钟。AD 数据在时钟的上升沿转换数据 ,FPGA 端可用 AD 时钟的采样 AD 数据。
2.7 模块 AN9238 的引脚分配:
下面只列了 40 针扩展接口的信号,具体用户可以参考原理图。
| Pin Number | Signal Name | Description |
|---|---|---|
| 1 | GND | 地 |
| 2 | +5V | 5V 电源输入 |
| 3 | CH2_CLK | AD 通道 B 的时钟. |
| 4 | CH2_D0 | AD 通道 B 的数据 DATA0 |
| 5 | CH2_D1 | AD 通道 B 的数据 DATA1 |
| 6 | CH2_D2 | AD 通道 B 的数据 DATA2 |
| 7 | CH2_D3 | AD 通道 B 的数据 DATA3 |
| 8 | CH2_D4 | AD 通道 B 的数据 DATA4 |
| 9 | CH2_D5 | AD 通道 B 的数据 DATA5 |
| 10 | CH2_D6 | AD 通道 B 的数据 DATA6 |
| 11 | CH2_D7 | AD 通道 B 的数据 DATA7 |
| 12 | CH2_D8 | AD 通道 B 的数据 DATA8 |
| 13 | CH2_D9 | AD 通道 B 的数据 DATA9 |
| 14 | CH2_D10 | AD 通道 B 的数据 DATA10 |
| 15 | CH2_D11 | AD 通道 B 的数据 DATA11 |
| 16 | CH2_OTR | AD 通道 B 的电压超出量程 |
| 17 | 不用 | |
| 18 | - | 不用 |
| 19 | CH1_D1 | AD 通道 A 的数据 DATA1 |
| 20 | CH1_D0 | AD 通道 A 的数据 DATA0 |
| 21 | CH1_D3 | AD 通道 A 的数据 DATA3 |
| 22 | CH1_D2 | AD 通道 A 的数据 DATA2 |
| 23 | CH1_D5 | AD 通道 A 的数据 DATA5 |
| 24 | CH1_D4 | AD 通道 A 的数据 DATA4 |
| 25 | CH1_D7 | AD 通道 A 的数据 DATA7 |
| 26 | CH1_D6 | AD 通道 A 的数据 DATA6 |
| 27 | CH1_D9 | AD 通道 A 的数据 DATA9 |
| 28 | CH1_D8 | AD 通道 A 的数据 DATA8 |
| 29 | CH1_D11 | AD 通道 A 的数据 DATA11 |
| 30 | CH1_D10 | AD 通道 A 的数据 DATA10 |
| 31 | CH1_CLK | AD 通道 A 的时钟. |
| 32 | CH1_OTR | AD 通道 A 的电压超出量程 |
| 33 | - | 不用 |
| 34 | - | 不用 |
| 35 | - | 不用 |
| 36 | - | 不用 |
| 37 | GND | 地 |
| 38 | GND | 地 |
| 39 | - | 不用 |
| 40 | 不用 |
|---|
第三部分 AD 采样 DEMO 程序说明
程序将信号发生器产生的波形动态的显示到软件 Signaltap( chipscope)上, 另外把 AD 采集到的数据定时的发送到串口,电脑上的串口调试工具上显示实际采 集到的 AD 数据值。
整个程序包含一个顶层模块 ad9238_test.v 和三个子模块:AD 转化模块 (ad.v) ,数据转换模块(volt_cal.v) ,串口发送程序(uart.v)。其中 AD 转化模块 ad.v 完成 AD 数据的采集; 数据转换模块 volt_cal.v 完成电压和 16 进制到十进制的格 式转换; 串口发送程序 uart.v 完成采集数据的 ASIC 码的串口数据发送。
FPGA 的 AD 模块测试的功能框图如下:
下面对 FPGA 程序中用到的各个模块做一下简单的功能介绍:
1. volt_cal.v
数据转换模块的功能是把 AD 模块采集进来的 12 位的数据转化成 20 位的十 进制的电压数据。AD 模块采集进来的 12 位数据高位为正负符号位,计算电压得 时候需要先把高位的符号位去除,剩余的 11bit 数据再转换成电压值。bcd.v 程序 是把 16 位的十六进制的数据转化为20 位的十进制的数据。
2. uart.v
串口发送程序定时向串口发送 26 个字符来显示通道 1 和通道 2 的电压值, 串口发送十进制的电压值时需要转换为 ASIC 码。程序中调用了串口发送程序和串口时钟产生程序,按照波特率 9600 发送电压值到 PC 上位机。
第四部分 硬件连接和测试
AN9328 模块和 FPGA 开发板的硬件连接很简单,只要把 40 针接口跟开发板的扩展口对插就可以(AX301B/AX4010 接 J1 口, AX309 接 J3 )。
以下为黑金 AX301B 开发板的和 AN9328 的硬件连接图:
开发板上电, 信号发生器产生-5V~+5V 的正选波,频率为 200Khz。
1. AX301B 开发板为例
在 Quartus 软件里打开 signaltap ,下载 ad9238_test.sof 文件。
下载后,运行 signaltap, 波形界面会显示一路正选波信号。
改变信号发送器使它产生-5V~+5V 的方波,ad 通道会显示方波。
我们这里可以十六进制观察信号,设置成 16 进制显示如下。
2. AX309 开发板为例
以下为黑金 AX309 开发板的和 AN9328 的硬件连接图:
在 Impact 软件里下载 ad9238_test.bit 文件, 然后打开 chipscope 软件, 在 chipscope 里打ad9238_test.cpj 工程。
点击"Open Cable/Search JTAG Chain”按钮,连接开发板。
打开 Bus Plot 界面,这时波形界面会显示一路正选波信号。
在 waveform 窗口显示 AD 采样的具体数据( 16 进制数据)。
3. 串口显示电压
另外我们可以通过串口可以看到转换后的电压值,串口的波特率设置成9600。比如 AD 输入直流电压+3.3V ,显示如下(不同的模块会有一定的偏差)。
当直流电压改为-3.3V 的时候,显示如下(不同的模块会有一定的偏差)。