新闻中心

EEPW首页 > 手机与无线通信 > 设计应用 > 一种嵌入式射频光传输模块实现方案

一种嵌入式射频光传输模块实现方案

作者:时间:2011-09-22来源:网络收藏
3.系统软件设计

本文引用地址:http://www.eepw.com.cn/article/155696.htm

  3.1 系统软件总体设计

  软件总体功能主要分为四个部分:参数监测、数据存储、数据收发和性能控制。在主程序中采用两个中断:定时器中断和串口中断。定时器中断实时采集参数数据,的实时监测;串口中断实时收发上位机和FSK数据,命令的处理和监控数据的

  主程序的结构如图4所示,程序对上位机命令进行鉴权处理之后,根据通信协议解析处理命令,并执行相应的操作。

  

  3.2 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内部寄存器。当完成寄存器的设置后,为了避免芯片运行过程中频率产生的漂移,应当校正CC1000内部VCO和PLL寄存器中的值。校正完成后,对MAIN寄存器进行设置,将CC1000输出功率初始值设为0,功耗模式设置为低电平模式,以降低功耗。初始化流程如图5所示。

  

CC1000初始化流程图

  3.3 数据收发程序设计[5]

  数据的收发包括:单片机接收上位机数据,单片机向上位机发送数据,单片机接收CC1000数据和单片机向CC1000发送数据。这里仅讨论单片机通过串口1接收中断接收CC1000数据过程,这是整个数据收发程序设计中的难点。

  本设计中,单片机与CC1000之间采用曼彻斯特同步模式进行数据的接收和发送。在发射模式下(单片机向CC1000发送数据),PCLK提供发送数据时钟信号,DIO用于数据输入,CC1000 自动完成对数据的译码。在接收模式下,PCLK 提供接收数据时钟信号,在DIO提供数据,CC1000自动完成数据编码和同步工作。

  (1)数据帧结构

  在曼彻斯特同步模式下,数据帧由训练码、同步码、前导码和有效数据构成。在本设计中,训练码为连续交替出现的0 和1,共40个;同步码为连续出现的8个0;前导码为连续的8个1。当数据中出现符合前面所有格式数据时,接下来的数据就是要接收的有效数据。当数据符合帧格式时,单片机才认为该数据为合格数据,从而进行接收,这样可以保证接收数据的准确性,降低传输误码率。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)


评论


相关推荐

技术专区

关闭