eportfolio.lib.ksu.edu.tweportfolio.lib.ksu.edu.tw/~4990E032/repository/fetch/... · Web view簡介...

18
1. 簡簡 dsPIC30F4011 使使使使使使使使使使使使使使 使 使 使 使 ,,,體, 使使使使使使使 ,體一,。一 17 使 使 、一40 使 使使 40 使 使 40使 使使使使使 ,一, 15 使使使使使使使 16 使使dsPIC30F4011 使使 Microchip MPLAB IDE 使 使 C使使 C使使 MPLAB C30 使使 使使使使使使使 一。,、、,。使使 dsPIC 使 使 MPLAB C30 使 使使使使使 ,,、、、。 使 1-1 使使 2. 簡簡 dsPIC30F4011 使使 Microchip 使使使使使使使 16 使 使 I/O 使 、、 PWMADC使 使使 2.5V 使 5.5V 使 使 ,。 使 2-1 dsPic30F4011 使使使使使 使使使使使使 120MHz 使 30 MIPS6使 16 使使 PWM 使使使使 9 使10 使使使使使使 使使 。( 4 使使使使使使使使使使 SPI 使使使使使使 I2C 使使使使2 使 UART 使使16-bit

Transcript of eportfolio.lib.ksu.edu.tweportfolio.lib.ksu.edu.tw/~4990E032/repository/fetch/... · Web view簡介...

1. 簡介

dsPIC30F4011使用改進的哈佛式資料匯流排架構,可以允許不同位元大小的數據資料與程式指令,分別透過不同的匯流排傳輸到數學邏輯處理單元,獨立的程式與資料匯流排的記憶體空間,程式執行擷取數據資料的同時,預先從程式記憶體擷取下一個執行程式指令,提高微處理器的執行效率。具備一個高速運算17位元乘法器、一個40位元的數學邏輯處理器、兩個40位元的飽和累加器以及一個40位元的多位元移位器,多位元移位器可以在單一指令執行周期內,將數值向右移15位元或向左移位16位元。

dsPIC30F4011使用Microchip MPLAB IDE開發工具,撰寫語言為組合語言與C語言,選用C語言來撰寫程式,搭配MPLAB C30系列所提供的函式庫讓它成為一個更強大有效的編譯器。例如,建立浮點運算變數、三角函數、濾波器以及快速傅立葉轉換演算法,若以組合語言撰寫則會造成撰寫瑣碎而麻煩。利用C程式語言來撰寫dsPIC控制器的應用程式,透過MPLAB C30程式編譯器自動地安排與調整為使用者所撰寫應用程式變數做適當的規劃,可以節省使用者在撰寫過程當中,對於變數資料位置、函式的標籤與位置安排、資料建表、與各種指標或堆疊的存取處理等等所需要花費的時間與精神。

圖1-1 哈佛式架構中獨立的程式與資料的記憶體空間

2. 硬體介紹與接線

dsPIC30F4011是由Microchip公司所生產,是一顆16位元的微控制器,內含I/O、計時及計數器、PWM、ADC等功能,其工作電壓範圍在2.5V至5.5V之間,更具備工作性能穩定及價格便宜等優點。

表2-1 dsPic30F4011重要功能表

核心時脈最高120MHz,最快30 MIPS。

6個16位元 PWM輸出模組。

9個10位元類比轉數位模組。(具有4組取樣與保持功能)

快速SPI傳輸模組。

快速I2C傳輸模組。

2組UART模組。

圖2-1 dsPic30F4011接腳圖

圖2-2 dsPic30F4011電路

3. 輸入/輸出Input/Output (I/O)

dsPIC30F4011所有的腳位(除了VDD, VSS, MCLR, OSC1/CLKI之外),均作為一般的輸出(入)阜使用,而一般的輸出(入)阜可以供dsPIC30F4011控制其他設備,大部份的腳位含有其他的功能(例:ADC、PWM、UART、I2C…等)。一般來說,只要將周邊功能啟用後,所對應的腳位將不再為一般的輸出(入)使用。

圖3-1 I/O架構圖(不含其他周邊功能)

圖3-2 I/O暫存器位址圖

TRISB~TRISF:為控制輸出或輸入暫存器,設定0為輸出,設定1為輸入。

舉例來說TRISB設為0x000F時,表示RB8~RB4作輸出用;RB3~RB0作輸入用。

而其PORTB~PORTF腳位狀態設定,參照圖3-2各腳位對應表作使用。

4. 計時計數器 Timer

dsPIC30F4011提供了幾個計時(計數)器,而這些計時(計數)器均為16位元,以下用Timer 1作例子,對計時(計數)器的使用與暫存器設定作解說。

圖4-1 16位元Timer1架構圖

圖4-2 Timer 1暫存器位址圖

TMR1: 為Timer內部計數暫存器(不考慮週期暫存器)。

TMR內部計數值=10MHz*[選擇倍頻]/4[內部除頻]/ (TCKPS)

例:((10MHz*8[選擇8倍頻])/4[內部除頻])/8[TCKPS]=25MHz中斷一次為0.4u秒

PR1: 16位元週期暫存器。

中斷時間 =10MHz*[選擇倍頻]/4[內部除頻]/ (TCKPS)/PRx

例: ((10MHz*8[選擇8倍頻])/4[內部除頻])/8[TCKPS]/1250[PR1]=2KHz

* 1/2000=0.0005故中斷為0.5m秒。

表4-1 Timer暫存器說明

暫存器名稱

暫存器功能

狀態1

狀態0

TON

Timer控制開關

Timer打開

Timer關閉

TSIDL

空閒模式設定

空閒會停止操作

繼續操作

TGATE

閘控模式設定

啟動時間累加

關閉時間累加

TCKPS<1:0>

Timer分頻比例

11=256;10=64;01=8;00=1

TSYNC

16位元同步/非同步計數器

同步

不同步

TCS

選擇計數源

選擇外頻

選擇內頻

5. 正交編碼器介面Quadrature Encoder Interface (QEI)

dsPIC30F4011的QEI又為增量式編碼器或稱光電式編碼器,主要是用來檢測旋轉運動系統的位置和速度,正交編碼器可以對多種馬達控制應用實現閉迴路控制,例如開關磁阻馬達(Switched Reluctance, SR)、交流感應馬達(AC Induction Motor, ACIM),其QEI有以下幾種特性,如下表:

表5-1 QEI特性

1

三個輸入通道,QEA、QEB、索引脈衝。

2

16位元遞增/遞減位置計數器。

3

計數方向狀態。

4

位置測量(x2和x4)模式。

QEA和QEB這兩個通道具有特定關係,若QEA超前QEB,就視為正向旋轉;QEA落後於QEB,視為反向旋轉,第三個通道為索引脈衝,每轉一圈就產生一個脈衝,作為基準以確定絕對位置,可從圖5-1正交編碼器介面訊號做比較。

圖5-1 正交編碼器介面訊號

16 位元遞增/遞减位置計數器對正交解碼器邏輯產生的每個計數脈衝進行遞增或遞減計數,脈衝的訊號由QEA、QEB輸入的訊號決定,此時計數器只充當積分器,其計數值與位置成正比,計數的方向由UPDN做決定,而此訊號由正交編碼器介面邏輯產生。

圖5-2 QEI架構圖

圖5-3 QEI暫存器位址圖

表5-2 QEICON控制暫存器設定

暫存器名稱

暫存器功能

狀態1

狀態0

CNTERR

計數錯誤狀態旗標

發生錯誤

未發生錯誤

QEISIDL

空閒模式設定

空閒會停止操作

繼續操作

UPDN

位置計數器方向狀態

timer向上計數

timer向下計數

QEIM<2:0>

QEI 模式選擇

以下表5-3做為對照

SWPAB

輸入交換選擇

QEA與QEB交換

不交換

TQGATE

定时器時間累加致能

開啟時間累加

關閉時間累加

TQCKPS <1:0>

分頻比選擇

以下表5-4做為對照

POSRES

位置計數器重置致能

計數值重置

不重置繼續計數

TQCS

計數源選擇

選擇外頻

選擇內頻

UDSRC

位置計數器方向控制

QEB控制

UPDN控制

表5-3 QEI 模式選擇

111

X4模式與MAXCNT對照

110

X4模式與INDX對照

101

X2模式與MAXCNT對照

100

X2模式與INDX對照

001

開始16位元timer

000

關閉QEI

表5-4 分頻比選擇比率

11

256 prescale value

10

64 prescale value

01

8 prescale value

00

1 prescale value

表5-5 DFLTCON數字濾波器控制暫存器使用方法

暫存器名稱

暫存器功能

狀態1

狀態0

IMV<1:0>

索引匹配值

允許在索引脈衝(INDX)期間指定QEA 和QEB輸入引腳的狀態

CEID

錯誤中斷禁止選擇

禁止錯誤中斷

允許錯誤中斷

QEOUT

QEA/QEB/INDX腳的數字濾波器輸出致能

允許輸出

禁止輸出

QECK<2:0>

QEA/QEB/INDX 數字濾波器時鐘分頻

以下表5-6做為對照

表5-6 QEA/QEB/INDX 數字濾波器時鐘分頻對照表

111

分頻比為256。

110

分頻比為128。

101

分頻比為64。

100

分頻比為32。

011

分頻比為16。

010

分頻比為4。

001

分頻比為2。

000

分頻比為1。

POSCNT暫存器為16位元上/下數計數器。

MAXCNT暫存器為計數器的最大值。

QEI支持兩種位置測量模式,分別為x2和x4模式。當選擇x2模式時,QEI邏輯將只通過QEA輸入信號來確定位置計數器遞增速率。QEA信號的每個上緣和下緣都會導致位置計數器遞增或遞減。和在x4模式下一樣,QEB信號仍用於確定計數器方向。當選擇x4模式,此時QEI邏輯將通過QEA和QEB輸入信號的每個邊緣來確定位置計數器遞增速率。QEA和QEB輸入信號的每個邊緣都會導致位置計數器遞增或遞減。x4測量模式為了確定馬達位置提供了更多的位置計數。

當QEIM<2:0> = x1x時,選擇x4測量模式,QEI邏輯在QEA和QEB相输入信號的上升緣和下降緣都使位置計數器計數,x4測量模式可以為確定編碼器位置提供更高分辨率的數據,可參照圖5-4 QEI的X4模式。

圖5-4 QEI的X4模式

當QEIM<2:0> = 10x時,選擇x2測量模式,QEI邏輯根據QEA輸入的上升緣和下降緣來確定位置計數器遞增次數的速率,QEA訊號的每個上升緣和下降緣都能使位置計數器進行遞增或遞減計數,QEB訊號用於决定计数器的方向,與x4測量模式相同,可參照圖5-5 QEI的X2模式。

圖5-5 QEI的X2模式

6. 脈衝寬度調變 Pulse Width Modulation(PWM) 

dsPIC30F4011的PWM模組簡化了多個同步脈寬調變輸出的任務,並支援三向交流感應馬達(AC Induction Motor, ACIM)、開關磁阻馬達(Switched Reluctance, SR)、直流無刷馬達(Brushless DC, BLDC)、不間斷電源供應器(Uninterruptable Power Supply, UPS)四種控制應用,PWM模組還具有如下表6-1之特性:

表6-1 PWM特性表

1

每組PWM皆有兩個輸出腳位。

2

每個配對輸出腳均可設為獨立輸出或互補輸出。

3

4種輸出模式

1

邊緣對齊模式。(圖5-2)

2

中心對齊模式。(圖5-3)

3

雙更新的中心對齊模式。

4

單事件模式。(圖5-4)

4

占空比可設為立即更新或是與PWM同步。

5

有能和A/D轉換同步的特殊事件觸發器。

6

和PWM相關的輸出腳皆可單獨啟用。

圖6-1 PWM架構圖

當 PWM 的時脈工作在自由模式時,模組會產生邊緣對齊的 PWM 訊號。

PWM 的輸出訊號週期由 PTPER 來指定,其duty cycle由相應的 PDCx 暫存器指定,假設duty cycle不為0且未開啟立即更新(IUE = 0)時,所有開啟的 PWM 輸出在(PTMR = 0)時驅動為有效;而當PTMR的值與PWM的duty cycle發生匹配時,每個 PWM 的輸出驅動皆為無效,見圖6-2。

*PDCx暫存器的值為0時,整個PWM週期內相應的PWM腳輸出皆為無效。

*PDCx暫存器的值大於存在PTPER暫存器的值時,整個PWM週期內,PWM腳的輸出都為有效。

*如果開啟立即更新(IUE = 1)時,寫入有效的PDC時,將會載入新的duty cycle。

圖6-2 邊緣對齊的PWM

當PWM時脈配置為兩個向上/向下計數模式(PTMOD<1:0> = 1X)時,模組會產生中心對齊的PWM信號。

當duty cycle暫存器的值與PTMR的值相匹配的情況下,PWM時脈正在向下計數(PTDIR= 1)時,PWM輸出為有效狀態;當PWM時基正在向上計數(PTDIR= 0),PWM輸出為無效狀態,見圖6-3。

*若特定duty cycle暫存器中的值為零時,在PWM週期中,相應的輸出都無效。

*若duty cycle暫存器的值>PTPER暫存器的值時,在PWM週期內輸出都有效。

圖6-3 中心對齊的PWM

當PWM時脈配置為單事件模式(PTMOD<1:0> = 01)時,PWM模組將產生單脈衝輸出,而在單事件模式下,只能產生邊沿對齊的輸出。

在單事件模式中,當PTEN位置1時,PWM上的I/ O腳為有效狀態;當PTMR的值與duty cycle暫存器的值匹配時,PWM的I/ O腳為無效狀態;當與PTPER暫存器的值匹配時,PTMR暫存器清除為零,所有PWM的I/ O腳皆為無效狀態,PTEN清除為零並產生中斷。PWM模組將停止工作,直到PTEN重新為1才繼續動作。

圖6-4 單事件模式PWM的操作

圖6-5 PWM暫存器位址圖

表6-1 PTCON暫存器使用設定

暫存器名稱

暫存器功能

狀態1

狀態0

PTEN

PWM致能

開啟

關閉

PTSIDL

空閒模式設定

空閒會停止操作

繼續操作

PTOPS<3:0>

後分頻選擇位

以下表6-2做為對照

PTCKPS<1:0>

前分頻選擇位

以下表6-3做為對照

PTMOD<1:0>

時脈模式選擇

以下表6-4做為對照

*PWM 是根據 PTMOD<1:0>和 PTOPS<3:0>來產生中斷訊號,下表6-2、6-3、6-4為PWM前分頻比、後分頻比與模式的選擇對照表。

表6-2 後分頻比率選擇

PTOPS值

0000

0001

0010..….1110

1111

分頻的數值

1

2

3…...15

16

表6-3 前分頻比率選擇

PTCKPS值

00

01

10

11

分頻的數值

1

4

16

64

表6-4 PWM時脈模式選擇

PTMOD

00

01

10

11

選擇模式

自動運行模式

單事件模式

連續遞增/遞減計數模式

雙更新中斷的連續遞增遞減計數模式

PTMR:為PWM內部計數值, PTDIR為計數方向狀態位,

當PTDIR為0時PTMR向上計數;為1時PTMR向下計數。

PTPER:代表 PWM 的週期暫存器 。

SEVTCMP :為特殊事件比較,可從A/D模組選用。

SEVTDIR : (當PWM在上/下 計數模式指定特殊事件觸發的計數 Phase)

當SEVTDIR 為0時PWM time base向上計數時觸發特殊事件,SEVTDIR 為1時PWM time base向下計數時觸發特殊事件。

PWMCON1 register 為控制輸出狀態設定暫存器,暫存器設定如下:

PTMOD3~1為設置獨立輸出或互補輸出,以下表格為狀態結果。

狀態

PTMOD1

PTMOD2

PTMOD3

1

獨立輸出

0

互補輸出

PEN3H~PEN1L 為設置為PWM用或是一般I/O用途,以下表格為狀態結果。

狀態

PEN3H

PEN2H

PEN1H

PEN3L

PEN2L

PEN1L

1

為PWM的I/O

0

為一般I/O用途

使用PWMCON2暫存器設定如下:

SEVOPS<3:0>:特殊事件觸發器輸出後分頻,以下表格為分頻比率

SEVOPS

0000

0001

…..

1111

分頻的數值

1

2

…..

16

IUE: 占空比立即更新,使其可以立即更新有效的 PWM 占空比暫存器,而不必等到當前時基周期结束。

OSYNC: 當設定0時通過OVDCON寄存器的輸出改寫在下一個TCY邊界發生,當為1所有通過OVDCON暫存器執行的輸出被改寫與PWM time base同步(同步輸出改寫為下面兩種:

1.邊緣對齊模式,當PTMR=0

2.中心對齊模式,當PTMR=0、當PTMR匹配PTPER的值=0)

UDIS: 當設為1時佔空比和週期緩衝寄存器的更新將被禁用,設定0為從佔空比和週期緩衝寄存器的更新啟用。

使用DTCON1暫存器設定如下:

假設石英晶體用10MHz,並使用8倍的倍頻電路使工作頻率為 80MHz = 12.5ns (Fosc)

Tcy= (1 / Fosc) x 4 = 50ns

DTAPS<1:0>: 設定死區時間時鐘預分頻器,下表為死區分頻倍數。

狀態

00

01

10

11

倍數

TCY

2TCY

4TCY

8TCY

使用FLTACON暫存器設定如下:

FLTAM: 為選擇故障腳位的操作模式

OVDCON Register 為設定腳位輸出暫存器,暫存器設定如下:

POVD3H~POVD1L:設定該腳位輸出或無輸出,以下表格為狀態結果。

狀態

POVD3H

POVD2H

POVD1H

POVD3L

POVD2L

POVD1L

1

PWM輸出

0

PWM無輸出,但會對應到POUT

POUT3H~POUT1L:設定該腳位為High或Low,(POVD須為0時才會進入判斷)

當給1時輸出High;給0時輸出Low,其腳位請參閱dspic30F4011接腳圖。

PDC1~ PDC3: 為設定PWM的責任週期。

須配合PTPER大小,最大值為PTPER的兩倍,再大也僅只100%。

7. 類比數位轉換 Analog-to-digital (A/D)

dsPIC30F4011的A/D為10位元高速類比數位轉換器可將類比輸入信號轉換為10位元數位數值,此模組最大的取樣速率可達到500ksps,並具有16個類比輸入腳,擁有4個單極性差分S/H放大器,可同時對4個通道做取樣,而且當硬體處於休眠模式時,A/D仍然可以繼續工作。

在A/D設定裡共有ADCON1、ADCON2、ADCON3、ADCHS、ADPCFG、ADCSSL這6個16位元的暫存器,ADCON1、ADCON2和ADCON3的暫存器控制A/D模組的工作,ADCHS暫存器選擇要轉換的輸入通道,ADPCFG暫存器用於將腳位接腳配置為類比輸入或數位I/O,而ADCSSL暫存器用於選擇要掃描的輸入通道,使用類比輸入通道AN0~AN8時需注意經過的S/H放大器所對應的通道名稱(圖6-1可見),而A/D共分為CH0、CH1、CH2、CH3四個轉換通道,可由CHPS、SIMSAM來設定取樣的順序和取樣的時間。

圖7-1 AD架構圖

圖7-2 AD暫存器位址圖

使用ADCON1暫存器設定如下:

ADON:給0時關閉轉換致能,給1為開啟轉換致能。

ADON

設定A/D轉換致能

1

開啟轉換致能

0

關閉轉換致

ADSIDL:給0為繼續運作,給1為停止閒置模式。

ADSIDL

進入空閒模式下是否繼續運作

1

停止閒置模式

0

繼續運作

SIMSAM:給0為各自順序取樣,給1為同時取樣。

SIMSAM

選擇唯自順序通道取樣或是同時通道取樣

1

同時多通道取樣

0

照順序多通道取樣

ASAM:給1時為上次AD轉完後成後,立即自動取樣(SAMP位元會自動設為1)

給0時為採手動取樣模式,將SAMP位元設定為 1 時取樣。

ASAM

開始取樣判斷選擇

1

上次AD轉完後成後,立即自動取樣

0

採手動取樣模式,將SAMP位元設定為 1 時取樣。

SAMP:給1時為開始取樣,取樣結束SAMP為0,然後AD開始轉換(DONE=1 or ADIF=1代表轉換完成)。

SAMP

判斷是否還在取樣中

1

開始取樣

0

取樣完成

DONE:給1為代表轉換完成,一開始啟動時將會清除為0(不影響操作)。

DONE

轉換狀態為

1

代表轉換完成

0

還在進行轉換

圖7-3 輸出檔案格式

FORM<1:0>:為數據輸出格式位,以下表格為設定狀態。

FORM<1:0>

數據輸出格式位

11

有符號小數 (DOUT = sddd dddd dd00 0000)

10

小數 (DOUT = dddd dddd dd00 0000)

01

有符號整數 (DOUT = ssss sssd dddd dddd)

00

整數 (DOUT = 0000 00dd dddd dddd)

SSRC<2:0>:為啟動AD轉換的觸發信號來源選擇,以下表格為設定狀態。

SSRC<2:0>

啟動AD轉換的觸發信號來源選擇

111

自動轉換(需參考到 ADCON3 暫存器的設定)

011

馬達控制 PWM 間隔結束時,結束取樣ADC開始轉換

(需參考到SEVTCMP 暫存器的設定)馬達專用的dsPIC才有此功能

010

Timer 3 計時比較完成後,結束取樣ADC開始轉換

001

INT0 腳位電位轉態時,結束取樣ADC開始轉換

(需參考到INTCON2 位元的設定)

000

手動轉換, SAMP=1 時取樣,清除 SAMP 位元後轉換

使用ADCON2暫存器設定如下:

VCFG<2:0>:為參考電壓源的選擇,以下表格為設定狀態。

VCFG<2:0>

參考電壓源的選擇

000

AVDD , AVSS

001

外接 VREF+ , AVSS

010

AVDD ,外接 VREF-

011

外接 VREF+ ,外接 VREF-

1xx

AVDD , AVSS

CSCNA:給1為採用自動掃描方式MUX A輸入多設置位的CH0 + S / H輸入的掃描輸入選擇。

CSCNA

MUX A輸入的CH0 + S / H輸入或者自訂掃描輸入

1

自動掃描,會照順序掃描開啟的掃描腳位

0

自訂CH0要掃描哪個腳位

BUFS:ADCBUFx 採兩組模式時的狀態指示位元

SMPI<3:0>:設定 AD 要轉換幾次後才產生一次中斷

SMPI<3:0>

設定 AD 要轉換幾次後才產生一次中斷

狀態

0000

0001

0010~1110

1111

取樣幾次中斷

1

2

3 ~ 15

16

(這些轉換後的資料會被存到 ADCBUFx 的暫存器列裡)

CHPS<0:1>

SIMSAM

取樣/轉換順序

取樣時間

00

X

取樣CH0,轉換CH0

1

01

0

取樣CH0,轉換CH0

取樣CH1,轉換CH1

2

1X

0

取樣CH0,轉換CH0

取樣CH1,轉換CH1

取樣CH2,轉換CH2

取樣CH3,轉換CH3

4

01

1

同時取樣 CH0 CH1

轉換 CH0

轉換 CH1

1

1X

1

同時取樣 CH0 CH1 CH2 CH3

轉換 CH0

轉換 CH1

轉換 CH2

轉換 CH3

1

BUFM:ADCBUFx 暫存器列設定成單組或兩組模式

BUFM

ADCBUFx 暫存器列設定成單組或兩組模式

0

1

結果存入單一組16個緩衝器裡 -ADCBUF0,1,2…E,F

每次ADIF中斷產生後,指標歸零指向 ADCBUF0

考慮中斷發生之後,軟體是否可在資料被下一輪的轉換結果覆蓋前對這一輪的資料做處置 !

結果會分組自動存入兩組的8個緩衝器裡

BUFS 位元會指出目前 AD 轉換使用那組緩衝器

BUFS = 1, AD 目前填入第二組緩衝器 ADCBUF8 -F

當使用此模式時 , 每一輪的轉換最多可在儲存 8 個資料後中斷。

單組儲存方式 BUFM=0

ADCBUF0

ADCBUF1

ADCBUF2

ADCBUF3

ADCBUF4

‧‧‧

ADCBUFE

ADCBUFF

兩組儲存方式 BUFM=1

ADCBUF0

ADCBUF8

ADCBUF1

ADCBUF9

ADCBUF2

ADCBUFA

ADCBUF3

ADCBUFB

ADCBUF4

ADCBUFC

ADCBUF5

ADCBUFD

ADCBUF6

ADCBUFE

ADCBUF7

ADCBUFF

ALTS:給0時只有使用多工器A輸入,給1時:先選多工器A在換B(輪流的方式)

ALTS

多工器A交替多工器B輸入取樣模式選擇位

1

先選多工器A在換多工器B取樣輸入

0

只有使用多工器A取樣輸入

使用ADCON3暫存器設定如下:

SAMC<4:0>

設定自動轉換時的取樣時間 (0 TAD to 31 TAD)

ADRC

給1時,使用內建RC振盪時脈

給0 時,使用系統時脈。

ADCS<5:0>

AD 轉換時脈的時間 (TAD)

◎必需先設定為自動取樣與轉換模式

假設石英晶體用10MHz,使用8 倍倍頻電路工作頻率為 80MHz = 12.5ns (Fosc)

Tcy= (1 / Fosc) x 4 = 50ns

最小的 TAD 需大於 154ns,最小的轉換時間 =154ns * 12 = 1.85us

※因為是10-bit ADC所以12是固定的,如果換成12-bit ADC 就必須變為14Tad

ADCS<5,0> =2*(Tad/Tcy)-1 = 2*(154/50)-1 = 5.16 ADCS<5,0>=6;

Actual TAD = Tcy/2(ADCS<5:0> + 1)=175ns

SAMC=01111 ADCS = 0110

A/D = 取樣時間 + 轉換時間 = 15 Tad + 12 Tad = (15 + 12) x 175uS = 4.725us

使用ADCHS暫存器設定如下:

CH123SA:為儲存同相通道腳位,以下表格為設定選擇狀態。

CH123SA

狀態

1

CH1同相輸入為AN3

CH2同相輸入為AN4

CH3同相輸入為AN5

0

CH1同相輸入為AN0

CH2同相輸入為AN1

CH3同相輸入為AN2

CH0N(A or B):A組多工器負端輸入選擇,給1時AN1為輸入;給0時Vref-為輸入。

CH0S(A or B)<3:0>:使用MUX A或MUX B設定通道CH0同相輸入選擇。

CH0S(A or B)<3:0>

1111

‧‧‧‧

0000

輸入選擇

AN15為輸入端

‧‧‧‧

AN0為輸入端

ADPCFG<15:0>:給1為一般數位I/O;給0為類比輸入功能(AD轉換)。

ADPCFG<15:0>

選擇一般數位I/O或者類比輸入功能

1

一般數位I/O

0

類比輸入功能(AD轉換)

使用ADCSSL暫存器設定如下:

CSSL<15:0>:配合CH0S開啟輸入掃描,給1時啟動掃描該腳位;給0時不掃描。

CSSL<15:0>

輸入引腳掃描選擇位

1

啟動掃描該腳位

0

不掃描該腳位