PCF8591的硬件接口
PCF8591是一個單電源低功耗的8位CMOS數(shù)據(jù)采集器件,具有4路模擬輸入,1路模擬輸出和一個串行I2C總線接口用來與MCU通信。3個地址引腳A0、A1、A2用于編程硬件地址,允許最多8個器件連接到I2C總線而不需要額外的片選電路。器件的地址、控制以及數(shù)據(jù)都是通過I2C總線來傳輸,我們先看一下PCF8591的原理圖,如圖1所示。
圖1 PCF8591原理圖
其中引腳1、2、3、4是4路模擬輸入,引腳5、6、7是I2C總線的硬件地址,8腳是數(shù)字GND,9腳和10腳是I2C總線的SDA和SCL。12腳是時鐘選擇引腳,如果接高電平表示用外部時鐘輸入,接低電平則用內部時鐘,我們這套電路用的是內部時鐘,因此12腳直接接GND,同時11腳懸空。13腳是模擬GND,在實際開發(fā)中,如果有比較復雜的模擬電路,那么模擬GND部分在布局布線上要特別處理,而且和數(shù)字GND的連接也有多種方式,這里大家先了解即可。在我們板子上沒有復雜的模擬部分電路,所以我們把模擬的GND和數(shù)字GND接到一起即可。14腳是基準源,15腳是DAC的模擬輸出,16腳是供電電源VCC。
PCF8591的ADC是逐次逼近型的,轉換速率算是中速,但是他的速度瓶頸在I2C通信上。由于I2C通信速度較慢,所以最終的PCF8591的轉換速度,直接取決于I2C的通信速率。由于I2C速度的限制,所以PCF8591的算是個低速的AD和DA集成,主要應用在一些轉換速度要求不高,希望成本較低的場合,比如電池供電設備,測量電池的供電電壓,電壓低于某一個值,報警提示更換電池等類似場合。
Vref基準電壓的提供,方法一是采用簡易的原則,直接接到VCC上去。但是由于VCC會受到整個線路的用電功耗情況影響,一來不是準確的5V,實測大多在4.8V左右,二來隨著整個系統(tǒng)負載情況的變化會產(chǎn)生波動,所以只能用在簡易的、對精度要求不高的場合。方法二是使用專門的基準電壓器件,比如TL431,它可以提供一個精度很高的2.5V的電壓基準,這是我們通常采用的方法。如圖2所示。
圖2 PCF8591電路圖
圖中J17是雙排插針,大家可以根據(jù)自己的需求選擇跳線帽短接還是使用杜邦線接其他外接電路,都是可以的。在這個地方,我們直接把J17的3腳和4腳用跳線帽短路起來,那么現(xiàn)在Vref的基準源就是2.5V了。分別把5和6、7和8、9和10、11和12用跳線帽短接起來的話,那么我們的AIN0實測的就是滑動變阻器的分壓值,AIN1和AIN2測的是GND的值,AIN3測的是+5V的值。這里需要注意的是,AIN3雖然測的是+5V的值,但是對于AD來說,只要輸入信號超過Vref基準源,它得到的始終都是最大值,即255,也就是說它實際上無法測量超過其Vref的電壓信號。需要注意的是,所有輸入信號的電壓值都不能超過VCC,即+5V,否則可能會損壞ADC芯片。
編輯:admin 最后修改時間:2018-05-08