專利名稱:Rs485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路的制作方法
技術(shù)領(lǐng)域:
本實(shí)用新型涉及RS485網(wǎng)絡(luò)狀態(tài)檢測(cè)電路。
背景技術(shù):
RS485標(biāo)準(zhǔn)是一種符合工業(yè)通訊標(biāo)準(zhǔn)的數(shù)據(jù)傳輸方式,它是有美國(guó)電子工 業(yè)協(xié)會(huì)(EIA)制定的平衡發(fā)送、差分接收的標(biāo)準(zhǔn)異步串行傳輸方式。RS-485 傳輸方式具有數(shù)據(jù)線路少、易實(shí)現(xiàn)和擴(kuò)展、傳輸距離遠(yuǎn)、通訊速率高等諸多優(yōu) 點(diǎn);而且RS485標(biāo)準(zhǔn)從根本上消除了信號(hào)地線,具有很強(qiáng)的抗干擾能力。RS485 通訊網(wǎng)絡(luò)易于實(shí)現(xiàn)一對(duì)多點(diǎn)的通訊,接口總線上可連接32個(gè)站點(diǎn),加中繼器后 可達(dá)255個(gè)站點(diǎn)。目前的RS485通訊網(wǎng)絡(luò)一般采用半雙工通信方式,大多采用 一個(gè)主機(jī)和多個(gè)從機(jī)的系統(tǒng)結(jié)構(gòu),通過(guò)主機(jī)分別輪詢各個(gè)從機(jī)來(lái)實(shí)現(xiàn)各個(gè)設(shè)備 之間的通信,這種方法存在以下幾個(gè)問(wèn)題
1、 從機(jī)需要等待輪詢到自己才能夠發(fā)送數(shù)據(jù),這就導(dǎo)致信號(hào)經(jīng)常不能及時(shí) 傳遞到主才幾。
2、 由于主機(jī)需要不停的輪詢,因此輪詢的工作量很大。
實(shí)用新型內(nèi)容
本實(shí)用新型的目的在于提供一種RS485網(wǎng)絡(luò)的狀態(tài);險(xiǎn)測(cè)電i 各,旨在解決現(xiàn) 有技術(shù)中從機(jī)無(wú)法主動(dòng)檢測(cè)主機(jī)忙閑狀態(tài)的缺陷。
本實(shí)用新型的目的是這樣實(shí)現(xiàn)的, 一種RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,包括 一接口芯片,所述接口芯片包括一接收數(shù)據(jù)輸出管腳,所述狀態(tài)檢測(cè)電路包括
處理器模塊,其包括串口數(shù)據(jù)接收管腳、高電平輸出管腳、電平檢測(cè)管腳, 串口數(shù)據(jù)接收管腳連接所述接口芯片的接收數(shù)據(jù)輸出管腳;計(jì)數(shù)器,其包括復(fù)位端和計(jì)數(shù)端,復(fù)位端與處理器模塊的高電平輸出管腳
連接,計(jì)數(shù)端與上述串口數(shù)據(jù)接收管腳連接;
比較器,其連接在計(jì)數(shù)器的輸出端與處理器模塊的電平檢測(cè)管腳之間。
所述接口芯片還包括正相接收器輸入和正相驅(qū)動(dòng)器輸出管腳、反相接收器 輸入和反相驅(qū)動(dòng)器輸出管腳、發(fā)送數(shù)據(jù)輸入管腳。
所述處理器模塊為CPU,其進(jìn)一步包括一個(gè)串口數(shù)據(jù)發(fā)送管腳,所述串口 數(shù)據(jù)發(fā)送管腳與所述接口芯片的發(fā)送數(shù)據(jù)輸入管腳連接。
本實(shí)用新型提供的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路能夠使得從機(jī)主動(dòng)檢測(cè)到主 機(jī)的總線狀態(tài),然后通過(guò)握手和搶占線路及時(shí)的發(fā)送數(shù)據(jù),在實(shí)現(xiàn)數(shù)據(jù)及時(shí)發(fā) 送的情況下,主機(jī)不需要輪詢,因此降低了主機(jī)的工作量。
圖1是本實(shí)用新型的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路的電路結(jié)構(gòu)示意圖; 圖2是本實(shí)用新型實(shí)現(xiàn)即時(shí)通信并避免通信沖突的流程圖。
具體實(shí)施方式
為了使本實(shí)用新型的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合實(shí)施 例,對(duì)本實(shí)用新型進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例 僅僅用以解釋本實(shí)用新型,并不用于限定本實(shí)用新型。
本實(shí)用新型提供一種RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,參見(jiàn)圖1中所示,本實(shí) 用新型提供的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路的作用是檢測(cè)RS485網(wǎng)絡(luò)的忙閑狀 態(tài),其包括CPUIO、計(jì)數(shù)器ll、比較器12,其中CPU10包括至少四個(gè)管腳 串口數(shù)據(jù)發(fā)送管腳TXD、串口數(shù)據(jù)接收管腳RXD、高電平輸出管腳P1.0和電 平檢測(cè)管腳Pl.l,計(jì)數(shù)器11和比較器12依次串接在管腳P1.0和管腳P1.1之 間,其中計(jì)數(shù)器11的復(fù)位端連接管腳Pl.O,比較器連接在計(jì)數(shù)器的輸出端與管 腳P1.1之間,管腳Pl.O和Pl.l的定義和功能將在下文中詳細(xì)的描述。本實(shí)施例中所述CPU10通過(guò)一個(gè)接口芯片2 (MAX485 )連接被;險(xiǎn)測(cè)的 RS485網(wǎng)絡(luò),所述#"口芯片2包括四個(gè)管腳A、 B、 DI、 RO,管腳的定義如下 管腳A:正相接收器輸入和正相驅(qū)動(dòng)器輸出;管腳B:反相接收器輸入和反相 驅(qū)動(dòng)器輸出;管腳DI:發(fā)送數(shù)據(jù)輸入;管腳RO:接收數(shù)據(jù)輸出。
所述CPU10的管腳TXD與RS485的管腳DI連接,CPU10的管腳RXD 與RS485的管腳RO連接,計(jì)數(shù)器11的計(jì)數(shù)端與CPU10的管腳RXD相連接。
本實(shí)用新型提供的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路的工作原理為
如果需要檢測(cè)RS485網(wǎng)絡(luò)的線路上是否有設(shè)備正在發(fā)碼,則CPU10的高 電平輸出管腳P1.0輸出高電平使計(jì)數(shù)器11清零并開始計(jì)數(shù),計(jì)數(shù)器11可以記 錄管腳RXD發(fā)出的脈沖個(gè)數(shù),計(jì)數(shù)器ll的輸出(即檢測(cè)到的脈沖的個(gè)數(shù))經(jīng) 過(guò)比較器12進(jìn)行處理如果脈沖個(gè)數(shù)大于零,則比較器12輸出高電平;如果 脈沖個(gè)數(shù)小于1,則輸出低電平。CPU10的電平檢測(cè)管腳Pl.l檢測(cè)比較器12 的輸出電平,就可以判斷RS485網(wǎng)絡(luò)是否空閑。
以下介紹本實(shí)用新型RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路實(shí)現(xiàn)即時(shí)通信并避免通信 沖突的過(guò)程,如圖2所示
首先,在步驟21中,通過(guò)上述RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路檢測(cè)RS485總 線的狀態(tài),具體檢測(cè)方式如下當(dāng)某個(gè)設(shè)備需要發(fā)碼時(shí),則管腳P1.0輸出高電 平,然后檢測(cè)管腳Pl.l的電平變化,如果連續(xù)某個(gè)時(shí)間(這個(gè)時(shí)間稱為最小延 遲時(shí)間)內(nèi)沒(méi)有電平變化,且檢測(cè)端持續(xù)為低,則認(rèn)為線路上無(wú)其他設(shè)備發(fā)碼, 線路空閑;否則,認(rèn)為線路忙。其中,選擇最小延遲時(shí)間的依據(jù)是延遲時(shí)間= 設(shè)備處理通信信號(hào)的處理時(shí)間+信號(hào)在RS485網(wǎng)絡(luò)上的傳播時(shí)間+冗余時(shí)間。
如果檢測(cè)到線路忙,則執(zhí)行步驟22,再次進(jìn)行檢測(cè),具體方式是管腳Pl.O 繼續(xù)輸出高電平(高電平的持續(xù)時(shí)間為一個(gè)和^t塊地址有關(guān)的隨機(jī)時(shí)間再加上 最小延遲時(shí)間,下文中作詳述),然后繼續(xù)檢測(cè),本實(shí)施例中持續(xù)進(jìn)行三次檢 測(cè),如果檢測(cè)三次后的結(jié)果仍然是線路忙,則退出檢測(cè),認(rèn)為線路忙,放棄發(fā) 碼。如果在三次檢測(cè)中檢測(cè)到總線空閑,則執(zhí)行步驟23 (后文中介紹)。上述高電平持續(xù)時(shí)間-最小延遲時(shí)間+隨機(jī)時(shí)間(Ran(Number,單位為ms ) 其中隨機(jī)時(shí)間的Rand一Number (偽隨機(jī)數(shù))的計(jì)算公式為 Rand—Number (i)= (Rand一Number (i畫l) * 23 + 7) % 128。 Rand一Number(O"模塊地址;
每取一次隨機(jī)數(shù),根據(jù)上述公式計(jì)算一次,新得到的隨機(jī)數(shù)并保留,以備 下次取隨機(jī)數(shù)時(shí)計(jì)算。
顯然,P1.0上保持高電平的時(shí)間是檢測(cè)空閑的持續(xù)時(shí)間。
若判斷線路空閑,則開始握手并搶占線路,具體方法是首先執(zhí)行步驟23, 向目標(biāo)方發(fā)送一個(gè)RTS指令;
然后執(zhí)行步驟24,判斷目標(biāo)方是否回應(yīng)RTR指令,如果目標(biāo)方收到RTS 指令后回應(yīng)一個(gè)RTR指令,表示同意接收,此時(shí),執(zhí)行步驟26,發(fā)送方開始 發(fā)送數(shù)據(jù)。如果在發(fā)出RTS信號(hào)之后的一段時(shí)間內(nèi)未收到RTR信號(hào),則表明 握手過(guò)程中發(fā)生了沖突,執(zhí)行步驟25,延遲一段時(shí)間后繼續(xù)握手。若握手成功, 則意味著發(fā)送方獲得了線路的使用權(quán),執(zhí)行步驟26,發(fā)送方開始發(fā)送數(shù)據(jù),其 他發(fā)送方會(huì)繼續(xù)檢測(cè),等待這次通信過(guò)程結(jié)束后,再進(jìn)行發(fā)碼過(guò)程。
若發(fā)生沖突,則必定發(fā)生在握手過(guò)程,這時(shí),發(fā)生沖突的兩個(gè)發(fā)送方都不 會(huì)發(fā)碼,因此數(shù)據(jù)不會(huì)丟失,兩個(gè)發(fā)送方再次發(fā)送,由于等待時(shí)間不同,則再 次沖突的可能性非常少。
采用本實(shí)用新型的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路后的RS485網(wǎng)絡(luò)至少具有以 下三個(gè)優(yōu)點(diǎn)
1、 網(wǎng)絡(luò)上的每個(gè)設(shè)備都可以發(fā)起通信,不必等待輪詢。
2、 由于主機(jī)不用輪詢,因此大大減輕了主機(jī)的工作量。
3、 不會(huì)出現(xiàn)重復(fù)發(fā)碼、錯(cuò)碼和丟碼的現(xiàn)象。
以上所述僅為本實(shí)用新型的較佳實(shí)施例而已,并不用以限制本實(shí)用新型, 例如,CPU10也可以是其他具有處理功能的處理模塊(例如MCU等)。凡在本 實(shí)用新型的精神和原則之內(nèi)所作的任何修改、等同替換和改進(jìn)等,均應(yīng)包含在本實(shí)用新型的權(quán)利要求保護(hù)范圍之內(nèi)。
權(quán)利要求1、RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,包括一接口芯片,所述接口芯片包括一接收數(shù)據(jù)輸出管腳,其特征在于所述狀態(tài)檢測(cè)電路包括處理器模塊,其包括串口數(shù)據(jù)接收管腳、高電平輸出管腳、電平檢測(cè)管腳,串口數(shù)據(jù)接收管腳連接所述接口芯片的接收數(shù)據(jù)輸出管腳;計(jì)數(shù)器,其包括復(fù)位端和計(jì)數(shù)端,復(fù)位端與處理器模塊的高電平輸出管腳連接,計(jì)數(shù)端與上述串口數(shù)據(jù)接收管腳連接;比較器,其連接在計(jì)數(shù)器的輸出端與處理器模塊的電平檢測(cè)管腳之間。
2、 根據(jù)權(quán)利要求1所述的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,其特征在于所 述接口芯片還包括正相接收器輸入和正相驅(qū)動(dòng)器輸出管腳、反相接收器輸入和 反相驅(qū)動(dòng)器輸出管腳、發(fā)送數(shù)據(jù)輸入管腳。
3、 根據(jù)權(quán)利要求2所述的RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,其特征在于所 述處理器模塊為CPU,其進(jìn)一步包括一個(gè)串口數(shù)據(jù)發(fā)送管腳,所述串口數(shù)據(jù)發(fā) 送管腳與所述接口芯片的發(fā)送數(shù)據(jù)輸入管腳連接。
專利摘要本實(shí)用新型提供了一種RS485網(wǎng)絡(luò)的狀態(tài)檢測(cè)電路,包括一接口芯片,所述接口芯片包括一接收數(shù)據(jù)輸出管腳,所述狀態(tài)檢測(cè)電路包括處理器模塊,其包括串口數(shù)據(jù)接收管腳、高電平輸出管腳、電平檢測(cè)管腳,串口數(shù)據(jù)接收管腳連接所述接口芯片的接收數(shù)據(jù)輸出管腳;計(jì)數(shù)器,其包括復(fù)位端和計(jì)數(shù)端,復(fù)位端與處理器模塊的高電平輸出管腳連接,計(jì)數(shù)端與上述串口數(shù)據(jù)接收管腳連接;比較器,其連接在計(jì)數(shù)器的輸出端與處理器模塊的電平檢測(cè)管腳之間。
文檔編號(hào)H04L12/26GK201341158SQ20082023521
公開日2009年11月4日 申請(qǐng)日期2008年12月17日 優(yōu)先權(quán)日2008年12月17日
發(fā)明者翔 郝 申請(qǐng)人:Tcl集團(tuán)股份有限公司