基于串行接口方式單片機(jī)通用數(shù)據(jù)采集系統(tǒng)設(shè)計
使用GM8164可使本系統(tǒng)實(shí)現(xiàn)最多32個開關(guān)量的數(shù)據(jù)采集任務(wù),同時可提供40個開關(guān)量控制輸出功能。
2.3 高精度實(shí)時時鐘/日歷SD2001E
實(shí)時時鐘器件使用了具有I2C總線接口的實(shí)時時鐘器件SD2001E,該器件將實(shí)時時鐘所需的電池、晶振、電源管理等電路全部集成在了芯片內(nèi)部。在系統(tǒng)掉電的情況下也可保證時鐘的運(yùn)行。該芯片無需任何的外圍元件,就可構(gòu)成一個高精度的實(shí)時時鐘日歷,且可為系統(tǒng)提供32k byte擦寫次數(shù)達(dá)100億次的非易失性SRAM,該器件的主要性能指標(biāo)如下:
⑴年、月、日、星期、時、分、秒的BCD碼輸入/輸出;
⑵I2C總線接口(包括實(shí)時時鐘部分和SRAM部分);
⑶自動日歷到2099年(包括閏年自動換算功能);
⑷內(nèi)置高精度晶振,精度≤±5ppm,即一個月內(nèi),走時誤差不超過13秒(25℃);
鐘走時時間超過10年以上;
2.4 串行E2PROM AT24C512
由于SD2001E為系統(tǒng)提供了容量達(dá)32k字節(jié)的非易失性數(shù)據(jù)存儲器,已能夠滿足一般數(shù)據(jù)采集系統(tǒng)的需要,如采集系統(tǒng)的數(shù)據(jù)存儲量較大時,可在擴(kuò)展一片容量為64k字節(jié)的E2PROM AT24C512。由于該器件的擦寫壽命有限,故在使用時可將數(shù)據(jù)先寫入SD2001E片內(nèi)NVRAM,當(dāng)NVRAM寫滿后再將數(shù)據(jù)存入到 AT24C512中,這樣可使AT24C512的讀寫頻率大為降低,從而大大延長了該存儲器的使用壽命。
2.5 中文圖文液晶顯示模塊OCMJ4X8C
為便于將采集的數(shù)據(jù)實(shí)時顯示出來,并實(shí)現(xiàn)友好的全中文圖形人機(jī)界面,這里使用了串行接口具有中文字庫的圖形點(diǎn)陣液晶模塊OCMJ4XC8, OCM4X8C是具有串/并接口且內(nèi)部含有中文字庫的液晶顯示模塊。該模塊的控制/驅(qū)動器采用臺灣矽創(chuàng)電子公司的ST7920,因而使得該模塊具有較強(qiáng)的控制顯示功能。該模塊的液晶顯示點(diǎn)陣為128*64,可顯示4行,每行8個漢字,為了便于簡單和方便地顯示漢字,該模塊的內(nèi)部具有2Mbit的中文字型 CGROM,該字型ROM中含水量有8192個16*16點(diǎn)陣中文字型庫,同時為了便于英文字符和其它常用字符的顯示該模塊的內(nèi)部還具有16Kbit的 16*8點(diǎn)陣的ASCⅡ字符庫,為便于構(gòu)造用戶圖形,該模塊還提供了一個64*256點(diǎn)的GDRM繪圖區(qū)域,且為便于構(gòu)造用戶所需字型,模塊內(nèi)部提供了4 組16*16點(diǎn)陣的造字空間。利用上述功能,OCMJ4X8C實(shí)現(xiàn)漢字、ASCⅡ碼、點(diǎn)陣圖形、自選字型的同屏顯示。為便于和多種微處理器接口,模塊提供了8位并行、4 位并行、2線并行、3線并行接口方式。
2.6 微型漢字打印機(jī)
為便于將采集數(shù)據(jù)打印出來,這里使用了具有漢字庫的串行中文打印機(jī)MP-A(D)16-8該打印機(jī)的主特點(diǎn)如下:方便的漢字打印功能,除存儲字符集一、二外,還自帶16×16點(diǎn)陣與12×12點(diǎn)陣國標(biāo)一二級漢字庫,故不但能打印全部ASCⅡ字符和德文、法文、俄文、日語、數(shù)字符號、專用符號、自選字符、點(diǎn)陣曲線以及條碼等,更能同行混合打印16×16、12×12、8×16、16×8、8×8、6×12,點(diǎn)陣漢字或5×7、6×8、8×12、8×16點(diǎn)陣 ASCⅡ字符。由于自帶2k字節(jié)的數(shù)據(jù)緩存器及漢字字庫,使得打印漢字及圖符速度與英文字符一樣快捷;豐富的文字修飾功能;方便的接口方式。
2.7 數(shù)字量與頻率量的采集
數(shù)字量與頻率量的采集直接使用單片機(jī)自身硬件資源,對于數(shù)字傳感器輸出的數(shù)字信號可直接使用單片機(jī)的口線完成數(shù)字信息的采集任務(wù),這里將單片機(jī)的P1口作數(shù)字量采集接口。頻率量的采集如轉(zhuǎn)速、流量、風(fēng)向等可使用單片機(jī)的定時/計數(shù)器,這里將定時器0和定時器1作為頻率量采集用,當(dāng)不使用的頻率量采集功能時可做它用。
3 監(jiān)控軟件設(shè)計
本系統(tǒng)監(jiān)控軟件采用模塊化結(jié)構(gòu)設(shè)計并采用ASM匯編語言編制。監(jiān)控程序功能是對各串行接口器件進(jìn)行初始化,然后分別調(diào)用模擬量采集模塊,數(shù)字量采集模塊,開關(guān)量采集模塊和頻率量采集模塊,如外部有模擬量、開關(guān)量、數(shù)字量、頻率量信號輸入時,則調(diào)用相應(yīng)的算法程序?qū)?yīng)變量處理變換后送入SD2001E的 NVRAM中進(jìn)行數(shù)據(jù)保存。同時將對應(yīng)的數(shù)值送液晶顯示器顯示或根據(jù)需要打印輸出,如外部無任何信號輸入時則在液晶屏上顯示“歡迎使用”及系統(tǒng)時間、日期。下面給出監(jiān)控程序流程。如圖3所示。
評論