本發(fā)明涉及通訊方法技術(shù)領(lǐng)域,特別涉及一種適用于低成本子節(jié)點(diǎn)的高速串行通訊方法。
背景技術(shù):
:
在現(xiàn)場總線通訊中,主從結(jié)構(gòu)是一種廣泛使用的通訊拓?fù)浣Y(jié)構(gòu)。在這種結(jié)構(gòu)中,包含一個(gè)主機(jī)和多個(gè)子機(jī)。絕大多數(shù)情況下,主機(jī)是通訊的發(fā)起者和控制者,主機(jī)通過某種子機(jī)識(shí)別機(jī)制與各個(gè)子機(jī)分別進(jìn)行通訊。
這種識(shí)別機(jī)制最常用的是總線地址機(jī)制。每個(gè)子機(jī)和主機(jī)在系統(tǒng)中有唯一的通訊地址,主機(jī)與某個(gè)子機(jī)進(jìn)行通訊時(shí),將該子機(jī)的總線地址放在要發(fā)送的數(shù)據(jù)/指令前,一起發(fā)出,稱之為一個(gè)幀;各個(gè)子節(jié)點(diǎn)同時(shí)監(jiān)聽總線數(shù)據(jù),在收到幀后,先判斷該地址是否與自身的總線地址相等,若相等則處理收到的數(shù)據(jù)/指令,若不相等則拋棄之。
在通訊過程中,掛接在總線上的各個(gè)子機(jī)在監(jiān)聽總線的過程中不但能收到主機(jī)發(fā)出的幀,也能接收到其它所有子機(jī)發(fā)出的幀。由于子機(jī)發(fā)出的幀均是發(fā)給主機(jī)的,所以目的地址部分是主機(jī)的總線地址,其余子機(jī)均會(huì)收到這個(gè)幀,通過地址比較后發(fā)現(xiàn)不符合,則拋棄。在此過程中,不但需要硬件資源來接收這些數(shù)據(jù),還需要運(yùn)算資源來分辨數(shù)據(jù)是從主機(jī)發(fā)出的,還是從另一個(gè)子機(jī)上發(fā)出的,因此現(xiàn)有技術(shù)存在的問題是:總線上設(shè)備因?yàn)閷o關(guān)數(shù)據(jù)處理帶來額外的消耗,對子機(jī)的系統(tǒng)硬件和軟件都提出較高要求,也相應(yīng)增加了系統(tǒng)成本。
技術(shù)實(shí)現(xiàn)要素:
:
本發(fā)明是一種適用于低成本子節(jié)點(diǎn)的高速串行通訊方法,以解決現(xiàn)有技術(shù)存在的系統(tǒng)成本高的問題。
為了實(shí)現(xiàn)上述目的,本發(fā)明提供的技術(shù)方案如下:
本發(fā)明實(shí)施例提供一種適用于低成本子節(jié)點(diǎn)的高速串行通訊方法,該方法為:通訊的調(diào)制方式為電壓調(diào)制,在供電電纜上疊加一個(gè)調(diào)制擾動(dòng),表示數(shù)據(jù)‘0’,無調(diào)制擾動(dòng)時(shí),表示數(shù)據(jù)‘1’,或者在供電電纜上疊加一個(gè)調(diào)制擾動(dòng),表示數(shù)據(jù)‘1’,無調(diào)制擾動(dòng)時(shí),表示數(shù)據(jù)‘0’;所述調(diào)制擾動(dòng)由兩個(gè)連續(xù)的波動(dòng)組成,兩個(gè)波動(dòng)波形基本相同但極性相反;主機(jī)發(fā)送的調(diào)制擾動(dòng)和子機(jī)發(fā)送的調(diào)制擾動(dòng)的起始相位相反。
與現(xiàn)有技術(shù)相比,本發(fā)明的優(yōu)點(diǎn)是:
1、有效降低成本:一般情況下,主機(jī)的硬件性能比較高,但因?yàn)橹鳈C(jī)在系統(tǒng)中的數(shù)量十分有限,通常為一個(gè),對整個(gè)系統(tǒng)成本影響不明顯。子機(jī)是構(gòu)成主從通訊系統(tǒng)的主體,它的成本變化會(huì)直接影響整個(gè)系統(tǒng)的成本。當(dāng)子機(jī)將數(shù)據(jù)傳回主機(jī),表示位0和位1的信號與從主控計(jì)算機(jī)發(fā)出的信號反相。這樣,連接在總線上的其它子機(jī)的總線解碼電路會(huì)過濾掉該數(shù)據(jù),子機(jī)中的微控制單元完全不會(huì)接收到這些數(shù)據(jù),不但節(jié)省了分辨數(shù)據(jù)是從主機(jī)發(fā)出的,還是從另一個(gè)子機(jī)上發(fā)出的時(shí)間,連接收這些數(shù)據(jù)(字節(jié)流)的時(shí)間消耗也省去了。在完全不增加任何編解碼復(fù)雜度的前提下避免了對總線上設(shè)備因?yàn)閷o關(guān)數(shù)據(jù)處理帶來的消耗,從而能用更加廉價(jià)的微控制器來構(gòu)成子機(jī),因此大幅地降低了系統(tǒng)成本。
2、本發(fā)明方法用于供電電纜上,這樣可極大簡化系統(tǒng)結(jié)構(gòu),使得系統(tǒng)在現(xiàn)場的部署大大簡化,因?yàn)闆]有了通訊電纜,系統(tǒng)成本也進(jìn)一步明顯降低。
3、由于信號調(diào)制采用正負(fù)擾動(dòng)連續(xù)的方式,也可以有效的過濾供電電纜上常見的脈沖干擾。
附圖說明:
圖1現(xiàn)有的通訊拓?fù)浣Y(jié)構(gòu);
圖2是主機(jī)發(fā)出的調(diào)制擾動(dòng)調(diào)制波形(以矩形波為例);
圖3是子機(jī)發(fā)出的調(diào)制擾動(dòng)調(diào)制波形(以矩形波為例)。
具體實(shí)施方式:
為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對本發(fā)明進(jìn)行進(jìn)一步詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的具體實(shí)施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明實(shí)施例提供一種適用于低成本子節(jié)點(diǎn)的高速串行通訊方法,該方法為:通訊的調(diào)制方式為電壓調(diào)制,在供電電纜上疊加一個(gè)調(diào)制擾動(dòng),表示數(shù)據(jù)‘0’,無調(diào)制擾動(dòng)時(shí),表示數(shù)據(jù)‘1’,也可以定義成在供電電纜上疊加一個(gè)調(diào)制擾動(dòng),表示數(shù)據(jù)‘1’,無調(diào)制擾動(dòng)時(shí),表示數(shù)據(jù)‘0’;
調(diào)制擾動(dòng)由兩個(gè)連續(xù)的波動(dòng)組成,兩個(gè)波動(dòng)波形基本相同但極性相反,從而在供電線纜上疊加的能量基本相互抵消;主機(jī)發(fā)送的調(diào)制擾動(dòng)和子機(jī)發(fā)送的調(diào)制擾動(dòng)的起始相位相反。
調(diào)制擾動(dòng)的波形,包括矩形波、三角波、正弦波等各種波形,只要是滿足前后兩部分相位相反、脈寬相同,波形相同,幅度滿足線路衰減的波動(dòng)都在本方案討論的調(diào)制擾動(dòng)之列。
下面以疊加調(diào)制擾動(dòng),表示數(shù)據(jù)‘0’,無調(diào)制擾動(dòng)時(shí),表示數(shù)據(jù)‘1’的情況為例對本發(fā)明進(jìn)行詳細(xì)地說明:
本發(fā)明運(yùn)行于下列硬件環(huán)境,一根兩芯電纜連接主機(jī)和子機(jī),電源位于主機(jī),主機(jī)通過這根兩芯電纜為所有子機(jī)供電的同時(shí),也通過這根兩芯電纜與各個(gè)子機(jī)進(jìn)行通訊。
參見圖2,以子機(jī)端為例,通訊調(diào)制模塊控制著2路控制信號的輸出,這兩路控制信號分別控制著兩個(gè)電子開關(guān),兩個(gè)電子開關(guān)連接在一個(gè)三繞組互感器的兩繞組邊的兩個(gè)線圈上,分別可為互感器注入不同方向的電流。當(dāng)兩個(gè)電子開關(guān)向互感器順序注入的不同方向的電流,使互感器產(chǎn)生不同方向的磁通變化。根據(jù)磁耦合原理,在三繞組互感器的單繞組邊上產(chǎn)生相應(yīng)變化的感應(yīng)電動(dòng)勢。第一路控制信號輸出的脈沖最終感應(yīng)出一個(gè)電動(dòng)勢,將其極性記為正向,第二路控制信號輸出的的脈沖最終感應(yīng)出一個(gè)反向電動(dòng)勢。通訊過程中,第一路控制信號輸出一個(gè)脈沖后,緊接著第二路控制信號輸出一個(gè)相同的脈沖,來代表數(shù)據(jù)‘0’。從而,在三繞組互感器的單繞組邊輸出了一個(gè)調(diào)制擾動(dòng)。
主機(jī)端發(fā)送信號的原理基本相同,只是繞組方式略有不同,第一路控制信號輸出的脈沖最終感應(yīng)出一個(gè)反向電動(dòng)勢,第二路控制信號輸出的脈沖最終感應(yīng)出一個(gè)正向電動(dòng)勢,從而,在直流供電線路上疊加輸出了一個(gè)與子機(jī)端相位相反的調(diào)制擾動(dòng)。
本發(fā)明接收時(shí)的工作原理是:
以子機(jī)端為例,直流供電線路經(jīng)過交流提取電路,將直流部分隔離,直流供電線路上的交流信號輸入三繞組互感器單繞組側(cè),三繞組互感器的雙繞組側(cè)的兩個(gè)繞組上分別感應(yīng)調(diào)制擾動(dòng)的正向半波和反向半波。兩個(gè)半波信號分別經(jīng)過兩個(gè)電壓比較器,整形為兩個(gè)脈沖信號,這兩個(gè)脈沖信號分別對應(yīng)第一路控制信號和第二路控制信號。
因?yàn)橹鳈C(jī)發(fā)出的數(shù)據(jù)‘0’的調(diào)制信號的極性是先負(fù)后正,子機(jī)的解調(diào)模塊會(huì)將這個(gè)脈沖解調(diào),并解釋為數(shù)據(jù)‘0’。
因?yàn)閯e的子機(jī)發(fā)出的數(shù)據(jù)‘0’的調(diào)制信號的極性是先正后負(fù),子機(jī)的解調(diào)模塊會(huì)忽略這樣的調(diào)制擾動(dòng),從而過濾掉了其它子機(jī)發(fā)給主機(jī)的數(shù)字通訊對該子機(jī)的干擾。
主機(jī)端接收信號的原理基本相同,只是因?yàn)槔@組方式略有不同,兩個(gè)半波信號分別經(jīng)過兩個(gè)電壓比較器,整形出的兩個(gè)脈沖信號,這兩個(gè)脈沖信號分別對應(yīng)第一路控制信號和第二路控制信號。
因?yàn)樽訖C(jī)發(fā)出的數(shù)據(jù)‘0’的調(diào)制信號的極性是先正后負(fù),主機(jī)的解調(diào)模塊會(huì)將這個(gè)脈沖解調(diào),并解釋為數(shù)據(jù)‘0’;而其它子機(jī)會(huì)將其判定為無效的干擾。
在本方案中,在供電電壓上必須疊加一個(gè)調(diào)制擾動(dòng),即連續(xù)兩段極性相反的擾動(dòng),才可能被解碼為有效的數(shù)據(jù),并且從子機(jī)發(fā)出的數(shù)據(jù)通訊的調(diào)制方式與主機(jī)發(fā)出的數(shù)據(jù)通訊的調(diào)制方式不同,相位相反。對于這兩種編碼方式,主機(jī)只接受子機(jī)的編碼方式,而子機(jī)只接受主機(jī)的編碼方式。
以下給出一個(gè)實(shí)際應(yīng)用的例子:
在一個(gè)實(shí)際產(chǎn)品的使用中,主機(jī)每10ms發(fā)起一次通訊,與總線上的子機(jī)依次通訊。假設(shè)總線上掛接了50個(gè)子機(jī)。在一秒鐘的時(shí)間內(nèi)主機(jī)和子機(jī)的數(shù)據(jù)處理情況如下:
由此可見,本方案的子機(jī)在一秒的時(shí)間內(nèi)接收到的字節(jié)數(shù)比地址過濾方式的子機(jī)接收到的字節(jié)數(shù)減少了96.31%。顯著降低了子機(jī)中微控制器的處理壓力。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。