一種基于MC145027的群模擬信號檢測系統(tǒng)ADetectionsystemBasedonMC145027forGroupAnalogueSignal
摘要:介紹一種基于MC145027的群模擬信號檢測系統(tǒng),該系統(tǒng)可通過單信號線將各探頭和主機連接起來,其探頭的路數(shù)最多可達242路;MC145027特殊的設(shè)碼方式可使數(shù)據(jù)在傳輸過程中具有極高的可靠性,這在強電磁干擾的工業(yè)現(xiàn)場具有較高的應(yīng)用價值。
本文引用地址:http://m.butianyuan.cn/article/255644.htm關(guān)鍵詞:多點檢測;單信號線;可靠性;MC145026;MC145027
在工業(yè)自動化控制系統(tǒng)中,往往需要對多點模擬量進行檢測,傳統(tǒng)的方法是在各檢測點設(shè)置傳感器 ,并以三線或二線連接到主機,通過多路模擬開關(guān)和模數(shù)轉(zhuǎn)換器件對各個模擬量進行模數(shù)轉(zhuǎn)換,取得相應(yīng)的數(shù)據(jù)以供主機處理。這種方法存在如下缺陷:
·模擬電壓在通過電纜傳到主機的過程中容易受到干擾;
·主機要通過模擬開關(guān)選擇傳感器,這使探頭的路數(shù)受到限制,主機的接口電路比較復(fù)雜;
·主機無法向各檢測點傳送控制指令;
·如果在檢測點增加一個傳感器,就必須增加一根電纜連至主機,因而增加了布線的復(fù)雜程度;
針對上述問題,筆者設(shè)計了一套基于MC145027的群模擬信號檢測系統(tǒng),使主機和各個探頭之間只通過三根線即可進行雙向的數(shù)據(jù)傳輸(如圖1所示)。由于MC145027特殊的譯碼方式能夠消除瞬間的強電磁干擾,因而數(shù)據(jù)在傳輸過程中具有很高的可靠性。
1. MC145027的解碼方式
MC145027通常用作解碼器,與之搭配使用的編碼器為MC145026。為了說明MC145027的解碼方式,這里首先介紹一下MC145026的編碼方式。
1.1MC145026的編碼
集成編碼器CM145026的引腳功能和外部電路如圖2所示。A1~A9是地址或數(shù)據(jù)輸入端,當(dāng)作地址使用時有三個狀態(tài) (高電平、開路、低電平),當(dāng)作數(shù)據(jù)使用時有兩種狀態(tài)(高電平、低電平);
1.2MC145027的解碼方式
MC145027是與MC145026配套使用的解碼器(MC145027/145028)的一種,具有4位數(shù)據(jù)輸出和5位地址編碼,根據(jù)其地址的不同組合可以產(chǎn)生種不同的地址編碼。根據(jù)其地址的不同組合可以產(chǎn)生
MC145027通過RC積分電路來完成寬窄脈沖的識別,圖5中,定時元件R1、C1決定對寬窄脈沖的識別。
在此時刻,數(shù)據(jù)提取電路檢測到的7腳電平為高電平,說明上一個脈沖為寬脈沖;此后窄脈沖通過 R1給C1充電,在窄脈沖結(jié)束時的t3時刻,7腳的電壓為0.74Vcc,在此后的一段時間里C1通過R1放電,在編碼結(jié)束的t4時刻,7腳的電壓為0.1Vcc。此時數(shù)據(jù)提取電路檢測到7腳的電平為低電平,說明上一個脈沖為窄脈沖。由此可見MC145027并不是對接收到的脈沖信號直接進行解碼,而是將輸入信號積分后進行解碼,由于積分電路能濾除瞬間的尖脈沖干擾,因此MC145027接收的編碼信號即使受到某種程序的干擾,MC145027依然能夠進行正確的解碼,這一點對于環(huán)境復(fù)雜的工業(yè)現(xiàn)場特別重要。
2. 系統(tǒng)硬件電路的設(shè)計
該檢測系統(tǒng)的硬件電路包括探頭電路和主機接口電路兩部分,主機和探頭之間傳輸?shù)母袷阶裱璏C145026的編碼格式。
2.1探頭電路
探頭電路的原理框圖如圖7所示。
主機發(fā)送至探頭的編碼信號線經(jīng)過信號傳至各個探頭,經(jīng)放大整形電路處理后送到 MC145027進行解碼,當(dāng)?shù)刂放袛嘁恢潞?,VT由低變高向單片機申請中斷,由單片機讀取解碼后的數(shù)據(jù), MC145027能夠解出4位數(shù)據(jù)碼,4位二進制的數(shù)據(jù)碼可以表示
2.2主機接口電路
以486或586微機作為主機,通過并行打印口與探頭交換數(shù)據(jù)的主機接口電路如圖8所示。MC145027 的A1~A5引腳的狀態(tài)決定主機的地址碼(00000),D6~D9分別和主機打印口的引腳13、12、10、11相連,上述4個引腳為打印機的狀態(tài)輸入口,口地址為 379H(279H),分別對應(yīng)于主機數(shù)據(jù)總線的D4~D7。主機通過打印口的14腳(口地址37AH/27AH,對應(yīng)于數(shù)據(jù)位D1)向各個探頭發(fā)送命令,探頭接到命令后向主機回傳所要求的數(shù)據(jù),并通過 MC145027解碼后由主機讀取。MC145027的VT引腳接至打印口的1腳(口地址37AH/27AH,對應(yīng)于數(shù)據(jù)位D0),主機通過定時檢測VT腳的狀態(tài)來判斷是否有應(yīng)答數(shù)據(jù)到來。
3. 軟件的設(shè)計
3.1數(shù)據(jù)格式的定義
根據(jù)MC145026的編碼格式,在一個發(fā)送周期里可以發(fā)送9位數(shù)據(jù)信息,我們定義A1~A5為探頭和主機的地址信息,由于總共可表示243個地址碼,而主機的地址碼定義為00000,因而其余242個地址碼可供探頭使用; 在主機發(fā)至探頭的編碼里,除了A1~A5表示探頭的地址之外,尚有A6~A9共4位可以表示控制命令,共可組成
3.2探頭地址碼的設(shè)置
MC145027的地址輸入腳(A1~A5)有三個狀態(tài)(高電平、平路、低電平)也就是說地址線是三進制數(shù)據(jù),而單片機的 I/O口是二進制狀態(tài)(二進制數(shù)據(jù)格式),在探頭電路中,為了使單片機發(fā)送的地址碼與 MC145027的地址碼相對應(yīng),單片機必須能自動檢測自身的地址。在圖7所示的電路中,P1.0~P1.6作為地址設(shè)定腳,它們所表示的地址信息應(yīng)與 MC145027的地址(A1~A5)相同,這涉及到二進制到三進制轉(zhuǎn)換的問題。由于表示243個地址需要8 位二進制數(shù)據(jù),而單片機只有7位地址設(shè)定腳,另外的一位(最高位)只能由程序設(shè)定。這樣探頭的地址就可以比較靈活地設(shè)置,因而具有一定的通用性。
3.3單片機的軟件設(shè)計
探頭電路中的單片機主要用來完成以下幾個功能:(1)完成探頭電路的自檢;(2)接收并執(zhí)行主機發(fā)來的控制命令;(3)根據(jù)主機的命令完成相應(yīng)的動作;(4)按照MC145026 的編碼格式向主機發(fā)送數(shù)據(jù)。
3.4主機軟件的設(shè)計
主機軟件是整個控制系統(tǒng)的核心,在這里我們只討論和探頭通信有關(guān)的內(nèi)容。在主控軟件中設(shè)置一個定時中斷程序,以定時檢測 MC145027的VT腳的狀態(tài),當(dāng)VT腳由低電平變?yōu)楦唠娖綍r,通過讀取379H/279H口的內(nèi)容來接收探頭發(fā)來的數(shù)據(jù)。當(dāng)主機向各探頭發(fā)送命令時,就可通過并行打印口的 14腳發(fā)送控制命令編碼。主機命令碼的發(fā)送格式也應(yīng)遵循MC145026的編碼格式。
4. 結(jié)束語
利用MC145027獨特的解碼方式能有效地克服工業(yè)現(xiàn)場的強電磁干擾,保證數(shù)據(jù)的可靠傳輸,利用單片機(或 486/586主機)模仿MC145026發(fā)送編碼數(shù)據(jù)可有效地利用系統(tǒng)資源,節(jié)藥成本,提高整個系統(tǒng)的可靠性。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論