您好,欢迎来到61ic! | [登录] [注册] 忘记密码 | 设为首页 帮助
 . 网站首页 . 业界新闻 . 设计中心 . 移动技术 . TI专栏 . ADI专栏 . FPGA专栏 . 代码工厂 . 官方商城 . 
 . 活动专区 . 新品快递 . 解决方案 . 前沿科技 . TI资源 . ADI资源 . FPGA资源 . 下载中心 . 产品展示 . 
加入收藏
付款方式
联系我们
您现在的位置: 电子在线 >> TI专栏 >> TI C2000 >> 28x Delfino浮点系列 >> 正文
  TI C2833x介绍---系统自带的ADC(12)           ★★★ 【字体:
TI C2833x介绍---系统自带的ADC(12)
作者:paradoxf…    文章来源:paradoxfx    点击数:    更新时间:2013-2-20    
在28335的前一代主流产品,即TMS320F2812那一代,DSP片上自带的AD对外部电路的设计精度要求很高,不然ADC的采样精度很容易受到一些非线性因素的影响,当初TI提供了一些软件程序来帮助我们减少这种影响。在F28335这一代,TI将相关的非线性校正程序和数据存在了片内的固件中,其中在OTP存储器中保存了两个字(word)的校正数据(这些数据随器件封装、ADC转换速率等器件参数的变化而变化),在BootROM中保存了6个字的ADC_cal()校正程序。

在启用BootROM进行引导的情况下,在程序引导时,ADC_cal()校正程序将自动把校正数据写入到ADC参考选择寄存器ADCREFSEL和ADC偏移微调寄存器ADCOFFTRIM寄存器中,不需要我们用户进行收到操作。在不使用BootROM进行引导的情况下,一般是我们使用CCS开发环境将DSP芯片引导启动时,我们需要手动对ADCREFSEL和ADCOFFTRIM寄存器进行赋值,这个步骤并不复杂,只需要在main()函数的初始化代码中对ADC_cal()程序进行调用即可,举例如下:

#define ADC_cal_func_ptr (void (*)(void))0x380080

void main(void){

……

(*ADC_cal_func_ptr)(); // call ADC_cal()

……

}

需要注意的是,在使用CCS进行调试时,我们需要手动调用ADC_cal()程序,而在程序调试无误,烧写FLASH等操作之前,要记得把(*ADC_cal_func_ptr)(); // call ADC_cal()这段代码注视掉,因为用BootROM进行引导时会自动调用它。此外,因为ADC校正数据保存在OTP存储器中,而OTP是受到代码安全模块CSM保护的,所以ADC_cal()程需要在受保护的存储器段,或者在CSM解锁之后从非保护的存储器段中才可调用;如果系统被复位,或者使用ADC控制寄存器1的复位位进行ADC的复位,都需要重新调用ADC_cal()程序。

文章录入:admin    责任编辑:admin 
  • 上一篇文章:

  • 下一篇文章: 没有了
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    最新热点 最新推荐 相关文章
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统自带的…
    TI C2833x介绍---系统的初始…
    TI C2833x介绍---复位与中断…
    TI C2833x介绍---复位与中断…
      网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    站长:61 湘ICP备13001086号-2