李寧 李剛 劉賽
摘 要:針對電動方程式賽車控制系統(tǒng)研發(fā),論文進行符合大賽規(guī)則要求的整車控制系統(tǒng)通信協(xié)議設計。根據(jù)電動方程式大賽規(guī)則中的相關設計要求,結合實車電氣系統(tǒng)架構和無線數(shù)據(jù)采集的功能需求,確定采用整車采用CAN通信和UART通信方式相結合的方式,對UART通信協(xié)議進行完全自主設計,并基于兩者協(xié)議進行了程序開發(fā)。關鍵詞:電動方程式賽車;控制系統(tǒng);通信協(xié)議;程序中圖分類號:U469.6+96 ?文獻標識碼:A ?文章編號:1671-7988(2020)08-27-04
Abstract:?Liaoning University of technology electric motorcade independently researched and developed the communica?-tion scheme of vehicle control system by carefully reading the relevant design requirements in FSEC competition rules and centering on the innovative concept. The whole vehicle adopts CAN communication and UART communication mode, and the program is developed based on the two protocols, in which the UART communication protocol is designed independently according to the actual situation of the vehicle. These laid a good foundation for the later development of the program and the debugging of the real vehicle.Keywords: Electric formula car; Control system; Communication protocol; ProgramCLC NO.: U469.6+96 ?Document Code: A ?Article ID:?1671-7988(2020)08-27-04
1 引言
大學生方程式大賽被稱為是汽車工程師培養(yǎng)的搖籃[1],中國大學生電動方程式大賽(FSEC)旨在為中國新能源汽車領域培養(yǎng)優(yōu)秀汽車工程技術人才。賽前車隊通常需要8到12個月的時間設計、制造、測試和準備賽車[2]。在與來自全國各地的大學代表隊的交流與切磋中,賽事將會給了車隊證明與展示其創(chuàng)造力和工程技術能力的機會。電動賽車整車控制系統(tǒng)是其關鍵組成部分,而合理的通信協(xié)議方案是保證控制系統(tǒng)安全可靠工作的重要內容[3-5]。論文針對大學電動方程式賽車控制系統(tǒng)開發(fā),根據(jù)實車控制和無線數(shù)據(jù)采集需要,以及大賽規(guī)則進行整車控制系統(tǒng)通信架構和通信協(xié)議設計[6]。
2 通信方式
實車開發(fā)除了進行執(zhí)行器控制外,還有對實車傳感器如橫擺角速度、方向盤轉角傳感器等信號進行實時數(shù)據(jù)無線采集,因此確定了整車采用CAN通信方式和UART通信方式,設計相應架構。
2.1 賽車CAN網絡構架
CAN通信是目前應用最為廣泛的現(xiàn)場總線之一,具有高性能、可靠的優(yōu)點,常常應用于汽車、船舶以及航空領域,其英文是Controller Area Network,控制局域網絡的意思[7]。CAN總線系統(tǒng)是多機系統(tǒng),最高的傳輸速率能達到1Mbit/?sec,其短幀結構每條報文最多能夠有8字節(jié)數(shù)據(jù)。CAN總線具有錯誤檢測與處理機制,且能夠實現(xiàn)數(shù)據(jù)校驗,幀內應答,廣播發(fā)送等。在CAN總線上傳輸?shù)臄?shù)據(jù)報文不包含發(fā)送節(jié)點和接收節(jié)點的信息,每個報文的內容通過標識符(ID)識別,每個標識符在網絡中都是唯一的,標識符描述了數(shù)據(jù)的含義也決定了優(yōu)先級。網絡中的數(shù)據(jù)報文可以被所有節(jié)點接收,也可以進行報文過濾。
賽車CAN網絡中的節(jié)點主要是各個控制單元:整車控制器RapidECU、兩臺電機控制器、儀表控制單元,還有兩個傳感器作為網絡節(jié)點:橫擺角速度傳感器以及方向盤轉角傳感器。除電池管理系統(tǒng)的通信波特率為250Kbits以外,其余通信波特率統(tǒng)一為500Kbits,所以將BMS與整車控制器RapidECU的另一路CAN收發(fā)器進行通信,然后作為整車CAN網絡的一個節(jié)點接入。在CAN 總線的兩端分別接入120Ω終端電阻,這樣賽車上的所有CAN通信部件之間就可以進行通信,構成了一個完善的賽車CAN網絡。CAN總線網絡構架如圖1所示。
2.2 賽車UART通信方式構架
串口通信(UART)不但可以實現(xiàn)單片機的數(shù)據(jù)傳輸?shù)接嬎銠C端,而且也能實現(xiàn)計算機對單片機的控制。由于其所需的電纜線少,接線簡單,所以在較遠距離傳輸中,得到了廣泛的認可。串口通信能夠傳輸?shù)淖钸h距離是50英尺=15m,且可做到雙向傳輸,全雙工通信,最高的傳輸速率可達20kbps。串口通信的參數(shù)除了波特率,還有數(shù)據(jù)位、停止位、奇偶校驗位。數(shù)據(jù)位的標準值是5、7、8位。停止位用于表示單個數(shù)據(jù)包的最后一位,典型的值為1、1.5、2位。其實停止位不僅僅表示傳輸?shù)慕Y束,并且提供計算機校正時鐘同步的機會。
UART通信主要是用于賽車的人機交互,通過開發(fā)儀表控制單元,將賽車CAN網絡中的信息轉化為串口信號,按照通信協(xié)議分別傳送給賽車的儀表和無線數(shù)據(jù)采集的上位機。良好的人機交互功能會給之后的各部分調試奠定基礎,最終賽車串口通信構架如圖2所示。
3 通信協(xié)議設計
通信協(xié)議是通信設備在通信前的約定。單片機、計算機有了協(xié)議約定,通信雙方才能相互配合,精確地完成各種操作。賽車儀表通信協(xié)議中,數(shù)據(jù)幀架構由幀頭(2個字節(jié))數(shù)據(jù)長度(1個字節(jié))、指令(1個字節(jié))、數(shù)據(jù)(n個字節(jié))CRC校驗(2個字節(jié))組成(都以十六進制發(fā)送)。協(xié)議中的指令只有5條,分別為:寫控制寄存器指令(80),讀控制寄存器指令(81),寫數(shù)據(jù)存儲區(qū)指令(82),讀數(shù)據(jù)存儲區(qū)指令(83),寫曲線緩沖區(qū)指令(84)。兩種協(xié)議中所涉及的內容整理如表1和表2所示。
由表2可以看出,賽車儀表通信協(xié)議中,數(shù)據(jù)幀架構由幀頭(2個字節(jié))數(shù)據(jù)長度(1個字節(jié))、指令(1個字節(jié))、數(shù)據(jù)(n個字節(jié))CRC校驗(2個字節(jié))組成(都以十六進制發(fā)送)。協(xié)議中的指令只有5條,分別為:
1)寫控制寄存器指令(80)
2)讀控制寄存器指令(81)
3)寫數(shù)據(jù)存儲區(qū)指令(82)
4)讀數(shù)據(jù)存儲區(qū)指令(83)
5)寫曲線緩沖區(qū)指令(84)
為了更好的理解,這里以讀0000變量地址里的數(shù)值為例:
Request幀:5A??A5??04??83??00??00??01
5A A5:幀頭
04:發(fā)送的數(shù)據(jù)長度(從指令開始到最后的數(shù)據(jù)長度,即從83指令開始此處共發(fā)送4個字節(jié))
83:讀數(shù)據(jù)存儲區(qū)指令
00:變量地址
01:從0000地址開始讀1個字長度數(shù)據(jù)
Transmit幀:5A ?A5 ?04 ?83 ?00 ?00 ?01 ?00 ?02
4 程序編寫
儀表控制單元的程序與整車控制器的程序一起構成了整車控制程序。儀表控制單元程序的開發(fā),運用了IAR7.4軟件進行C語言程序設計,程序經過試驗可實現(xiàn)功能,部分程序如下:
/*串口函數(shù)*/
void UART(void)
{
UART_QuickInit(UART4_RX_PC14_TX_PC15, 115200);//儀表串口初始化
UART_QuickInit(UART1_RX_PC03_TX_PC04, 115200); //無線串口初始化
UART_Meter(HW_UART4,BatVoltage);?//儀表顯示電池電壓
UART_Meter(HW_UART4,BatCurrent);?//儀表顯示電池電流
UART_Meter(HW_UART4,BatSoc); //儀表顯示電池電量
UART_Meter(HW_UART1,MotTargue); //傳送電機轉矩
UART_Meter(HW_UART1,MotRotation); //傳送電機轉速
}
/*CAN函數(shù)*/
void CAN(void)
{
CAN_QuickInit(CAN1_TX_PC17_RX_PC16,kCAN_?Bau?-drate_250K); //設置CAN總線波特率
CAN_SetReceiveMB(HW_CAN1, 1, 0x186040F3); //設置CAN接收ID
CAN_SetReceiveMB(HW_CAN1, 8, 0x202);
CAN_ITDMAConfig(HW_CAN1,1,kCAN_IT_RX);?//開啟CAN中斷
CAN_ITDMAConfig(HW_CAN1,8, kCAN_IT_RX);
CAN_CallbackInstall(HW_CAN1, CAN_ISR);//調用CAN接收回調函數(shù)
}
/*主函數(shù)*/
int main(void)
{
DelayInit();
gpio_Init();
pit();
while(1)
{
if(TimeFlag_100ms == 1)
{
CAN();
UART();
}
}
}
5?結論
在完成電氣系統(tǒng)合理布置工作的基礎上,采用CAN通信和UART通信相結合的方式,對賽車的整車控制系統(tǒng)通信方案進行了設計與開發(fā)。賽車網絡與儀表控制單元采用CAN通信方式,無線數(shù)采上位機間采用UART通信方式,編寫了整車控制程序,實現(xiàn)了預期控制功能。
參考文獻
[1]中國大學生方程式汽車大賽官方網站:http://www.formulastudent. com.cn/.
[2] 林繼銘,張勇,楊建紅,張鋒,黃身桂.基于大學生方程式汽車大賽的車輛專業(yè)教學模式改革[J].教育教學論壇,2019(12):34-36.
[3] 李鵬偉.大學生方程式電動賽車電氣控制系統(tǒng)設計[D].長安大學,2017.
[4] 陳凱琦,彭輝.大學生電動方程式賽車電控安全系統(tǒng)的設計[J].電工技術,2019(12):136-137+139.
[5] 鄭竹安,周玉鼎.大學生電動方程式汽車的安全回路設計[J].鹽城工學院學報(自然科學版),2016,29(03):23-26.
[6] 李理光.中國大學生方程式汽車大賽規(guī)則[Z].中國汽車工程學會, 2018.
[7] 張莉.基于CAN總線的通信系統(tǒng)設計研究[J]. 自動化與儀器儀表,2018(4):91-94.