用单片机C语言实现数据流帧同步的提取

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

=1个长度单位。

所有边缘点间的长度的和就是所求
的曲线长度。

4 结束语
可视化对象和数据的连接改变了传统纯文本的管理系统的设计思想,将可视化对象引入到传统的管理系统,提高了系统的生动性和直观性。

本文提出的图像边缘点的遍历算法,不用区分边缘点、内点、和边缘
极点,十分简洁和快速。





[1] 贾春华 肖卫国 贾霖,可视化技术及研究方向,西安工业学院
学报,17(6),1997,114~116
[2] 杨薇薇 邹青松,基于对象模型的图形数据库技术,华中理工大
学学报,25(6),1997,14~17
[3] 李忠举 黄胜华,图像中物体边缘搜索的快速实现方法,计算机
应用研究,8,1999,83~84
〔收稿日期〕 1999-11-15
用单片机C 语言实现数据流帧同步的提取
The Implementation of R ecovering Frame Sync Message from Datum Stream by C Language of Single Chip Processor
白海其(西北工业大学365研究所,陕西省西安市,710072)
BAI HaiQi (N orthwestern P olytechnic Univ.,X i ’an Shaanxi ,710072)【摘 要】 本文介绍一种用单片机C 语言实现同步通信方式
中数据流帧同步提取的方法。

【关键词】 单片机;C 语言;帧同步;数字通信
【ABSTRACT 】 This paper presents a method of recovering frame sync message from datum stream by C language of single chip proces 2
s or.
【KE YWOR DS 】 S ingle Chip Process or ;C Language ;Frame Sync ;
Digital C ommunication
1 引 言
在数字通信中,同步方式的数据传输由于传输效率高、传输误码率低等特点而被普遍采用。

需要传输的数据信息,在发送端按照某一波特率编排成一定的帧结构形成同步数据流,然后送入信道传送,在接收端从信道恢复出来的同步数据流,则需要进一步解调才能取出有用信息。

进行数据解调,首先要从同步数据流中提取位同步信息,然后提取帧同步信息。

而帧同步提取性能的好坏直接影响整个数据的解调质量,甚至影响整个通信系统的性能。

传统的帧同步提取采用硬件实现,有电路复杂、门限电平不容易调整等缺陷,随着单片机技术的不断发展,单片机编程语言也发展到高级语言,所以用单片机软件实现数据流帧同步的提取,能使设备简化,检测电平容易控制,同时也提高了设备的可靠性和生产的一致性。

本文提出的数据流帧同步提取方法是在51单片机上用C 语言实现的。

2 帧同步提取原理
在同步数据流中用一组特殊码来表示一帧数据的开始或结束,该特殊码应具有良好的自相关特性,不易被数据流中的随机比特混淆而产生错误检测,一般选用PN 码或其改型。

从帧效率来看,希望码组尽量短一些;从可靠性来看,码组应尽量长一些。

实际应用中应根据需要适当选择用作帧同步的码组的长度。

帧同步提取实际上就是检测出帧同步码组出现的时刻,也就是检测一个码型已知、但出现时刻未知的信号。

因此,可用相关检测技术来完成帧同步的提取。

图1给出了帧同步提取的原理。

假设数据流的位同步信息已提取,同步码长为n 比特,U ={u 1,u 2,....,u n }是本地存储的、希望检测的同步码的复本,本地接收的数据流所有比特在位钟的驱动下均通过移位寄存器,任一瞬间移位寄存器的内容为S ={s 1,s 2,....,s n },该内容不断与U 比较,即进行模2加,求和网络的输出为:
E b =∑n
i =1(s i u i )=s i 与u i 不相等的个数
当S =U 时,E b =0;S ≠U 时,E b 为阶跃函数,s i 与u i 不一致的个数愈多,其幅值愈大,全不对时,E b =n 。

若判
决电路的门限为ε,当E b ≤
ε时,判决为检测到帧同步码,输出一帧同步脉冲;当E b >ε时则无输出。

ε的含义就是指在n 个比特中容许有ε个比特错而不至于漏检帧同步码。

ε值取得越大,漏检的概率小,但发生误检的概率就增加了。

漏检或误检都会导致系统同步不正常,从而使系统通信出现异常。

为了解决这一矛盾,
9
6 2000年第3期 微 机 发 展
可采用“变门限”技术,即在帧同步建立前或帧同步重新建立前ε值取得尽可能小,使得帧同步码的捕获不产生错误,帧同步建立后ε值则可适当加大,即降低漏检概率,
使得在低信噪比的情况下帧同步仍得以维持。

图1 帧同步提取原理
同时,在同步状态下,利用帧同步码的发送具有周期性,采用“帧同步保护”技术,可抑制假同步的出现。

3 帧同步提取的软件实现
C51语言是针对51系列单片机而开发的、具有一
般C 语言特点的高级编程语言,有众多公司出品的
C51编译器可选用,其中以Franklin C51编译器较为领
先。

用C 语言对单片机编程具有可读性好、程序结构化、调试简单、数据处理能力强、程序移植性好等优点。

用软件实现帧同步的提取关键是设计帧同步码的相关检测软件。

图2给出了相关硬件电路示意,波特率为
3.2k 的同步数据流接到单片机AT 89C2051的P1.0端
口,帧同步码长为16位,同步位钟接到单片机的中断0口,位钟的下降沿对应于每个比特的中间,位钟的每个下降沿对单片机产生中断,单片机响应中断对数据比特进行采样、读入并进行相关运算和判决,输出同步脉冲和解调后的数据信息,判决门限值可根据工作阶段
图2 单片机电路示意图
为捕获阶段还是同步阶段由软件自动设定其高低,帧同步的保护由软件通过位计数来实现。

整个软件主要工作流程如图3所示。

由图3可以看出,在同步建立前,软件判决以所有位无错误为条件,同步建立后则可根据设定值允许有1位或更多位错误,同步建立后立即用位中断来计数,以识别字及一帧数据。

在完整的一帧数据接收完之前不判帧同步,避免出现假同步,当下一帧开始应该出现帧同步码时再判别,从而实现帧保护。

此时若同步码检出则同步继续保持,否则认为同步丢失,转入重新捕获。

由于计算相关值的过程较长,故这一部分占用CPU 时间较多,应注意程序的效率使得整个程序在一个比特时间内完成所有功能。

图3 软件主要流程图
4结束语
本文提出的方法在某型号任务的地面遥测站上已实现,使用情况良好。

参考文献
[1] 马忠梅等,单片机的C 语言应用程序设计,北京航空航天大学出
版社,199713[2] 姚彦等,数字微波中继工程,人民邮电出版社,199018[3] 斯国新,卫星通信系统,宇航出版社,199317
7 微 机 发 展 2000年第3期。

相关文档
最新文档