汽車級MCU" title="汽車級MCU">汽車級MCU市場總覽
從2007年到2011年,消費者對汽車電子市場產品(包括 MCU、傳感器及車身集成電路)的需求量不斷上漲(圖1),其中MCU所占的市場份額最大。但在巨大的市場機遇面前,汽車電子廠商也面臨著挑戰。隨著消費者對于汽車舒適性、安全性、駕駛性要求的不斷提高,汽車廠商在汽車電子產品性能改善、功能增加和整體成本降低等方面提出了更高的要求,使得IC供應廠商必須提高系統的集成度,以便減少整個系統的成本,簡化設計流程。
MCU在汽車電子方面的主要應用涵蓋五大領域,分別是:1、汽車動力系統控制,主要應用為發動機控制、方向轉向以及動力轉向;2、汽車控制系統,即車身的控制,主要包括防盜控制、開關控制、電動車窗控制、車門控制、車燈控制等;3、安全控制系統,包括安全氣囊、ABS、SAFF等;4、行駛系統控制,包括儀表盤、空調、底盤控制等;5、汽車信息系統,包括娛樂、服務、移動通信、信息處理和GPS導航等。除了汽車動力系統控制和汽車信息系統控制這兩項應用需要高性能的32位MCU外,其余三項都可以采用汽車級MCU。
圖1 MCU、傳感器和車身集成電路的市場需求
Silicon Labs公司的汽車級MCU C8051F5XX" title="C8051F5XX">C8051F5XX系列產品是能夠為車身電子和點控裝置提供高集成度、使用簡單并具有高效費比的混合信號MCU系統。它主要應用于自動車窗、車門、自動座椅、反光鏡、電動機、制動器等控制系統中。C8051F50X系列產品提供了小體積的CAN" title="CAN">CAN/LIN網絡解決方案,在5mm×5mm的封裝內集成了64K Flash、CAN 2.0B 和 LIN 2.0。同時,產品內部集成了誤差只有±0.5%的高精度振蕩器,不需要外部的晶體或振蕩器就可以實現CPU的運行。C8051F5XX系列產品擁有較寬的工作溫度范圍(-40℃到+125℃ ),超過了汽車電子對于IC的運行環境溫度的要求(-40℃到+120℃),可提供1.8至5.25V的寬電壓范圍,為客戶在產品設計方面提供了很大的選擇余地。
圖2為F500的結構框圖,從圖中可以看到,在5mm×5mm的封裝里面,集成了較為完整的數字和模擬外設。在數字外設方面,包括64K Flash、PWM產生器、定時器、I2C、SPI接口以及CAN 2.0B和LIN 2.0的控制器等。模擬外設包括12位的ADC、誤差為±0.5%的高精度內部振蕩器、溫度傳感器和比較器等,同時,既可以使用內部參考電壓,也可以使用外部參考電壓。
圖2 F500的結構框圖
LIN在汽車電子中的應用
在現代汽車電子中,LIN和CAN總線缺一不可。LIN總線又稱本地互聯網絡(Local Interconnect Network),是一種異步、單線串行通信總線,也是汽車電子網絡中常用的一種低成本解決方案。LIN總線包括一個主節點和多個從節點(圖3),通過一根線來進行通信,結構非常簡單。
圖3 LIN總線結構示意圖
LIN總線在汽車中的應用主要有四個方面:車門/車窗/車頂的控制、轉向裝置控制、座椅控制和汽車環境控制。
LIN 總線的特點是:單主從結構,每一個網絡都包含一個主節點和多個從節點,由主節點來控制總線的訪問;基于常用的USART/SCI接口硬件;從屬控制器節點無需石英或者陶瓷振蕩器就可以實現自同步,因而減少了從節點的硬件成本;信號傳輸延時得到保證,確保了在最差狀況下信號傳輸的等待時間以避免總線訪問沖突;低成本的單線12V數據傳輸,線的驅動和接收特性符合改進的ISO9141單線要求;傳輸速度可以達到20 kbps。
Silicon Labs公司C8051F50x/51x的LIN總線硬件接口與LIN2.0協議兼容,其高精度的內部振蕩器使主控制器和從控制器不需要外接晶體就可以工作。在從模式下可以自動檢測波特率,硬件結構帶中斷的錯誤檢測功能和休眠功能,可以實現低功耗。
CAN在汽車電子中的應用
CAN (控制器局域網) 是一種異步、差分串行總線通信標準,通常用于連接電子控制單元(ECU)。在現代汽車電子中,由于LIN比CAN的成本低,因此CAN通常用來連接ECU 和汽車電子中各個功能模塊之間的通信,而LIN主要用于功能模塊和其下各個節點之間的通信,從而降低成本。CAN的原始協議是由羅伯特-博世有限公司創立的,之后被汽車工程師學會采納為通用標準。
CAN在汽車電子中應用非常廣泛,它不但可以應用于LIN應用的一些領域,如車門/車窗/車頂的控制、方向控制、座椅控制、環境控制等,還可以應用于更多的零界系統中,如傳動系統、防抱死制動系統、轉向裝置控制、燃油噴射系統等。
圖4 CAN總線的結構示意圖
CAN總線具有以下特性:
靈活性——在一個CAN網絡中的所有節點都能夠接收和發送數據。
延遲保證——計算傳輸時間和響應時間是CAN網絡設計的一部分。
數據一致性——在一個CAN網絡中的所有節點都可以接收或拒絕一個報文。
強大的錯誤檢測功能——通過位監控、循環冗余檢查、位填充、報文格式檢查等多種手段來確保數據的完整性。
故障界定——有故障的節點將會被切斷以防止更深的網絡被影響。
容錯性——CAN收發器支持將其中的一個引腳短路或接地而不影響報文。
高吞吐量——達到1Mbps的數據傳輸速率。
Silicon Labs公司C8051F50x/51x系列產品的CAN接口硬件中,所有的CAN控制寄存器都可以直接存儲;具有專用的CAN中斷;內置高精度的振蕩器,無需外部晶振;同時,使用官方的Bosch 模塊,方便客戶使用。
采用F500和F30的汽車電子解決方案
方案1——主窗口升降控制器
在圖5中可以看到,該系統中有一個主節點,由F500 MCU做主控制器,同時包含3個從節點,使用性能更低一些的F30來實現。該方案所要實現的功能是,通過駕駛員側窗控制器來控制所有的汽車窗戶,同時在每個從節點上面都分布了一個防夾算法,在每個車門上都有一個阻力傳感器和車窗的位置傳感器,電動車窗的模塊通過接收這兩個傳感器的信號來判斷是否有物體阻礙了車窗的上升,如果判斷結果是“有”,那么電動車窗控制模塊就會反轉驅動電機使車窗下降以防止夾傷。
圖5 主窗口升降控制器
方案2——自動座椅的調整
該方案(圖6)通過由F500做主節點、5個F30做從節點來實現,在每個從節點上都分布有判斷功能、保護功能和智能算法,以實現各個模塊的正常工作。
圖6 自動座椅調整方案
問答選編
問:CAN和LIN總線有哪些相同和不同點?
答:LIN是CAN的一種低成本的輔助總線,CAN的速度可以達到1M而LIN只能達到20K。所以,CAN可以用于高速系統,LIN只能用于低速。而且一般在汽車電子中,CAN用于連接ECU和控制模塊,而LIN則用來連接模塊與功能節點之間的通訊。
問:請問LIN外設與UART0的主要差別在哪里?
答:LIN總線的串行傳輸是在單線上完成,UART0則是通過雙線TX/RX進行通訊。
問:系統時鐘切換到外部時鐘后,內部的時鐘是否應關閉?
答:主時鐘需要關閉。
問:LIN總線的串行傳輸是在單線上完成,那么進行數據傳輸時效率如何?
答:全部由主控制器來決定,用戶可以在程序中設定優先級。
問:能談談CAN總線與MIC總線性能對比嗎?
答:MIC總線是一種時間分割多路傳輸總線,以雙冗余串行通信的方式傳輸數據,比較適合尖峰脈沖干擾頻繁的場合。CAN可以簡單的理解為差分信號,對浪涌等共模干擾抑制能力很強。
問:LIN總線的從節點如何實現同步?
答:所有的節點都是由主節點來控制的,同步由F500的LIN控制器自動完成。
問:能介紹一下目前單片機的主要加密方式嗎?
答:在MCU的Flash中有一個加密字節,這個字節的每一位對應一頁的加密。沒有加密時,這個字節默認是"FFH",當要對某頁進行加密時,只需要將相應的位寫:"0"。一旦寫"0"后,相應的空間就不能通過一些工具從外部進行讀寫了。另外,利用MCU自己的FIRMWARE也可以對FLASH進行加密,而不影響對加密空間的訪問。
問:用戶最大的程序代碼可以多大?
答:最大4K字節。
問:切換外部晶振時應注意哪些問題?
答:切換外部晶振時,需要注意的是:一要判斷晶振的穩定狀態,二要判斷晶振之間的切換步驟。
問:系統時鐘可不可以在程序中隨時切換?
答:系統時鐘可以在程序中實時切換。這種功能對低功耗設計很有幫助。當需要高速運行時,使用內部高速時鐘;當需要低速運行時,切換到外部時鐘,以節省功耗(外部時鐘使用低速時鐘)。
問:MCU在射頻控制時,MCU的時鐘(晶振)、數據線會輻射基頻或基頻的倍頻,被低噪放LNA放大后進入混頻,出現帶內的Spur,無法濾除。請問有沒有好的解決方法?
答:PCB設計的時候把數據線和射頻線用地隔開,盡量放的遠一些。另外,不要平行布線。
問:汽車點火對MCU有影響嗎?如何消除這種影響?
答:汽車點火會產生比較大的干擾,會影響MCU的工作。要降低這種影響,需從硬件和軟件方面進行處理。在硬件方面,在設計的時候要充分估計這種影響,并采取適當的方式降低這種影響;在軟件方面,可以做一些抗干擾處理。C8051F MCU在片上集成兩個保護功能:低電壓偵測和系統時鐘丟失偵測。當MCU的供電電壓和系統時鐘出現異常時,會強行讓MCU處在復位狀態,從而起到保護作用。強烈建議在使用C8051F MCU進行設計時,將這兩個功能使能。