王銘 郭更生 王黎明
【摘要】CAN是控制器局域網(wǎng)絡(Controller Area Network, CAN)的簡稱,是國際上應用最廣泛的現(xiàn)場總線之一,在工業(yè)測控和工業(yè)自動化等領域的相關課程中多有涉及,同樣也是在工業(yè)網(wǎng)絡課程教學中的難點。按照傳統(tǒng)的教學方法大多重理論而輕實踐,實際效果并不理想。本文舉例了CAN現(xiàn)場總線教學中較為突出的難點,進行了探究與總結,并根據(jù)CAN總線的實際將興趣驅動與問題探索教學與研究型教學相結合,強化了實踐內容,注重了學生應用能力的培養(yǎng),取得了較好的教學效果。
【關鍵詞】創(chuàng)新教學方法 CAN現(xiàn)場總線 工業(yè)自動化
【中圖分類號】G424 【文獻標識碼】A 【文章編號】2095-3089(2017)08-0244-02
現(xiàn)場總線是應用在生產現(xiàn)場,在微機化測量控制設備之間,實現(xiàn)雙向串行多節(jié)點數(shù)字通信的系統(tǒng),是一種開放式、數(shù)字化、多點通信的底層控制網(wǎng)絡,匯集了計算機技術、網(wǎng)絡通信技術和自動控制技術的現(xiàn)場總線技術,而其中 CAN因為具有高性能、高可靠性以及獨特的設計而越來越受到關注,現(xiàn)已形成國際標準,被公認為幾種最有前途的現(xiàn)場總線之一。但在教學的過程中有許多難點,學生無法很快地理解其中的內容,其中傳輸時間問題和傳輸沖突檢測問題是較為突出的兩個難點。為將難點有效地轉化為學生的知識點,采用創(chuàng)新教學方法進行探索總結具有重要意義。
1.關于傳輸時間的理解
1.1通信時間概念
CAN總線屬于異步串口通信的方式,這種通信方式是不傳輸時鐘同步信號的,各個接收器按事先設置的節(jié)拍(波特率)來對總線上的電平信號進行分片,每一片的值就代表一個位,就像每個接收器都有一個秒表,時間一到就讀總線電平狀態(tài)。在這塊內容的教學中宜采用興趣驅動與問題探索的教學方法進行教學。培養(yǎng)學生興趣驅動、發(fā)現(xiàn)問題、探索問題的能力。
異步串行通信的優(yōu)點是減少了一根時鐘線;缺點是各接收器的時鐘不可能完全一致,總是會有一些偏差,有些偏快,有些偏慢,有些誤差會累計直到通信出錯。例如,一個節(jié)點的實際波特率比標注值大1%,那么這種誤差在100個位以后會累計達到1個位,從而使通信出錯。就像有的表快,有的表慢,短時間看不出來,過幾天誤差就顯示出來了。這時可以將問題拋給學生,讓學生自行提出解決的方案。
實際上,要解決這個問題,很容易的辦法就是提高時鐘精度。大家都帶上極其精準的手表,就可以保證長時間沒有誤差。但是這樣會使設備成本增加,同時這種辦法也是減少了誤差,并不能消除累計誤差。這一內容講授之后,對學生的方案進行點評,對于有問題的方案指出問題出在哪里或是進行實驗自行探究方案的可行性;對于可行的方案,指出方案的優(yōu)勢在哪里,又有哪些地方有待優(yōu)化,以此激發(fā)學生對內容的興趣,提升參與度。
聰明的工程師想到了更經濟、可靠的方法——同步。同步就像給鐘表校時一樣,隔一段時間所有的時鐘就同步一次(例如歸零)。這樣盡管大家的時鐘仍有誤差,但是可以消除累計誤差。CAN總線規(guī)定信號的跳變即為同步信號,所以只要有信號變化,節(jié)點時鐘就會被同步。經過綜合考慮,CAN總線同步的最大周期為5個位。但是因為傳輸?shù)臄?shù)據(jù)內容不可能都滿足最長5個位就要變化一次,于是CAN總線進一步作了規(guī)范,如果傳輸?shù)男盘栠B續(xù)5個位是相同的,就要插入一個電瓶相反的位,這個額外的位稱為“位填充”,接收方會自動過濾填充位。整個插入與過濾的過程都在CAN控制器中自動完成,用戶程序無需干預。此時,讓學生討論這一方案的優(yōu)勢在哪里,以此來加深學生對于正確概念的印象與認知。
2.傳輸沖突檢測理解
2.1傳輸沖突檢測概念
CAN總線的MAC層在進行總線仲裁時,是基于CSMA/NDBA(載波監(jiān)聽多路訪問/非破壞性的位元形式仲裁)技術的仲裁,是采用CSMA/CD(/沖突檢測方法)與NDBA相結合的仲裁技術。CSMA/CD方式保證了所有節(jié)點都能夠在總線空閑后立即發(fā)送信息。NDBA則利用NRZ(非零位復原)技術,當多個節(jié)點進行總線競爭時,保證優(yōu)先級最高的節(jié)點仍然能夠正常的傳輸數(shù)據(jù)。
在學習這部分內容時宜采用研究型教學法,是指教師以課程內容和學生的學識積累為基礎,在教學過程中通過優(yōu)化課程結構,將學習、實踐、研究有機結合起來,充分發(fā)揮學生的主體作用,使學生能創(chuàng)造性地運用知識和能力,在主動探索、主動思考、主動實踐的研究過程中,自主地發(fā)現(xiàn)問題、研究問題和解決問題,彰顯創(chuàng)造性特色的一種教學模式。
研究型教學由五個基本環(huán)節(jié)組成:引導、指導與自學、精講與答疑、研討與回顧和訓練與總結。五個教學環(huán)節(jié),相對獨立、互相依存、分別作用,形成了一個有機整體,層層深入和環(huán)環(huán)緊扣,該方法將教學由傳統(tǒng)的單向灌輸式轉變?yōu)榱藙?chuàng)新的啟發(fā)互動式。
我們知道一個CAN現(xiàn)場總線上會掛很多CAN節(jié)點,只要總線空閑,它們都可以主動發(fā)送報文(CSMA/CD方式)。我們可以想象,如果在同一時刻有多個節(jié)點同時發(fā)送數(shù)據(jù)幀,則可能出現(xiàn)數(shù)據(jù)相互干擾的問題,就像一條鐵軌不能在同一時刻跑多列火車一樣。聰明的工程師想到了標識符逐位仲裁的方法(NDBA的非破壞性仲裁技術),仲裁的機制確保了報文和時間均不損失,該方法的基礎就是“線與”原理。
2.2“線與”概念
什么是“線與”呢?在CAN總線的位中,邏輯“0”被稱作顯性位,邏輯“1”被稱作隱性位。輸出信號時節(jié)點內部的開關斷開(輸出隱性電平)時,因為上拉電阻的存在,輸出為高電平。開關閉合(輸出顯性電平)時,輸出則變?yōu)榈碗娖?。因為所有收發(fā)器的輸出開關都是并聯(lián)的,所以當有一個或多個開關閉合時,即使其他節(jié)點輸出高電平(隱性電平),線路電平仍然為低。這種關系和邏輯“與”相同,所以被稱為線“與”。CAN采用總線拓撲結構,各節(jié)點的發(fā)送電路的端口用集電極開路門實現(xiàn),因此可以實現(xiàn)“線與”。關于“線與”的知識點相比之下理解起來較為容易,交由學生在課前自行學習。學生事先掌握了“線與”知識,對仲裁教學內容的展開有積極的推動作用。在實際的課堂中效果十分顯著,學生十分輕松的對幀的“顯”“隱”性有一個清晰的認識。
2.3CSMA/CD與NDBA仲裁
所有偵聽到總線空閑的節(jié)點同時發(fā)送幀,且?guī)鹗嫉纳仙赝?。然后,各個幀的仲裁場中的標識符在總線同時相遇,各位標識符逐位進行“線與”,進行沖突仲裁。在一條CAN總線上,當“顯性”位和“隱性”位進行線與時,“顯性”位覆蓋“隱性”位,即“隱性”位在競爭中退出。發(fā)送節(jié)點在發(fā)送數(shù)據(jù)的同時,也對總線上的數(shù)據(jù)進行檢測。如果發(fā)送節(jié)點發(fā)送的數(shù)據(jù)與總線上的數(shù)據(jù)相同,則發(fā)送節(jié)點繼續(xù)發(fā)送下一位數(shù)據(jù)。如果發(fā)送節(jié)點發(fā)送的數(shù)據(jù)與總線上的數(shù)據(jù)不相同,即發(fā)送的是“1”,但總線上的數(shù)據(jù)是“0”,則發(fā)送節(jié)點立即停止發(fā)送。標識符逐位仲裁結束后,最后剩余的仍然在發(fā)送數(shù)據(jù)的節(jié)點獲得了信息優(yōu)先發(fā)送權,繼續(xù)發(fā)送幀后面的各個場域。中途停止發(fā)送數(shù)據(jù)的節(jié)點則采用CSMA/CD方式等待下一次發(fā)送。
CSMA/CD與NDBA仲裁方式也可以利用下面的例子進行說明。某采用標準幀格式的CAN總線處于空閑狀態(tài)時,三個等待發(fā)送信息的節(jié)點A、B、C同時向總線發(fā)送了信息。在幀起始實現(xiàn)由“顯性”位到“隱形”位上升跳變沿的同步。然后,三個節(jié)點的標識符從高位到低位逐位“線與”。在第二個標識符位,節(jié)點C發(fā)送的數(shù)據(jù)是“1”,而總線上的數(shù)據(jù)是“0”,節(jié)點C停止發(fā)送信息,節(jié)點A和B繼續(xù)發(fā)送信息。在第8個標示符位,節(jié)點B發(fā)送的數(shù)據(jù)是“1”,而總線上的數(shù)據(jù)是“0”,節(jié)點B停止發(fā)送信息,節(jié)點A繼續(xù)發(fā)送信息。最后,只剩下節(jié)點A,其繼續(xù)發(fā)送控制場、數(shù)據(jù)場等數(shù)據(jù)。節(jié)點B和C則繼續(xù)等待總線空閑后,再發(fā)送信息。
簡而言之,CAN控制器在發(fā)送的同時,會監(jiān)聽總線的當前電平是否與自己發(fā)送的電平一致,如果不一致發(fā)生在仲裁域,就會迫使輸出隱性電平的節(jié)點退出發(fā)送;如果發(fā)生在其他域,則會出現(xiàn)觸發(fā)錯誤。利用CSMA/NDBA技術,使得當信號在CAN總線上發(fā)生沖突時,既不會破壞信號,又不會浪費帶寬,保證優(yōu)先級較高的信號的吞吐率。在這部分內容上可以采取事先告訴學生結論,讓學生進行自主探討研究這一結論的原因。在這之后組織進行驗證性的實驗,對學生提出的結論進行驗證并進一步加深學生對知識的掌握。
3.結束語
對傳輸時間問題和傳輸沖突檢測問題分別采取了興趣驅動與問題探索的教學方法和研究型的教學方法,使學生理解CAN現(xiàn)場總線的特點與技術要點時效果較好,取得了一定成果,希望給當前的CAN現(xiàn)場總線教學以一定的啟發(fā)。
參考文獻:
[1]薄翠梅,張廣明,李俊.基于興趣驅動與問題探索的自動化專業(yè)工程實踐教學方法[J].中國冶金教育.2010(4),14-16
[2]夏春華,王金庭.電子信息工程專業(yè)課程教學方法及內容改革初探[J].武漢紡織大學學報.2010(6),58-60
[3]譚叢兵,黃鋒. 創(chuàng)新教學方法 提高教學效果——對改革大學物理教學方法問題的思考與對策[J].礦業(yè)工程研究. 2005, 27(2),133-135
[4]吉順平,孫承志,路明.“可編程控制器及應用”創(chuàng)新教學方法研究[J].電氣電子教學學報.2008, 30(2),10-12