在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>DSP>TMS28335的AD采樣解讀

TMS28335的AD采樣解讀

2017-12-04 | rar | 0.6 MB | 次下載 | 1積分

資料介紹

  TMS320F28335內(nèi)部包含12位AD轉(zhuǎn)換器,其功能有:

  具有內(nèi)置(采樣保持)S/H的12位ADC內(nèi)核

  模擬輸入:0.0V至3.0V(高于3.0V的電壓產(chǎn)生滿刻度轉(zhuǎn)換結(jié)果)。

  快速轉(zhuǎn)換率:在25MHzADC時(shí)鐘12.5MSPS上時(shí)高達(dá)80ns

  16個(gè)專用ADC通道。

  每次采樣/保持都有復(fù)用的8通道

  自動定序功能在單次會話中可提供多達(dá)16次“自動轉(zhuǎn)換”??蓪⒚看无D(zhuǎn)換編程為選擇16個(gè)輸入信道中的任何一個(gè)。

  序列發(fā)生器可運(yùn)行為2個(gè)獨(dú)立的8態(tài)序列發(fā)生器,或作為1個(gè)較大的16態(tài)序列發(fā)生器(即2個(gè)級聯(lián)的8態(tài)序列發(fā)生器)。

  用于存儲轉(zhuǎn)換值的16個(gè)結(jié)果寄存器(可分別尋址)

  – 輸入模擬電壓的數(shù)值源自:

  當(dāng)input《0時(shí):digital value =0;

  當(dāng)0《input《3.0時(shí):digital value =4096*(input analog voltage-ADCLO)/3;

  當(dāng)input》3.0時(shí):digital value =4095;

  作為轉(zhuǎn)換開始(SOC)序列源的多個(gè)觸發(fā)器

  – S/W-軟件立即啟動

  – ePWMM轉(zhuǎn)換開始

  – XINT2ADC轉(zhuǎn)換開始

  靈活的中斷控制允許每個(gè)序列結(jié)束(EOS) 或每個(gè)其它EOS上的中斷請求。

  序列發(fā)生器可運(yùn)行于“啟/停”模式,從而實(shí)現(xiàn)多個(gè)“時(shí)序觸發(fā)器”同步轉(zhuǎn)換。

  SOCA和SOCB觸發(fā)器可獨(dú)立運(yùn)行在雙序列發(fā)生器模式中。

  采樣保持(S/H)采集時(shí)間窗口具有獨(dú)立的預(yù)分頻控制。

  要獲得指定的ADC精度,正確的電路板布局非常關(guān)鍵。為盡可能達(dá)到最佳效果,引入ADCIN引腳的走線不應(yīng)太靠近數(shù)字信號通道。這是為了最大程度地減少數(shù)字線路上因ADC輸入耦合而產(chǎn)生的開關(guān)噪聲。而且,適當(dāng)?shù)母綦x技術(shù)必須被用來將數(shù)字電源從ADC模塊電源引腳(VDD1A18,VDD2A18,VDDA2,VDDAIO)上隔離。

  ADC未被使用,ADC連接

  建議保持針對模擬電源引腳的連接,即便在ADC未被使用時(shí)也是如此。下面總結(jié)了如果ADC未在應(yīng)用中使用,應(yīng)該如何連接ADC引腳:

 ?。?VDD1A18/VDD2A18-連接至VDD

  ? VDDA2,VDDAIO-連接至VDDIO

  ? VSS1AGND/VSS2AGND,VSSA2,VSSAIO-連接至VSS

 ??? ADCLO-連接至VSS

 ??? ADCREFIN-連接至VSS

 ?。?ADCREFP/ADCREFM-連接一個(gè)100nF電容器至VSS

  ? ADCRESEXT-連接一個(gè)20k?電阻器(非常松散的耐受)至VSS。

 ?。?ADCINAn,ADCINBn-連接至VSS

  當(dāng)ADC未被使用時(shí),為了達(dá)到節(jié)能的目的,請確保到ADC模塊的時(shí)鐘未被打開。

  當(dāng)在一個(gè)應(yīng)用中使用ADC模塊時(shí),未使用的ADC輸入引腳應(yīng)被連接至模擬接地(VSS1AGND/VSS2AGND)

  ADC頭文件與寄存器對應(yīng)解讀:

  struct ADCTRL1_BITS { // bits description

  Uint16 rsvd1:4; // 3:0 reserved

  Uint16 SEQ_CASC:1; // 4 Cascaded sequencer mode 級聯(lián)序列模式

  Uint16 SEQ_OVRD:1; // 5 Sequencer override 序列發(fā)生器覆蓋

  Uint16 CONT_RUN:1; // 6 Continuous run 連續(xù)運(yùn)行模式

  Uint16 CPS:1; // 7 ADC core clock pre-scalar ADC核心時(shí)鐘分頻

  Uint16 ACQ_PS:4; // 11:8 Acquisition window size采集窗口大小

  Uint16 SUSMOD:2; // 13:12 Emulation suspend mode仿真掛起模式

  Uint16 RESET:1; // 14 ADC reset ADC復(fù)位

  Uint16 rsvd2:1; // 15 reserved 保留

  };

  下面的聯(lián)合體主要是為了解決對這個(gè)寄存器的控制,可以是整體賦值液可以是一位一位的賦值。

  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 增強(qiáng)PWM比較器B作為SEQ2的啟動轉(zhuǎn)換標(biāo)志

  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轉(zhuǎn)換

  Uint16 RST_SEQ2:1; // 6 Reset SEQ2 SEQ2復(fù)位

  Uint16 EXT_SOC_SEQ1:1; // 7 External start of conversion for SEQ1 序列1的外部轉(zhuǎn)換啟動

  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

  };

  struct ADCASEQSR_BITS { // bits description

  Uint16 SEQ1_STATE:4; // 3:0 SEQ1 state 序列1的狀態(tài)

  Uint16 SEQ2_STATE:3; // 6:4 SEQ2 state 序列2的狀態(tài)

  Uint16 rsvd1:1; // 7 reserved

  Uint16 SEQ_CNTR:4; // 11:8 Sequencing counter status 序列計(jì)數(shù)器狀態(tài)

  Uint16 rsvd2:4; // 15:12 reserved

  };

  ADC最大轉(zhuǎn)換信道數(shù)寄存器

  struct ADCMAXCONV_BITS { // bits description

  Uint16 MAX_CONV1:4; // 3:0 Max number of conversions 序列1最大轉(zhuǎn)換通道數(shù)

  Uint16 MAX_CONV2:3; // 6:4 Max number of conversions 序列2最大轉(zhuǎn)換通道數(shù)

  Uint16 rsvd1:9; // 15:7 reserved

  };

  ADC信道選擇排序控制寄存器

  SEQ1只能使用ADCCHSELSEQ1和ADCCHSELSEQ2;AEQ2只能使用ADCCHSELSEQ3和ADCCHSELSEQ4

  struct ADCCHSELSEQ1_BITS { // bits description

  Uint16 CONV00:4; // 3:0 Conversion selection 00

  Uint16 CONV01:4; // 7:4 Conversion selection 01

  Uint16 CONV02:4; // 11:8 Conversion selection 02

  Uint16 CONV03:4; // 15:12 Conversion selection 03

  };

  struct ADCCHSELSEQ2_BITS { // bits description

  Uint16 CONV04:4; // 3:0 Conversion selection 04

  Uint16 CONV05:4; // 7:4 Conversion selection 05

  Uint16 CONV06:4; // 11:8 Conversion selection 06

  Uint16 CONV07:4; // 15:12 Conversion selection 07

  };

  struct ADCCHSELSEQ3_BITS { // bits description

  Uint16 CONV08:4; // 3:0 Conversion selection 08

  Uint16 CONV09:4; // 7:4 Conversion selection 09

  Uint16 CONV10:4; // 11:8 Conversion selection 10

  Uint16 CONV11:4; // 15:12 Conversion selection 11

  };

  struct ADCCHSELSEQ4_BITS { // bits description

  Uint16 CONV12:4; // 3:0 Conversion selection 12

  Uint16 CONV13:4; // 7:4 Conversion selection 13

  Uint16 CONV14:4; // 11:8 Conversion selection 14

  Uint16 CONV15:4; // 15:12 Conversion selection 15

  };

  控制寄存器3

  struct ADCTRL3_BITS { // bits description

  Uint16 SMODE_SEL:1; // 0 Sampling mode select 采樣模式選擇

  Uint16 ADCCLKPS:4; // 4:1 ADC core clock divider ADC時(shí)鐘分頻器

  Uint16 ADCPWDN:1; // 5 ADC powerdown ADC斷電???

  Uint16 ADCBGRFDN:2; // 7:6 ADC bandgap/ref power down ADC參考/帶隙斷電 ???

  Uint16 rsvd1:8; // 15:8 reserved

  };

  狀態(tài)寄存器

  struct ADCST_BITS { // bits description

  Uint16 INT_SEQ1:1; // 0 SEQ1 Interrupt flag 序列1中斷標(biāo)志

  Uint16 INT_SEQ2:1; // 1 SEQ2 Interrupt flag 序列2中斷標(biāo)志

  Uint16 SEQ1_BSY:1; // 2 SEQ1 busy status 序列1忙標(biāo)志

  Uint16 SEQ2_BSY:1; // 3 SEQ2 busy status 序列2忙標(biāo)志

  Uint16 INT_SEQ1_CLR:1; // 4 SEQ1 Interrupt clear 清除序列1中斷標(biāo)志

  Uint16 INT_SEQ2_CLR:1; // 5 SEQ2 Interrupt clear 清除序列2中斷標(biāo)志

  Uint16 EOS_BUF1:1; // 6 End of sequence buffer1 序列緩沖器1結(jié)束

  Uint16 EOS_BUF2:1; // 7 End of sequence buffer2

  Uint16 rsvd1:8; // 15:8 reserved

  };

  struct ADCREFSEL_BITS { // bits description

  Uint16 rsvd1:14; // 13:0 reserved

  Uint16 REF_SEL:2; // 15:14 Reference select 參考選擇???

  };

  struct ADCOFFTRIM_BITS{ // bits description

  int16 OFFSET_TRIM:9; // 8:0 Offset Trim 偏移微調(diào)???

  Uint16 rsvd1:7; // 15:9 reserved

  };

  ADC寄存器

  struct ADC_REGS {

  union ADCTRL1_REG ADCTRL1; // ADC Control 1

  union ADCTRL2_REG ADCTRL2; // ADC Control 2

  union ADCMAXCONV_REG ADCMAXCONV; // Max conversions

  union ADCCHSELSEQ1_REG ADCCHSELSEQ1; // Channel select sequencing control 1

  union ADCCHSELSEQ2_REG ADCCHSELSEQ2; // Channel select sequencing control 2

  union ADCCHSELSEQ3_REG ADCCHSELSEQ3; // Channel select sequencing control 3

  union ADCCHSELSEQ4_REG ADCCHSELSEQ4; // Channel select sequencing control 4

  union ADCASEQSR_REG ADCASEQSR; // Autosequence status register

  Uint16 ADCRESULT0; // Conversion Result Buffer 0

  Uint16 ADCRESULT1; // Conversion Result Buffer 1

  Uint16 ADCRESULT2; // Conversion Result Buffer 2

  Uint16 ADCRESULT3; // Conversion Result Buffer 3

  Uint16 ADCRESULT4; // Conversion Result Buffer 4

  Uint16 ADCRESULT5; // Conversion Result Buffer 5

  Uint16 ADCRESULT6; // Conversion Result Buffer 6

  Uint16 ADCRESULT7; // Conversion Result Buffer 7

  Uint16 ADCRESULT8; // Conversion Result Buffer 8

  Uint16 ADCRESULT9; // Conversion Result Buffer 9

  Uint16 ADCRESULT10; // Conversion Result Buffer 10

  Uint16 ADCRESULT11; // Conversion Result Buffer 11

  Uint16 ADCRESULT12; // Conversion Result Buffer 12

  Uint16 ADCRESULT13; // Conversion Result Buffer 13

  Uint16 ADCRESULT14; // Conversion Result Buffer 14

  Uint16 ADCRESULT15; // Conversion Result Buffer 15

  union ADCTRL3_REG ADCTRL3; // ADC Control 3

  union ADCST_REG ADCST; // ADC Status Register

  Uint16 rsvd1;

  Uint16 rsvd2;

  union ADCREFSEL_REG ADCREFSEL; // Reference Select Register

  union ADCOFFTRIM_REG ADCOFFTRIM; // Offset Trim Register

  };

  struct ADC_RESULT_MIRROR_REGS

  {

  Uint16 ADCRESULT0; // Conversion Result Buffer 0

  Uint16 ADCRESULT1; // Conversion Result Buffer 1

  Uint16 ADCRESULT2; // Conversion Result Buffer 2

  Uint16 ADCRESULT3; // Conversion Result Buffer 3

  Uint16 ADCRESULT4; // Conversion Result Buffer 4

  Uint16 ADCRESULT5; // Conversion Result Buffer 5

  Uint16 ADCRESULT6; // Conversion Result Buffer 6

  Uint16 ADCRESULT7; // Conversion Result Buffer 7

  Uint16 ADCRESULT8; // Conversion Result Buffer 8

  Uint16 ADCRESULT9; // Conversion Result Buffer 9

  Uint16 ADCRESULT10; // Conversion Result Buffer 10

  Uint16 ADCRESULT11; // Conversion Result Buffer 11

  Uint16 ADCRESULT12; // Conversion Result Buffer 12

  Uint16 ADCRESULT13; // Conversion Result Buffer 13

  Uint16 ADCRESULT14; // Conversion Result Buffer 14

  Uint16 ADCRESULT15; // Conversion Result Buffer 15

  };

  ADC_Cal()常規(guī)步驟:

  第一步:這個(gè)是TI公司提供的文件

  .def _ADC_cal ;定義代碼段名稱

  .asg “0x711C”, ADCREFSEL_LOC ;ADCREFSEL_LOC 是 ADC Reference Select Register, 地址0x711C

  .sect“.adc_cal”

  _ADC_cal

  MOVW DP, #ADCREFSEL_LOC 》》 6 ;此時(shí) DP = 0x7100

  MOV @28, #0xAAAA ;地址 : 0x7100 + 28

  MOV @29, #0xBBBB ;地址 : 0x7100 + 29

  LRETR

  第二步:為 ADC_Cal() 添加命令文件

  MEMORY

  {

  PAGE 0 :

  。..

  ADC_CAL : origin = 0x380080, length = 0x000009

  。..

  }

  SECTIONS

  {

  。..

  .adc_cal : load = ADC_CAL, PAGE = 0, TYPE = NOLOAD

  。..

  }

  第三步:在使用ADC前要聲明ADC_Cal(),并且在使用ADC_Cal()之前要使能ADC高速時(shí)鐘。

  extern void ADC_cal(void);

  …

  EALLOW; //允許對受保護(hù)的寄存器進(jìn)行操作

  SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 1; //使能時(shí)鐘

  ADC_cal();

  SysCtrlRegs.PCLKCR0.bit.ADCENCLK = 0; //關(guān)閉時(shí)鐘

  EDIS; //禁止對受保護(hù)的寄存器進(jìn)行操作

  ADC轉(zhuǎn)換軟件步驟:

  初始化DSP系統(tǒng);

  設(shè)置PIE 中斷矢量表,

  初始化ADC模塊;

  將ADC中斷的入口地址裝入PIE 中斷矢量表中,開中斷;

  軟件啟動ADC轉(zhuǎn)換;

  等待ADC中斷;

  在ADC中斷中讀取ADC轉(zhuǎn)換結(jié)果,軟件啟動下一次ADC中斷。

  ACQ_PS-》為采樣窗口大小,越大值越準(zhǔn)確,但是速度越慢。

  ADCCLKPS-》ADC針對高速外設(shè)時(shí)鐘的分頻。

  CPS-》高速外設(shè)時(shí)鐘是否進(jìn)行二分頻。

  DSP的采樣設(shè)置好之后是可以達(dá)到我們設(shè)置要求的采樣時(shí)間的,但是在設(shè)計(jì)的時(shí)候還是要留有一定的預(yù)留。

  哥告訴你吧,其實(shí)ADC的始終就像水龍頭,是從水站分過來的。

  1、在這同理,PLL出來的時(shí)鐘也就是系統(tǒng)時(shí)鐘,ADC又是從屬于高速外設(shè),這里高速外設(shè)共享時(shí)鐘,也就是所有高速外設(shè)時(shí)鐘從此分頻而來,因此需要配置高速外設(shè)時(shí)鐘分頻寄存器;

  2、分完之后開始ADC分頻,大多數(shù)時(shí)鐘是不會滿頻跑的;

  3、AD本身還自帶一個(gè)分頻,也就是說ADCLK本身還有多種選擇;

  這樣以來你該明白了,系統(tǒng)時(shí)鐘/(高速外設(shè)分頻+1)/(ADC分頻+1)/(AD本身頻率選擇+1) 就得到了采樣時(shí)鐘頻率,然后加上S/H時(shí)間 你就得到了轉(zhuǎn)換周期,記住額,轉(zhuǎn)換周期跟采樣周期不一樣

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1電子電路原理第七版PDF電子教材免費(fèi)下載
  2. 0.00 MB  |  1489次下載  |  免費(fèi)
  3. 2單片機(jī)典型實(shí)例介紹
  4. 18.19 MB  |  91次下載  |  1 積分
  5. 3S7-200PLC編程實(shí)例詳細(xì)資料
  6. 1.17 MB  |  27次下載  |  1 積分
  7. 4筆記本電腦主板的元件識別和講解說明
  8. 4.28 MB  |  18次下載  |  4 積分
  9. 5開關(guān)電源原理及各功能電路詳解
  10. 0.38 MB  |  9次下載  |  免費(fèi)
  11. 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
  12. 0.11 MB  |  4次下載  |  免費(fèi)
  13. 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
  14. 0.23 MB  |  3次下載  |  免費(fèi)
  15. 8基于單片機(jī)的紅外風(fēng)扇遙控
  16. 0.23 MB  |  3次下載  |  免費(fèi)

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234313次下載  |  免費(fèi)
  3. 2PADS 9.0 2009最新版 -下載
  4. 0.00 MB  |  66304次下載  |  免費(fèi)
  5. 3protel99下載protel99軟件下載(中文版)
  6. 0.00 MB  |  51209次下載  |  免費(fèi)
  7. 4LabView 8.0 專業(yè)版下載 (3CD完整版)
  8. 0.00 MB  |  51043次下載  |  免費(fèi)
  9. 5555集成電路應(yīng)用800例(新編版)
  10. 0.00 MB  |  33562次下載  |  免費(fèi)
  11. 6接口電路圖大全
  12. 未知  |  30319次下載  |  免費(fèi)
  13. 7Multisim 10下載Multisim 10 中文版
  14. 0.00 MB  |  28588次下載  |  免費(fèi)
  15. 8開關(guān)電源設(shè)計(jì)實(shí)例指南
  16. 未知  |  21539次下載  |  免費(fèi)

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935053次下載  |  免費(fèi)
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537791次下載  |  免費(fèi)
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420026次下載  |  免費(fèi)
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234313次下載  |  免費(fèi)
  9. 5Altium DXP2002下載入口
  10. 未知  |  233045次下載  |  免費(fèi)
  11. 6電路仿真軟件multisim 10.0免費(fèi)下載
  12. 340992  |  191183次下載  |  免費(fèi)
  13. 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
  14. 158M  |  183277次下載  |  免費(fèi)
  15. 8proe5.0野火版下載(中文版免費(fèi)下載)
  16. 未知  |  138039次下載  |  免費(fèi)
主站蜘蛛池模板: 手机看片神马午夜| 日本加勒比在线播放| 久久午夜免费视频| 亚洲综合图片人成综合网| 亚洲成a人片在线观看尤物| 青草视频久久| 午夜影院免费视频| h免费视频| 色视频在线观看免费| аbt天堂资源在线官网| 四虎影院欧美| 国产成人优优影院| 国产亚洲欧美成人久久片 | 永久在线观看| 久久精品国产亚洲片| 黄网站视频观看免费| 亚洲图色视频| 国产黄页| 免费啪视频在线观看免费的| 婷婷激情四月| 黄色一级毛片在线观看| 久久天天躁狠狠躁夜夜2020一| 在线黄色免费| 国产精品欧美久久久久天天影视| nxgx欧美| 日韩一级生活片| 日日爽天天干| 亚洲va中文字幕| 小雪被撑暴黑人黑人与亚洲女人| 亚洲欧美经典| 精品一区二区三区免费毛片爱| 国产午夜不卡在线观看视频666| 亚洲国产成人在人网站天堂| free性欧美69高清| 深夜福利欧美| 国产精品免费视频拍拍拍| 视频网站黄色| 免费人成激情视频在线观看冫| 国内精品手机在线观看视频| 色综合久| 久久天天躁狠狠躁夜夜爽|