0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于C8051F023型单片机和CC1000芯片实现嵌入式智能光模块的设计

电子设计 来源:世界电子元器件 作者:李朋,吴彦文 2021-06-22 15:02 次阅读

在移动通信迅速发展的今天,存在这样的情况,即无论何种无线通信的覆盖区域都将产生弱信号区和盲区,而对一些偏远地区和用户数不多的盲区,要架设模拟或数字基站成本太高,基础设施也较复杂,在这种情况下,提供一种成本低、架设简单,却具有小型基站功能的设备——直放站是很有必要的。因此,移动通信服务商们开始在基地之外的建筑物内部及地下等电波盲区设置直放站,以最大限度满足用户对于通话服务的要求。

光纤直放站主要由光近端机、光纤、光远端机几个部分组成。光近端机和光远端机都包括射频单元和光单元。信号的传输分下行链路和上行链路。在下行链路中,光近端机接收来自基站的无线信号,通过电/光转换,电信号转变为光信号,从光近端机输入至光纤并传输到光远端机,光信号再转为电信号,进入射频单元进行放大。信号经过放大后送入远端天线发送出去,覆盖目标区域。上行链路的工作原理与下行链路类似,手机发射的信号通过远端天线至光远端机,再到近端机,回到基站。光纤直放站近端机的定向天线收到基站的下行信号(以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

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    447

    文章

    47788

    浏览量

    409142
  • 单片机
    +关注

    关注

    6001

    文章

    43973

    浏览量

    620844
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288464
收藏 人收藏

    评论

    相关推荐

    CC1000实现射频光传输模块FSK通信

    本文给出了一种基于CC1000 实现射频光传输模块FSK 通信的设计方法。在文中阐述了FSK 技术原理,介绍了CC1000 和MCU 的硬件接口电路,详细讨论了软件的设计
    发表于 11-21 15:04 3046次阅读
    <b class='flag-5'>CC1000</b><b class='flag-5'>实现</b>射频光传输<b class='flag-5'>模块</b>FSK通信

    C8051F单片机的IAP系统设计与实现

    作为新型的SOC片上混合信号单片机C8051F系列产品已经被广泛应用到了智能控制仪表,嵌入式设备,消费电子等领域。提出了一种利用
    发表于 03-04 11:31

    单片机嵌入式Internet技术的Web应用实现

    ,与MCS 8051系列单片机相比在性能上有很大的提高,在目前单片机开发中用得较多。因此利用AT90S8515单片机作为嵌入式系统的微处理器
    发表于 11-24 18:10

    C8051F系列单片机

    全速的电路内仿真,不占用片内用户资源,支持断点单步观察点运行和停止等调试命令支持存贮器和寄存器校验和修改。C8051F系列单片机作为SoC芯片的杰出代表能够满足绝大部分场合的复杂功能要求,并在
    发表于 09-27 13:06

    CC1000

    近期了解了一款 超低功耗的单片机收发IC,是TI品牌的,型号为CC1000 应用范围极低功耗下超高频无线数据发送和接收领域的应用 无线报警和安全系统上的应用315/433/868/915MHz
    发表于 02-05 11:17

    C8051F020单片机与SJA1000控制器接口电路

    图为C8051F020单片机与SJA1000控制器的硬件连接电路原理。SJA1000占用了0
    发表于 06-14 05:00

    到底什么是嵌入式?什么是单片机

    凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入式单片机吧?很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就容易让人联想到插满芯片和针脚的电路板:但是,如果要问
    发表于 05-08 10:35

    什么是嵌入式?什么是单片机

    凡是从事计算机或电子信息相关领域工作的童鞋,一定都听说过嵌入式单片机吧?很多人应该知道,这两个名词和硬件系统有着非常密切的关系。一听到它们,就容易让人联想到插满芯片和针脚的电路板:但是,如果要问
    发表于 05-19 14:25

    求一种基于C8051F023的软件注入实现方案

    采用软件注入技术的优势和可行性,针对采用C8051F023嵌入式系统,讨论了基于C8051F023的软件注入实现方案和相关的一些问题,并编写了V2程序以完善
    发表于 04-22 06:11

    C8051F0238K单片微处理器相关资料分享

    C8051F023是SiliconLaboratories公司生产的一款8K混合信号 ISP闪存系列MCU微处理器。C8051F023器件是完全集成的混合信号系统级MCU芯片32个数字I/O引脚。它采用64 脚TQFP 封装。
    发表于 04-22 07:09

    8051单片机嵌入式系统介绍

    嵌入式C编程软硬件的结合,旨在完成特定的任务。这些类型的嵌入式系统正在我们的日常生活中使用,如洗衣、录像、冰箱等。
    发表于 12-15 06:47

    极低功耗无线收发集成芯片CC1000

    摘要:介绍一种无线收发集成芯片CC1000的电路结构及典型的应用设计;着重说明CC1000与微控制器通信所要求的时序。引 言  CC1000是根据Chipcon公司
    发表于 03-11 13:36 1426次阅读
    极低功耗无线收发集成<b class='flag-5'>芯片</b><b class='flag-5'>CC1000</b>

    cc1000无线模块电路图

    cc1000无线模块电路图
    发表于 04-14 13:57 2765次阅读
    <b class='flag-5'>cc1000</b>无线<b class='flag-5'>模块</b>电路图

    基于C8051F023单片机的OLED显示实现设计

    本文利用单片机C8051F023作为128×64单色OLED的控制核心器件,采用的是维信诺公司的一款屏VGG12864G,它利用Solomon公司的SSD1303为专用驱动IC。实现文字显示及图像的动静态显示。
    发表于 03-26 14:47 1747次阅读
    基于<b class='flag-5'>C8051F023</b><b class='flag-5'>单片机</b>的OLED显示<b class='flag-5'>实现</b>设计

    基于FSK调制芯片CC1000编程

    CC1000是根据Chipcon公司的SmartRF技术,在0.35μm CMOS 工艺下制造的一种理想的超高频单片收发通信芯片
    发表于 09-06 08:46 3321次阅读
    基于FSK调制<b class='flag-5'>芯片</b>的<b class='flag-5'>CC1000</b>编程