專利名稱:基于地址空間訪問的異步串行總線通信方法及從節(jié)點(diǎn)結(jié)構(gòu)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種基于地址空間訪問的異步串行總線通信方法以及用于該方法的從節(jié)點(diǎn)結(jié)構(gòu)。
背景技術(shù):
現(xiàn)代的通訊系統(tǒng),從整個(gè)系統(tǒng)來看,可能有一個(gè)主節(jié)點(diǎn),多個(gè)從節(jié)點(diǎn),主節(jié)點(diǎn)和從節(jié)點(diǎn)都通過異步串行總線進(jìn)行互相通信,比如上報(bào)消息,下發(fā)路由、檢測狀態(tài)等等,圖1所示為一個(gè)典型的總線式系統(tǒng)。串行通信在工業(yè)控制設(shè)備、電信設(shè)備和IT領(lǐng)域有著廣泛應(yīng)用,是實(shí)現(xiàn)遠(yuǎn)程測控和系統(tǒng)節(jié)點(diǎn)檢測的重要手段。如人們可以在任何地方的銀行ATM機(jī)器上取錢,可以在許多商場進(jìn)行信用卡消費(fèi);交通警察可以通過監(jiān)視器掌控超速車輛的車牌號、了解道路交通的擁塞狀況;氣象學(xué)家可以通過衛(wèi)星獲取無人值守地區(qū)的氣象數(shù)據(jù)資料。雖然在節(jié)點(diǎn)的異步串行通信實(shí)現(xiàn)中,在細(xì)節(jié)上有千差萬別,但是主從節(jié)點(diǎn)的大體結(jié)構(gòu)如圖2所示,各節(jié)點(diǎn)都有一個(gè)CPU及其外圍電路,負(fù)責(zé)各節(jié)點(diǎn)的處理任務(wù)配置、狀態(tài)上報(bào)、告警上報(bào)、數(shù)據(jù)收發(fā)等消息。主從節(jié)點(diǎn)完全是兩種設(shè)備,主從節(jié)點(diǎn)之間是通過消息進(jìn)行相互通信,即節(jié)點(diǎn)通信按協(xié)議約定消息內(nèi)容的傳遞解析來實(shí)現(xiàn)。在這種實(shí)現(xiàn)中,該方法存在以下缺點(diǎn)1)為了實(shí)現(xiàn)通信,對于節(jié)點(diǎn)尤其是從節(jié)點(diǎn),需要CPU及其外圍器件,因此成本較高;2)上述方法中,要分別開發(fā)和維護(hù)主從節(jié)點(diǎn)軟件,降低了產(chǎn)品研發(fā)的進(jìn)度,并且軟件開發(fā)要針對不同的CPU,可移植性差。
3)上述主從節(jié)點(diǎn)的結(jié)構(gòu)比較復(fù)雜,出現(xiàn)故障時(shí)定位困難;4)由于從節(jié)點(diǎn)有CPu及其外圍等失效率高的器件,系統(tǒng)的可靠性低。
發(fā)明內(nèi)容
本發(fā)明所要解決的技術(shù)問題是提出一種基于地址空間訪問的異步串行總線通信方法,該方法可以去掉從節(jié)點(diǎn)的CPU及其外圍器件,從而降低系統(tǒng)成本,提高系統(tǒng)的可靠性。
本發(fā)明的另一目的是提出一種適用于上述方法的從節(jié)點(diǎn)結(jié)構(gòu),所述的從節(jié)點(diǎn)結(jié)構(gòu)去掉了CPU及其外圍器件。
本發(fā)明為解決上述技術(shù)問題所采用的技術(shù)方案為一種基于地址空間訪問的異步串行總線通信方法,主節(jié)點(diǎn)與若干從節(jié)點(diǎn)通過異步串行總線連接;所述方法包括以下步驟A、將所述從節(jié)點(diǎn)作為所述主節(jié)點(diǎn)通過總線物理延伸的外圍設(shè)施;B、所述主節(jié)點(diǎn)給所述從節(jié)點(diǎn)分配一個(gè)能唯一區(qū)分某一從節(jié)點(diǎn)的從節(jié)點(diǎn)地址范圍;且所述從節(jié)點(diǎn)確定出一個(gè)本節(jié)點(diǎn)上所有I/O設(shè)備讀寫地址空間;C、通過主節(jié)點(diǎn)訪問所述從節(jié)點(diǎn)讀寫地址空間來實(shí)現(xiàn)所述主、從節(jié)點(diǎn)之間的通訊。
所述的方法,其中所述從節(jié)點(diǎn)地址范圍由從節(jié)點(diǎn)上的多個(gè)I/O設(shè)備的地址組成;所述步驟C包括如下步驟C1、所述主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送包含從節(jié)點(diǎn)地址范圍的讀寫消息;C2、從節(jié)點(diǎn)根據(jù)所述讀寫消息中的從節(jié)點(diǎn)地址范圍判斷所述讀寫消息是否為發(fā)往本節(jié)點(diǎn)的;C3、當(dāng)所述從節(jié)點(diǎn)確定所述讀寫消息是發(fā)給本節(jié)點(diǎn)的時(shí),所述從節(jié)點(diǎn)根據(jù)所述讀寫消息內(nèi)容,在所述讀寫地址空間內(nèi)完成相應(yīng)讀寫操作;并向所述主節(jié)點(diǎn)返回應(yīng)答消息。
所述的方法,其中所述步驟C還包括步驟C4所述主節(jié)點(diǎn)根據(jù)從節(jié)點(diǎn)應(yīng)答的內(nèi)容進(jìn)行下一步的動作。
所述的方法,其中所述讀寫/應(yīng)答消息的格式中包括從節(jié)點(diǎn)地址、讀/寫狀態(tài)、讀/寫校驗(yàn)、讀/寫完成、讀/寫內(nèi)容、消息校驗(yàn)。
所述的方法,其中對于所述主節(jié)點(diǎn)的讀操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析讀消息內(nèi)容;C32、當(dāng)所述讀消息內(nèi)容正確時(shí),進(jìn)行相應(yīng)的讀取操作;否則,返回讀失??;C33、當(dāng)讀取操作成功時(shí),所述從節(jié)點(diǎn)返回讀取的內(nèi)容給主節(jié)點(diǎn);否則,返回讀失?。粚τ谒鲋鞴?jié)點(diǎn)的寫操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析寫消息內(nèi)容;C32、當(dāng)所述寫消息內(nèi)容正確時(shí),將數(shù)據(jù)寫入相應(yīng)設(shè)備;否則,返回寫失?。籆33、當(dāng)寫操作成功時(shí),所述從節(jié)點(diǎn)返回寫成功給主節(jié)點(diǎn);否則,返回寫失敗。
一種用于上述方法的從節(jié)點(diǎn)結(jié)構(gòu),包括業(yè)務(wù)接口芯片;還包括一用于實(shí)現(xiàn)總線接口功能的總線接口器件,所述業(yè)務(wù)接口芯片通過所述總線接口器件接入總線。
所述的從節(jié)點(diǎn)結(jié)構(gòu),其中所述總線接口器件包括總線接口控制器和業(yè)務(wù)接口控制器,該二者之間通過內(nèi)部總線連接,并且所述業(yè)務(wù)接口控制器與所述業(yè)務(wù)接口芯片相連;所述總線接口控制器根據(jù)所述讀寫消息中從節(jié)點(diǎn)上某個(gè)I/O設(shè)備的地址,對該I/O設(shè)備進(jìn)行讀寫操作。
本發(fā)明的有益效果為本發(fā)明中,由于將從節(jié)點(diǎn)視作為主節(jié)點(diǎn)通過總線物理延伸的外圍設(shè)施,主從節(jié)點(diǎn)的通信是通過訪問地址空間來實(shí)現(xiàn)的,這與現(xiàn)有技術(shù)中主從節(jié)點(diǎn)之間是通過消息進(jìn)行相互通信,主從節(jié)點(diǎn)都是一個(gè)獨(dú)立的設(shè)備具有實(shí)質(zhì)上的不同;因此本發(fā)明中,從節(jié)點(diǎn)可以去掉CPU及其外圍器件,并由此帶來以下的效果1、極大地降低了開發(fā)成本;2)有效地減少了工作量,大大地提高了開發(fā)進(jìn)度,釋放維護(hù)成本。3)技術(shù)可行性強(qiáng),應(yīng)用方便,占用資源少;5)無需改動總線結(jié)構(gòu),具有良好的適應(yīng)性;6)由于去掉了CPU及其外圍等失效率高的器件,從而提高系統(tǒng)的可靠性。
圖1為串行總線系統(tǒng)示意2為現(xiàn)有技術(shù)總線系統(tǒng)主從節(jié)點(diǎn)結(jié)構(gòu)示意3為本發(fā)明流程4為本發(fā)明從節(jié)點(diǎn)結(jié)構(gòu)示意5為本發(fā)明從節(jié)點(diǎn)消息處理流程6為本發(fā)明消息格式示意圖具體實(shí)施方式
下面根據(jù)附圖和實(shí)施例對本發(fā)明作進(jìn)一步詳細(xì)說明一種基于地址空間訪問的異步串行總線通信方法,如圖1所示,不改變原來的總線結(jié)構(gòu),主節(jié)點(diǎn)與若干個(gè)從節(jié)點(diǎn)通過異步串行總線連接;與現(xiàn)有技術(shù)不同的是,如圖3所示,將從節(jié)點(diǎn)作為主節(jié)點(diǎn)通過總線物理延伸的外圍設(shè)施,此時(shí),主節(jié)點(diǎn)仍采用圖2所示的結(jié)構(gòu),而從節(jié)點(diǎn)則采用圖4所示的結(jié)構(gòu),即從節(jié)點(diǎn)包括業(yè)務(wù)接口芯片、總線接口器件,所述業(yè)務(wù)接口芯片通過總線接口器件接入串行總線,而總線接口器件包括總線接口控制器和業(yè)務(wù)接口控制器,該二者之間通過內(nèi)部總線連接,并且業(yè)務(wù)接口控制器與業(yè)務(wù)接口芯片相通。在這里,總線接口器件不但實(shí)現(xiàn)總線接口功能而且實(shí)現(xiàn)總線接口/業(yè)務(wù)接口控制器的功能,還同時(shí)負(fù)責(zé)本節(jié)點(diǎn)狀態(tài)的收集、配置、檢測等管理維護(hù)功能。這樣,從節(jié)點(diǎn)就可以去掉CPU及其外圍器件。由于從節(jié)點(diǎn)是主節(jié)點(diǎn)的一部分,所以一個(gè)從節(jié)點(diǎn)分享部分主節(jié)點(diǎn)的I/O地址空間,即與主節(jié)點(diǎn)上的器件(芯片)一起參與主節(jié)點(diǎn)的I/O地址空間的分配。此時(shí),主節(jié)點(diǎn)給從節(jié)點(diǎn)分配一個(gè)從節(jié)點(diǎn)地址范圍,所述從節(jié)點(diǎn)地址范圍是由從節(jié)點(diǎn)上的多個(gè)I/O設(shè)備的地址組成,此地址范圍必須是獨(dú)立的,不可重復(fù)和重疊,也就是說從節(jié)點(diǎn)地址范圍能唯一區(qū)分某一從節(jié)點(diǎn);并且所述從節(jié)點(diǎn)需要確定出一個(gè)本節(jié)點(diǎn)上所有I/O設(shè)備讀寫地址空間,對本節(jié)點(diǎn)上所有I/O設(shè)備的讀寫操作都通過總線接口器件在這個(gè)地址空間內(nèi)進(jìn)行。然后,通過主節(jié)點(diǎn)訪問所述從節(jié)點(diǎn)讀寫地址空間來實(shí)現(xiàn)所述主、從節(jié)點(diǎn)之間的通訊,其具體步驟為C1、所述主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送包含從節(jié)點(diǎn)地址范圍的讀寫消息;C2、從節(jié)點(diǎn)根據(jù)讀寫消息中的從節(jié)點(diǎn)地址范圍判斷所述讀寫消息是否為發(fā)往本節(jié)點(diǎn)的;若不是則不予應(yīng)答,若是,則;C3、從節(jié)點(diǎn)根據(jù)所述讀寫消息內(nèi)容,在所述讀寫地址空間內(nèi)完成相應(yīng)讀寫操作,并向所述主節(jié)點(diǎn)返回應(yīng)答消息;在此步驟中,由于主節(jié)點(diǎn)發(fā)送的數(shù)據(jù)中包含從節(jié)點(diǎn)上某個(gè)I/O設(shè)備的地址,從節(jié)點(diǎn)總線器件上的總線控制器根據(jù)這些地址對本節(jié)點(diǎn)上I/O設(shè)備直接進(jìn)行讀寫操作;C4、所述主節(jié)點(diǎn)解析應(yīng)答消息內(nèi)容,并根據(jù)從節(jié)點(diǎn)應(yīng)答的內(nèi)容進(jìn)行下一步的動作,如復(fù)位從節(jié)點(diǎn)、發(fā)出告警等等。
根據(jù)收到主節(jié)點(diǎn)讀或?qū)懖煌南ⅲ瑥墓?jié)點(diǎn)的具體處理方法上有所區(qū)別,參見圖5,即對于所述主節(jié)點(diǎn)的讀操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析讀消息內(nèi)容;C32、當(dāng)所述讀消息內(nèi)容正確時(shí),進(jìn)行相應(yīng)的讀取操作;否則,返回讀失??;C33、當(dāng)讀取操作成功時(shí),所述從節(jié)點(diǎn)返回讀取的內(nèi)容給主節(jié)點(diǎn);否則,返回讀失敗;對于所述主節(jié)點(diǎn)的寫操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析寫消息內(nèi)容;C32、當(dāng)所述寫消息內(nèi)容正確時(shí),將數(shù)據(jù)(內(nèi)容)寫入相應(yīng)設(shè)備;否則,返回寫失?。籆33、當(dāng)寫操作成功時(shí),所述從節(jié)點(diǎn)返回寫成功給主節(jié)點(diǎn);否則,返回寫失敗。
從以上的敘述可以看出,主從通信實(shí)際上是主節(jié)點(diǎn)基于自身I/O地址空間來讀寫訪問從節(jié)點(diǎn)。由于基于地址空間讀寫應(yīng)用非常普遍,很是成熟,這無疑極大的簡化了設(shè)計(jì)。
主從節(jié)點(diǎn)間的讀寫和應(yīng)答消息格式根據(jù)具體的總線類型有所不同,可以采用多種消息格式,本實(shí)施例中讀寫/應(yīng)答消息采用如圖6所示的消息格式,即包括從節(jié)點(diǎn)地址、讀/寫狀態(tài)、讀/寫校驗(yàn)、讀/寫完成、讀/寫內(nèi)容、消息校驗(yàn)。因此,對于主節(jié)點(diǎn)的讀操作,從節(jié)點(diǎn)返回的數(shù)據(jù)中包含從節(jié)點(diǎn)地址,讀/寫狀態(tài)位、是否正確收到讀消息位(讀寫校驗(yàn))、是否完成讀取數(shù)據(jù)狀態(tài)位;然后是讀取數(shù)據(jù)內(nèi)容,以及校驗(yàn);而對于主節(jié)點(diǎn)的寫操作,從節(jié)點(diǎn)返回的數(shù)據(jù)中包含從節(jié)點(diǎn)地址、讀/寫狀態(tài)位、是否正確收到寫消息位(讀寫校驗(yàn))、是否完成寫操作位以及校驗(yàn)。
本發(fā)明所述的基于地址空間訪問的異步串行總線通信方法,除上述實(shí)施方式中所述的具體示例外,還可以有很多實(shí)現(xiàn)方式,例如,采用不同總線,或從節(jié)點(diǎn)采用其他結(jié)構(gòu)形式,以及主從節(jié)點(diǎn)通信采用不同的消息格式;或者有些系統(tǒng)中不是明顯的區(qū)分主從節(jié)點(diǎn),此時(shí)有些節(jié)點(diǎn)仍采用圖2的物理結(jié)構(gòu),但當(dāng)其作為從節(jié)點(diǎn)時(shí),由于其主控單元不參與主從節(jié)點(diǎn)通信方面的工作,其邏輯結(jié)構(gòu)符合圖3的結(jié)構(gòu)形式,等等。對本領(lǐng)域普通技術(shù)人員來說,可以根據(jù)本發(fā)明的技術(shù)方案及其發(fā)明構(gòu)思加以等同替換或改變,但所有這些改變或替換都應(yīng)屬于本發(fā)明所附的權(quán)利要求的保護(hù)范圍。
權(quán)利要求
1.一種基于地址空間訪問的異步串行總線通信方法,主節(jié)點(diǎn)與若干從節(jié)點(diǎn)通過異步串行總線連接;所述方法包括以下步驟A、將所述從節(jié)點(diǎn)作為所述主節(jié)點(diǎn)通過總線物理延伸的外圍設(shè)施;B、所述主節(jié)點(diǎn)給所述從節(jié)點(diǎn)分配一個(gè)能唯一區(qū)分某一從節(jié)點(diǎn)的從節(jié)點(diǎn)地址范圍;且所述從節(jié)點(diǎn)確定出一個(gè)本節(jié)點(diǎn)上所有I/O設(shè)備讀寫地址空間;C、通過主節(jié)點(diǎn)訪問所述從節(jié)點(diǎn)讀寫地址空間來實(shí)現(xiàn)所述主、從節(jié)點(diǎn)之間的通訊。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于所述從節(jié)點(diǎn)地址范圍由從節(jié)點(diǎn)上的多個(gè)I/O設(shè)備的地址組成;所述步驟C包括如下步驟C1、所述主節(jié)點(diǎn)向從節(jié)點(diǎn)發(fā)送包含從節(jié)點(diǎn)地址范圍的讀寫消息;C2、從節(jié)點(diǎn)根據(jù)所述讀寫消息中的從節(jié)點(diǎn)地址范圍判斷所述讀寫消息是否為發(fā)往本節(jié)點(diǎn)的;C3、當(dāng)所述從節(jié)點(diǎn)確定所述讀寫消息是發(fā)給本節(jié)點(diǎn)的時(shí),所述從節(jié)點(diǎn)根據(jù)所述讀寫消息內(nèi)容,在所述讀寫地址空間內(nèi)完成相應(yīng)讀寫操作;并向所述主節(jié)點(diǎn)返回應(yīng)答消息。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于所述步驟C還包括步驟C4所述主節(jié)點(diǎn)根據(jù)從節(jié)點(diǎn)應(yīng)答的內(nèi)容進(jìn)行下一步的動作。
4.根據(jù)權(quán)利要求3所述的方法,其特征在于所述讀寫/應(yīng)答消息的格式中包括從節(jié)點(diǎn)地址、讀/寫狀態(tài)、讀/寫校驗(yàn)、讀/寫完成、讀/寫內(nèi)容、消息校驗(yàn)。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于對于所述主節(jié)點(diǎn)的讀操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析讀消息內(nèi)容;C32、當(dāng)所述讀消息內(nèi)容正確時(shí),進(jìn)行相應(yīng)的讀取操作;否則,返回讀失?。籆33、當(dāng)讀取操作成功時(shí),所述從節(jié)點(diǎn)返回讀取的內(nèi)容給主節(jié)點(diǎn);否則,返回讀失??;對于所述主節(jié)點(diǎn)的寫操作,所述步驟C3包括如下具體步驟C31、所述從節(jié)點(diǎn)解析寫消息內(nèi)容;C32、當(dāng)所述寫消息內(nèi)容正確時(shí),將數(shù)據(jù)寫入相應(yīng)設(shè)備;否則,返回寫失敗;C33、當(dāng)寫操作成功時(shí),所述從節(jié)點(diǎn)返回寫成功給主節(jié)點(diǎn);否則,返回寫失敗。
6.一種用于權(quán)利要求1所述方法的從節(jié)點(diǎn)結(jié)構(gòu),包括業(yè)務(wù)接口芯片;其特征在于還包括一用于實(shí)現(xiàn)總線接口功能的總線接口器件,所述業(yè)務(wù)接口芯片通過所述總線接口器件接入總線。
7.根據(jù)權(quán)利要求6所述的從節(jié)點(diǎn)結(jié)構(gòu),其特征在于所述總線接口器件包括總線接口控制器和業(yè)務(wù)接口控制器,該二者之間通過內(nèi)部總線連接,并且所述業(yè)務(wù)接口控制器與所述業(yè)務(wù)接口芯片相連;所述總線接口控制器根據(jù)所述讀寫消息中從節(jié)點(diǎn)上某個(gè)I/O設(shè)備的地址,對該I/O設(shè)備進(jìn)行讀寫操作。
全文摘要
一種基于地址空間訪問的異步串行總線通信方法及從節(jié)點(diǎn)結(jié)構(gòu),主節(jié)點(diǎn)與若干從節(jié)點(diǎn)通過異步串行總線連接;包括以下步驟A.將從節(jié)點(diǎn)作為主節(jié)點(diǎn)通過總線物理延伸的外圍設(shè)施;B.主節(jié)點(diǎn)給從節(jié)點(diǎn)分配一個(gè)能唯一區(qū)分某一從節(jié)點(diǎn)的從節(jié)點(diǎn)地址范圍;且從節(jié)點(diǎn)確定出一個(gè)本節(jié)點(diǎn)上所有I/O設(shè)備讀寫地址空間;C.通過主節(jié)點(diǎn)訪問從節(jié)點(diǎn)讀寫地址空間來實(shí)現(xiàn)所述主、從節(jié)點(diǎn)之間的通訊。該方法可以去掉從節(jié)點(diǎn)的CPU及其外圍器件,從而降低系統(tǒng)成本,提高系統(tǒng)的可靠性。
文檔編號H04L12/00GK1790990SQ20041007768
公開日2006年6月21日 申請日期2004年12月17日 優(yōu)先權(quán)日2004年12月17日
發(fā)明者甘衛(wèi)東, 葉杰成 申請人:華為技術(shù)有限公司