1 蓝牙技术简介
蓝牙技术是用微波技术取代传统网络中错综复杂的连接电缆来实现家庭或办公场中的电话、便携式计算机、打印机、复印机以及其它外设之间的互连互通的一种新型通讯解决方案。利用这一方案可实现点对点对多点的通讯传输,并把设计人员从无数错综复杂的电缆连接中解放出来,从而可以方便地设计自己的个人网络。有了蓝牙技术,人们甚至不用掏出自己的移动电话,就可以用PDA(个人数字助理)通过口袋中的移动电话来查询新闻、预定机票以及进行其它电子商务活动。
蓝牙技术是一种取代数据电缆的短距离无线通信技术,能完成点对点对多点的无线难。可以用蓝牙无线通信技术将家庭或办公室中的各种数据和语音设备取成一个PICONET网(也叫作微微网)。而且可以将几个PICONET网进一步互连,组成一个更大的分布式网络(也叫作SCATTERNET网),以在各个设备之间进行快速方便的通信联系。
蓝牙技术的工作频段为全球开放的2.4GHzISM(工业、科学和医学)频段,该频段能够保证人们在施行时可以毫无障碍且方便可靠地合作蓝牙设备。但是,由于ISM频段对所有无线电都开放,汽车、微波炉以及其它高频微波设备都有可能成为蓝牙技术不可预测的干扰源,因此,一般的蓝牙技术方案都特别设计了快速确认和调频方案来确保通信的稳定连接和数据的可靠保密。在目前公布的Bluetooth V1.0蓝牙技术规范中,数据的最大传出速率为721kbit/s,通信距离为10米。如果加大发射功率,其通信距离可加大到100米左右。
蓝牙技术解决方案的概念是爱立信公司于1995年提出的。这一概念一经提出,便被业界普遍接受。同时,全球各大电子厂商(如爱立信、诺基亚、摩托罗拉、3COM、IBM、INTEL等公司)也迅速成立了一个蓝牙特殊利益集团(SIG)。可见业界对蓝牙技术的重视程度非同一般。目前,全球已有2000多家厂商技术这一技术。据IDC的数据预测:到2005年,全球围绕移动通信设备、桌面设备和其它设备将有40亿件蓝牙产品得到广泛应用。由此可见,蓝牙技术的市场发展潜力十分巨大。
2 MT1020A的主要特点
MT1020A是MITEL公司推出的低成本、微功耗蓝牙基带控制器芯片。它和其它的无线收发器一起可以构成一个完整的低功耗小于蓝牙技术系统。MT1020A采用CMOS工艺制作,是低功耗无线通信应用系统中理想的蓝牙基带微处理器件。
MT1020A的主要特点如下:
●符合高至HCI层的蓝牙控制协议;
●符合Bluetooth V1.0规范;
●带有USB和UART主接口;
●内部具有带滤波器的双音频多媒体数字信号编解码器(CODEC);
●内含数字转换器,可进行线性PCM(脉冲编码调制)、A律PCM、μ律PCM和CVSD(连续变化斜率增量调制)间的相互转换;
●采用先进的模块化电源管理;
●带有嵌入式ARM7TMDI TM微处理器内核;
●I/O电源电压可在1.8~3.6V之间选择;可采用低达1.8V的电源电压以减小功耗;
●芯片内含IP硬件电路和软件协议,可直接使用;
MT1020A是一种单CPU蓝牙控制芯片,可广泛应用于个人数字助理(PDA)、无线联络和控制、蜂窝电话、数码相机以及汽车电子等方面。
3 引脚功能
MT1020A采用11×11球形焊珠阵列121脚SSBGA封装形式。图1所示为其引脚排列图。各引脚的功能如下:
A1(nScs<3>):系统片选引脚,低电平有效;
A2(Hst_usb_d_pls):USB主机接口数据正端;
A3(Hst_uart_cts):串行主机接口发送清零;
A4(SubGND):芯片接地端;
A5(LaVDD):芯片电源引脚;
A6(GND):公共接地端;
A7(OpVDD):系统I/O电源;
A8(Sadd<1>):地址端(19位总线);
A9(Sadd<5>):地址端(19位总线);
A10(SubGND):芯片接地端;
A11(Bsio_clk):串行I/O口时钟输出;
B1(Sdata<11>):数据端(19位总线);
B2(GND):公共接地引脚;
B3(Hst_usb_d_mns):SUB主机接口数据负端;
B4(PLLVDD):锁相环电源;
B5(nSoe):系统输出使能端,低电平有效;
B6(nScs<1>):系统片选引脚,低电平有效;
B7(Sdata<0>):系统数据端(15位总线);
B8(Sdata<5>):系统数据端(15位总线);
B9(Sdata<13>):系统数据端(15位总线);
B10(Bsio_data_in):串行I/O口数据输入;
B11(Bsio_data_out):串行I/O口数据输出;
C1(OpVDD):系统I/O电源;
C2(Sdata<1>):系统数据端(15位总线);
C3(Sdata<2>):系统数据端(15位总线);
C4(Hst_uart_rts):串行主机接口发送准备好;
C5(Hst_uart_rxd):串行主机接口接收数据端;
C6(Sdata<12>):系统数据端(15位总线);
C7(Sdata<10>);系统数据端(15位总线);
C8(Sadd<3>):系统地址(19位总线);
C9(Sdata<15>):系统数据端;
C10(Bsio_ss):串行I/O口从机选择;
C11(Gpio<0>):通用I/O口;
D1(GND):公共接地引脚;
D2(nSub):系统高位,低电平有效;
D3(Sadd<18>):系统地址(19位总线);
D4(Sdata<9>):系统数据(15位总线);
D5(Hst_uart_txd):串行主机接口数据发射端;
D6(Sdata<3>):系统数据端(15位总线);
D7(Sdata<8>):系统数据端(15位总线);
D8(Sdata<6>):系统数据端(15位总线);
D9(Gpio<1>):通用I/O口;
D10(Gpio<2>):通用I/O口;
D11(GND):公共接地端;
E1(LaVDD):芯片电源端;
E2(U1cts):UART1发送清零;
E3(U1txd):UART1数据发送;
E4(Sadd<0>):系统地址(19位总线);
E5(PLL_at1):锁相环1模拟测试引脚;
E6(nScs<0>):系统片选引脚,低电平有效;
E7(Sdata<4>):系统数据(15位总线);
E8(Gpio_<3>):通用I/O口或芯片USB唤醒输出引脚;
E9(Gpio<4>):通用I/O口或芯片USB HPWR输出引脚;
E10(Gpio<5>):通用I/O口或芯片USB HPWR输入引脚;
E11(LaVDD):微处理器电源端;
F1(GND):公共接地端;
F2(Lin_pcm_in):16-bit线性PCM输入数据流;
F3(U1rxd):UART1数据接收端;
F4(U1rts):UART1发送准备好;
F5(Lin_pcm_out):16-bit线性PCM输出数据流;
F6(Gpio<6>):通用I/O或外部中断2;
F7(Sdata<14>):系统数据(15位总线);
F8(Gpio<7>):通用I/O或外部中断1;
F9(Sdata<7>):系统数据(15位总线);
F10(Swait):系统等待;
F11(OpVDD):系统I/O电源;
G1(La VDD):芯片电源引脚;
G2(Lin_pcm_clk):16-bit线性PCM时钟主输出/从输入;
G3(Lin_pcm_frm):16-bit线性PCM帧同步主输出/从输入;
G4(Tdo_bdiag_2):ICE测试数据输出或者Xdiag<2>输出;
G5(Tck_bdiag-0):ICE测试时钟输入或者Xdiag<0>输出;
G6(Ri_txd):无线电数据发射端;
G7(Ri_rx_act):无线电数据解调接收端;
G8(Sadd<6>):系统地址(19位总线);
G9(Sadd<2>):系统地址(19位总线);
G10(Sadd<7>):系统地址(19位总线);
G11(GND):公共接地引脚;
H1(OpVDD):系统I/O电源;
H2(Tdi_bdiag_1):ICE测试数据输入或者Xdiag<1>输出;
H3(Tms_bdiag_3):ICE扫描测试模式输入或者Xdiag<3>输出;
H4(Sadd<8>):系统地址(19位总线);
H5(Ri_tx_en):无线电发射使能;
H6(Ri_spi_clk):无线电串行接口时钟;
H7(Ri_spi_en):无线电串行接口使能;
H8(Hest):测试使能端;
H9(Sadd<4>):系统地址(19位总线);
H10(Sadd<17>):系统地址(19位总线);
H11(nSreset):系统复位端,低电平有效;
J1(Sadd<14>):系统地址(19位总线);
J2(Sadd<10>)系统地址(19位总线);
J3(nTrst):Xpins/diag模式或ICE复位和ARM/UIM测试模式,低电平有效;
J4(Sadd<11>):系统地址(19位总线);
J5(Ri_rx_en):无线电接收使能;
J6(Ri_spi_misod):无线电串行接口数据输入;
J7(Lp_clk_in):3.2kHz时钟输入,用于蓝牙休眠定时;
J8(SubGND):芯片接地端;
J9(nICE):Xpins/diag模式或ICE模式,低电平有效;
J10(Ear_minus):CODEC(多媒体数字信号编解码器)耳机听筒音频差分输出负端;
J11(Ear_plus):CODEC(多媒体数字信号编解码器)耳机听筒音频差分输出正端;
K1(Sadd<9>):系统地址(19位总线);
K2(Sadd<13>):系统地址(19位总线);
K3(nSwe<1>):系统写使能引脚;
K4(Sadd<16>):系统地址(19位总线);
K5(OpVDD2):系统无线电接口电源;
K6(GND):公共接地引脚;
K7(LaVDD):芯片电源引脚;
K8(Ri_reset_O):系统无线电复位引脚;
K9(Mic_plus):CODEC(多媒体数字信号编解码器)麦克风音频差分正输入端;
K10(VREF):音频CODEC(多媒体数字信号编解码器)VREF滤波电容接入端,使用时应在该端与地之前接一个100nF的电容器;
K11(VDDP):CODEC(多媒体数字信号编解码器)输出放大器模拟电源;
L1(SubGND):芯片接地端;
L2(nSwe<0>):系统写入使能;
L3(Sadd<15>):系统地址(19位总线);
L4(Sadd<12>):系统地址(19位总线);
L5(Ri_rxd):无线电数据接收端;
L6(Ri_spi_misod):无线电串行接口数据输出;
L7(Clk_in):系统时钟输入;
L8(AVDD):CODEC模拟电源端;
L9(Mic_minus):CODEC(多媒体数字信号编解码器)麦克风音频差分负输入端;
L10(SubGND):芯片接地端;
L11(GNDp):CODEC输出放大器接地端。
4 内部结构
图2所示是MT1020A的内部结构框图。它由嵌入式微处理器和蓝牙基带外围电路两大部分组成,可使用5MHz的内部时钟。微处理器内核采用2V电压供电,内部带有硬件解码电路,且支持DMA传输。
4.1 蓝牙基带外设
MT1020A的基带外围电路主要由主机接口、总线接口、蓝牙链路控制器、12kB缓冲RAM、队列管理器、音频编解码器以及音频和其它通信接口电路功能块组成。该部分可用最小的软硬件开销完成各种重要的蓝牙系统操作。
基带外围电路中的总线接口主要用于完成微处理器与基带外围电路之间的各种通信,而外围电路内部各部分之间的数据传输则使用外围电路中的BT总线来完成。键路控制器用来完成与外部无线收发器之间的通信,以实现数据发送时的装配、加同步字、帧头和CRC校验以及数字接收时的解码和检错等。缓冲RAM是专门存储蓝牙数据包和变量的存储器,容量为12kB。队列管理器可实现缓冲RAM与链路控制器以及主机接口与音频或其它通信接口之间的DMA传输。音频解码器是一个全双工的解码器,内含麦克风放大器和耳机驱动器,其中的数字转换器可进行线性PCM、A律PCM、μ律PCM和CVSD间的相互转换。
4.2 嵌入式微控制器内核
MT1020A中嵌入式微控制器主要由ARM7TDMI微处理器、外设控制器、串行I/O、中断控制器、定时/计数器、DMA控制器、通用异步收发器以及系统存储器等部分组成。
ARM7TDMI微处理器是一个高性能的嵌入式CPU,它功耗低,运算速度快,内含Thumb指令码器,可支持16位指令,同时支持调试和快速乘法等功能,并可通过模块互交总线与基功能模块进行数据交换;外围控制器是MT1020A中内部总线和外部总线进行通信的主要通道,它可动态调整总线宽度,并产生访问外设的控制信号;串行I/O用来连接各种串行接口器件;中断控制器可用来处理8个外部中断和2个内部中断,并可判断硬件中断优先级以减小中断响应的延迟时间,从而加快对中断的实时响应;DMA控制器中含有两个DMA引擎,它们可以独立使用,也可以配置成一对使用以支持ARM7TDMI中任意两个内存块的DMA传输;通用异步收发器的接口可以与RS-232总线接口,它支持硬件握手和XON/XOFFF软件协议,其收发通道上各有一个缓冲器,可在程序中轮询并可使用中断形式;系统存储器是挂在UIM总线上的20kB的内部静态RAM,可用来存储程序变量。也可使用外挂的ROM/FLASH来存储蓝牙链路控制和管理协议代码。
5 应用
利用MT1020A和一片无线收发器件可以很方便地构成一个完整的低成本、微功耗小型蓝牙无线收发系统。图3所示是一个基于MT1020A的小型蓝牙系统的典型应用框图。图中的MCU用来完成对框图。图中的MCU用来完成对键盘、显示器件和其它外设的控制以及各种蓝牙通信协议的协调和实现。MT1020A则用来控制无线收发器的接收和发送。受话器和送话器直接和MT1020A基带控制器相连。无线收发器的作用是在MT1020的控制下,通过天线对各种数字和音频数据进行发射和接收。