專利名稱:一種總線高速通信的方法及接口的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信領(lǐng)域,尤其涉及一種總線高速通信的方法及接口 。
背景技術(shù):
高速串行總線用于卡件(包括主控卡和從卡)之間的高速數(shù)據(jù)傳輸。高
速串行總線對數(shù)據(jù)的調(diào)度通常使用主從方式和令牌方式;高速串行總線上的數(shù)據(jù)通常分為實(shí)時(shí)數(shù)據(jù)和管理數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)為主控卡通過高速串行總線與從卡交換的實(shí)時(shí)數(shù)據(jù),管理數(shù)據(jù)為主控卡用于配置、診斷和管理從卡的數(shù)據(jù)。
高速串行總線上的這兩種類型的數(shù)據(jù)具有很大的差異性,實(shí)時(shí)數(shù)據(jù)具有很強(qiáng)的實(shí)時(shí)性,要求傳輸速率高、響應(yīng)及時(shí),通常采用主從方式進(jìn)行傳輸,即主控卡發(fā)出一數(shù)據(jù)包,從卡響應(yīng)一數(shù)據(jù)包;而管理數(shù)據(jù),對實(shí)時(shí)性要求不高,而且不一定都有響應(yīng),通常由主控卡發(fā)送令牌,從卡只有在接收到令牌的情況下才可以發(fā)送數(shù)據(jù);而且管理數(shù)據(jù)包括廣播數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)則不包括。
現(xiàn)有的實(shí)現(xiàn)方式中,在通過串行總線對數(shù)據(jù)進(jìn)行傳輸時(shí),把實(shí)時(shí)數(shù)據(jù)和管理數(shù)據(jù)通過一個(gè)數(shù)據(jù)通道中進(jìn)行傳輸,采用對設(shè)備輪詢、半雙工的方式進(jìn)行通信,主控卡發(fā)送一數(shù)據(jù)包,從卡收到后回送一數(shù)據(jù)包,而且輪詢一個(gè)從卡后,需保持總線空閑一段比較長的時(shí)間段才能輪詢下一個(gè)從卡。
因此,現(xiàn)有技術(shù)至少存在以下缺陷通過串行總線通信時(shí),采用一個(gè)數(shù)據(jù)通道傳輸不同類型的數(shù)據(jù),總線傳輸速率低,易4吏總線繁忙,不能及時(shí)傳輸數(shù)據(jù),導(dǎo)致串行總線的輸出速率較低,效率低;進(jìn)一步地,由于只有一個(gè)數(shù)據(jù)通道可用于數(shù)據(jù)傳輸, 一旦該數(shù)據(jù)通道發(fā)生故障,容易導(dǎo)致總線癱瘓,可靠性低,進(jìn)一步地;由于采用半雙工的通信方式,因而,對一個(gè)從卡輪詢時(shí),需要總線保持較長的空閑時(shí)間,才能進(jìn)行下一個(gè)從卡的輪詢,在等待上耗費(fèi)了很多時(shí)間,降低了總線的效率。
發(fā)明內(nèi)容
本發(fā)明實(shí)施例提供一種總線高速通信的方法及接口 ,解決現(xiàn)有技術(shù)中通過串行總線通信時(shí),采用一個(gè)數(shù)據(jù)通道傳輸不同類型的數(shù)據(jù)的問題,極大地提高了串行總線的輸出速率,提高了總線的效率,可靠性高。
為解決上述技術(shù)問題,本發(fā)明實(shí)施例提供一種總線高速通信的方法,包
括
接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),通過開關(guān)設(shè)備,將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)通道上;或者
通過開關(guān)設(shè)備接收從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);并將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給數(shù)據(jù)處理單元。
優(yōu)選地,所述不同的數(shù)據(jù)通道至少包括實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道,所述實(shí)時(shí)數(shù)據(jù)通道,用于傳輸實(shí)時(shí)數(shù)據(jù);所述管理數(shù)據(jù)通道用于傳輸管理數(shù)據(jù)或傳輸管理數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)。
優(yōu)選地,傳輸實(shí)時(shí)數(shù)據(jù)時(shí),采用全雙工通信方式;傳輸管理數(shù)據(jù),采用半雙工通信方式。
相應(yīng)地,本發(fā)明實(shí)施例提供一種總線高速通信的接口,包括接收/發(fā)送單元和開關(guān)設(shè)備,
所述接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);
所述開關(guān)設(shè)備,用于將接收到的所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)通道;或者將從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給接收/發(fā)送單元。
優(yōu)選地,所述接收/發(fā)送單元包括
實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù),將所述實(shí)時(shí)數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從實(shí)時(shí)數(shù)據(jù)通道
接收到的實(shí)時(shí)數(shù)據(jù);
管理數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的管理數(shù)據(jù),將所述管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從管理數(shù)據(jù)通道
接收到的管理數(shù)據(jù)。
優(yōu)選地,所述開關(guān)設(shè)備包括
實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備用于將接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送到實(shí)時(shí)數(shù)據(jù)通道,或?qū)膶?shí)時(shí)數(shù)據(jù)通道接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送給接收/發(fā)送單元;
管理數(shù)據(jù)開關(guān)設(shè)備,用于將接收到的管理數(shù)據(jù)發(fā)送到管理數(shù)據(jù)通道,或?qū)墓芾頂?shù)據(jù)通道接收到的管理數(shù)據(jù)發(fā)送給接收/發(fā)送單元。優(yōu)選地,所述開關(guān)設(shè)備為三態(tài)緩沖器組。優(yōu)選地,所述接口包括主控卡接口,主控卡接口進(jìn)一步包括上拉電阻,用于保持實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道空閑時(shí)總線為高電平。優(yōu)選地,所述接口包括從卡接口,從卡接口進(jìn)一步包括比較單元,用于比較從卡自身的地址與控制線中的從卡地址,根據(jù)比較結(jié)果控制開關(guān)設(shè)備從不同的數(shù)據(jù)通道上接收實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),或者根據(jù)比較結(jié)果控制開關(guān)設(shè)備發(fā)送所述開關(guān)關(guān)設(shè)備接收到的所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)。
根據(jù)以上技術(shù)方案可知本發(fā)明實(shí)施例提供的技術(shù)方案中,總線高速通信的接口包括了兩個(gè)數(shù)據(jù)通道,通過不同的數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù)和管理數(shù)據(jù),解決了釆用一個(gè)數(shù)據(jù)通道傳輸不同類型的數(shù)據(jù),總線傳輸速率低的問題,提高總線的數(shù)據(jù)輸出效率,進(jìn)一步地,通過采用全雙工的通信方式傳輸實(shí)時(shí)數(shù)據(jù),大大減少輪詢不同從卡時(shí)的等待時(shí)間,進(jìn)一步提高總線效率,又因?yàn)橹挥性谳喸兊揭粋€(gè)從卡時(shí),該從卡才工作,因而也降低了功耗。
圖1為本發(fā)明實(shí)施例提供的總線高速通信的方法之將數(shù)據(jù)發(fā)送至數(shù)據(jù)通道的流程圖2為本發(fā)明實(shí)施例提供的總線高速通信的方法之從數(shù)據(jù)通道上接收數(shù)據(jù)的流程圖3-1為本發(fā)明實(shí)施例提供的總線高速通信的方法中實(shí)時(shí)數(shù)據(jù)交互的流程圖;圖3-2為本發(fā)明實(shí)施例提供的總線高速通信的方法中管理數(shù)據(jù)交互的流
程圖4為本發(fā)明實(shí)施例提供的最佳實(shí)施例中通過實(shí)時(shí)數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù)的流程圖5為本發(fā)明實(shí)施例提供的通過管理數(shù)據(jù)通道傳輸管理數(shù)據(jù)的流程圖;圖6本發(fā)明實(shí)施例提供的總線高速通信的裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例提供的主控卡接口的結(jié)構(gòu)示意圖;圖8為本發(fā)明實(shí)施例提供的從卡接口的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
本發(fā)明實(shí)施例提供了一種總線高速通信的方法,包括如圖1所示
步驟101,接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);步驟102,通過開關(guān)設(shè)備,將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)通道上;或者
如圖2所示
步驟201,通過開關(guān)設(shè)備接收從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);
步驟202,并將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給數(shù)據(jù)處理單元。本發(fā)明實(shí)施例提供的總線高速通信的方法,分別采用不同的數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù)和管理數(shù)據(jù),實(shí)時(shí)數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù),管理數(shù)據(jù)通道傳輸管理數(shù)據(jù);需要注意的是,除了實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道外,還可以建立冗余數(shù)據(jù)通道,在實(shí)時(shí)數(shù)據(jù)通道出現(xiàn)故障或者繁忙時(shí),可采用冗余數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù),通常情況下,由于管理數(shù)據(jù)不會(huì)象實(shí)時(shí)數(shù)據(jù)的量那么大,管理數(shù)據(jù)通道也不會(huì)象實(shí)時(shí)數(shù)據(jù)通道那么繁忙,因此默認(rèn)管理數(shù)據(jù)通道不會(huì)出現(xiàn)問題,但一旦管理數(shù)據(jù)通道出現(xiàn)問題,也可以將管理數(shù)據(jù)切換到冗余數(shù)據(jù)通道傳輸;傳輸實(shí)時(shí)數(shù)據(jù)時(shí)可以采用全雙工通信方式,主控卡查詢是否有一個(gè)從卡在線,待從卡開啟后,發(fā)送實(shí)時(shí)數(shù)據(jù)包;待該實(shí)時(shí)數(shù)據(jù)包發(fā)送完之后,
8輪詢下一從卡。
本發(fā)明實(shí)施例提供的總線高速通信的方法中的實(shí)時(shí)數(shù)據(jù)交互的具體步驟
如圖3-1所示,包括
步驟3101,初始化主控卡和從卡,從卡把從卡自身的地址輸出給從卡接口中的比較器,等待與主控卡控制線狀態(tài)中的地址標(biāo)識作比較,并通過比較結(jié)果控制開關(guān)設(shè)備時(shí)鐘的輸入和數(shù)據(jù)的輸入,主控卡改變控制線的狀態(tài),產(chǎn)生從卡h的地址標(biāo)識,表明要和從卡h進(jìn)行實(shí)時(shí)數(shù)據(jù)交互,主控卡開始輪詢在線從卡,執(zhí)行步驟3102;
步驟3102,判斷主控卡控制線的狀態(tài),當(dāng)主控卡沒有輪詢到從卡j時(shí),從卡j的比較器不動(dòng)作,執(zhí)行步驟3103;當(dāng)主控卡輪詢到在線從卡h時(shí),則主控卡控制線的狀態(tài)中的地址標(biāo)識為從卡h的地址標(biāo)識,從卡h中的比較器比較主控卡控制線上的信號和從卡h的地址標(biāo)識,相同則從卡h將比較結(jié)果"相同"輸出至開關(guān)設(shè)備,控制開關(guān)設(shè)備,自動(dòng)開啟從卡h的接收時(shí)鐘和接收/發(fā)送單元,執(zhí)行步驟3104,此時(shí),從卡h接口中的數(shù)據(jù)處理單元(可以由CPU實(shí)現(xiàn),也可以通過CPLD/FPGA實(shí)現(xiàn))探測到比較器有輸出時(shí),不等待主控卡下發(fā)實(shí)時(shí)數(shù)據(jù)包,就會(huì)馬上發(fā)出一個(gè)從卡h需要發(fā)送的實(shí)時(shí)數(shù)據(jù)包;
步驟3103,從卡j不會(huì)接收其他數(shù)據(jù)(這里的其他數(shù)據(jù)是指除控制從卡j開啟接收功能的控制信號之外的數(shù)據(jù)),從卡j中的接收/發(fā)送單元不工作,只有在輪詢到從卡j的時(shí)候,執(zhí)行步驟3104,從卡j中的接收/發(fā)送單元才工作,從而降低了從卡接口的功耗,如果沒有輪詢到從卡j,從卡j的接收時(shí)鐘會(huì)自動(dòng)關(guān)閉,選用CPLD/FPGA實(shí)現(xiàn)從卡才妻口時(shí), 一旦接收時(shí)鐘關(guān)閉,CPLD/FPGA就不會(huì)再處理由該接收時(shí)鐘觸發(fā)的事件,進(jìn)一步地降低了從卡接口的功耗;
步驟3104,主控卡判斷發(fā)給從卡h的上一個(gè)數(shù)據(jù)包和當(dāng)前即將要發(fā)送的數(shù)據(jù)包的時(shí)間間隔td是否超出從卡h的數(shù)據(jù)再接收時(shí)間t3,當(dāng)U〉"時(shí),執(zhí)行步驟3105;否則執(zhí)行步驟3106;其中
td是主控卡連續(xù)兩次發(fā)送不同實(shí)時(shí)數(shù)據(jù)包給同 一個(gè)從卡的時(shí)間間隔,td的值會(huì)隨著在線從卡數(shù)量的增加而增大,比如輪詢一個(gè)從卡需要100us的時(shí)間,那如果有n個(gè)在線的從卡的話,t產(chǎn)100nus;
t3為數(shù)據(jù)再接收時(shí)間,使之從卡接收完主控卡發(fā)給的實(shí)時(shí)數(shù)據(jù)包后,再接收下一個(gè)實(shí)時(shí)數(shù)據(jù)包的最小時(shí)間間隔,從卡收完一個(gè)實(shí)時(shí)數(shù)據(jù)包后一般需要 一定的處理,比如校驗(yàn),存儲(chǔ)數(shù)據(jù)等,處理完后才能重新開啟接收。如果采
用CPLD/FPGA實(shí)現(xiàn)本發(fā)明實(shí)施例提供的技術(shù)方案,因?yàn)镃PLD/FPGA本身具有 并行處理能力,能夠一邊處理一邊接收,所以不存在t3;如果采用CPU實(shí)現(xiàn) 本發(fā)明實(shí)施例提供的技術(shù)方案,從卡在接收完實(shí)時(shí)數(shù)據(jù)包后要產(chǎn)生中斷處理, "是存在的,但因?yàn)槌绦驁?zhí)行速度是很快的,而且數(shù)據(jù)接口不對數(shù)據(jù)包具體數(shù) 據(jù)內(nèi)容進(jìn)行處理,所以"是很小的, 一般也只在幾個(gè)us左右;考慮從卡的數(shù) 據(jù)再接收時(shí)間t3是必須的,舉例來說,如果有2個(gè)從卡在線,主控卡輪詢完1 號從卡后,接著輪詢2號從卡,輪詢完之后再次論詢1號從卡,此時(shí)1號從 卡可能還在處理上次收到的數(shù)據(jù),并沒有開啟接收,如果主控卡不去判斷是 否超出卡件i的數(shù)據(jù)再接收時(shí)間,就發(fā)出一個(gè)實(shí)時(shí)數(shù)據(jù)包,從卡便有可能收 不到這個(gè)實(shí)時(shí)數(shù)據(jù)包;
L是為了保證了主控卡發(fā)送實(shí)時(shí)數(shù)據(jù)包時(shí),從卡的接收功能是開啟的,因 為在主控卡改變控制線狀態(tài)后,變化的信號傳輸?shù)綇目ㄊ切枰獣r(shí)間的(可以 近似以光速計(jì)算,傳輸100米大概需要3. 3ns的時(shí)間),從卡的比較器和開關(guān) 設(shè)備也是有開關(guān)時(shí)延的(根據(jù)具體器件而定,通常為幾十ns), L就是這些時(shí) 間的總和, 一般情況下會(huì)留有一定的裕量;
"的取值需大于max{t3, tj- td,這樣就可以保證主控卡在發(fā)送實(shí)時(shí)數(shù)據(jù) 包時(shí),從卡具備接收該實(shí)時(shí)數(shù)據(jù)包的能力,te只在傳輸?shù)臄?shù)據(jù)量很小,且在線 的卡件數(shù)量很少的極端情況下才發(fā)生。上述已經(jīng)說明用CPLD/FPGA實(shí)現(xiàn)本發(fā) 明實(shí)施例所提供的技術(shù)方案時(shí)不存在這種情況,如果采用CPU實(shí)現(xiàn)本發(fā)明實(shí) 施例所提供的技術(shù)方案,t3—般在幾個(gè)us左右,假設(shè)t3為9us,主控卡輪詢 一個(gè)從卡需要50us,那么當(dāng)在線從卡數(shù)量超過2個(gè)時(shí),這種情況就不存在了 ;
步驟3105,主控卡會(huì)等待U的時(shí)間段后,再執(zhí)行步驟3107;
步驟3106,主控卡等待極小時(shí)間段t,后,再執(zhí)行步驟3107;
步驟3107,主控卡發(fā)送一個(gè)實(shí)時(shí)數(shù)據(jù)包,執(zhí)行步驟3108;
步驟3108,主控卡判斷該實(shí)時(shí)數(shù)據(jù)包是否傳輸完畢,如果是,即已傳輸 完畢,則執(zhí)行步驟3109,如果否,即仍未傳輸完畢,則執(zhí)行步驟3110;
步驟31Q9,等待ti后,執(zhí)行步驟3110;步驟3110,等待t2后,執(zhí)行步驟3111,其中,t2主要保證在關(guān)閉從卡接 收功能時(shí),從卡已經(jīng)接收完畢,當(dāng)主控卡^r測到主控卡已經(jīng)傳輸完畢時(shí),有 可能主控卡所發(fā)送的實(shí)時(shí)數(shù)據(jù)包中的最后一位還在總線上傳輸,所以等待t2 的時(shí)間段,也就是等待這一位被從卡接收完畢后,可以保證主控卡要傳輸?shù)?實(shí)時(shí)數(shù)據(jù)傳輸完畢,相應(yīng)從卡也接收完畢,再改變控制線狀態(tài)輪詢下一卡件, t2主要由接收一位數(shù)據(jù)的時(shí)間(視波特率而定)以及信號在線路上的傳輸時(shí)間 (ns級)組成,并留有一定裕量;
步驟31U,改變主控卡控制線的狀態(tài),輪詢下一個(gè)在線從卡(如從卡11+ 1),這一操作同時(shí)也關(guān)閉了從卡h的接收。
在實(shí)際應(yīng)用時(shí),上述步驟中主控卡輪詢一個(gè)在線從卡一般需要100us左 右,(20M速率發(fā)送200字節(jié)的一個(gè)實(shí)時(shí)數(shù)據(jù)包就需要100us),所以只要有兩 個(gè)從卡在線,就不存在步驟303中描述的極端情況,而實(shí)際系統(tǒng)工作時(shí)都是 很多從卡同時(shí)在線工作,所以h和t2是總線空閑時(shí)間的主要組成部分,總線 空閑時(shí)間是極小的,如果采用時(shí)延較短的邏輯器件或者CPLD/FPGA,空閑時(shí)間 ti可以控制在ns級,t2則和波特率有關(guān),在高波特率下也能達(dá)到ns級,加上 全雙工通信,^f吏得總線效率極高。
本發(fā)明實(shí)施例提供的總線高速通信的方法中的管理數(shù)據(jù)交互的具體步驟 如圖3-2所示,采用令牌式半雙工通信的方式進(jìn)行通信,包括
步驟3201,主控卡對在線的從卡依次輪詢,當(dāng)輪詢到從卡i時(shí),查詢是 否有需要向從卡i發(fā)送的管理數(shù)據(jù),如果有,執(zhí)行步驟3202,如果沒有,執(zhí) 行步驟3203;
步驟3202,向從卡i發(fā)送管理數(shù)據(jù),主控卡無需等待從卡i的回應(yīng),執(zhí) 行步驟3204;
步驟3203,主控卡向從卡i發(fā)送令牌,等待回應(yīng),該回應(yīng)可能是從卡i 向主控卡發(fā)送的管理數(shù)據(jù),也可能是令牌,但不管主控卡接收到是從卡i返 回的管理數(shù)據(jù)還是令牌,均認(rèn)為是已收回令牌,執(zhí)行步驟3M4;如果一定時(shí) 間內(nèi)i從卡沒有回應(yīng),主控卡判定i從卡超時(shí),仍然執(zhí)行步驟3204,需要說 明的是,如果從卡i連續(xù)3次超時(shí),主控卡將從卡i的狀態(tài)置為離線狀態(tài);
步驟3204,判斷是否所有在線從卡均已輪詢到,如果不是,輪詢下一個(gè)
ii在線從卡,執(zhí)行步驟32Q1至步驟3203,如果是,即主控卡輪詢完所有在線從 卡后,完成一個(gè)輪詢周期,執(zhí)行步驟3205;
步驟3205,探詢離線從卡主控卡給離線設(shè)備列表中的從卡m發(fā)送探詢 報(bào)文,如果從卡m已在線,從卡m會(huì)有回應(yīng),主控卡收到回應(yīng)后更新設(shè)備列 表,將從卡m標(biāo)志為在線,開始新的輪詢周期;如果從卡m沒有回應(yīng),主控 卡直接開始下 一個(gè)輪詢周期。
下面我們將結(jié)合附圖4和5,對本發(fā)明實(shí)施例提供的最佳實(shí)施方案進(jìn)行詳 細(xì)描述,在該實(shí)施例中應(yīng)用方案的通信網(wǎng)絡(luò)中,包括一個(gè)主控卡和8個(gè)從卡, 采用CPU實(shí)現(xiàn)本發(fā)明實(shí)施例提供的最佳實(shí)施例的技術(shù)方案。
在結(jié)合附圖對本發(fā)明實(shí)施例提供的串行總線數(shù)據(jù)傳輸?shù)牧鞒踢M(jìn)行詳細(xì)說 明之前,首先說明的是在傳輸數(shù)據(jù)之前,需事先建立好實(shí)時(shí)數(shù)據(jù)通道和管理 數(shù)據(jù)通道,主控卡和從卡均會(huì)執(zhí)行初始化,具體步驟為
芯片上電初始化;
主控卡上電,設(shè)置時(shí)鐘、中斷,初始化2個(gè)串口,分別用于通過實(shí)時(shí)數(shù) 據(jù)通道和管理數(shù)據(jù)通道與在線從卡通信; 初始化實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道;
主控卡初始化設(shè)備列表,這里的設(shè)備列表為在線從卡信息的列表,可以 根據(jù)情況初始化從卡在線的個(gè)數(shù),在這里,初始化3個(gè)從卡在線,5個(gè)從卡離 線;
從卡上電初始化,開啟串口接收,準(zhǔn)備接收來自主控卡的數(shù)據(jù); 從卡從母板上讀取該從卡的地址線,用于與主控卡控制線狀態(tài)中地址線 做比較;
總線數(shù)據(jù)包均采用長度為255字節(jié),從卡接收完數(shù)據(jù)后,只存儲(chǔ)數(shù)據(jù), 不進(jìn)行處理;
此時(shí),CPU能夠連續(xù)接收兩包的時(shí)間間隔h約為6us,所選的比較器和三 態(tài)門時(shí)延為幾十ns,所以U "可以取ns級,實(shí)例中取t產(chǎn)t尸900ns。 CPU 輪詢一個(gè)卡件的時(shí)間主要由L, t2和傳輸數(shù)據(jù)的時(shí)間構(gòu)成,15M速率傳輸255 字節(jié)的數(shù)據(jù)需要136us,所以論詢一個(gè)卡件的時(shí)間約138us,大于t3,所以只 要有2個(gè)卡件在線,主控卡就不需要判斷發(fā)出實(shí)時(shí)數(shù)據(jù)包是否超出從卡的處理能力(從卡肯定能夠接收),因此主控卡在發(fā)送前只需判斷有幾個(gè)卡件在線 即可。
接下來,結(jié)合圖4,對本發(fā)明實(shí)施例提供的通過實(shí)時(shí)數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù) 據(jù)的流程進(jìn)行詳細(xì)說明,具體步驟為
步驟401,主控卡輪詢設(shè)備列表中的在線的從卡,判斷是否只有一個(gè)從卡 在線,如果只有一個(gè)/人卡在線,,執(zhí)行步驟403,如果有不止一個(gè)從卡在線,即 不是只有一個(gè)從卡在線,執(zhí)行步驟402;
步驟402,主控卡發(fā)現(xiàn)有超過一個(gè)從卡在線時(shí),等待才及小時(shí)間tl=900ns 后,執(zhí)行步驟404;
步驟403,主控卡發(fā)現(xiàn)只有一個(gè)從卡在線時(shí),只需等待7us,即等待該從 卡開啟,使得從卡能夠接收主控卡發(fā)送給該從卡的實(shí)時(shí)數(shù)據(jù),執(zhí)行步驟404;
步驟404,主控卡以15MPS的速率發(fā)送一個(gè)實(shí)時(shí)數(shù)據(jù)包,此時(shí)在線從卡已 開啟接收功能,因而在線從卡接收該實(shí)時(shí)數(shù)據(jù),在線從卡接收完該實(shí)時(shí)數(shù)據(jù) 之后,觸發(fā)中斷,與串行總線斷開,并存儲(chǔ)該實(shí)時(shí)數(shù)據(jù),執(zhí)行步驟405;
步驟405,主控卡查詢發(fā)送完畢標(biāo)志位和接收完畢標(biāo)志位,執(zhí)行步驟406;
步驟406,判斷發(fā)送完畢標(biāo)志位和接收完畢標(biāo)志位是否都已置位,如果是, 執(zhí)行步驟407,如果發(fā)送完畢標(biāo)志位和接收完畢標(biāo)志位都沒有置位或只有其中 一個(gè)標(biāo)志位置位,執(zhí)行步驟408;
步驟407,主控卡等待t2=900ns,執(zhí)行步驟409;
步驟408,主控卡查看向該從卡發(fā)送該實(shí)時(shí)數(shù)據(jù)包的時(shí)間是否超過預(yù)定時(shí) 間,如果確已超時(shí),執(zhí)行步驟409,如果未超時(shí),執(zhí)行步驟405;
步驟409,主控卡將控制線狀態(tài)設(shè)置為下一在線從卡的地址,執(zhí)行步驟
401。
下面結(jié)合圖5,對本發(fā)明實(shí)施例提供的通過管理數(shù)據(jù)通道傳輸管理數(shù)據(jù)的 流程進(jìn)41S兌明
步驟501,主控卡輪詢設(shè)備列表中的第一個(gè)在線從卡,查詢是否有需要向 該從卡發(fā)送的管理數(shù)據(jù),如果有,執(zhí)行步驟502,如果沒有,執(zhí)行步驟503;
步驟502,向該從卡發(fā)送管理數(shù)據(jù),主控卡無需等待該從卡的回應(yīng),執(zhí)行 步驟504;步驟503,主控卡向該從卡發(fā)送令牌,等待回應(yīng),該回應(yīng)可能是從卡向主 控卡發(fā)送的管理數(shù)據(jù),也可能是令牌,但不管主控卡接收到是從卡返回的管 理數(shù)據(jù)還是令牌,均認(rèn)為是已收回令牌,執(zhí)行步驟504;如果一定時(shí)間內(nèi)該從 卡沒有回應(yīng),主控卡判定該從卡超時(shí),仍然執(zhí)行步驟504,需要說明的是,如 果該從卡連續(xù)3次超時(shí),主控卡將該從卡的狀態(tài)置為離線狀態(tài);
步驟504,判斷是否所有在線從卡均已輪詢到,如果不是,輪詢下一個(gè)在 線從卡,執(zhí)行步驟501至步驟503,如果是,即主控卡輪詢完所有在線從卡后, 完成一個(gè)輪詢周期,執(zhí)行步驟505;
步驟505,探詢離線從卡主控卡給離線設(shè)備列表中的從卡m發(fā)送探詢報(bào) 文,如果從卡m已在線,從卡m會(huì)有回應(yīng),主控卡收到回應(yīng)后更新設(shè)備列表, 將從卡m標(biāo)志為在線,開始新的輪詢周期;如果從卡m沒有回應(yīng),主控卡直 接開始下一個(gè)輪詢周期。
根據(jù)上述技術(shù)方案可知,分別通過不同的數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù)和管理 數(shù)據(jù),避免了僅通過一個(gè)數(shù)據(jù)通道傳輸不同種類型數(shù)據(jù)的問題,進(jìn)行管理數(shù) 據(jù)傳輸時(shí),不會(huì)影響實(shí)時(shí)數(shù)據(jù)的傳輸,提高了總線的輸出速率,也提高了總 線的使用效率,進(jìn)一步提升了總線傳輸數(shù)據(jù)的可靠性;進(jìn)一步地,由于在傳 輸實(shí)時(shí)數(shù)據(jù)采用了全雙工的通信方式,因而對不同從卡進(jìn)行輪訓(xùn)時(shí),總線空 閑時(shí)間大大縮短,減少了等待時(shí)間,提高了總線效率。
另外,在通過實(shí)時(shí)數(shù)據(jù)通道交互實(shí)時(shí)數(shù)據(jù)和通過管理數(shù)據(jù)通道交互管理 數(shù)據(jù)的過程中,當(dāng)有連續(xù)兩次以上主控卡未收到從卡通過實(shí)時(shí)數(shù)據(jù)通道的回 應(yīng),而通過管理數(shù)據(jù)通道的通信正常時(shí),判定實(shí)時(shí)數(shù)據(jù)通道損壞,通過管理 數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù);
如果把實(shí)時(shí)數(shù)據(jù)通道主控卡發(fā)送端或接收端切斷,進(jìn)行冗余通道切換, 此時(shí)所有類型數(shù)據(jù)在管理數(shù)據(jù)通道,按管理數(shù)據(jù)優(yōu)先, 一次只發(fā)送或接收一 包的原則傳輸,通信指示顯示依然正常;
如果把管理數(shù)據(jù)通道主控卡發(fā)送端或接收端切斷,進(jìn)行冗余通道切換此 時(shí)所有類型數(shù)據(jù)在實(shí)時(shí)數(shù)據(jù)通道傳輸,也按管理數(shù)據(jù)優(yōu)先, 一次只發(fā)送或接 收一包的原則傳輸,通信指示顯示仍然正常;
因而,通過冗余通道切換也增強(qiáng)數(shù)據(jù)傳輸?shù)目煽啃裕苊庥捎谝粋€(gè)數(shù)據(jù)通道的損壞造成總線癱瘓,可靠性得到了極大的提高。
本發(fā)明實(shí)施例還提供了一種總線高效通信的接口 ,所述接口的結(jié)構(gòu)示意 圖如圖6所示,包括接收/發(fā)送單元和開關(guān)設(shè)備,
所述接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)
據(jù),將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā) 送的從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);
所述開關(guān)設(shè)備,用于將接收到的所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的 數(shù)據(jù)通道;或者將從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給 接收/發(fā)送單元。
所述接收/發(fā)送單元包括
實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù),將所 述實(shí)時(shí)數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從實(shí)時(shí)數(shù)據(jù)通道 接收到的實(shí)時(shí)數(shù)據(jù);
管理數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的管理數(shù)據(jù),將所 述管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從管理數(shù)據(jù)通道 接收到的管理數(shù)據(jù)。
所述開關(guān)設(shè)備包括
實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備用于將接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送到實(shí)時(shí)數(shù)據(jù)通道,或 將從實(shí)時(shí)數(shù)據(jù)通道接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送給接收/發(fā)送單元;
管理數(shù)據(jù)開關(guān)設(shè)備,用于將接收到的管理數(shù)據(jù)發(fā)送到管理數(shù)據(jù)通道,或 將從管理數(shù)據(jù)通道接收到的管理數(shù)據(jù)發(fā)送給接收/發(fā)送單元。
所述開關(guān)設(shè)備為三態(tài)緩沖器組。
根據(jù)上述所述接口的作用不同,本發(fā)明實(shí)施例所提供的接口具體可以分 成兩類, 一類為主控卡接口,另一類為從卡接口,主控卡接口包括實(shí)時(shí)數(shù)據(jù) 接收/發(fā)送單元、管理數(shù)據(jù)接收/發(fā)送單元、實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備、管理數(shù)據(jù)開 關(guān)設(shè)備、數(shù)據(jù)處理單元和上拉電阻,從卡接口包括實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元、 管理數(shù)據(jù)接收/發(fā)送單元、實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備、管理數(shù)據(jù)開關(guān)設(shè)備、數(shù)據(jù)處理 單元和比較單元。其中,可以采用CPU實(shí)現(xiàn)數(shù)據(jù)處理單元、實(shí)時(shí)數(shù)據(jù)接收/發(fā) 送單元,實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備和管理數(shù)據(jù)開關(guān)設(shè)備均可由三態(tài)緩沖器組實(shí)現(xiàn),
15也可以采用CPLD/FPGA實(shí)現(xiàn)實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元、管理數(shù)據(jù)接收/發(fā)送單 元、實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備、管理數(shù)據(jù)開關(guān)設(shè)備和數(shù)據(jù)處理單元;
所述上拉電阻,用于保持實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道空閑時(shí)總線為高 電平;
所述比較單元用于比較從卡自身的地址與控制線中的從卡地址,根據(jù)比 較結(jié)果控制開關(guān)設(shè)備從不同的數(shù)據(jù)通道上接收實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),或者根 據(jù)比較結(jié)果控制開關(guān)設(shè)備發(fā)送所述開關(guān)關(guān)設(shè)備接收到的所述實(shí)時(shí)數(shù)據(jù)或管理 數(shù)據(jù)。
下面結(jié)合圖7和圖8對本發(fā)明實(shí)施例提供的主控卡接口和從卡接口的最 優(yōu)實(shí)施例進(jìn)行詳細(xì)說明。在本發(fā)明實(shí)施例提供的主控卡接口和從卡接口的最 優(yōu)實(shí)施例中,采用同步通信方式,采用CPU實(shí)現(xiàn)數(shù)據(jù)處理和數(shù)據(jù)接收/發(fā)送的 功能,另外虛線框內(nèi)的邏輯也可用CPLD/FPGA實(shí)現(xiàn)。
主控卡接口的結(jié)構(gòu)示意圖如圖7所示,主控卡接口包括接插件、穩(wěn)壓濾 波單元、電源電壓轉(zhuǎn)換單元、三態(tài)緩沖器3、上拉電阻、通道l (實(shí)時(shí)數(shù)據(jù)通 道)、三態(tài)緩沖器組1 (實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備)、通道2 (管理數(shù)據(jù)通道)、三態(tài) 緩沖器組2 (管理數(shù)據(jù)開關(guān)設(shè)備)、接收/發(fā)送單元(包括實(shí)時(shí)數(shù)據(jù)接收/發(fā)送 單元(包括實(shí)時(shí)數(shù)據(jù)接收單元和實(shí)時(shí)數(shù)據(jù)發(fā)送單元)和管理數(shù)據(jù)接收/發(fā)送單 元(包括管理數(shù)據(jù)接收單元和管理數(shù)據(jù)發(fā)送單元))和數(shù)據(jù)處理單元;以下所 提到的卡件,可以為主控卡,也可以為從卡;
其中
接插件,作為卡件和總線連接的部件,用于控制卡件的上電順序,可以 通過對接插件插針的長短和位置的設(shè)計(jì)控制卡件的上電順序(如先地線、再 電源線、最后信號線),另外接插件可以保證地線先引入卡件,在帶電插拔時(shí), 可以保證卡件上的器件不被損壞,這是因?yàn)槿绻冉尤腚娫炊鼐€未接入會(huì) 引起卡件上的器件因電壓太高而被損壞;
穩(wěn)壓濾波單元,用于保持卡件輸入電壓的穩(wěn)定,在卡件熱插拔過程中, 用于保持卡件輸入電壓的穩(wěn)定,這是因?yàn)樵诳岵灏蔚倪^程中,由于電源 的增加或減少,會(huì)引起相應(yīng)的脈沖干擾;
電源電壓轉(zhuǎn)換單元,用于將輸入電壓轉(zhuǎn)換成符合需求的電壓,即在一定容限內(nèi)的,這是因?yàn)檩斎腚妷和ǔ?huì)有一定的容限,將該符合需求的電壓信
號輸出,為數(shù)據(jù)處理單元和其他需要供電的器件供電;在這里,容限可以理
解為一定范圍,為了使得卡件在實(shí)現(xiàn)高速通信的情況,可以使卡件實(shí)現(xiàn)熱插
拔,比如總線供電一般是5V,那么就算卡件上所有芯片都是5V供電的,但從 卡熱插拔過程中會(huì)引起總線電壓產(chǎn)生很小波動(dòng),如果沒有電源電壓轉(zhuǎn)換單元, 此波動(dòng)會(huì)通過上拉電阻串入數(shù)據(jù)線,影響數(shù)據(jù)通信,如果有電源電壓轉(zhuǎn)換單 元,對于電壓轉(zhuǎn)換單元來說即使輸入有一定的波動(dòng),輸出還是可以保持在一 個(gè)穩(wěn)定的電壓值的,這樣保證了主控卡電壓的穩(wěn)定,保證了電源線上的干擾 不串入總線;
三態(tài)緩沖器3,用于實(shí)現(xiàn)主控卡時(shí)鐘線的熱插拔,主控卡一旦工作,三態(tài) 緩沖器3便一直開啟;
數(shù)據(jù)處理單元,用于接收符合需求的電壓信號,使得主控卡接口可正常 使用,同時(shí)對接收到的來自于實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元的數(shù)據(jù)和/或管理數(shù)據(jù) 接收/發(fā)送單元的數(shù)據(jù)進(jìn)行相關(guān)處理, 一般用于實(shí)現(xiàn)總線協(xié)議應(yīng)用層的功能, 比如從卡接口中比較器的動(dòng)作會(huì)觸發(fā)CPU中斷,通知CPU主控卡已經(jīng)選通從 卡,然后從卡就會(huì)發(fā)出一個(gè)實(shí)時(shí)數(shù)據(jù)包,這都需要數(shù)據(jù)處理單元來處理的;
接收/發(fā)送單元,包括實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元和管理數(shù)據(jù)接收/發(fā)送單 元,所述實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元,用于接收來自從卡的實(shí)時(shí)數(shù)據(jù)或發(fā)送給從 卡的實(shí)時(shí)數(shù)據(jù),類似于CPU串口的功能;所述管理數(shù)據(jù)接收/發(fā)送單元,用于 接收來自從卡的管理數(shù)據(jù)或發(fā)送給從卡的管理數(shù)據(jù),類似于CPU串口的功能;
三態(tài)緩沖器組l,與通道1連接,包括接收三態(tài)緩沖器組l和發(fā)送三態(tài)緩 沖器組l,接收三態(tài)緩沖器組l接收總線通過通道l傳輸?shù)膶?shí)時(shí)數(shù)據(jù),輸出至 實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元,接收三態(tài)緩沖器組1的使能端由數(shù)據(jù)處理單元控制, 發(fā)送三態(tài)緩沖器組1用于把實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元的輸出的實(shí)時(shí)數(shù)據(jù)通過通 道1傳輸至總線上,發(fā)送三態(tài)緩沖器組1的使能端由實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元 控制;
三態(tài)緩沖器組2,與通道2連接,包括接收三態(tài)緩沖器組2和發(fā)送三態(tài)緩 沖器組2,接收三態(tài)緩沖器組2接收總線通過通道2傳輸?shù)墓芾頂?shù)據(jù),輸出至管理數(shù)據(jù)接收/發(fā)送單元,接收三態(tài)緩沖器組2的使能端由數(shù)據(jù)處理單元控制,
發(fā)送三態(tài)緩沖器組2用于把管理數(shù)據(jù)接收/發(fā)送單元的輸出的管理數(shù)據(jù)通過通 道2傳輸至總線上,發(fā)送三態(tài)緩沖器組2的使能端由管理數(shù)據(jù)接收/發(fā)送單元 控制;
通道l,用于傳輸實(shí)時(shí)數(shù)據(jù),由三態(tài)緩沖器單元l控制; 通道2,用于傳輸管理數(shù)據(jù),由三態(tài)緩沖器單元2控制; 通道1控制線,用于控制主控卡要輪詢的從卡的地址線,該從卡被選通 后,主控卡發(fā)送實(shí)時(shí)數(shù)據(jù)至該從卡;
上拉電阻,用于保持實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道空閑時(shí)總線為高電平; 從卡接口與主控卡接口包括的單元類似,從卡接口的結(jié)構(gòu)示意圖如圖8
所示,和主控卡接口相比,從卡接口沒有上拉電阻,增加了比較器(比較單 元),從卡接口具體包括接插件、穩(wěn)壓濾波單元、電源電壓轉(zhuǎn)換單元、三態(tài)緩 沖器6、比較器(比較單元)、通道l (實(shí)時(shí)數(shù)據(jù)通道)、三態(tài)緩沖器組4 (實(shí) 時(shí)數(shù)據(jù)控制傳輸單元)、通道2 (管理數(shù)據(jù)通道)、三態(tài)緩沖器組5 (管理數(shù)據(jù) 控制傳輸單元)、接收/發(fā)送單元(包括實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元(實(shí)時(shí)數(shù)據(jù)接 收單元和實(shí)時(shí)數(shù)據(jù)發(fā)送單元)、管理數(shù)據(jù)接收/發(fā)送單元(管理數(shù)據(jù)接收單元 和管理數(shù)據(jù)發(fā)送單元))和數(shù)據(jù)處理單元,從卡接口的結(jié)構(gòu)示意圖如圖8所示。
比較器,用于比較主控卡控制線的狀態(tài)與所在從卡的地址是否一致,若 一致,則將比較結(jié)果輸出至三態(tài)緩沖器組4和三態(tài)緩沖器6的使能端,開啟 從卡時(shí)鐘和通道l的接收,準(zhǔn)備接收主控卡輸出至所在從卡的實(shí)時(shí)數(shù)據(jù);
三態(tài)緩沖器組4,和主控卡的三態(tài)緩沖器單元1的不同之處在于三態(tài)緩沖 器組4的接收三態(tài)緩沖器4是由比較器的輸出控制的,即比較器控制著從卡 接口中通道1數(shù)據(jù)接收功能的開啟或關(guān)閉,并且此輸出的變化接連CPU中斷 線,能觸發(fā)CPU中斷;發(fā)送三態(tài)緩沖器4還是由實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元控制;
三態(tài)緩沖器6才艮據(jù)接收到的比較器的輸出信號,關(guān)閉或開啟時(shí)鐘信號的 輸入,同時(shí)此單元也是實(shí)現(xiàn)從卡時(shí)鐘線熱插拔的需要;
從卡接口中的接插件、穩(wěn)壓濾波單元、電源電壓轉(zhuǎn)換單元、三態(tài)緩沖器
組5的功能與主控卡接口中接插件、穩(wěn)壓濾波單元、電源電壓轉(zhuǎn)換單元、三 態(tài)緩沖器組2的功能類似,在此不再贅述。
18根據(jù)以上主控卡接口和從卡接口的技術(shù)方案,可看出主控卡接口和從 卡接口均包括了兩個(gè)數(shù)據(jù)通道——通道1和通道2,分別通過通道1和通道2 傳輸實(shí)時(shí)數(shù)據(jù)和管理數(shù)據(jù),避免了采用 一個(gè)數(shù)據(jù)通道傳輸不同類型的數(shù)據(jù), 不能及時(shí)傳輸實(shí)時(shí)數(shù)據(jù)的問題,提高總線的數(shù)據(jù)輸出效率,進(jìn)一步地,通過 采用全雙工的通信方式傳輸實(shí)時(shí)數(shù)據(jù),大大減少輪詢不同從卡時(shí)的等待時(shí)間,
進(jìn)一步提高總線效率,進(jìn)一步地,由于上述最佳實(shí)施例的技術(shù)方案中,主控 卡接口和從卡接口包括接插件、穩(wěn)壓濾波單元和電源電壓轉(zhuǎn)換單元,使得本
發(fā)明實(shí)施例所提供的技術(shù)方案在實(shí)現(xiàn)高速、高效通信的基礎(chǔ)上,能夠進(jìn)一步 地、更好地實(shí)現(xiàn)了卡件的熱插拔。
通過以上的實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā) 明可借助軟件加必需的通用硬件平臺(tái)的方式來實(shí)現(xiàn),當(dāng)然也可以通過硬件, 但很多情況下前者是更佳的實(shí)施方式?;谶@樣的理解,本發(fā)明的技術(shù)方案 本質(zhì)上或者說對現(xiàn)有技術(shù)做出貢獻(xiàn)的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來, 該計(jì)算機(jī)軟件產(chǎn)品可以存儲(chǔ)在存儲(chǔ)介質(zhì)中,如R0M/RAM、 -茲碟、光盤等,包括
若干指令用以使得一臺(tái)計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)
以上所述僅是本發(fā)明的優(yōu)選實(shí)施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普 通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以作出若干改進(jìn)和潤 飾,這些改進(jìn)和潤飾也應(yīng)視為本發(fā)明的保護(hù)范圍。
權(quán)利要求
1、一種總線高速通信的方法,其特征在于,包括接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),通過開關(guān)設(shè)備,將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)通道上;或者通過開關(guān)設(shè)備接收從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);并將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給數(shù)據(jù)處理單元。
2、 才艮據(jù)權(quán)利要求1所述的方法,其特征在于,所述不同的數(shù)據(jù)通道至少 包括實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道,所述實(shí)時(shí)數(shù)據(jù)通道,用于傳輸實(shí)時(shí)數(shù) 據(jù);所述管理數(shù)據(jù)通道用于傳輸管理數(shù)據(jù)或傳輸管理數(shù)據(jù)和實(shí)時(shí)數(shù)據(jù)。
3、 根據(jù)權(quán)利要求1所述的方法,其特征在于,所述不同的數(shù)據(jù)通道包括 實(shí)時(shí)數(shù)據(jù)通道、管理數(shù)據(jù)通道和冗余數(shù)據(jù)通道,其中,用所述實(shí)時(shí)數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù),用所述管理數(shù)據(jù)通道傳輸管理數(shù)據(jù), 實(shí)時(shí)數(shù)據(jù)通道不能正常工作時(shí),用冗余數(shù)據(jù)通道傳輸實(shí)時(shí)數(shù)據(jù)。
4、 才艮據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法進(jìn)一步包括 當(dāng)主控卡有連續(xù)兩次以上未收到從卡通過實(shí)時(shí)數(shù)據(jù)通道的回應(yīng),而管理數(shù)據(jù)通道通信正常時(shí),判定實(shí)時(shí)數(shù)據(jù)通道損壞,通過管理數(shù)據(jù)通道傳輸實(shí)時(shí) 數(shù)據(jù)。
5、 根據(jù)權(quán)利要求1或3所述的方法,其特征在于,所述方法進(jìn)一步包括 當(dāng)主控卡有連續(xù)兩次以上未收到從卡通過實(shí)時(shí)數(shù)據(jù)通道的回應(yīng),而管理數(shù)據(jù)通道通信正常時(shí),判定實(shí)時(shí)數(shù)據(jù)通道損壞,通過冗余數(shù)據(jù)通道傳輸實(shí)時(shí) 數(shù)據(jù)。
6、 根據(jù)權(quán)利要求1或2所述的方法,其特征在于,所述方法包括 傳輸實(shí)時(shí)數(shù)據(jù)時(shí),采用全雙工通信方式;傳輸管理數(shù)據(jù),采用半雙工通信方式。
7、 根據(jù)權(quán)利要求6所述的方法,其特征在于,所述采用全雙工通信方式 傳輸實(shí)時(shí)數(shù)據(jù)的步驟包括主控卡查詢是否只有一個(gè)從卡在線,若只有一個(gè)從卡在線,待從卡開啟 后,發(fā)送一個(gè)實(shí)時(shí)數(shù)據(jù)包;否則,等待指定時(shí)間段,發(fā)送一個(gè)實(shí)時(shí)數(shù)據(jù)包,所述指定時(shí)間段的值為大于從卡接收一位數(shù)據(jù)的時(shí)間和信號在總線上的傳輸時(shí)間之和;待所述實(shí)時(shí)數(shù)據(jù)發(fā)送完之后,主控卡改變總線控制線狀態(tài),輪詢下一件 從卡。
8、 根據(jù)權(quán)利要求6所述的方法,其特征在于,傳輸管理數(shù)據(jù)的通信方式為令牌式半雙工通信方式。
9、 根據(jù)權(quán)利要求8所述的方法,其特征在于,采用令牌式半雙工通信方式傳輸管理it據(jù)的步驟包括當(dāng)從卡被輪詢到時(shí),主控卡查看是否需要向所述從卡發(fā)送的管理數(shù)據(jù) 若主控卡有需要向所述從卡發(fā)送的管理數(shù)據(jù),則向所述從卡發(fā)送所述管理數(shù)據(jù),所述從卡只需接收向其發(fā)送的管理數(shù)據(jù),無需回應(yīng);之后,輪詢下一個(gè)在線^v卡;若主控卡沒有需要向所述從卡發(fā)送的管理數(shù)據(jù),則主控卡向所述從卡發(fā) 送令牌;所述從卡接收到令牌時(shí),查看所述從卡是否有需要向主控卡發(fā)送的管理 數(shù)據(jù),如果有,則發(fā)送管理數(shù)據(jù),若沒有,則將令牌回送至主控卡。
10、 根據(jù)權(quán)利要求9所述的方法,其特征在于,所述從卡接收到令牌的 步驟之后進(jìn)一步包括主控卡接收到管理數(shù)據(jù)或令牌,輪詢下一個(gè)在線從卡。
11、 一種總線高速通信的接口,其特征在于,包括接收/發(fā)送單元和開 關(guān)設(shè)備,所述接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù) 據(jù),將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā) 送的從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);所述開關(guān)設(shè)備,用于將接收到的所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的 數(shù)據(jù)通道;或者將從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給 接收/發(fā)送單元。
12、 根據(jù)權(quán)利要求11所述的接口,其特征在于,所述接收/發(fā)送單元包括實(shí)時(shí)數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù),將所述實(shí)時(shí)數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從實(shí)時(shí)數(shù)據(jù)通道 接收到的實(shí)時(shí)數(shù)據(jù);管理數(shù)據(jù)接收/發(fā)送單元,用于接收數(shù)據(jù)處理單元發(fā)送的管理數(shù)據(jù),將所述管理數(shù)據(jù)發(fā)送給開關(guān)設(shè)備;或者接收所述開關(guān)設(shè)備發(fā)送的從管理數(shù)據(jù)通道接收到的管理數(shù)據(jù)。
13、 根據(jù)權(quán)利要求11或12所述的接口,其特征在于,所述開關(guān)設(shè)備包括實(shí)時(shí)數(shù)據(jù)開關(guān)設(shè)備用于將接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送到實(shí)時(shí)數(shù)據(jù)通道,或 將從實(shí)時(shí)數(shù)據(jù)通道接收到的實(shí)時(shí)數(shù)據(jù)發(fā)送給接收/發(fā)送單元;管理數(shù)據(jù)開關(guān)設(shè)備,用于將接收到的管理數(shù)據(jù)發(fā)送到管理數(shù)據(jù)通道,或 將從管理數(shù)據(jù)通道接收到的管理數(shù)據(jù)發(fā)送給接收/發(fā)送單元。
14、 根據(jù)權(quán)利要求11或12所述的接口,其特征在于,所述開關(guān)設(shè)備為 三態(tài)緩沖器組。
15、 根據(jù)權(quán)利要求11或12所述的接口,其特征在于,所述接口包括主 控卡接口,主控卡接口進(jìn)一步包括上拉電阻,用于保持實(shí)時(shí)數(shù)據(jù)通道和管理數(shù)據(jù)通道空閑時(shí)總線為高電平。
16、 根據(jù)權(quán)利要求11或12所述的接口,其特征在于,所述接口包括從 卡接口,從卡接口進(jìn)一步包括比較單元,用于比較從卡自身的地址與控制線中的從卡地址,根據(jù)比較 結(jié)果控制開關(guān)設(shè)備從不同的數(shù)據(jù)通道上接收實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),或者根據(jù) 比較結(jié)果控制開關(guān)設(shè)備發(fā)送所述開關(guān)關(guān)設(shè)備接收到的所述實(shí)時(shí)數(shù)據(jù)或管理數(shù) 據(jù)。
全文摘要
本發(fā)明實(shí)施例提供了一種總線高速通信的方法及接口,接收數(shù)據(jù)處理單元發(fā)送的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù),通過開關(guān)設(shè)備,將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送到不同的數(shù)據(jù)通道上;或者通過開關(guān)設(shè)備接收從不同的數(shù)據(jù)通道上接收到的實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù);并將所述實(shí)時(shí)數(shù)據(jù)或管理數(shù)據(jù)發(fā)送給數(shù)據(jù)處理單元。解決了現(xiàn)有技術(shù)中將不同類型的數(shù)據(jù)通過一個(gè)數(shù)據(jù)通道傳輸?shù)膯栴},極大地提高了串行總線的輸出速率,提高了串行總線的效率。
文檔編號H04L29/06GK101483646SQ20091000605
公開日2009年7月15日 申請日期2009年1月22日 優(yōu)先權(quán)日2009年1月22日
發(fā)明者張安坤, 張曉剛, 黃文君 申請人:浙江大學(xué);浙江中控技術(shù)股份有限公司