关 闭

新闻中心

EEPW首页>工控自动化>设计应用> 基于蓝牙技术的网络化传感器设计及其应用

基于蓝牙技术的网络化传感器设计及其应用

作者: 时间:2012-11-14 来源:网络 收藏

2. 1 STIM的实现

STIM中MCU 采用的是AD 公司的微转换芯片ADμC812。该芯片内有一个8052兼容的微处理器,遵从IEEE1451. 2标准,利用芯片ADμC812内部的640 B的数据存储器作为可重复写的TEDS存储,利用内部的一个通道12位的ADC实现A /D转换以及通过芯片内的UART串行口实现与模块的通信。模块选用的是支持点对多点的爱立信ROK 101 008 系列,同时该模块自带射频微带天线。ROK 101 008模块内部结构遵从蓝牙规范1. 1,其内部基带控制器同样提供了UART接口。蓝牙模块内部提供了主机控制器接口(HCI)来实现对蓝牙硬件访问的统一接口,结合RS232串口就可以实现主控制器和主机之间在传输层上的数据通信,基带和射频则提供了上层的链接和服务。同时,ADμC812还应完成对温度的初始化、数据采集和处理。

(1)温度DS18B20接口和驱动。

温度选用的是DS18B20, 该温度芯片是DALLAS公司生产的一线式数字温度传感器,主要由4部分组成: 64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。ROM中的64位序列号是该DS18B20 的地址序列码, ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20 的目的。主机控制DS18B20完成温度转换必须经过3个步骤:初始化、ROM操作指令、存储器操作指令。其工作流程是: 初始化→ROM操作指令→存储器操作指令→数据传输,工作时序包括初始化时序、写时序和读时序。操作时必须先启动DS18B20开始转换,再读出温度转换值。其硬件接口如图3所示。

温度传感器DS18B20硬件接口图

(2)蓝牙模块ROK 101 008初始化。

蓝牙模块上电即让其完成初始化工作,使其能与信号范围内蓝牙建立连接通道。这一过程主要通过单片机MCU对蓝牙模块发送HC I指令完成。HCI指令包括指令分组,数据分组和事件分组,具体的格式为: 操作码+参数总长+参数0 +...参数N 。

下面给出主从设备间实现ACL数据连接的HCI指令(字符对应指令的操作码,由前10位和后6位两部分组成,括弧内为该指令的参数) : 从设备上电后实现查询使能进行复位Write_ scan_enable ( 0x03 ) 。主设备发送查询HC I指令Inquiry(0x9c8b33, 8, 0) ,假定从设备地址为0x00000000000,则建立ACL 连接的HC I指令为Creat_Connection (0x000000000000, 0x18, 0, 0, 0, 0) ,从设备接收连接请求指令为Accep t_connection _ request( 0x111111111111, 0 ) , 假定主设备地址为0x111111111111。这样主从设备之间就建立了ACL数据连接。如Inquiry对应操作码为x0001, 0x01。具体的HCI指令参见蓝牙规范。

2. 2 NCAP的实现

NCAP的功能为实现蓝牙模块对以太网( Ether2net)的接入,同样选用ROK 101 008系列蓝牙模块,如此可以实现多个STIM对同一NCAP的连接。采用8位微处理器W77E58 和TCP / IP协议栈芯片W3100A一起实现对以太网( Ethernet)的接入的接口。

(1)协议栈芯片W3100A初始化。

W3100A是一TCP / IP协议栈芯片,包含的各协议层有: TCP、IP、UDP、ICMP和以太网协议的数据链路DLC和MAC 协议, 其工作方式类似于Windows的Soket AP I,为便于实现对传感器的访问,可以将传感器为具有Web服务器功能。W3100A 支持全双工模式,内部带有双口的SRAM数据缓冲区,其封装是64脚的LQFP,提供了并口和串口两种方式实现与MCU的通信。MCU和W3100A的硬件接口如图4所示。其中, RTL8201 芯片为以太网物理层选用设备。

W3100A提供M II接口与RTL8201 相连, 其中引脚RX_CLK, RXDV, RXD [ 0∶3 ]以及COL用于数据的接收,而TX_CLK, TXE, TXD [ 0 ∶3 ]用于数据的发送。

MCU中提供模拟的I2 C接口与W3100A 通信。

MCU和W3100A的硬件接口图

芯片W3100A正常工作必须对其完成相应的初始化。初始化主要是对必要的寄存器进行相应的设置,这些寄存器包括: 网关地址寄存器GAR、子网掩码寄存器SMR、硬件地址寄存器SHAR以及IP地址寄存器SIPR等。上述寄存器被设置后通过执行控制寄存器CR的0位Sys_init激活芯片。



评论


相关推荐

技术专区

关闭