一種基于CAN總線的監(jiān)控系統(tǒng)設(shè)計(jì)及位定時(shí)分析
位周期參數(shù)確定
在初始化can控制器的時(shí)候,要考慮配置總線時(shí)序寄存器的配置等重要問題。事實(shí)上,can通信協(xié)議中規(guī)定、通信波特率、位周期的取樣點(diǎn)以及取樣個(gè)數(shù)均可以自主設(shè)定,這樣為用戶在網(wǎng)絡(luò)通訊性能的優(yōu)化上提供了空間。如果位周期采樣點(diǎn)偏后,可以接受較大的信號(hào)傳輸延遲,相應(yīng)總線的傳輸距離可以延長;如果周期的取樣點(diǎn)接近中間,則可以容忍系統(tǒng)節(jié)點(diǎn)間的參考時(shí)鐘誤差。這些矛盾直接影響了網(wǎng)絡(luò)系統(tǒng)性能,所以總線位定時(shí)非常重要,合理的位定時(shí)可以提高系統(tǒng)的整體性能。
can 總線周期由4個(gè)部分組成: 同步段(sync_seg) 、傳播延時(shí)段、相位緩沖段1 ( phase_seg1) 和相位緩沖段2 (phase_ seg2) ,如表4所示。
同步機(jī)制
can是有效支持分布式實(shí)時(shí)控制的串行通訊網(wǎng)絡(luò)。從位定時(shí)的同步方式考慮,它實(shí)質(zhì)上屬于異步通訊協(xié)議,每傳輸一幀,以幀起始位開始,而以幀結(jié)束及隨后的間歇場(chǎng)結(jié)束。這就要求收/發(fā)雙方從幀起始位開始必須保持幀內(nèi)信息代碼中的每一位嚴(yán)格的同步。從位定時(shí)編碼考慮,它采用的是非歸零編碼方式,位流傳輸不像差分碼那樣可以直接用電平的變化來代表同步信號(hào),它屬于自同步方式(接收端設(shè)法從收到的信號(hào)中提取同步信息的方式),can節(jié)點(diǎn)從一個(gè)位值到另一個(gè)位值的轉(zhuǎn)變中提取時(shí)鐘信息。為保證同步質(zhì)量,can協(xié)議定義了自己的位同步方式:硬同步和重同步。
通過同步機(jī)制,可以消除由于相位誤差帶來的影響,保證信息正確解碼。硬同步后,內(nèi)部的位時(shí)間從同步段重新開始。因此,硬同步強(qiáng)迫同步沿處于重新開始的位時(shí)間同步段之內(nèi)。重新同步的結(jié)果使相位緩沖段1增長,或使相位緩沖段2縮短。相位緩沖段加長或縮短的數(shù)量有上限,此上限由重新同步跳轉(zhuǎn)寬度給定。
一個(gè)沿的相位誤差由相關(guān)同步段的沿的位置給出。相位誤差定義如下:
le = 0如果沿處于同步段里;
le 》 0 如果沿處于采集點(diǎn)之前;
le 《 0 如果沿處于前一個(gè)位的采集點(diǎn)之后。
當(dāng)引起重新同步沿的相位誤差的幅值小于或者等于重新同步跳轉(zhuǎn)寬度的設(shè)定值時(shí),重新同步和硬同步的作用相同。當(dāng)相位錯(cuò)誤的量級(jí)大于重新同步跳轉(zhuǎn)寬度時(shí)有2種情況:
如果相位誤差為正,則相位緩沖段1被增長,增長的范圍與重新同步跳轉(zhuǎn)寬度相同;
如果相位誤差為負(fù),則相位緩沖段2被縮短,縮短的范圍與重新同步跳轉(zhuǎn)寬度相同。
硬同步和重新同步是同步的2種形式,遵循以下規(guī)則:
在一個(gè)位時(shí)間里只允許一個(gè)同步;
僅當(dāng)采集點(diǎn)之前探測(cè)到的值與緊跟沿之后的總線值不相符合時(shí),才把沿用作于同步;
總線空閑期間,有一“隱性”轉(zhuǎn)變到“顯性”的沿,無論何時(shí),硬同步都會(huì)被執(zhí)行。
評(píng)論