基于藍(lán)牙技術(shù)的汽車(chē)駕駛盤(pán)控制系統(tǒng)
3.1.3 藍(lán)牙模塊
BC219159 核心是CSR 公司推出的單片射頻芯片BlueCore2–External,包含無(wú)線電收發(fā)器、基帶控制器硬件電路及實(shí)現(xiàn)藍(lán)牙應(yīng)用框架所必需的協(xié)議。片內(nèi)含有自動(dòng)校準(zhǔn)和內(nèi)置的自檢程序,從而簡(jiǎn)化了開(kāi)發(fā)、應(yīng)用、和產(chǎn)品測(cè)試。外加存有CSR 藍(lán)牙協(xié)議棧軟件的外部Flash 時(shí),BlueCore2–External 可構(gòu)成用于音頻和數(shù)據(jù)通信的完整藍(lán)牙系統(tǒng)[1]。
該芯片外配元件少,RF 接收器具有接近零中頻結(jié)構(gòu),在低噪聲放大器輸入端足夠高的帶外截止性能指標(biāo)允許射頻模塊靠近GSM 和W-CDMA 手機(jī)發(fā)射器使用。該芯片使用FSK 監(jiān)頻器,在噪聲存在的情況下具有卓越的性能。內(nèi)部功率放大器最大有+6dBm 的功率輸出,射頻合成器完全集成在內(nèi)核中,不需要外接壓控振蕩器、變?nèi)菡{(diào)諧二極管或者LC 調(diào)諧器,系統(tǒng)的基準(zhǔn)時(shí)鐘由內(nèi)置的晶振產(chǎn)生,時(shí)鐘范圍8~40MHz.
藍(lán)牙模塊支持USB、UART、PCM 語(yǔ)音接口和SPI接口等多種通信接口。片上有32KB RAM,作為保存每個(gè)有效連接的音頻/數(shù)據(jù)的環(huán)形緩沖器和藍(lán)牙協(xié)議棧功能的存儲(chǔ)器,還有8MB 的Flash;支持點(diǎn)對(duì)點(diǎn)和點(diǎn)對(duì)多點(diǎn)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),可構(gòu)成匹克網(wǎng)和散射網(wǎng)。
本系統(tǒng)的藍(lán)牙模塊將數(shù)據(jù)按藍(lán)牙協(xié)議轉(zhuǎn)換成相應(yīng)編碼發(fā)送到對(duì)方的藍(lán)牙設(shè)備,由于BC219159 提供標(biāo)準(zhǔn)UART 接口, 因此它可以直接與本系統(tǒng)中的STC89LE516 的UART 口連接進(jìn)行通訊。
3.2 從控設(shè)備硬件設(shè)計(jì)
從控設(shè)備硬件設(shè)計(jì)包括藍(lán)牙通信、CAN 總線控制、顯示等模塊,限于篇幅簡(jiǎn)介如下。
3.2.1 藍(lán)牙模塊
從控設(shè)備的藍(lán)牙芯片BC219159 與單片機(jī)STC89C516 相連,當(dāng)藍(lán)牙開(kāi)始工作,其LED 將快速的閃爍。如果此時(shí)主控設(shè)備的藍(lán)牙模塊正在搜尋藍(lán)牙從模塊,則兩者通過(guò)自動(dòng)搜尋功能自動(dòng)建立連接和通訊。
從控系統(tǒng)中被控制的對(duì)象大部分采用5V 信號(hào)電平,故選用5V 信號(hào)電平的STC89C516 單片機(jī),由于藍(lán)牙模塊采用3.3V,因此藍(lán)牙與STC89C516 相連時(shí)需要在串口線之間加上100Ω電阻來(lái)匹配電壓。
3.2.2 CAN 總線控制
現(xiàn)代汽車(chē)控制系統(tǒng)節(jié)點(diǎn)多、數(shù)量大、實(shí)時(shí)性要求高,而且大批的數(shù)據(jù)信息要求能在不同的電子器件間共享[2].CAN 總線是一種串行多主站控制器局域網(wǎng)總線,它具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實(shí)時(shí)性,簡(jiǎn)單實(shí)用,網(wǎng)絡(luò)成本低,不但可以減少導(dǎo)線連接,而且能增強(qiáng)診斷和監(jiān)控能力,適用于汽車(chē)及一般工業(yè)環(huán)境。本設(shè)計(jì)中CAN 控制器選用PHILIPS 公司的SJA1000。車(chē)內(nèi)系統(tǒng)示意接線如圖2 所示。
3.2.3 顯示模塊
系統(tǒng)的顯示模塊采用ST7920 驅(qū)動(dòng)芯片為核心的12864 液晶顯示模塊,具有64*16 位元字元顯示RAM和64*256 位元繪圖顯示RAM.系統(tǒng)將主控設(shè)備所調(diào)用的狀態(tài)模式及該功能下的進(jìn)度,以圖片和字符形式實(shí)時(shí)地顯示在屏幕上,具有較強(qiáng)的直觀性,便于駕駛員及時(shí)了解車(chē)內(nèi)各種電子設(shè)備的參數(shù),使操控更方便。
4 系統(tǒng)軟件設(shè)計(jì)
軟件編程主要包括藍(lán)牙通訊軟件設(shè)計(jì)和主從設(shè)備應(yīng)用程序設(shè)計(jì)兩大部分。
在PC 機(jī)上完成對(duì)藍(lán)牙模塊的初始化,對(duì)其設(shè)定主從,通過(guò)給藍(lán)牙分配一個(gè)地址,并確定它的波特率,來(lái)完成數(shù)據(jù)準(zhǔn)確及時(shí)的傳輸。
BC219159 與STC89LE516 之間通過(guò)串口通訊,在程序中使用串口函數(shù)就可以互相傳遞數(shù)據(jù),藍(lán)牙相當(dāng)于一根無(wú)形的導(dǎo)線,接通主控和從控設(shè)備。
4.1 藍(lán)牙通訊軟件設(shè)計(jì)
兩個(gè)藍(lán)牙模塊進(jìn)行數(shù)據(jù)通信是通過(guò)HCI 分組實(shí)現(xiàn)的。HCI 分組有命令分組、事件分組、數(shù)據(jù)分組而數(shù)據(jù)通訊流程一般包括以下6 個(gè)步驟:藍(lán)牙模塊初始、HCI 流量控制設(shè)置、查詢(xún)、建立連接、數(shù)據(jù)傳輸和斷開(kāi)連接。
這部分程序主要借助CSR 公司的BlueLab 開(kāi)發(fā)平臺(tái),在WindowsXP 環(huán)境下用C 語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)。
4.2 藍(lán)牙主從控系統(tǒng)應(yīng)用程序設(shè)計(jì)
藍(lán)牙主、從控設(shè)備的應(yīng)用程序比較復(fù)雜,軟件設(shè)計(jì)遵循了模塊化的設(shè)計(jì)思想。圖6 與圖7 分別給出了主控、從控系統(tǒng)部分的流程圖,所有的程序模塊均在在WindowsXP 環(huán)境下用C 語(yǔ)言開(kāi)發(fā)實(shí)現(xiàn)。
圖6 主控設(shè)備流程圖
圖7 從控設(shè)備流程圖
5 結(jié)語(yǔ)
采用上述方案設(shè)計(jì)的駕駛盤(pán)控制系統(tǒng),功能強(qiáng)大、性?xún)r(jià)比高、性能穩(wěn)定、維護(hù)方便、開(kāi)發(fā)容易。實(shí)驗(yàn)表明整個(gè)系統(tǒng)的通用性和可擴(kuò)展性較好,具有應(yīng)用價(jià)值。
評(píng)論