作者Edwin Romero 控制器局域網(CAN)協議是在20世紀80年代中期專為汽車行業設計的一種規范,可在日益增長的互聯應用中減少數據傳輸的布線復雜性(重量、數量和成本)。 CAN的優勢也被其他市場(包括工廠自動化和醫療應用)接受和吸納,這使其應用范圍更加廣泛,全球每年交付的CAN節點超過10億個。同樣,每年交付的8位單片機(MCU)也超過10億個。如今,雖然這些統計數據有部分重疊,但今后仍會有大幅增長。 CAN繼續滿足汽車制造商的需求 傳統的CAN通信以事件為基礎,允許單片機和專用集成電路(ASICS)在應用中直接相互通信,無需主機。CAN經過半導體公司集成后極大降低了成本,并且能夠與更多汽車系統兼容。自2000年初以來,8位MCU也引入了CAN協議。最近,2015年最先推出的8位MCU設計方案使用獨立于內核的外設(CIP),全新的8位MCU系列能夠解決CAN應用中的許多系統問題。 除了成本效益高之外,CAN的成功還可以歸功于: 穩健性 可靠的數據傳輸 易于實現 毫無疑問,除了成本效益極高之外,8位MCU還具有上述優勢。因此,8位MCU和CAN是用于滿足汽車網絡需求的完美組合。 多年來的實踐足以證明CAN能夠滿足各種控制系統的需求。隨著汽車網絡需要的各種屬性不斷增加,包括時間觸發、容錯和單線實現以及具有靈活數據傳輸速率的CAN(CAN FD),CAN規范也得到擴展。表1顯示的是自30多年前首次推出以來CAN發生的諸多變化。 表1.用于滿足不同汽車需求的CAN版本
為了將傳感器和執行器聯網以提高系統舒適度,汽車工程師使用局域互連網絡(LIN)協議來降低成本。但是,LIN是單線主從式網絡,需要對使用CAN的硬件和軟件進行更改。使用CAN的最新汽車應用包括門禁控制、電池充電/電池管理和診斷設備。為了實現全部的車輛要求,尤其是需要從另一個CAN控制系統訪問數據的車輛要求,需要使用8位MCU/CAN。圖1顯示的是將8位MCU/CAN節點輕松添加到現有CAN總線的示例。 圖1.不同的CAN實現可以共存,這增加了CAN總線的靈活性 使用支持CAN的8位MCU滿足低成本網絡需求 連接到CAN總線是系統設計人員需要實現的最低功能,通過增加專門用于滿足其他系統要求的外設,簡化設計人員的任務。這些系統任務包括感測一個或兩個用于控制目的的參數、移動電機或激活電磁線圈或者提供其他功能。 使用CIP方法可以降低軟件的復雜程度,并以較低的時鐘速度提供更快的響應時間,同時降低功耗。Microchip PIC18 K83系列中豐富的CIP系統類別包括: • 智能模擬(包括傳感器接口) • 波形控制 • 時序和測量 • 邏輯和數學 • 安全和監視 • 通信 • 低功耗和系統靈活性 在這些類別中,具體外設包括: • 帶有存儲器掃描的循環冗余校驗(CRC),用于確保非易失性存儲器的完整性 • 直接存儲器訪問(DMA),用于在沒有CPU參與的情況下進行存儲器和外設之間的數據傳輸 • 窗口看門狗定時器(WWDT),用于觸發系統復位 • 帶計算功能的12位模數轉換器(ADC2),可自動進行模擬信號分析,從而實現實時系統響應 • 互補波形發生器(CWG),用于使能電機控制的高效同步開關 除了使用CAN 2.0B外,集成CAN控制器還能夠完全兼容以前版本的CAN模塊(CAN 1.2和CAN 2.0A)。該產品的功能包括存儲器訪問分區(MAP),用于在數據保護和自舉程序應用中為設計人員提供支持。器件信息區(DIA),用于為工廠編程的器件ID和外設校準值提供專用存儲空間。 由于CAN節點的主要目標是通信,因此8位MCU改進了串行通信,包括支持異步通信和LIN協議的UART以及更高速的獨立I2C和SPI串行通信接口。表2顯示了15個CIP以及它們滿足具體系統需求的方式。 表2. PIC18 K83系列中獨立于內核的外設可滿足多種系統需求 過去并沒有考慮過在8位MCU中實施這些片上結構,而正是由于這些結構,現在的8位MCU的性能與許多設計人員的期望完全不同,提供的功能遠遠超過十年前設計的MCU。 8位MCU的編程方式非常簡單,與CAN和CIP結合使用時甚至更加容易。當這些8位MCU能夠提供足夠的處理能力時,特別是針對遠程節點的處理能力,便能夠替代更昂貴且更難編程的16位MCU。而CIP可以提供更多處理能力,實現更多8位MCU選項。 可靈活配置的片上硬件模塊能夠更高效更確定地處理重復嵌入。事實上,由于CAN的確定性,如果MCU陷入循環,使用CIP的CAN仍然可以在內核之外繼續運行。 借助最新的8位MCU/CAN + CIP和LIN,網絡設計人員現在可以為CAN和LIN通信提供更多靈活性和選擇。實際上,一些典型的8位MCU LIN應用現在是潛在的CAN應用。例如,如果模塊需要了解網絡上的其他數據(如車輛速度),CAN可能是更好的選擇,或者至少是LIN的備選方案。這對于擋風玻璃雨刮非常有用,可以根據車輛的速度改變雨刷速度,而無需CAN到LIN的網關。另外,如圖2所示,使用系統級CIP可以少用一兩個額外的ASIC。 多年來,汽車中一直使用相同的PWM和互補波形發生器CIP生成相當復雜的多色LED氣氛照明。由于MCU沒有應用CAN功能,這些驅動程序會連接到LIN總線。將該功能與支持CAN功能的高性價比8位MCU相結合,可為設計提供更高的靈活性和簡化的備用方法。 雖然市面上大多數8位MCU都嚴重依賴內核來處理外設功能,但CIP可實現其他系統設計可能性,不會對CPU造成明顯負擔,這包括:各種傳感器的高精度接口、高功率LED驅動器和/或相當復雜的電機控制水平。 可以使用各種開發工具確定這些和其他可能性中的哪一種適合特定網絡。例如,MPLAB代碼配置器(MCC)是一款免費的軟件插件,可提供圖形界面來配置特定于應用的外設和功能。借助該工具,系統設計工程師在完成特定任務時可以輕松配置基于硬件的外設,而不必編寫和驗證整個軟件程序。 樹立自信的態度 對于汽車和工業應用中的總線架構,系統設計人員肯定有多種選擇。作為一種廣受認可的總線,當需要為現有網絡增加檢測和/或控制功能時,具有附加功能來滿足不同系統需求的MCU使CAN成為一種出色的選擇。憑借其獨立于內核的外設,8位MCU/CAN系列可將CAN擴展到網絡上更具成本效益的節點中。 新型8位MCU/CAN + CIP為新興汽車網絡應用提供了靈活、經濟高效、簡單而可靠的數據傳輸以及訪問控制、電池充電/電池管理和診斷設備所需的更高性能和系統支持。 參考資料 1. PIC18 K83產品系列:http://www.microchip.com/promo/pic18f-k83 2. MPLAB代碼配置器(MCC):http://www.microchip.com/mplab/mplab-code-configurator |