TMS320F28335入門(五)ADC學習

2021-09-26 11:15:23 字數 1191 閱讀 6670

/*c28335片上有乙個12位的a/d轉換器、其前端為2個8選1多路切換器、2路同時取樣保持器

**三者共同構成的16路模擬通道輸入

**模擬量輸入範圍:0~3v

**模擬通道的切換由硬體控制,並將各個通道的轉換順序存入16個結果暫存器中

**其轉換率:在25mhz的adc時鐘下為80ns;

**具有自動排序功能

**轉換結果儲存在16個結果暫存器中;轉換結果 = 3 * (輸入模擬訊號-adclo)/4095;

**觸發方式:軟體啟動、pwm模組、外部中斷2引腳

**中斷方式:可以在每次轉換結束或者每隔一次轉換結束觸發中斷

**兩個取樣保持器a、b分別對應著dsp引腳上inta07、intb07

**這兩個取樣保持器通過seq1、seq2兩個狀態排序暫存器進行管理;

**當adc接收到觸發源的轉換請求(soc),就通過排序器來進行自動完成多路轉換;

**作用相當分配了所有通道的優先順序,決定哪個通道先轉換先儲存。

**工作模式可以分成兩種:級聯工作、雙排序工作模式;每種模式下還有順序取樣、同步取樣兩種取樣方式;

**同步取樣:兩個取樣保持器對應的輸入引腳同時取樣保持(但是必須有相同的偏移量,即adcinxn中n相同,x = a,b)

**兩種工作模式最大區別是:級聯工作有效通道數最大為16、而雙排序的有效通道數最大為8

**********/

//最大轉換通道暫存器adcmaxconv,這個暫存器決定由多少個取樣通道(該暫存器低四位有效)

//取樣通道數 = (adcmaxconv~4)+1

//adc輸入通道選擇排序控制暫存器adcchselseqn,n = 1 ~ 4;16位暫存器

//每4位決定乙個輸入通道,轉換順序是從adcchselseq1的低四位–>adcchselseq4的高四位

#define adc_shclk 0x01

#define adc_ckps 0x00

#define buf_size 6

volatile uint16 sampletable[buf_size];

volatile float adc0 = 0;

volatile float adc1 = 0;

volatile float adc2 = 0;

void main(void)

}

TMS320F28335的時鐘介紹

tms320f28335的時鐘介紹 tms320f28335上有乙個基於pll電路的片上時鐘模組,為cpu及外設提供時鐘有兩種方式 一種是用外部的時鐘源,將其連線到x1引腳上或者xclkin引腳上,x2接地 另一種是使用振盪器產生時鐘,用30mhz的晶體和兩個20pf的電容組成的電路分別連線到x1和...

TMS320F28335的時鐘介紹

tms320f28335的時鐘介紹 tms320f28335上有乙個基於pll電路的片上時鐘模組,為cpu及外設提供時鐘有兩種方式 一種是用外部的時鐘源,將其連線到x1引腳上或者xclkin引腳上,x2接地 另一種是使用振盪器產生時鐘,用30mhz的晶體和兩個20pf的電容組成的電路分別連線到x1和...

TMS320F28335的時鐘介紹

tms320f28335的時鐘介紹 tms320f28335上有乙個基於pll電路的片上時鐘模組,為cpu及外設提供時鐘有兩種方式 一種是用外部的時鐘源,將其連線到x1引腳上或者xclkin引腳上,x2接地 另一種是使用振盪器產生時鐘,用30mhz的晶體和兩個20pf的電容組成的電路分別連線到x1和...