MSP430在微型低功耗数据广播接收机中的应用

发布者:牟牟的侬最新更新时间:2009-11-30 来源: 电子产品世界关键字:数据广播接收机  CPFSK调制  MSP430 手机看文章 扫描二维码
随时随地手机看文章

  一、 引言

  我们独立自主开发了数据广播编码器和微型低功耗调频数据广播接收机,整套系统采用连续相位频移键控(CPFSK)调制方式,副载波频率为72KHz,占用带宽约16Khz,数据传输速率4.8KHZ。采用CPFSK调制方式使接收机易于实现,与QPSK的调制方式相比对相位稳定度要求不高,不易受外界温度噪声的影响,而且在信号解调处理时实现低功耗。

  由于在发送端先后进行了数据编码、信道调制、线性调频,所以接收设备要完成信号逆处理。硬件结构框图:

  二、MSP430单片机的特点及在接收机中的应用

  TI 公司MSP430系列单片机的超低功耗特性(运行在1MHz时钟条件下工作电流视工作模式不同为0.1-400uA)、强大的外围模块功能、体积小等优点适合作为接收机的CPU。MSP430系列中的各成员集成了较多的片上外围资源,包含:12位A/D,精密模拟比较器,硬件乘法器,2组频率可达8MHZ 的时钟模块,2个带有大量捕获/比较寄存器的16位定时器,看门狗,2个可实现异步、同步及多址访问的串行通信接口,数十个可实现方向设置及中断功能的并行输入、输出端口等。

  MSP430F123单片机作为CPFSK数据广播接收机的CPU主要对基带数据进行处理,完成数据链路层的工作:

  三、数字通信中的同步问题

  数据通信中,同步是非常重要的问题,通信系统是否可靠、接收灵敏度是否达到标准,很大程度上依赖于同步技术的优劣。

  1、同步不确定性的来源

  实际通信系统中,收发站之间会由于电波传播中的多径效应引起码相位、载波中心频率相位的延迟,而且在传输信道中随机噪声的叠加引起传输波形的失真,连接在接收滤波器之后的判决电路也很难保证"无差错"的恢复基带信号。这些都会导致同步的不稳定性。

  2、实现同步的几种方法

  按同步功用分类可分为载波同步、位同步、群同步和网同步。

  按传输同步信息的方式可分为外同步法和自同步法。外同步法:是由发送端发送专门的同步信息,接收端把这个专门的同步信息检测出来作为同步信号。自同步法:发送端不发送专门的同步信息,而是由接收端设法从接收信号中提取同步信息。

  本接收机的CPU要完成的功能中只涉及到位同步和帧(群)同步,由于不能从硬件解调FSK信号中恢复位同步时钟,所以采用自同步的方法来实现位同步,以下结合MSP430单片机的特点分析位同步和帧同步的实现方法。

  四、位同步

  由于本接收机接收的码元速率为4.8KHZ,用CPU捕捉位同步信息,然后进行采样,在配合RS纠错,即可达到数据准确传输的要求。

  (一)、位同步的方法:

  方法一、

  设置接收端恢复出的同步时钟的频率为5倍的码元频率,这样就在一个码元周期内,设置了5个采样点。位同步可以分为两个过程:捕获、同步跟踪。

  1、捕获,即找到正确的同步时钟起始点。在接收的数据中,只有0、1跳变沿才能为我们提供位同步信息,如果数据长时间为1或为0,这将给接收端恢复位定时信息造成一定困难。所以发送端对数字基带信号进行随机化处理,一方面起到能量扩散的作用,另一方面限制连0码和连1码的长度,易于位同步的捕获和同步时钟的恢复。

  捕获过程是通过测量数据流中两个跳变沿中间的时间宽度(W),如果W等于码元周期,便以第二个跳变沿为起始时刻,设置同步时钟;如果W不等于码元周期,则需要重新捕获。

  2、同步跟踪,在接收数据的过程中,还要保证同步时钟的变化跟随码元相位或频率的偏移。同样,依据数据流中0、1跳变沿来实现同步时钟的跟踪。如图1:如果同步时钟与码元之间没有任何偏差时,数据的跳变沿每次都应出现在第5个计数时刻与下一个计数时刻之间,这时把第三个计数时刻作为数据采样时刻;当同步时钟与码元之间有偏差时,数据跳变沿不能准确的落在第5个与下一个计数时刻之间,如果数据跳变沿出现在第4 与第5个计数时刻之间,说明同步时钟相对于码元相位滞后,为保证每次采样时刻在码元的中心位置,就要把采样点提前至第2个计数时刻;相反,如果数据跳变沿出现在第1与第2个计数时刻之间,说明同步时钟相对于码元相位超前,就要把采样点错后至第4个计数时刻。这样不断调整采样点,使每次此采样时刻均位于码元中心位置,跟随其变化。

  方法二、

  根据MSP430单片机硬件特点,我们对上述同步方法进行了优化,并达到了良好的同步跟踪效果。

   设置接收端恢复出的同步时钟的频率等于码元频率。每一个计数中点均为采样时刻。与5倍时钟法相同,它也需要捕获和同步跟踪两个步骤。捕获的过程与上述的方法相同。同步跟踪,可以使采样时刻基本稳定在码元中心位置。如果同步时钟不跟随码元相位的变化进行调整,则采样点必然相对于码元滑动,当向前或向后偏移半个码元周期时,采样值就出现错误。如图2,恢复出的同步时钟与码元同步时,数据跳变沿的发生时刻与前一采样时刻的距离(D)等于二分之一码元宽度(M)。在同步时钟与码元相对偏移时,则有D≠M,若D>M,同步时钟超前,就要将下一采样时刻滞后;若D

  (二)、方法二的具体实现

  MSP430单片机的Timer_A可支持同时进行的多种时序控制、多个捕获/比较功能、各模块独立编程,中断可以由计数器溢出引起,也可以来自捕获外部信号的跳变沿。

  MC1 和MC0选择计数器工作模式,MC1=0、MC0=1时定时器增计数至比较寄存器CCR0的值就会产生中断,用这种模式可以产生固定频率的中断信号作为同步时钟。当增大或减小寄存器CCR0的值时,即可改变定时的时间间隔,从而调整同步时钟的频率。由于定时计数器的调整精度为一个时钟周期 1/4.3ms(外部时钟晶振4.3MHz),所以可以产生频率精确的同步时钟。

  捕获模式用于确定事件发生的时刻,可用于速度计算或时间测量等场合。如果在选定的输入引脚(如图P1.2)上发生选定的脉冲触发沿(上升沿、下降沿、任意跳变),则定时器的计数值被复制到捕获寄存器CCR1中,并产生中断。因此,读出CCR1中的值就可以记录跳变沿发生的时刻,根据跳变沿发生时刻与前一采样点比较的结果,调整同步时钟,超前或滞后,重新预置CCR0。

  从表中看出同步时钟的采样点逐渐收敛在码元中心位置,并且-在以后的接收过程中,实现跟踪。

  (三)、小结

  由于采样时钟恢复和同步捕捉跟踪都需要响应中断服务程序,占用CPU开销。而CPU 的主要工作是进行每帧数据的解码和发送。如果使用第一种同步方法,时钟频率4.8K*5,CPU时钟为4.3MHz,即程序每运行41.6us、约20条程序语句就要响应一次定时器中断服务程序,增大了运算量。如果提高CPU的工作频率,会增大电流的消耗。所以在达到相同的采样效果时,使用第二种同步方法。同理,为节约CPU开销,并不需要捕捉每个数据跳变沿进行同步跟踪,实验证明每8比特数据捕捉一次跳变沿调整采样时钟,即可实现良好的同步跟踪。

  五、帧同步

  在数字信息传输中,帧同步信号是一些特定的码组,这种帧同步码组通常是在某段时间集中插入信息码流。考虑到时间位置的确定,要在建立了各码元的正确时间关系后才有能实现,所以帧同步一般是在位同步的基础上实现。

  (一)、对帧同步系统的要求

1、 帧同步的捕捉(同步建立)时间要短,
2、 在一定的同步引入时间要求下,帧同步信号占用的码组长度应越短越好。
3、 同步系统的工作要稳定可靠,一旦建立同步状态后,系统不应因信道的正常误码而失步,即帧同步系统应具有一定的抗干扰能力,能识别假失步和避免伪同步。

  数字信号在传输过程中总会出现误码而影响同步。一种是由信道噪声等原因引起的随机误码。此类误码造成帧同步码的丢失往往是一种假失步现象。因此,一般规定帧同步信号丢失的时间超过一定限度时,才宣布帧同步态丢失,然后开始新的同步搜索(捕捉态)。这段时间称作前方保护时间。然而,无论选用何种帧同步码型,信息码流中都有可能出现与帧同步码图案相同的码组,即伪同步码。所以也不能一经发现符合帧同步码组的信号就进入同步态。只有当帧同步信号连续来了几帧或一段时间后,同步系统才可发出指令进入同步态,这段时间成为后方保护时间。

  (二)、帧同步的实现

  本接收机使用集中插入特殊码元的帧同步方法,集中插入就是把特殊的帧同步码组集中插在一帧的特定位置(一般是一帧的开始)。接收机一旦检测到这个特定码组就确定了帧的起始位置,从而获得帧同步。此种方法可以迅速纠正帧失步,即一旦帧失步,只要在下一帧同步码就能恢复帧同步。

  本接收机收到的数据帧格式为:

  每192个信息字节加上2字节的帧同步码组成一帧数据(如图)。选用的帧同步码为0x19D7。

  接收端采用帧同步码的滑动法来恢复帧同步信号。其实现方法为:在单片机里设置16bit移位寄存器、前后方保护计数器来完成前方保护时间和后方保护时间的计数,和帧同步状态位SFLAG,标志系统的同步状态。

   当数据流进入移位寄存器,与帧同步码(0x19d7)相比较,如果不同则移位寄存器高位移出低位移入下一比特再进行比较,同步系统从不断接收输入的数据流中捕获到0x19d7码组,相当于第N帧有同步码,置SFLAG=1,后方保护时间计数器开始,如果经过192byte信息码在第N+1帧处检出同步码,后方保护时间计数器加1,应在第N+2帧再一次检出同步码,后方保护时间计数器加1,系统进入帧同步状态,进行数据定时接收。如果在第N+1帧处不能检出同步码或在第N+1帧处检出同步码而在第N+2帧处不能检出同步码,同步系统都要重新进入捕获状态。当系统处于同步状态即SFLAG=1时,检测出错误的帧同步码,则打开前方保护时间计数器,如果连续丢失4(或5)个帧同步码,计数器计满,清SFLAG=0,标志系统进入捕捉状态并停止数据定时接收。

  在本接收机MSP430的程序中将前方保护时间计数器和后方保护时间计数器简化为一个时间计数器,即SCOUNT。SCOUNT的初始值为0,每接收到一个正确的帧同步码,SCOUNT加1,当连续接收到三个正确的帧同步码时(SCOUNT=3)进入同步状态SFLAG=1,如果在同步状态中 SCOUNT="4时",再检测到正确的帧同步码SCOUNT不再加1,也就是说SCOUNT的最大值为4;当检测到一个错误的帧同步码,SCOUNT减1,如果出现连续4个错误的帧同步码,SCOUNT减为0,则从同步状态进入捕获状态。

  六、数据链路层

  MSP430单片机进行位同步、帧同步后,将定时接收的数据经过以下处理经串口输出。

  1、去扰

  伪随机序列发生器的生成多项式为,每帧同步字后进行一次初始化, 加扰不包括帧同步字,数据由伪随机序列加扰,可破坏数据中的连零,有利于解码器位同步的锁定,并分散数据信号的能量分布,使对主信号的干扰呈类似白噪音的背景噪音,提高多工数据对主信道干扰的主观评价得分。

  2、去交织和纠错码

  每一子帧用缩短R-S(48,32)编码,可纠8个符号(64Bit)的随机错误。再进行卷积交织,这样数据系统能纠正长达384Bit突发性误码。这样对4.8Kbps 的抗突发性干扰时间分别为80ms 。

  3、校验

  采用CCITT-16校验码,可检出超出纠错范围而造成的误码,在每一子帧内验出所有≦16位的错误,可检出99.998%的17位突发性错误,99.997%的18位和大于18位的突发性错误,可以满足大多数信息及计算机通信的要求。涉及金融数据及对数据有严格要求的信息,用户可另加其它校验。

  4、 输出数据帧形成

  接收机根据自身的权限对于不同的业务数据,形成不同的输出帧格式进行数据输出。

  七、测试结果

  通过实际播出测试验证,微型低功耗CPFSK数据广播接收机的总体设计是成功的,实现了预期的设计目标,特别是较强的信道纠错编码极大地改善了接收能力。

  2002年8月在北京月坛发射塔,发射频率为91.5MHz调频发射机上进行播出测试,分别使用信息0-信息7传输电子文本数据,实现用户的有条件接收;2002年9月使用透明页格式来传输差分GPS的改正数据,链路测试成功;该系统即将用在电子车站牌、路灯控制系统中。

关键字:数据广播接收机  CPFSK调制  MSP430 引用地址:MSP430在微型低功耗数据广播接收机中的应用

上一篇:基于VC++雷达信号系统软件测试平台的设计
下一篇:基于嵌入式系统的人体步态自动识别系统

推荐阅读最新更新时间:2024-05-02 20:56

MSP430单片机中断函数的编写方法
以USCI0为例,说明该两种不同方法。 1.switch-case方法 #pragmavector=USCI_A0_VECTOR __interruptvoidUSCI_A0_ISR(void) { switch(__even_in_range(UCA0IV,4)) { case0: break; case2://接收中断 //dosomethinghere break; case4://发送中断 //dosomethinghere break; default: break; } } 2.查询标志为方法 #pragmavector=USCI_A0_VECTOR __interruptvoidUSCI_A0_ISR(vo
[单片机]
<font color='red'>MSP430</font>单片机中断函数的编写方法
TI针对智能仪表测量推出16款全新MSP430 MCU
在欧美立法要求日益严格以及各种实施标准不断推出的背景下,公共设施公司正积极寻求符合相关标准的仪表测量解决方案,以充分满足严格的低能耗标准要求。为满足这些需求,德州仪器 (TI) 日前宣布推出 16 款针对电气仪表测量应用的最新超低功耗 MSP430 微处理器(MCU),进一步壮大了其智能仪表测量产品阵营。这些全新 MSP430F4xx 器件是高度集成型解决方案,可支持独立的模拟前端 (AFE) 需求,并可实现业界领先的高准确度,其误差不足 0.1%。 16 款全新 MSP430 仪表测量 MCU 的主要特性与优势: • 不断壮大的仪表测量产品系列新增 F471xx、Fx461x 以及 F44x 系列 MCU,可支持多种实施
[测试测量]
MSP430F5529-MPU6050陀螺仪
这里使用的是维特智能的JY61陀螺仪,具体信息可以参考官网mpu6050三轴六轴加速度计姿态角度传感器模块维特智能JY61 JY61型陀螺仪可以通过I2C或者串口模式向开发板传输数据,但是I2C通信传过来的数据是原始数据,未经处理,需要自己解算姿态。串口通信传过来的数据是经过陀螺仪内部解算后的结果。以下为串口输出结果: 一般串口输出取用角度输出值。 I2C通信可以选择硬件通信或者模拟通信。硬件通信需要在开发板上配置相关的I2C引脚,模拟通信只要随意选择两个普通GPIO口即可。 串口接收数据仅需让陀螺仪的TX口,即发送口,接开发板的RX口,即接收口。供电3.3V与正常接地
[单片机]
<font color='red'>MSP430</font>F5529-MPU6050陀螺仪
基于GPSOne和MSP430的个人定位终端设计
GPSOne综合了GPS、CDMAlX(码分多址分组数据交换网络)、GIS(地理信息系统)和互联网技术,是美国高通公司为基于位置业务而开发的定位技术,采用Client/Server方式。它将无线辅助A-GPS和高级前向链路AFLT三角定位技术有机结合,实现高精度、高可用性和较高速度的定位。在A-GPS定位技术无法使用的环境中,会自动切换到AFLT三角定位技术,确保定位的成功率和精确度。这里基于GPSOne模块DTGS-800和低功耗单片机MSP430设计并实现了具有定位、监控和报警功能的个人定位终端。    1 系统硬件设计   个人定位终端的硬件组成如图1所示。为了解决GPS在室内和高层建筑密集区难以定位的问题,选用AnyDa
[单片机]
基于GPSOne和<font color='red'>MSP430</font>的个人定位终端设计
FPGA&MSP430实现等精度频率计
前段时间依次实现了FPGA的等精度频率计和FPGA与430的通信测试。 FPGA频率计:Verilog设计练习 基于FPGA的等精度频率计_Krism0912的博客-CSDN博客_用verilog设计等精度频率计 FPGA与430通信测试: FPGA与MSP430G2553通信 UART串口操作_Krism0912的博客-CSDN博客 由于FPGA中对数据运算过于麻烦,所以此次将上述两个成果进行了整合,将FPGA的数据通过串口传至MSP430后再进行运算。 在整合过程中碰到的一个百思不得其解的问题:串口测试中发现传输过去的Nx的值总是理论值的2倍。花了几个小时才最终弄清楚原因,下面稍做记录。 错误出现在FP
[单片机]
FPGA&<font color='red'>MSP430</font>实现等精度频率计
MSP430单片机实践篇---数字型LCD-1602显示
/************************************************** * * LCD1602显示 * cpu:AVRmega16 * * 描述:4线数据宽度,操作Lcd1602 * 在LCD1602屏幕上第一行显示  www.goodmcu.cn * 第二行显示 13652037001 * 如果没有显示请按复位键,并多试几次 * * 调试成功(出现问题主要是因为LCD第3脚V0的2K接地电阻没有接好) * * 硬件电路:MSP430F135核心实验板-I型 * 硬件连接: * * MSP430与LCD连接信息 * LCD1602,4位接口,即使用D4-D7数据口,D0-D3不接入MCU * PI
[单片机]
关于MSP430f149Ti官方例子-UART01
官方源码 //****************************************************************************** // MSP-FET430P140 Demo - USART0, UART 115200 Echo ISR, HF XTAL ACLK // // Description: Echo a received character, RX ISR used. Normal mode is LPM0, // USART0 RX interrupt triggers TX Echo. // ACLK = MCLK = UCLK0 = LFXT1 = 8MHz // Bau
[单片机]
关于<font color='red'>MSP430</font>f149Ti官方例子-UART01
MSP430F169(二)——UART中断
目录 1. UART中断工作的机制 UART只有一个发送中断向量和一个接收中断向量,通过判断中断向量的标志来控制数据的收发 1.1 发送机制 当用户想发送数据时,UxIFG产生一个中断,表明UxTXBUF已经准备好接收数据。当UxTXBUF接收字符后或中断被执行,URXIFG将会复位。 SWRST = 1或PUC会置位UxIFG (SWRST: 系统复位) SWRST = 1或PUC会复位UxIE 1.2接收机制 UxRXBUF每次接收一个字符并加载时,URXIFGx会产生一个中断标记 UxRXBUF被读取时或中断被执行时,URXIFG被自动复位 当PUC或SWRST = 1时UxRXIE 复位 建议接收中断函数的代码要精
[单片机]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved