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