美章網(wǎng) 資料文庫 談CAN總線的智能小車通信系統(tǒng)設(shè)計范文

    談CAN總線的智能小車通信系統(tǒng)設(shè)計范文

    本站小編為你精心準備了談CAN總線的智能小車通信系統(tǒng)設(shè)計參考范文,愿這些范文能點燃您思維的火花,激發(fā)您的寫作靈感。歡迎深入閱讀并收藏。

    談CAN總線的智能小車通信系統(tǒng)設(shè)計

    摘要:設(shè)計了一種基于can總線智能小車通信系統(tǒng)。以CAN總線控制器SJA1000芯片為控制核心,通過CAN總線收發(fā)器TJA1050實現(xiàn)了智能小車的數(shù)據(jù)通信。給出了CAN總線控制器SJA1000的初始化、發(fā)送和接收模塊程序的設(shè)計方法。實際應(yīng)用表明,該通信系統(tǒng)較好地解決了智能節(jié)點的通信要求。

    關(guān)鍵詞:CAN總線;智能小車通信系統(tǒng);CAN總線控制器

    智能車系統(tǒng)是利用傳感器技術(shù)與通信技術(shù)綜合集成的控制系統(tǒng)。它是集車輛工程技術(shù)和通信技術(shù)于一體的綜合技術(shù),是車輛工程領(lǐng)域發(fā)展的趨勢。CAN(ControllerAreaNetwork)總線[1]是一種支持分布式和實時控制的串行通信網(wǎng)絡(luò)。常用的CAN汽車總線是實現(xiàn)汽車數(shù)字網(wǎng)絡(luò)化的基礎(chǔ),主要應(yīng)用于自動控制系統(tǒng)和汽車網(wǎng)絡(luò)的通信,具備通信實時性和可靠性等優(yōu)點。CAN總線控制器SJA1000能夠完成通信系統(tǒng)的物理層與數(shù)據(jù)鏈路層的功能。CAN總線采用載波監(jiān)聽多路訪問的方式對媒體進行訪問,類似于以太網(wǎng)的媒體訪問機制;使用CANH和CANL傳輸數(shù)據(jù)信號,采用差分傳輸方式,具備較強的抗干擾能力。CAN總線控制器連接總線收發(fā)器模塊和隔離電路模塊就可以建立一個CAN總線通信節(jié)點。

    1CAN通信系統(tǒng)的硬件設(shè)計

    基于CAN總線通信系統(tǒng)的硬件設(shè)計主要包括單片機控制模塊、CAN總線控制器模塊、CAN總線收發(fā)器隔離電路模塊和CAN收發(fā)器TJA1050模塊?;贑AN總線通信系統(tǒng)總體工作原理框圖如圖1所示。

    1.1CAN總線的工作原理

    汽車上的控制器都是由電子裝置控制的,為了將各個電路單元統(tǒng)一管理,實現(xiàn)車內(nèi)速度、溫度等狀態(tài)信息通信的共享,在汽車通信網(wǎng)絡(luò)內(nèi)部利用CAN總線進行數(shù)據(jù)通信?;贑AN總線的數(shù)據(jù)傳輸通信具有實時性,在汽車CAN通信網(wǎng)絡(luò)內(nèi)部,任意一個節(jié)點都可以在任意時刻主動向網(wǎng)絡(luò)上的其他節(jié)點發(fā)送信息,可以多主方式工作。CAN總線的通信協(xié)議分為應(yīng)用層、對象層、傳輸層和物理層。傳輸層是CAN通信協(xié)議的核心,將接收到的報文傳輸給對象層,并接受來自對象層的報文,主要負責故障界定、仲裁、應(yīng)答等;對象層的功能是報文濾波和報文處理;物理層的作用是信號電平和位表示,必須支持CAN總線中隱性位和顯性位的狀態(tài)特征。報文傳輸由數(shù)據(jù)幀、遠程幀、錯誤幀和過載幀4個不同的幀類型來表示。數(shù)據(jù)幀和遠程幀分別通過幀間空間與其他各幀分開。數(shù)據(jù)幀由7個不同的位場組成,其中數(shù)據(jù)場是由數(shù)據(jù)幀中的待發(fā)送數(shù)據(jù)組成,可以為0~8個字節(jié),每個字節(jié)包含8個位[1]。CAN總線的通信協(xié)議采用短幀格式,以實現(xiàn)汽車通信網(wǎng)絡(luò)中工作狀態(tài)與實時控制命令相符的要求。CAN總線傳輸信息的方式為:采用高低電平表示字符編碼,采用串行數(shù)據(jù)傳輸,以1Mb/s的波特率在雙絞線或光纜上通信。CAN總線的通信協(xié)議采用CRC碼檢驗并提供對應(yīng)的錯誤處理功能,以實現(xiàn)數(shù)據(jù)通信的可靠性。在CAN總線通信系統(tǒng)中,通常只設(shè)置單個主節(jié)點,完成主節(jié)點向從節(jié)點發(fā)送配置數(shù)據(jù)、主節(jié)點向從節(jié)點請求當前工作狀態(tài)以及數(shù)據(jù)管理等功能。從節(jié)點根據(jù)工業(yè)應(yīng)用的需要完成不同的功能,如汽車狀態(tài)數(shù)據(jù)的采集、設(shè)備的控制等,并實現(xiàn)發(fā)送數(shù)據(jù)和接收數(shù)據(jù)等通信功能。

    1.2CAN總線接口電路設(shè)計

    CAN總線接口電路主要由微控制器AT89C51,CAN總線控制器SJA1000芯片、CAN總線收發(fā)器TJA1050和高速光電耦合器6N137器件等組成。SJA1000芯片的主要引腳及其功能[2]如表1所示。在CAN總線接口電路設(shè)計中,單片機AT89C51是CAN節(jié)點的核心控制模塊,主要用于處理智能小車行駛速度、溫度等狀態(tài)數(shù)據(jù)的通信。其中單片機AT89C51P3口作為AT89C51的一些特殊功能口。P3.6WR為低電平有效,外部數(shù)據(jù)存儲器寫選通,P3.7RD為低電平有效,外部數(shù)據(jù)存儲器讀選通。P0~P2口是8位雙向I/O口,連接CAN總線控制器SJA1000芯片的數(shù)據(jù)接口AD0~AD7,它輸入信號給通信模塊,并發(fā)送到CAN總線上。接收過程則反之,通過通信模塊接收CAN總線上的數(shù)據(jù),并通過這些數(shù)據(jù)控制輸出端口[3-5]。設(shè)計系統(tǒng)主要接口電路如圖2所示。單片機AT89C51控制SJA1000的初始化,控制SJA1000實現(xiàn)汽車狀態(tài)信息的接收和發(fā)送等通信功能。將CAN總線控制器SJA1000的8位數(shù)據(jù)總線AD0~AD7連接到單片機AT89C51的P0口。CAN總線控制器CS片選信號連接單片機AT89C51的P2.0口,為低電平有效。當P2.0為低電平時,單片機選中芯片SJA1000,可對CAN總線控制器實現(xiàn)讀寫操作功能。芯片SJA1000的中斷引腳INT可以選擇連接單片機AT89C51的INT0引腳。本電路中,單片機AT89C51通過中斷方式訪問芯片SJA1000。芯片SJA1000的RD,WR,ALE分別與單片機AT89C51的相應(yīng)引腳相連。

    1.3CAN總線收發(fā)器隔離電路模塊設(shè)計

    在CAN總線收發(fā)器隔離電路模塊設(shè)計中,CAN總線控制器SJA1000采用隔離電路模塊光電耦合芯片6N137連接CAN總線,實現(xiàn)總線上各CAN節(jié)點間的電氣隔離。因此,在SJA1000與TJA1050之間采用隔離電路模塊,能夠提高其抗干擾的能力。隔離電路模塊一般采用光電耦合芯片6N137來設(shè)計隔離電路。其具備電流限制的功能,可以進一步提高對CAN總線的保護[6-7]。CAN總線收發(fā)器采用收發(fā)器TJA1050。它是CAN總線控制器與CAN物理總線之間的接口。TJA1050使用兩路CANH和CANL傳輸數(shù)據(jù)信號,為CAN總線提供差動發(fā)送性能與接收性能。TJA1050的通信波特率在60Kb/s以上,在CAN總線錯誤時能快速切斷錯誤信號,能保證正常的汽車電子通信。不上電時,TJA1050可使CAN物理總線表現(xiàn)為無源特性。在電路設(shè)計中,收發(fā)器TJA1050由引腳S控制,分為高速和靜音兩種工作模式。

    2智能小車CAN通信系統(tǒng)的軟件設(shè)計

    基于CAN總線協(xié)議的通信系統(tǒng)軟件設(shè)計主要包括:CAN節(jié)點初始化、狀態(tài)數(shù)據(jù)發(fā)送單元和數(shù)據(jù)接收單元。CAN節(jié)點初始化包括SJA1000初始化與單片機初始化。對CAN總線控制器SJA1000的初始化可在復(fù)位模式下進行。通過節(jié)點初始化、數(shù)據(jù)發(fā)送以及數(shù)據(jù)接收,完成單片機控制SJA1000傳輸數(shù)據(jù)至CAN總線。圖3CAN通信系統(tǒng)的初始化流程示意單片機初始化主要包括工作方式的設(shè)置、波特率參數(shù)設(shè)置和中斷允許寄存器的設(shè)置等。CAN總線控制器芯片SJA1000的初始化,包括選擇工作模式、確定通信波特率、設(shè)置輸出模式等內(nèi)容。在CAN發(fā)送函數(shù)中,通過SJA1000可以將智能小車系統(tǒng)狀態(tài)數(shù)據(jù)傳輸?shù)紺AN總線上。對CAN總線上傳輸?shù)男畔ⅲ?a href="http://www.pamakids.com/txcb/tongxinxitonglunwen/752566.html" target="_blank">通信系統(tǒng)設(shè)計采用中斷方法。系統(tǒng)每接收到一次CAN信息,產(chǎn)生一次中斷,以觸發(fā)單片機AT89C51產(chǎn)生中斷信號。CAN通信系統(tǒng)數(shù)據(jù)的發(fā)送程序包括CAN總線發(fā)送和串口發(fā)送函數(shù)等內(nèi)容;通信數(shù)據(jù)的接收程序包括串口接收和CAN總線接收等函數(shù)。其主要工作過程為:CAN節(jié)點從單片機中斷期間接收狀態(tài)信息,然后封裝汽車狀態(tài)數(shù)據(jù),再通過CAN總線控制器SJA1000傳輸至CAN物理總線上。運用同樣原理,CAN通信網(wǎng)絡(luò)數(shù)據(jù)的接收程序則包含了串口接收和CAN總線接收。其工作過程為:CAN節(jié)點于單片機中斷時接收汽車狀態(tài)信息數(shù)據(jù),然后將數(shù)據(jù)封裝成幀,用符合CAN總線協(xié)議的方式進行接收。CAN通信系統(tǒng)的數(shù)據(jù)發(fā)送和接收單元以采集智能小車行駛速度數(shù)據(jù)為設(shè)計目的,并通過CAN節(jié)點通信實現(xiàn)共享小車速度數(shù)據(jù)的功能?;贑AN協(xié)議的數(shù)據(jù)發(fā)送程序如圖4所示。CAN總線控制器模塊使用中斷方式來接收CAN報文,因為中斷方式適用于對實時性要求高的汽車數(shù)據(jù)應(yīng)用場合。數(shù)據(jù)發(fā)送單元選擇車速采集通道,用于采集車速數(shù)據(jù),最后傳輸符合CAN通信協(xié)議的小車行駛速度數(shù)據(jù)。運用同樣原理可設(shè)計接收子程序。

    3結(jié)語

    本文設(shè)計的CAN通信系統(tǒng)以CAN總線控制器SJA1000芯片為核心,通過CAN總線收發(fā)器TJA1050,實現(xiàn)了智能小車速度數(shù)據(jù)的通信。實際應(yīng)用表明,CAN總線具有組網(wǎng)自由、自動錯誤界定、實時性良好等優(yōu)點,解決了智能小車速度數(shù)據(jù)通信的實時性問題。因此,基于CAN總線的智能小車通信系統(tǒng)的設(shè)計開發(fā)具有一定的實用價值。

    作者:林建宇 單位:上海電力大學(xué) 電子與信息工程學(xué)院

    主站蜘蛛池模板: 夜夜添无码试看一区二区三区| 国产香蕉一区二区三区在线视频 | 亚洲乱码av中文一区二区| 国产在线观看91精品一区| 色妞AV永久一区二区国产AV| 又紧又大又爽精品一区二区 | 国产成人免费一区二区三区| 国产精品久久久久一区二区三区| 亚洲丶国产丶欧美一区二区三区| 亚洲一区二区三区写真| 中文字幕乱码人妻一区二区三区| 99久久无码一区人妻a黑| 精品深夜AV无码一区二区| 亚洲日本精品一区二区| 人妻无码一区二区不卡无码av | 91精品一区二区三区在线观看| 亚洲bt加勒比一区二区| 无码一区二区三区| 韩国福利一区二区美女视频| 亚洲av乱码中文一区二区三区| 精品一区二区三区| 欧洲精品码一区二区三区免费看| 夜夜爽一区二区三区精品| 精品国产毛片一区二区无码| 亚洲色欲一区二区三区在线观看| 色欲综合一区二区三区| bt7086福利一区国产| 国产一区二区在线|播放| 国产福利电影一区二区三区久久老子无码午夜伦不 | 精品无码AV一区二区三区不卡| 日韩国产免费一区二区三区| 韩国精品福利一区二区三区| 亚洲美女高清一区二区三区| 中文字幕不卡一区| 中文字幕一区一区三区| 国产麻豆媒一区一区二区三区| 精品少妇一区二区三区在线| 色窝窝无码一区二区三区| 久久精品国内一区二区三区| 影院无码人妻精品一区二区| 无码精品人妻一区二区三区人妻斩|