亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

Rs-485總線式測控系統(tǒng)中測控模塊的即插即用法及其測控模塊的制作方法

文檔序號:6570055閱讀:314來源:國知局
專利名稱:Rs-485總線式測控系統(tǒng)中測控模塊的即插即用法及其測控模塊的制作方法
技術領域
本發(fā)明涉及是一種以主機為中心,配以各測控模塊構成的RS-485總線式測控系統(tǒng)。
測控系統(tǒng)廣泛用于遠程數(shù)據(jù)采集、過程控制系統(tǒng)、能源管理、安全系統(tǒng)、實驗室自動化、智能大廈以及產(chǎn)品性能測試等領域。在這類測控系統(tǒng)中,測控模塊是通過一對雙絞線完成與主機通訊,各模塊并聯(lián)在總線上。測控模塊在工作之前,除了對其輸入/輸出類型、輸入/輸出范圍等參數(shù)進行設置外,還必須對其地址、通訊波特率進行配置。監(jiān)控系統(tǒng)中各個模塊的波特率可以相同,但模塊的地址不得重復。因此,模塊使用前或使用中,對于模塊地址的分配和波特率的確定是系統(tǒng)正常運行的必要保證。
現(xiàn)有技術在每個測控模塊接入監(jiān)控系統(tǒng)前,必須通過人工的方式,單獨對其進行參數(shù)配置,使得接入監(jiān)控系統(tǒng)的每個模塊都有確定的波特率和不相同的地址,即模塊的波特率和地址均是已知的,這樣主機才能識別每一個測控模塊并使之工作。當有多個波特率和地址均是未知的測控模塊接入監(jiān)控系統(tǒng)后,由于可能存在測控模塊的地址相同的情況(一般出廠時模塊地址缺省設置是相同的),主機發(fā)出一個命令,就會同時有多個測控模塊響應,而造成數(shù)據(jù)沖突(即總線競爭);或者由于主機通訊波特率與模塊不同,使得二者通訊無法進行。所以,如果沒有人工單獨地對每一個模塊進行地址分配和波特率設定,計算機監(jiān)控系統(tǒng)將無法工作。這種人工設置對于用戶而言,使監(jiān)控系統(tǒng)的安裝顯得既麻煩又費時。
本發(fā)明的目的在于避免上述現(xiàn)有技術中的不足之處,提供一種RS-485總線式測控系統(tǒng)中測控模塊的即插即用法及其測控模塊。以解決模塊波特率自適應和總線競爭的技術方法,來實現(xiàn)測控模塊的即插即用功能,對于地址和波特率不詳?shù)臏y控模塊,在其接入運行在標準波特率集的監(jiān)控系統(tǒng)后,測控模塊具有自動調(diào)整自身波特率與系統(tǒng)相匹配的能力;同時,在有多個測控模塊接入系統(tǒng)后,模塊具有與系統(tǒng)相匹配的自動識別能力。
本發(fā)明的目的通過如下技術方案實現(xiàn)本發(fā)明所述的RS-485總線式測控系統(tǒng)中的測控模塊即插即用法,包括三個步序測控模塊與主機的波特率自適應,主機對其總線上各測控模塊的識別及注冊,測控模塊按系統(tǒng)主機分配的參數(shù)進行配置,其中所述測控模塊與主機的波特率自適應;a、實現(xiàn)測控模塊對RS-485總線上有無信息傳送的偵聽。
b、以測控模塊能否接收到RS-485總線上傳輸?shù)挠行?shù)據(jù)來判斷該測控模塊的波特率與主機是否相適應;c、測控模塊自動調(diào)整直至與主機波特率相匹配。
所述主機對其總線上各測控模塊的識別及注冊;a、置測控系統(tǒng)運行軟件以及每一測控模塊各自唯一的代碼。
b、測控模塊對RS-485總線上有無信息傳送的偵聽。
c、置測控模塊的CPU串口為邊發(fā)送邊接收狀態(tài),在總線空閑時,由模塊發(fā)送其本身對應的代碼信息,并同時將發(fā)送的信息與接收到的反饋信息按位比較,若一致,即數(shù)據(jù)傳輸成功,總線無數(shù)據(jù)沖突。
d、主機向總線發(fā)布由查詢碼和主機軟件代碼構成的模塊查詢命令,測控模塊將該命令信息與其自身對主機軟件代碼的記錄比較,以完成主機對于測控模塊的識別;所述測控模塊按系統(tǒng)主機分配的參數(shù)進行配置;經(jīng)相互識別后的主機根據(jù)現(xiàn)有模塊的注冊以及地址資源的使用情況,向?qū)哪K發(fā)送配置命令,該配置命令包含有配置命令碼、模塊代碼、模塊地址碼、波特率代碼和主機碼。
本發(fā)明測控模塊,其內(nèi)置單片機U1,由電容C1、C2、晶體振蕩器X1與單片機U1的內(nèi)部電路構成振蕩電路,采用非易失性存儲器U3,異步通信串行接口,包括信號接收端RXD和信號發(fā)送端TXD,其特征是所述信號接收端RXD另有一路通過同相器U5與單片機U1的外部中斷INTO端相連接。
與已有技術相比,本發(fā)明具有如下優(yōu)點1、本發(fā)明提供了測控模塊波特率自適應功能,在測控系統(tǒng)中無論是由于現(xiàn)場強干擾使模塊波特率代碼丟失,或是由于主機的波特率發(fā)生變化,造成模塊與主機不能正常通訊的情況時,本發(fā)明都能夠做到自動識別并快速與主機相匹配,盡快恢復與主機的通訊。從而避免或盡可能減少測控系統(tǒng)失控而造成的不良后果,極大地提高了系統(tǒng)的工作可靠性。
2、本發(fā)明中的測控模塊即插即用功能使得模塊的使用更為簡單、便利,大大降低了對模塊使用人員技術水平的要求。
3、本發(fā)明測控模塊自身結構簡單,幾乎不增加硬件成本。


圖1為本發(fā)明系統(tǒng)框圖。
圖2為本發(fā)明測控模塊電路原理圖。
圖3為本發(fā)明測控系統(tǒng)中的信號傳輸時序圖。
圖4為本發(fā)明測控系統(tǒng)中波特率自適應流程圖。
以下通過實施例,結合附圖對本發(fā)明作進一步描述。
實施例參見圖2,本實施例中的即插即用測控模塊,其內(nèi)置單片機U189C52,由電容C1、C2、晶體振蕩器X1與單片機U1的內(nèi)部電路構成振蕩電路,產(chǎn)生CPU工作的時鐘信號。采用非易失性存儲器U3 X25045,用以保存模塊的波特率和地址信息,模塊掉電時,其保存的信息不會丟失。U3與CPU的P20~24和RESET口線相連。本實施例采用異步通信串行接口包括信號接收端RXD和信號發(fā)送端TXD,如圖所示,在信號接收端RXD另有一路通過同相器U5 7407與單片機U1的外部中斷INTO端相連接。
當CPU將數(shù)據(jù)寫入E2PROM時,U3的CS片選置為0電平,WP寫保護置為1電平,數(shù)據(jù)隨SCK時鐘信號,通過串行數(shù)據(jù)輸入口SI管腳寫入E2PROM。當CPU從E2PROM讀取數(shù)據(jù)時,CS片選置為0電平,WP置為0電平,數(shù)據(jù)隨SCK時鐘信號,通過串行數(shù)據(jù)輸出口SO管腳讀入CPU。
圖中,U4 RS485為通訊收發(fā)器,其接收發(fā)送端RO、DI分別與CPU串口的接收發(fā)送端RxD、TxD相連,通訊收發(fā)器的使能端RE、DE分別與CPU P1口的P16 P17口線相連,U4 RS485通訊收發(fā)器的引腳說明如下RO---接收數(shù)據(jù)端RE---接收數(shù)據(jù)使能端,低電平有效DE---發(fā)送數(shù)據(jù)使能端,高電平有效DI---發(fā)送數(shù)據(jù)端DATA(-)---接RS-485網(wǎng)絡的正端,數(shù)據(jù)傳輸端DATA(+)---接RS-485網(wǎng)絡的負端,數(shù)據(jù)傳輸端當CPU通過P16 P17口線將RE置為1電平、DE置為1電平,U4 RS485通訊收發(fā)器處于發(fā)送狀態(tài),CPU數(shù)據(jù)可通過DI管腳發(fā)送到RS-458總線上;當RE置為0電平、DE置為0電平,U4 RS485通訊收發(fā)器處于接收狀態(tài),RS-458總線上數(shù)據(jù)CPU可通過RO管腳讀入;當RE置為0電平、DE置為1電平,U4 RS485通訊收發(fā)器同時處于發(fā)送和接收狀態(tài)。
偵聽RS-485通訊線有無收發(fā)信息的工作原理是CPU首先通過P16P17口線將U4 RS485通訊收發(fā)器置于接收狀態(tài),CPU 89C52中斷0(INT0)設置為信號的下降沿觸發(fā);由于串口通訊每幀的啟始位電平總是由高電平跳至到低電平,當通訊線上有收發(fā)信息時,該跳變信號經(jīng)U4 RS485收發(fā)器RO管腳、U5A 7407同相器傳送到INT0中斷口線,引起CPU 89C52產(chǎn)生中斷;反之,通訊線上沒有收發(fā)信息,CPU 89C52就不會產(chǎn)生中斷。
解決數(shù)據(jù)沖突的工作原理是接在計算機監(jiān)控系統(tǒng)的RS-485總線上的每個模塊,在其發(fā)送信息之前,為避免由于競爭引起的數(shù)據(jù)沖突,首先使用上面所述的偵聽技術,偵聽RS-485總線上是否有信息在發(fā)送,如果RS-485總線是空閑的,則可以發(fā)送;如果RS-485總線是忙的,則等待一個隨機時間間隔后重新再試。當CPU 89C52準備發(fā)送數(shù)據(jù)時,先通過CPU的P16和P17口線,將U4 RS485收發(fā)器的發(fā)送和接收功能同時使能,即U4RS485通訊收發(fā)器同時處于發(fā)送和接收狀態(tài),使CPU能夠邊發(fā)送數(shù)據(jù)、邊接收數(shù)據(jù),在CPU 89C52把數(shù)據(jù)發(fā)送出去后,CPU將發(fā)送的數(shù)據(jù)與同時接收回來的數(shù)據(jù)按位比較,若不一致,就說明RS-485總線上的數(shù)據(jù)已產(chǎn)生了沖突,則CPU 89C52重復上述過程;若一致,即數(shù)據(jù)傳輸成功,總線無數(shù)據(jù)沖突。
參見圖1,應用系統(tǒng)是以主機為中心,配以分布在各處的測控模塊。圖中,CESN-2520為RS-232/RS-485轉換模塊,CESN-2510為中繼模塊,CESN-2000系列為測控模塊。主機與測控模塊的通訊遵循主從式、ASCII碼命令/響應通訊協(xié)議。測控模塊與主機之間的通訊波特率采用1200、2400、4800、9600、19.2K、38.4K、57.6K、115.2Kbps(其代碼分別為03、04、05、06、07、08、09、0A)標準波特率集中的一個進行通訊。
本實施例中即插即用法的實現(xiàn)包括三個步序測控模塊與主機的波特率自適應;主機對其總線上各測控模塊的識別及注冊;測控模塊按系統(tǒng)主機分配的參數(shù)進行配置。
關于測控模塊與主機的波特率自適應。
首先按E2PROM內(nèi)貯存的波特率代碼進行模塊通訊波特率的配置,然后偵聽RS-485通訊線上有無主機與測控模塊的收發(fā)信息;當RS-485通訊線上沒有收發(fā)信息,模塊不進入波特率檢測程序;而當RS-485通訊線上有收發(fā)信息,模塊又無法收到有效數(shù)據(jù),則說明測控模塊的波特率與主計算機的波特率不同,此時測控模塊自動進入波特率檢測程序,變換當前波特率,直至能收到有效的數(shù)據(jù)為止。這時測控模塊將此時通訊波特率設定為當前工作的波特率,并將這個波特率代碼存入E2PROM中。具體方法為a、實現(xiàn)測控模塊對RS-485總線上有無信息傳送的偵聽。
其原理如前所述。當采用異步串行方式通訊時,傳輸數(shù)據(jù)的每一幀包含1位啟始位、8位數(shù)據(jù)位和1位停止位,如圖3所示。每幀信號的開始電平總是由高電平跳至低電平。當通訊線上有收發(fā)信息時,引起CPU 89C52產(chǎn)生中斷。反之,通訊線上沒有收發(fā)信息,CPU 89C52就不會產(chǎn)生中斷。
b、以測控模塊能否接收到RS-485總線上傳輸?shù)挠行?shù)據(jù)來判斷該測控模塊的波特率與主機是否相適應;當模塊偵聽到總線上有數(shù)據(jù)傳送時,產(chǎn)生INT0中斷,這時串行口開始一條命令數(shù)據(jù)的接收,如果模塊在足夠長的延時時間內(nèi)接收不到有效數(shù)據(jù),可以斷定模塊的波特率與主計算機不相適應。只有當模塊接收到一組有效數(shù)據(jù)時,才能夠得出模塊與主計算機波特率相適應的結論。
對模塊所接收的命令數(shù)據(jù)是否有效的判斷方法如下首先對主機的有效命令格式進行分析,主機向模塊發(fā)布命令的格式為定義符 地址 命令 數(shù)據(jù) 結束符其中定義符取值可以是$或#或%或@地址碼取值范圍00~FFH命令內(nèi)容命令不同,其取值范圍和字節(jié)長度也不相同。
數(shù)據(jù)碼數(shù)據(jù)不同,其取值范圍和字節(jié)長度也不相同結束符(cr)回車例$230(cr)其中,$為定義符,23為地址碼,0為命令碼,(cr)為結束符。
模塊與主計算機的通訊遵循ASCII碼命令/響應協(xié)議,即主計算機把將要向模塊傳輸?shù)拿钜訟SCII碼的形式傳送給模塊,每一幀傳送一位ASCII碼,直至命令結束。
上例命令中,主機向模塊傳送命令以從左到右的順序?qū)?、2、3、0、(cr)這五個字符分為5幀傳送,每一幀傳送值分別為對應字符的ASCII碼。
通過對主機與模塊通訊的命令格式和通訊協(xié)議進行分析,得出主計算機有效命令數(shù)據(jù)具有下列四個特征1、主機命令的第一幀數(shù)據(jù)必定為命令定義符$、或#、或%、或@的ASCII碼。
2、第二幀數(shù)據(jù)和第三幀數(shù)據(jù)的取值有兩種可能(1)、為**的ASCII碼。
(2)、為模塊地址的ASCII碼,地址的取值范圍00~FF。
3、命令的最后一幀數(shù)據(jù)必定為(cr)的ASCII碼4、主機的每一條命令,都是由若干幀數(shù)據(jù)組成的;由于命令的長短不同,所以模塊所接收的數(shù)據(jù)幀數(shù)也不相同,但每一幀數(shù)據(jù)均為ASCII碼。
在得知主機命令的四個特征后,根據(jù)這四個特征對模塊所接收到的每一幀數(shù)據(jù)進行判斷,以確定是否為有效的主機命令代碼。只有當確定模塊接收到了一條完整的主計算機命令時,說明模塊與主計算機的波特率相適應;否則,說明模塊的波特率與主機不相適應。
c、測控模塊自動調(diào)整直至與主機波特率相匹配。
在上述兩步判斷的基礎上,可以得出模塊與主計算機的波特率是否適應,如相適應,則將目前模塊的波特率代碼寫入E2PROM中,如果不適應,則變換模塊的標準波特率代碼,再重復以上二步驟,直到模塊的波特率與主機相適應為止。然后將正確的波特率代碼存入E2PROM中。
至此,測控模塊的波特率自適應功能完成。
模塊波特率自適應流程圖,如圖4所示。
關于主機對其總線上各測控模塊的識別及注冊a、置測控系統(tǒng)運行軟件以及每一測控模塊各自唯一的代碼。
模塊實現(xiàn)即插即用的過程,實質(zhì)是模塊與系統(tǒng)主計算機相互識別的過程,為了便于二者間的相互辨別,對于每個模塊均有一組唯一的代碼,其格式及代表的意義為模塊型號 年(2位) 月(2位) 日(2位) 序號(3位)例如2011 00 01 23 480其中2011模塊型號 002000年 011月 2323日 480序號對于每個監(jiān)控系統(tǒng)運行的軟件也有一組唯一的代碼,該代碼借鑒了組件(COM)規(guī)范中唯一標識符產(chǎn)生的原理,軟件的唯一代碼為25位長的字符串(0~9,A~W 32進制)。
b、測控模塊對RS-485總線上有無信息傳送的偵聽。
測控模塊即插即用的實現(xiàn),除了解決通訊波特率的問題,還必須解決總線競爭的問題。同樣使用圖2所示電路的偵聽技術。當通訊線上有收發(fā)信息,引起CPU 89C52產(chǎn)生中斷;反之,通訊線上沒有收發(fā)信息,CPU 89C52就不會產(chǎn)生中斷。
c、置測控模塊的CPU串口為邊發(fā)送邊接收狀態(tài),在總線空閑時,由模塊發(fā)送其本身對應的代碼信息,并同時將發(fā)送的信息與接收到的反饋信息按位比較,若一致,即信息傳輸成功,總線無數(shù)據(jù)沖突。
通過偵聽,如果RS-485總線是空閑的,則測控模塊可以發(fā)送信息;如果總線是忙的,則等待一個隨機時間間隔后重新再試。當測控模塊CPU89C52準備發(fā)送數(shù)據(jù)時,先通過CPU的P16和P17口線,將U4 RS485收發(fā)器的發(fā)送和接收功能同時使能,使CPU處于邊發(fā)送邊接收的狀態(tài),在CPU 89C52把數(shù)據(jù)發(fā)送出去后,CPU將已發(fā)送的數(shù)據(jù)與接收到的數(shù)據(jù)按位比較,若不一致,就說明RS-485總線上的數(shù)據(jù)已產(chǎn)生了沖突,則CPU89C52重復上述過程,直至比較結果一致。
d、主機向總線發(fā)布由查詢碼和主機軟件代碼構成的模塊查詢命令,測控模塊將該命令信息與其自身對主機軟件代碼的記錄比較,以完成主機對于測控模塊的識別。
在解決總線競爭、模塊與軟件唯一代碼問題后,對于具有即插即用功能的測控模塊,用戶可以將其接入或移出RS-485總線,而不需要重新啟動監(jiān)控系統(tǒng)進行修改或調(diào)整配置參數(shù)。對于安裝好的、以RS-485總線為通訊通道的監(jiān)控系統(tǒng),不管系統(tǒng)是首次運行或系統(tǒng)已在運行中,此時加入測控模塊,無論模塊是第一次使用,還是曾經(jīng)使用過,當該模塊接入監(jiān)控系統(tǒng)的RS-485總線上后,系統(tǒng)均會找到新加入的模塊并識別它。具體方法是系統(tǒng)主機總以一定的時間間隔,以廣播方式向總線發(fā)布模塊查詢命令,查詢廣播命令由查詢碼和主機軟件代碼(簡稱為主機碼)組成,總線上所有測控模塊在收到查詢廣播命令后,首先,判別主機碼是否與模塊本身記錄的主機碼相同,若比較結果相同,測控模塊無響應,反之,測控模塊向主機發(fā)送模塊代碼以及模塊當前的參數(shù)配置狀態(tài)。
此外,若有模塊從RS-485總線上移出,當監(jiān)控系統(tǒng)啟動時,將采用點名方式檢查總線上模塊的存在情況,若經(jīng)多次點名確認,對已從RS-485總線上移出的模塊,主機將移出的模塊從注冊表中刪除。
關于對于測控模塊的參數(shù)配置模塊與主機經(jīng)相互識別后,主機根據(jù)現(xiàn)有模塊的注冊以及地址資源的使用情況,向?qū)哪K發(fā)送配置命令,該配置命令包含有配置命令碼、模塊代碼、模塊地址碼、波特率代碼和主機碼。
當接在監(jiān)控系統(tǒng)RS-485總線上的所有模塊接收到配置命令后,各模塊將配置命令中的模塊代碼與本身的模塊代碼進行比較,若比較結果相同,則模塊把新的模塊地址碼、波特率代碼和主機碼寫入E2PROM中并重新初始化,按新的配置開始工作。從而實現(xiàn)即插即用的功能。
權利要求
1.RS-485總線式測控系統(tǒng)中測控模塊的即插即用法,其特征是包括三個步序測控模塊與主機的波特率自適應,主機對其總線上各測控模塊的識別及注冊,測控模塊按系統(tǒng)主機分配的參數(shù)進行配置,其中所述測控模塊與主機的波特率自適應;a、實現(xiàn)測控模塊對RS-485總線上有無信息傳送的偵聽。b、以測控模塊能否接收到RS-485總線上傳輸?shù)挠行?shù)據(jù)來判斷該測控模塊的波特率與主機是否相適應;c、測控模塊自動調(diào)整直至與主機波特率相匹配。所述主機對其總線上各測控模塊的識別及注冊;a、置測控系統(tǒng)運行軟件以及每一測控模塊各自唯一的代碼。b、測控模塊對RS-485總線上有無信息傳送的偵聽。c、置測控模塊的CPU串口為邊發(fā)送邊接收狀態(tài),在總線空閑時,由模塊發(fā)送其本身對應的代碼信息,并同時將發(fā)送的信息與接收到的反饋信息按位比較,若一致,即數(shù)據(jù)傳輸成功,總線無數(shù)據(jù)沖突。d、主機向總線發(fā)布由查詢碼和主機軟件代碼構成的模塊查詢命令,測控模塊將該命令信息與其自身對主機軟件代碼的記錄比較,以完成主機對于測控模塊的識別;所述測控模塊按系統(tǒng)主機分配的參數(shù)進行配置;經(jīng)相互識別后的主機根據(jù)現(xiàn)有模塊的注冊以及地址資源的使用情況,向?qū)哪K發(fā)送配置命令,該配置命令包含有配置命令碼、模塊代碼、模塊地址碼、波特率代碼和主機碼。
2.一種應用在權利要求1所述方法中的即插即用測控模塊,其內(nèi)置單片機U1,由電容C1、C2、晶體振蕩器X1與單片機U1的內(nèi)部電路構成振蕩電路,采用非易失性存儲器U3,異步通信串行接口,包括信號接收端RXD和信號發(fā)送端TXD,其特征是所述信號接收端RXD另有一路通過同相器U5與單片機U1的外部中斷INTO端相連接。
全文摘要
RS-485總線式測控系統(tǒng)中測控模塊的即插即用法及其測控模塊,其特征是該方法包括三步:測控模塊與主機的波特率自適應;主機對其總線上各測控模塊的識別及注冊;測控模塊按系統(tǒng)主機分配的參數(shù)配置。測控模塊的特征是其信號接收端另有一路與單片機的外部中斷相接。本發(fā)明的即插即用功能使模塊的使用更為簡單、便利,并大大提高系統(tǒng)工作可靠性。
文檔編號G06F13/38GK1342938SQ0011253
公開日2002年4月3日 申請日期2000年9月11日 優(yōu)先權日2000年9月11日
發(fā)明者袁廷華 申請人:合肥創(chuàng)源智能網(wǎng)絡有限責任公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1