11432|6

1万

帖子

25

TA的资源

裸片初长成(高级)

楼主
 

【玩转 C2000 LaunchPad】ADC使用技巧 [复制链接]

【玩转C2000 下载附件  保存到相册

2012-12-31 15:15 上传

三、优先级问题

1、由SOCPRIORITY设置的优先级,为高优先级。

2、优先循环(Round Robin

在一系列的SOC中,它们首尾相接,形成一个圆,并朝着SOC0SOC
……的固定方向循环,与正在转换的
SOC最近的下一个SOC的优先级最高。

这种方法很适用于电源、电机控制,因为需要有次序地处理。

 

四、同时采样

同时采样是在AB通道中进行的。由硬件结构可见,只能设置一个A
道及一个
B通道同时采样。

F28系列的ADC的也规定,偶数SOC及下一个奇数SOC可以同时采样。
如,
SOC0SOC1可以同时采样,SOC6SOC7可以同时采样。

同时采样对的触发源的任意一个均可以触发同时采样偶。

同时采样后,A通道先转换,B通道后转换。

 

五、ADC校准

一般使用TI提供的(*Device_cal)();,将TI预先存储在OTP中的ADC校准数
据拷贝到
ADCREFSELADCOFFTRIM寄存器中。

 

六、ADC的参考源

F28027提供了内部的带隙参考源,也可以由VREFHI/VREFLO引脚接入
外部的参考源。由
ADCCTL1寄存器的内外部参考选择位选择。

 

七、示例

 

1、打开ADC时钟:

   SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1;       // ADC

 

2、初始化ADC

       (*Device_cal)();

   

AdcRegs.ADCCTL1.bit.ADCBGPWD  = 1;      // Power ADC BG

    AdcRegs.ADCCTL1.bit.ADCREFPWD = 1;      // Power reference

    AdcRegs.ADCCTL1.bit.ADCPWDN   = 1;      // Power ADC

    AdcRegs.ADCCTL1.bit.ADCENABLE = 1;      // Enable ADC

    AdcRegs.ADCCTL1.bit.ADCREFSEL = 0;      // Select interal BG

3、配置中断

    AdcRegs.INTSEL3N4.bit.INT3E     = 1;       // for PWM2A

    AdcRegs.INTSEL3N4.bit.INT3SEL   = 3;       // EOC3

    AdcRegs.INTSEL3N4.bit.INT3CONT  = 1;

4、配置SOC

    AdcRegs.SOCPRICTL.all       = 0;       // SOC0 is first SOC

    AdcRegs.ADCSAMPLEMODE.all   = 0x1B;    // Simultaneous sampling enable For SOC0,2,6,8

    AdcRegs.ADCINTSOCSEL1.all   = 0;       // Determined by the ADCSOCxCTL

    AdcRegs.ADCINTSOCSEL2.all   = 0;       // Determined by the ADCSOCxCTL

   

    AdcRegs.ADCSOCFRC1.all      = 0;

   

    //   trigger source

    AdcRegs.ADCSOC0CTL.bit.ACQPS    = 6;   // Sample window is 7 cycles

    AdcRegs.ADCSOC0CTL.bit.TRIGSEL  = 0x0d;    // ePWM5A, ADCSOCA

    AdcRegs.ADCSOC0CTL.bit.CHSEL    = 2;   // ADCINA2  -- current

[ 本帖最后由 dontium 于 2012-12-31 15:15 编辑 ]

最新回复

ADC功能好复杂啊  详情 回复 发表于 2017-5-3 15:53
 
点赞 关注(1)

回复
举报

27

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
谢谢楼主
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

板凳
 
樓主你好,最近在搞ADC,但是顯示的數字都不准,所以需要
除了你所提及的TI提供的(*Device_cal)();
我知道還有一個是ADC Zero Offset Calibration
這個校准是怎樣運作的?
應該放在文件的哪裡?
謝謝


点评

Device_cal)()这个是TI的校准数据,因为TI没有具体说明是校准什么,所以我理解为应该是包括各种误差在内的校准。 其实,测试的电压一般不在3.3V以内,需要电阻分压什么。这时ADC的数据就需要换算,在换算的过程  详情 回复 发表于 2014-9-2 17:26
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

4
 
本帖最后由 dontium 于 2014-9-2 17:29 编辑
kennessfai 发表于 2014-9-2 17:14
樓主你好,最近在搞ADC,但是顯示的數字都不准,所以需要校准
除了你所提及的TI提供的(*Device_cal)();,
我 ...

Device_cal)()这个是TI的校准数据,因为TI没有具体说明是校准什么,所以我理解应该是包括各种误差在内的校准。


其实,测试的电压一般需要处理的,有的需要放大、有的需要电阻分压什么的。这时ADC的数据就需要换算,在换算的过程中由校准数据来计算,可以消除包括放大误差、分压电阻误差在内的所有误差。

点评

launchpad就只有(*Device_cal)();這個校准方法嗎?我現在是量度約1.5V,但LCD顯示的數字不太準確, 1.3V, 1.46V甚至1.6V也有出現.. 還有其他校准方法嗎?  详情 回复 发表于 2014-9-2 20:29
 
 
 

回复

9

帖子

0

TA的资源

一粒金砂(中级)

5
 
dontium 发表于 2014-9-2 17:26
Device_cal)()这个是TI的校准数据,因为TI没有具体说明是校准什么,所以我理解应该是包括各种误差在内的 ...

launchpad就只有(*Device_cal)();這個校准方法嗎?我現在是量度約1.5V,但LCD顯示的數字不太準確,
1.3V, 1.46V甚至1.6V也有出現..
還有其他校准方法嗎?


点评

这是固化在ROM里的函数,直接引用的是地址。在例程里根本找不到它。  详情 回复 发表于 2015-2-2 12:37
 
 
 

回复

1万

帖子

25

TA的资源

裸片初长成(高级)

6
 
kennessfai 发表于 2014-9-2 20:29
launchpad就只有(*Device_cal)();這個校准方法嗎?我現在是量度約1.5V,但LCD顯示的數字不太準確,
1.3V, 1.46V甚至1.6V也有出現..
還有其他校准方法嗎?

这是固化在ROM里的函数,直接引用的是地址。在例程里根本找不到它。


 
 
 

回复

51

帖子

2

TA的资源

一粒金砂(中级)

7
 
闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾剧懓顪冪€n亝鎹i柣顓炴閵嗘帒顫濋敐鍛婵°倗濮烽崑鐐烘偋閻樻眹鈧線寮撮姀鐘栄囨煕閳╁啨浠︾紒顔瑰墲娣囧﹪鎮欓鍕ㄥ亾閺嶎厼绀夌憸蹇曞垝婵犳艾绠i柣妯烘▕濡粓姊虹粔鍡楀濞堟洟鏌i幘瀛樼闁哄瞼鍠栭弻鍥晝閳ь剟鎮橀柆宥嗙厱闁靛牆鎷嬮崕鏃堟煛鐏炶鈧繂顕i崼鏇炵閹肩补鈧弶妯婇梻鍌欑閹碱偊寮甸鍌滅煓闁硅揪绠戦悡鈥愁熆鐠哄彿鍫ュ几鎼淬劍鐓欓梺顓ㄧ畱閺嬨倝鏌嶇拠鑼婵﹨娅i幏鐘诲箵閹烘繂濡烽梻浣哄帶缂嶅﹦绮婚弽顒侇棨濠电偞娼欓崥瀣缚濞嗘劦鏀伴梻鍌欑閹测€趁洪敃鍌氬瀭闁规鍠氭稉宥夋煙閹澘袚闁绘挻娲熼弻宥夊煛娴e憡娈ф繛瀵稿缁犳垿鈥︾捄銊﹀枂闁告洦鍓涢ˇ顓犵磽娴d粙鍝洪柟鐟版搐閻g兘骞掗幋鏃€鐎婚梺鐟扮摠缁诲倿鈥栨径瀣╃箚闁绘劦浜滈埀顒佸灴瀹曟繄浠︽潪鎸庣☉閳规垹鈧綆浜濋悗顒勬⒑閸涘﹤濮﹂柛鐘崇墵閿濈偤宕ㄧ€涙ḿ鍘藉┑鈽嗗灥濞咃絾绂掑☉娆戠闁割偆鍠庨崝銈夋煃鐟欏嫬鐏︽鐐诧躬閺屾稒绻濋崘鈺冾槹濡ょ姷鍋涢敃銉╁箚閺冨牆顫呴柣妯诲絻椤﹪姊婚崒姘偓鎼佸磹妞嬪海鐭嗗〒姘e亾闁诡喖娼″畷鎯邦檨婵炲瓨鐗犻弻鏇熺箾瑜嶉幊鎰版倿閸忚偐绠鹃弶鍫濆⒔缁夘剚銇勯銏╂█鐎规洩缍€缁犳稑鈽夊▎鎴濆妇闂備礁澹婇崑鍛崲瀹ュ憘锝堛亹閹烘挾鍘介梺瑙勫礃濞夋盯寮稿☉銏$厸鐎光偓鐎n剙鍩屽銈庡亝缁捇宕洪埀顒併亜閹哄秷鍏屾い鈺傜叀閹娼幏宀婂妳闂佽楠搁悥濂稿蓟閿濆绠i柨婵嗘啗閹剧粯鐓熼柟鎯х摠缁€瀣煛瀹€瀣瘈鐎规洘甯掗埞鎴﹀炊閳瑰簱鍋撴繝鍕=濞达絽鎼暩缂備緡鍣崹鑸典繆閻㈢ǹ绀嬫い鏍ㄥ嚬濞煎﹪姊洪幐搴b槈閻庢凹鍙冨畷鎶藉级鐠囩偓妫冮幃鈺呮濞戞鎹曟俊鐐€栭崹鐢杆囬棃娑卞殨妞ゆ劧绠戠壕濂告煟閹邦厽缍戞繛鍫㈠枛濮婃椽妫冨☉杈€嗘繝纰樷偓铏┛闁靛洦鍔欐俊鎼佸煛閸屾瀚奸梺鑽ゅТ濞诧箓鎮¢敓鐙€鏁佹俊銈呮噺閻撴洘淇婇婵嗗惞闁活厽甯為埀顒冾潐濞叉﹢宕归崸妤冨祦婵☆垵鍋愮壕鍏间繆椤栨粌甯舵鐐茬墦濮婄粯鎷呴崫銉ㄩ梺绋款儏閿曨亜鐣烽姀锛勯檮缂佸娉曢ˇ顕€姊洪棃娑氬婵☆偅绋撶划缁樸偅閸愨晝鍘卞銈嗗姦閸嬪嫭鏅堕鐐村€垫慨妯煎亾鐎氾拷闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧湱鈧懓瀚崳纾嬨亹閹烘垹鍊炲銈嗗笂缁€渚€宕滈鐑嗘富闁靛牆妫楁慨褏绱掗悩鍐茬伌闁绘侗鍣f慨鈧柕鍫濇閸樻捇鏌℃径灞戒沪濠㈢懓妫濆畷婵嗩吋閸℃劒绨婚梺鍝勫€搁悘婵嬵敂椤愩倗纾奸弶鍫涘妽瀹曞瞼鈧娲樼敮鎺楋綖濠靛鏁勯柦妯侯槷婢规洟姊洪崨濠勭細闁稿孩濞婇幆灞解枎閹惧鍘遍梺鍝勬储閸斿矂鎮橀悩鐢电<闁绘瑢鍋撻柛銊ョ埣瀵濡搁埡鍌氫簽闂佺ǹ鏈粙鎴︻敂閿燂拷闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌i幋锝呅撻柛銈呭閺屾盯顢曢敐鍡欘槬缂備胶濮锋繛鈧柡宀€鍠栧畷婊嗩槾閻㈩垱鐩弻娑氣偓锝冨妼閳ь剚绻堝濠氬即閻旇櫣顔曢梺缁樺姦閸撴岸鎮甸弴銏♀拺缂佸顑欓崕蹇斻亜閹存繍妯€鐎殿喖顭烽弫鎰緞婵犲嫮鏉告俊鐐€栫敮濠囨倿閿曞倸纾块柟鍓х帛閳锋垹绱撴担濮戭亞绮幒妤佺厽闊洦鏌ㄩ崫鍝勨攽閿涘嫭鏆€规洜鍠栭、娑橆潩妲屾牕鏁介梻鍌欐祰椤骞嗗畝鍕瀭闂侇剙绉撮弸浣肝旈敐鍛殲闁绘挾鍠栭獮鏍庨鈧悘顕€鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌i幋锝嗩棄闁哄绶氶弻鐔兼⒒鐎靛壊妲紒鎯у⒔缁垳鎹㈠☉銏犵闁哄啠鍋撻柛銈呯Ч閺屾盯濡烽鐓庘拻闂佽桨绀佸ú顓㈠蓟閺囷紕鐤€闁哄洨鍊妷锔轰簻闁挎棁顕у▍宥夋煙椤旂瓔娈滅€规洘顨嗗鍕節娴e壊妫滈梻鍌氬€风粈渚€骞夐垾瓒佹椽鏁冮崒姘憋紱婵犮垼鍩栭崝鏇㈠及閵夆晜鐓熼柟閭﹀枛閸斿鏌嶉柨瀣伌闁诡喖缍婇獮渚€骞掗幋婵愮€虫繝鐢靛仜閹冲繘宕濆▎鎾宠摕闁绘梻鍘х粈鍕煏閸繃顥滄い蹇ユ嫹
 
 
 

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

猜你喜欢
随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/10 下一条
有奖探索 | 和村田一起,深挖 GNSS 开发!
活动时间:即日起-5月11日
活动奖励:智能手环、螺丝刀套装、双肩包

查看 »

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

 
机器人开发圈

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

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

北京市海淀区中关村大街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
快速回复 返回顶部 返回列表