AFE5801中的TGC控制,采用static PGA mode时,连续配置粗调增益和细调增益导致采集的数据出现跃变的若干问题:写入的增益控制码如上图所示,其中黑线为实际所需增益控制码,红线为粗调增益控制码,蓝线为细调增益控制码,以2.25M的sclk写入,写入一次粗调和细调增益值之后,写完之后等待第二次写入,每次写增益的时间周期为4.6875Khz,相当于每隔0.16m写一次,最后根据采集的数据得到图像如下图所示。
上图中出现了明显的断层跃变现象。跃变的地方正好与粗调增益跳变的地方对应。
因此,我想请教大家,在配置增益码时,粗调和细调增益控制码配置的前后顺序是否会有所影响?
其次,为了避免跃变现象的产生,在进行TGC控制时应该如何正确处理?
Decapton Wang:
所以,你的意思是,切增益的时候,会影响采集到的信号?你可以试试把SPI时钟和ADC采样时钟做同步,则每次SYNC事件会被ADC采样时钟上升沿锁存,如手册31页soft sync描述。
huang hui:
回复 Decapton Wang:
您好,非常感谢您的回答。后来经过测试发现细调增益值貌似没有起作用。设置细调增益为0dB(写24‘h990008,其中99【3】中写的1表示设置static PGA模式),和0.875dB(写24‘h99000f)是AD采样后数据波形没有区别,即放大0.875dB与放大0dB的效果相同,也即细调增益没有写入。
请问在写细调增益值时有什么需要注意的?
Decapton Wang:
回复 huang hui:
1. 根据手册25页做寄存器回读,看看配置值是否正确写入芯片。
2. 数据波形在重建的时候,是直接从AD抓出来做重建,还是在FPGA里做过处理的?如果做了处理,是不是做截位了?做截位的话,是不是低位截得太多了?
huang hui:
回复 Decapton Wang:
1、在99单元写入2,9A单元写入7后;设置写入{24'h000000,24'h000002,24'h990000,24'h9A0000}; 其中,24'h000000表示写通用寄存器,24'h000002 设置readout=1;24'h990000,24'h9A0000设置读取99和9A地址单元,如下图所示。
结果什么也没有读出来,不知道是不是因为读设置的不对。因为9A粗调单元肯定是写入了的,而9A读出来也没有内容。
不知道是什么原因?
2、数据波形在重建的时候,是直接从AD抓出来做重建,没有做截位,直接看的12bit的数据。
huang hui:
回复 Decapton Wang:
没有将99和9A寄存器的内容读出来是因为没有设置为读TGC寄存器,即应将24'h000002(读通用reg)改为24'h000006(读TGCreg)。不管怎样,还是谢谢了