3 系統(tǒng)硬件設(shè)計(jì)
3.1 主控設(shè)備硬件設(shè)計(jì)
3.1.1 按鈕部分
按鈕位置示意如圖3 所示分為4 個(gè)區(qū),每區(qū)4 個(gè)按鈕。為使操作舒適簡(jiǎn)潔,采用一鍵多功能來(lái)減少硬件設(shè)備和簡(jiǎn)化操作,駕駛盤(pán)上設(shè)定16 個(gè)功能按鈕。
圖3 駕駛盤(pán)按鈕位置分布圖。
功能描述:1 號(hào)鍵是定速巡航開(kāi)關(guān)按鈕,按一下1號(hào)鍵進(jìn)入定速巡航控制,按2 號(hào)鍵進(jìn)入設(shè)定或重設(shè)功能,3 號(hào)和4 號(hào)鍵為上下選項(xiàng)移動(dòng)鍵,再按1 號(hào)鍵退出定速巡航;5 號(hào)鍵是音響系統(tǒng)啟動(dòng)關(guān)閉鍵,并可切換FM/CD 模式,根據(jù)按鍵次數(shù)選擇(開(kāi)啟→FM→CD→關(guān)閉),6 號(hào)鍵為節(jié)目選擇鍵,同樣根據(jù)按鍵次數(shù)選擇相關(guān)項(xiàng),7、8 號(hào)鍵為音量調(diào)節(jié)鍵;9 號(hào)鍵為空調(diào)啟動(dòng)關(guān)閉鍵,10 鍵為溫度模式切換鍵,11、12 號(hào)鍵為溫度調(diào)節(jié)鍵;13 號(hào)鍵為遠(yuǎn)近燈開(kāi)關(guān)控制鍵,14 號(hào)鍵為霧燈開(kāi)關(guān)控制鍵,15、16 號(hào)鍵為前大燈強(qiáng)弱調(diào)節(jié)按鍵。
3.1.2 按鍵信號(hào)處理模塊
按鍵信號(hào)處理采用鍵盤(pán)掃描管理芯片ZLG7289 實(shí)現(xiàn)。ZLG7289 采用SPI 串行總線(xiàn)與微處理器通訊,/CS、CLK、DIO 分別與微處理器三個(gè)I/O 引腳相連,KEY與/INT0 相連,串行數(shù)據(jù)從DATA 引腳送入芯片,并由CLK 端同步。當(dāng)有鍵被按下和片選信號(hào)變?yōu)榈碗娖胶?,DATA 引腳上的數(shù)據(jù)在CLK 引腳上升沿被寫(xiě)入ZLG7289 的緩沖寄存器,并且只有當(dāng)/INT0 引腳出現(xiàn)下降沿時(shí)才允許讀取按鍵值。在無(wú)任何按鍵情況下,LED為亮的狀態(tài),當(dāng)有任意鍵按下時(shí),LED 為滅的狀態(tài)。
圖4 與圖5 分別為ZLG7289 芯片引腳圖與鍵盤(pán)邏輯陣列圖,4 根行線(xiàn)分別接ZLG7289 的SG、SF、SE、SD引腳;4 根列線(xiàn)分別接ZLG7289 數(shù)據(jù)線(xiàn)DIG0~3.
圖4 ZLG7289 芯片引腳圖。
圖5 鍵盤(pán)邏輯陣列圖。
3.1.3 藍(lán)牙模塊
BC219159 核心是CSR 公司推出的單片射頻芯片BlueCore2–External,包含無(wú)線(xiàn)電收發(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 總線(xiàn)控制、顯示等模塊,限于篇幅簡(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í)需要在串口線(xiàn)之間加上100Ω電阻來(lái)匹配電壓。
3.2.2 CAN 總線(xiàn)控制
現(xiàn)代汽車(chē)控制系統(tǒng)節(jié)點(diǎn)多、數(shù)量大、實(shí)時(shí)性要求高,而且大批的數(shù)據(jù)信息要求能在不同的電子器件間共享[2].CAN 總線(xiàn)是一種串行多主站控制器局域網(wǎng)總線(xiàn),它具有很高的網(wǎng)絡(luò)安全性、通訊可靠性和實(shí)時(shí)性,簡(jiǎn)單實(shí)用,網(wǎng)絡(luò)成本低,不但可以減少導(dǎo)線(xiàn)連接,而且能增強(qiáng)診斷和監(jiān)控能力,適用于汽車(chē)及一般工業(yè)環(huán)境。本設(shè)計(jì)中CAN 控制器選用PHILIPS 公司的SJA1000。車(chē)內(nèi)系統(tǒng)示意接線(xiàn)如圖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)的直觀(guān)性,便于駕駛員及時(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)線(xiàn),接通主控和從控設(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à)值。