作者:chenzhufly QQ:36886052
1、 硬件环境
硬件平台:Embest SoC --LarkBoard
软件平台:开发板-linux-3.10.31
Quartus 14.0
2、信号链深入剖析
原本只打算简单的介绍一下AD9628,然后用FPGA控制,采集到数据就完事了,哪知水太深,还需进一步的深入分析,方能更加清晰的明白整个数据信号链的组成,理清楚数据的来龙去脉。
1)浅谈AD9628的默认配置
AD9628这个控制器是可以通过SPI 接口来配置操作模式或者一些特殊功能,我在测试的过程中并没有进行配置,使用的是芯片的默认配置,那么都是那些功能呢?刚开始的时候也疏忽了,还是需要静下心来认真阅读啊
- The AD9628 serial port interface (SPI) allows the user to configure
- the converter for specific functions or operations through a
- structured register space provided inside the ADC
具体spi控制寄存器的详细描述可见AD9628数据手册的36页,以下是我摘录的一些主要参数:- 采样率为105MSPS, 芯片型号AD9268-105
- The AD9628 is a monolithic, dual-channel, 1.8 V supply, 12-bit,
- 125 MSPS/105 MSPS analog-to-digital converter (ADC). It
- features a high performance sample-and-hold circuit and onchip voltage reference.
- 输出模式:默认输出接口为CMOS,而不是LVDS,一开始我也理解错了;编码格式为offset binary
这个地方是有些疑问的,默认配置是2.0Vp-p,实际用示波器测量是1.0V
- SENSE接地,固定使用内部参考电压,也就是1.0V
这样通过VIN+和VIN-我们就可以计算出它的编码,并且可以和实际的测量值进行比较。这时候我们不得不研究一下前级放大电路。
2)前级放大干了什么,模拟信号的前世今生
从实际的电路中可以看出,进入AD9628的信号是进过前级放大电路ADL5562的,它在电路中起了什么样的作用,对后续的ADC到底产生了什么影响呢?
实际的ADL5562电路就是按照参考电路设计的:
注意:这依然是差分输入,和单独输入还是不一样的,有兴趣的详见数据手册第15页。
这个电路的增益是多少呢?选择R1=R2=40.2欧姆的时候增益为15.5db,相当于信号放大6倍。
注意:这个地方可以通过修改实际电路中电阻,改变整个链路的增益,可以设置为6db(2倍),12db(4倍)
从这个电路可以看出,原始信号进入ADL5562后被放大6倍,然后一差分信号的方式输出给下一级AD9268
由于VIN-接地,那么VIN+的原始电压输入范围为 -0.3/6V
3、测试数据
初步的试验结果,配置AFG3252如下:
高电平配置的有些不合适,要不然可以计算一下实际测量值是否正确,明天看看可有时间补测一下。
singtap的采样率设置的是100M,可以数一数高电平大概维持了50个采样点,100M/(50*2)=1Mhz
波形有畸变,原因不明,直观感觉和硬件电路有关,用示波器测量时候发现,ADC前级输入的信号已经发生畸变,在这就不深究了。
4、总结
1) 看数据手册太累了,这部分最好由开发板厂商来说清楚,而实际上他们提供的入门指南确实有些简陋;
2) 信号采集部分也就打算整理到这个程度了,后面还有很多工作需要做,就不在这个地方过多的停留;
3) 欢迎大家批评指正,一起学习,共同进步。