分享

【程序】一种基于AT89C2051单片机的传呼机发码电路

 浏今岁月 2017-02-17
文章导读:本程序为一种基于AT89C2051单片机的传呼机发码电路

重庆市江北区建新南路24号梅林通讯(400020) 朱家林

摘 要 介绍了基于AT89C2051单片机设计开发的ML99V4型传呼机发码电路的功能、原理、编程及应用。

关键词 AT89C2051单片机 传呼机发码电路 POCSAG代码


1 引言

ML99V4型传呼机发码电路的最大特点是它不仅能够通过自编程产生标准的POCSAG代码,而且自带射频发射电路。它可以不依赖任何附加电路或编程器直接编发任意POCSAG代码格式的传呼机地址码、信息码,并且传输速率可变,相位可变,功能位可变,具有开机延时设定、发码启控灵敏度设定等功能。因此无论是单位或个人将该电路进行二次开发,运用于防盗、报警就可直接用普通的BP机作为随身携带的报警接收器,使BP机一机多用。而通常的无线报警器,用户都需随身另带一只或收或发的遥控器,这在当今人们已带手机和BP机的情况下再加一只遥控器,显得有些累赘。

ML99V4传呼机发码电路还可直接当作价廉物美的传呼机维修仪用,它的使用相当方便灵活,具有很高的性价比。下面具体介绍它的原理、编程及应用。

点击浏览下一页
图1 组成框图

2 电路原理

发码电路的原理框图见图1,电原理图见图2所示。其核心器件采用的是AT半导体制造公司生产的一种高性能单片机AT89C2051。利用该单片机把从4位拨位开关输入的地址码、信息码、传输速率、功能位设定等参数自动完成计算,生成相应的POCSAG代码。

点击浏览下一页

 图2 电原理图

2.1 POCSAG码及编程过程

POCSAG码实际是一种同步码。一次完整的传输包括一前置码,后跟完整码字的几个码组。每个码组起始均有一个字同步码字(SC),也称帧同步码字。当无后续呼叫时,发送可在一码组终点停止。

(1)前置码(A)。每次发送都先发前置码,以帮助寻呼机达到位同步,进而达到字同步和码组同步。前置码是一种101010……的交替码,以“1”开始,“0”收尾共576位。

(2)码组结构。每个码组包括一个字同步码字(SC),后跟8个帧,8帧的编号为0~7,每帧中有两个码字。系统规定每部寻呼机的地址码必须在指定的帧内发送,即每部寻呼机只识别在该帧中的地址码字。

任一用户的信息码字可在任一帧内发送,但要紧跟在有该用户的地址码的帧之后。信息可以是一个或多个码组,信息的结束由下一地址码字或空闲码字来表示。

(3)码字的类型。码组中的码字分为字同步码字、地址码字、信息码字和空闲码字四种。各种码字均为32位,其位序号为1~32,第1位为最高位,先发送,第32位为最低位,最后发送。

字同步码字是为了帮助寻呼机进一步达到字或帧同步用的;地址码字的第一位(标志位)总是“0”表明后续的为地址位,以便与信息码字相区别。地址码字的第2~19位是地址位,它对应于组成用户识别信号的21位中的高18位。构成用户地址码中最低三位用来指定8帧中的某一帧,即最低三位不需发送,称为隐含位。地址码字的第20和21位是两个功能位,用来表示寻呼机的不同音响或不同显示类型。地址码的第22位至31位是纠错码编码产生的校验位,而最低位(第32位)为偶校验位。

寻呼机系统用户地址码与编码的对应关系及其发送结构分别如图3(a)、(b)所示。

点击浏览下一页

信息码字的第一位(标志位)总是“1”,整个信息总是直接跟在地址码字之后。信息码字有20位,即从第2位到21位,后面跟有纠错编码中产生的校验位(第22~31位)和偶校验位(第32位)。

空闲码字也是32位,当没有地址码字或信息码字时,就填充发送空闲码字。空闲码字用一个有效地址码,但不分配给寻呼机。其详细讨论可参见文献[2]。

大致了解了POCSAG码的格式后,再来看它的编码过程。编码过程可分为两步:第一步把输入的21位信息位通过除法电路按模2方式除以生成多项式g(x),在逻辑开关电路控制下经过21个时钟脉冲后,21位信息全部通过除法器。这时,除法器中10级触发器的状态对应于所求的余数。这10位余数在逻辑开关电路的控制下加到21位信息位的后面,这样就完成了BCH(31:21)的编码,同时加一位“0”在这31位码的后面,以构成32位码。

编码过程的第二步用模2加的方法形成一位偶校验位加到最后有效位(第32位)。具体编码过程由89C2051单片机完成。

2.2 有关电路功能

文章导读:本程序为一种基于AT89C2051单片机的传呼机发码电路

单片机89C2051是发码电路的控制核心,图2示出了它的3个端口使用情况。它除了完成POCSAG码的编码过程外,还完成整个发码电路的控制功能。

从89C2051 P3.3输出的POCSAG代码送到射频发射电路。射频发射电路由振荡器和射频缓冲放大器等构成。振荡器采用晶体稳频,具有较高的频率稳定度。晶体采用BP机用的二倍频晶体。在137~170MHz频段内,改变频点只需更换晶体,稍微调整微调电容即可。射频发射电路的输出功率小于30mW,若需远距离发射,用户可自行增加射频功率放大级。发码时89C2051 P3.4输出高电平,在B点可直接驱动报警执行电路如声响电路、房门锁控电路、发动机供电供油电路的开启或关闭等;同时经发射控制电路9014、9015启动射频输出电路。89C2051 P3.2(图2中A点)接发码触发探头,低电平有效(这里还可接红外探头、火警探头、震动探头等用于各种报警器,也可直接接一只轻触开关到地,作为发码开关)。

电路中采用了24C02电可擦除存储器,用户可随时通过KV轻触开关和4位拨位开关改写要发出的信息,并且掉电不会丢失数据。

3 编程方法

ML99V4传呼机发码电路的编程是通过KV轻触开关和4位拨位开关进行的。编程时,按住KV再拨动KD开机,这时电路蜂鸣器就会发出一声长响,随后就可按照表1所示的顺序,用二进制代码编程。除信息码和地址码处,每输入一项码按一下KV确认后,都会听到两声短响。而信息码和地址码是每输入一位短响一声,输完最后一位时,按住KV一秒以上,便会听到一声长响,待整个编码输入完成后会听到三声短响。

当整机还未编码或程序损坏时开机,将会听到不断的“嘟椸綏”声;若编码不正确,编码输入时,每输入一位将会听到低沉的“嘟”声。最后是探头灵敏度设定,4位拨位开关所设定的数字越大,其探头灵敏度越低。此项设定可在以上编码完成后的使用中随时进行。设定后开关一次电源确认。

表1 编码顺序

1

开机延时,每10秒为单位

2

相位,1为正相;0为反相

3

功能位,0~3对应A B C D

4

信息,0~2 0位有效

5

速率,0为512,1为1200bit/s

6

地址,7位有效

7

探头灵敏度设定

4 应用举例

假如我们将ML99V4传呼机发码电路直接用于BP机发码,并且假定BP机频点与本电路的射频频点相同,其编程步骤为:(1)按住KV再拨动KD通电开关,当听到一声长响后进入编程状态;(2)设定开机不延时,即4位拨位开关设为0000后按一下KV确认;(3)设定相位为正相,即4位拨位开关设为0001后按KV确认;(4)设定功能位C,即4位拨位开关设为0010后确认;(5)信息设定,若拟发185868这段数码信息,即4位拨位开关依次设为0001、1000、0101、1000、0110、1000;(6)设定速率,若BP机为512bit/s,即4位拨位开关应设为0000后确认;(7)若BP机的地址为0000568,那么4位拨位开关应依次设为0000、0000、0000、0000、0101、0110、1000,最后将探头灵敏度设定为最高,即一触即发,4位拨位开关即是0000,然后关断电源再开启即可投入使用了。由于本例是直接用于BP机发码,所以探头A点可直接接一只轻触开关到地作为发码开关用,因此每按一下轻触开关,BP机就会连续收到三次信息。并且在发射过程中电路也会有三声提示音。

本电路也可与对讲机配合使用,当然最好是频率合成对讲机,这样设定频率更为方便。与对讲机配合使用时,只需断开C、D、E三点,将图2 C点接到对讲机的发射压控振荡器输入端,B点用作对讲机发射开关控制即可。具体方法可参见文献[3]。

最后需要说明的是若要用ML99V4传呼机发码电路发送中文信息,只需按照POCSAG格式的中文二进制代码编码即可。

(凡对本电路感兴趣的朋友可与作者联系,Tel:023-68712424(O)/67908495(H),E-mail:zhujialin@yeah.net)

参 考 文 献

1 李广弟编著.单片机基础.北京:北京航空航天大学出版社,1998

文章导读:本程序为一种基于AT89C2051单片机的传呼机发码电路

2 邬国扬,张厥盛.移动通信原理系统应用.北京:电子工业出版社,1995:176~181

3 朱家林.用对讲机改装BP机发码器.无线电,1998(5)

发布时间:  来源:高校自动化网  作者:匿名

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多