關(guān)于如何讓初學(xué)者形象理解CAN總線技術(shù)關(guān)鍵點(diǎn)的思考
總線阻抗匹配:在CAN總線通信的物理鏈路層,我們需要更好的總線阻抗匹配,才可以更好的傳輸數(shù)據(jù);總線匹配不好,可能會(huì)造成信號(hào)的衰減和末端信號(hào)反射,造成對(duì)正常信號(hào)的干擾;就如人與人在說(shuō)話時(shí)候,由于聲音的傳輸介質(zhì)(如空氣稀薄等)不適合或周圍的障礙物造成的回音與正在說(shuō)的話的疊加,對(duì)聽(tīng)眾造成接收障礙一樣。所以我們需要對(duì)總線進(jìn)行阻抗匹配,避免造成信號(hào)衰減和反射震蕩,總線匹配需要選擇合適的線材及在適當(dāng)?shù)奈恢迷O(shè)置好終端電阻。同時(shí)配合示波器/PFautoCAN汽車CAN總線仿真開(kāi)發(fā)工具/不同長(zhǎng)度和材料的線纜/終端電阻加入位置和阻值現(xiàn)場(chǎng)向初學(xué)者進(jìn)行講解。
本文引用地址:http://cafeforensic.com/article/201612/329859.htm高層協(xié)議:不同協(xié)議導(dǎo)致信號(hào)的表達(dá)不同,如一個(gè)是英語(yǔ),一個(gè)是漢語(yǔ),大多數(shù)情況下他們之間發(fā)出的信息是不一樣的,偶爾語(yǔ)調(diào)一樣(報(bào)文),但是可能表達(dá)了不同意思。所以我們?cè)谑褂脮r(shí)一定要先理解好高層協(xié)議或者對(duì)協(xié)議進(jìn)行定義,才可以進(jìn)行順暢的溝通。定義好協(xié)議就可以在PFautoCAN軟件中進(jìn)行數(shù)據(jù)庫(kù)的建立,這樣方便于網(wǎng)絡(luò)調(diào)試/監(jiān)聽(tīng)/模擬/錄制回放等。所以采用CANopen高層協(xié)議的網(wǎng)絡(luò)不可能兼容DeviceNET高層協(xié)議的網(wǎng)絡(luò),雖然他們都采用了CAN作為底層通信協(xié)議,通信速率也可能一樣。
優(yōu)先級(jí)和無(wú)損仲裁:總線優(yōu)先級(jí)和無(wú)損仲裁類似于“讓領(lǐng)導(dǎo)先走”+“和諧社會(huì)”。雖然CAN總線在表面上是多主網(wǎng)絡(luò),所有節(jié)點(diǎn)都可以主動(dòng)往總線發(fā)數(shù)據(jù),看起來(lái)是同時(shí)在收發(fā)信息,所有節(jié)點(diǎn)平等的享有總線的使用權(quán)。但是實(shí)際上CAN總線僅允許同時(shí)傳輸一個(gè)報(bào)文(就像一條僅允許通過(guò)一輛車的道路,所有節(jié)點(diǎn)共用這個(gè)道路)。在使用這個(gè)總線的時(shí)候,他們是有等級(jí)區(qū)分的,等級(jí)的區(qū)分來(lái)源于各個(gè)節(jié)點(diǎn)的報(bào)文ID,報(bào)文ID越小,優(yōu)先級(jí)越高??偩€上已經(jīng)有數(shù)據(jù)在傳輸時(shí),其他節(jié)點(diǎn)不會(huì)去干涉這個(gè)數(shù)據(jù)的傳輸;但是當(dāng)總線出現(xiàn)空閑,而又有2個(gè)或者以上節(jié)點(diǎn)等待發(fā)數(shù)據(jù)時(shí),這些節(jié)點(diǎn)的CAN控制器將同時(shí)會(huì)發(fā)出待發(fā)送數(shù)據(jù)的ID(由高位到低位),并對(duì)總線現(xiàn)在的電平逐位比較,當(dāng)發(fā)現(xiàn)自己的ID大于其他總線發(fā)出的ID時(shí),將會(huì)自動(dòng)退出總線,讓ID小的數(shù)據(jù)先發(fā)送(就如在這條道路上已經(jīng)有車輛通行,其他車輛不管優(yōu)先級(jí)高低,自動(dòng)等待;但是當(dāng)?shù)缆烦霈F(xiàn)空閑,而又有兩輛車準(zhǔn)備進(jìn)入這條路時(shí),大家先比對(duì)一下自己所處低位,然后讓低位高的先走)。這些測(cè)試情況可以用我公司的2個(gè)PFautoCAN汽車CAN總線仿真開(kāi)發(fā)工具在將通信速率降低后從數(shù)據(jù)的發(fā)送接收中看出(通信速率降低后,造成總線允許的最大數(shù)據(jù)量降低,這樣更容易實(shí)現(xiàn)總線的完全占用)。
評(píng)論