爱立信蓝牙芯片ROK101 007简介
发布时间:2006-10-14 8:01:01   收集提供:gaoqian

北京邮电大学无线网络实验室 陈静 周正


  摘 要:ROK101 007蓝牙通信芯片是爱立信(EriCSSon)公司推出的一款适合于短距离蓝牙通信的无线基带模块。它集成度高、功耗小、完全兼容蓝牙协议V1.1,可嵌入任何需要蓝牙功能的设备中,文中介绍了ROK101 007的结构、功能、各接口管脚以及常用HCI指令的用法。

  关键词:蓝牙(bluetooth);无线通信;ROK101 007

  1蓝牙技术及芯片简介   

  蓝牙技术是一种用于替代在便携或固定电子设备上使用的电缆或连线的短距离无线连接技术。其设备使用全球通行的、无需申请许可的2.45GHz频段,可实时进行数据和语音传输,传输速率可达到10Mbps,在支持3个话音频道的同时还支持高达723.2kbps的数据传输速率。也就是说,在办公室、家庭和旅途中,无需在任何电子设备间布设专用线缆和连接器,而通过蓝牙遥控装置即可形成一点到多 点的无线连接,即在该装置周围组成一个“微网”,网内任何蓝牙设备都可与该装置互通信号。蓝牙设备的一般有效通信范围为10米,强的可以达到100米左右。   

  爱立信(Ericsson)公司是蓝牙技术的发起人,该公司出品的蓝牙芯片ROK101 007是一款适合于短距离通信的无线/基带模块,该蓝牙模块集成度高,功耗小,完全兼容蓝牙协议V1.1,可嵌入任何需要蓝牙功能的设备中。该模块包括基带控制器,无线收发器,闪存等部件,可提供高至HCI(主机控制接口)层的功能。此外,该模块还提供有USB、UART和PCM接口,因而能方便地与主机(host)进行通信,另外,该模块还同时支持蓝牙语音和数据传输,且其输出功率能满足蓝牙2级操作的要求。

  2内部结构及各功能块介绍   

  ROK101 007是一款完全依据蓝牙协议V1.1开发的蓝牙芯片,它包含无线收发器(PBA313 01/2)、基带控制器、闪存、电源管理模块和时钟五个功能模块。图1所示是其内部结构框图。



  2.1无线收发器   

  无线收发和信号调制功能是通过PBA31301/2完成的。该芯片是一个工作在2.4~2.5GHz的ISM频段的近距离微波射频收发器。其最大TX&RX数据传输率为1Mbit/s,可以最大限度地利用无需认证的ISM频段,可在79个信道(2.402~2.480GHz)之间快速地跳频(1600个信道/秒),使用GFSK调制方式,通道带宽为1MHz,频率偏差在140kHz~175kHz之间,能满足蓝牙二级操作,其最大输出功率为4dBm,且不需要功率控制。安装天线之后,其传输距离可达10米,符合ISM频段的FCC和ETSI标准。该模式中的PBA31301/2以Radio ASIC为基础,且内含环路滤波器(Loop Filter)、压控振荡器(VCO)、天线过滤器(Antenna Filter)、RX和TX变换器等六个操作模块。利用Radio ASIC可完成信号的调制和解调;而在环路滤波器(Loop Filter)、压控振荡器(VCO)和RadioASIC构成的锁相环中,可以滤除Radio ASIC输出中误差电压的高频成分和噪声,从而保证环路所要求的性能,增加系统的稳定性;交换控制器(switch)的作用是协调接收器(RX)和发送器(TX)的工作,以保证蓝牙的全双工传输。天线滤波器(Antenna Filter)的作用是对射频信号进行带通滤波。

  2.2基带控制器   

  通常使用一个基于ARM7-Thumb的芯片并通过串行口(UART)或USB接口来控制无线收发器。基带则负责处理底层的链路层功能。其功能包括:

  ●CVSD语音编码;

  ●头错误校验(HEC)生成及校验;

  ●前向纠错(FEC)生成及校验;

  ●循环冗余校验码(CRC)生成及校验;

  ●数据扰码;

  ●有效数据加密和解密;   

  ●跳频序列的选择。

  2.3闪存   

  ROK101 007中的闪存以二进制码的格式存放在蓝牙固件(Firmware)之中,它可与基带控制器交换数据、地址和控制信号。蓝牙固件包括链路管理器(Link Manager)和主机控制接口(HCI)。

  a.链路管理器(Link Manager)   

  通过链路管理器可实现链路管理协议(LMP),以负责处理底层链路控制方面的功能,图2所示是蓝牙链路管理层以下协议栈的示意图。它的主要功能包括:

  ●设备间链路的建立;

  ●生成、交换并检查加密密钥;

  ●协调基带分组大小;

  ●功率模式的切换;

  ●一个微微网(piconet)中设备的连接状态。   

  每个蓝牙设备都可以通过LMP与另一个蓝牙设备的链路管理器进行点对点的通信。LM和LM的通信不必通过主机干涉。



  b.主机控制接口(HCI)   

  ROK101 007中的主机控制接口提供有一个调用和访问基带控制器和链路控制器以及硬件状态和控制寄存器的命令接口,也就是说,它提供了一个访问蓝牙基带功能的统一方法。蓝牙主机通过HCI驱动程序提供的一系列命令来控制蓝牙接口。除这些命令外,蓝牙的HCI固件接到命令后,还会产生一个事件返回给主机以用来指示接口的状态变化。蓝牙主机和HCI之间的传输共有三类数据:HCI命令包、HCI事件包和HCI数据包。   

  HCI命令包是从主机发往蓝牙的HCI。HCI事件包则从蓝牙的HCI发往主机。HCI数据包既可从主机发往HCI,也可从HCI发往主机,它包括无连接的(ACL)数据和同步连接的(SCO)数据。   

  上述三类数据通过HCI传输层可在蓝牙主机和HCI之间进行传输。HCI传输层定义了每一类数据如何封装和通过接口硬件进行复用的规则。ROK101007支持UART和USB传输层。

  2.4时钟和电源模块   

  ROK101 007模块的内置时钟频率为13MHz。该时钟应由一个晶体振荡器产生,以保证定时的精确度在20ppm之内。另外,ROK101 007的VCC电源典型值为3.3V。

  3芯片接口和主要管脚介绍   

  ROK101 007与主机或其它设备互联时,有USB、RART和PCM语音接口等三种接口方式。

  3.1 USB接口   

  ROK101 007的USB接口符合USB1.1规范,通过双向端口D+和D-的数据传输率可达到12Mbps。当使用USB接口与主机通信时,ROK101 007是一个USB从设备(slave)。与该接口有关的管脚有:   

  ●D+(B1),D-(B2):用于数据传输,其中括号内的字母和数字表示其管脚号(下同)。   

  ●Wake up(B4),Detach(C1):专用于与笔记本电脑的互联,主要用来控制笔记本电脑的状态。当主机处于掉电模式时,如果蓝牙系统收到建立连接的请求,Wake up信号就会“唤醒”主机。主机的“挂起(suspend)”可通过Detach信号来指示。

  3.2 UART接口

  ROK101

  007的UART接口标准符合工业规范16C450,它支持的波速率有(单位:bits/s):300,600,900,1200,1800,2400,4800,9600,19200,38400,57600,115200,230400和460800。使用爱立信自定义的一条HCI命令HCI Ericsson Set Uart Baud Rate可改变UART接口的波速率。该接口中还有128字节的先入先出(FIFO)缓冲器。与该接口有关的有四个管脚,具体如下:

  ●TxD(B5),RxD(A5):用于收发数据;   

  ●RTS(A6),CTS(B6):用于数据流控制。

  3.3 PCM语音接口   

  标准的PCM语音接口的采样速率为8kHz。PCM时钟频率在200kHz和2.0MHz之间可调。语音编码可采用CVSD(连续可变斜率增量调制)、u律(8bit)或A律(8bit)三种调制方式。考虑到编码的健壮性,应首先选择CVSD。与PCM语音接口有关的管脚信号有:   

  ●PCM SYNC(A3):用于设置PCM数据的采样速率。   

  

  ●PCM OUT(A2),PCM IN(A1):用于接收或发送语音编码信号。这两个管脚信号的运行方向可在编程进行时调整。   

  另外,管脚ANT(T2)是天线接口,应连接阻抗为50Ω的天线。

  4 HCI指令及应用   

  ROK101 007芯片可提供高至HCI层的功能,支持蓝牙协议v1.1的大多数HCI指令。另外,该芯片还支持爱立信公司自定义的一些指令,指令的操作组段(OGF)均为0x3F,其中说明指令是厂商为了测试、调试而自定义的指令。   

  图3给出了主机如何利用HCI指令建立两个蓝牙设备的点对点连接示意图,图中主机和蓝牙芯片是通过串口(UART)相连的。其中Host A被置于呼叫(Page)模式,它可主动与其它蓝牙设备建立链接,因而称为主设备(Master)。而Host B则被置于呼叫扫描(Page Scan)模式,用于响应其它蓝牙设备建立链接的要求,称为从设备(Slave)。



  下面具体介绍建立连接过程中需用的主要HCI指令。

  4.1芯片复位Reset   

  该命令用于复位蓝牙主控制器、链路管理器和无线设备。在复位完成后,蓝牙设备进入待机模式。   

  图3利用HCI指令建立两个蓝牙设备的点对点连接示意图   

  该命令完成后,主机将收到指令完成事件(Command Complete Event),如果参数Status=0x00,说明复位命令成功。   

  另外,主机还需要设置蓝牙主控制器的一些参数,所用到的HCI命令如下:   

  ●Read Buffer Size:该命令用来读出从主机到主控制器发送HCIACI和SCO数据分组的数据部分的最大值。   

  ●Set Event Filter:该命令用来通过主机指定不同的事件过滤器,以便使主控制器只发送与主机有关的事件。   

  ●Write Scan Enable:(只用于从设备)该命令通过设置参数Scan Enable,可将蓝牙设备置于查询扫描(Inquiry Scan)或(和)呼叫扫描(Page Scan)模式。   

  ●Write Voice Setting:用于写入语音连接的各种参数设置值。   

  ●Write Authentication Enable:用于写入WriteAuthentication的参数值,该参数可用于控制是否有本地设备在建立连接时鉴权远程设备。   

  上述HCI指令可用来建立主机与主机控制器之间的连接,但它们不涉及两个蓝牙设备链路管理器(LM)之间LMP消息包的交换。

  4.2查询设备(Inquiry)   

  该指令可使蓝牙设备进入查询模式,以用于搜索邻近的蓝牙设备。   

  每一个应答查询消息的蓝牙设备都返回一个查询结果事件(Inquiry Result Event),以报告该设备的蓝牙地址(BD ADDR)、呼叫扫描模式(Page ScanMode)等参数。查询结束后,主控制器将发送查询完成事件(Inquiry Complete Event)信号,事件中的状态参数可用于表示查询是否成功。

  4.3建立ACL(异步不链接)链路(Create_Connection)   

  该指令可使发起链接设备的链路管理器创建与指令参数BD ADDR指定的蓝牙设备之间的相互链接。发起链接的设备开始呼叫进程,以建立与处于呼叫扫描模式的其它蓝牙设备的链接。当LM确定链接已经建立起来时,建立链接的两个蓝牙设备的主控制器将分别向各自的主机发送链接完成事件指令(ConnectionComplete Event)。如果该指令执行成功,链接完成事件将包含连接句柄的标识符(唯一标示该链接的12位标识符)。   

  在ACL链接建立后,蓝牙设备之间即可传送A-CL数据包。

  4.4建立SCO(同步面向链接)链路(Add SCO Con-nection)   

  由于SCO链接一般采用预留的时隙来传输数据分组,因此该链接方式类似于电路交换连接。它主要用于语音等实时信号的传输。该指令虽然能够使蓝牙设备创建SCO链接,但是,其前提是设备之间的ACL链接已经存在。   

  同样,当链接建立后,主机会收到链接完成事件的指示信息(Connection Complete Event)。这样,在该指令执行成功以后,系统即可通过芯片的PCM接口传送语音信号。

  4.5断开连接(Disconnect)

  该指令主要用于终止现有链接,其指令参数Connection_Handle主要用于决定要断开哪个连接。断开连接后,主机会收到链接断开完成事件(Disconnection_Complete_Event)指令,其状态参数可用于指示链接断开是否成功。

  参考文献

  1.Bluetooth Specifications Version1.1

  2.ROK101 007 Data Sheet.Ericssion Microelectronics, 2000

  
摘自《国外电子元器件》
 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50