基于藍(lán)牙技術(shù)的網(wǎng)絡(luò)化傳感器設(shè)計(jì)及其應(yīng)用
2. 1 STIM的實(shí)現(xiàn)
STIM中MCU 采用的是AD 公司的微轉(zhuǎn)換芯片ADμC812。該芯片內(nèi)有一個(gè)8052兼容的微處理器,遵從IEEE1451. 2標(biāo)準(zhǔn),利用芯片ADμC812內(nèi)部的640 B的數(shù)據(jù)存儲(chǔ)器作為可重復(fù)寫(xiě)的TEDS存儲(chǔ),利用內(nèi)部的一個(gè)通道12位的ADC實(shí)現(xiàn)A /D轉(zhuǎn)換以及通過(guò)芯片內(nèi)的UART串行口實(shí)現(xiàn)與藍(lán)牙模塊的通信。藍(lán)牙模塊選用的是支持點(diǎn)對(duì)多點(diǎn)的愛(ài)立信ROK 101 008 系列,同時(shí)該模塊自帶射頻微帶天線。ROK 101 008 藍(lán)牙模塊內(nèi)部結(jié)構(gòu)遵從藍(lán)牙規(guī)范1. 1,其內(nèi)部基帶控制器同樣提供了UART接口。藍(lán)牙模塊內(nèi)部提供了主機(jī)控制器接口(HCI)來(lái)實(shí)現(xiàn)對(duì)藍(lán)牙硬件訪問(wèn)的統(tǒng)一接口,結(jié)合RS232串口就可以實(shí)現(xiàn)主控制器和主機(jī)之間在傳輸層上的數(shù)據(jù)通信,基帶和射頻則提供了上層的鏈接和服務(wù)。同時(shí),ADμC812還應(yīng)完成對(duì)溫度傳感器的初始化、數(shù)據(jù)采集和處理。
(1)溫度傳感器DS18B20接口和驅(qū)動(dòng)。
溫度傳感器選用的是DS18B20, 該溫度芯片是DALLAS公司生產(chǎn)的一線式數(shù)字溫度傳感器,主要由4部分組成: 64位ROM、溫度傳感器、非揮發(fā)的溫度報(bào)警觸發(fā)器TH和TL、配置寄存器。ROM中的64位序列號(hào)是該DS18B20 的地址序列碼, ROM的作用是使每一個(gè)DS18B20都各不相同,這樣就可以實(shí)現(xiàn)一根總線上掛接多個(gè)DS18B20 的目的。主機(jī)控制DS18B20完成溫度轉(zhuǎn)換必須經(jīng)過(guò)3個(gè)步驟:初始化、ROM操作指令、存儲(chǔ)器操作指令。其工作流程是: 初始化→ROM操作指令→存儲(chǔ)器操作指令→數(shù)據(jù)傳輸,工作時(shí)序包括初始化時(shí)序、寫(xiě)時(shí)序和讀時(shí)序。操作時(shí)必須先啟動(dòng)DS18B20開(kāi)始轉(zhuǎn)換,再讀出溫度轉(zhuǎn)換值。其硬件接口如圖3所示。
(2)藍(lán)牙模塊ROK 101 008初始化。
藍(lán)牙模塊上電即讓其完成初始化工作,使其能與信號(hào)范圍內(nèi)藍(lán)牙建立連接通道。這一過(guò)程主要通過(guò)單片機(jī)MCU對(duì)藍(lán)牙模塊發(fā)送HC I指令完成。HCI指令包括指令分組,數(shù)據(jù)分組和事件分組,具體的格式為: 操作碼+參數(shù)總長(zhǎng)+參數(shù)0 +...參數(shù)N 。
下面給出主從設(shè)備間實(shí)現(xiàn)ACL數(shù)據(jù)連接的HCI指令(字符對(duì)應(yīng)指令的操作碼,由前10位和后6位兩部分組成,括弧內(nèi)為該指令的參數(shù)) : 從設(shè)備上電后實(shí)現(xiàn)查詢使能進(jìn)行復(fù)位Write_ scan_enable ( 0x03 ) 。主設(shè)備發(fā)送查詢HC I指令I(lǐng)nquiry(0x9c8b33, 8, 0) ,假定從設(shè)備地址為0x00000000000,則建立ACL 連接的HC I指令為Creat_Connection (0x000000000000, 0x18, 0, 0, 0, 0) ,從設(shè)備接收連接請(qǐng)求指令為Accep t_connection _ request( 0x111111111111, 0 ) , 假定主設(shè)備地址為0x111111111111。這樣主從設(shè)備之間就建立了ACL數(shù)據(jù)連接。如Inquiry對(duì)應(yīng)操作碼為x0001, 0x01。具體的HCI指令參見(jiàn)藍(lán)牙規(guī)范。
2. 2 NCAP的實(shí)現(xiàn)
NCAP的功能為實(shí)現(xiàn)藍(lán)牙模塊對(duì)以太網(wǎng)( Ether2net)的接入,同樣選用ROK 101 008系列藍(lán)牙模塊,如此可以實(shí)現(xiàn)多個(gè)STIM對(duì)同一NCAP的連接。采用8位微處理器W77E58 和TCP / IP協(xié)議棧芯片W3100A一起實(shí)現(xiàn)對(duì)以太網(wǎng)( Ethernet)的接入的網(wǎng)絡(luò)化接口。
(1)協(xié)議棧芯片W3100A初始化。
W3100A是一TCP / IP協(xié)議棧芯片,包含的各協(xié)議層有: TCP、IP、UDP、ICMP和以太網(wǎng)協(xié)議的數(shù)據(jù)鏈路DLC和MAC 協(xié)議, 其工作方式類(lèi)似于Windows的Soket AP I,為便于實(shí)現(xiàn)對(duì)傳感器的訪問(wèn),可以將傳感器設(shè)計(jì)為具有Web服務(wù)器功能。W3100A 支持全雙工模式,內(nèi)部帶有雙口的SRAM數(shù)據(jù)緩沖區(qū),其封裝是64腳的LQFP,提供了并口和串口兩種方式實(shí)現(xiàn)與MCU的通信。MCU和W3100A的硬件接口如圖4所示。其中, RTL8201 芯片為以太網(wǎng)物理層選用設(shè)備。
W3100A提供M II接口與RTL8201 相連, 其中引腳RX_CLK, RXDV, RXD [ 0∶3 ]以及COL用于數(shù)據(jù)的接收,而TX_CLK, TXE, TXD [ 0 ∶3 ]用于數(shù)據(jù)的發(fā)送。
MCU中提供模擬的I2 C接口與W3100A 通信。
芯片W3100A正常工作必須對(duì)其完成相應(yīng)的初始化。初始化主要是對(duì)必要的寄存器進(jìn)行相應(yīng)的設(shè)置,這些寄存器包括: 網(wǎng)關(guān)地址寄存器GAR、子網(wǎng)掩碼寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被設(shè)置后通過(guò)執(zhí)行控制寄存器CR的0位Sys_init激活芯片。
評(píng)論