董 杰,馬建輝,王 崗,劉源楊
(山東省汽車電子重點實驗室 山東省科學院自動化研究所,山東 濟南250014)
隨著國家推進新能源汽車戰略,不少企業開始涉足電動汽車行業,由于資金、技術的限制,很多車廠提留在“購買原車、回廠改裝”的低級發展階段,這種模式利用電池、電機替換發動機,實現汽車電動化,是目前山東省部分車廠生產低速電動車的主要方式。在這種方式下,為了降低專用電動車儀表開發的難度和成本,通過分析原車儀表的接口、電路及原理,以修改原車儀表面膜和開發儀表信號轉換器的方式實現電動車的車速表、電流表及電壓表。筆者以S08SL8為核心為山東某車廠開發了一款電動汽車儀表信號轉換器,轉換器采集并計算電機轉速,根據電機轉速、輪胎直徑和變速箱減速比計算實際車速,輸出與原車儀表相匹配的車速傳感器脈沖;轉換器實現LIN從節點[1],通過與電機控制器的LIN通信獲取電池組電壓及電流,根據電壓值和原車油量傳感器量程,調整數字電位計阻值模擬油量傳感器信號,利用原車油量表模擬實現電壓表;根據電流值、轉速表指針轉動角度與轉速脈沖頻率的對應關系,輸出相應頻率的脈沖信號,利用原車轉速表實現電流表。本文介紹S08SL8的功能特性和應用要點,并剖析儀表盤信號轉換器的設計原理和軟硬件結構。
MC9S08SL8是一款可擴展、入門級的汽車應用8位微控制器,集8位性能和許多專用功能于一身[2],其芯片資源及特性如下:
1)40 MHz內核速率和20 MHz總線速率的HCS08內核;
2)GPIO可實現組合輸出,支持大電流設備;
3)兩個8位和兩個16位定時器模塊,可提供輸入捕捉、脈沖計數、輸出比較、PWM輸出功能;
4)內置溫度傳感器的10位ADC;
5)SPI/I2C模塊,及內嵌從模式LIN接口控制器的SCI模塊;
6)可選極性引腳中斷,方便地實現系統休眠和中斷喚醒。
信號轉換器由LIN總線接口、電機轉速脈沖采集、電流/車速脈沖信號輸出、數字電位計輸出組成,用于電機轉速、電池組電壓、放電電流的采集及儀表信號模擬,圖1給出了信號轉換器硬件結構,下面結合S08SL8的內部資源介紹下轉換器的硬件設計。

圖1 儀表盤信號轉換器硬件結構圖Fig.1 Dashboard signal convertor hardware architecture
MC9S08SL8有四路定時器/PWM通道,采用其中一路輸入捕捉功能實現電機轉速脈沖采集,采用GPIO+定時的方式實現占空比為50%、頻率可調的方波信號控制電流脈沖輸出和車速脈沖輸出,采用SCI模塊+LIN物理層芯片實現與電機控制器的LIN通信[3],采用SPI調整數字電位計阻值產生模擬阻值信號。下面以車速脈沖輸出為例介紹下轉換器電路設計。
車速是儀表盤需要顯示的關鍵信息,儀表盤通過采集12 V方波電平形式的車速傳感器脈沖計算實際車速,脈沖頻率與車速值成正比線性關系[4]。轉換器實現車速脈沖輸出如圖2所示,通過GPIO輸出與車速傳感器脈沖頻率相同的方波信號,控制三極管的通斷,將TTL電平轉換為0~12 V的脈沖信號輸出。

圖2 車速脈沖輸出電路Fig.2 Speed pulse output circuit
軟件設計采用循環體+中斷的軟件結構[5],主循環體完成主體功能,中斷服務程序進行底層協議設計和驅動管理,軟件流程圖如圖3所示。

圖3 軟件流程圖Fig.3 Software process
下面以車速脈沖輸出為例介紹下軟件的詳細設計。
為了適應不同脈沖數電機轉速傳感器的信號采集,需要將SL8的定時器/PWM模塊的工作時鐘設置在較高的頻率上,由于PWM的特性,無法利用定時器/PWM模塊輸出較低頻率的方波,為了實現車速表的滿量程輸出,采用GPIO+定時的方式產生車速脈沖,其具體實現如下:
首先根據電機轉速、輪胎直徑和變速箱減速比計算車速,根據車速值與脈沖頻率的對應關系計算車速脈沖頻率[6],然后設計一20 kHz的周期定時中斷,根據車速脈沖頻率計算車速控制信號的切換滴答數,具體計算及代碼如下:

電流脈沖輸出的產生原理與車速脈沖輸出類似,在此不再贅述。
筆者采用MC9S08SL8設計實現了一款電動汽車儀表盤信號轉換器,從處理器特性、硬件結構、車速脈沖輸出等方面描述了轉換器的硬件設計,從軟件流程設計,車速脈沖輸出的軟件實現上描述了轉換器的軟件設計。該轉換器經裝車試驗,運行穩定,功能可靠,具有很高的實用價值。
[1]李偉,盛翊智.基于CAN/LIN總線的汽車儀表信息系統[J].自動化與儀器儀表,2006(2):22-24.LI Wei,SHENG Yu-zhi.Design of automobile instrument information system based on CAN/LIN bus[J].Automation&Instrumentation,2006(2):22-24.
[2] Freescale semiconductor. MC9S08EL32 MC9S08EL16 MC9S08SL16 MC9S08SL8 Data Sheet[EB/OL].[2008-07].http://www.freescale.com/files/microcontrollers/doc/data_sheet/MC9S08EL32.pdf.
[3]馬建輝,于良杰,王知學.有限狀態機在LIN總線開發中的應用[J].世界電子元器件,2007(12):104-105.MA Jian-hui,YU Liang-jie,WANG Zhi-xue.Application of finite state machine in the LIN bus development[J].Global Electronics China,2007(12):104-105.
[4]王知學,馬建輝,車曉波,等.基于MC9S12XS128的汽車BCM的設計與實現[J].電子設計工程,2011(3):190-192.WANG Zhi-xue,MA Jian-hui,CHE Xiao-bo,et al.Design and implementation of vehicle BCMbased on MC9S12XS128[J].Electronic Design Engineering,2011(3):190-192.
[5]劉源楊,馬建輝,王知學,等.基于MC9S12HY32的電動汽車儀表盤設計[J].電子設計工程,2012(15):130-132.LIU Yuan-yang,MA Jian-Hui,WANG Zhi-xue,et al.Design of electric car dashboard based on MC9S12HY32[J].Sensor World,2012(15):32-36.-166-
[6]戴方全,王建.基于μC/OS-Ⅱ的全數字汽車儀表[J].汽車科技,2007(4):43-46.DAI Fang-quan,WANG Jian.Study of digital dashboard based onμC/OS-Ⅱ[J].Auto Mobile Science&Technology,2007(4):43-46.