wangpeng 发表于 2022-1-5 16:20:49

【复旦微FM33LG0系列开发板测评】OPA功能简析

【复旦微FM33LG0系列开发板测评】OPA功能简析
原帖地址:【复旦微FM33LG0系列开发板测评】OPA功能简析 - 国产芯片交流 - 电子工程世界-论坛 (eeworld.com.cn)

1. 芯片功能FM33LG0的主要特性包括,宽电压范围1.65~5.5V,最高主频64Mhz,64/128/256KB Flash,16/32/32KB RAM,12bit 2Msps SAR-ADC和12bit 1Msps DAC,最大支持4COM×44SEG / 6COM×42SEG / 8COM×40SEG,ES支持ECB/CBC/CTR/GCM/GMAC模式,功能逻辑框图如下。http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/111239qjb0gjz1e2kkeyw0.png.thumb.jpg
低功耗下可以由电池供电,供电回路也比较简单,最大端口电压可以6.5V,比较厉害的,可以和瑞萨的比一下了。标准运行下大致工作电流6.16mA,低功耗以uA计算,http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/111455uq81bs91bi4s1zsq.png.thumb.jpg当芯片从 Flash 启动时,FM33LG048 的地址空间分配如下图(256KB Flash,32KB RAM)存储空间分配
http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/112149bhae8u5haqlqb515.png.thumb.jpg
在芯片的PMU管理,基准电压等,都提供了高精度高水平的芯片技术,CPU 内核为 Cortex-M0+,符合 ARMv6-M 架构和编程模型;
2. OPA功能介绍当采用功放功能的时候,CMRR 共模抑制比66~70dB。FM33LG0集成1个运算放大器,可用于放大微弱输入信号,或用于弱驱动信号阻抗匹配。 典型GBW 2MHz ;典型功耗150uA(正常模式),2uA(低功耗模式); 最大驱动电流500uA; 支持standalone模式、buffer模式、PGA模式(x2, x4, x8, x16) ; OPA输出可连接ADC。OPA输入有4个通道,OPA输出连接到4个GPIO上,其中OPA1_OUT1不经过模拟开关,以优化输出阻抗;其他3个输出通 路经过模拟开关,默认关闭。 根据寄存器配置选择AMUX不同通路,可以实现不同的闭环应用,比如buffer、PGA(内置反馈电阻)、 独立运放。输出可以从IO引出,或接给ADC,也可以产生数字信号或中断输出。http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/114843grw5n4rfjj00wprw.png.thumb.jpg
其中standalone模式下,输出通过外置的Rf来配置运放的倍数,    http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/115121otoff8ma8uhahs8m.png.thumb.jpg
http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/115011vc7ss733357nxv3u.png.thumb.jpg
Buffer模式下OPA可用于为ADC输入提供阻抗调整,当输入信号频率与OPA的GBW相适应时,配置 为buffer模式的OPA可以增强ADC输入信号的驱动能力。软件配置方法:配置OPAxCR.VPSEL和VNSEL选择输入IO ; 配置OPAxCR.OPAxMOD为11,即buffer模式 ;使能OPAx。在PGA模式下可以通过DAC在OPA正端施加一个直流偏置,可以来自DAC也可以来自外部电压源,http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/115453ydp66qqayyqdyfa6.png.thumb.jpg


3. 范例代码分析范例代码使用PGA模式如下,主程序为main.Cint main(void)
{
    MF_Clock_Init();
    MF_SystemClock_Config();
    FL_Init();
    MF_Config_Init();
    UserInit();
    Test_OPA1PGA();
    while(1)
    {
      //      LED0_TOG();
      //      FL_DelayMs(1000);
    }
}具体函数已经封装起来,先配置,然后使能就启动该功能了void Test_OPA1PGA(void)
{
    //OPA_PGA_NOINVERT_Init();
    OPA_PGA_INVERT_Init();
    FL_OPA_Enable(OPA);
}初始化的过程就是选择GPIO方向,然后设置OPA的功能和配置,代码如下void OPA_PGA_INVERT_Init(void)
{
    FL_GPIO_InitTypeDef    GPIO_InitStruct;
    FL_OPA_InitTypeDef   OPA1_InitStruct;
    //OPA1正端输入,INP1
    GPIO_InitStruct.pin         = FL_GPIO_PIN_11;
    GPIO_InitStruct.mode      = FL_GPIO_MODE_ANALOG;
    GPIO_InitStruct.outputType= FL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.pull      = FL_DISABLE;
    GPIO_InitStruct.remapPin    = FL_DISABLE;
    FL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    //OPA1负端输入,INN2
    GPIO_InitStruct.pin         = FL_GPIO_PIN_6;
    GPIO_InitStruct.mode      = FL_GPIO_MODE_ANALOG;
    GPIO_InitStruct.outputType= FL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.pull      = FL_DISABLE;
    GPIO_InitStruct.remapPin    = FL_DISABLE;
    FL_GPIO_Init(GPIOA, &GPIO_InitStruct);
    //OPA1输出,OUT
    GPIO_InitStruct.pin         = FL_GPIO_PIN_12;
    GPIO_InitStruct.mode      = FL_GPIO_MODE_ANALOG;
    GPIO_InitStruct.outputType= FL_GPIO_OUTPUT_PUSHPULL;
    GPIO_InitStruct.pull      = FL_DISABLE;
    GPIO_InitStruct.remapPin    = FL_DISABLE;
    FL_GPIO_Init(GPIOB, &GPIO_InitStruct);
    //OPA1配置
    OPA1_InitStruct.INP            = FL_OPA_INP_SOURCE_INP1;
    OPA1_InitStruct.INN            = FL_OPA_INN_SOURCE_INN2;   //只有INN2通道支持反相PGA模式
    OPA1_InitStruct.mode             = FL_OPA_MODE_PGA;
    OPA1_InitStruct.negtiveToPin   = FL_DISABLE;
    OPA1_InitStruct.gain             = FL_OPA_GAIN_INVERT_X7;
    OPA1_InitStruct.lowPowermode   = FL_DISABLE;
    OPA1_InitStruct.PGAModeSelect    = FL_OPA_PGA_MODE_FB_TO_NEGATIVE;
    FL_OPA_Init(OPA, &OPA1_InitStruct);

}4. 试验和验证直接启动工程,http://bbs.eeworld.com.cn/data/attachment/forum/202111/30/120853sw5wneduotnwonnu.png.thumb.jpg
编译后下载到开发板,就可以显示输入和输出的方大功能了。
页: [1]
查看完整版本: 【复旦微FM33LG0系列开发板测评】OPA功能简析