MCP3421高精度ADC轉換器

MCP3421高精度ADC轉換器應用

莫利獎--轉載請聯繫-2585451425

一個項目的需求,使用的單片機型號爲stm32f030f4,雖然單片機自帶了12位ADC轉換器,分辨率可以達到805.66uV(此型號沒有內部參考電壓,所以使用工作電壓作爲參考電壓,所以精度值計算:3.3V除以2的12次方)。但這個項目需要檢測很小的電流,最起碼要能檢測到1mA電流,最大電流可以達到3A,所以檢測電阻不能太大。大就會超出量程,也會產生大的功耗。這個電阻選擇了2512封裝0.012歐,1mA電流產生的電壓爲12uV,這個電壓單片機無法檢測到,所以必須重新找個分辨率高的ADC轉換器。

美國Microchip微芯有一顆SOT-23-6封裝的高精度ADC轉換芯片,下面我們看看它的概述:MCP3421 爲單通道低噪聲、高精度、差分輸入A/D轉換器,分辨率高達18 位,提供微型SOT-23-6 封裝。片上精密2.048V 參考電壓使得差分輸入電壓範圍爲±2.048V (電壓 = 4.096V)。該器件使用2 線I2C兼容串行接口,並採用2.7V 至5.5V 單電源供電。用戶通過2 線I2C 串行接口對控制配置位進行設定,從而MCP3421 器件可按3.75、15、60 或240 採樣/ 秒(SPS)速率進行轉換。該器件具有片內可編程增益放大器(PGA),用戶可在轉換開始之前選擇PGA 增益爲x1、x2、x4 或x8。因此MCP3421 在轉換很小的輸入信號時仍可保持高分辨率。該器件提供兩種轉換模式:a) 連續轉換模式; b) 單次轉換模式。在單次轉換模式下,器件在完成一次轉換後自動進入低電流待機模式,這樣可顯著降低空閒期間的電流消耗。

MCP3421 器件特別適合需要設計簡單、低功耗和節省空間的各種高精度模/ 數轉換應用。


引腳定義

1 VIN+ 正差分模擬輸入引腳

2 VSS 接地引腳

3 SCL IIC 接口的串行時鐘輸入引腳

4 SDA IIC 接口雙向串行數據引腳

5 VDD 正電源引腳

6 VIN- 負差分模擬輸入引腳


SCL 和SDA 上拉電阻的典型值範圍在標準模式(100 kHz)和快速模式(400 kHz)下爲5 k 至10 k ;在高速模式(3.4 MHz)下小於1 k。在VDD 小於2.7V時,不建議使用高速模式。

芯片特點

1、體積小:SOT-23-6

2、轉換分辨率可以選擇:12、14、16 或18 位

3、PGA增益選項:x1、x2、x4 或x8

4、連續轉換或單次轉換

5、通訊方式使用二線制IIC總線

6、具有內部穩定參考電壓2.048V

分辨率設置表:


從表中可以看出,最大分辨率爲15.625uV,這樣一來還是識別不到最小測試的12uV。別急,剛好這個芯片具有4檔PGA增益,也就是說可以把輸入信號進行放大,然後再進行轉換,那麼這裏我們PGA增益選項選擇x2就可以了,輸入12uV電壓,經過x2增益後就相當於輸入了24uV,這樣就可以檢測到這個電壓了。

在這個芯片中有個8位配置字節,用於選擇輸入通道、轉換模式、轉換速率和PGA 增益。該寄存器允許用戶改變器件的工作條件和檢查器件的工作狀態。


bit 7 RDY:就緒標誌位

此位爲數據就緒標誌。在讀模式,此位表示輸出寄存器是否被最新的轉換數據更新。在單次轉換模式下,向此位 寫入1 將啓動一次新的轉換。
使用讀命令讀取RDY 位:
1 = 輸出寄存器未更新
0 = 輸出寄存器被最新轉換結果更新
使用寫命令寫RDY 位:
連續轉換模式:無影響
單次轉換模式:
1 = 開始一次新的轉換
0 = 無影響
bit 6-5 C1-C0:MCP3421 器件未使用這些位。
bit 4 O/C:轉換模式位
1 = 連續轉換模式(默認)。器件進行連續數據轉換。
0 = 單次轉換模式。器件進行單次轉換並進入低功耗待機模式,直至收到新的讀或寫命令。
bit 3-2 S1-S0:採樣率選擇位
00 = 240 sps (12 位)(默認)
01 = 60 sps (14 位)
10 = 15 sps (16 位)
11 = 3.75 sps (18 位)
bit 1-0 G1-G0:PGA 增益選擇位
00 = x1 (默認)
01 = x2
10 = x4
11 = x8


典型應用

          

簡單的使用就是單端輸入,輸出代碼計算電壓公式:

公式中LSB爲分辨率,PGA爲增益倍數。

硬件介紹就這麼多,剩下的就是編程問題。由於這個芯片的通訊方式使用了二線制IIC總線,所以第一個要解決的就是編寫出IIC總線驅動代碼,這個可以選擇硬件IIC也可以選擇用IO口模擬,時鐘速度在400KHz以下。學過編程的童鞋都應該寫過EEPROM驅動,如果寫過那個學過IIC總線。

由於MCP3421爲6腳芯片,沒有多餘的IO口來做地址位選擇,一般出廠時默認000,如果要使用多個MCP3421芯片,需要購買不同地址位,在一條總線上可以掛8顆MCP3421。

寫 MCP3421 的時序圖

程序代碼如下


18 模式下讀MCP3421 的時序圖

18位模式下,一共接收4個字節,最後一位是配置字節,這個字節可以不讀取,代碼如下


使用的是單次轉換方式。到此已經完成MCP3421的應用,如果不清楚請參考MCP3421數據手冊。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章