基于MAX1069的單片機(jī)數(shù)據(jù)采集系統(tǒng)的設(shè)計
1概述
在MCS-51系列不具備I2C總線接口的單片機(jī)組成的智能儀器和工業(yè)測控系統(tǒng)中,當(dāng)數(shù)據(jù)傳輸速度要求不太高時通過模擬I2C總線可以增加應(yīng)用系統(tǒng)的接口器件的種類,提高應(yīng)用系統(tǒng)的性能。
I2C總線,即IC與IC之間溝通的總線,是一種雙向二進(jìn)制總線,即串行時鐘線SCL和串行數(shù)據(jù)線SDA兩條線路組成,提高了硬件的效率和簡化電路設(shè)計。I2C總線接口已經(jīng)集成在片上,不需要單獨(dú)設(shè)計總線接口和譯碼電路,電路的互連減少。MAX1069采用單電源供電,利用內(nèi)部4MHz時鐘對其單端模擬輸入進(jìn)行單極性轉(zhuǎn)換。具有自動關(guān)斷、內(nèi)部+4.096V基準(zhǔn)和兼容于I2C、提供快速及高速模式的2線串行接口。對于不帶I2C串行總線接口的MCS-51系列單片機(jī)來說,可以利用軟件模擬的方法實(shí)現(xiàn)帶有I2C串行總線接口的I/O芯片的連接。
2MAX1069功能原理
3. MAX1069與MCS-51單片機(jī)組成的數(shù)據(jù)采集系統(tǒng)的實(shí)現(xiàn)
3.1. 硬件接口
利用MCS-51單片機(jī)的I/O口線控制I2C串行總線的串行時鐘和數(shù)據(jù)傳送,操作過程由軟件控制數(shù)據(jù)傳送以及時序。與MAX1069的接口即數(shù)據(jù)采集系統(tǒng)原理圖,如圖5所示。由于I2C總線端口輸出為開漏 結(jié)構(gòu),故SDA和SCL上必須有上拉電阻RP,通常選擇500Ω或更大些。8051的P1.0、P1.1分別與MAX1069的SCL、SDA連接。MAX1069的I2C器件地址為0110111。模擬信號由MAX1069的AIN輸入,數(shù)據(jù)轉(zhuǎn)換及傳送均由軟件來完成。數(shù)據(jù)傳送遵循高位在前的原則,即MSB在前的方式傳送。
3.2. 軟件流程圖
如圖5所示,數(shù)據(jù)采集系統(tǒng)原理圖由P1.0、P1.1模擬I2C串行總線的SCL和SDA端,構(gòu)成模擬的I2C串行總線系統(tǒng)。總線功能的實(shí)現(xiàn)除簡單的硬件連接,大部分功能需要軟件模擬來完成。I2C總線的啟動信號S、應(yīng)答信號A、非應(yīng)答信號 和SCL時鐘傳送數(shù)據(jù)均應(yīng)用歸一的I2C程序(參考何利民:單片機(jī)高級教程—應(yīng)用與提高)即可。流程圖如圖6所示。
4.結(jié)束語
本文介紹了基于MAX1069的單片機(jī)數(shù)據(jù)采集系統(tǒng)的硬件接口及模擬I2C總線的軟件設(shè)計,同時說明了MCS-51系列單片機(jī)上I2C總線接口的實(shí)現(xiàn)數(shù)據(jù)傳輸?shù)姆椒ā1鞠到y(tǒng)可廣泛應(yīng)用于溫度控制設(shè)備、管道測漏系統(tǒng)以及系統(tǒng)監(jiān)控等。
參考文獻(xiàn):
[1] MAXIM Data Sheet of MAX1069
[2] 何利民. 單片機(jī)高級教程[M]. 北京:北京航空航天大學(xué)出版社,2000.8
[3] 陳志輝. I2C總線在MCS51系列單片機(jī)數(shù)據(jù)采集系統(tǒng)中的實(shí)現(xiàn)[J]. 微計算機(jī)信息,2005年第一期
評論