104|0

5

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

英飞凌PSOC4100SMAX使用心得(ADC篇) [复制链接]

 

上一篇介绍了I2C总线的使用,在这一篇我续写ADC使用,PSOC4100SMAX的ADC使用也是比较容易上手的,

  • 配置ADC
  1. 配置时钟Peripheral-Clocks配置

 

  1.  Peripherals配置
      1. Vref选择:PSOC的参考电压选择很灵活

 

这里简单介绍一下BandGap Reference,其原理是利用具有正温度系数的电压与具有负温度系数电压相结合的电路,抵消温度的影响,实现温漂很低的参考电压,PSOC4100S MAX的参考电压在1.188~1.212 V之间,典型值 1.2V,通常使用内置的参考电压已经能获得较好的性能,此外,还可以根据采样速率选择是否需要滤波电容,或外部VREF或1/2 VDDA,VDDA。

      1. 同时扫描的通道数量

 

      1. 注入通道

 

这个用于硬件偶尔扫描一个插入通道,这个通道不计算在通道数量里面

      1. 开启升压电路

 

当MCU供电电压低于2.7V时需勾选此项,而当MCU供电电压高于4.0V时,此选项失效

 

      1. 采样速率

 

      1. 阀值检测

 

这里可以设置不同的中断触发条件,设置这个窗口值,由ADC硬件进行数值比较,可以大幅减少MCU的参与处理时间,对高速率采样和低功耗时特别有用

 

      1. 采样设置

 

      1. 通道模式配置,单端或差分输入模式

 

 

 

      1. 平均值使能,阀值中断使能以及饱和中断使能

 

饱和中断使能后,如果该通道的采样值等于相应分辨率下转化结果的下限值或上限值时,使能该选项可触发饱和中断。例如 12 位分辨率下得到的转换结果为 0x000 或者 0xFFF。

 

      1. 引脚映射

 

      1. 启用运算放大器

 

 

 

 

  1. 配置信号路由

切换到Analog-Routing

 

点击

 图标,进入路由编辑界面

 

选择要编辑的路由节点,点击

 

 

 

  • 关键代码:
    1. 初始化:

 

    cy_rslt_t result;

 

    /*初始化 OPAMP0 */

    result = Cy_CTB_Init(CTBM0, &pass_0_ctb_0_config);

    if (result != CY_CTB_SUCCESS)

    {

        CY_ASSERT(0);

    }

    /*使能 Opamp0*/

    Cy_CTB_Enable(CTBM0);

 

result = Cy_SAR_Init(SAR0, &pass_0_sar_0_config);

    if (result != CY_SAR_SUCCESS)

    {

        CY_ASSERT(0);

    }

    /* 使能 SAR ADC */

    Cy_SAR_Enable(SAR0);

 

 

    1. 读ADC通道值

 

/* 开始扫描 */

Cy_SAR_StartConvert(SAR0, CY_SAR_START_CONVERT_SINGLE_SHOT);

        /*等待结束 */

        Cy_SAR_IsEndConversion(SAR0, CY_SAR_WAIT_FOR_RESULT);

        /* 获取通数0数据 */

        adcResult0 = Cy_SAR_GetResult16(SAR0, 0);

        /* 获取通道1数据 */

        adcResult1 = Cy_SAR_GetResult16(SAR0, 1);

       

……

 

  • 总结

PSOC4100S Max的ADC模块功能丰富,操作简易,还有强大的路由功能,运放增益可选1倍或10倍。接下来,我继续介绍电容触摸的操作,敬请期待!

 

此帖出自汽车电子论坛
点赞 关注

回复
举报
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/8 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表