查看: 694|回复: 0

[经验] TMS320F28335的ADC详解

[复制链接]

该用户从未签到

发表于 2021-3-6 20:35:38 | 显示全部楼层 |阅读模式
分享到:
TMS320F28335内部包含12位AD转换器,其功能有:
具有内置(采样保持)S/H的12位ADC内核
模拟输入:0.0V至3.0V(高于3.0V的电压产生满刻度转换结果)。
快速转换率:在25MHzADC时钟12.5MSPS上时高达80ns
16个专用ADC通道。
每次采样/保持都有复用的8通道
自动定序功能在单次会话中可提供多达16次“自动转换”。可将每次转换编程为选择16个输入信道中的任何一个。
序列发生器可运行为2个独立的8态序列发生器,或作为1个较大的16态序列发生器(即2个级联的8态序列发生器)。
用于存储转换值的16个结果寄存器(可分别寻址)
– 输入模拟电压的数值源自:
当input<0时:digital value =0;
当0<input<3.0时:digital value="4096*(input" analog="" voltage-adclo)="" 3;
当input>3.0时:digital value =4095;




作为转换开始(SOC)序列源的多个触发器
– S/W-软件立即启动
– ePWMM转换开始
– XINT2ADC转换开始
灵活的中断控制允许每个序列结束(EOS) 或每个其它EOS上的中断请求。
序列发生器可运行于“启/停”模式,从而实现多个“时序触发器”同步转换。
SOCA和SOCB触发器可独立运行在双序列发生器模式中。
采样保持(S/H)采集时间窗口具有独立的预分频控制。


要获得指定的ADC精度,正确的电路板布局非常关键。为尽可能达到最佳效果,引入ADCIN引脚的走线不应太靠近数字信号通道。这是为了最大程度地减少数字线路上因ADC输入耦合而产生的开关噪声。而且,适当的隔离技术必须被用来将数字电源从ADC模块电源引脚(VDD1A18,VDD2A18,VDDA2,VDDAIO)上隔离。


ADC未被使用,ADC连接
建议保持针对模拟电源引脚的连接,即便在ADC未被使用时也是如此。下面总结了如果ADC未在应用中使用,应该如何连接ADC引脚:
? VDD1A18/VDD2A18-连接至VDD
? VDDA2,VDDAIO-连接至VDDIO
? VSS1AGND/VSS2AGND,VSSA2,VSSAIO-连接至VSS
? ADCLO-连接至VSS
? ADCREFIN-连接至VSS
? ADCREFP/ADCREFM-连接一个100nF电容器至VSS
? ADCRESEXT-连接一个20k?电阻器(非常松散的耐受)至VSS。
? ADCINAn,ADCINBn-连接至VSS
当ADC未被使用时,为了达到节能的目的,请确保到ADC模块的时钟未被打开。
当在一个应用中使用ADC模块时,未使用的ADC输入引脚应被连接至模拟接地(VSS1AGND/VSS2AGND)


ADC头文件与寄存器对应解读:




struct ADCTRL1_BITS {      // bits  description
    Uint16  rsvd1:4;               // 3:0   reserved
    Uint16  SEQ_CASC:1;      // 4     Cascaded sequencer mode 级联序列模式
    Uint16  SEQ_OVRD:1;     // 5     Sequencer override  序列发生器覆盖
    Uint16  CONT_RUN:1;    // 6     Continuous run 连续运行模式
    Uint16  CPS:1;                // 7     ADC core clock pre-scalar ADC核心时钟分频
    Uint16  ACQ_PS:4;         // 11:8  Acquisition window size采集窗口大小
    Uint16  SUSMOD:2;       // 13:12 Emulation suspend mode仿真挂起模式
    Uint16  RESET:1;          // 14    ADC reset ADC复位
    Uint16  rsvd2:1;            // 15    reserved 保留
};
下面的联合体主要是为了解决对这个寄存器的控制,可以是整体赋值液可以是一位一位的赋值。
union ADCTRL1_REG {
   Uint16                all;
   struct ADCTRL1_BITS   bit;
};




struct ADCTRL2_BITS {                     // bits  description
    Uint16  EPWM_SOCB_SEQ2:1;        // 0     EPWM compare B SOC mask for SEQ2  增强PWM比较器B作为SEQ2的启动转换标志
    Uint16  rsvd1:1;                               // 1     reserved
    Uint16  INT_MOD_SEQ2:1;             // 2     SEQ2 Interrupt mode  SEQ2终端模式                 
    Uint16  INT_ENA_SEQ2:1;               // 3     SEQ2 Interrupt enable  SEQ2中断使能
    Uint16  rsvd2:1;                               // 4     reserved
    Uint16  SOC_SEQ2:1;                      // 5     Start of conversion for SEQ2 启动SEQ2转换
    Uint16  RST_SEQ2:1;                      // 6     Reset SEQ2     SEQ2复位
    Uint16  EXT_SOC_SEQ1:1;             // 7     External start of conversion for SEQ1        序列1的外部转换启动
    Uint16  EPWM_SOCA_SEQ1:1;       // 8     EPWM compare B SOC mask for SEQ1
    Uint16  rsvd3:1;                              // 9     reserved
    Uint16  INT_MOD_SEQ1:1;            // 10    SEQ1 Interrupt mode
    Uint16  INT_ENA_SEQ1:1;             // 11    SEQ1 Interrupt enable
    Uint16  rsvd4:1;                             // 12    reserved
    Uint16  SOC_SEQ1:1;                    // 13    Start of conversion trigger for SEQ1
    Uint16  RST_SEQ1:1;                    // 14    Restart sequencer 1   
    Uint16  EPWM_SOCB_SEQ:1;       // 15    EPWM compare B SOC enable
};</input

回复

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /2 下一条



手机版|小黑屋|与非网

GMT+8, 2024-4-20 02:21 , Processed in 0.106146 second(s), 15 queries , MemCache On.

ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

苏公网安备 32059002001037号

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.