朱千鋒
(九州職業(yè)技術(shù)學(xué)院,江蘇 徐州 221116)
從微電子學(xué)上來(lái)看,單片機(jī)是單片微型計(jì)算機(jī)的簡(jiǎn)稱。單片機(jī)是一種典型的使用嵌入式的微控制器 (英文名是Microcontroller Unit),普遍使用縮寫的英文字母MCU來(lái)表示單片微型計(jì)算機(jī),也就是單片機(jī)。單片機(jī)誕生之初最早是被使用在工業(yè)控制領(lǐng)域。單片機(jī)的發(fā)展起步于芯片內(nèi)僅有的CPU專用處理器。最早設(shè)計(jì)單片機(jī)的理念是想通過(guò)把大量的外圍設(shè)備以及中央處理器集成在同一個(gè)芯片當(dāng)中,讓計(jì)算機(jī)的體積更加微型,能夠更加容易的將單片機(jī)放入對(duì)體積和系統(tǒng)有著嚴(yán)格要求的控制設(shè)備中進(jìn)行組合運(yùn)用。英特爾公司生產(chǎn)的型號(hào)為Z80是目前最早按照以上這種思想進(jìn)行設(shè)計(jì)研發(fā)的單片機(jī)處理器。從那時(shí)起,專用處理器和單片機(jī)的發(fā)展便成為了兩條平行線。
有效的利用單片在實(shí)際操作和性能上的優(yōu)勢(shì),再同時(shí)機(jī)借助當(dāng)前具有廣闊覆蓋面的電話網(wǎng)絡(luò)系統(tǒng),高質(zhì)量的完成遠(yuǎn)程測(cè)控,其中還包括控制、檢測(cè)和管理。這項(xiàng)技術(shù)對(duì)國(guó)土實(shí)施的精密測(cè)繪以及建立我國(guó)西部廣大邊遠(yuǎn)地區(qū)遠(yuǎn)程控制系統(tǒng)有著重要的意義。單片機(jī)可以作為下位機(jī),能夠負(fù)責(zé)檢測(cè)控制點(diǎn)實(shí)時(shí)數(shù)據(jù)的采集和及時(shí)進(jìn)行數(shù)據(jù)的實(shí)時(shí)處理;使用電話網(wǎng)絡(luò)為傳送通道,將PC機(jī)作為上位機(jī),這樣可以對(duì)各檢測(cè)控制點(diǎn)下位機(jī)(單片機(jī))采集到的實(shí)時(shí)數(shù)據(jù)進(jìn)行信息匯總、信息分析、信息處理,并且向各個(gè)下位機(jī)發(fā)出控制命令,就能夠?qū)崿F(xiàn)對(duì)邊遠(yuǎn)地區(qū)的遠(yuǎn)程控制。
如圖1 所示,遠(yuǎn)程測(cè)控系統(tǒng)可以針對(duì)安裝現(xiàn)場(chǎng)的實(shí)際安裝溫度、水位、壓力、濕度及電位等采樣傳感器來(lái)進(jìn)行合理的控制,我們先以性價(jià)比較高的單片機(jī)8031為下位機(jī)。用來(lái)實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)的快速采集和大量存儲(chǔ),按照串行的通信標(biāo)準(zhǔn),經(jīng)過(guò)Modem來(lái)連接電話網(wǎng),下位機(jī)可以將采取的樣本數(shù)據(jù)快速的通過(guò)電話網(wǎng)傳遞到位于管理中心的上位PC機(jī)上,PC機(jī)將控制信號(hào)再返回采樣現(xiàn)場(chǎng)的測(cè)控端口。這樣便能實(shí)現(xiàn)整個(gè)遠(yuǎn)程測(cè)控系統(tǒng)集齊系統(tǒng)檢測(cè)、信息處理和回程控制于一體。
圖1 遠(yuǎn)程測(cè)控系統(tǒng)
以下位機(jī)8031為中心的現(xiàn)場(chǎng)測(cè)控單元。根據(jù)檢測(cè)點(diǎn)需求擴(kuò)展CMOSEPROM27128、RAM 6116為存儲(chǔ)設(shè)備,擴(kuò)展可編程輸入輸出芯片以8155為外界輸入/輸出接口。將模/數(shù)轉(zhuǎn)換器TLC1543進(jìn)行擴(kuò)展。進(jìn)一步完成對(duì)外界遠(yuǎn)程的溫度、電位、水位等信息的大量采集和穩(wěn)定控制的任務(wù)8031單片機(jī)所采用的系統(tǒng)是8位中央處理器,使用128BvteRAM的內(nèi)存儲(chǔ)器,擁有21個(gè)專用的寄存儲(chǔ)器,定時(shí)/計(jì)數(shù)器使用的是2個(gè)十六位計(jì)算量的計(jì)算器,有五個(gè)中斷電源和32條輸入輸出口線,可以對(duì)64 KByte外部的數(shù)據(jù)存儲(chǔ)器地址和64 KB的外部數(shù)據(jù)存儲(chǔ)器進(jìn)行尋找,具有強(qiáng)大的位尋址能力。型號(hào)8155的單片機(jī)是具有可編程輸入、輸出以及計(jì)數(shù)功能的(PIO)接口。此單片機(jī)具有256個(gè)單元內(nèi)存儲(chǔ)器和一個(gè)14位的定時(shí)/計(jì)數(shù)器,3個(gè)8位輸入輸出端口,其擁有的端口A以及端口B均為8位雙向輸入輸出接口。主要用于數(shù)據(jù)的輸入輸出的傳送,其具有的端口C具有6位雙向輸入輸出端口。數(shù)據(jù)除了使用的特定的輸入輸出端口(I/O)進(jìn)行傳送外,還能夠?qū)⑵渥鳛闉榭刂瓶?,用于穩(wěn)定快速的傳送控制信號(hào)以及狀態(tài)信號(hào)。在對(duì)端口A和B的輸入輸出口進(jìn)行控制時(shí),單片機(jī)8155的能力擴(kuò)展了單片機(jī)8031在數(shù)據(jù)接口能力上的不足。這樣便能實(shí)現(xiàn)單片機(jī)8031與遠(yuǎn)程測(cè)控現(xiàn)場(chǎng)意外的信息數(shù)據(jù)進(jìn)行的交換的能力。型號(hào)為TLCl543的單片機(jī),擁有10位的開(kāi)關(guān)電容,并能夠逐次以AD逼近模/數(shù)轉(zhuǎn)換器,單片機(jī)內(nèi)部有一個(gè)十四個(gè)通道的多路選擇器進(jìn)行路徑的選擇,這個(gè)選擇器能夠選擇十一路模擬輸入通道以及3路用于內(nèi)部自測(cè),電壓通道中的任意一路進(jìn)行實(shí)際的遠(yuǎn)程測(cè)試,單片機(jī)內(nèi)并設(shè)有采樣來(lái)保持電路,同樣具有高速的(10μs的轉(zhuǎn)換時(shí)間)、極高的分辨率(擁有10位分辨率,其最大的±1 LSB為不可調(diào)整誤差,單位LSB是數(shù)據(jù)轉(zhuǎn)換器的最小分辨率‘比特’)和噪聲低不影響外界工作、具有較高的性價(jià)比、更加容易的和單片機(jī)接口相對(duì)接的特點(diǎn)。如圖2 所示。
圖2 測(cè)控單元
遠(yuǎn)程訪問(wèn)服務(wù)用英文進(jìn)行表達(dá)就是 ‘Remote Access Server’。遠(yuǎn)程訪問(wèn)服務(wù)是Windows提供的操作系統(tǒng)中主要的服務(wù)系統(tǒng)之一,遠(yuǎn)程訪問(wèn)服務(wù)可以通過(guò)電話線將單獨(dú)的計(jì)算機(jī)連接進(jìn)入網(wǎng)絡(luò)。用戶在建立遠(yuǎn)程通信的連接時(shí),通常是采用的,‘貓’來(lái)進(jìn)行撥號(hào)的方法,就是我們所熟知的調(diào)制解調(diào)器英文名稱是‘Modem’。遠(yuǎn)程訪問(wèn)服務(wù)將遠(yuǎn)端的Modem設(shè)置為自動(dòng)應(yīng)答的方式,再經(jīng)由本地的Modem通過(guò)呼叫公用電話網(wǎng)來(lái)建立其信息的連接通信。由于Windows的操作系統(tǒng)被廣泛的群體和用戶大量使用,使得包含在Windows系統(tǒng)中的遠(yuǎn)程訪問(wèn)服務(wù)功能也被在各個(gè)領(lǐng)域和空間廣泛的應(yīng)用開(kāi)來(lái)。通過(guò)遠(yuǎn)程訪問(wèn)服務(wù)在許多具體的應(yīng)用程序中切實(shí)的實(shí)現(xiàn)了對(duì)遠(yuǎn)程資源進(jìn)行共享等服務(wù)功能。只要用戶撥通撥號(hào)網(wǎng)絡(luò)就可以直接連接遠(yuǎn)程訪問(wèn)服務(wù)了,想要結(jié)束遠(yuǎn)程服務(wù)連接只需要執(zhí)行掛斷指令就可以了。在遠(yuǎn)程服務(wù)的操作系統(tǒng)中,使用的撥號(hào)網(wǎng)絡(luò)完全可以使用直接撥通和掛斷來(lái)進(jìn)行可靠、穩(wěn)定的兩方操作,但是撥通撥號(hào)網(wǎng)絡(luò)之后的具體操作工作,仍然需要相對(duì)應(yīng)的各種程序控制來(lái)實(shí)現(xiàn)數(shù)據(jù)的遠(yuǎn)程傳輸和測(cè)控。
這項(xiàng)系統(tǒng)不但引入了MFC中的ras.h作為其靜態(tài)鏈接,還引入了MFC中的控件 (英文名稱為‘Microsolf Comunications Control’),直接翻譯的意思是‘微型電子的信息控制器’,便是串口通信控件。因?yàn)槭褂弥兴械亩夹枰黄鹗褂么?,但是同時(shí)使用又必將引發(fā)設(shè)備之間的信號(hào)沖突,因此設(shè)備沒(méi)有將程序調(diào)節(jié)為RAS的函數(shù)撥號(hào),僅僅是將RAS的撥號(hào)網(wǎng)絡(luò)進(jìn)行了調(diào)用,并且由MSComm來(lái)對(duì)引入的串口控制器進(jìn)行技術(shù)處理。
此類系統(tǒng)中有25個(gè)函數(shù)成員,主要能夠完成以下的操作功能:①對(duì)調(diào)制解調(diào)器的啟動(dòng)進(jìn)行初始化;②對(duì)調(diào)制解調(diào)器的正常運(yùn)行及串口使用的正?;M(jìn)行檢驗(yàn);③在系統(tǒng)使用當(dāng)中對(duì)調(diào)制解調(diào)器是否處于連接狀態(tài)進(jìn)行檢查;④對(duì)串口通信控件的應(yīng)用參數(shù)進(jìn)行設(shè)置;⑤正確的將事件線程予以啟動(dòng);⑥向正在工作的調(diào)制解調(diào)器發(fā)送執(zhí)行命令;⑦將接收到的命令字符串在文件中進(jìn)行保存;⑧使用‘冒泡排序法’按時(shí)間順序?qū)邮盏綌?shù)據(jù)組進(jìn)行排序;⑨對(duì)電話接入口是否處在正常聯(lián)通狀態(tài)下進(jìn)行測(cè)試;⑩串口通信控件對(duì)其收到的信息進(jìn)行接收;輥輯訛用戶執(zhí)行掛斷命令后對(duì)電話接口及串口執(zhí)行掛斷命令;輥輰訛對(duì)單片機(jī)(即下位機(jī))發(fā)送來(lái)的數(shù)據(jù)組進(jìn)行接收;輥輱訛在通信過(guò)程中對(duì)通信控件的事件進(jìn)行判別和執(zhí)行;輥輲訛操作時(shí)對(duì)用戶所使用的對(duì)話框進(jìn)行管理。
單片機(jī)的遠(yuǎn)程的測(cè)控系統(tǒng)采用上、下位機(jī)的遠(yuǎn)程通信結(jié)構(gòu)進(jìn)行建立。單片機(jī)的遠(yuǎn)程測(cè)控系統(tǒng)上位機(jī)系統(tǒng)程序執(zhí)行運(yùn)行后,信息的管理人員可以通過(guò)對(duì)單片機(jī)的操作程序來(lái)選擇串口與檢測(cè)點(diǎn)的電話號(hào)碼等這些初始化的技術(shù)操作。主要的控制程序是從數(shù)據(jù)庫(kù)中正確的取出檢測(cè)點(diǎn)電話,再通過(guò)對(duì)主機(jī)有實(shí)際控制連接的調(diào)制解調(diào)器來(lái)依次對(duì)遠(yuǎn)端的各個(gè)檢測(cè)站點(diǎn)進(jìn)行呼叫。在對(duì)各個(gè)檢測(cè)點(diǎn)的呼叫成功后,就能夠?qū)崟r(shí)的對(duì)各個(gè)監(jiān)測(cè)點(diǎn)進(jìn)行遠(yuǎn)程的監(jiān)控操作。系統(tǒng)將存儲(chǔ)與下位機(jī)的各項(xiàng)采集數(shù)據(jù)不斷的發(fā)送到上位機(jī)上或者不斷的接收通過(guò)上位機(jī)發(fā)送過(guò)來(lái)的數(shù)據(jù)指令。如果有哪個(gè)監(jiān)測(cè)站點(diǎn)的鏈接失敗,系統(tǒng)則會(huì)直接設(shè)置出第二次呼叫的時(shí)間以及次數(shù),用以保障在最短的時(shí)間內(nèi)建立信息通道。這樣的程序也能由系統(tǒng)管理員通過(guò)對(duì)單片機(jī)以及各個(gè)軟件體統(tǒng)的操作控制提前設(shè)置出正確的應(yīng)用程序。
單片機(jī)在與公共電話網(wǎng)相連接后,有效的借助PC及的管理控制系統(tǒng),能夠發(fā)揮出計(jì)算機(jī)所無(wú)法達(dá)到的遠(yuǎn)距離檢測(cè)控制功能。這樣的技術(shù)系統(tǒng)不但解決了那些邊遠(yuǎn)地區(qū)難以實(shí)施檢測(cè)覆蓋的嚴(yán)重問(wèn)題,并且填補(bǔ)了國(guó)內(nèi)自動(dòng)化測(cè)控領(lǐng)域的空白。