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