用户名密码 [免费注册] [找回密码] 推广技巧 发布求购 建商铺  发产品  会员体制比较  
 

基于蓝牙技术平台的智能总线开关的设计技术分析

来源:中国一卡通网  作者:不详  发布时间:2013-10-23 10:13:40  字体:[ ]

关键字:蓝牙技术  智能总线开关  上下位机  通讯  

摘   要:蓝牙技术是爱立信移动通信公司在1994年提出的,用以解决移动电话与它的外围配件的连接问题,现已逐渐发展成一种短距离无线链路的概念。蓝牙技术已越来越多地嵌入到高档产品中,如PDA、移动电话,无线电话、台式计算机、笔记本、MP3播放器、数码相机等。

  1.引言

  蓝牙技术是爱立信移动通信公司在1994年提出的,用以解决移动电话与它的外围配件的连接问题,现已逐渐发展成一种短距离无线链路的概念。蓝牙技术已越来越多地嵌入到高档产品中,如PDA、移动电话,无线电话、台式计算机、笔记本、MP3播放器、数码相机等。针对蓝牙技术功耗低,抗信号衰落,减少同频干扰,保证传输的可靠性等的特点,其应用于总线开关控制系统实现无线控制将成为一种趋势,且具有广阔的发展前景和重要的应用价值。蓝牙技术大多用于网络连接和语音设备,而在工业控制领域中的应用相对较少,因此本文旨在通过单片机控制蓝牙模块实现对智能总线开关的控制。

  2.设计原理
 
  利用单片机AT89C51作为主机,通过其串口及UART协议与蓝牙模块ROK101 007进行数据传输。在传输数据时,首先把主机的波特率设定为蓝牙模块对应值,结合UART协议对蓝牙模块进行数据传输,蓝牙模块响应主机的指令,并返回响应的事件处理结果。通过主机的控制指令,在上位机与下位机的蓝牙模块之间建立一个链路,至此上位机与下位机可以通过蓝牙模块之间的无线通信进行数据传输,并实现对总线开关的远程智能控制。

  3.硬件组成

  上、下位机处理器都采用单片机AT89C51,无线传输部分采用Ericsson公司的蓝牙模块ROK101 007,编程软件采用Keil uVision2编程工具,编写基于C51的C语言代码,并将其固化在AT89C51单片机中。

  采用UART传输层进行通信,波特率由定时器T1设定,采用方式1工作,大小为9600bit/s。下位机的开关状态由LED显示,采用8路LED,并通过继电器来作为外围硬件开关电路。

  由于单片机与蓝牙模块在同一块PCB上,为此单片机与蓝牙模块采用二线制连接,蓝牙模块与AT89C51串口之间采用蓝牙模块提供的UART传输层接口实现通信,需要外接电路实现电平转换,由于蓝牙模块需3.3V供电,因此这里选用采用电平转换器件MAX232进行电源转换。另外,为了将5V输入电压转换为3.3V电压,选用电源稳压芯片LT1117-3.3为蓝牙模块供电。

  4.程序设计

  本设计主要功能实现可分为两个部分:

  一部分是上位机,通过读P1.0~P1.3口的电平状态,发送总线开关控制命令,利用外部中断INT1来控制是否发送总线开关控制命令;

  另一部分是下位机,用来接收上位机传送的命令,并实现控制与命令相对的总线开关状态的功能。

  4.1 蓝牙点对点通讯

  本文采用单片机的串行通信机制,并通过通用异步接收器/发送器(UART)来实现对蓝牙模块的初始化。蓝牙模块的初始化包括蓝牙模块的复位、读缓存、写使能、写使能鉴权、设置事件滤波器、读蓝牙地址、建立ACL数据链路等。

  4.2 上位机的软件实现

  (1)上位机软件总体框架的设计

  上位机采用AT89C51,并利用其P1.0- P1.2端口作为命令控制器,其各端口电平状态代表控制指令。当命令准备好后,通过外部中断INT1触发主机发送命令,在初始化蓝牙模块以及建立连接的基础上,通过蓝牙模块把指令传送给远端下位机。

  软件的实现是在Windows XP系统下,利用Keil uVision2开发工具实现的,其编程语言是基于C51的C语言。

  (2)上位机数据传输的软件设计

  要进行数据传输首先要打开蓝牙设备,对蓝牙设备进行参数配置,包括流量控制、读取本地蓝牙设备的名字以及本地蓝牙设备地址BD_ADDR等等。接着就开始建立连接等。在发起建立ACL连接的请求后,如果对方同意建立连接并且连接成功,那么将会获取ACL连接的句柄,有了这个句柄,就可以发送ACL数据,实现通信。

  4.3 下位机的软件实现

  (1)下位机软件总体框架的设计

  下位机在设定好串口以及初始化蓝牙模块后,即可接收来自上位机的控制命令,达到控制相应的总线开关的目的。综合考虑开发周期及研制经费问题,本文采用AT89C51作为下位机,继电器作为总线开关控制器,用二极管代表总线的开关状态。由于上位机采用三位控制命令,为此,下位机采用8路控制开关,并最终通过P1.0-P1.7口来实现。

  软件的实现是在Windows XP系统下,利用Keil uVision2开发工具实现的,其编程语言是基于C51的C语言,即可实现下位机部分的任务。

  (2)下位机数据传输的软件设计

  同上位机数据传输总体操作流程大致相同,不同之处在于下位机属于接收方式。

  5.结论

  本文依据蓝牙技术、单片机的基本原理,给出了使用蓝牙技术对智能总线开关的无线控制的设计及方案,并且在Windows XP系统下,通过在Keil uVision2平台上编写基于C51的C代码实现及基本程序设计;此方案已在笔者的测试机上通过,且提供部分程序代码设计。本文对蓝牙技术在工业控制领域中的应用具有一定的实践参考价值。

更多

新闻投稿合作邮箱:yktchina-admin@163.com    字体[ ] [收藏] [进入论坛]

推荐文章

论坛热帖