- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于ARM7的蓝牙接入点的设计与应用
3.1.4 网络通信接口在设计中采用采用网络接口将蓝牙接入点接入工业以太网,数据由以太网传递到上位机中,实现工业现场的无线设备和上位机的通信。网络隔离器采用的是 HR61H50L,网卡芯片使用的是 AX88796。
AX88796是台湾 Asix公司推出的 NE2000兼容快速以太网控制器。其内部集成有 10/100 Mb/s自适应的物理层收发器和 8K×16位的 SRAM,支持 MCS-51系列、80186系列以及 MC68K系列等多种 CPU总线类型。 AX88796执行基于 IEEE802.3/IEEE802.3u 局域网标准的 10Mb/s和100Mb/s以太网控制功能,并提供IEEE802.3u兼容的媒质无关接口 MII(Media Independent Interface),用以支持在其它媒质上的应用。 AX88796的地址总线 SA[9:0]与数据总线 SD[15:0]分别与 CPU的地址/数据总线相连。 CPU通过 I/O读写 NE2000寄存器来控制 AX88796的工作状态,通过远程 DMA FIFOs与 AX88796的内部缓存 SRAM进行数据交换。SRAM与 MAC核之间进行 Local DMA将数据发送至 MAC层,再经由内部的 PHY层发送至 RJ45接口,或者经过 MII接口送至外部的物理层芯片。SEEPROM接口可以用来连接串行 EEPROM。EEPROM可用于存储 MAC地址,供 AX88796每次初始化时读取。
3.1.5 电源部分
电源采用的是以太网供电设备,该设备采用符合 802.3受电设备标准,输出标准的 +24V,经过 LM2576-5、 AS1117-1.8和 AS1117-3.3电源芯片,电平转换后,输出蓝牙接入点上的 cpu、存储器、网卡芯片和蓝牙模块上所需的 1.8V和 3.3V电源。
3.1.6 串口通信
串口通信使用的是 MAX3232芯片。这里使用串口通信接口主要是为了调试蓝牙模块、 cpu和上位机之间的通信,及测试其通信性能。
3.2 软件部分
在软件设计部分,主要介绍一下蓝牙模块的通信原理。首先,初始化蓝牙模块,直到初始化成功。接着对通信模块的各个端口进行定义。AT91R40008有 32位的 I/O口,设计时结合实际中的情况,考虑具体所用的端口,结合其他通信模块定义这些端口。定义通信模块端口完成以后,立即与现场无线设备进行连接。随后,蓝牙接入点开始搜索现场设备,并对现场设备进行读写,接收蓝牙指令并更新。其蓝牙模块的通信流程图如图 3。
蓝牙接入点向本地子网广播自己的设备声明,并接收其他设备的设备声明。初始化完后 5秒钟内用来搜寻子网中的邻居设备,搜寻完成后,开始建立邻居表,并把邻居表内的其他从设备加入到无线调度列表中。网络组建完成后,接入点按照确定性调度算法轮询从设备。并把蓝牙数据报文转换成工业以太网的报文,放入工业
以太网的调度器中。设备声明报文:
typedef struct _zgb_pkt_ann {
} zgb_pkt_ann;
信息分发报文:
typedef struct _zgb_distribute { INT8U devdesp[16]; INT8U mdata[16];
} zgb_distribute;
令牌:
typedef struct _zgb_pass_token { INT8U ans;INT8U res[3]; // 设备描述, 字符串 //主 or从? 0主设备; 1 从设备 //设备状态: 0设备未组态 , 自由发包; //1设备已组态 , 获取令牌才能发包 // 保留字段
// 设备描述, 字符串 // 信息分发的内容
//确认? 0不确认 ; 1确认 // 保留信息
} zgb_pass_token;
蓝牙接入点在工业现场中的应用
在设计中,将工业以太网的有线网络与工业现场的无线设备之间建立连接,如图 4。工业现场的无线设备通过一个蓝牙专用的传输协议将数据传输到蓝牙接入点。数据经过转换,成为工业以太网能够识别和支持的格式,并传输到工业以太网中的一个发出指令请求的设备中。上位机同时可以通过以太网对数据进行监控。工业现场的无线设备还可以同时与一个带有蓝牙模块的手持设备和一个蓝牙接入点进行连接,对数据进行访问和采集。
5 小结
在搭建完整个系统,并对蓝牙的通信性能进行检测的过程中发现,蓝牙模块由于采用的是信息无线传输方式,所以在传输过程中干扰较大,传输距离也较短。工业现场设备安装的环境往往比较恶劣,怎样使蓝牙设备拥有更好的稳定性、更低的功耗、更广的工作范围,这些对硬件设计和软件优化提出了更高的要求。
来源:维库开发网