完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
|
|
相关推荐
1个回答
|
|
1. 放大器需求
项目需求:需要用到 PGA可编程增益放大器,放大递归规律要为指数。 需求参数:输入信号为100KHz正弦波,程控增益倍数 Gain=1~256。于是带宽积GBP 》= 30MHz,压摆率SR》=3.2V/us。 2. 起初不成熟方案 起初方案:起初是用分立芯片搭的,MCP41010数字电位器 + 反相放大器,效果一般。 优劣:使用起来比较麻烦。主要原因是 MCP41010只能单电源供电,运放可以用双电源供电。但由于 MCP41010单电源的原因,输入信号 《-0.7V的波形会有损失。几乎没有什么优势可言。 3. 后期最优方案 后期更优的方案:寻求专用集成芯片。 TI的PGA主要产品: TI的PGA芯片看了一圈就很尴尬,要不不能双电源供电,要不带宽不够,要不压摆率不够。寻求其他产品。 ADI的PGA主要产品: 由于LTC6912内部放大器拓扑为反相放大器,输入输出反相。于是我设计电路将 LTC6912 内部2个反相放大器串联使用,正好使输入输出变为同相。并且放大器串联可以让带宽积增大,增益范围也变大为0~4096,在我的需求环境中无带宽失真,爽歪歪。 从Bom商那里拿了几片,¥18/pcs。还能用得起,比起秃头搞电路来说很实在了。 4. LTC6912电路 5. LTC6912-2 - SPI 写时序 (CLK上升沿数据有效。黄色 - CLK。蓝色 - Din。CS没接示波器,有CLK的时候CS要为低电平。) 图中SPI时序的串联总增益 = 32倍,以此为例: channel-B:Gain = -1, 对应 SPI一个字节的高4位,编码为 0001。 channel-A:Gain = -32,对应 SPI一个字节的低4位,编码为 0110。 时序较为简单,三线SPI。每次设置增益需要发送1个字节(8Bits)。高四位为channel-B增益,低四位为channel-A增益。 注意:设置增益为0时,相当于关断输出。 6. 驱动代码 uint8_t OPx[50]={ 0x11, 0x12, 0x13, 0x14, 0x15, 0x16, 0x17, 0x21, 0x22, 0x23, 0x24, 0x25, 0x26, 0x27, 0x31, 0x32, 0x33, 0x34, 0x35, 0x36, 0x37, 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77,}; //分别对应系统放大:1,2,4,8,16,32,64, // 2,4,8,16,32,64,128 // 4,8,16,32,64,128,256 // 8,16,32,64,128,256,512 // 16,32,64,128,256,512,1024 // 32,64,128,256,512,1024,2048 // 64,128,256,512,1024,2048,4096 //LTC6912-2 PGA增益设置 void LTC6912_SetGain(uint16_t xGain) { uint8_t gtemp=0; switch(xGain) { case 1: gtemp=0; break; case 2: gtemp=1; break; case 4: gtemp=2; break; case 8: gtemp=3; break; case 16: gtemp=4; break; case 32: gtemp=5; break; case 64: gtemp=6; break; case 128: gtemp=13; break; case 256: gtemp=20; break; case 512: gtemp=27; break; case 1024: gtemp=34; break; case 2048: gtemp=41; break; case 4096: gtemp=48; break; default: break; } LTC6912_SPI_SendOneByte(OPx[gtemp]); //就是普通的SPI-WRITE,1个字节 } 7. 测试波形: 实际电路中 LTC6912-2 的供电为双电源 ±2.5V,输出电压轨约为 ±2V。 黄色CH1为输入信号,蓝色CH2为输出信号。 Gain = 1: Gain = 4: Gain = 16: Gain = 64: Gain = 64: Gain = 4096: Gain = 256:(输入输出依旧能保存很好的一致性) 测试仪器为泰克 TBS1202B示波器,电脑上位机截屏软件使用的是 OpenChoice。 |
|
|
|
只有小组成员才能发言,加入小组>>
调试STM32H750的FMC总线读写PSRAM遇到的问题求解?
1394 浏览 1 评论
X-NUCLEO-IHM08M1板文档中输出电流为15Arms,15Arms是怎么得出来的呢?
1392 浏览 1 评论
810 浏览 2 评论
STM32F030F4 HSI时钟温度测试过不去是怎么回事?
582 浏览 2 评论
ST25R3916能否对ISO15693的标签芯片进行分区域写密码?
1431 浏览 2 评论
1775浏览 9评论
STM32仿真器是选择ST-LINK还是选择J-LINK?各有什么优势啊?
508浏览 4评论
STM32F0_TIM2输出pwm2后OLED变暗或者系统重启是怎么回事?
442浏览 3评论
432浏览 3评论
stm32cubemx生成mdk-arm v4项目文件无法打开是什么原因导致的?
406浏览 3评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-10-7 03:19 , Processed in 0.955318 second(s), Total 77, Slave 60 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号