




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、第13章 模/數轉換器ADC模/數轉換 ADC 在現實世界中,許多量都是模擬量,例如電壓、電流、溫度、濕度、壓力等信號,而在DSP等微控制器的世界中,所有的量卻都是數字量,那如何實現將現實世界的模擬量提供給DSP等微控制器呢? ADC13.1 2812內部的ADC模塊nADC模塊是一個12位分辨率的、具有流水線結構的模數轉換器 。nX281X的ADC模塊一共具有16個采樣通道,分成了兩組,一組為ADCINA0ADCINA7,另一組為ADCINB0ADCINB7。 ADC模塊的結構框圖雖然ADC模塊具有多個輸入通道,但是它內部只有1個轉換器,也就是說同一時刻只能對1路輸入信號進行轉換。當有多路信
2、號需要轉換時,ADC模塊該怎么辦呢?多路轉換示意圖ADC模塊的特點n一共有16個模擬量輸入引腳,將這16個輸入引腳分成了兩組,A組的引腳為ADCINA0ADCINA7,B組的引腳為ADCINB0ADCINB7。 n具有12位的ADC內核,內置有2個采樣保持器S/H-A和S/H-B,從前面的學習可以知道,引腳ADCINA0ADCINA7對應于采樣保持器S/H-A,引腳ADCINB0ADCINB7對應于采樣保持器S/H-B。 ADC模塊的特點nADC模塊的時鐘頻率最高可配置為25MHz,采樣頻率最高為12.5MSPS,也就是說每秒最高能完成12.5個百萬次的采樣。 nADC模塊的自動序列發生器可以
3、按兩個獨立的8狀態序列發生器(SEQ1和SEQ2)來運行,也可以按一個16狀態的序列發生器(SEQ)來運行。 ADC模塊的特點ADC模擬輸入的范圍為03V。 AD端口的嵌位電路 ADC模塊的特點nADC模塊對一個序列的通道開始轉換必須需要有一個啟動信號,或者說是一個觸發信號。 序列發生器SEQ1SEQ2SEQ啟動方式軟件立即啟動(S/W)EVA的多種事件外部引腳(GPIO/XINT2_ADCSOC)軟件立即啟動(S/W)EVB的多種事件軟件立即啟動(S/W)EVA的多種事件EVB的多種事件外部引腳(GPIO/XINT2_ADCSOC)ADC模塊的特點nADC模塊共有16個結果寄存器ADCRES
4、ULT0ADCRESULT15,用來保存轉換的數值。每個結果寄存器都是16位的,而X281X的ADC是12位的,也就是說轉換后的數字值最高只有12位,那這個12位的值是如何放在16位的結果寄存器中的呢? ADC模塊的特點VoltInputADCLOADResult*655203.0VoltInputADCLO(ADResult4)*40953.0ADC的時鐘頻率和采樣頻率-1假設外部晶振的頻率為OSCCLK Hz,通常選用的是30M的晶振。外部晶振經過PLL模塊產生CPU時鐘SYSCLKOUT,如果PLL模塊的值為m,則有: OSCCLK*mSYSCLKOUT(m!0)2SYSCLKOUTOS
5、CCLK(m0)ADC的時鐘頻率和采樣頻率-2然后,CPU時鐘信號經過高速時鐘預定標器HISPCP之后,生成高速外設時鐘HSPCLK,假設HISPCP寄存器的值為n,則有:SYSCLKOUTHSPCLK(n!0)2*nHSPCLKSYSCLKOUT(n0)ADC的時鐘頻率和采樣頻率-3AD控制寄存器ADCTRL3的第0到第3位,也就是功能位ADCLKPS,可以對HSPCLK進行分頻,此外,AD控制寄存器ADCTRL1的CPS位另外還可以提供一個2分頻,因此,可以得到ADC模塊的時鐘ADCLK為:HSPCLKADCLK(ADCLKPS0)CPS1HSPCLKADCLK(ADCLKPS!0)2*A
6、DCLKPS*(CPS1)ADC時鐘產生實例XCLKINPLLCR3:0HISPCLKADCTRL31:4ADCTRL17ADC_CLKADCTRL18:11SH Width0000bHSPCP=0ADCLKPS=0CPS=0ACQ_PS=030MHz15MHz15MHz15MHz15MHz15MHzSH pulse clock=011010bHSPCP=3ADCLKPS=2CPS=1ACQ_PS=1530MHz150MHz150/(2*3)=25MHz25/(2*2)=6.25MHz6.25/(2*1)=3.125MHz3.125MHzSH pulse clock=1516ADC時鐘頻率nA
7、DC的時鐘頻率就是每秒有多少個時鐘脈沖的意思,它是ADC模塊運行的基礎,正如上面所介紹的,它是由系統時鐘經過很多環節分頻后得到的,它取決于外部的時鐘輸入和各個環節的倍頻或者分頻的系數。 ADC轉換時間n轉換時間是指ADC模塊完成一個通道或者一個序列的轉換所需要的時間,很顯然,轉換時間是由ADC的時鐘頻率來決定的。 ADC采樣頻率n采樣頻率是指ADC模塊每秒能夠完成多少次的采樣,采樣頻率取決于啟動ADC的頻率。啟動ADC的方式有很多,比如利用軟件直接啟動,利用事件管理器的某些事件,或者是利用外部引腳來啟動。啟動ADC的頻率才是ADC的采樣頻率,例如如果每隔1ms啟動一次ADC,那么ADC的采樣頻
8、率就為1KHz。 13.2 ADC模塊的工作方式nADC模塊既支持2個8狀態序列發生器SEQ1和SEQ2分開獨立工作,此時稱為雙序列發生器方式,也支持序列發生器SEQ1和SEQ2級聯成一個16狀態序列發生器SEQ來工作,此時稱為單序列發生器方式,或者稱為級聯方式。ADC輸入通道選擇序列控制寄存器nX281X的16個通道可以通過編程來為序列發生器中需要轉換的通道安排順序,這個功能就需要通過ADC輸入通道選擇序列控制寄存器ADCCHSELSEQx(x=1,2,3,4)來實現。每一個輸入通斷選擇序列控制寄存器都是16位的,被分成了4個功能位CONVxx,每一個功能位占據寄存器的4個位 。ADC輸入通
9、道選擇序列控制寄存器序列發生器對應的通道選擇控制寄存器CONVxx對應的引腳SEQ1ADCCHSELSEQ1、ADCCHSELSEQ2CONV00CONV07ADCINA0ADCINA7SEQ2ADCCHSELSEQ3、ADCCHSELSEQ4CONV08CONV15ADCINB0ADCINB7SEQADCCHSELSEQ1、ADCCHSELSEQ2ADCCHSELSEQ3、ADCCHSELSEQ4CONV00CONV15ADCINA0ADCINA7ADCINB0ADCINB7各個序列發生器所對應的寄存器和可選用的通道情況各個序列發生器所對應的寄存器和可選用的通道情況 最大轉換通道寄存器的結構
10、雙序列發生器模式下順序采樣n假設需要對ADCINA0ADCINA7,ADCINB0ADCINB7這16路通道進行采樣,ADC模塊工作于雙序列發生器模式,并采用順序采樣。ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV081000(ADCINB0)CONV010001(ADCINA1)CONV091001(ADCINB1)CONV020010(ADCINA2)CONV101010(ADCINB2)CONV030011(ADCINA3)CONV111011(ADCINB3)ADCCHSELSEQ2CONV040100(ADCINA4)ADCCHSELS
11、EQ4CONV121100(ADCINB4)CONV050101(ADCINA5)CONV131101(ADCINB5)CONV060110(ADCINA6)CONV141110(ADCINB6)CONV070111(ADCINA7)CONV151111(ADCINB7) 雙序列發生器順序采樣模式下雙序列發生器順序采樣模式下16路通道時路通道時ADCCHSELSEQn位情況位情況 雙序列發生器順序采樣模式下序列發生器16路通道選擇情況 AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /選擇雙序列發生器模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /選擇
12、順序采樣模式 AdcRegs.MAX_CONV.all=0 x0077; /每個序列發生器最大采樣通道數為8,總共可采樣16通道 /SEQ1將用到ADCCHSELSEQ1、ADCCHSELSEQ2,SEQ2將用到ADCCHSELSEQ3、ADCCHSELSEQ4 AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采樣ADCINA0通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采樣ADCINA1通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采樣ADCINA2通道 AdcRegs.CHSELSEQ1.bit.CO
13、NV03=0 x3; /采樣ADCINA3通道 AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采樣ADCINA4通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采樣ADCINA5通道 AdcRegs.CHSELSEQ2.bit.CONV06=0 x6; /采樣ADCINA6通道 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采樣ADCINA7通道 AdcRegs.CHSELSEQ3.bit.CONV08=0 x8; /采樣ADCINB0通道 AdcRegs.CHSELSEQ3.bit.CONV09=0 x9; /
14、采樣ADCINB1通道 AdcRegs.CHSELSEQ3.bit.CONV10=0 xA; /采樣ADCINB2通道 AdcRegs.CHSELSEQ3.bit.CONV11=0 xB; /采樣ADCINB3通道 AdcRegs.CHSELSEQ4.bit.CONV12=0 xC; /采樣ADCINB4通道 AdcRegs.CHSELSEQ4.bit.CONV13=0 xD; /采樣ADCINB5通道 AdcRegs.CHSELSEQ4.bit.CONV14=0 xE; /采樣ADCINB6通道 AdcRegs.CHSELSEQ4.bit.CONV15=0 xF; /采樣ADCINB7通道雙
15、序列發生器順序采樣模式下16路通道轉換結果 雙序列發生器模式下并發采樣n假設需要對ADCINA0ADCINA7,ADCINB0ADCINB7這16路通道進行采樣,ADC模塊工作于雙序列發生器模式,并采用并發采樣。 ADCCHSELSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV081000(ADCINB4)CONV010001(ADCINA1)CONV091001(ADCINB5)CONV020010(ADCINA2)CONV101010(ADCINB6)CONV030011(ADCINA3)CONV111011(ADCINB7)ADCCHSELSEQ2CONV0
16、4ADCCHSELSEQ4CONV12CONV05CONV13CONV06CONV14CONV07CONV15 雙序列發生器并發采樣模式下雙序列發生器并發采樣模式下16路通道時路通道時ADCCHSELSEQn位情況位情況 雙序列發生器并發采樣模式下序列發生器16路通道選擇情況 AdcRegs.ADCTRL1.bit.SEQ_CASC=0; /選擇雙序列發生器模式AdcRegs.ADCTRL3.bit.SMODE_SEL=1; /選擇并發采樣模式AdcRegs.MAX_CONV.all=0 x0033;/由于并發采樣是一對通道、一對通道采樣,采16個通道,總共只需設置8個通道。SEQ1和SEQ2
17、各設置4個通道,SEQ1將用到ADCCHSELSEQ1,SEQ2將用到SDCCHSELSEQ3。AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采樣ADCINA0和ADCINBAdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采樣ADCINA1和ADCINB1 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采樣ADCINA2和ADCINB2 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采樣ADCINA3和ADCINB3 AdcRegs.CHSELSEQ3.bit.CONV08=0 xC; /采樣
18、ADCINA4和ADCINB4 AdcRegs.CHSELSEQ3.bit.CONV09=0 xD; /采樣ADCINA5和ADCINB5 AdcRegs.CHSELSEQ3.bit.CONV10=0 xE; /采樣ADCINA6和ADCINB6 AdcRegs.CHSELSEQ3.bit.CONV11=0 xF; /采樣ADCINA7和ADCINB7雙序列發生器并發采樣模式下16路通道轉換結果 級聯模式下順序采樣n假設需要對ADCINA0ADCINA7,ADCINB0ADCINB7這16路通道進行采樣,ADC模塊工作于級聯模式,并采用順序采樣。ADCCHSELSEQ1CONV000000(A
19、DCINA0)ADCCHSELSEQ3CONV081000(ADCINB0)CONV010001(ADCINA1)CONV091001(ADCINB1)CONV020010(ADCINA2)CONV101010(ADCINB2)CONV030011(ADCINA3)CONV111011(ADCINB3)ADCCHSELSEQ2CONV040100(ADCINA4)ADCCHSELSEQ4CONV121100(ADCINB4)CONV050101(ADCINA5)CONV131101(ADCINB5)CONV060110(ADCINA6)CONV141110(ADCINB6)CONV070111
20、(ADCINA7)CONV151111(ADCINB7) 級聯順序采樣模式下級聯順序采樣模式下16路通道時路通道時ADCCHSELSEQn位情況位情況 級聯順序采樣模式下序列發生器16路通道選擇情況 AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /選擇級聯模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /選擇順序采樣模式 AdcRegs.MAX_CONV.all=0 x000F;/序列發生器最大采樣通道數為16,一次采1個通道,總共可采16通道 /SEQ將用到ADCCHSELSEQ1、ADCCHSELSEQ2、ADCCHSELSEQ3、ADCCHSEL
21、SEQ4AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采樣ADCINA0通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采樣ADCINA1通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采樣ADCINA2通道 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采樣ADCINA3通道 AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采樣ADCINA4通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采樣ADCINA5通道 AdcRegs.
22、CHSELSEQ2.bit.CONV06=0 x6; /采樣ADCINA6通道 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采樣ADCINA7通道 AdcRegs.CHSELSEQ3.bit.CONV08=0 x8; /采樣ADCINB0通道 AdcRegs.CHSELSEQ3.bit.CONV09=0 x9; /采樣ADCINB1通道 AdcRegs.CHSELSEQ3.bit.CONV10=0 xA; /采樣ADCINB2通道 AdcRegs.CHSELSEQ3.bit.CONV11=0 xB; /采樣ADCINB3通道 AdcRegs.CHSELSEQ4.bi
23、t.CONV12=0 xC; /采樣ADCINB4通道 AdcRegs.CHSELSEQ4.bit.CONV13=0 xD; /采樣ADCINB5通道 AdcRegs.CHSELSEQ4.bit.CONV14=0 xE; /采樣ADCINB6通道 AdcRegs.CHSELSEQ4.bit.CONV15=0 xF; /采樣ADCINB7通道級聯順序采樣模式下16路通道轉換結果 n假設需要對ADCINA0、ADCINA1、ADCINA2、ADCINB3、ADCINB4、ADCINB5、ADCINB7這7路通道進行采樣,ADC模塊工作于級聯模式,并采用順序采樣。 ADCCHSELSEQ1CONV0
24、00000(ADCINA0)ADCCHSELSEQ3CONV08CONV010001(ADCINA1)CONV09CONV020010(ADCINA2)CONV10CONV031011(ADCINB3)CONV11ADCCHSELSEQ2CONV041100(ADCINB4)ADCCHSELSEQ4CONV12CONV051101(ADCINB5)CONV13CONV061111(ADCINB7)CONV14CONV07CONV15 級聯順序采樣模式下級聯順序采樣模式下7路通道時路通道時ADCCHSELSEQn位情況位情況 級聯順序采樣模式下序列發生器7路通道選擇情況 AdcRegs.ADCT
25、RL1.bit.SEQ_CASC=1; /選擇級聯模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=0; /選擇順序采樣模式 AdcRegs.MAX_CONV.all=0 x0006;/序列發生器最大采樣通道數為7,一次采1個通道,總共可采7通道/SEQ將用到ADCCHSELSEQ1、ADCCHSELSEQ2AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采樣ADCINA0通道 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采樣ADCINA1通道 AdcRegs.CHSELSEQ1.bit.CONV02=0 x2; /采樣ADC
26、INA2通道 AdcRegs.CHSELSEQ1.bit.CONV03=0 xB; /采樣ADCINB3通道 AdcRegs.CHSELSEQ2.bit.CONV04=0 xC; /采樣ADCINB4通道 AdcRegs.CHSELSEQ2.bit.CONV05=0 xD; /采樣ADCINB5通道 AdcRegs.CHSELSEQ2.bit.CONV06=0 xF; /采樣ADCINB7通道級聯順序采樣模式下7路通道轉換結果 級聯模式下的并發采樣n假設需要對ADCINA0ADCINA7,ADCINB0ADCINB7這16路通道進行采樣,ADC模塊工作于級聯模式,并采用并發采樣。ADCCHSE
27、LSEQ1CONV000000(ADCINA0)ADCCHSELSEQ3CONV08CONV010001(ADCINA1)CONV09CONV020010(ADCINA2)CONV10CONV030011(ADCINA3)CONV11ADCCHSELSEQ2CONV040100(ADCINA4)ADCCHSELSEQ4CONV12CONV050101(ADCINA5)CONV13CONV060110(ADCINA6)CONV14CONV070111(ADCINA7)CONV15 級聯并發采樣模式下級聯并發采樣模式下16路通道時路通道時ADCCHSELSEQn位情況位情況 級聯并發采樣模式下序列
28、發生器16路通道選擇情況 AdcRegs.ADCTRL1.bit.SEQ_CASC=1; /選擇級聯模式 AdcRegs.ADCTRL3.bit.SMODE_SEL=1; /選擇并發采樣模式 AdcRegs.MAX_CONV.all=0 x0007;/序列發生器最大采樣通道數為8,一次采2個通道,總共可采16通道 /SEQ將用到ADCCHSELSEQ1、ADCCHSELSEQ2AdcRegs.CHSELSEQ1.bit.CONV00=0 x0; /采樣ADCINA0和ADCINB0 AdcRegs.CHSELSEQ1.bit.CONV01=0 x1; /采樣ADCINA1和ADCINB1 Ad
29、cRegs.CHSELSEQ1.bit.CONV02=0 x2; /采樣ADCINA2和ADCINB2 AdcRegs.CHSELSEQ1.bit.CONV03=0 x3; /采樣ADCINA3和ADCINB3 AdcRegs.CHSELSEQ2.bit.CONV04=0 x4; /采樣ADCINA4和ADCINB4 AdcRegs.CHSELSEQ2.bit.CONV05=0 x5; /采樣ADCINA5和ADCINB5 AdcRegs.CHSELSEQ2.bit.CONV06=0 x6; /采樣ADCINA6和ADCINB6 AdcRegs.CHSELSEQ2.bit.CONV07=0 x7; /采樣ADCINA7和ADCINB7級聯并發采樣模式下16路通道轉換結果 序列發生器工作流程ADC模塊的中斷n當序列發生器完成一個序列的轉換時,就會對該序列發生器的中斷標志位進行置位,如果該序列發生器的中斷已經使能,則ADC模塊便向PIE控制器提出中斷請求。 n當ADC模塊工作于雙序列發生器模式時,序列發生器SEQ1和SEQ2可以分開單獨設置中斷標志位和使能位,當ADC模塊工作于級聯模式時,設置序列
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025下半年機械行業設備更新科技賦能智能無人裝備崛起
- 歷史期末專題復習知識點整L2024~2025學年統編版七年級歷史下冊
- 金融科技企業估值與投資策略在2025年金融科技機器人技術應用報告
- 低碳城市建設的規劃與實踐:山東案例分析報告2025
- 2025年工業機器人在柔性制造系統中的應用與機器人視覺技術結合報告
- 民辦教育機構2025年合規運營與品牌建設創新路徑探索報告
- 2025年零售行業私域流量運營的顧客體驗提升計劃報告
- 新零售環境下便利店智能化庫存管理與物流優化報告
- 新能源微電網穩定性控制與優化運行在智能家居中的應用報告
- 海洋生態修復項目可行性分析與2025年政策支持報告
- 鋼筋保護層厚度不確定度評定報告
- 《保安員禮儀培訓》課件
- 實習生合同電子版
- 日本高爾夫產業市場前景及投資研究報告-培訓課件外文版2024.6
- 華佗古本五禽戲智慧樹知到期末考試答案章節答案2024年安徽中醫藥大學
- 齊魯文化智慧樹知到期末考試答案2024年
- 24春國家開放大學《家畜環境衛生與設施》形考作業2參考答案
- ETC委托書:ETC卡掛失和補辦申請
- 臺球館火災危險性分析報告
- 《互聯網銷售高級課件》
- JCT890-2017 蒸壓加氣混凝土墻體專用砂漿
評論
0/150
提交評論