2016年9月12日 星期一

DIY - PIC24:PIC24FJ64GA008 A/D 類比數位轉換器基礎(五十)

DIY - PIC24PIC24FJ64GA008 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 AD1CON1A/D 控制寄存器 1
PIC24FJ64GA008 AD1CON1A/D 控制寄存器 1
bit
Description
bit 15
ADONA/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
SAMPA/D 採樣使能位
1 = A/D 採樣 / 保持放大器正在採樣輸入
0 = A/D 採樣 / 保持放大器正在保持
bit 0
DONEA/D 轉換狀態位元
1 = A/D 轉換完成
0 = A/D 轉換未完成

PIC24FJ64GA008 AD1CON2A/D 控制寄存器 2
PIC24FJ64GA008 AD1CON2A/D 控制寄存器 2
bit
Description
bit 15 ~ 13
VCFG2:VCFG0:參考電壓配置位元
000 = VR+ AVDDVR- AVSS
001 = VR+ 外部 VREF+ 引腳,VR- AVSS
010 = VR+ AVDDVR- 外部 VREF- 引腳
011 = VR+ 外部 VREF+ 引腳,VR- 外部 VREF- 引腳
1xx = VR+ AVDDVR- 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> ADC1BUFx<7:0>
0 = 緩衝器被配置為一個 16 字緩衝器(ADC1BUFx<15:0>
bit 0
ALTS:交替輸入採樣模式選擇位元
1 = 使用 MUX A輸入多路開關設置進行第一次採樣,然後交替使用 MUX BMUX A輸入多路開關設置進行
後續採樣
0 = 總是使用 MUX A 輸入多路開關設置

PIC24FJ64GA008 AD1CON3A/D 控制寄存器 3
PIC24FJ64GA008 AD1CON3A/D 控制寄存器 3
bit
Description
bit 15
ADRCA/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:ADCS0A/D 轉換時鐘選擇位元
11111111 = 256 * TCY
••••••
00000001 = 2 * TCY
00000000 = TCY

PIC24FJ64GA008 AD1CHSA/D 輸入選擇寄存器
PIC24FJ64GA008 AD1CHSA/D 輸入選擇寄存器
bit
Description
bit 15
CH0NBMUX B 多路開關的通道 0 負輸入選擇位
1 = 通道 0 負輸入為 AN1
0 = 通道 0 負輸入為 VRbit
bit 14 ~ 12
未實現:讀為0
bit 11 ~ 8
CH0SB3:CH0SB0MUX B 多路開關的通道 0 正輸入選擇位
1111 = 通道 0 正輸入為 AN15
1110 = 通道 0 正輸入為 AN14
••••••
0001 = 通道 0 正輸入為 AN1
0000 = 通道 0 正輸入為 AN0
bit 7
CH0NAMUX A 多路開關的通道 0 負輸入選擇位
1 = 通道 0 負輸入為 AN1
0 = 通道 0 負輸入為 VRbit
bit 6 ~ 4
未實現:讀為 0
bit 3 ~ 0
CH0SA3:CH0SA0MUX A 多路開關的通道 0 正輸入選擇位
1111 = 通道 0 正輸入為 AN15
1110 = 通道 0 正輸入為 AN14
•••••
0001 = 通道 0 正輸入為 AN1
0000 = 通道 0 正輸入是 AN0

PIC24FJ64GA008 AD1PCFGA/D 埠配置寄存器
PIC24FJ64GA008 AD1PCFGA/D 埠配置寄存器:
bit
Description
bit 15 ~ 0
PCFG15:PCFG0:類比輸入引腳配置控制位元
1 = 對應類比通道的引腳被配置為數位模式;使能 I/O 埠讀取
0 = 引腳被配置為類比模式;禁止 I/O 埠讀取, A/D 對引腳電壓進行採樣

PIC24FJ64GA008 AD1CSSLA/D 輸入掃描選擇寄存器
PIC24FJ64GA008 AD1CSSLA/D 輸入掃描選擇寄存器:
bit
Description
bit 15 ~ 0
CSSL15:CSSL0 A/D 輸入引腳掃描選擇位元
1 = 選擇對應的類比通道進行輸入掃描
0 = 不對類比通道進行輸入掃描

Microchip PIC24FJ64GA008 ADC 寄存器映射
2016年 9月 12日 天氣報告
氣溫:28.8@ 20:40
相對濕度:百分之 86%
天氣:天色大致良好

沒有留言:

張貼留言