历史上的今天
返回首页

历史上的今天

今天是:2024年09月01日(星期日)

正在发生

2020年09月01日 | MSP430单片机在微型低功耗数据广播接收机中的应用

2020-09-01 来源:elecfans

一、 引言

我们独立自主开发了数据广播编码器和微型低功耗调频数据广播接收机,整套系统采用连续相位频移键控(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主要对基带数据进行处理,完成数据链路层的工作:

数据解码

位同步
帧同步
序列去扰
去交织
R-S纠错解码
CRC-16校验


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


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

2、实现同步的几种方法
按同步功用分类可分为载波同步、位同步、群同步和网同步。
按传输同步信息的方式可分为外同步法和自同步法。外同步法:是由发送端发送专门的同步信息,接收端把这个专门的同步信息检测出来作为同步信号。自同步法:发送端不发送专门的同步信息,而是由接收端设法从接收信号中提取同步信息。 


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


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


(一)、位同步的方法:
方法一、


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


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


定时器时钟源使用ACLK,即外部晶振,f = 4.194MHz,所需同步时钟的频率f = 4.8KHz,计数器计数值CCR0 = 4.194MHZ/4.8KHZ = 873 
如图可见,当同步时钟与码元完全同步时,捕获中断后所读到值CCR1,应等于CCR0的二分之一,即;当时,说明同步时钟超前,需要增大计数值CCR0,即, 使下一bit的采样点错后;当时,说明同步时钟滞后,需要减小计数值CCR0,即,使下一bit的采样点提前。


在上式中的 △ 称为数据速率的误差容限值(datarate tolerance),如果设置的这个容限值太高(即:时钟调整的步进值过大),就会导致同步时钟的频率不能稳定;反之这个容限值太小(即:时钟调整的步进值过小),同步时钟就不能跟踪上码元的变化;只有这个容限值合适,同步时钟产生的采样点就会逐渐收敛到接收码元的中心位置,实现同步跟踪。根据对噪声和频偏的估计,,根据这个标准计算 △ 的值。


在本接收机中的时钟调整并不是捕获到每一次跳变沿都要进行时钟调整,根据接收信号频偏大小,每8 bit 调整一次时钟,即可实现同步时钟的跟踪。下表给出实验中捕获中断读出的CCR1的值。
     时采样点基本位于码元中心

375385407421440426445438
440433446436439448432430
421434447437420405412419
426429433438439420431435
439429439422436439426435



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


(三)、小结
由于采样时钟恢复和同步捕捉跟踪都需要响应中断服务程序,占用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的改正数据,链路测试成功;该系统即将用在电子车站牌、路灯控制系统中。

推荐阅读

史海拾趣

Fair Rite公司的发展小趣事

随着电子行业的快速发展,Fair Rite迅速捕捉到新的市场机遇。公司不断推出创新产品,以满足医疗、照明、汽车、通讯、航空、国防、智能能源和工业市场等领域的需求。Fair Rite通过技术创新和品质保证,赢得了客户的信赖和市场的认可。

Ametek公司的发展小趣事

为了确保产品质量和满足客户需求,Fair Rite引入了严格的质量管理体系,并通过了ISO/TS 16949认证。此外,公司还积极拓展国际市场,在美国、中国等地建立了生产基地和销售网络。通过全球布局和本土化策略,Fair Rite为全球客户提供高品质、高性能的电子元器件。

富捷(FOJAN)公司的发展小趣事

富捷电子在积极拓展国内外市场的同时,也注重品牌建设和市场推广。公司建立了遍及全球的销售网络,产品广泛应用于微电子、计算机、光伏、新能源、车载等众多新兴和高科技领域。通过参加国内外知名展会、举办技术交流会等方式,富捷电子不断提升品牌知名度和影响力。此外,公司还积极与上下游企业建立战略合作关系,共同推动产业链协同发展。

Alpha Semiconductor公司的发展小趣事

随着技术的不断积累和市场的变化,Alpha Semiconductor于1988年开始为OEM厂家设计定制产品。这一转型是公司发展历程中的重要一步,它使得Alpha Semiconductor能够更深入地了解客户需求,提供更加贴合市场需求的产品解决方案。通过不断的创新和改进,Alpha Semiconductor逐渐在半导体市场中树立了良好的口碑。

帝特(DTECH)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,帝特始终坚持创新驱动的发展战略。公司不断投入研发资源,加强技术创新和产品升级,力求在保持传统业务优势的同时,开拓新的增长点。此外,帝特还积极布局电子专用材料项目,加强半导体芯片封装浆料研发推广,进一步优化产业结构,提升公司的综合竞争力。

以上五个故事概述了帝特(DTECH)公司在电子行业发展的主要历程和关键节点,展现了公司从创立到成长为行业领军企业的艰辛与辉煌。

Densei-Lambda (TDK)公司的发展小趣事

面对日益激烈的市场竞争和不断变化的市场需求,帝特始终坚持创新驱动的发展战略。公司不断投入研发资源,加强技术创新和产品升级,力求在保持传统业务优势的同时,开拓新的增长点。此外,帝特还积极布局电子专用材料项目,加强半导体芯片封装浆料研发推广,进一步优化产业结构,提升公司的综合竞争力。

以上五个故事概述了帝特(DTECH)公司在电子行业发展的主要历程和关键节点,展现了公司从创立到成长为行业领军企业的艰辛与辉煌。

问答坊 | AI 解惑

关于车用LED灯

从上个世纪早期开始到现在,汽车外部照明一直使用灯丝型灯泡,然而,这种历史悠久的灯泡可能在下个十年(2011-2020)最终退出汽车头灯和后灯市场,因为人们正为汽车设计一种更明亮的新型发光二极管(LED)。   两家LED供货商透露,他们正设计光通量 ...…

查看全部问答>

两个工业用模拟电路

电话延伸报警板: https://bbs.eeworld.com.cn/thread-94824-1-1.html 增音型声力电话: https://bbs.eeworld.com.cn/thread-94880-1-1.html…

查看全部问答>

高分求助!进来看看,都有加分

  我想问下搞射频电子,嵌入式,通信方面分别依次要学些什么啊,最好把要看的书籍的名字写上,还有看这些书的先后顺序。我是一个电子专业的学生,想搞这些方面,虽然问题是多了点,但是那位回答的最好,分加的最多!君子一言,驷马难追! ...…

查看全部问答>

一个PCI驱动多个相同的设备

请问我有多个PCI相同的设备插在了同一台主机上,可是只有一个设备功能正常。 请教我怎样修改驱动程序让它驱动多个相同设备呢?希望各位大虾提供些思路 ,小弟是pci的初学者…

查看全部问答>

STA后report_timing的报告分析

****************************************Report : timing        -path full        -delay max        -max_paths 1Design : adder_N4Version: Z-2 ...…

查看全部问答>

LM324中文资料

本帖最后由 dontium 于 2015-1-23 13:24 编辑 LM324中文资料 …

查看全部问答>

怎么区别一块PCB板上数字模块和模拟模块

请各位大虾帮帮忙,怎么判断一个电路板上的一个模块是数字模块还是模拟模块?还是就是模拟器件与数字器件是如何确切定义是区别的?请知道的朋友帮我解答一下,对这两个概念有点混乱,先谢了!…

查看全部问答>

关于STM SPI的DMA方式发送数据

最近在调试SPI   SPI1用DMA1 Channel3  来发送数据        发现一个奇怪的问题    发送的数据存储器的最后一个数据(我这边是字节,因为数据大小选择为BYTE)的最高位为1的时候 ...…

查看全部问答>

本人毕业设计是基于Zigbee的无线组网技术的研究,有些问题想请教大家

本人毕业设计是基于Zigbee的无线组网技术的研究,老师给我两块cc2430,有些问题想请教大家。1、老师给我的两的两块板子年代有点远了,没有相应资料,我自己拍了照片,想问问各位大神有人认识吗?或者有有关的资料能发我一份吗?2、大家还有什么好点 ...…

查看全部问答>

关于UART的中断的发现

今天编程的时候遇到:如果把UART的发送中断打开,用中断方式的按键扫描程序就不能正常运行。不知为什么。IO口一直在复位。。。。…

查看全部问答>