在移动通信迅速发展的今天,存在这样的情况,即无论何种无线通信的覆盖区域都将产生弱信号区和盲区,而对一些偏远地区和用户数不多的盲区,要架设模拟或数字基站成本太高,基础设施也较复杂,在这种情况下,提供一种成本低、架设简单,却具有小型基站功能的设备——直放站是很有必要的。因此,移动通信服务商们开始在基地之外的建筑物内部及地下等电波盲区设置直放站,以最大限度满足用户对于通话服务的要求。
光纤直放站主要由光近端机、光纤、光远端机几个部分组成。光近端机和光远端机都包括射频单元和光单元。信号的传输分下行链路和上行链路。在下行链路中,光近端机接收来自基站的无线信号,通过电/光转换,电信号转变为光信号,从光近端机输入至光纤并传输到光远端机,光信号再转为电信号,进入射频单元进行放大。信号经过放大后送入远端天线发送出去,覆盖目标区域。上行链路的工作原理与下行链路类似,手机发射的信号通过远端天线至光远端机,再到近端机,回到基站。光纤直放站近端机的定向天线收到基站的下行信号(以GSM信号为例,频段为935MHz-960MHz)送至近端主机,放大后送到光端机进行电/光转换,产生波长为1550nm的光信号。因为光纤中传输有波长为1310nm的上行光信号,所以下行的1550nm的光信号要通过光波分复用器耦合到光纤中,最后经光纤传到远端机;远端光波分复用器将1550nm和1310nm波长的光信号分开后,让1550nm波长的光信号输入光端机进行光/电转换,还原成下行射频信号,再经远端主机内部功放放大,由全向天线发射出去送给移动台,移动台的上行信号(频段为890MHz-915MHz)逆向送到基站,这样就完成了基站与移动台的信号联系,建立通话。其原理如图1所示。
图1 光纤直放站的原理图
光纤直放站系统因其使用特点,导致安装调试工作较复杂,维护工作开销巨大。为了增加系统的可靠性并降低系统安装调试的复杂性,越来越多的直放站生产商都要求光模块具有智能性,以实现对直放站的实时监控,从而方便工作人员进行调试、维护和管理。本文讨论了在传统光模块基础上增加嵌入式单元的方法,以实现光模块的智能化。
系统硬件设计
监控电路设计
监控电路是光模块实现智能化的核心部分,图2是本设计中光模块的监控系统框图。该部分完成各监控量的采集、控制等工作。本设计采用C8051F023型单片机实现对光模块的嵌入式控制,它内部集成了一个8位8输入的ADC、一个10位8输入的ADC和两个12位DAC,非常方便对参数的采集和对压控器件的控制。
图2 光模块的监控框图
在射频信号的输入和输出端,功率检测电路将耦合的射频能量进行放大,并实现功率/电压转换,再对产生的电压信号进行A/D转换,在程序中采用查找表的方法,即可得到输入/输出的功率值。C8051F023根据检测到的功率值,调整链路中的衰减值。在射频信号输入端,单片机通过D/A转换控制压控衰减器,而在输出端,则通过程控衰减器控制信号增益。偏置电路为激光器(LD)的工作提供合适的驱动电流。单片机通过A/D转换采集到激光器的偏置电压,在程序中光功率与电压同样采用查找表的方法直接转换,而偏置电流则通过电压与电流的线性关系转换得到。当某些因素导致激光器驱动电流过大或过小时,单片机通过改变D/A输出电压来调整偏置电路的输出电流,使激光器的发光功率维持在正常水平。另外,需加一个热敏电阻监测模块的实时温度,根据电压与温度值的关系曲线图,可通过热敏电阻的电压值变化而采集出温度值的变化情况。
数据传送电路设计
本设计采用射频收发芯片CC1000作为数传芯片。CC1000是根据Chipcon公司的SmartRF技术制造出的可编程高频单片收发芯片,主要用于工作频带在315MHz、868MHz及915MHz的ISM(工业、科学及医疗)方面和SDR(短距离通讯)方面,可在300-1000MHz范围内通过编程工作,其主要工作参数能通过串行总线接口编程改变。CC1000芯片含有三条串行数据线接口,PDATA、PCLK、PALE用于配置内部寄存器实现收发等功能控制,能够与多种单片机(MSC51、ARM、AVR、PIC等)直接兼容连接。
CC1000与C8051F023的连接图如图3所示。单片机使用三个输出管脚用于连接CC1000的三串行配置口(PDATA、PCLK、PALE),以配置CC1000的工作模式。其中PDATA必须是双向管脚,用于程序数据的输入输出。信号接口由DIO和DCLK组成,在本设计中它们分别与单片机的TXD1和RXD1连接,实现数据的半双工式收发。管脚CHP_OUT用于监视频率锁定状态,当CC1000内部的PLL锁定时,该引脚输出高电平。另外单片机可通过A/D转换检测RSSI信号的强度。
近端模块与远端模块之间采用FSK通信,在图3中,引脚RF_OUT和RF_IN分别用于发送FSK_OUT信号和接收FSK_IN信号。通信数据FSK_OUT由近端模块中的CC1000发出,结合图2可知,FSK_OUT信号通过耦合器耦合到射频信号中,经光/电转换进入光纤传输至远端模块;在远端,光信号被还原为射频信号,通过低通滤波得到FSK信号,此时称FSK_IN信号,该信号被远端模块的CC1000接收。远端模块发送给近端模块的数据依据同样的原理传输。模块之间的FSK通信大大提高了对光模块的监测和控制能力。
图3 单片机与CC1000接口示意图
C8051F023有两个UART接口,在本设计中UART0与上位机通信,UART1则用于与CC1000的数据传输。
系统软件设计
系统软件总体设计
软件总体功能主要分为四个部分:参数监测、数据存储、数据收发和性能控制。在主程序中采用两个中断:定时器中断和串口中断。定时器中断实时采集参数数据,实现模块的实时监测;串口中断实时收发上位机和FSK数据,实现命令的处理和监控数据的传输。
主程序的结构如图4所示,程序对上位机命令进行鉴权处理之后,根据通信协议解析处理命令,并执行相应的操作。
图4 系统软件结构图
CC1000参数编程
CCl000作为数传芯片,需要进行参数配置以决定其工作性能,因而CC1000参数编程是一个重要的过程。通过可编程配置寄存器能改变以下主要参数:接收/发送模式、射频输出功率、射频输出频率、FSK分频、晶振参考频率、传输速率和数据格式等。在本设计中,CC1000采用曼彻斯特编码方式进行数据译码和同步工作,这通过设置CC1000的MODEM1寄存器的参数完成。在同步编码方式中,曼彻斯特编码不需要锁定平均值滤波器,传输效率高。设计要求CC1000采用11.0592MHz晶振,接收本振频率为433.766MHz,发射中心频率为433.916MHz(连发“1”)、433.948MHz(连发“0”),调制频偏为32kHz,载频稳定度为10kHz。根据以上参数,可通过Chipcon公司提供的CC1000配置软件SmartRF Studio来产生配置信息,这些配置信息将被输入到单片机中。另外该软件还可以提供输入/输出匹配电路和VCO电感所需的元件参数值。
完成配置信息后,要对CC1000进行初始化,主要完成内部寄存器的设置,初始化时需复位CC1000内部寄存器。当完成寄存器的设置后,为了避免芯片运行过程中频率产生的漂移,应当校正CC1000内部VCO和PLL寄存器中的值。之后对MAIN寄存器进行设置,将CC1000输出功率初始值设为0,功耗模式设置为低电平模式,以降低功耗。初始化流程如图5所示。
图5 CC1000初始化流程图
数据收发程序设计
数据的收发包括:单片机接收上位机数据,单片机向上位机发送数据,单片机接收CC1000数据和单片机向CC1000发送数据。这里仅讨论单片机通过串口1接收中断接收CC1000数据的过程,这是整个数据收发程序设计中的难点。 本设计中,单片机与CC1000之间采用曼彻斯特同步模式进行数据的接收和发送。在发射模式下(单片机向CC1000发送数据),PCLK提供发送数据时钟信号,DIO用于数据输入,CC1000自动完成对数据的译码。在接收模式下,PCLK提供接收数据时钟信号,在DIO提供数据,CC1000自动完成数据编码和同步工作。
(1)数据帧结构
在曼彻斯特同步模式下,数据帧由训练码、同步码、前导码和有效数据构成。在本设计中,训练码为连续交替出现的0和1,共40个;同步码为连续出现的8个0;前导码为连续的8个1。当数据中出现符合前面所有格式的数据时,接下来的数据就是要接收的有效数据。当数据符合帧格式时,单片机才认为该数据合格,从而进行接收,这样可以保证接收数据的准确性,降低传输误码率。
(2)串口1接收中断服务程序
在通信过程中,CC1000具有三种状态:IDLE(空闲)、RX(接收数据)、TX(发送数据)。由于CC1000与单片机之间是半双工模式通信,因而RX与TX两个状态会互斥。数据的接收由串口中断完成:UART0接收中断接收来自上位机的数据,UART1接收中断则接收来自CC1000的数据。UART1中断服务程序数据传输流程如图6所示。在接收过程中,为了避免数据帧长度过长的问题,当接收的有效数据超过缓冲区空间时,单片机判定此帧无效。
图6 UART1中断服务程序
参数监测与控制
单片机通过A/D转换完成对参数的采集和数字化,这一过程由定时器中断完成。监测数据被存储,并通过PC机显示出来。增益控制和偏置电压则通过单片机的D/A转换来控制。有关这方面的软件设计,因篇幅有限不再赘述。
总结
嵌入式智能光模块可以实现直放站近端机和远端机的远程光纤通信,在此基础上,PC机只需通过RS232/485总线与近端机通信,便可完成对近端机和远端机的实时监控,方便了工作人员对直放站的调试和维护。经测试,CC1000之间的FSK通信在20dB光衰条件下的误帧率优于0.1%,保证了监控的可靠性。
责任编辑:gt
全部0条评论
快来发表一下你的评论吧 !