新聞中心

EEPW首頁 > 測試測量 > 設(shè)計應(yīng)用 > 一種基于MC145027的群模擬信號檢測系統(tǒng)ADetectionsystemBasedonMC145027forGroupAnalogueSignal

一種基于MC145027的群模擬信號檢測系統(tǒng)ADetectionsystemBasedonMC145027forGroupAnalogueSignal

作者: 時間:2006-05-07 來源:網(wǎng)絡(luò) 收藏

摘要:介紹一種基于MC145027的群模擬信號檢測系統(tǒng),該系統(tǒng)可通過單信號線將各探頭和主機連接起來,其探頭的路數(shù)最多可達(dá)242路;MC145027特殊的設(shè)碼方式可使數(shù)據(jù)在傳輸過程中具有極高的可靠性,這在強電磁干擾的工業(yè)現(xiàn)場具有較高的應(yīng)用價值。

本文引用地址:http://butianyuan.cn/article/255644.htm

關(guān)鍵詞:多點檢測;單信號線;可靠性;MC145026;MC145027

在工業(yè)自動化控制系統(tǒng)中,往往需要對多點模擬量進(jìn)行檢測,傳統(tǒng)的方法是在各檢測點設(shè)置傳感器 ,并以三線或二線連接到主機,通過多路模擬開關(guān)和模數(shù)轉(zhuǎn)換器件對各個模擬量進(jìn)行模數(shù)轉(zhuǎn)換,取得相應(yīng)的數(shù)據(jù)以供主機處理。這種方法存在如下缺陷:

·模擬電壓在通過電纜傳到主機的過程中容易受到干擾;

·主機要通過模擬開關(guān)選擇傳感器,這使探頭的路數(shù)受到限制,主機的接口電路比較復(fù)雜;

·主機無法向各檢測點傳送控制指令;

·如果在檢測點增加一個傳感器,就必須增加一根電纜連至主機,因而增加了布線的復(fù)雜程度;

針對上述問題,筆者設(shè)計了一套基于MC145027的群模擬信號檢測系統(tǒng),使主機和各個探頭之間只通過三根線即可進(jìn)行雙向的數(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)(高電平、低電平);的數(shù)值決定MC145026內(nèi)部時鐘振蕩器的工作頻率;TE是內(nèi)部時鐘振蕩器的工作控制端,當(dāng)TE為低電平時,振蕩器工作;的輸出編碼信號如圖3所示,兩個連續(xù)的寬脈沖(占空比7:1)表示“1”,兩個連續(xù)的窄脈沖(占空比1:7)表示“0”,一寬一窄兩個脈沖表示“開路”。發(fā)送時,先發(fā)送17.5個時鐘周期的低電平, 接著依次發(fā)送A1~A2的狀態(tài)編碼,如果A1~A9的狀態(tài)編碼發(fā)送完畢后TE依然是低電平,經(jīng)過24個時鐘周期后再依次發(fā)送 A1~A9的狀態(tài)編碼。其編碼的發(fā)送工作不管TE在何時由低電平變?yōu)楦?img onload="if(this.width>620)this.width=620;" onclick="window.open(this.src)" style="cursor:pointer" src="iie/200007/28/t3.gif" width="430" height="107" align="right"hspace="8" vspace="8">電平,均必須等到當(dāng)前發(fā)送周期結(jié)束以后才能停止[1]。

1.2MC145027的解碼方式

MC145027是與MC145026配套使用的解碼器(MC145027/145028)的一種,具有4位數(shù)據(jù)輸出和5位地址編碼,根據(jù)其地址的不同組合可以產(chǎn)生種不同的地址編碼。根據(jù)其地址的不同組合可以產(chǎn)生種不同的地址編碼。MC145027的引腳功能和外部電路如圖4所示,其功能框圖如圖5所示。

MC145027通過RC積分電路來完成寬窄脈沖的識別,圖5中,定時元件R1、C1決定對寬窄脈沖的識別。。 R2、C2是整個發(fā)送周期的辨別定時元件,用以確定各個有效單字,。當(dāng)編碼信號從數(shù)據(jù)輸入端(9腳)輸入時,6 腳將出現(xiàn)與9腳相同的信號,該信號經(jīng)R1、C1積分電路積分后由7腳送至數(shù)據(jù)提取電路,數(shù)據(jù)提取電路在輸入信號的每一個上升沿通過檢測 7腳的狀態(tài)來判斷輸入的是寬脈沖還是窄脈沖。圖6給出了6腳和7腳信號的波形,假定數(shù)據(jù)輸入端輸入的是“開路”編碼(即一個寬脈沖和一個窄脈沖),寬脈沖開始于t0時刻,結(jié)束于t1時刻,窄脈沖開始于t2時刻,結(jié)束于t3時刻,整個編碼于t4時刻結(jié)束。那么,在t1時刻,7腳的電壓為:

一種基于MC145027的群模擬信號檢測系統(tǒng)ADetectionsystemBasedonMC145027forGroupAnalogueSignal 在此時刻,數(shù)據(jù)提取電路檢測到的7腳電平為高電平,說明上一個脈沖為寬脈沖;此后窄脈沖通過 R1給C1充電,在窄脈沖結(jié)束時的t3時刻,7腳的電壓為0.74Vcc,在此后的一段時間里C1通過R1放電,在編碼結(jié)束的t4時刻,7腳的電壓為0.1Vcc。此時數(shù)據(jù)提取電路檢測到7腳的電平為低電平,說明上一個脈沖為窄脈沖。由此可見MC145027并不是對接收到的脈沖信號直接進(jìn)行解碼,而是將輸入信號積分后進(jìn)行解碼,由于積分電路能濾除瞬間的尖脈沖干擾,因此MC145027接收的編碼信號即使受到某種程序的干擾,MC145027依然能夠進(jìn)行正確的解碼,這一點對于環(huán)境復(fù)雜的工業(yè)現(xiàn)場特別重要。

2. 系統(tǒng)硬件電路的設(shè)計

該檢測系統(tǒng)的硬件電路包括探頭電路和主機接口電路兩部分,主機和探頭之間傳輸?shù)母袷阶裱璏C145026的編碼格式。

2.1探頭電路

探頭電路的原理框圖如圖7所示。

主機發(fā)送至探頭的編碼信號線經(jīng)過信號傳至各個探頭,經(jīng)放大整形電路處理后送到 MC145027進(jìn)行解碼,當(dāng)?shù)刂放袛嘁恢潞螅琕T由低變高向單片機申請中斷,由單片機讀取解碼后的數(shù)據(jù), MC145027能夠解出4位數(shù)據(jù)碼,4位二進(jìn)制的數(shù)據(jù)碼可以表示種命令,單片機根據(jù)命令的要求將采集到的數(shù)據(jù)(溫度、壓力、濕度等)按照 MC145026的編碼格式由P1.7輸出,再經(jīng)過驅(qū)動電路回送至主機。

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位可以表示控制命令,共可組成個命令碼,設(shè)計時可以根據(jù)系統(tǒng)的要求將這16個命令碼一一定義,以供系統(tǒng)使用。在探頭發(fā)往主機的編碼里,前五位A1~A5是固定格式00000 ,表示主機的地址號,后四位A6~A9表示發(fā)往主機的數(shù)據(jù),一個字節(jié)分兩次發(fā)送,先發(fā)高半字節(jié)(高四位),再發(fā)低半字節(jié)(低四位)。

3.2探頭地址碼的設(shè)置

MC145027的地址輸入腳(A1~A5)有三個狀態(tài)(高電平、平路、低電平)也就是說地址線是三進(jìn)制數(shù)據(jù),而單片機的 I/O口是二進(jìn)制狀態(tài)(二進(jìn)制數(shù)據(jù)格式),在探頭電路中,為了使單片機發(fā)送的地址碼與 MC145027的地址碼相對應(yīng),單片機必須能自動檢測自身的地址。在圖7所示的電路中,P1.0~P1.6作為地址設(shè)定腳,它們所表示的地址信息應(yīng)與 MC145027的地址(A1~A5)相同,這涉及到二進(jìn)制到三進(jìn)制轉(zhuǎn)換的問題。由于表示243個地址需要8 位二進(jìn)制數(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不再難懂)


評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉