專利名稱:多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式的制作方法
技術(shù)領(lǐng)域:
本發(fā)明屬于數(shù)據(jù)通訊技術(shù)領(lǐng)域,具體說是涉及一種多點(diǎn)自動(dòng)識(shí)別和主從同步的串
行通訊方式。
背景技術(shù):
在自動(dòng)控制和測(cè)量系統(tǒng)中,為確??煽啃砸话憔捎糜芯€的主從多點(diǎn)通訊方式, 而且普遍采用串行通訊,以便簡化接線,延長通訊距離。傳統(tǒng)的系統(tǒng)聯(lián)線方式多為并行聯(lián) 接,也稱星形聯(lián)接,如圖l所示。在一個(gè)需要主從同步的場(chǎng)合下,采用并聯(lián)通訊接線方式,實(shí) 現(xiàn)起來非常自然而簡單主機(jī)發(fā)一個(gè)同步信號(hào),各個(gè)從機(jī)會(huì)同時(shí)收到該信號(hào),從而實(shí)現(xiàn)主機(jī) 和從機(jī)的同步工作。但是采用這種并行聯(lián)接通訊方式通常還必須對(duì)每個(gè)從機(jī)根據(jù)不同的工 作過程或不同的需要發(fā)出不同的控制指令,同時(shí)主機(jī)還需要從每臺(tái)從機(jī)讀取測(cè)試數(shù)據(jù)。要 做到上述的要求,主機(jī)首先要能夠識(shí)別每臺(tái)從機(jī)。傳統(tǒng)的方法是為每臺(tái)從機(jī)事先都設(shè)好一 個(gè)彼此不同的標(biāo)識(shí),主機(jī)按照事先設(shè)定好的標(biāo)識(shí)識(shí)別每臺(tái)從機(jī)。這種做法在實(shí)際應(yīng)用中會(huì) 便帶來一些額外的不便首先,標(biāo)識(shí)本身就是一個(gè)比較專業(yè)的東西,一般未經(jīng)專業(yè)訓(xùn)練的人 首次接觸大多要迷惑的;其次,標(biāo)識(shí)的設(shè)置一般還要人工參與,這勢(shì)必增加使用的難度;從 機(jī)的標(biāo)識(shí)和它實(shí)際所處位置的對(duì)應(yīng)關(guān)系是固定的,維修更換會(huì)很麻煩,極易出現(xiàn)差錯(cuò)。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是提供一種同時(shí)實(shí)現(xiàn)從機(jī)的自動(dòng)識(shí)別和主從同步問題 的多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式。 為解決上述發(fā)明問題,本發(fā)明采用多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式,它
包括從機(jī)的自我識(shí)別方式和主從同步方式; 所述的從機(jī)的自我識(shí)別方式為 (1)主機(jī)和多個(gè)從機(jī)采用如圖所示的接線方式; (2)主機(jī)采用有序數(shù)據(jù)格式指令,即給第一從機(jī)的指令一給第二從機(jī)的指令… —給第N從機(jī)的指令;從機(jī)指令的內(nèi)容可以有兩類實(shí)際指令和空指令,主機(jī)要給哪臺(tái)從機(jī) 發(fā)指令,則在相應(yīng)的指令塊內(nèi)填入實(shí)際指令,否則填入空指令; (3)從機(jī)采用遞減方式讀取指令,即第一從機(jī)收到主機(jī)發(fā)送來的指令后,讀取第 一指令塊中的內(nèi)容,如果是實(shí)際指令就依照?qǐng)?zhí)行,隨即將主機(jī)傳來的后續(xù)指令從第二塊從 機(jī)指令開始往下傳,不傳送主機(jī)原來的第一塊指令;第二從機(jī)收到第一從機(jī)發(fā)送過來的新 指令中的第一塊指令,實(shí)際是主機(jī)原來的第二塊指令,隨后也像第一從機(jī)那樣,如果是實(shí)際 指令就依照?qǐng)?zhí)行,隨即拋棄當(dāng)前指令塊,而將指令的后續(xù)內(nèi)容往下傳;隨后的各個(gè)從機(jī)也按 照上述相同的方式依次往下傳;主機(jī)發(fā)出的各個(gè)從機(jī)的指令能被所有的從機(jī)分別正確地讀 到。 (4)從機(jī)采用倒序數(shù)據(jù)指令格式,并且以遞增方式添加數(shù)據(jù)所述的從機(jī)的每個(gè) 數(shù)據(jù)塊遞增地由對(duì)應(yīng)的從機(jī)分別添加,最后形成的排列次序?yàn)橛珊笸暗牡剐?,也即是?br>
3果第一從機(jī)要發(fā)送數(shù)據(jù),它將自己的數(shù)據(jù)塊傳給第二從機(jī);如果第二從機(jī)同時(shí)也有數(shù)據(jù)要
發(fā)送,那么它構(gòu)置一個(gè)自己的實(shí)際數(shù)據(jù)塊,否則構(gòu)置一個(gè)空數(shù)據(jù)塊;它先發(fā)送自己的數(shù)據(jù)
塊,隨后轉(zhuǎn)發(fā)第一從機(jī)的數(shù)據(jù)塊;其他的從機(jī)也按照上述同樣的方式動(dòng)作; 所述的主從機(jī)同步方式為從機(jī)采用自定時(shí)的同步方式,也即是主機(jī)在上電的若干
時(shí)間后發(fā)出第一個(gè)同步信號(hào),與此同時(shí),每個(gè)從機(jī)在相同的上電時(shí)刻開始自同步定時(shí);主機(jī)
發(fā)每個(gè)同步信號(hào)之間的間隔時(shí)間也即周期固定不變,因此主機(jī)會(huì)按照某個(gè)固定的時(shí)間間隔
發(fā)送后續(xù)的同步信號(hào);每個(gè)從機(jī)也是這樣,用與主機(jī)相同的自定時(shí)量來決定自己的同步時(shí)
刻,于是在主機(jī)發(fā)送第二個(gè)同步信號(hào)的時(shí)刻,從機(jī)也通過自身定時(shí)開始第二個(gè)工作進(jìn)程;以
后的從機(jī)分別按照上述同樣的方式動(dòng)作。 所述的從機(jī)的自我識(shí)別方式中的主機(jī)的實(shí)際指令結(jié)構(gòu)和從機(jī)的數(shù)據(jù)結(jié)構(gòu)中還包 括分別設(shè)在首尾的固定標(biāo)識(shí),也即是在主機(jī)指令結(jié)構(gòu)的首尾分別加入主機(jī)指令開始標(biāo)識(shí)和 主機(jī)指令結(jié)束標(biāo)識(shí);在每個(gè)從機(jī)的數(shù)據(jù)結(jié)構(gòu)的首尾分別加入從機(jī)數(shù)據(jù)開始標(biāo)識(shí)和從機(jī)數(shù)據(jù) 結(jié)束標(biāo)識(shí)。 所述的主從機(jī)同步方式還包括從機(jī)的同步修正,而其特別之處在于所述的主從 同步方式為每個(gè)從機(jī)不轉(zhuǎn)發(fā)主機(jī)的同步信號(hào),而是主動(dòng)地向下一個(gè)從機(jī)發(fā)送同步信號(hào),這 個(gè)同步信號(hào)發(fā)送時(shí)刻在其開始一個(gè)進(jìn)程同時(shí),以其自定時(shí)為準(zhǔn),而這個(gè)自定時(shí)已經(jīng)經(jīng)過同 步修正;在整個(gè)通訊方式中的回路中,從后往前看,第N從機(jī)的同步來自第N-1從機(jī),那么第 N從機(jī)的同步精度取決于第N-l從機(jī);而第N-l從機(jī)又依賴于更前面的第N-2從機(jī),依此類 推,直到第一從機(jī),而第一從機(jī)的精度依賴于前面的主機(jī)。 本發(fā)明中從機(jī)的自我識(shí)別方式與主從同步方式相結(jié)合,它以完整而更強(qiáng)大的功能 替代傳統(tǒng)的并聯(lián)接線通訊方式,并可以簡化接線,延長通訊,在計(jì)算機(jī)普及應(yīng)用的現(xiàn)代社 會(huì),具有良好的應(yīng)用價(jià)值。
圖1現(xiàn)有的并聯(lián)通訊方式中主機(jī)和從機(jī)之間的連接關(guān)系圖。 圖2為本發(fā)明的通訊方式中主機(jī)和從機(jī)之間的連接關(guān)系圖。 圖3為本發(fā)明中主機(jī)的指令格式構(gòu)成圖。 圖4為本發(fā)明中從機(jī)的指令數(shù)據(jù)構(gòu)成圖。 圖5為本發(fā)明中實(shí)際使用的主機(jī)的指令格式構(gòu)成圖。 圖6為本發(fā)明中實(shí)際使用的從機(jī)的數(shù)據(jù)格式構(gòu)成圖。
具體實(shí)施例方式
下面結(jié)合說明書附圖對(duì)本發(fā)明做進(jìn)一步詳細(xì)的說明。
首先介紹一下本發(fā)明中的從機(jī)進(jìn)行自動(dòng)識(shí)別的方法。 圖1示出了現(xiàn)有的并聯(lián)通訊方式中主機(jī)和從機(jī)之間的連接關(guān)系。主機(jī)發(fā)出的一個(gè) 只需某臺(tái)從機(jī)響應(yīng)的信號(hào),各個(gè)從機(jī)會(huì)同時(shí)收到,沒有什么特別的先后順序。怎么來區(qū)分這 個(gè)信號(hào)應(yīng)由哪臺(tái)從機(jī)來響應(yīng)呢?主機(jī)在發(fā)信號(hào)的同時(shí),除了信號(hào)本身外還要加上預(yù)先設(shè)好 的各個(gè)從機(jī)標(biāo)識(shí),這樣從機(jī)才能區(qū)分該由誰來響應(yīng)。
圖2示出了本發(fā)明的通訊方式;觀察一下圖2所示的信號(hào)傳輸,不難發(fā)現(xiàn)這樣一個(gè)現(xiàn)象如果主機(jī)發(fā)送一個(gè)信號(hào),只有第一從機(jī)能直接收到,其它從機(jī)對(duì)此沒有任何途徑收到 主機(jī)的信號(hào),除非第一從機(jī)在收到主機(jī)信號(hào)后再轉(zhuǎn)發(fā)。如果后續(xù)從機(jī)也如第一從機(jī)那樣進(jìn) 行轉(zhuǎn)發(fā)工作,那么通過這種接力方式,主機(jī)的信號(hào)就可以有序地傳遍全體從機(jī)。
下面介紹一下本發(fā)明的多點(diǎn)自動(dòng)識(shí)別和同步串行通訊方式中主機(jī)接收從機(jī)信號(hào) 的過程如果在某一時(shí)刻,所有從機(jī)開始發(fā)送數(shù)據(jù),對(duì)主機(jī)而言,它只能直接收到最末尾的 第N從機(jī)發(fā)來的信號(hào),沒有任何途徑接收其它從機(jī)的信號(hào),除非第N從機(jī)能轉(zhuǎn)發(fā)它收到的前 面從機(jī)的信號(hào),如果前面的從機(jī)都如第N從機(jī)那樣進(jìn)行轉(zhuǎn)發(fā)工作,通過和上述類似的接力 方式,主機(jī)就能"有序地"收到全部從機(jī)的信號(hào)。而在圖l所示的并聯(lián)接線的通訊方式中不 允許從機(jī)同時(shí)發(fā)送信號(hào),因?yàn)橹挥幸粭l公用而直通的通訊線路;為避免通訊沖突,各個(gè)從機(jī) 只能分別先后發(fā)送自己的信號(hào),誰先誰后怎么管理呢?這又要依據(jù)上面提到的那個(gè)標(biāo)識(shí)每 臺(tái)從機(jī)事先都設(shè)好一個(gè)彼此不同的標(biāo)識(shí),也即是地址。并聯(lián)通訊只有依賴這些地址才能建 立起一個(gè)順序,即便不考慮通訊沖突,從機(jī)隨機(jī)發(fā)送信號(hào),主機(jī)也必須依賴地址來區(qū)分信號(hào) 的歸屬。 而本發(fā)明完全不用并聯(lián)接法通訊那樣依賴標(biāo)識(shí),它利用串聯(lián)接法通訊自然形成的 這種"有序性"可以達(dá)到同樣的效果。 圖3示出了主機(jī)的指令格式構(gòu)成;首先敘述主機(jī)下達(dá)指令的工作過程,從機(jī)指令 的內(nèi)容有兩類,實(shí)際指令和空指令;主機(jī)要給哪臺(tái)從機(jī)發(fā)指令,則在相應(yīng)的指令塊內(nèi)填入實(shí) 際指令,否則填入空指令,主機(jī)指令發(fā)出,第一從機(jī)收到后,讀取第一個(gè)從機(jī)指令塊的內(nèi)容, 如果是實(shí)際指令就依照?qǐng)?zhí)行,隨即將主機(jī)傳來的原來第二塊從機(jī)指令往下傳,不傳送主機(jī) 原來的第一塊指令,因?yàn)榈谝粡臋C(jī)已經(jīng)執(zhí)行過可以丟棄了 ;第二從機(jī)收到第一從機(jī)發(fā)送過 來的新指令中的第一塊指令,也即是原來主機(jī)指令的第二塊,隨后也像第一從機(jī)那樣,是實(shí) 際指令就依照?qǐng)?zhí)行,隨即拋棄當(dāng)前指令塊,而將指令的后續(xù)內(nèi)容往下傳;隨后的各個(gè)從機(jī)也 按照上述相同的方式依次往下傳;依照這種遞減的機(jī)制,主機(jī)發(fā)出的各個(gè)從機(jī)的指令能被 所有的從機(jī)分別正確地讀到,完成了原來要依靠上述的標(biāo)識(shí)才能做到的同樣的事情。
圖4示出了從機(jī)數(shù)據(jù)的格式;從機(jī)發(fā)送數(shù)據(jù)的過程如下每個(gè)數(shù)據(jù)塊的內(nèi)容也分 成兩類實(shí)際數(shù)據(jù)和空數(shù)據(jù)。和圖3的主機(jī)指令作比較,它的形成過程剛好相反,每個(gè)數(shù)據(jù) 塊遞增地由對(duì)應(yīng)的從機(jī)分別添加,最后排列的次序也剛好相反。具體是這樣操作的如果第 一從機(jī)要發(fā)送數(shù)據(jù),它將自己的數(shù)據(jù)塊傳給第二從機(jī);如果第二從機(jī)同時(shí)也有數(shù)據(jù)要發(fā)送, 那么它構(gòu)置一個(gè)自己的實(shí)際數(shù)據(jù)塊,否則構(gòu)置一個(gè)空數(shù)據(jù)塊。它先發(fā)送自己的數(shù)據(jù)塊,隨后 轉(zhuǎn)發(fā)第一從機(jī)的數(shù)據(jù)塊。其他的從機(jī)也一樣,最后形成如圖4的整個(gè)數(shù)據(jù)段結(jié)構(gòu)。該結(jié)構(gòu)中 數(shù)據(jù)塊的倒序安排讓它還能夠適應(yīng)從機(jī)發(fā)送數(shù)據(jù)的隨意性。譬如,某個(gè)時(shí)刻第二從機(jī)要發(fā) 數(shù)據(jù),但第一從機(jī)卻沒有數(shù)據(jù)可發(fā),這個(gè)倒序的機(jī)制就允許第二從機(jī)不必苦苦等待第一從 機(jī)發(fā)數(shù)據(jù)過來,而可以立即往下傳送自己的數(shù)據(jù)塊。倒序的機(jī)制對(duì)主機(jī)識(shí)別也更簡單主機(jī) 收到的第一個(gè)數(shù)據(jù)塊必定是第N從機(jī)的,余者依次類推。這個(gè)定式不會(huì)隨著因?yàn)樯鲜龅膹?機(jī)發(fā)送數(shù)據(jù)的隨意性導(dǎo)致實(shí)際數(shù)據(jù)段長度變化而改變。若是正向的排序是做不到這點(diǎn)的。
圖5和圖6示出了主機(jī)和從機(jī)實(shí)際使用的指令結(jié)構(gòu)在主機(jī)指令的首尾分別加上 輔助位,即主機(jī)指令開始標(biāo)識(shí)和主機(jī)指令結(jié)束標(biāo)識(shí);同樣,在所述的每個(gè)從機(jī)數(shù)據(jù)結(jié)構(gòu)的首 尾分別加上輔助位,即從機(jī)數(shù)據(jù)開始標(biāo)識(shí)從機(jī)數(shù)據(jù)結(jié)束標(biāo)識(shí)。這樣主機(jī)的指令結(jié)構(gòu)和從機(jī) 的數(shù)據(jù)結(jié)構(gòu)經(jīng)過修飾后,可以便于主機(jī)和從機(jī)更容易區(qū)分和處理這兩類不同性質(zhì)的通訊內(nèi)4 容。 現(xiàn)在說明本發(fā)明的另一個(gè)部分實(shí)現(xiàn)主從同步的方法。 首先,考察一下串聯(lián)接線通訊方式進(jìn)行主從同步的困難所在。 本發(fā)明中的"串行通訊"和串聯(lián)接線通訊并不是一回事,前者指通訊時(shí)數(shù)據(jù)以移位
的方式傳送;后者指每個(gè)通訊點(diǎn)的接線方式;串行通訊的一個(gè)特點(diǎn)就是數(shù)據(jù)即便是最簡單
的單字節(jié)也不是一下子傳送的,而是將數(shù)據(jù)分成多個(gè)數(shù)據(jù)位,然后逐位傳送的,所以串行通
訊傳遞信號(hào)最快也要一個(gè)字節(jié)一8個(gè)數(shù)據(jù)位加2個(gè)輔助位的串行傳輸時(shí)間。 在圖2中主機(jī)發(fā)出一個(gè)同步信號(hào),為簡單起見不妨假定它為單字節(jié),第一從機(jī)在
主機(jī)開始發(fā)送時(shí)刻經(jīng)過串行通訊傳送1個(gè)字節(jié)的時(shí)間后才會(huì)收到該字節(jié),收到后它即向后
面發(fā)送,第二從機(jī)又經(jīng)過1個(gè)字節(jié)傳送時(shí)間后收到該字節(jié),如此,直到最后第N從機(jī)。顯然,
以這種方式傳遞主機(jī)同步信號(hào),相對(duì)主機(jī)開始發(fā)同步信號(hào)的時(shí)刻,第一從機(jī)收到同步信號(hào)
的時(shí)刻要延遲一個(gè)字節(jié)的傳送時(shí)間,第二從機(jī)將延遲兩個(gè)字節(jié)的傳送時(shí)間,第N從機(jī)要延
遲N個(gè)傳送時(shí)間。如果要求達(dá)到嚴(yán)格同步,直接根據(jù)從機(jī)自身收到同步信號(hào)的時(shí)刻作為同
步時(shí)刻顯然是無法完成的。 本發(fā)明為此提出的第一個(gè)解決辦法是,從機(jī)采用自定時(shí)的同步方式;整個(gè)系統(tǒng)的 工作過程就變成這樣系統(tǒng)上電,主機(jī)在上電的若干時(shí)間后發(fā)第一個(gè)同步信號(hào)。與此同時(shí), 每個(gè)從機(jī)在相同的上電時(shí)刻開始自同步定時(shí),這個(gè)定時(shí)一般不難取到接近主機(jī)發(fā)送同步所 需的量值。通常主機(jī)發(fā)每個(gè)同步信號(hào)之間的間隔時(shí)間,也稱為周期,是固定不變的;因此主 機(jī)會(huì)按照某個(gè)固定的時(shí)間間隔發(fā)送后續(xù)的同步信號(hào),每個(gè)從機(jī)也是這樣,用與主機(jī)相同的 自定時(shí)量來決定自己的同步時(shí)刻,于是在主機(jī)發(fā)送第二個(gè)同步信號(hào)的時(shí)刻,從機(jī)也通過自 身定時(shí)開始第二個(gè)工作進(jìn)程,如此下去,在理想情況下,主機(jī)和從機(jī)便可以實(shí)現(xiàn)同步工作。
當(dāng)然,實(shí)際工作時(shí),沒有這樣好的理想狀態(tài),主機(jī)和從機(jī)的同步時(shí)刻誤差會(huì)隨時(shí)間 推移而逐漸積累變大;為此,本發(fā)明提出的第二個(gè)解決辦法是在上述方法的基礎(chǔ)上,從機(jī)還 要進(jìn)行同步修正,即系統(tǒng)上電后,主機(jī)和從機(jī)幾乎在同一時(shí)刻分別發(fā)同步信號(hào)和開始第一 進(jìn)程,隨后,第一從機(jī)在經(jīng)過上述的1個(gè)字節(jié)的傳輸時(shí)間后收到主機(jī)傳來的同步信號(hào),它據(jù) 此調(diào)整自己的定時(shí),也即是第一從機(jī)在收到主機(jī)同步信號(hào)的時(shí)刻才啟動(dòng)下一個(gè)定時(shí),定時(shí) 量為原來周期減去上述1個(gè)字節(jié)的傳輸時(shí)間,這樣,從機(jī)開始工作的第二個(gè)進(jìn)程時(shí)刻和主 機(jī)發(fā)送第二個(gè)同步信號(hào)的時(shí)刻就會(huì)很接近;進(jìn)一步講,第一從機(jī)第二個(gè)進(jìn)程的開始時(shí)刻和 它自己定時(shí)的第一個(gè)進(jìn)程的開始時(shí)刻在時(shí)間上是無關(guān)的,這樣誤差就不會(huì)積累,實(shí)際上,這 就是從機(jī)根據(jù)收到主機(jī)同步信號(hào)的時(shí)刻進(jìn)行下一進(jìn)程的超前定時(shí),該定時(shí)將會(huì)扣除主機(jī)同 步信號(hào)的延遲,使最終兩者能夠在非常接近的時(shí)刻發(fā)生,每次都重復(fù)這樣的步驟,這種做法 沒有誤差積累,后續(xù)周期的同步精度和前面的完全相同;直接運(yùn)用這個(gè)思路,第一從機(jī)的這 個(gè)自定時(shí)要使原周期定時(shí)量超前上述一個(gè)字節(jié)的傳輸時(shí)間,而第二從機(jī)就需要超前上述兩 個(gè)字節(jié)的傳輸時(shí)間,依此類推,第N從機(jī)超前N個(gè)字節(jié)的傳輸時(shí)間,這樣的話,每個(gè)從機(jī)要求 的超前量是不同的,取決于它們?cè)诖?lián)回路中的先后位置,這種量值的不同會(huì)增加實(shí)現(xiàn)的 難度和降低精度。 但是多字節(jié)傳輸時(shí)間的定時(shí)和單字節(jié)的傳輸時(shí)間定時(shí)相比,上述做法必定會(huì)積累 出更大的誤差;因此,本發(fā)明為此又提出一種改進(jìn)方法,該方法使得每個(gè)從機(jī)只需設(shè)法在 原周期的基礎(chǔ)上超前相同的上述一個(gè)字節(jié)的傳輸時(shí)間就可以了。不難發(fā)現(xiàn),雖然每個(gè)從機(jī)
6相對(duì)主機(jī)的這個(gè)超前量是不同的,但它相對(duì)于串聯(lián)回路中的前一個(gè)從機(jī)的超前量都相同也 即是1個(gè)字節(jié)的串行通訊傳輸時(shí)間,利用這個(gè)特點(diǎn),我們轉(zhuǎn)變一下觀念,前后相鄰的兩個(gè)從 機(jī),把前一個(gè)從機(jī)看成是后一個(gè)從機(jī)的主機(jī),以這種視角來看,每個(gè)從機(jī)前面直接就是主 機(jī),從機(jī)已經(jīng)沒有上面所講的多個(gè)先后級(jí)次了,因而也就不必關(guān)心自己在串聯(lián)回路中的具 體位置,進(jìn)而需要上述幾倍單字節(jié)傳輸時(shí)間的超前。此種主從同步方式的具體做法就是每 個(gè)從機(jī)不要轉(zhuǎn)發(fā)主機(jī)的同步信號(hào),而是主動(dòng)地向下一個(gè)從機(jī)發(fā)送同步信號(hào),這個(gè)同步信號(hào) 發(fā)送時(shí)刻當(dāng)然就是在它開始一個(gè)進(jìn)程的當(dāng)口 ,以它自定時(shí)為準(zhǔn),而這個(gè)自定時(shí)是經(jīng)過上述 過程修正過的;在系統(tǒng)的串聯(lián)回路中,從后往前看,第N從機(jī)的同步來自第N-1從機(jī),那么第 N從機(jī)的同步精度取決于第N-l從機(jī);而第N-l從機(jī)又依賴于更前面的第N-2從機(jī),推理下 去,直到第一從機(jī),它的精度依賴于它前面的主機(jī),這樣整個(gè)過程便完善了 ,主機(jī)通過這個(gè) 串聯(lián)回路,將它的同步精度在從機(jī)中逐級(jí)傳遞,最終貫串全體從機(jī),至此,串行通訊方式中 的主從同步問題便解決了。 本發(fā)明中的主從同步方式的解決,使本發(fā)明前面敘述的自動(dòng)識(shí)別功能真正有了實(shí) 際的用途,它以完整而更強(qiáng)的功能可以替代傳統(tǒng)的并聯(lián)接線通訊方式,簡化了接線的復(fù)雜 程度,延長了通訊的距離。
權(quán)利要求
一種多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式,其特征在于它由從機(jī)的自我識(shí)別方式和主從機(jī)同步方式組成;所述的從機(jī)的自我識(shí)別方式為(1)主機(jī)采用有序數(shù)據(jù)格式指令串,即給第一從機(jī)的指令→給第二從機(jī)的指令…→給第N從機(jī)的指令;從機(jī)指令的內(nèi)容有兩類實(shí)際指令和空指令,主機(jī)要給哪臺(tái)從機(jī)發(fā)指令,則在相應(yīng)的指令塊內(nèi)填入實(shí)際指令,否則填入空指令;(2)從機(jī)采用遞減方式讀取指令,即第一從機(jī)收到主機(jī)發(fā)送來的指令后,讀取第一指令塊中的內(nèi)容,如果是實(shí)際指令就依照?qǐng)?zhí)行,隨即將主機(jī)傳來的后續(xù)指令從第二塊從機(jī)指令開始往下傳,不傳送主機(jī)原來的第一塊指令;第二從機(jī)收到第一從機(jī)發(fā)送過來的新指令中的第一塊指令,實(shí)際是主機(jī)原來的第二塊指令,隨后也像第一從機(jī)那樣,是實(shí)際指令就依照?qǐng)?zhí)行,隨即拋棄當(dāng)前指令塊,而將指令的后續(xù)內(nèi)容往下傳;隨后的各個(gè)從機(jī)也按照上述相同的方式依次往下傳;主機(jī)發(fā)出的各個(gè)從機(jī)的指令能被所有的從機(jī)分別正確地讀到;(3)從機(jī)采用倒序數(shù)據(jù)指令格式,并且以遞增方式添加數(shù)據(jù)所述的從機(jī)的每個(gè)數(shù)據(jù)塊遞增地由對(duì)應(yīng)的從機(jī)分別添加,最后形成的排列次序?yàn)閺暮笸暗牡剐?,也即是如果第一從機(jī)要發(fā)送數(shù)據(jù),它將自己的數(shù)據(jù)塊傳給第二從機(jī);如果第二從機(jī)同時(shí)也有數(shù)據(jù)要發(fā)送,那么它構(gòu)置一個(gè)自己的實(shí)際數(shù)據(jù)塊,否則構(gòu)置一個(gè)空數(shù)據(jù)塊;它先發(fā)送自己的數(shù)據(jù)塊,隨后轉(zhuǎn)發(fā)第一從機(jī)的數(shù)據(jù)塊;其他的從機(jī)也按照上述同樣的方式動(dòng)作;所述的主從機(jī)同步方式為從機(jī)采用自定時(shí)的同步方式,也即是主機(jī)在上電的若干時(shí)間后發(fā)出第一個(gè)同步信號(hào),與此同時(shí),每個(gè)從機(jī)在相同的上電時(shí)刻開始自同步定時(shí);主機(jī)發(fā)每個(gè)同步信號(hào)之間的間隔時(shí)間也即周期固定不變,因此主機(jī)會(huì)按照某個(gè)固定的時(shí)間間隔發(fā)送后續(xù)的同步信號(hào);每個(gè)從機(jī)也是這樣,用與主機(jī)相同的自定時(shí)量來決定自己的同步時(shí)刻,于是在主機(jī)發(fā)送第二個(gè)同步信號(hào)的時(shí)刻,從機(jī)也通過自身定時(shí)開始第二個(gè)工作進(jìn)程;以后的從機(jī)分別按照上述同樣的方式動(dòng)作。
2. 如權(quán)利要求l所述的多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式,其特征在于所述 的從機(jī)的自我識(shí)別方式中的主機(jī)的指令結(jié)構(gòu)和從機(jī)的數(shù)據(jù)結(jié)構(gòu)中還包括分別設(shè)在首尾的 固定標(biāo)識(shí),也即是在主機(jī)指令結(jié)構(gòu)的首尾分別加入主機(jī)指令開始標(biāo)識(shí)和主機(jī)指令結(jié)束標(biāo) 識(shí);在每個(gè)從機(jī)的數(shù)據(jù)結(jié)構(gòu)的首尾分別加入從機(jī)數(shù)據(jù)開始標(biāo)識(shí)和從機(jī)數(shù)據(jù)結(jié)束標(biāo)識(shí)。
3. 如權(quán)利要求l所述的多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式,其特征在于所述 的主從機(jī)同步方式還包括從機(jī)的同步修正,即主從同步方式為每個(gè)從機(jī)不轉(zhuǎn)發(fā)主機(jī)的同 步信號(hào),而是主動(dòng)地向下一個(gè)從機(jī)發(fā)送同步信號(hào),這個(gè)同步信號(hào)發(fā)送時(shí)刻在其開始一個(gè)進(jìn) 程同時(shí),以其自定時(shí)為準(zhǔn),而這個(gè)自定時(shí)已經(jīng)經(jīng)過同步修正;在整個(gè)通訊方式中的回路中, 從后往前看,第N從機(jī)的同步來自第N-1從機(jī),那么第N從機(jī)的同步精度取決于第N-1從機(jī); 而第N-l從機(jī)又依賴于更前面的第N-2從機(jī),依此類推,直到第一從機(jī),而第一從機(jī)的精度 依賴于前面的主機(jī)。
全文摘要
本發(fā)明屬于數(shù)據(jù)通訊技術(shù)領(lǐng)域,具體說是涉及一種多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式。提供一種同時(shí)實(shí)現(xiàn)從機(jī)的自動(dòng)識(shí)別和主從同步問題的多點(diǎn)自動(dòng)識(shí)別和主從同步的串行通訊方式。主機(jī)采用有序數(shù)據(jù)格式指令串,并將指令串發(fā)出,從機(jī)采用遞減方式讀取指令,即將接到收的數(shù)據(jù)指令,按順序遞減后依次傳出,從機(jī)采用倒序數(shù)據(jù)指令格式傳給主機(jī),并且以遞增方式添加數(shù)據(jù),最終完成指令的傳輸,在上述過程中主機(jī)可以隨時(shí)進(jìn)行時(shí)間的調(diào)整。它以完整而更強(qiáng)的功能可以替代傳統(tǒng)的并聯(lián)接線通訊方式,簡化了接線的復(fù)雜程度,延長了通訊的距離。
文檔編號(hào)G06F13/38GK101788965SQ201010114130
公開日2010年7月28日 申請(qǐng)日期2010年2月25日 優(yōu)先權(quán)日2010年2月25日
發(fā)明者俞協(xié)琴, 周吉岷, 朱江華, 游添淵, 胡文忠, 薛亞軍, 許立明 申請(qǐng)人:上海樂春重工機(jī)電設(shè)備有限公司