基于串行接口方式單片機通用數(shù)據采集系統(tǒng)設計
1 引言
在傳統(tǒng)微機化的數(shù)據采集系統(tǒng)中,均是以總線方式來擴展各功能部件,如A/D轉換器、程序存儲器、數(shù)據存儲器、日歷/時鐘器件、顯示器件及微型打印機等,由三總線方式構成的數(shù)據采集系統(tǒng),突出的問題是由于總線引出,易受干擾,造成系統(tǒng)的可靠性降低,同時也帶來了布線密度高,占用電路板空間大,外圍元件較多,時序復雜等問題。近年來隨著片內具有FLASH存儲器的非總線型單片機及具有串行接口的外圍器件的推出,使得設計出基于串行接口方式的數(shù)據采集系統(tǒng)成為可能。
2 硬件結構
基于串行接口方式的單片機通用數(shù)據采集系統(tǒng)硬件系統(tǒng)框圖如圖1所示。
圖1 串行接口方式單片機數(shù)據采集系統(tǒng)框圖
本系統(tǒng)根據實際采集數(shù)據的需要,分別設計了模擬量采集接口電路、開關量采集接口電路、數(shù)字量采集接口電路及頻率量采集接口電路,基本涵蓋了各種數(shù)據信息的采集。為了將采集的信息保存下來,擴展了一片容量為64K字節(jié)的E2PROM AT24C512,為實現(xiàn)數(shù)據的定時采集和按時間日期保存數(shù)據而擴展了一片實時時鐘日歷芯片SD2001E,為便于輸入各種數(shù)據而擴展了鍵盤接口管理器件 SK5278,為便于實時顯示采集的數(shù)據及人機交互而擴展了中文液晶圖文顯示器OCMJ4X8C,為便于將采集的數(shù)據打印輸出而擴展了MP-A16-8型漢字微型打印機,為便于將采集的數(shù)據傳送給上位計算機進行數(shù)據的處理分析而使用MAX232擴展了RS-232接口,下面對上述各串行接口器件予以介紹。
2.1 模擬數(shù)轉換器TLC2543
TLC2543是具有11個模擬量輸入通道,12位分辨率的A/D轉換器,因而本系統(tǒng)最多可實現(xiàn)11路模擬量的采集任務,為了保證測量結果的準確性,該器件具有3路內置自測試方式,可分別測試REF+高基準電壓值,REF-低基準電壓值和REF+/2值,該器件的模擬量輸入范圍為REF+-REF-,一般模擬量的變化范圍為0-5V,但為了能滿足一些傳感器輸出的非標準電壓值的數(shù)據采集任務,這里利用了TLC2543的基準電壓設定功能,設計了模擬量輸入范圍設定調整電路,采用電阻分壓的方式設定采集基準電壓值。其中R1和RP1用于設定滿度電壓值,調整RP1可使?jié)M度電壓值在1/2VDD-VDD之間變化,R2和RP2用于設定零值電壓,調整RP2可使零基準電壓在0-1/2 VDD之間變化,RP1和RP2應采用多圈精密電位器。TLC2543的基準電壓設定功能,使得本系統(tǒng)可滿足各種非0-5V標準輸出的傳感器數(shù)據采集任務,TLC2543與單片機的接口采用4線SPI串行接口,三個控制輸入端分別為“CS”(片選)輸入/輸出時鐘(CLK)及地址輸入端“DI”,片內的 14通道多路器可以選擇11個輸入端的任何一個或3個內部自測電壓中的一個且采樣保持是自動完成的,轉換結束后“EOC”輸出變高,轉換結果由三態(tài)輸出端 “DO”輸出,AT89C52單片機與TLC2543的硬件接口電路如圖2所示。
2.2 I/O擴展器GM8164
為了實現(xiàn)開關量采集及開關量輸出控制的功能,這里使用了一片具有大量I/O擴展功能的串行芯片GM8164,該器件的主要特點如下:
圖2 單片機與TLC2543的硬件接口電路
⑴擴展I/O口數(shù)量眾多,可提供32位數(shù)據輸入口和40位數(shù)據輸出口;
⑵同時提供8個開漏輸出口,方便電平轉換和驅動;
⑶可達1MHz的全速率同步串行接口,非常方便與通用MCU接口;
⑷可多個芯片級聯(lián),擴展I/O口的數(shù)量;
使用GM8164可使本系統(tǒng)實現(xiàn)最多32個開關量的數(shù)據采集任務,同時可提供40個開關量控制輸出功能。
2.3 高精度實時時鐘/日歷SD2001E
實時時鐘器件使用了具有I2C總線接口的實時時鐘器件SD2001E,該器件將實時時鐘所需的電池、晶振、電源管理等電路全部集成在了芯片內部。在系統(tǒng)掉電的情況下也可保證時鐘的運行。該芯片無需任何的外圍元件,就可構成一個高精度的實時時鐘日歷,且可為系統(tǒng)提供32k byte擦寫次數(shù)達100億次的非易失性SRAM,該器件的主要性能指標如下:
⑴年、月、日、星期、時、分、秒的BCD碼輸入/輸出;
⑵I2C總線接口(包括實時時鐘部分和SRAM部分);
⑶自動日歷到2099年(包括閏年自動換算功能);
⑷內置高精度晶振,精度≤±5ppm,即一個月內,走時誤差不超過13秒(25℃);
鐘走時時間超過10年以上;
2.4 串行E2PROM AT24C512
由于SD2001E為系統(tǒng)提供了容量達32k字節(jié)的非易失性數(shù)據存儲器,已能夠滿足一般數(shù)據采集系統(tǒng)的需要,如采集系統(tǒng)的數(shù)據存儲量較大時,可在擴展一片容量為64k字節(jié)的E2PROM AT24C512。由于該器件的擦寫壽命有限,故在使用時可將數(shù)據先寫入SD2001E片內NVRAM,當NVRAM寫滿后再將數(shù)據存入到 AT24C512中,這樣可使AT24C512的讀寫頻率大為降低,從而大大延長了該存儲器的使用壽命。
2.5 中文圖文液晶顯示模塊OCMJ4X8C
為便于將采集的數(shù)據實時顯示出來,并實現(xiàn)友好的全中文圖形人機界面,這里使用了串行接口具有中文字庫的圖形點陣液晶模塊OCMJ4XC8, OCM4X8C是具有串/并接口且內部含有中文字庫的液晶顯示模塊。該模塊的控制/驅動器采用臺灣矽創(chuàng)電子公司的ST7920,因而使得該模塊具有較強的控制顯示功能。該模塊的液晶顯示點陣為128*64,可顯示4行,每行8個漢字,為了便于簡單和方便地顯示漢字,該模塊的內部具有2Mbit的中文字型 CGROM,該字型ROM中含水量有8192個16*16點陣中文字型庫,同時為了便于英文字符和其它常用字符的顯示該模塊的內部還具有16Kbit的 16*8點陣的ASCⅡ字符庫,為便于構造用戶圖形,該模塊還提供了一個64*256點的GDRM繪圖區(qū)域,且為便于構造用戶所需字型,模塊內部提供了4 組16*16點陣的造字空間。利用上述功能,OCMJ4X8C實現(xiàn)漢字、ASCⅡ碼、點陣圖形、自選字型的同屏顯示。為便于和多種微處理器接口,模塊提供了8位并行、4 位并行、2線并行、3線并行接口方式。
2.6 微型漢字打印機
為便于將采集數(shù)據打印出來,這里使用了具有漢字庫的串行中文打印機MP-A(D)16-8該打印機的主特點如下:方便的漢字打印功能,除存儲字符集一、二外,還自帶16×16點陣與12×12點陣國標一二級漢字庫,故不但能打印全部ASCⅡ字符和德文、法文、俄文、日語、數(shù)字符號、專用符號、自選字符、點陣曲線以及條碼等,更能同行混合打印16×16、12×12、8×16、16×8、8×8、6×12,點陣漢字或5×7、6×8、8×12、8×16點陣 ASCⅡ字符。由于自帶2k字節(jié)的數(shù)據緩存器及漢字字庫,使得打印漢字及圖符速度與英文字符一樣快捷;豐富的文字修飾功能;方便的接口方式。
2.7 數(shù)字量與頻率量的采集
數(shù)字量與頻率量的采集直接使用單片機自身硬件資源,對于數(shù)字傳感器輸出的數(shù)字信號可直接使用單片機的口線完成數(shù)字信息的采集任務,這里將單片機的P1口作數(shù)字量采集接口。頻率量的采集如轉速、流量、風向等可使用單片機的定時/計數(shù)器,這里將定時器0和定時器1作為頻率量采集用,當不使用的頻率量采集功能時可做它用。
3 監(jiān)控軟件設計
本系統(tǒng)監(jiān)控軟件采用模塊化結構設計并采用ASM匯編語言編制。監(jiān)控程序功能是對各串行接口器件進行初始化,然后分別調用模擬量采集模塊,數(shù)字量采集模塊,開關量采集模塊和頻率量采集模塊,如外部有模擬量、開關量、數(shù)字量、頻率量信號輸入時,則調用相應的算法程序將對應變量處理變換后送入SD2001E的 NVRAM中進行數(shù)據保存。同時將對應的數(shù)值送液晶顯示器顯示或根據需要打印輸出,如外部無任何信號輸入時則在液晶屏上顯示“歡迎使用”及系統(tǒng)時間、日期。下面給出監(jiān)控程序流程。如圖3所示。
結束語
基于串行接口方式單片機數(shù)據采集系統(tǒng)的研制,摒棄了傳統(tǒng)單片機的總線擴展方式而采用串行擴展技術來擴展外圍功能電路。雖然AT89C52單片機并不直接支持各種串行總線接口,但是這里采用了單片機的通用I/O口線,來模擬I2C總線、SPI總線及二線串行總線,并通過軟件編程來實現(xiàn)與各外圍器件的通信功能,串行擴展技術簡化了系統(tǒng)接口設計的復雜程度,并提高了系統(tǒng)工作的可靠性。但值得注意的是,串行擴展技術簡單的硬件接口是以復雜的接口時序為代價的,因而在軟件編程時一定要嚴格遵守器件的操作時序。該系統(tǒng)可廣泛應用與以單片機為核心構成的智能儀器儀表系統(tǒng)、數(shù)據采集系統(tǒng)和計算機測控系統(tǒng)。同時也為智能儀器儀表系統(tǒng)搭建了一個較好的硬件平臺。
參考文獻
1. 孟臣.李敏.高性能鐵電存儲器FM24C256及其在單片機中的應用.電子技術,2003.1:38-41
2. 李敏.孟臣.串行中文圖形液晶顯示模塊在單片機系統(tǒng)中的應用.電子產品世界.2002.11.(B)
3. 李敏.孟臣.大容量串行E2PROM AT24C512及其應用.電子元器件應用.2003.5(1):29~31
4. 李敏.孟臣.帶大量I/O口擴展的串行芯片GM8164及其應用.國外電子元器件應用.2003. (1):35~38





