DIY - PIC24:PIC24FJ64GA008 A/D 類比數位轉換器基礎(五十):
Microchip PIC24FJ64GA008 芯片上具有 16 路類比數位轉換器(Analog-to-Digital Converter ADC)輸入,在數碼系統中,
A/D (ADC)模組常會用作訊號的檢測,在 PIC24FJ64GA008 的 A/D 模組能將一個類比輸入信號轉換成相應的 10 位元 (10-bit) 數位信號。雖然 10 位元數位信號的分辨率是一般,比起 12 或 14 位元數位信號有一段距離,但一般使用是可以接受。
|
Microchip
PIC24FJ64GA008 芯片上16 A/D 類比數位轉換器 |
Microchip PIC24FJ64GA008
10 位 A/D 轉換器具有以下主要特性:
•
逐次逼近(SAR)轉換
• 轉換速度最大達到 500 ksps
• 最多 16 個模擬輸入引腳• 外部參考電壓輸入引腳
• 自動通道掃描模式• 可選轉換觸發源
•
16 字轉換結果緩衝器• 可選緩衝器填充模式
• 四種結果對齊方式
• 可在 CPU 休眠和空閒模式下工作
根據特定器件的引腳配置, 10 位元 A/D 轉換器最多可以有 16
個模擬輸入引腳,即 AN0 到 AN15。此外,還有兩個可用於連接外部參考電壓的類比輸入引腳。這兩個參考電壓輸入可以和其他類比輸入引腳複用。實際的模擬輸入引腳數和外部參考電壓輸入配置取決於具體的器件。
|
PIC24FJ64GA008
AD1CON1:A/D 控制寄存器 1
|
PIC24FJ64GA008 AD1CON1:A/D 控制寄存器 1:
bit
|
Description
|
bit 15
|
ADON:A/D 工作模式位元
1 = A/D 轉換器模組正在工作
0 = A/D 轉換器已關閉
|
bit 14
|
未實現:讀為0
|
bit 13
|
ADSIDL:空閒模式停止位元
1 = 當器件進入空閒模式時,模組停止工作
0 = 在空閒模式下模組繼續工作
|
bit 12 ~ 10
|
未實現:讀為0
|
bit 9 ~ 8
|
FORM1:FORM0:資料輸出格式位元
11 = 有符號小數(sddd dddd
dd00 0000)
10 = 小數(sddd dddd dd00
0000)
01 = 有符號整數(ssss sssd
dddd dddd)
00 = 整數(0000 00dd dddd
dddd)
|
bit 7 ~ 5
|
SSRC2:SSRC0:轉換觸發源選擇位
111 = 內部計數器結束採樣並啟動轉換(自動轉換)
110 = 保留
10x = 保留
011 = 保留
010 = Timer3 比較器結束採樣並啟動轉換
001 = INT0 引腳的有效電平轉換邊沿結束採樣並啟動轉換
000 = SAMP 位清零結束採樣並啟動轉換
|
bit 4 ~ 3
|
未實現:讀為0
|
bit 2
|
ASAM: A/D 採樣自動啟動位
1 = 採樣在上一次轉換結束後立即開始。SAMP
位自動置1。
0 = 採樣在 SAMP 位置 1 後開始
|
bit 1
|
SAMP:A/D 採樣使能位
1 = A/D 採樣 / 保持放大器正在採樣輸入
0 = A/D 採樣 / 保持放大器正在保持
|
bit 0
|
DONE:A/D 轉換狀態位元
1 = A/D 轉換完成
0 = A/D 轉換未完成
|
|
PIC24FJ64GA008
AD1CON2:A/D 控制寄存器 2
|
PIC24FJ64GA008 AD1CON2:A/D 控制寄存器 2:
bit
|
Description
|
bit 15 ~ 13
|
VCFG2:VCFG0:參考電壓配置位元
000 = VR+ AVDD,VR- AVSS
001 = VR+ 外部 VREF+ 引腳,VR- AVSS
010 = VR+ AVDD,VR- 外部 VREF- 引腳
011 = VR+ 外部 VREF+ 引腳,VR- 外部 VREF- 引腳
1xx = VR+ AVDD,VR- AVSS
|
bit 12
|
保留
|
bit 11
|
未實現:讀為0
|
bit 10
|
CSCNA:由 MUX A 輸入多路開關控制的 CH0+ S/H 輸入的掃描輸入選擇位元
1 = 掃描輸入
0 = 不掃描輸入
|
bit 9 ~ 8
|
未實現:讀為 0
|
bit 7
|
BUFS:緩衝器填充狀態位元(僅當BUFM
= 1 時有效)
1 = A/D 當前正在填充緩衝器 08-0F,用戶應該訪問 00-07
中的資料
0 = A/D 當前正在填充緩衝器 00-07,用戶應該訪問 08-0F 中的資料
|
bit 6
|
未實現:讀為 0
|
bit 5 ~ 2
|
SMPI3:SMPI0:每次中斷的採樣/ 轉換過程數選擇位
1111 = 每完成 16 個採樣/ 轉換過程後產生中斷
1110 = 每完成 15 個採樣/ 轉換過程後產生中斷
.....
0001 = 每完成兩個採樣/ 轉換過程後產生中斷
0000 = 在完成每個採樣/ 轉換過程後產生中斷
|
bit 1
|
BUFM:緩衝器模式選擇位元
1 = 緩衝器被配置為兩個 8 字緩衝器(ADC1BUFx<15:8> 15:8>和ADC1BUFx<7:0>7:0>)
0 = 緩衝器被配置為一個 16 字緩衝器(ADC1BUFx<15:0>15:0>)
|
bit 0
|
ALTS:交替輸入採樣模式選擇位元
1 = 使用 MUX A輸入多路開關設置進行第一次採樣,然後交替使用 MUX B和 MUX A輸入多路開關設置進行
後續採樣
0 = 總是使用 MUX A 輸入多路開關設置
|
|
PIC24FJ64GA008
AD1CON3A/D 控制寄存器 3
|
PIC24FJ64GA008 AD1CON3:A/D 控制寄存器 3:
bit
|
Description
|
bit 15
|
ADRC:A/D 轉換時鐘源位元
1 = A/D 內部 RC 時鐘
0 = 時鐘由系統時鐘產生
|
bit 14 ~ 13
|
未實現:讀為 0
|
bit 12 ~ 8
|
SAMC4:SAMC0:自動採樣時間位
11111 = 31 TAD
••••••
00001 = 1 TAD
00000 = 0 TAD (不建議)
|
bit 7 ~ 0
|
ADCS7:ADCS0:A/D 轉換時鐘選擇位元
11111111 = 256 * TCY
••••••
00000001 = 2 * TCY
00000000 = TCY
|
|
PIC24FJ64GA008 AD1CHS:A/D 輸入選擇寄存器 |
PIC24FJ64GA008
AD1CHS:A/D
輸入選擇寄存器:
bit
|
Description
|
bit 15
|
CH0NB:MUX B 多路開關的通道 0 負輸入選擇位
1 = 通道 0 負輸入為 AN1
0 = 通道 0 負輸入為 VRbit
|
bit 14 ~ 12
|
未實現:讀為0
|
bit 11 ~ 8
|
CH0SB3:CH0SB0:MUX B 多路開關的通道 0 正輸入選擇位
1111 = 通道 0 正輸入為 AN15
1110 = 通道 0 正輸入為 AN14
••••••
0001 = 通道 0 正輸入為 AN1
0000 = 通道 0 正輸入為 AN0
|
bit 7
|
CH0NA:MUX A 多路開關的通道 0 負輸入選擇位
1 = 通道 0 負輸入為 AN1
0 = 通道 0 負輸入為 VRbit
|
bit 6 ~ 4
|
未實現:讀為 0
|
bit 3 ~ 0
|
CH0SA3:CH0SA0:MUX A 多路開關的通道 0 正輸入選擇位
1111 = 通道 0 正輸入為 AN15
1110 = 通道 0 正輸入為 AN14
•••••
0001 = 通道 0 正輸入為 AN1
0000 = 通道 0 正輸入是 AN0
|
|
PIC24FJ64GA008 AD1PCFG:A/D 埠配置寄存器
|
PIC24FJ64GA008
AD1PCFG:A/D
埠配置寄存器:
bit
|
Description
|
bit 15 ~ 0
|
PCFG15:PCFG0:類比輸入引腳配置控制位元
1 = 對應類比通道的引腳被配置為數位模式;使能 I/O 埠讀取
0 = 引腳被配置為類比模式;禁止 I/O 埠讀取, A/D 對引腳電壓進行採樣
|
|
PIC24FJ64GA008 AD1CSSL:A/D 輸入掃描選擇寄存器
|
PIC24FJ64GA008
AD1CSSL:A/D
輸入掃描選擇寄存器:
bit
|
Description
|
bit 15 ~ 0
|
CSSL15:CSSL0: A/D 輸入引腳掃描選擇位元
1 = 選擇對應的類比通道進行輸入掃描
0 = 不對類比通道進行輸入掃描
|
|
Microchip PIC24FJ64GA008 ADC 寄存器映射 |
2016年 9月 12日 天氣報告
氣溫:28.8度 @ 20:40
相對濕度:百分之 86%
天氣:天色大致良好