新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于藍牙的汽車CAN網絡信號無線測量系統

        基于藍牙的汽車CAN網絡信號無線測量系統

        作者: 時間:2011-10-10 來源:網絡 收藏

        1 引言

        汽車工作過程中,對各系統的運行參數的實時測量可方便地實現對汽車運行狀態的分析與故障診斷。用傳統的有線方式連接汽車診斷接口或檢測傳感器輸出值的方法存在著布線和設備使用等方面的不方便。如果能把汽車各系統中的參數值無線、快速、準確地測量出來,利用功能強大的微機系統進行分析和處理將大大方便汽車運行狀態的監控。本文提出并實現了一種利用單片機組成CAN系統,利用無線傳輸技術對汽車運行數據進行采集與處理的方法。

        隨著汽車電子的發展,汽車內電子產品越來越多,汽車發動機、底盤和車身等電控系統中的電控單元數量不斷增加,同時它們之間的通信也越來越重要。在汽車內利用網絡技術,可大大提高系統之間信息傳遞的可靠性,同時可大大減少汽車線束的數量,降低汽車電氣系統的成本。近年來,CAN系統在汽車內的應用越來越廣泛。CAN(ControllerAreaNetwork)是控制局域網的簡稱,最早由德國BOSCH公司推出,用于汽車內部測量與執行部件的數據通信。由于其高性能、高可靠性、實時性好和獨特的設計,已廣泛的應用于控制系統的各檢測和執行機構之間的數據通信。CAN總線符合ISO11898標準,最大傳輸速率可達1Mbps,最大傳輸距離為10km,傳輸介質可為雙絞線。它具有如下的一些技術特性:

        1)多主方式工作,非破壞性的基于優先權的總線仲裁技術;

        2)采用短幀結構,受干擾概率低,每幀信息都有CRC檢驗及其他檢錯措施;

        3)對嚴重錯誤具有自動關閉總線的功能,使總線的其他操作不受影響。

        在汽車運行過程中,車載射頻裝置如汽車立體聲系統、GPS導航設備、衛星數字音頻無線電業務(SDARS)裝置、GSM無線電收發器以及其它電器設備均可能造成干擾或受到干擾,這些射頻干擾信號會對汽車無線系統的數據流造成不良影響。如果應用傳統的無線數據傳輸技術,傳輸的數據的速率和準確率都不能很高,從而不能實現快速、準確地進行數據的傳輸,而把無線傳輸技術用在汽車上可以很好地解決這個問題。
        本文所用模塊采用英國CSR公司的BC417芯片,并與SST公司的8M的FLASH芯片39VF800A構成了模塊。

        圖1 藍牙模塊原理圖

        此模塊的主要特點如下:

        1)采用CSR主流藍牙芯片,符合藍牙V210標準。

        2)串口模塊上底板帶有RS232接口和TTL接口,任選一種接口使用,使用313~5V電源。串口對用戶而言是透明的。

        3)藍牙芯片采用向前糾錯編碼,通信效率高,自動跳頻,抗干擾能力強。

        4)波特率為1200,2400,4800,9600,19200,38400,57600,115200,230400,460800,921600,1382400,可在程序中根據實際需要設置。

        5)休眠電流:小于1MA,工作電流:40MA。

        2 系統硬件結構原理圖

        本文利用MICROCHIP公司的內嵌CAN控制器的18F4580芯片與CAN收發器芯片MCP2515構成CAN網絡系統,并用18F4580芯片自帶的10位AD傳感器實現了對汽車發動機節氣門位置信號的測量,同時利用智能數字傳感器DS18B20對發動機的水溫信號進行測量。利用藍牙模塊把測量的信號無線傳給,利用VC++編寫數據接收與處理的程序實現數據的實時顯示與存儲,并可顯示數據值隨時間的變化關系曲線圖,測量結果直觀。系統的硬件原理圖如圖2所示。

        圖2 測量系統原理圖

        3 發動機節氣門位置信號與水溫信號的測量

        3.1 節氣門信號信號的測量

        這里測量的汽車發動機上節氣門位置傳感器為一可調電阻型,節氣門位置輸出信號為0~5V的電壓信號,根據節氣門的實際開度與輸出電壓的關系,對測量的電壓信號進行標定,根據實測的電壓信號即可換算成節氣門的開度。所以這里用PIC18F4580單片機內嵌的10位AD轉換電路完成對節氣門位置傳感器輸出電壓的測量,為提高測量精度,對單片機AD的5V基準電壓進行了與系統電源隔離穩壓處理。

        本系統利用Microchip公司的MPLAB開發環境嵌入PICC18C程序編譯器,用C程序編寫了數據采集與CAN數據的收發程序,其中AD轉換子程序用匯編語言編寫,程序兼顧了C程序的模塊化和可維護性好的優點,同時具有了匯編語言高效率的優點。

        信號通過CAN控制器用擴展幀格式發送到CAN網絡上。其中數據采集與CAN數據的發送子程序如下:

        InitSPI();//SPI接口初始化

        Init_MCP2515();//MCP2515初始化

        ……

        TRISA=0B00000001;//AN0>>>>DCinputDC通道上輸入,打開RA0

        ADCON0=0B00000001;//AN0通道,允許ADC工作,

        ADCON1=0B00001110;//除RA0為模擬輸入口外,其他RA口跟RE口均為普通數字口

        ADCON2=0B10100001;//轉換結果右對齊,8TAD,1/8FOSC。

        #asm

        ADCON0EQU0FC2H

        GOEQU001H

        bsfADCON0,GO//開始轉換

        ADWAIT:

        btfscADCON0,GO

        gotoADWAIT//等待轉換完成

        #endasm

        write_MCP2515(TXB0CTRL,0x03);//設置為發送最高優先級

        write_MCP2515(TXB0SIDH,0xFF);//EID28--21

        write_MCP2515(TXB0SIDL,0xEB);//EID20--EID18,擴展幀使能,EID17--EID16

        write_MCP2515(TXB0EID8,0xFF);//EID15--EID8

        write_MCP2515(TXB0EID0,0xFF);//EID7--EID0

        write_MCP2515(TXB0DLC,0x02);//發送數據長度為8字節


        上一頁 1 2 下一頁

        關鍵詞: 上位機 藍牙 汽車CAN

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 江门市| 五莲县| 宾阳县| 会昌县| 临高县| 商丘市| 新晃| 香格里拉县| 台北市| 若尔盖县| 如东县| 盐池县| 满城县| 涟水县| 西乌珠穆沁旗| 和顺县| 木兰县| 安义县| 岑溪市| 内乡县| 桦南县| 大兴区| 玉门市| 沙雅县| 康定县| 紫金县| 马鞍山市| 徐州市| 攀枝花市| 林口县| 昭通市| 靖江市| 呼图壁县| 博兴县| 柯坪县| 东宁县| 广昌县| 天峨县| 罗平县| 绥中县| 平原县|