專利名稱:主從式現(xiàn)場總線中從機(jī)地址順序識別的方法及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及到通信領(lǐng)域,特別涉及到一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法及系統(tǒng)。
背景技術(shù):
隨著技術(shù)的發(fā)展和生活水平的提高,越來越多的工業(yè)控制、醫(yī)療、通訊、消費(fèi)等電子產(chǎn)品日趨智能化,以微處理器為核心的嵌入式系統(tǒng)得到日益廣泛的應(yīng)用,對這些智能化設(shè)備進(jìn)行現(xiàn)場組網(wǎng)和管理也成為嵌入式應(yīng)用的一個重點(diǎn)。用戶可以通過設(shè)備提供的智能接 口如串口、并口、以太網(wǎng)口等,對其進(jìn)行配置、管理和監(jiān)控?;趶?fù)雜的TCP/IP協(xié)議的高速以太網(wǎng)接口是未來發(fā)展方向,實(shí)現(xiàn)豐富的監(jiān)控管理功能。但是,目前多數(shù)的嵌入式設(shè)備,采用8、16或32位的MCU組成廉價系統(tǒng),出于簡單、方便、低成本的考慮,還是采用現(xiàn)場總線,如RS485總線、CAN總線等,實(shí)現(xiàn)現(xiàn)場設(shè)備級的局域網(wǎng)通訊。其中,大部分應(yīng)用了主從式現(xiàn)場總線進(jìn)行管理,即一個嵌入式設(shè)備(稱為主機(jī))可監(jiān)控其他嵌入式設(shè)備(稱為從機(jī))。通過主從式現(xiàn)場總線組成現(xiàn)場局域網(wǎng)時,需要通過設(shè)備標(biāo)識來區(qū)分各個從機(jī),最簡單的辦法是采用設(shè)備地址來區(qū)分。每個從機(jī)都有獨(dú)一無二的地址,避免總線沖突。但當(dāng)出現(xiàn)某些從機(jī)出現(xiàn)故障,丟失了配置地址,或者多個從機(jī)位置隨意更換,造成地址沖突,或者某些從機(jī)并非連續(xù)進(jìn)行配置,中間有些空的槽位。對于上述情況此時必須重新設(shè)置從機(jī)的地址,保證正常的通訊。如果從機(jī)有撥碼開關(guān)或者其他人機(jī)交互設(shè)備如鍵盤、顯示屏等,是可以設(shè)置地址的。但很多情況下,出于成本和空間的考慮,從機(jī)并沒有這些交互設(shè)備。這就帶來了實(shí)際的難題如何方便的設(shè)置從機(jī)的地址?如何快速定位從機(jī)位置?最簡單的方法是按現(xiàn)場總線的連接順序或者按照從機(jī)處于的槽位順序,依次設(shè)置從機(jī)的地址。但無法解決中間某些從機(jī)被拔出,出現(xiàn)空的槽位的情況。另一個可行的方法是每個從機(jī)額外增加一個輸入信號線片選信號線,通過主機(jī)對每個從機(jī)設(shè)置地址。例如主機(jī)首先使能第一個從機(jī)的片選,設(shè)置該從機(jī)的地址為I (其他從機(jī)因片選信號無效,不予響應(yīng)設(shè)置命令),依次設(shè)置其他從機(jī)的地址即可。該方法比較簡單,但要增加多個信號線,尤其當(dāng)組網(wǎng)的設(shè)備非常多時,需要增加的信號線就很多,這在很多場合是不適用的。還有一種可行的方法是,增加一對信號線,各個從機(jī)信號間通過可控的連接器件級聯(lián),比如DSDT(雙刀雙擲)開關(guān)或繼電器。通過令牌環(huán)的方式,可以實(shí)現(xiàn)各個從機(jī)的順序識別。但是,該方法成本較高,且對于控制信號連接的DSDT(雙刀雙擲)開關(guān)或繼電器等器件來說,可靠性不高,出現(xiàn)故障整個串行環(huán)路斷開,只能順序識別地址,對于空缺槽位(從機(jī)不在位)的情況無法獲悉。
發(fā)明內(nèi)容
本發(fā)明的主要目的為提供一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法及系統(tǒng),實(shí)現(xiàn)主從式現(xiàn)場總線中從機(jī)地址的自動順序識別。
本發(fā)明提出一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法,包括設(shè)置一 SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管;當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。優(yōu)選地,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址(a)所述主機(jī)獲取所有從機(jī)的ID ;(b)指定任一 ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線;
(c)檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID ;(d)根據(jù)所述主機(jī)和從機(jī)的電壓值,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址;(e)當(dāng)存在電壓值為O的從機(jī)時,指定任一電壓值為O的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線,并返回步驟(C)。優(yōu)選地,所述指定任一 ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線包括通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)的電壓輸出端與SVB總線。優(yōu)選地,所述檢測本端的電壓值為通過A/D檢測電路檢測本端的電壓值。 優(yōu)選地,所述根據(jù)電壓值和ID,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址包括分別計算主機(jī)的電壓值與各從機(jī)的電壓值的電壓差;據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)所屬槽位號;將所述槽位號設(shè)置為對應(yīng)從機(jī)的地址。本發(fā)明還提出一種主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng),包括主機(jī)、至少一從機(jī)和一 SVB總線,其中,所述SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管;所述主機(jī),當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。優(yōu)選地,所述主機(jī)包括獲取ID模塊,用于獲取所有從機(jī)的ID ;指定模塊,用于指定任一 ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線;檢測模塊,用于檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID ;獲取地址模塊,用于根據(jù)所述主機(jī)和從機(jī)的電壓值,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址;循環(huán)模塊,用于當(dāng)存在電壓值為O的從機(jī)時,指定任一電壓值為O的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線,并返回通過檢測模塊檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID。優(yōu)選地,所述指定模塊具體用于通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)的電壓輸出端與SVB總線。優(yōu)選地,所述檢測模塊具體用于通過A/D檢測電路檢測本端的電壓值。優(yōu)選地,所述獲取地址模塊包括計算單元,用于分別計算主機(jī)的電壓值與各從機(jī)的電壓值的電壓差;判斷單元,用于據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)所屬槽位號;設(shè)置單元,用于將所述槽位號設(shè)置為對應(yīng)從機(jī)的地址。本發(fā)明提出的一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法及系統(tǒng),解決了在現(xiàn)場總線網(wǎng)絡(luò)中,從機(jī)由于地址丟失導(dǎo)致總線沖突或者標(biāo)識錯誤的難題,在僅增加兩根傳輸信號線和少量硬件的情況下,完成各個從機(jī)地址的重新設(shè)置和識別,保證了現(xiàn)場總線的正常通訊。另外,還可以實(shí)現(xiàn)從機(jī)自由擴(kuò)展,投入時自動識別,提高監(jiān)控系統(tǒng)的智能化程度。
圖I為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例的流程示意圖;圖2為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例中主機(jī)設(shè)置從機(jī)地址步驟的流程示意圖;圖3為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例中獲取地址步驟的流程示意圖;圖4為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例中的現(xiàn)場總線布局圖;圖5為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例中整流器的現(xiàn)場總線布局圖;圖6為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng)一實(shí)施例的結(jié)構(gòu)示意圖;圖7為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng)一實(shí)施例中主機(jī)的結(jié)構(gòu)示意圖;圖8為本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng)一實(shí)施例中獲取地址模塊的結(jié)構(gòu)示意圖。本發(fā)明目的的實(shí)現(xiàn)、功能特點(diǎn)及優(yōu)點(diǎn)將結(jié)合實(shí)施例,參照附圖做進(jìn)一步說明。
具體實(shí)施例方式應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。參照圖1,提出本發(fā)明主從式現(xiàn)場總線中從機(jī)地址順序識別的方法一實(shí)施例,包括步驟S10、設(shè)置一 SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管;步驟S11、當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。參照圖2,步驟Sll進(jìn)一步包括步驟SI 11、所述主機(jī)獲取所有從機(jī)的ID ;步驟SI 12、指定任一 ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線;步驟S113、檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID ;
步驟S114、根據(jù)所述主機(jī)和從機(jī)的電壓值,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址;步驟SI 15、當(dāng)存在電壓值為O的從機(jī)時,指定任一電壓值為O的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線,并返回步驟SI 13。在上述實(shí)施例中,步驟SI 12具體包括通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)的電壓輸出端與SVB總線。參照圖3,在上述實(shí)施例中,步驟SI 14具體包括步驟S1141、分別計算主機(jī)的電壓值與各從機(jī)的電壓值的電壓差;步驟S1142、根據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)所屬槽位號;步驟S1143、將所述槽位號設(shè)置為對應(yīng)從機(jī)的地址。參照圖4,下面結(jié)合附圖對本實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述首先構(gòu)建現(xiàn)場總線網(wǎng)絡(luò),包括選用電纜、選用器件、設(shè)計電路、工程應(yīng)用等?,F(xiàn)場總線的通訊線纜一般情況下可采用雙絞線纜。本實(shí)施例中,采用的雙絞線纜除用于保障現(xiàn)場通信總線的物理連接外,還需要I對線纜(為方便闡述,稱為SVB總線)用于傳送槽位電壓信號,這I對線纜可以為普通線纜,也可用雙絞線。如現(xiàn)場總線采用RS485總線或CAN總線,需要采用至少4線制(2對)雙絞線纜;而如果采用RS422總線,需要采用至少6線制(3對)雙絞線纜?,F(xiàn)場總線配線可采用串聯(lián)地址分配方式,主機(jī)位于現(xiàn)場通信總線的一端,離主機(jī)最近的為一號槽位的從機(jī),依次連接,離主機(jī)最遠(yuǎn)的從機(jī)槽位號最大,串聯(lián)在總線末端?,F(xiàn)場通信總線使用方法不作任何改變,用于主機(jī)與從機(jī)間正常的通訊,實(shí)現(xiàn)系統(tǒng)的監(jiān)控,新增的SVB總線,用于串連主機(jī)和從機(jī),這一對SVB總線定義為公共地線SVB-G、電壓信號線SVB-V。各個從機(jī)間需要在SVB-V串連單向?qū)ǖ亩O管,二極管的數(shù)量根據(jù)需要設(shè)置一或多個,電壓通過二極管后,得到穩(wěn)定的電壓壓降,以確保每個槽位上的從機(jī),能檢測到不同的電壓值,從而通過不同的電壓值確定不同的槽位號,然后將從機(jī)所在的槽位號設(shè)置為從機(jī)的地址,SVB總線通過主機(jī)構(gòu)成回路。主機(jī)和各個從機(jī)需要增加一檢測電壓的裝置如A/D檢測電路,用于檢測本槽位上SVB-V線上電壓值,主機(jī)可在SVB總線末端,增加電阻回路,用于保障各串連二極管導(dǎo)通的最小電流,也可以借用A/D檢測電路的輸入阻抗電路來實(shí)現(xiàn)。當(dāng)主機(jī)識別現(xiàn)場通信總線上有從機(jī)的地址沖突,或有新的從機(jī)投入時,啟動重新設(shè)置從機(jī)的地址的流程
(I)主機(jī)通過已有的現(xiàn)場通信總線,如CAN總線、RS485總線、RS422總線等,發(fā)出指令,要求所有從機(jī)上報該機(jī)器的唯一標(biāo)識ID,(2)各從機(jī)分別通過現(xiàn)場通信總線,向主機(jī)告知該從機(jī)的ID。對于CAN網(wǎng)絡(luò),其本身能夠?qū)崿F(xiàn)沖突檢測,因此,告知ID不會有任何問題,對于RS485、RS422等網(wǎng)絡(luò),也可以籍由不同ID號,通過簡單的時間避退算法,向主機(jī)告知ID。主機(jī)接收到所有從機(jī)反饋的ID,據(jù)此獲知當(dāng)前網(wǎng)絡(luò)中從機(jī)的數(shù)量。(3)主機(jī)通過現(xiàn)場通信總線,指定某一 ID號的從機(jī)進(jìn)入“槽位識別”狀態(tài)即輸出電壓到SVB總線。(4)進(jìn)入“槽位識別”狀態(tài)的從機(jī),通過控制端,輸出一定的電壓到SVB總線上,控制端可用常用的可控器件實(shí)現(xiàn)如繼電器、晶閘管、BJT、M0SFET、IGBT等。(5)所有從機(jī)通過A/D檢測電路檢測SVB總線上的電壓值,其中也包括進(jìn)入“槽位 識別”狀態(tài)、輸出電壓的從機(jī)。(6)主機(jī)也通過A/D檢測電路檢測SVB總線上的電壓值。(7)所有從機(jī)把檢測到的SVB總線上的電壓值,依次通過現(xiàn)場通信總線送給主機(jī)。(8)由于各個槽位的SVB總線上的電壓值不同,因此主機(jī)能夠判斷出各個從機(jī)的
槽位號。(9)由于SVB總線上串連的二極管單向?qū)?,所有槽位在該處于槽位識別狀態(tài)之后的從機(jī),沒有構(gòu)成電流回路,檢測到的SVB總線上電壓值均為0,而由于二極管正向壓降固定的特點(diǎn),所有槽位在該處于槽位識別狀態(tài)之前的從機(jī),檢測到的SVB總線上的電壓值,以一個二極管為例,依次會下降約O. 7V (硅管、鍺管約O. 3V),(10)主機(jī)通過現(xiàn)場通信總線,通知此從機(jī)退出“槽位識別”狀態(tài),該從機(jī)關(guān)閉輸出電壓到SVB總線。(11)主機(jī)如發(fā)現(xiàn)有上報的檢測SVB總線電壓值為O的從機(jī),則通過現(xiàn)場通信總線,指定電壓值為O的任一個ID號的從機(jī)進(jìn)入“槽位識別”狀態(tài)。返回步驟(4),直到所有從機(jī)上報的檢測SVB總線的電壓值都不為O。(12)主機(jī)根據(jù)各個ID號的從機(jī)上報的檢測SVB電壓值,即可得到各個從機(jī)的槽位,當(dāng)槽位號根據(jù)與主機(jī)距離遠(yuǎn)近依次遞減時,第一個從機(jī)檢測SVB電壓值應(yīng)該和主機(jī)檢測至的電壓值相同;第二個從機(jī)檢測SVB電壓值依次下降約O. 7V(硅管、鍺管約O. 3V),依次類推。(13)主機(jī)根據(jù)各個槽位號,設(shè)置各個從機(jī)的地址和槽位號一致,以實(shí)現(xiàn)地址的順序識別。本實(shí)施例中,應(yīng)用二極管單向?qū)щ?、正向壓降的特點(diǎn),通過將各個二極管串連,巧妙實(shí)現(xiàn)了槽位的順序識別,解決了槽位和地址不匹配的現(xiàn)象,方便現(xiàn)場維護(hù)和檢修,徹底解決了從機(jī)自動競爭導(dǎo)致的地址隨意變更的缺陷。比較通過撥碼開關(guān)等硬件配置方式實(shí)現(xiàn)地址設(shè)置,本實(shí)施例實(shí)現(xiàn)全自動化設(shè)置,不需要人工參與,避免了人工疏忽導(dǎo)致的地址重復(fù)、地址/槽位不匹配等常見問題。進(jìn)一步地,本實(shí)施例成本低、實(shí)現(xiàn)容易??偩€系統(tǒng)中,只需要增加一對SVB總線,可使用標(biāo)準(zhǔn)的RJ45、RJ11等連接器,成本低廉,從機(jī)僅僅在背板上增加一或多個二極管(如常用的IN4002)、一個可控器件和一個SVB總線的電壓檢測電路,可控器件可以用常用的繼電器、晶閘管、BJT、MOSFET、IGBT等,而電壓檢測電路由于從機(jī)通常都有A/D功能,因此,只需復(fù)用該A/D即可。進(jìn)一步地,本實(shí)施例適用性強(qiáng)。如每個SVB總線上的二極管典型壓降為O. 7V (硅管),當(dāng)從機(jī)為整流器時,其正常輸出電壓為53. 5V。因此,可以適用于53. 5/0. 7 = 76個整流器組成的超大容量通信直流電源系統(tǒng)中,適用性非常廣。如果提高整流器輸出電壓到均充點(diǎn)56. 4V、或者選擇正向壓降較低的其他二極管(鍺管O. 3V),則能夠支持更大容量(更多節(jié)點(diǎn))的電源系統(tǒng),擴(kuò)展性好。參照圖5,以整流器為例對上述實(shí)施例作進(jìn)一步說明某公司生產(chǎn)某種型號的通信基站電源系統(tǒng),廣泛應(yīng)用于全國各個電信設(shè)備制造商和運(yùn)營商。該電源系統(tǒng)由交流配電、直流配電、最多40個整流器(作為從機(jī))和一個監(jiān)控單元(作為主機(jī))組成。整流器由于功率密度的要求、成本壓力、即插即用的要求,除了告警指示燈和CAN接口外,沒有其他人機(jī)交互設(shè)備。因此,需要監(jiān)控單元通過CAN總線和這40個整流器通訊,通過地址來區(qū)分和識別各個整流器,以便監(jiān)控單元輪詢獲取各個整流器的 數(shù)據(jù)和告警信息,并且控制整流器的運(yùn)行狀態(tài)。第一步、硬件實(shí)現(xiàn)選擇線纜。由于主從機(jī)間采用CAN總線,因此只需要一對線纜即可,再增加一對線纜作為SVB總線。通訊電纜可以采用至少4線制(2對)雙絞線纜,比如通用的10/100BASE-以太網(wǎng)線纜T568A/B (該線纜內(nèi)包含4對色標(biāo)雙絞線,還可以擴(kuò)充備用),連接器選用配套的RJ45。網(wǎng)絡(luò)連接。為了連接監(jiān)控單元和各個整流器,以及分配各個整流器地址,需要通過以太網(wǎng)線纜順序串連。在配線上,保證監(jiān)控單元位于一端,其他各個整流器依次串連,最遠(yuǎn)槽位的整流器位于網(wǎng)線的末端。各個整流器插入的背板,需要有兩個RJ45連接器,其中CAN總線的兩線(CAN-H、CAN-L)在背板直接短路。SVB的一線(SVB-G)直接短路,另外一線(SVB-V)間串連一個二極管(如常用的IN4002)。監(jiān)控單元背板上也需要類似變更,但可以省去二極管。整改整流器電路。各個整流器本身都有53. 5V直流電壓輸出,增加一個繼電器以控制使能輸出到SVB-V線上。同時,增加一個A/D檢測電路,以檢測SVB-V線上的電壓幅值。該A/D檢測電路可以是先通過運(yùn)放進(jìn)行調(diào)理后送到整流器自帶的A/D檢測電路中。整改監(jiān)控單元。監(jiān)控單元增加一個A/D檢測電路,以檢測SVB-V線上的電壓值。該A/D檢測電路可以是先通過運(yùn)放進(jìn)行調(diào)理后送到監(jiān)控單元本身自帶的A/D檢測電路中,借用調(diào)理電路的電阻構(gòu)成SVB回路。選擇合適調(diào)理電路的電阻,保證在全電壓范圍內(nèi)所有二極管能導(dǎo)通。假設(shè)該二極管完全導(dǎo)通電流最小5mA,系統(tǒng)配置整流器的數(shù)量最大40,則該電阻小于(53. 5-0. 7X39)/5,即5. 2ΚΩ即可。當(dāng)然電阻選擇越小,二極管上流經(jīng)的電流會越大,但損耗系統(tǒng)較多的功耗,因此,建議盡量選擇該電阻值的上限,如5ΚΩ即可。監(jiān)控單元或者整流器識別CAN總線上有整流器地址沖突,或有新整流器投入,啟動重新設(shè)置整流器地址的流程如下(I)監(jiān)控單元通過CAN總線發(fā)出指令,要求所有整流器上報唯一標(biāo)識ID ;(2)所有整流器通過CAN總線回應(yīng)監(jiān)控主機(jī)對應(yīng)的ID ;(3)監(jiān)控單元接收到所有整流器回應(yīng)的ID,據(jù)此獲知當(dāng)前網(wǎng)絡(luò)中整流器的數(shù)量;
(4)監(jiān)控單元通過CAN總線發(fā)出指令,指定任一 ID號的整流器進(jìn)入“槽位識別”狀態(tài);(5)此ID的整流器進(jìn)入“槽位識別”狀態(tài),輸出53. 5V的電壓值到SVB總線上;(6)所有整流器通過A/D檢測電路SVB總線上的電壓值;(7)監(jiān)控單元也通過A/D檢測電路SVB上的電壓值;(8)所有整流器通過CAN總線上報檢測到的SVB上的電壓值,上報給監(jiān)控單元;(9)由于各個槽位的SVB總線上的電壓值不同,因此監(jiān)控單元能夠判斷出各個整流器的槽位號;(10)監(jiān)控單元通過CAN總線發(fā)出指令,通知此ID整流器退出“槽位識別”狀態(tài),該 整流器關(guān)閉輸出電壓到SVB總線,此時的SVB總線上電壓為O ;(11)監(jiān)控單元處理所有整流器上報的SVB總線的電壓值,如發(fā)現(xiàn)有電壓值為0,通過CAN總線發(fā)出指令,指定電壓值非O的另外一個不同ID的整流器進(jìn)入槽位識別狀態(tài);并返回步驟(5)直到所有整流器上報的檢測SVB總線的電壓值均不為O ;(12)監(jiān)控單元根據(jù)各個ID的整流器上報的檢測SVB總線的電壓值,即可得到各個整流器的槽位號,如第一個整流器檢測SVB總線的電壓值應(yīng)該和監(jiān)控單元檢測的SVB總線的電壓值相同,第二個整流器檢測的SVB總線的電壓值依次下降約O. 7V(硅管、鍺管約O. 3V),依次類推;(13)監(jiān)控單元根據(jù)各個槽位號,設(shè)置各個整流器從機(jī)的地址和槽位號一致,以實(shí)現(xiàn)地址的順序設(shè)置和識別。參照圖6,提出主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng)一實(shí)施例,包括主機(jī)10、至少一從機(jī)20和一 SVB總線30,其中,所述SVB總線30,用于串聯(lián)主機(jī)10和從機(jī)20,各從機(jī)20之間通過SVB總線30串
聯(lián)至少一二極管;所述主機(jī)10,當(dāng)從機(jī)20地址沖突或新的從機(jī)20加入時,所述主機(jī)10控制從機(jī)20輸出一預(yù)設(shè)的電壓至SVB總線30,并通過檢測各從機(jī)20的電壓值重新設(shè)置各從機(jī)的地址。參照圖7,在一實(shí)施例中,主機(jī)10包括獲取ID模塊11,用于獲取所有從機(jī)20的ID ;指定模塊12,用于指定任一 ID的從機(jī)20輸出所述預(yù)設(shè)的電壓至SVB總線30 ;檢測模塊13,用于檢測本端的電壓值,同時接收各從機(jī)20檢測并上報的各從機(jī)20的電壓值和ID ;獲取地址模塊14,用于根據(jù)所述主機(jī)10和從機(jī)20的電壓值,獲取電壓值非O的從機(jī)20的ID和地址的對應(yīng)關(guān)系,得到從機(jī)20的地址;循環(huán)模塊15,用于當(dāng)存在電壓值為O的從機(jī)20時,指定任一電壓值為O的從機(jī)20輸出所述預(yù)設(shè)的電壓至SVB總線30,并返回通過檢測模塊檢測本端的電壓值,同時接收各從機(jī)20檢測并上報的各從機(jī)20的電壓值和ID。在上述實(shí)施例中,指定模塊12具體用于通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)20的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)20的電壓輸出端與SVB總線30。在上述實(shí)施例中,檢測模塊13具體用于
通過A/D檢測電路檢測本端的電壓值。參照圖8,在上述實(shí)施例中,獲取地址模塊14包括計算單元141,用于分別計算主機(jī)10的電壓值與各從機(jī)20的電壓值的電壓差;判斷單元142,用于據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)20所屬槽位號;設(shè)置單元143,用于將所述槽位號設(shè)置為對應(yīng)從機(jī)20的地址。下面結(jié)合附圖對本實(shí)施例的技術(shù)方案作進(jìn)一步的詳細(xì)描述首先構(gòu)建現(xiàn)場總線網(wǎng)絡(luò),包括選用電纜、選用器件、設(shè)計電路、工程應(yīng)用等?,F(xiàn)場總線的通訊線纜一般情況下可采用雙絞線纜。本實(shí)施例中,采用的雙絞線纜除用于保障現(xiàn)場通信總線的物理連接外,還需要I對線纜(為方便闡述,稱為SVB總線)用于傳送槽位電壓 信號,這I對線纜可以為普通線纜,也可用雙絞線。如現(xiàn)場總線采用RS485總線或CAN總線,需要采用至少4線制(2對)雙絞線纜;而如果采用RS422總線,需要采用至少6線制(3對)雙絞線纜?,F(xiàn)場總線配線可采用串聯(lián)地址分配方式,主機(jī)10位于現(xiàn)場通信總線的一端,離主機(jī)10最近的為一號槽位的從機(jī)20,依次連接,離主機(jī)10最遠(yuǎn)的從機(jī)20槽位號最大,串聯(lián)在總線末端。現(xiàn)場通信總線使用方法不作任何改變,用于主機(jī)10與從機(jī)20間正常的通訊,實(shí)現(xiàn)系統(tǒng)的監(jiān)控,新增的SVB總線30,用于串連主機(jī)10和從機(jī)20,這一對SVB總線30定義為公共地線SVB-G、電壓信號線SVB-V。各個從機(jī)20間需要在SVB-V串連單向?qū)ǖ亩O管,二極管的數(shù)量根據(jù)需要設(shè)置一或多個,電壓通過二極管后,得到穩(wěn)定的電壓壓降,以確保每個槽位上的從機(jī)20,能檢測到不同的電壓值,從而通過不同的電壓值確定不同的槽位號,然后將從機(jī)20所在的槽位號設(shè)置為從機(jī)20的地址,SVB總線30通過主機(jī)10構(gòu)成回路。主機(jī)10和各個從機(jī)20需要增加一檢測電壓的裝置如A/D檢測電路,用于檢測本槽位上SVB-V線上電壓值,主機(jī)10可在SVB總線30末端,增加電阻回路,用于保障各串連二極管導(dǎo)通的最小電流,也可以借用A/D的輸入阻抗電路來實(shí)現(xiàn)。當(dāng)主機(jī)10識別現(xiàn)場通信總線上有從機(jī)20地址沖突,或有新的從機(jī)20投入時,主機(jī)10通過如下方式重新設(shè)置從機(jī)20地址(I)獲取ID模塊11通過已有的現(xiàn)場通信總線,如CAN總線、RS485總線、RS422總線等,發(fā)出指令,要求所有從機(jī)20上報該機(jī)器的唯一標(biāo)識ID,(2)各從機(jī)20分別通過現(xiàn)場通信總線,向獲取ID模塊11告知該從機(jī)20的ID。對于CAN網(wǎng)絡(luò),其本身能夠?qū)崿F(xiàn)沖突檢測,因此,告知ID不會有任何問題,對于RS485、RS422等網(wǎng)絡(luò),也可以籍由不同ID號,通過簡單的時間避退算法,向獲取ID模塊11告知ID。獲取ID模塊11接收到所有從機(jī)20反饋的ID,據(jù)此獲知當(dāng)前網(wǎng)絡(luò)中從機(jī)20的數(shù)量。(3)指定模塊12通過現(xiàn)場通信總線,指定某一 ID號的從機(jī)20進(jìn)入“槽位識別”狀態(tài)即輸出電壓到SVB總線30。(4)進(jìn)入“槽位識別”狀態(tài)的從機(jī)20,通過控制端,輸出一定的電壓到SVB總線30上,控制端可用常用的可控器件實(shí)現(xiàn)如繼電器、晶閘管、BJT、MOSFET、IGBT等。(5)所有從機(jī)20通過A/D檢測電路檢測SVB總線30上的電壓值,其中也包括進(jìn)入“槽位識別”狀態(tài)、輸出電壓的從機(jī)20。
(6)檢測模塊13也通過A/D檢測電路檢測SVB總線30上的電壓值。(7)所有從機(jī)20把檢測到的SVB總線30上的電壓值,依次通過現(xiàn)場通信總線送給檢測模塊13。(8)由于各個槽位的SVB總線30上的電壓值不同,因此獲取地址模塊14能夠判斷出各個從機(jī)20的槽位號。(9)由于SVB總線30上串連的二極管單向?qū)ǎ胁畚辉谠撎幱诓畚蛔R別狀態(tài)之后的從機(jī)20,沒有構(gòu)成電流回路,檢測到的SVB總線30上電壓值均為0,而由于二極管正向壓降固定的特點(diǎn),所有槽位在該處于槽位識別狀態(tài)之前的從機(jī)20,檢測到的SVB總線30上的電壓值,以一個二極管為例,依次會下降約O. 7V (硅管、鍺管約O. 3V),(10)主機(jī)10通過現(xiàn)場通信總線,通知此從機(jī)20退出“槽位識別”狀態(tài),該從機(jī)20關(guān)閉輸出電壓到SVB總線30。 (11)循環(huán)模塊15如發(fā)現(xiàn)有上報的檢測SVB總線30電壓值為O的從機(jī)20,則通過現(xiàn)場通信總線,指定電壓值為O的任一個ID號的從機(jī)20進(jìn)入“槽位識別”狀態(tài)。并返回通過檢測模塊13檢測SVB總線的電壓值,同時接收各從機(jī)20檢測并上報的電壓值和ID,直到所有從機(jī)20上報的檢測SVB總線30的電壓值都不為O。(12)獲取地址模塊14的判斷單元142根據(jù)各個ID號的從機(jī)20上報的檢測SVB電壓值,即可得到各個從機(jī)20的槽位,當(dāng)槽位號根據(jù)與主機(jī)10距離遠(yuǎn)近依次遞減時,第一個從機(jī)20檢測SVB電壓值應(yīng)該和主機(jī)10檢測至的電壓值相同;第二個從機(jī)20檢測SVB電壓值依次下降約O. 7V (硅管、鍺管約O. 3V),依次類推。(13)獲取地址模塊14的設(shè)置單元143根據(jù)各個槽位號,設(shè)置各個從機(jī)20地址和槽位號一致,以實(shí)現(xiàn)地址的順序識別。本實(shí)施例中,應(yīng)用二極管單向?qū)щ?、正向壓降的特點(diǎn),通過將各個二極管串連,巧妙實(shí)現(xiàn)了槽位的順序識別,解決了槽位和地址不匹配的現(xiàn)象,方便現(xiàn)場維護(hù)和檢修,徹底解決了從機(jī)20自動競爭導(dǎo)致的地址隨意變更的缺陷。比較通過撥碼開關(guān)等硬件配置方式實(shí)現(xiàn)地址設(shè)置,本實(shí)施例實(shí)現(xiàn)全自動化設(shè)置,不需要人工參與,避免了人工疏忽導(dǎo)致的地址重復(fù)、地址/槽位不匹配等常見問題。進(jìn)一步地,本實(shí)施例成本低、實(shí)現(xiàn)容易??偩€系統(tǒng)中,只需要增加一對SVB總線30,可使用標(biāo)準(zhǔn)的RJ45、RJll等連接器,成本低廉,從機(jī)20僅僅在背板上增加一或多個二極管(如常用的IN4002)、一個可控器件和一個SVB總線30的電壓檢測電路,可控器件可以用常用的繼電器、晶閘管、BJT、MOSFET, IGBT等,而電壓檢測電路由于從機(jī)20通常都有A/D功能,因此,只需復(fù)用該A/D即可。進(jìn)一步地,本實(shí)施例適用性強(qiáng)。如每個SVB總線30上的二極管典型壓降為
O.7V (硅管),當(dāng)從機(jī)20為整流器時,其正常輸出電壓為53. 5V。因此,可以適用于53. 5/0. 7=76個整流器組成的超大容量通信直流電源系統(tǒng)中,適用性非常廣。如果提高整流器輸出電壓到均充點(diǎn)56. 4V、或者選擇正向壓降較低的其他二極管(鍺管O. 3V),則能夠支持更大容量(更多節(jié)點(diǎn))的電源系統(tǒng),擴(kuò)展性好。下面以整流器為例對上述實(shí)施例作進(jìn)一步說明某公司生產(chǎn)某種型號的通信基站電源系統(tǒng),廣泛應(yīng)用于全國各個電信設(shè)備制造商和運(yùn)營商。該電源系統(tǒng)由交流配電、直流配電、最多40個整流器(作為從機(jī)20)和一個監(jiān)控單元(作為主機(jī)10)組成。整流器由于功率密度的要求、成本壓力、即插即用的要求,除了告警指示燈和CAN接口外,沒有其他人機(jī)交互設(shè)備。因此,需要監(jiān)控單元通過CAN總線和這40個整流器通訊,通過地址來區(qū)分和識別各個整流器,以便監(jiān)控單元輪詢獲取各個整流器的數(shù)據(jù)和告警信息,并且控制整流器的運(yùn)行狀態(tài)。第一步、硬件實(shí)現(xiàn)選擇線纜。由于主從機(jī)間采用CAN總線,因此只需要一對線纜即可,再增加一對線纜作為SVB總線30。通訊電纜可以采用至少4線制(2對)雙絞線纜,比如通用的10/100BASE-以太網(wǎng)線纜T568A/B (該線纜內(nèi)包含4對色標(biāo)雙絞線,還可以擴(kuò)充備用),連接器選用配套的RJ45。網(wǎng)絡(luò)連接。為了連接監(jiān)控單元和各個整流器,以及分配各個整流器地址,需要通 過以太網(wǎng)線纜順序串連。在配線上,保證監(jiān)控單元位于一端,其他各個整流器依次串連,最遠(yuǎn)槽位的整流器位于網(wǎng)線的末端。各個整流器插入的背板,需要有兩個RJ45連接器,其中CAN總線的兩線(CAN-H、CAN-L)在背板直接短路。SVB的一線(SVB-G)直接短路,另外一線(SVB-V)間串連一個二極管(如常用的IN4002)。監(jiān)控單元背板上也需要類似變更,但可以省去二極管。整改整流器電路。各個整流器本身都有53. 5V直流電壓輸出,增加一個繼電器以控制使能輸出到SVB-V線上。同時,增加一個A/D檢測電路,以檢測SVB-V線上的電壓幅值。該A/D檢測電路可以是先通過運(yùn)放進(jìn)行調(diào)理后送到整流器自帶的A/D檢測電路中。整改監(jiān)控單元。監(jiān)控單元增加一個A/D檢測電路,以檢測SVB-V線上的電壓值。該A/D檢測電路可以是先通過運(yùn)放進(jìn)行調(diào)理后送到監(jiān)控單元本身自帶的A/D檢測電路中,借用調(diào)理電路的電阻構(gòu)成SVB回路。選擇合適調(diào)理電路的電阻,保證在全電壓范圍內(nèi)所有二極管能導(dǎo)通。假設(shè)該二極管完全導(dǎo)通電流最小5mA,系統(tǒng)配置整流器的數(shù)量最大40,則該電阻小于(53. 5-0. 7X39)/5,即5. 2ΚΩ即可。當(dāng)然電阻選擇越小,二極管上流經(jīng)的電流會越大,但損耗系統(tǒng)較多的功耗,因此,建議盡量選擇該電阻值的上限,如5ΚΩ即可。監(jiān)控單元或者整流器識別CAN總線上有整流器地址沖突,或有新整流器投入,則監(jiān)控單元通過如下方式重新設(shè)置整流器地址(I)監(jiān)控單元通過CAN總線發(fā)出指令,要求所有整流器上報唯一標(biāo)識ID ;(2)所有整流器通過CAN總線回應(yīng)監(jiān)控主機(jī)10對應(yīng)的ID ;(3)監(jiān)控單元接收到所有整流器回應(yīng)的ID,據(jù)此獲知當(dāng)前網(wǎng)絡(luò)中整流器的數(shù)量;(4)監(jiān)控單元通過CAN總線發(fā)出指令,指定任一 ID號的整流器進(jìn)入“槽位識別”狀態(tài);(5)此ID的整流器進(jìn)入“槽位識別”狀態(tài),輸出53. 5V的電壓值到SVB總線30上;(6)所有整流器通過A/D檢測電路SVB總線30上的電壓值;(7)監(jiān)控單元也通過A/D檢測電路SVB上的電壓值;(8)所有整流器通過CAN總線上報檢測到的SVB上的電壓值,上報給監(jiān)控單元;(9)由于各個槽位的SVB總線30上的電壓值不同,因此監(jiān)控單元能夠判斷出各個整流器的槽位號;(10)監(jiān)控單元通過CAN總線發(fā)出指令,通知此ID整流器退出“槽位識別”狀態(tài),該整流器關(guān)閉輸出電壓到SVB總線30,此時的SVB總線30上電壓為O ;
(11)監(jiān)控單元處理所有整流器上報的SVB總線30的電壓值,如發(fā)現(xiàn)有電壓值為0,通過CAN總線發(fā)出指令,指定電壓值非O的另外一個不同ID的整流器進(jìn)入槽位識別狀態(tài);并返回步驟(5)直到所有整流器上報的檢測SVB總線30的電壓值均不為O ;(12)監(jiān)控單元根據(jù)各個ID的整流器上報的檢測SVB總線30的電壓值,即可得到各個整流器的槽位號,如第一個整流器檢測SVB總線30的電壓值應(yīng)該和監(jiān)控單元檢測的SVB總線30的電壓值相同,第二個整流器檢測的SVB總線30的電壓值依次下降約O. 7V (硅管、鍺管約O. 3V),依次類推;(13)監(jiān)控單元根據(jù)各個槽位號,設(shè)置各個整流器從機(jī)20的地址和槽位號一致,以實(shí)現(xiàn)地址的順序設(shè)置和識別。以上所述僅為本發(fā)明的優(yōu)選實(shí)施例,并非因此限制本發(fā)明的專利范圍,凡是利用本發(fā)明說明書及附圖內(nèi)容所作的等效結(jié)構(gòu)或等效流程變換,或直接或間接運(yùn)用在其他相關(guān)
的技術(shù)領(lǐng)域,均同理包括在本發(fā)明的專利保護(hù)范圍內(nèi)。
權(quán)利要求
1.一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法,其特征在于,包括 設(shè)置一 SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管;當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。
2.如權(quán)利要求I所述的方法,其特征在于,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址 (a)所述主機(jī)獲取所有從機(jī)的ID; (b)指定任一ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線; (c)檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID; (d)根據(jù)所述主機(jī)和從機(jī)的電壓值,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址; (e)當(dāng)存在電壓值為O的從機(jī)時,指定任一電壓值為O的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線,并返回步驟(C)。
3.如權(quán)利要求2所述的方法,其特征在于,所述指定任一ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線包括 通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)的電壓輸出端與SVB總線。
4.如權(quán)利要求2或3所述的方法,其特征在于,所述檢測本端的電壓值為 通過A/D檢測電路檢測本端的電壓值。
5.如權(quán)利要求2或3所述的方法,其特征在于,所述根據(jù)電壓值和ID,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址包括 分別計算主機(jī)的電壓值與各從機(jī)的電壓值的電壓差; 據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)所屬槽位號; 將所述槽位號設(shè)置為對應(yīng)從機(jī)的地址。
6.一種主從式現(xiàn)場總線中從機(jī)地址順序識別的系統(tǒng),其特征在于,包括主機(jī)、至少一從機(jī)和一 SVB總線,其中, 所述SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管; 所述主機(jī),當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。
7.如權(quán)利要求6所述的系統(tǒng),其特征在于,所述主機(jī)包括 獲取ID模塊,用于獲取所有從機(jī)的ID ; 指定模塊,用于指定任一 ID的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線; 檢測模塊,用于檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID ; 獲取地址模塊,用于根據(jù)所述主機(jī)和從機(jī)的電壓值,獲取電壓值非O的從機(jī)的ID和地址的對應(yīng)關(guān)系,得到從機(jī)的地址; 循環(huán)模塊,用于當(dāng)存在電壓值為O的從機(jī)時,指定任一電壓值為O的從機(jī)輸出所述預(yù)設(shè)的電壓至SVB總線,并返回通過檢測模塊檢測本端的電壓值,同時接收各從機(jī)檢測并上報的各從機(jī)的電壓值和ID。
8.如權(quán)利要求7所述的系統(tǒng),其特征在于,所述指定模塊具體用于 通過現(xiàn)場通信總線發(fā)送控制信號至對應(yīng)所述任一 ID的從機(jī)的控制開關(guān),通過該控制開關(guān)導(dǎo)通所述從機(jī)的電壓輸出端與SVB總線。
9.如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述檢測模塊具體用于 通過A/D檢測電路檢測本端的電壓值。
10.如權(quán)利要求7或8所述的系統(tǒng),其特征在于,所述獲取地址模塊包括 計算單元,用于分別計算主機(jī)的電壓值與各從機(jī)的電壓值的電壓差; 判斷單元,用于據(jù)所述電壓差和二極管的壓降,判斷所述各從機(jī)所屬槽位號; 設(shè)置單元,用于將所述槽位號設(shè)置為對應(yīng)從機(jī)的地址。
全文摘要
本發(fā)明揭示了一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法,包括設(shè)置一SVB總線,用于串聯(lián)主機(jī)和從機(jī),各從機(jī)之間通過SVB總線串聯(lián)至少一二極管;當(dāng)從機(jī)的地址沖突或新的從機(jī)加入時,所述主機(jī)控制從機(jī)輸出一預(yù)設(shè)的電壓至SVB總線,并通過檢測各從機(jī)的電壓值重新設(shè)置各從機(jī)的地址。本發(fā)明還提出了對應(yīng)的系統(tǒng)。本發(fā)明提供的一種主從式現(xiàn)場總線中從機(jī)地址順序識別的方法及系統(tǒng),實(shí)現(xiàn)主從式現(xiàn)場總線中從機(jī)地址的自動順序識別。
文檔編號H04L29/12GK102821017SQ20111015191
公開日2012年12月12日 申請日期2011年6月8日 優(yōu)先權(quán)日2011年6月8日
發(fā)明者熊勇 申請人:中興通訊股份有限公司