一种蓝牙打印机的实现方案

发布者:Serendipity22最新更新时间:2006-08-10 来源: 电子设计应用关键字:单片机  蓝牙  打印机 手机看文章 扫描二维码
随时随地手机看文章

  引言 
  作为一种短距离无线通信协议,蓝牙技术以其低成本、低功耗、高速率、方便灵活等特点在众多无线解决方案中脱颖而出。蓝牙10m的工作距离可以很好的满足大多数数字设备的应用场合,如办公室或家庭。打印机是常用的一个设备,摆脱打印机连线所带来的不便,实现无线打印,可以减少桌面上令人不快的电缆,并且可以将打印机远离主机任意搬动,摆放在房间中适合的位置。本文介绍一种用蓝牙技术来实现主机与打印机的无线连接,实现遥控打印的方法。

蓝牙打印机的设计方案
  设计的总体思路如图1所示:

          图1 蓝牙打印机设计的总体思路

  在主机端用一单片机来仿真打印机进行工作,截取从主机并口传出的数据及控制信号,并通过蓝牙无线连接传送到打印机端。在打印机侧的单片机则根据所收到的蓝牙数据来仿真主机对打印机进行控制操作,从而实现打印机与主机的蓝牙无线连接。主机端的蓝牙作为主设备进行查询和发起连接,打印机端的蓝牙则作为从设备等待连接的建立。单片机采用89C2051,蓝牙芯片采用爱立信公司生产的支持点对点连接的ROK101-008。该模块内包括了无线部分、基带控制器、闪存、电源控制模块和内部时钟这五个主要部分,提供UART、PCM、I2C标准接口并内置晶振,其硬件框图如图2所示:

        图2 Ericsson ROK 101 008 硬件框图

  该方案适用于具有Centronic并行接口的通用打印机。用户无须更改打印机的驱动程序,只需将含有单片机和蓝牙的两块板子分别连接到主机端和打印机上,就可以进行无线打印了。整个过程对于原打印机驱动程序是透明的,这样就为打印机用户提供了很大的方便。

单片机对蓝牙模块的控制

       图3 蓝牙HCI传输层示意图
 
  蓝牙规范定义了主机控制接口(HCI),它为基带控制器、硬件控制器、硬件状态和控制寄存器等提供了标准的命令接口。主机通过HCI传输层将控制命令和数据发送给蓝牙模块,而蓝牙模块又通过HCI传输层将其状态信息及数据发还给主机。HCI传输层的主要目的是实现透明性。传输层不需要对主控制器驱动程序传送给主控制器的数据可见,这就使接口(HCI)或主控制器能在不影响传输层的基础上升级。

  如图3所示,在HCI传输层中至少传送4种不同类型的包——HCI命令、HCI事件、ACL数据和SCL数据。每个HCI包都以HCI指示头开始,不同的指示头代表着不同类型的HCI包:
0x01 HCI指令分组
0x02 HCI ACL数据分组
0x03 HCI SCO数据分组
0x04 HCI事件分组 

  传输层主要有下列3种:HCI USB ; HCI PCM; HCI UART。我们用单片机通过HCI-UART传输子层对蓝牙模块进行控制。连接的原理图如图4所示:

      图4 单片机与蓝牙连接原理图


  一般来说,将单片机与蓝牙芯片在短距离内直接相连,便已可保证数据的可靠传输,也无须接CTS和RTS信号进行流量控制。单片机与蓝牙间的UART通信采用8位数据位,1位终止位,无奇偶校验,使用无类型小Endian格式,即最低位最先发送。UART通信格式及波特率均可通过单片机向蓝牙发送HCI指令来进行调整。ROK-101-008芯片最高可支持460.8Kbps的UART速率。发送给蓝牙模块的第一条HCI指令应该是软件复位(Soft Reset)命令,当蓝牙执行完一条指令后,将返回一个带有状态参数信息的命令完成事件(Command_Complete_Event),以告知主机(单片机)命令执行的情况。

  当完成软件复位后,要使得蓝牙模块做为从设备等待来自其他蓝牙设备的查询和连接发起,我们还需设置一些计时器的值,进行一系列的参数设定。即使是作为主设备的主机端蓝牙,在进行查询和建立连接之前也需要做上述的参数设定工作。这些需要设置的参数主要有下列几个:
*Set Event Filter(设置事件过滤器)
*Write Scan Enable(设置扫描参数,如是否可以进行查询和寻呼)
*Write Authentication Enable(设置是否需要进行验证)
*Write Page Timeout(设置寻呼超时,一般该值可以设为7s)

  打印机端的蓝牙模块在设置完上述各参数后便已经做好了从设备的准备,等待连接的建立。而在主机端的蓝牙模块还需进行查询(Inquiry)过程以取得远端设备的蓝牙地址,并根据查询得到的蓝牙地址来发起连接。一旦蓝牙连接被建立之后,便可以进行数据的收发,以实现蓝牙无线打印。

单片机与主机以及打印机的连接

   单片机和主机以及打印机的接口电路十分简单,以与打印机连接为例,电路如图5所示:

      图5 单片机与打印机连接原理图

   将89C2051的P1口直接与打印机的数据口相连,用P3.7来采样打印机的BUSY信号。由于主机与打印机的连线一般较长,打印机一侧一般均有匹配电阻,因此作为STROBE信号输出的P3.3不能与打印机直接相连,这里我们用一与非门来增加驱动能力以实现控制。当单片机接收到主机通过蓝牙发送过来的数据后,在打印机侧模拟主机对打印机进行控制操作。首先将要发送给打印机的数据从P1口输出,随后从P3.3经过门电路反向产生一个负脉冲,作为选通信号发送给打印机,侦听P3.7上的BUSY信号,当该信号电平为低时,则表示本次数据已被打印机接收,可以发送下一个数据。

结语
  以上方案并不涉及打印机的具体型号,也无须改变用户打印机的驱动程序,因而适用于大多数的通用打印机。这种用单片机通过UART传输层对蓝牙模块进行控制的方法,不仅仅适用于蓝牙打印机的研制,还适应于各类嵌入式的蓝牙系统。

参考文献:
1.Specifications of the Bluetooth System Version 1.1,
http://www.bluetooth.com. 2. Ericsson ROK 101 008 Data Sheet,http://www.ericsson.com.
3.金纯等著,《蓝牙技术》,电子工业出版社,2001.
4.李华等著,《MCS-51系列单片机实用接口技术》,北京航空航天大学出版社,1993.

关键字:单片机  蓝牙  打印机 引用地址:一种蓝牙打印机的实现方案

上一篇:MSC1210的GPRS无线通信系统设计
下一篇:基于MSP430的无线传感器网络设计

推荐阅读最新更新时间:2024-05-07 15:53

基于MSP430单片机的智能水位计设计
摘要:为解决我国水位监测野外条件下长期无人看守的问题,研制开发了基于MSP430单片机的智能水位计。从其组成到各功能分别进行了详细的介绍,该智能水位计不仅实现了水位数据的实时监测、记录和定期采集等作模式多种工,而且提高了水位监测精度,实现了水位监测的智能化。 关键词:MSP430单片机;水位监测;远程控制;智能仪器 随着微电子技术和计算机技术的不断发展,引起了仪表结构的根本性变革,以微型计算机为主体,将计算机技术和检测技术有机结合,组成新一代“智能化仪表”,在测量过程自动化、测量数据处理及功能多样化方面与传统仪表的常规测量电路相比较,取得了巨大进展。智能仪表不仅能解决传统仪表不易或不能解决的问题,还能简化仪表电路,提高仪表的
[工业控制]
基于MSP430<font color='red'>单片机</font>的智能水位计设计
89C51单片机与1片ADC0809组成的数据采集系统编程实例
在1个由89C51单片机与1片ADC0809组成的数据采集系统中,ADC0809的8个输入通道的地址为7FF8H~7FFFH,试画出有关接口电路图,并编写出每隔1分钟轮流采集1次8个通道数据的程序,共采样50次,其采样值存入内RAM20H单元开始的存储区中。 图片1 参考程序如下: 0~7通道地址:fef8h~feffh ORG 000H LJMP MAIN ORG 0003H LJMP I_INT0 ORG 000BH LJMP I_T0 ORG 050H MAIN: MOV
[单片机]
89C51<font color='red'>单片机</font>与1片ADC0809组成的数据采集系统编程实例
基于MSP430F449单片机和M-BUS总线实现数据采集系统的设计
引 言 随着社会的迅速发展,智能小区逐渐进人人们的生活,而自动抄表系统是智能小区的重要功能之一。在水、电、气管理方面,采用自动抄表技术,不仅能节约人力资源,更重要的是可提高抄表的准确性,减少因估计或誊写而造成帐单出错的现象,使水、电、气管理部门能及时准确获得数据信息。另外用户不再需要与抄表者预约上门抄表时间,还能迅速查询帐单,所以这种技术越来越受到用户欢迎。 针对目前市场上自动抄表系统价格不菲的现状,设计一种由零功耗磁敏传感器产生脉冲信号,利用MSP430系列超低功耗单片机的捕获功能捕获信号的数据采集系统。该采集系统价格相对低廉,性能可靠,适用于水、煤气、电表的远传采集;数据传输总线选用M-BUS,传输速度快、距离远、可靠性高
[单片机]
基于MSP430F449<font color='red'>单片机</font>和M-BUS总线实现数据采集系统的设计
单片机中使用三极管驱动蜂鸣器
【背景知识】 NPN型三极管,由三块半导体构成,其中两块N型和一块P型半导体组成,P型半导体在中间,两块N型半导体在两侧。PNP型三极管,是由两块P型半导体中间夹着一块N型半导体所组成的三极管,所以称为PNP型三极管。也可以描述成,电流从发射极E流入的三极管。三极管最主要的功能就是电流放大和开关作用。 三极管最基本的作用就是放大作用,它可以把微弱的电信号变成一定强度的信号,当然这种转换仍然遵循能量守恒定律,它只是把电源的能量转换成信号的能量。三极管有个重要参数就是电流放大系数β。 当三极管的基极上加一个微小的电流时,在集电极上可以得到一个是注入电流β倍的电流,即集电极电流。集电极电流随基极电流的变化而变化,并且基极电流很小
[单片机]
<font color='red'>单片机</font>中使用三极管驱动蜂鸣器
基于AT89C51单片机的智能计步器设计
1 引言 当今社会,随着经济的发展,人们生活水平的提高,肥胖的人越来越多,也就导致了越来越多的疾病产生,因此,人们越来越关注健康问题,而锻炼身体是让自己健康的最有效的方法。因此计步器应运而生,就成了时下流行的趋势。步行时,通过伸缩肌肉,血液在流动时的抵抗值下降,血压下降且稳定。经常步行的人很少患高血压或低血压病。坚持步行能减少血管内附着的脂肪性物质,使体重减轻,也逐渐减少心脏的负荷。而基于单片机为核心控制的计步器有着精确,可靠,稳定,方便等优点,已被大多数人所接受。通过计步器人们可以知道自己跑了多少步,实时掌握自己的锻炼情况。 2 总体设计方案 计步器由振荡电路、复位电路、显示电路以及按键电路几个部分组成,由电池进行供电。系统
[单片机]
基于AT89C51<font color='red'>单片机</font>的智能计步器设计
基于AT89C51单片机的十进制计算器系统设计
引言 本系统采用AT89C51 单片机作为控制器,用来实现实现四位数的“+”,“-”,“*”,“/”运算,运算结果通过数码管显示,并具有有清零功能。AT89C51 具有如下特点:40 个引脚,4k BytesFlash 片内程序存储器,128 bytes 的随机存取数据存储器( RAM ),32 个外部双向输入/ 输出(I/O)口,5 个中断优先级2层中断嵌套中断,2 个16 位可编程定时计数器,2 个全双工串行通信口,看门狗(WDT)电路,片内时钟振荡器。 1 总体设计方案 1.1 系统组成与工作原理 本系统以51 单片机为主控核心,与矩阵键盘、晶振、LED 显示管模块一起组合而成。
[单片机]
基于AT89C51<font color='red'>单片机</font>的十进制计算器系统设计
STM8单片机STVD环境工程设置
1.项目的通用属性如下图如示。要注意编译器的路径。
[单片机]
STM8<font color='red'>单片机</font>STVD环境工程设置
【51单片机】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
一、环境 我用的是Keil5做编译工具,用proteus仿真。除了Keil5不知道有没有其他好用的能生成.hex文件的软件(要单片机运行是需要生成.hex文件的),Proteus则是一款很好用的仿真软件,原件很多。当然,之前有试过multisim14,也是非常不错的软件,自带有可以编写代码的文本编辑器,但没找到我想要的原件。所以选择了Proteus。 二、硬件部分 我们可以先打开Proteus: 1. Proteus新建工程 点击开始界面的创建工程,先创建一个Proteus的工程。 (注意:最好每个项目单独一个文件夹,后期的文件很乱很杂) 工程名写好,选择好文件夹,后面的可以一直下一步。 2. 添加元件 可以直接点红色
[单片机]
【51<font color='red'>单片机</font>】矩阵键盘逐行扫描法仿真实验+超详细Proteus仿真和Keil操作步骤
小广播
最新网络通信文章
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved