基于MC9S08SC4的汽車(chē)方向盤(pán)按鍵控制器技術(shù)
汽車(chē)方向盤(pán)按鍵控制器系統設計挑戰
汽車(chē)方向盤(pán)按鍵控制器的設計,主要的挑戰在于:
方向盤(pán)按鍵控制器在安裝的空間上受到限制,由于控制器會(huì )被安裝在方向盤(pán)面板附近的位置,因此需要在設計時(shí)盡可能減小PCB的面積,以方便地嵌入到方向盤(pán)下方狹小的空間,并且要避免和其它模塊例如ABS安裝的位置發(fā)生沖突。
方向盤(pán)按鍵控制器在為駕駛員帶來(lái)操控舒適性和駕駛樂(lè )趣的同時(shí),需要承擔來(lái)自按鍵發(fā)出的多重的控制命令并將這些命令發(fā)送給相應的控制模塊,例如各種和CD/DVD相關(guān)的娛樂(lè )功能,定速巡航控制和手機或者電話(huà)的免提功能,如果使用線(xiàn)束方式將這些功能分別連接到控制對象,將增加大量線(xiàn)束的成本和整車(chē)的重量,并且大量的線(xiàn)束也將增加布線(xiàn)的復雜程度,因此,通過(guò)汽車(chē)總線(xiàn)的方式實(shí)現模塊之間的通信是一種性?xún)r(jià)比很高的選擇。
對于成本敏感的應用中,如何盡可能減少外部元器件的個(gè)數,以及盡可能利用微控制器提供的片上資源來(lái)實(shí)現系統功能是設計關(guān)鍵所在。但這對微控制器本身的性能提出了嚴峻挑戰,對于一顆汽車(chē)入門(mén)級的微控制器而言尤其如此。
MC9S08SC4如何應對系統設計挑戰
MC9S08SC4系列微控制器在芯片設計之初便預見(jiàn)到了在類(lèi)似應用中系統設計鎖面臨的挑戰,以下將介紹MC9S08SC4是如何逐一克服上述挑戰的。
MC9S08SC4系列微控制器的封裝為16-TSSOP,包括管腳的外形尺寸僅為6.40×5.00mm2,用于方向盤(pán)鍵盤(pán)控制器設計將大幅減少PCB面積。另一方面,由于在MC9S08SC4微控制器內部自帶一個(gè)時(shí)鐘發(fā)生器,并且在全溫度和全電壓范圍內,經(jīng)過(guò)校準后能實(shí)現最大誤差不超過(guò)±2%的精度,因此,即使對于該系統中對時(shí)鐘精度要求最高的應用(LIN的通信)來(lái)說(shuō)也能夠勝任?;谏鲜龇治?,用戶(hù)可以直接使用內部數字時(shí)鐘來(lái)提供LIN通訊和整個(gè)系統所需的時(shí)鐘信號,從而省去在芯片外部接一個(gè)晶振或者時(shí)鐘振蕩器,達到節省PCB 面積和系統成本的目的。
對于汽車(chē)方向盤(pán)鍵盤(pán)所要負責的多種控制功能,通過(guò)LIN總線(xiàn)的方式同樣能達到節省線(xiàn)束成本、減輕重量和便于功能的升級和裁剪的效果。LIN作為一種低成本、高可靠性的汽車(chē)總線(xiàn)系統,在車(chē)身電子系統中得到廣泛的應用,雖然LIN控制器可以使用普通的串行口控制器UART實(shí)現,但是MC9S08SC4上的串行口控制器SCI模塊不僅能實(shí)現UART的功能,而且還集成了和LIN通信相關(guān)的某些硬件特性,例如對于LIN通信中非常特殊的Break域的產(chǎn)生和檢測過(guò)程,這種硬件集成的LIN通信的功能,相比使用普通UART控制器可幫助用戶(hù)降低LIN通信軟件設計復雜度,加快產(chǎn)品研發(fā)周期和上市時(shí)間。
圖3所示是LIN通信數據幀結構圖,其中位于最左邊的Break域是由LIN總線(xiàn)系統中的Master節點(diǎn)發(fā)送,用于表明一幀數據開(kāi)始的標志,相應的LIN總線(xiàn)系統的Slave任務(wù)需要正確識別Break域之后才能完成相應的LIN通信過(guò)程。在每一次LIN總線(xiàn)通信開(kāi)始階段,都必須由Master節點(diǎn)來(lái)產(chǎn)生一個(gè)Break域,才能發(fā)起一次LIN的通訊,如果這個(gè)過(guò)程可以通過(guò)硬件來(lái)完成,那么將大大降低CPU的工作負荷;反之,Slave任務(wù)對于Break域判別過(guò)程也同樣存在這種差別。
根據LIN通信協(xié)議規定,Break域由至少連續13位的顯性電平信號組成,它也是在整個(gè)LIN的數據幀結構中唯一不遵循如圖4所示的字節結構形式的域。因此,對于標準的串行通信控制器UART產(chǎn)生和識別Break域,必須借助于軟件和其他的硬件手段才能完成,這是軟件設計的一大挑戰。例如,當Master產(chǎn)生Break信號時(shí),需要UART借助一個(gè)定時(shí)器通道,產(chǎn)生一段至少13個(gè)比特長(cháng)度的時(shí)間,然后通過(guò)軟件控制相應的Tx端口在這段定時(shí)時(shí)間內輸出顯性電平,才能完成一個(gè)Break域的產(chǎn)生。與之相對應,如果普通串行通信控制器UART作為Slave節點(diǎn),當它需要檢測Break域時(shí),完成這個(gè)過(guò)程同樣需要借助額外的硬件和軟件手段完成。
但是,對于MC9S08SC4微控制器上的串行口控制器SCI,如果MC9S08SC4作為Master節點(diǎn)產(chǎn)生Break域的過(guò)程,只需要通過(guò)操作SCI中的相應控制寄存器中的SBK位便能產(chǎn)生;反之,當它作為Slave節點(diǎn)時(shí),既可以通過(guò)查詢(xún)狀態(tài)寄存器中的LBKDIF標志的方式,也可以通過(guò)中斷的方式自動(dòng)識別LIN總線(xiàn)上是否有Break域。LIN通信的Break域的產(chǎn)生和識別在MC9S08SC4中,對于用戶(hù)而言只需通過(guò)操作相關(guān)的寄存器實(shí)現,然后實(shí)際的操作過(guò)程則是通過(guò)SCI控制器的硬件在后臺完成,相對于不具備這些硬件特性的普通串行通信控制器,MC9S08SC4在實(shí)現LIN通信的軟件和硬件上都為用戶(hù)帶來(lái)了很多優(yōu)勢。
評論