本發(fā)明涉及一種通信技術(shù),特別涉及一種提高can總線通信速率的方法。
背景技術(shù):
自can創(chuàng)立以來(lái),它的最大通信速率就限制在1mbit/s,而在即將到來(lái)的應(yīng)用領(lǐng)域中,出于對(duì)純功能性定時(shí)或通信容量的需要,嵌入式多路傳輸網(wǎng)絡(luò)必須具有更高的比特率,大約為5~10mbit/s。因此,一切都必須重新思考和重建。使用“一切”這個(gè)詞,可能令讀者感到驚訝,但這是事實(shí)。can的最大通信速率之所以為1mbit/s,主要是由can所采用的技術(shù)理念決定的。盡管在有關(guān)can的書(shū)籍中很少提及技術(shù)理念方面的限制,如線路傳播效應(yīng)、反射系數(shù)和支線等,但當(dāng)設(shè)計(jì)新協(xié)議及其物理層時(shí),若比特率超過(guò)1mbit/s,不考慮這些物理參數(shù)及其影響是不可能的。
can的最大比特率1mbps與協(xié)議的確認(rèn)位結(jié)構(gòu)有關(guān)。應(yīng)答域由發(fā)送方發(fā)出的三個(gè)(應(yīng)答間隙及應(yīng)答界定)隱性位組成,所有接收到正確的crc序列的節(jié)點(diǎn)將在發(fā)送節(jié)點(diǎn)的應(yīng)答間隙上將發(fā)送的這一隱性位改寫(xiě)為顯性位。因此,發(fā)送節(jié)點(diǎn)將一直監(jiān)視總線信號(hào)已確認(rèn)網(wǎng)絡(luò)中至少一個(gè)節(jié)點(diǎn)正確地接收到所發(fā)信息。應(yīng)答界定符是應(yīng)答域中第三個(gè)隱性位,由此可見(jiàn),應(yīng)答間隙兩邊有兩個(gè)隱性位:crc域和應(yīng)答界定位。ack場(chǎng)的作用是確保發(fā)送節(jié)點(diǎn)能夠正確的發(fā)送報(bào)文。報(bào)文至少被一個(gè)節(jié)點(diǎn)正確接收ack才是有效的。報(bào)文在ack的發(fā)送過(guò)程如圖1所示,首先發(fā)送節(jié)點(diǎn)在ack發(fā)送隱性位。當(dāng)正確接收到報(bào)文的節(jié)點(diǎn)時(shí),ack發(fā)送顯性;未正確接收到報(bào)文的節(jié)點(diǎn)時(shí),ack發(fā)送隱性。最后,發(fā)送節(jié)點(diǎn)檢測(cè)應(yīng)答位是否被顯性覆蓋,若是則發(fā)送成功。為使協(xié)議正常運(yùn)行,信號(hào)的傳出與傳入時(shí)間之和一定要允許確認(rèn)信號(hào)落入確認(rèn)位的持續(xù)時(shí)間內(nèi)。can協(xié)議的這個(gè)特點(diǎn)限制了傳播時(shí)間,從而對(duì)網(wǎng)絡(luò)節(jié)點(diǎn)之間的最大距離產(chǎn)生制約,同時(shí)排除了采用某些拓?fù)浣Y(jié)構(gòu)的可能性,也無(wú)法使用涉及傳播不對(duì)稱性的解決方案(如網(wǎng)絡(luò)分支)。當(dāng)達(dá)到最大通信速率1mbps時(shí),通信距離最低為40米。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明是針對(duì)can的最大通信速率限制在1mbit/s,限制通信發(fā)展的問(wèn)題,提出了一種提高can總線通信速率的方法,對(duì)數(shù)據(jù)幀格式進(jìn)行結(jié)構(gòu)變動(dòng),提高can總線通信速率。
本發(fā)明的技術(shù)方案為:一種提高can總線通信速率的方法,can總線中的ack場(chǎng)為確認(rèn)場(chǎng),其中的ack間隙為確認(rèn)位,將can總線數(shù)據(jù)幀格式中的確認(rèn)場(chǎng)確認(rèn)位從一位擴(kuò)展到兩位,總的報(bào)文傳輸時(shí)間不變,相應(yīng)的確認(rèn)位一位的時(shí)間變?yōu)閮晌坏臅r(shí)間,確認(rèn)位中的一位的位時(shí)間縮短,作為位時(shí)間倒數(shù)的位速率相應(yīng)提高。
本發(fā)明的有益效果在于:本發(fā)明提高can總線通信速率的方法,在原有can總線協(xié)議基礎(chǔ)上,通過(guò)對(duì)幀格式的簡(jiǎn)單變動(dòng),實(shí)現(xiàn)了can總線傳輸速率的有效改善,對(duì)于增強(qiáng)汽車can總線控制系統(tǒng)的實(shí)時(shí)性具有重要意義。
附圖說(shuō)明
圖1為報(bào)文在ack的發(fā)送過(guò)程圖;
圖2為本發(fā)明數(shù)據(jù)幀格式圖;
圖3為本發(fā)明位時(shí)間組成圖。
具體實(shí)施方式
本發(fā)明提高can總線通信速率的方法就是將can總線確認(rèn)場(chǎng)(ack場(chǎng))的ack間隙(即確認(rèn)位)從一位擴(kuò)展到兩位,如圖2所示本發(fā)明數(shù)據(jù)幀格式圖,原來(lái)1位的ack間隙變成相同的2位,此時(shí)總的報(bào)文傳輸時(shí)間不變,相應(yīng)的確認(rèn)位一位的時(shí)間變?yōu)閮晌坏臅r(shí)間,確認(rèn)位中的一位的位時(shí)間就縮短了,收到確認(rèn)位的時(shí)間就縮短了,位速率是位時(shí)間的倒數(shù),因此通信速率也就相應(yīng)提高了。
位時(shí)間可由傳輸距離和傳播速度來(lái)確定,位時(shí)間由同步段、傳播段、相位緩存段1和相位緩存段2組成,如圖3所示。本發(fā)明通過(guò)假設(shè)一個(gè)傳輸距離和傳播速度,求出此時(shí)的位時(shí)間,與目前的最短位時(shí)間進(jìn)行比較。當(dāng)然這個(gè)位時(shí)間是要具有實(shí)際意義的,能夠滿足位時(shí)間的定義。位時(shí)間按時(shí)間份額(tq)進(jìn)行編程設(shè)置,時(shí)間份額tq是位時(shí)間中最小時(shí)間單位。時(shí)間份額tq是由節(jié)點(diǎn)的振蕩器周期推出的固定時(shí)間單元,一般取作振蕩周期的整數(shù)倍。設(shè)所選振蕩器頻率決定的最小時(shí)間為tmin,用于對(duì)tq的長(zhǎng)度進(jìn)行編程調(diào)整的整數(shù)分度值為m,can協(xié)議中m的可取值范圍為1~32,則時(shí)間份額的長(zhǎng)度可由下式表示:
tq=m×tmin(1-1)
組成位時(shí)間的各時(shí)間段長(zhǎng)度分別為:同步段長(zhǎng)度為1個(gè)tq;傳播段的長(zhǎng)度可編程為1~8個(gè)tq;相位緩沖段1的長(zhǎng)度可編程為1~8個(gè)tq;相位緩沖段2的長(zhǎng)度為相位緩沖段1和信息處理時(shí)間的最大值;信息處理時(shí)間小于或等于2個(gè)tq。在位時(shí)間中,時(shí)間份額總數(shù)必須被編程為至少8~25個(gè)。
因?yàn)槲凰俾适俏粫r(shí)間的倒數(shù),所以證明位時(shí)間能夠縮短后,可以得到結(jié)論位速率是能夠提高的。
具體實(shí)施方案:首先在報(bào)文幀格式中,將確認(rèn)場(chǎng)中的確認(rèn)位增加一位,此時(shí)確認(rèn)場(chǎng)變成三位,其中確認(rèn)位占兩位。已知原來(lái)can的最高位速率為1mbps,可得原來(lái)的最短位時(shí)間為1μs,即原來(lái)確認(rèn)位的時(shí)間為1μs。根據(jù)目前can能達(dá)到最大通信速率時(shí)的通信距離最低為40米,假設(shè)傳播距離l為40米。光在真空的傳播速度為3×108m/s,在介質(zhì)中光速會(huì)有折損,假設(shè)此時(shí)的傳播速度v為1.6×108m/s。因?yàn)閳?bào)文傳輸需要回讀,所以計(jì)算時(shí)間時(shí)需要考慮往返問(wèn)題。根據(jù)公式:
將l和v數(shù)據(jù)帶入得位時(shí)間tb=5×10-7s/bit。此時(shí)整個(gè)ack間隙的時(shí)間為1μs。根據(jù)公式:
得位速率tr=2×106bps。
can的最大比特率1mbps,原來(lái)的位時(shí)間為1μs,位速率為1mbps。通過(guò)上面計(jì)算,可以確定位時(shí)間是可以縮短為原來(lái)的一半。改變后的將原確認(rèn)位從1位變?yōu)?位,但總時(shí)間不變,即原一位時(shí)間變?yōu)閮晌晃粫r(shí)間,即1μs。位時(shí)間縮短為原來(lái)的一半,相應(yīng)的位速率也提高到原來(lái)的兩倍。
接下來(lái)需要做的就是證明這個(gè)位時(shí)間是具有實(shí)際意義的。根據(jù)上述介紹,當(dāng)tb=5×10-7s/bit時(shí),假設(shè)時(shí)間份額被編程了8次,m也取最小值1,此時(shí)可以得到節(jié)點(diǎn)的振蕩周期為0.625×10-7s,時(shí)鐘頻率就為16mhz,此時(shí)可取同步段長(zhǎng)度為1個(gè)tq,傳播段長(zhǎng)度為3個(gè)tq;相位緩沖段1長(zhǎng)度為2個(gè)tq;相位緩沖段2長(zhǎng)度為2個(gè)tq。所以這個(gè)位時(shí)間是存在的。顯然此時(shí)40米的位速率是原來(lái)位速率的兩倍,此時(shí)兩位確認(rèn)位的時(shí)間和原來(lái)一位確認(rèn)位的時(shí)間是相等的。這就說(shuō)明了當(dāng)確認(rèn)位從一位擴(kuò)展到兩位時(shí),在總確認(rèn)時(shí)間不變的情況下,位速率可以提高兩倍。