資料介紹
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)換周期跟采樣周期不一樣
- tms320f28335資料手冊(中文版) 0次下載
- TMS320F28335寄存器手冊 131次下載
- 使用DSP芯片TMS320F28335和FPGA的電路原理圖免費(fèi)下載 194次下載
- TMS320F28335和FPGA1板卡接口的PCB詳細(xì)說明 33次下載
- TMS320F28069和TMS320F28335的DSP處理器到底有什么區(qū)別 75次下載
- TMS320F28335資料 84次下載
- tms320f28335(中文版) 0次下載
- TI官方的TMS320F28335參考設(shè)計(jì)的原理圖 156次下載
- TMS320F28335_CMD命令 16次下載
- tms320f28335綜合程序說明 19次下載
- TMS320F28335DSP編寫的SPWM程序 187次下載
- tms320f28335主數(shù)據(jù)手冊(中文) 60次下載
- TMS320F28335-SPWM 43次下載
- 基于TMS320F28335的SVPWM實(shí)現(xiàn)方法 73次下載
- tms320f28335_board_archive 0次下載
- 信號采樣的算法原理是什么 276次閱讀
- 解讀ADC采樣芯片(EV10AQ190A)的采樣(工作)模式(雙通道模式) 3889次閱讀
- 中頻采樣和IQ采樣的比較分析 3155次閱讀
- 基于TMS320F28335和STM32F103VET6芯片實(shí)現(xiàn)北斗定位系統(tǒng)的設(shè)計(jì) 6238次閱讀
- 基于TMS320F28335處理器實(shí)現(xiàn)驅(qū)動雙電動機(jī)同步控制系統(tǒng)的設(shè)計(jì) 5856次閱讀
- 廣州創(chuàng)龍電子嵌入式雙核實(shí)驗(yàn)箱介紹 1820次閱讀
- 廣州創(chuàng)龍電子嵌入式C2000實(shí)驗(yàn)箱簡介 1852次閱讀
- 采樣電阻的作用_采樣電阻的選型 9997次閱讀
- 解讀RFID技術(shù) 4402次閱讀
- TMS320F28335最小應(yīng)用系統(tǒng)設(shè)計(jì)電路 1.6w次閱讀
- dsp28335開發(fā)板中文資料匯總(dsp28335最小系統(tǒng)_引腳圖_封裝_初始化程序) 6.3w次閱讀
- dsp28335如何入門:程序設(shè)計(jì)步驟 1.9w次閱讀
- TMS320f28335控制AD7656的硬件電路設(shè)計(jì) 1.1w次閱讀
- 三大電機(jī)控制方案之DSP篇(1):TMS320F28335 5.5w次閱讀
- 帶你了解TI的DSP入門芯片TMS320F28335 3.8w次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費(fèi)下載
- 0.00 MB | 1489次下載 | 免費(fèi)
- 2單片機(jī)典型實(shí)例介紹
- 18.19 MB | 91次下載 | 1 積分
- 3S7-200PLC編程實(shí)例詳細(xì)資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關(guān)電源原理及各功能電路詳解
- 0.38 MB | 9次下載 | 免費(fèi)
- 6基于AT89C2051/4051單片機(jī)編程器的實(shí)驗(yàn)
- 0.11 MB | 4次下載 | 免費(fèi)
- 7基于單片機(jī)和 SG3525的程控開關(guān)電源設(shè)計(jì)
- 0.23 MB | 3次下載 | 免費(fèi)
- 8基于單片機(jī)的紅外風(fēng)扇遙控
- 0.23 MB | 3次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費(fèi)
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費(fèi)
- 4LabView 8.0 專業(yè)版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費(fèi)
- 5555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33562次下載 | 免費(fèi)
- 6接口電路圖大全
- 未知 | 30319次下載 | 免費(fèi)
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費(fèi)
- 8開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21539次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537791次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191183次下載 | 免費(fèi)
- 7十天學(xué)會AVR單片機(jī)與C語言視頻教程 下載
- 158M | 183277次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138039次下載 | 免費(fèi)
評論
查看更多