本發(fā)明涉及總線數(shù)據(jù)傳輸協(xié)議領(lǐng)域,更具體地,涉及到一種基于數(shù)據(jù)傳輸協(xié)議的單總線系統(tǒng)。
背景技術(shù):
在單線系統(tǒng)中,由于所有的從設(shè)備和主設(shè)備之間都是通過同一單線相連接。而要實(shí)現(xiàn)主設(shè)備獲取所有從設(shè)備的數(shù)據(jù)的情況時(shí),需要使用搜索算法得到從設(shè)備的唯一編號(hào),時(shí)間開銷是很長(zhǎng)的。如果單總線系統(tǒng)中掛載的從設(shè)備數(shù)量達(dá)到1000的量級(jí),時(shí)間開銷可能達(dá)到4~5個(gè)小時(shí)。如果主設(shè)備的內(nèi)存比較緊張,無法記錄搜索到的設(shè)備唯一編號(hào),那么每次獲取單總線系統(tǒng)中從設(shè)備的數(shù)據(jù),將變得非常低效。
技術(shù)實(shí)現(xiàn)要素:
針對(duì)上述技術(shù)問題,本發(fā)明的目的在于提供一種基于數(shù)據(jù)傳輸協(xié)議的單總線系統(tǒng),進(jìn)行高效的廣播數(shù)據(jù)傳輸。
為實(shí)現(xiàn)上述目的,本發(fā)明是根據(jù)以下技術(shù)方案實(shí)現(xiàn)的:
一種基于數(shù)據(jù)傳輸協(xié)議的單總線系統(tǒng),包含:
單總線;
主設(shè)備,與所述單總線相連;
至少一個(gè)從設(shè)備,所述從設(shè)備與所述單總線相連;
在所述的單總線系統(tǒng)中,數(shù)據(jù)傳輸協(xié)議將所述的從設(shè)備有序地向所述主設(shè)備進(jìn)行數(shù)據(jù)傳輸,通過數(shù)據(jù)傳輸協(xié)議的廣播消息和廣播數(shù)據(jù)實(shí)現(xiàn)主設(shè)備之間的數(shù)據(jù)有效傳輸。
上述技術(shù)方案中,所有的所述從設(shè)備依次向主設(shè)備發(fā)送數(shù)據(jù),所述從設(shè)備之間不相互沖突。
上述技術(shù)方案中,數(shù)據(jù)傳輸協(xié)議的廣播消息包含:主設(shè)備向從設(shè)備發(fā)送配置的廣播消息,開始傳輸數(shù)據(jù)的廣播消息以及結(jié)束傳輸?shù)膹V播消息。
上述技術(shù)方案中,數(shù)據(jù)傳輸協(xié)議的廣播數(shù)據(jù)包含:從設(shè)備向主設(shè)備發(fā)送開始數(shù)據(jù)傳輸字段、從設(shè)備唯一編號(hào)字段、從設(shè)備數(shù)據(jù)字段、從設(shè)備數(shù)據(jù)校驗(yàn)字段。
上述技術(shù)方案中,從設(shè)備至少包含可更改用戶的位置寄存器,所述位置寄存器在從設(shè)備斷電時(shí)保存已經(jīng)保存的值,
上述技術(shù)方案中,從設(shè)備接收到的廣播消息字段配置最大長(zhǎng)度寄存器的廣播消息和配置傳輸時(shí)間片寄存器的廣播消息。
上述技術(shù)方案中,數(shù)據(jù)傳輸協(xié)議通知所有從設(shè)備準(zhǔn)備傳輸數(shù)據(jù),所有從設(shè)備中的計(jì)數(shù)模塊開始工作,當(dāng)從設(shè)備中計(jì)數(shù)模塊單元滿足發(fā)送條件時(shí),從設(shè)備開始傳輸廣播數(shù)據(jù),當(dāng)數(shù)據(jù)傳輸協(xié)議結(jié)束傳輸廣播消息,所述從設(shè)備進(jìn)入初始狀態(tài)。
上述技術(shù)方案中,數(shù)據(jù)傳輸協(xié)議中設(shè)定的發(fā)送條件是根據(jù)位置寄存器、最大長(zhǎng)度寄存器以及傳輸時(shí)間片寄存器所計(jì)算出來的值和計(jì)數(shù)模塊中的時(shí)間所比較的結(jié)果,如果計(jì)數(shù)模塊中的時(shí)間值小于寄存器計(jì)算的值,所述從設(shè)備不發(fā)送廣播數(shù)據(jù),否則發(fā)送廣播數(shù)據(jù),發(fā)送廣播數(shù)據(jù)之后,所述從設(shè)備進(jìn)入等待結(jié)束廣播消息狀態(tài)。
本發(fā)明與現(xiàn)有技術(shù)相比,具有如下有益效果:
本發(fā)明可以通過單總線系統(tǒng)進(jìn)行高效的數(shù)據(jù)傳輸,并保證數(shù)據(jù)傳輸過程中的安全性,最大化提高所有從設(shè)備發(fā)送數(shù)據(jù)到主設(shè)備的數(shù)據(jù)傳輸效率,改進(jìn)原先的主設(shè)備搜索到從設(shè)備唯一編號(hào),主設(shè)備匹配從設(shè)備唯一編號(hào),再?gòu)脑O(shè)備向主設(shè)備發(fā)送數(shù)據(jù)的低效費(fèi)時(shí)傳輸模式。
附圖說明
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其它附圖。
圖1為本發(fā)明的單總線系統(tǒng);
圖2為本發(fā)明的數(shù)據(jù)傳輸協(xié)議;
圖3a為本發(fā)明的一般廣播消息字段;
圖3b為本發(fā)明的配置寄存器廣播消息字段;
圖3c為本發(fā)明的廣播數(shù)據(jù)字段;
圖4為本發(fā)明的從設(shè)備數(shù)據(jù)傳輸?shù)臓顟B(tài)轉(zhuǎn)換。
具體實(shí)施方式
為使本發(fā)明實(shí)施例的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對(duì)本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例。
本發(fā)明涉及單總線系統(tǒng)中至少兩個(gè)設(shè)備主之間的數(shù)據(jù)傳輸協(xié)議。主從設(shè)備之間的數(shù)據(jù)傳輸使用邏輯0和邏輯1組成的數(shù)據(jù)包進(jìn)行雙向傳輸。
在單總線系統(tǒng)中,通常主設(shè)備為了獲取從設(shè)備的信息,只能通過搜索算法獲取從設(shè)備的唯一編號(hào),發(fā)送匹配唯一編號(hào)命令,從設(shè)備發(fā)送數(shù)據(jù)給主設(shè)備。如果主設(shè)備需要保存單總線系統(tǒng)中所有從設(shè)備的唯一編號(hào),將產(chǎn)生較大的內(nèi)存空間需求,增加主設(shè)備的開發(fā)成本。如果主設(shè)備不能保存所有的從設(shè)備唯一編號(hào),每次都要使用搜索算法,將耗費(fèi)很長(zhǎng)的時(shí)間。
圖1為本發(fā)明的單總線系統(tǒng),如圖1所示,本發(fā)明的一種基于數(shù)據(jù)傳輸協(xié)議的單總線系統(tǒng),包含:?jiǎn)慰偩€;主設(shè)備,與所述單總線相連;至少一個(gè)從設(shè)備,所述從設(shè)備與所述單總線相連;在所述的單總線系統(tǒng)中,數(shù)據(jù)傳輸協(xié)議將所述的從設(shè)備有序地向所述主設(shè)備進(jìn)行數(shù)據(jù)傳輸,通過數(shù)據(jù)傳輸協(xié)議的廣播消息和廣播數(shù)據(jù)實(shí)現(xiàn)主設(shè)備之間的數(shù)據(jù)有效傳輸。本發(fā)明的主設(shè)備和從設(shè)備都通過單總線相連接。所有的從設(shè)備依次向主設(shè)備發(fā)送數(shù)據(jù),從設(shè)備之間不相互沖突。每根單線上掛載一定量的從設(shè)備,然后把這些線相連接接到主設(shè)備上,形成一個(gè)典型的星型單總線系統(tǒng)。用戶根據(jù)星型總線結(jié)構(gòu),預(yù)先改寫位置寄存器的值。主設(shè)備需要知道單線上最多從設(shè)備的數(shù)量和單一從設(shè)備發(fā)送廣播數(shù)據(jù)所需要的時(shí)間片,這些信息稱為單總線結(jié)構(gòu)信息。
數(shù)據(jù)傳輸協(xié)議的廣播消息包含:主設(shè)備向從設(shè)備發(fā)送配置的廣播消息,開始傳輸數(shù)據(jù)的廣播消息以及結(jié)束傳輸?shù)膹V播消息。數(shù)據(jù)傳輸協(xié)議的廣播數(shù)據(jù)包含:從設(shè)備向主設(shè)備發(fā)送開始數(shù)據(jù)傳輸字段、從設(shè)備唯一編號(hào)字段、從設(shè)備數(shù)據(jù)字段、從設(shè)備數(shù)據(jù)校驗(yàn)字段。
其中,本發(fā)明的從設(shè)備至少包含可更改用戶的位置寄存器(reggridx,reggridy),所述位置寄存器在從設(shè)備斷電時(shí)保存已經(jīng)保存的值,
數(shù)據(jù)傳輸協(xié)議通知所有從設(shè)備準(zhǔn)備傳輸數(shù)據(jù),所有從設(shè)備中的計(jì)數(shù)模塊開始工作,當(dāng)從設(shè)備中計(jì)數(shù)模塊單元滿足發(fā)送條件時(shí),從設(shè)備開始傳輸廣播數(shù)據(jù),當(dāng)數(shù)據(jù)傳輸協(xié)議結(jié)束傳輸廣播消息,所述從設(shè)備進(jìn)入初始狀態(tài)。
數(shù)據(jù)傳輸協(xié)議中設(shè)定的發(fā)送條件是根據(jù)位置寄存器、最大長(zhǎng)度寄存器以及傳輸時(shí)間片寄存器所計(jì)算出來的值和計(jì)數(shù)模塊中的時(shí)間所比較的結(jié)果,如果計(jì)數(shù)模塊中的時(shí)間值小于寄存器計(jì)算的值,所述從設(shè)備不發(fā)送廣播數(shù)據(jù),否則發(fā)送廣播數(shù)據(jù),發(fā)送廣播數(shù)據(jù)之后,所述從設(shè)備進(jìn)入等待結(jié)束廣播消息狀態(tài)。
主設(shè)備根據(jù)單總線結(jié)構(gòu)信息,主設(shè)備發(fā)送配置寄存器廣播消息。從設(shè)備接收到的廣播消息字段,如圖3b所示,配置最大長(zhǎng)度寄存器(regmaxlength)的廣播消息和配置傳輸時(shí)間片寄存器(regslot)的廣播消息。從設(shè)備計(jì)數(shù)模塊將計(jì)算出發(fā)送條件閾值,計(jì)算的算法有很多,其中一個(gè)典型的例子是:
sendthreashold=(reggridx*regmaxlength+reggridy)*regslot
由于每個(gè)從設(shè)備的位置寄存器reggridx和reggridy在單總線系統(tǒng)中是唯一的,可以保證所有的廣播數(shù)據(jù)是有序發(fā)送給主設(shè)備而不沖突。
主設(shè)備發(fā)送的開始廣播消息給從設(shè)備,如圖3a所示,單總線系統(tǒng)中的從設(shè)備一旦接收到這個(gè)消息,計(jì)數(shù)模塊開始工作。從設(shè)備從初始狀態(tài)進(jìn)入等待傳輸狀態(tài),如圖4所示。當(dāng)從設(shè)備的計(jì)數(shù)模塊的時(shí)間值等于sendthreashold時(shí),此從設(shè)備開始發(fā)送數(shù)據(jù)并進(jìn)入傳輸狀態(tài)。開始向主設(shè)備發(fā)送的廣播數(shù)據(jù),如圖3c所示。當(dāng)數(shù)據(jù)發(fā)送結(jié)束,計(jì)數(shù)模塊停止工作,并進(jìn)入等待結(jié)束狀態(tài)。主設(shè)備發(fā)現(xiàn)開始字段,就統(tǒng)計(jì)了一個(gè)從設(shè)備。就開始解析其后的各個(gè)字段,從而得到從設(shè)備的位置信息和數(shù)據(jù)。
當(dāng)主設(shè)備發(fā)現(xiàn)統(tǒng)計(jì)的從設(shè)備數(shù)目達(dá)到總數(shù),就發(fā)送結(jié)束傳輸廣播消息。單總線系統(tǒng)中的所有從設(shè)備回到初始狀態(tài)。如果由于其他的原因,主設(shè)備也可以發(fā)送結(jié)束傳輸廣播消息。從設(shè)備也從任何狀態(tài)回到初始狀態(tài)。
本發(fā)明保證數(shù)據(jù)傳輸過程中的安全性,安全性體現(xiàn)在技術(shù)協(xié)議的私密性和可靠性。單總線系統(tǒng)以往的專利都沒有強(qiáng)調(diào)私密性,因?yàn)槿绻砑恿怂矫苄?,就將電路?fù)雜化,增加成本。況且,單總線系統(tǒng)是有線的連接,不會(huì)存在信息竊取的情況。在可靠性方面,主設(shè)備接收到從設(shè)備送來的廣播數(shù)據(jù),計(jì)算校驗(yàn)碼和廣播數(shù)據(jù)中的校驗(yàn)碼字段進(jìn)行對(duì)比,如果不一致,主設(shè)備將記錄下廣播數(shù)據(jù)中的唯一編碼字段。在主設(shè)備發(fā)送結(jié)束傳輸廣播消息后,主設(shè)備再使用記錄的唯一編碼去單獨(dú)讀取相對(duì)應(yīng)從設(shè)備的數(shù)據(jù)。
本發(fā)明在最短的時(shí)間內(nèi)可以把所有的從設(shè)備數(shù)據(jù)讀出來,而又確保所有的數(shù)據(jù)在總線上不沖突。
以上對(duì)本發(fā)明的具體實(shí)施例進(jìn)行了描述。需要理解的是,本發(fā)明并不局限于上述特定實(shí)施方式,本領(lǐng)域技術(shù)人員可以在權(quán)利要求的范圍內(nèi)做出各種變化或修改,這并不影響本發(fā)明的實(shí)質(zhì)內(nèi)容。在不沖突的情況下,本申請(qǐng)的實(shí)施例和實(shí)施例中的特征可以任意相互組合。