有可以替代CMX469的国产芯片替代吗,速率4800bps

基于CMX469A的FFSK调制解调器设计与应用
本课题主要内容是在介绍信号、调制和解调的基本原理,对调制、解调及其形成的波形从理论上作一定的分析和讨论;着重于介绍调制器的电路原理及设计方法。
1.1课题背景
1.2课题简介
1.3数字调制的特点及分类
1.4关键元器件介绍
1.4.1AT89C2051单片机
1.4.2CMX496A简介
1.4.2.1CMX469A的主要特点
1.4.2.2CMX469A的引脚说明
2FFSK数字调制
2.1二进制数字调制原理
2.1.1调制定理
2.1.2基本原理
2.2二进制振幅键控(2ASK)
2.2.1二进制振幅键控的调制与解调
2.2.2单边带和残余边带调制的概念
2.3二进制移频键控(2FSK)
2.3.12FSK信号的产生和解调
2.4二进制移相键控
2.4.1二进制移相键控及二进制差分相位键控(2PSK)及(2DPSK)
3FFSK数字解调
3.1FFSK解调原理
3.1.1基带差分解调
3.1.2中频差分解调
3.1.3鉴频器解调
3.2非相干解调与相干解调性能比较
3.3信道非线性对线性调制的影响
3.4FFSK的误码性能分析
4FFSK调制解调器的系统总体设计
4.1功能模块介绍
4.2FFS K 信号特点与调制解调方法
5FFSK调制解调功能模块设计
5.1单片机AT89C2051与CMX469A接口模块设计
5.2码变换器
5.3多路分频器(÷2、÷4、÷8、÷16分频)
5.4滤波器A和滤波器B
5.6信号调制
5.6.12FSK、2ASK调制
5.6.22DPSK与2PSK调制
6系统软件设计
6.1系统发射与接收流程图
6.2软件设计思路
附录一:总原理图
附录二:元件清单
附录三:程序清单
(责任编辑:admin)
------分隔线----------------------------
上海电池研究院电池检测价格表,UN38.3测试项目表,(仅针对锂金属电池或不大于100Wh的...
锂离子电池充电要求锂离子电池的电芯电极结构对充放电的电压要求非常严格,必须要求具...
一节一号电池烂在地里,能使一平方米的土地失去利用价值。你们看看,乱仍一颗电池的危...
废电池中含有汞、镉、铅、锌等重金属有毒物质。人若汞中毒,会损害中枢神经系统,死...
锌锰电池便于携带,使用方便,品种齐全,工艺稳定,原料丰富,价格低廉,因而长期保持...
干电池不仅适用于手电筒、半导体收音机、收录机、照相机、电子钟、玩具等,而且也适用...基于CMX469A列尾装置无线通信系统的设计_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
基于CMX469A列尾装置无线通信系统的设计
阅读已结束,下载本文需要
想免费下载本文?
定制HR最喜欢的简历
下载文档到电脑,同时保存到云知识,更方便管理
加入VIP
还剩1页未读,
定制HR最喜欢的简历
你可能喜欢基于 CM X469A 的 FFS K 调制解调器设计与应用摘要 :本课题主要内容是在介绍信号、调制和解调的基本原理,对调制、解调及其 形成的波形从理论上作一定的分析和讨论;着重于介绍调制器的电路原理及设计方法。 本课题提出一种用 AT89C2051 单片机控制 CMX 469A 集成芯片实现 FFSK 调制 解调器的设计方法 , 并应用于点对点的数据传输系统 。 结果表明 : FFS K 调制解调器 具有相位连续 、包络恒定的特征 , 频带利用率优于一般 FS K 和 PS K /D PS K。 关键词 :快速频移键控;单片机;AT89C2051;CMX469A;调制解调器Abstract: The main contents of this issue is to introduce signal modulation and demodulation of the basic principles of modulation, demodulation and waveform shape for a certain theoretical ana focus on introducing the principle of the modulator circuit and design method. The subject of a single-chip AT89C2051 with CMX 469A control FFSK integrated modem chip design methodology, and applied to point-to-point data transmission systems. The results showed that: FFS K modem with a continuous phase, constant envelope characteristics, bandwidth efficiency is superior to the general FS K and PS K / D PS K. Key words: fast fr single- ;AT89C2051;CMX469A;1概述 ................................................................................................................................................................... 3 1.1 课题背景 ................................................................................................................................................... 3 1.2 课题简介 ................................................................................................................................................... 3 1.3 数字调制的特点及分类 ........................................................................................................................... 4 1.4 关键元器件介绍 ........................................................................................................................................ 5 1.4.1 AT89C2051 单片机 ........................................................................................................................... 5 1.4.2 CMX496A 简介 ................................................................................................................................. 7 2 FFSK 数字调制 ................................................................................................................................................ 8 2.1 二进制数字调制原理 ............................................................................................................................... 8 2.1.1 调制定理 ........................................................................................................................................... 8 2.1.2 基本原理 ......................................................................................................................................... 10 2.2 二进制振幅键控(2ASK) ................................................................................................................... 11 2.2.1 二进制振幅键控的调制与解调 ......................................................................................................11 2.2.2 单边带和残余边带调制的概念 ..................................................................................................... 12 2.3 二进制移频键控(2FSK) .................................................................................................................... 12 2.3.1 2FSK 信号的产生和解调 ............................................................................................................... 12 2.4 二进制移相键控 ..................................................................................................................................... 13 2.4.1 二进制移相键控及二进制差分相位键控(2PSK)及(2DPSK) ............................................ 13 3 FFSK 数字解调 .............................................................................................................................................. 15 3.1 FFSK 解调原理 ....................................................................................................................................... 15 3.1.1 基带差分解调 ................................................................................................................................. 15 3.1.2 中频差分解调 ................................................................................................................................. 16 3.1.3 鉴频器解调 ..................................................................................................................................... 17 3.2 非相干解调与相干解调性能比较 ......................................................................................................... 18 3.3 信道非线性对线性调制的影响 ............................................................................................................. 19 3.4 FFSK 的误码性能分析 ........................................................................................................................... 19 4 FFSK 调制解调器的系统总体设计 .............................................................................................................. 20 4.1 4.2 5 功能模块介绍 ......................................................................................................................................... 21 FFSK信号特点与调制解调方法 ............................................................................................................ 21FFSK 调制解调功能模块设计 ...................................................................................................................... 23 5.1 单片机 AT89C2051 与 CMX469A 接口模块设计 ................................................................................ 23 5.2 码变换器 ................................................................................................................................................. 25 5.3 多路分频器(÷2、÷4、÷8、÷16 分频) ........................................................................................ 25 5.4 滤波器 A 和滤波器 B ............................................................................................................................. 27 5.5 放大器 ..................................................................................................................................................... 27 5.6 信号调制 ................................................................................................................................................. 28 5.6.1 2FSK、2ASK 调制 .......................................................................................................................... 28 5.6.2 2DPSK 与 2PSK 调制 ..................................................................................................................... 306系统软件设计 ................................................................................................................................................. 31 6.1 6.2 系统发射与接收流程图 .......................................................................................................................... 31 软件设计思路.......................................................................................................................................... 327总结及致谢 ..................................................................................................................................................... 34 7.1 7.2 小结 ......................................................................................................................................................... 34 致谢 ......................................................................................................................................................... 348 9参考文献 ......................................................................................................................................................... 35 附录 ................................................................................................................................................................. 36 附录一:总原理图 .............................................................................................................................................. 36 附录二:元件清单 .............................................................................................................................................. 37 附录三:程序清单 .............................................................................................................................................. 38 1 概述1.1 课题背景无线通信在现代社会中起着举足轻重的作用。从日常生活到航空航天,从工商业运 作到军事领域,无线通信得到了越来越广泛的应用。自十九世纪末马可尼发明无线电报 以来,无线通信己经历了一百多年的发展,形成了各种各样的通信模式与体制 ,如卫星 通信系统,微波中继通信系统,蜂窝移动通信系统,无线寻呼系统,集群通信系统等等。 调制方式更是种类繁多,如模拟调制的AM、DSB、SSB、FM等;数字调制的ASK、PSK、FSK 等。数字调制的三大类还包含许多适用于不同场合的具体调制技术。 现代数字调制技术的发展,使得传输速率和频谱的利用率进一步得到提高,功率更 加节省。在相同的码元速率下,多进制系统的信息传输速率显然比二进制系统高,但信 息速率的提高是以牺牲功率为代价的。显然增大码元宽度,就会增加码元的能量,同时 也减少了由于信道特性引起的码间串扰等。恒包络调制适用于限带非线性信道中,能有 效地防止非线性引起的幅频效应,节省功率,提高频谱的利用率。多进制调制和恒包络 调制这两种技术结合在一起能取得更好的调制效果。 对于数字蜂窝系统,调制技术决定了每km用户数、发送率和频带利用率(指信道带宽 上每秒每赫兹可发送的bits数目)。当选择相配的蜂窝调制技术时,一定要考虑高功率效 率、高带宽利用率、低输出边带辐射、对多径衰落低灵敏度、常数包络、低成本、实现 容易等因素[3] [1 ]。当然不可能选择一种具有所有优点的调制方法,实际上每种方法都有一定的局限性,并且相互制约。比如说高的带宽利用率需要很大的信号装置,并且在信号 发送时需要加大发射功率。而 FFSK调制解调在性能上要优于FSK、ASK、PSK等调制方式。1.2 课题简介在短距离数据传输中 , FS K (频移键控 ) 与PSK /DPS K (相移键控 /差分相移键控 ) 是常用的调制方式 。随着通信和微电子技术的发展 , 频谱利用率更高 , 传输速 率更快的单片集成 FFS K (快速频移键控 ) 电路的成功开发 , 使得数据采集信电路的 成功开发 , 使得数据采集信号测控等需要数据传输的应用领域有了更好的解决方案。文 中分析了 FFS K 调制解调原理 , 提出了一种用 AT89C2051单片机控制 CM X 469A 集成 芯片实现 FFS K 调制解调器的设计方法 , 并应用于粮库安全数据监测系统 。结果表 明 :FFS K 调制解调器具有相位连续 , 包络恒定的特征 , 频带利用率优于一般 FS K 和 PS K /D PS K。 本系统主要阐述的是FFSK调制与解调电路的设计。数字调制与解调技术在数字通信 中占有非常重要的地位。为了使数字信号在带通信道中传输,必须用数字信号对载波进 行调制,并进行解调。1.3数字调制的特点及分类通信按照传统的理解为信息的传输与交换。在当今的信息社会,通信则与传感、计算技术紧密结合,成为整个社会的高级“.神经中区”。没有通信,人类社会是不可以想 象的。一般来说,社会生产力水平要求同信水平与之相适应。若同信水平跟不上,社会 成员之间的合作就受到限制,社会生产力的发展也必然最终的受到限制。可见通信是十 分的重要的。 中国电信市场全局性的战略重组基本完成,电信业迅速发展,并呈现出四方面的发 展趋势。 据信息产业部公布的信息,截止到2003年第一季度,全国电话总数达到4.47亿户, 其中固定电话用户2.26亿户,移动电话用户2.21亿户。据估计,2003年6月份移动电话用 户数将超过固定电话用户数。中国通信网络规模容量目前已跃居世界第一位。在信息产 业部确定的2003年中国信息产业宏观调控计划中,2003年中国通信业务收入将达到5067 亿元,增长11%,其中,电信4510亿元。通信固定资产投资2100亿元,发展固定电话用户 3300万户,移动电话用户5200万户,移动电话普及率将达到21%。这一计划表明中国电信 产业的发展前景依然广阔。 在实际的通信系统中不少都不能直接传送基带信号,必须用基带信号对载波波形的 某些参量进行控制,使载波的某些参量随基带信号的变化而变化,即所谓调制。 从原理来说,受调载波的波形可以是任意的,只要已调信号适合于信道传输就可以 了。但实际上,大多数数字 通信系统中,都选择正弦信号作为载波。因为正弦信号形式 简单,便与产生与接收。和模拟调制一样,数字调制也有调幅、调频和调相三中基本形 式,并可以派生出多种形式。数字调制与模拟调制相比,其原理并没有什么区别。不过 模拟调制是对载波的参量进行连续的调制,在接收端对载波信号的调制参量连续地进行 估值;而数字调制都是用载波信号的某些离散状态来表征所传送的信息,在接收端也只 要对载波信号的离散调制参量进行检测。因此,数字调制信号也叫键控信号。在二进制 时的振幅键控(ASK)、移频键控(FSK)、移相键控(PSK)三种基本信号形式。 1 s(t) 2ASK 振幅键控 0 0 1 t t 1 s(t) 2FSK f1001 t tf2f2 移频键控 0 1f11 s(t) 2PSK 00t t π 图 1―1 π 移相键控 三种调制波形 0根据已调信号的频谱结构特点的不同,数字调制也可分为线性调制和非线性调制。 在线性调制中,已调信号的频谱结构与基带信号的频谱结构相同,只不过频率位置搬移 了;在非线性调制中,已调信号的频谱结构与基带信号的频谱结构不同,不是简单的频 谱搬移,而是有其他新的频率成分出现。振幅键控属于线性调制,而频移键控和相移键控属于非线性调制。可见,这些特点与模拟调制时也都是相同的。1.4 关键元器件介绍1.4.1 AT89C2051 单片机AT89C2051是一个低电压,高性能 CMOS 8位单片机,片内含2k bytes的可反复擦写 的只读Flash程序存储器和128 bytes的随机存取数据存储器(RAM),器件采用ATMEL公 司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处 理器和Flash存储单元,功能强大AT89C2051单片机可 合。 AT89C2051是一个功能强大的单片机,但它只有 20 个引脚,15 个双向输入 / 输出 (I/O)端口,其中P1是一个完整的8位双向I/O口,两个外中断口,两个16位可编程定时 计数器, 为您提供许多高性价比的应用场 两个全双向串行通信口,一个模拟比较放大器。 同时AT89C2051的时钟频率可以为零,即具备可用软件设置的睡眠省电功能,系统的 唤醒方式有RAM、定时/计数器、串行口和外中断口,系统唤醒后即进入继续工作状态。 省电模式中,片内RAM将被冻结,时钟停止振荡,所有功能停止工作,直至系统被硬件复 位方可继续运行。 主要功能特性:? 兼容MCS51指令系统 ? 15个双向I/O口 ? 两个16位可编程定时/计数器 ? 时钟频率0-24MHz ? 两个外部中断源 ? 可直接驱动LED ? 低功耗睡眠功能 ? 可编程UARL通道? 2k可反复擦写(&1000次) Flash ROM ? 6个中断源 ? 2.7-6.V的宽工作电压范围 ? 128x8bit内部RAM ? 两个串行中断 ? 两级加密位 ? 内置一个模拟比较放大器 ? 软件设置睡眠和唤醒功能 1.4.2 CMX496A 简介1.4.2.1 CMX469A 的主要特点 CMX469A是CML(公司新推出的全双工无线Modem芯片 )它采用CMO S工艺制造,工作电压为2.7V~5.5V,当电源电压为3V时,它的典型工作电 流为2mA,数据传输速率可设定为1200 bps、2400 bps和4800b ps。在这三种波特率下,逻辑高、低电平的频率相应为1200/1800Hz,1 200/2400Hz,2400/4800Hz。 CMX469A采用快速移频键控FFSK/MSK调制方式,可广泛应用于无线 通讯系统中(例如水文检测系统、船载监控系统等)。CMX469A的主要特性 如下: ●具有独立的发送、接收使能控制; ●可以接外部1.008MHz或4.032MHz晶振; ●可选择三种波特率:1200bps、2400bps、4800bps(48 00bps传输时,需要外接4.032MHz晶振); ●具有载波检测、接收时钟故障恢复功能; ●低电压、低功耗(电源为3V时,典型工作电流为2mA;节能模式下,供电电 流只有300μ A); ●抗干扰性能优良,在信号条件比较差的情况下具有优良的灵敏度,同时可通过外 部电容设置载波检测周期,以使器件在高噪音环境下具有更完善的性能。 1.4.2.2 CMX469A 的引脚说明 CMX429A有22脚PDIP、20脚SOIC、24脚TSSOP三种封装, 这三种封装的对应引脚不同。表1是20脚SOIC封装所对应的引脚功能介绍,其余 两种封装只是引脚序号不相同。表1 CMX469AD3的引脚说明引 脚 1 2 3 名 称 类 I O O 型 功 能 描 述CLOCK/XTAL XTALN Tx SYNC片内振荡器的输入端或外部时钟输入端 片内振荡器的输出端 发送同步时钟输出 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20TxSIGNAL TxDATA TxENABLEN BAND PASS RxENABLE VBIAS VSS UNCLK DATA CLK DATA CD OUT RxSIGNAL RxSYNC BAUD SELECT BAUD SELECT COLOCK RATE CD CINSTANT VDD TIMEO I IFFSK/MSK信号输出 发送数据串行输入端 发送使能 RX带通滤波器输出I BI P O O O I O I I I BI P接收使能 偏置电压输出 地 接收异步数据输出 接收同步数据输出 载波检测输出 FFSK/MSK信号输入 接收同步时钟输出 波特率选择 4800波特率选择 4.032MHz/1.008MHz外晶振选择 载波检测响应时间调整端, 影响抗干扰能力 接电源2.7~5.5V2 FFSK 数字调制2.1 二进制数字调制原理2.1.1 调制定理在通信系统中,常常会遇到基带信号 f(t)和余弦信号 cosωct 相乘的情况,如图 2-1 f(t)相乘f(t)cosωct cosωct 图 2-1 F(ω)ω - Ωm 0 Ωm (a) ?(cosω ct) ω -ωc 0 (b) 1/2F(ω+ωc) -ωc 图 2-2 ?[f(t)cosω ct] 1/2F(ω+ωc) ωc ωc0(c ) 调制定理示意图这里所得乘积信号 f(t)cos ωct 的频谱和信号 f(t)的频谱 F(ω)之间有如下关系 ?[f(t)cosω ct]=1/2[F(ω -ω c)+F(ω +ω c)] 此式就叫做调制定理。 调制定理是很容易证明的,因为 f(t) F(ω )又因为 cosω ct=1/2(ejω ct+e-jω ct)已知,且 ejω ct 2π δ (ω -ω c) e-jω ct 2π δ (ω +ω c) 所以, cosω ct π [δ (ω -ω c)+δ (ω +ω c)]。 根据频域卷积定理。 可导出 f(t)cosω ct 的频谱为 ?{f(t)cosω ct}=1/2π {F(ω )*π [δ (ω -ω c)+δ (ω +ω c)]} =1/2{F(ω )*[δ (ω -ω c)+δ (ω +ω c)]} =1/2[F(ω -ω c)+F(ω =ω c)] 因此,不难看出,调制定理是频域卷积定理的一个特例。调制定理表明:将信号 f(t)乘 以余弦信号 cosω ct,对应于频域中把 f(t)的频谱 F(ω )等分成两部分,并把其中的一部 分沿频率轴右移ω c,另一部分左移ω c,如图 2-2(b)中所示。因此,用这种方法可以实现 信号频谱的搬移。频谱搬移在通信系统中应用极广,诸如调制、同步检波、混频等过程 都是在频谱搬移的基础上实现的。 2.1.2 基本原理本数字调制器使用数字信源模块和数字调制模块。信源模块向调制模块提供位同步 信号和数字基带信号(NRN 码) 。调制模块将输入的 NRN 绝对码变为相对码、用键控法产 生 2ASK、2FSK、 、2DPSK 信号。数字调制单元的原理方框图如图 2-3 所示: CAR晶体 ÷2 (A) 滤波器 放大 2PSK 调制2DPSK-OUT射随器÷2 (B)滤波器2PSK 调制2FSK-OUTNRZ-IN AK BS-IN码变换BK 图 2-3 数字调制框图2ASK 调制2ASK将晶振信号进行 2 分频、滤波后,得到 2ASK 的载频。放大器的发射极和集电极输 出两个频率相等、相位相反的信号,这两个信号就是 2PSK、2DPSK 的两个载波,2FSK 信号的亮光载波频率分别为晶振频率的 1/2 和 1/4,也是通过分频和滤波得到的。 2PSK、2DPSK 波形与信息代码的关系如图 2-4 所示。 1 0 1 1 0(2PSK 信号波形)t(2DPSK 信号波形)t 图 2-4 2PSK、 2DPSK 波形2PSK 信号的相位与信息代码的关系是: 前后码元相异是, 2PSK 信号相位变化 180°, 相同时 2PSK 信号相位不变,可简称为“异变同不变” 。2DPSK 信号的相位与信息代 码的关系是:码元为“1”时,2DPSK 信号的相位变化 180°。码元为 0 时,2DPSK 信号 的相位不变,可简称为“1”变“0”不变。本文所讲的是是用码变换―2PSK 调制方法产 生 2DPSK 信号,原理框图及波形如图 2-5 所示。相对于绝对码 AK、2PSK 调制器的输出就 是 2DPSK 信号,相对于相对码、2PSK 调制器的输出是 2PSK 信号。图中设码元宽度等于载 波周期,已调信号的相位变化与 AK、BK 的关系当然也符合上述规律的,即对于 AK 来说 是“1 变 0 不变”关系,对于 BK 来说是“异变同不变”关系,由 AK 至 BK 的变换也符合 “1 变 0 不变”规律。 图 2-5 中调制后的信号波形也可能具有相反的相位, BK 也可能具有相反的序列即 00100,这取决于载波的参考相位以及异或门电路的初始状态。 AK BK 2DPSK(AK)+ 2PSK 调制BK-1,2PSK(BK)TπAK BK 2DPSK(AK) 2PSK(BK) 图 2-5 2DPSK 调制器 1 1 0 1 1 0 1 1 0 12.2 二进制振幅键控(2ASK)2.2.1 二进制振幅键控的调制与解调设信息源发出的是由二进制符号 (0、 1) 组成的序列, 且假定 0 符号出现的概率是 P, 1 符号出现的概率为 1-P,它们彼此独立。那么,一个二进制的振幅键控信号可以表示成 一个单极性矩形脉冲序列与一个正弦型载波的相乘,即 e0(t)=[∑a n g(t-nTs)]cosω ct (3-1) g(t)是持续时间为 Ts 的矩形脉冲,an 的取值服从下面关系: 0, 概率为 P an=1,概率为 1-P 现令 s(t)=∑nang(t-nTn) 可得 e0(t)=s(t)cosωct (3-3) (3-2)二进制振幅键控信号的产生方法有两种,一种是模拟幅度调制方法,另一种是键控 方法。二进制振幅键控信号由于一个信号始终为零,此时相当于处在断开状态,故又常 称为通断信号(OOK 信号) 。开关电路载波 S(t)乘法器e0(t)~°e?(t)0?s(t) (b)cosω ct (a)s(t) e0(t) (c) 图 3-1 二进制振幅键控(2ASK)信号的产生及波形 如同 AM 信号的解调方法一样,OOK 信号也有两种基本的解调方法;非相关解调(包 络检波法)及相关解调(同步检波法) 。 2.2.2单边带和残余边带调制的概念ASK 信号具有两个边带,并两个边带是含有相同的信息。为了提高信道频率,只需传 送一个边带就能实现信息的传递。从图 1-6ASK 信号的功率谱密度来看,由于基带信号具 有丰富的低频分量,所以,必须在 fc 处用截止滤波器才能滤除其中的一个边带,这就增 加了滤波器制作的难度。通常是对基带信号进行某种处理,使直流分量为零,并低频分 量尽可能小,从而使已调 ASK 信号的上、下边带之间有一个明显的分界。采用第四类部 分响应形成系统即可作到这一点,将经第四类部分形成系统的信号对载波 cosω ct 调制, 即可得到抑制载频又能使上、下边带之间有一个明显分界的已调信号频谱。这样就能使 用普通滤波器切除一个边带分量,从而实现单边带传输,使频带利用率是双边带传输的 两倍。 残余边带调制是介于双边带和单边带之间的一种调制方法,它是使已调双边带信号 通过一个残余边带滤波器,使其双边带中的一个边带的绝大部分和另一个边带的小部分 通过,形成所谓的残余边带信号。残余边带信号所占的频带大于单边带,又小于双边带, 所以残余边带系统的频带利用率也是小于单边带,大于双边带的频带利用率 2.3二进制移频键控(2FSK)2FSK 信号的产生和解调2.3.12FSK 信号是 0 符号对应于载波ω 1 , 而 1 符号对应于载波ω (与 ω 1 不同的另一载波) 2 的已调波形,而且ω 1 和ω 2 之间的改变是瞬间完成的。所以 2FSK 可以用一个矩形脉冲序 列对一个载波进行调频而获得。这就是频率键控通信方式早期采用的实现方法,也是用 模拟频率法实现数字调频的方法。2FSK 信号的另一生产方法是采用键控法,即利用受矩 形脉冲序列控制的开关电路对两个不同的独立频率源进行选通。 载波 ~f1 开关 s(t)模拟调制 器e0(t) 载波 ~f2?K ° °e0(t)(a)s(t) (b)图 4-1 二进制移频键控(2FSK)信号的产生 根据 2FSK 信号的产生原理,已调信号的数学表示式为 e0(t)=∑ang(t-nTn)cos(ω 1t+ф n)+∑ang(t-nTn)cos(ω 2t+θ n) g(t)为单个矩形脉冲,脉宽为 Tn 0,概率为 P a= 1,概率为(1-P) ф n,θn 分别是第 n 个信号码元的初相位。 键控法得到的ф n、θ n 是与序列无关的,反映在 e 连续的;而用模拟调频法时 0(t)上, 仅表现出 ω 1 与 ω 2 改变时其相位是不,由于 e0(t)当 ω 与ω 2 改变时其相位是连续的,故 ф n、θ n 不仅与第 n 个信号码元有关,而且ф n 与θ n 之间也应保持一定的关系。 二进制 FSK 信号的常用解调法是采用非相干检测法和相干检测法。其中抽样判决起 是判定哪一个输入样值大,此时可以不专门设置门限电平。另外还有其他的解调方法, 比如鉴频法、过零检测法及差分检波法等。 2FSK 是数字通信中用得较广的一种方式,在话带内进行数据传输时,国际电报电话 咨询委员会(CCITT)推荐在低于 1200bit/s 数据率时使用 FSK 方式。在衰落信道中传输 数据时,也被广泛使用。 2.4二进制移相键控二进制移相键控及二进制差分相位键控(2PSK)及(2DPSK)2.4.1二进制移相键控(2PSK)方式是受键控的载波相位按基带脉冲而改变的一种调制方 式。设二进制符号及基带波形与以前假设的一样,那么,2PSK 的信号形式一般表示为 e0(t)=[∑ang(t-nTs)]cosω at 这里,g(t)是脉宽为 Ts 的单个矩形脉冲,饿暗暗的统计特性为 +1,概率为 P an= -1,概率为(1-P) 即,在某一码元持续时间 Ts 内观察时,e0(t)为 cosωct,概率为 P e 0(t)= -cosωct,概率为(1-P) 即发送二进制符号 0 时(an 取 0 相位;发送二进制符号 1 时(an 取-1) ,e0(t)取π 相位。 这种以载波的不同相位直接去表示相应数字信息的相位键控,称为绝对移相方式。 如果采用绝对移相方式,由于发送端是以某一个相位作为基准的,因而在接收系统 中也必须有这样一个固定基准相位作为参考。如果这个参考相位发生变化(0 相位变π 相 位或π 相位变 0 相位) ,则恢复的数字信息就会发生 0 变为 1 或 1 变为 0,从而造成错误 的恢复。考虑到实际通信时参考基准相位的随机跳变是可能的,而且在通信过程中不易 被发觉,比如,由于某种突然的骚动,系统中的分频器可能发生状态的转移、锁相环路 的稳定状态也可能发生转移等等。这样,采用 2PSK 方式就会在接收端发生错误的恢复。 这种现象,称为 2PSK 方式的“倒π ”现象或“反工作”现象。所以,在实际中一般不采 用 2PSK 方式,而采用一 种所谓的相对(差分)移相(2DPSK)方式。 2DPSK 方式即是利用前后相邻码元的相对载波相位值去表示数字信息的一种方式。 例如,假设相位值用相位偏移Δ φ 表示(Δ φ 定义为本码元初相与前一码元初相之差) , 并设 Δ φ =π 数字信息“1” Δ φ =0 数字信息“0” 则数字信息序列与 2DPSK 信号的码元相位关系可举例表示如下: 数字信息: 2DPSK 信号相位: 或0 0 1 1 1 0 0 1 0 1 0 0 0 π 0 π π π 0 0 π π π π 0 π 0 0 0 π π 0按照前面的规定画出的 2PSK 及 2DPSK 信号的波形如图 5-1 所示。当然,这里的规 定也可作另一假设,比如 0相 数字信息“1” 对于 2PSK,令 π相 数字信息“0” Δ φ =0 对于 2DPSK,令 Δ φ =π 等等。 数字信息 0 0 数字信息“0” 数字信息“1”111001(绝对码)PSK 波形000 图 5-11 0 1 1 1 (相对码)DPSK 波形 2PSK 及 2DPSK 信号的波形0由图可以看出 2DPSK 的波形与 2PSK 的波形不同,2DPSK 的波形的同一相位并不对 应相同的数字信息符号,而前后码元相对相位的差才唯一决定信息符号。这说明,解调 2DPSK 信号时并不依赖某一固定的载波相位参考值,只要前后码元的相对相位关系不破 坏, 则鉴别这个相位关系就可正确恢复数字信息, 这就避免了 2PSK 方中的倒π 现象发生。 同时我们还可以看出,2DPSK 和 2PSK 是无法分辨的,比如上面波形中 2DPSK 也可以是 另一种符号序列(见图中下部的序列,称相对码)经绝对移相而形成的。这说明,一方 面,只有已知移相键控方式是绝对的还是相对的,才能正确判定原信息;另一方面,相 对移相信号可以看作是把数字信息序列(绝对码)变换成相对码,然后再根据相对码进 行绝对移相而形成,例如图中的相对码就是按相邻符号不变表示原数字信息“0” 、相邻 符号变化表示原数字信息“1”的规律由绝对码变换而来的。这里的相对码概念就是一种 差分波形。 顺便指出,在多相调制中,载波相位的状态书大于 2,矢量的位置数也响应的多于 2。 每一个矢量位置表示一个多进制抹元已调载波的相应相位。 现在再来讨论 2PSK 及 2DPSK 信号的调制与解调。2PSK 及 2DPSK 信号的调制方框 图如图 5-2 所示。 图(a)是产生 2DPSK 信号的模拟调制法方框图;图(b)是产生 2PSK 信号的键控 法方框图;图(c)是产生 2DPSK 信号的键控法方框图。图中码变换器是用来完成绝对 码波形 s(t)到相对码波形变换的。 对于 2PSK 信号的解调,容易想到的方法是相干解调,又考虑到相干解调在这里实际 上起鉴频作用,故相干解调中的“相乘-低通”又可用各种鉴相器代替。其解调过程,实 质上是输入已调信号与本地载波信号进行极性比较的过程,故常称为极性比较法解调。 2DPSK 信号也可采用极性比较法解调,但必须把输出序列再变换成绝对码序列。此 外,2DPSK 信号还可以采用一种所谓的差分相干解调方法,它是直接比较前后码元的相 位差而构成的,故又称为相位比较法解调。由于此时的解调已同时完成码变换作用,故 无需码变换器。由于这种解调方法又无需专门的相干载波,故是一种实用的方法。当然, 它需要一延迟电路(精确的延迟一个码元间隔 Ts) ,这是在设备上花费的代价。后面将会 进一步看到,2DPSK 的系统性能比 2PSK 的也稍差。3 FFSK 数字解调FFSK可以采用相干解凋或非相干解调方式进行解调。 FFSK信号是用载波相位在码元之间的差 值 ?? K 携带信息的,但是在移动通信中, 由于接收信号受到严重的衰落,提取出来的载波质量往往 达不到要求,特别是在多普勒效应等引起的频偏环境下,因此在这样的信道中相干解调的误码性能较 差。差分解调等非相干解调,尽管理论上、静态环境下性能相对差一些,但对信道衰落的影响却不太 敏感,其误码性能反而高。本章将对差分解调或鉴频器解凋等非相干解调方法作详细介绍。3.1 FFSK 解调原理3.1.1 基带差分解调图 3-1 是一种称作基带差分解调的电路框图。这种方法需要用一振荡器来产生本地的正交载波。 此本地振荡信号要与输入信号具有相同的载波频率,否则二者的频差会引起相位漂移,使解调性能恶 化。假设具有连续相位变化的本地振荡器(LO)与本地载波(CR)频率相同,在通过差分解调时将消除相 位误差。c o? s ?C t ? ? 0 ?WKLPF 取样WK WK ?1 ? Z K Z K ?1解码电路UK判决I 'KZ KWK ?1 ? WK Z K ?1并/串? sin??C t ? ? 0 ?LPF取样ZKVK 判决Q' K图 3-1FFSK 基带差分解调电路框图[3]设输入信号为 S K (t ) ? cos(?C t ? ? K ) ,他在同相支路与本地载波 cos(?C t + ? 0 ) 相乘,滤出的低频分量经取样后,得WK ?1 cos( ? K ? ? 0 ) 2(4-1)在正交支路与本地载波 ? sin(?C ? ? 0 ) 相乘,滤出的低频分量经取样后,得 ZK ?1 sin(? K ? ? 0 ) 2(4-2)式中:? 0 为固定相位差。这里所用的低通滤波器应与发端调制器所用的低通滤波器相匹配,以消除码 间干扰。W K 与 Z K 送入解码电路,当采用耐奎斯特信道在白噪声和其它干涉存在的环境中采用直接采样时,如果 ? 0 ? 0 ,则 W K ? U K ,Z K ? VK 。在一般情况下 ? 0 ? 0 。其解码规则为?U K ? WK WK ?1 ? Z K Z K ?1 ? ?VK ? Z K WK ?1 ? WK Z K ?1由此可得(4-3)1 1 ? ?U K ? 2 cos(? K ? ? 0 ) ? 2 cos(? K ?1 ? ? 0 ) ? 1 1 ? ? sin(? K ? ? 0 ) ? sin(? K ?1 ? ? 0 ) 2 ? 2 ? 1 1 ? ? cos(? K ? ? K ?1 ) ? cos ?? K 4 ? 4 ? 1 1 ? Vk ? sin(? K ? ? 0 ) ? cos(? K ?1 ? ? 0 ) 2 2 ? ? 1 1 ? ? cos(? K ? ? 0 ) ? sin(? K ?1 ? ? 0 ) 2 ? 2 ? 1 1 ? sin(? K ? ? K ?1 ) ? sin ?? K ? 4 ? 4根据调制端的编码规则,令这里的判决规则如下:(4-4)?U K ?U ? K ? ?V K ? ?VK' '?0 ?0 ?0 ?0'' IK 判为 1 ' I K 判为 ? 1 Q 'K 判为 1 ' Q K 判为 ? 1(4-5)显然,照这样判决所得到的 I K 与 Q K ,和发端所传输的 I K 与 Q K 完全一样,再经过并/串变换后, 就可以恢复出原来传输的数据 ? ? K ?。'3.1.2 中频差分解调LPF BPF 延迟 TS 相移 ? / 2 LPF 取样 判决 取样 判决并/串图 3-2FFSK 中频差分解调电路框图[3]图 4-2 是一种称作中频差分解调的电路框图。从图中可以看出这种解调具有采样延迟线和相位检 测。这种解调的优点是不需要本地振荡器。经过延迟的信号 S K ?1 (t ) ? cos(?C t ? ? K ?1 ) 与两个支路的 信号 cos(?C t ? ? K ) 和 sin(?C t ? ? K ) 分别相乘,即cos(?C t ? ? K ) cos(?C t ? ? K ?1 ) sin(?C t ? ? K ) cos(?C t ? ? K ?1 )经滤波和取样,可得(4-6) (4-7)1 1 ? ?U K ? 2 cos(? K ? ? K ?1 ) ? 2 cos ?? K ? ? ? 1 1 ? VK ? 2 sin(? K ? ? K ?1 ) ? 2 sin ?? K ?(4-8)这里得到的关系式和式(4-4)是一样的,因而其后的判决方式也和基带差分解调完全相同,其判决 规则见式(4-5)所示。 为消除码间干扰, 这种电路中的带通滤波器(BPF)和低通滤波器(LPF)应精心设计。 一种方法是使带通滤波器与发端调制器所用的低通滤波器相匹配,比如平方根升余弦滤波器,如果采 用平方根升余弦滚降带通滤波器来检测传输信号则载波相位基本保持不变,并且噪声能量降低。差分 解调后信号带宽变成了基带信号带宽的两倍。在不存在码间干扰 ISI 时,带宽为(1+ ? )f s 的理想低通 滤波器被用来滤出频率在 2f S 周围的带通信号;而这里的低通滤波器采用理想矩形特性的滤波器。3.1.3 鉴频器解调鉴频器解调的原理框图如图 4-3 所示。此电路由带通滤波器、限幅器、鉴频器、积分-取样-猝熄 电路,模 2 ? -判决器以及并/串变换器等组成。BPF限 幅鉴 频积分 - 取样 -猝熄?? K模 2? 判决并/串图 3-3FFSK 鉴频器解调的原理框[3]当鉴频器的输入信号为 S (t ) ? cos(?C ? ? (t )) 时,鉴频器的输出信号为D (t ) ?此信号经积分、取样后,得:d ? (t ) dt(4-9)?行模 2 ? 校正。模 2 ? 算法可归纳为:( K ?1)TSKTSD(t )dt ? ? K ? ? K ?1 ? ?? K(4-10)根据相位差 ?? K 即可判决出传输的数据。为了按照表 3-1 的规则进行解码,这里应该在判决之前先进?| ? K ? ? K ?1 |? ? 时, 取 ?? K ? ? K ? ? K ?1 ? ?? K ? ? K ?1 ? ?? 时, 取 ?? K ? ? K ? ? K ?1 ? 2? ? ? ?? 时, 取 ?? K ? ? K ? ? K ?1 ? 2? K ?1 ? ? ? K(4-11) 例如:当 ? K ? ?? / 2 , ? K ?1 ? ?? / 4 时, ?? K ? ?? / 2 ? (?? / 4) ? ?? / 4 ,这时应判决传输 数据为 1,-1;当 ? K ? 0, ? K ?1 ? 7? / 4 时, ?? K ? ?7? / 4 ? 2?? ? / 4 ,这时应判传输数据为 1,1;当 ? K ? 3? / 2 , ? K ?1 ? ? / 4 时, ?? K ?3? / 2 ? ? / 4 ? 2? ? ?3? / 4,这时应判传输数据为-1,1。这种解凋电路所用的滤波器应与差分解调电路所用的滤波器一样考虑,一般也才用升余弦滚降带 通滤波器。 FFSK 的误码性能与它采用什么样的解调方法以及它在什么样的信道条件下工作有关, 本文将在 本章第 4 节具体讲述。3.2 非相干解调与相干解调性能比较在衰落信道中,差分解调及鉴频器解调与相干解调相比硬件电路简单稳定。但是在高斯衰减信道 中差分解调与相干解调相比多 2-3dB 的衰落。为了更好的了解非相干检测的原理及性能,本文在此对 相干解调作了简要的介绍: A LPF BPF CR LPF 图 3-4FFSK 相干解调的原理框图[13]检波 B STR 检波 差分 解码 并 串相干 FFSK 调制解调器框图如图 4-4 所示。在该解调中,每个直接采样的调制信号只有两阶(? 2 ) ,缺省了三阶 (0,?1) 。对于二阶采样信号在信噪比很高的情况下,同相支路和正交支路信号的能量相当。对于三阶信号只有一路信号包含噪声,两极信号之间能量具有很大差别。 在同步锁存前提下,相干解调的操作如下所示,当信号为两极时开关打到 A 位置,与 FFSK 的解 调方法相同;当信号为三阶时,开关打到 B 位置,解调出的信号为:X 2 ? X 1 ? Y1Y 2 ? X 1 ? Y1(4-12) (4-13)解调信号(X 2 , Y2 )与(X 1 , Y1 )相比有 ? / 4 的相移。3-2 阶的相对相移转换使得星座图在?*?,?+?之 间来回转变。由于同相支路和正交支路中的噪声是不相关的,所以噪声能量变为原来的两倍,因此相 干 FFSK 的 BER 与相干 FFSK 的相同。如果当前信号在?+?位置上,而前一个信号在?+?位置上就能够 正确地解码;但是有时当前信号在?+?位置上,前一个信号在?*?位置上,解码数据必须相移 ? ? / 2 , 即: I=Q Q=I 的补数 (4-14)正确的数据可由一分为二的信号时钟驱动的时钟解调出来。 时钟相位与采样信号的开关电路是同 步的。同相支路和正交支路信号由采样时钟控制进行并变串变换[ 20 ]。FFSK 信号的相干解调不如非相干解调容易实现, 而且在衰落信道中, 其抗随机调频的能力也比 较差,因而在移动环境中通信,非相干解调常常被采用。但是就抗噪声的静态特性而言,相干解调的 误码性能比非相干解调好约 2-3dB,因此为了提高通信系统的功率效率,有不少场合,包括移动环境, 人们仍然希望采用相干解凋, 关键的问题是如何采取措施使接收端能够获得优良相干载波。 目前为止, 在无线通信方面,在应用到 FFSK 的场合基本上还是应用非相干检测。3.3 信道非线性对线性调制的影响在无线通信系统中,系统功耗是非常重要的问题。由于使用电池供电,要求系统达到尽可能高的 能源利用率,所以射频放大器常常采用高效率放大器,同时也是非线性的。实际上,即使线性的放大 器(如A类)也难免进入饱和区, 从而具有一定程度的非线性。 射频放大器非线性将会引起幅度与相位失 真,输入信号幅度变化同时导致输出信号的幅度与相位非线性变化,称为AM-AM与AM-PM效应。具 体来讲信道非线性对线性调制的影响有: (1) 自干扰。高阶非线性将会滤波消除的码间干扰出现。即使没有外部噪声,由于自干扰也将使 星座图中的星座点扩散,恶化误码率性能。(2) AM-AM与AM-PM效应。输入幅度变化将引起输出信号 非线性变化与相移。FFSK星座图虽然表示基带符号为恒幅度,但滤波将使信号幅度不再恒定,如果星 座图中相邻符号有180度变化,滤波后信号包络会出现零值。 (3) 频谱再生。虽然滤波改善了信号频 谱特性,但高功率放大器的非线性使被滤掉的边带重新出现,称为频谱再生。这是对线性调制最致命 的影响,它使输出信号达不到移动通信的带外辐射要求。如果频谱再生影响太严重,就只能采用非线 性调制。 分析表明,非线性通过信号幅度波动起作用。那么要减小非线性影响,就要从减小信号幅度波动 入手。 FFSK是应用非常广泛的调制方式,它通过限制相邻符号的相位变化来降低非线性影响。从其 星座图可以看出,它的相邻符号间最多出现135度的变化,不会通过星座图中心。这样滤波后就不会 出现零包络现象[ 21]。 FFSK星座图可以看成两个FFSK星座图(分别以空心圆圈与实心圆圈表示)交错移位PI/4后的叠加,星座点转化发生在两个FFSK星座图之间。增大的星座图使载波恢复难度加大,而且 FFSK并没有消除幅度波动, 采用 FFSK的系统还得采用线性度较好的高功率放大器来避免频谱再生现 象[ 22 ]。总的来说 FFSK具有很好的综合性能,使用非常广泛。3.4 FFSK 的误码性能分析在 FFSK 数字调制中, 可以认为其四个信号相量把相位平面划分四等份, 每一等份的相位间隔代 表一个传输信号。在没有噪声的情况下,每一信号相位都有相应的确定值,即每一信号相位间隔为? / 4 。若叠加有噪声,则合成波形的相位将按一定的统计规律随机变化,这时若发送信号的基准相位为零相位,且合成波形的相位 ? 在下列范围变化??4?? ??4(4-15)则不会产生错误判决。反之,如果合成波形的相位在下列范围内变化?4则会造成错误判决。? ? ? 2? ??4(4-16) 假设发送每一个信号的概率是相等的,且令信号与噪声的合成波形的相位服从一维概率密度f ?? ? ,则系统的误码率 Pe 为:Pe ? 1 ? ? 4? f ?? ?d?? 4?(4-17)当 FFSK 合成波形叠加高斯噪声后,一维概率密度 f ?? ? 为:f ?? ? ?1 ?r ? e ?1 ? 4?r cos? ? e r cos 2? 2? ?? 2?e?x212 r cos???e?x2/2? dx? ?(4-18)?? ?? ? ?式中:r 为信号噪声功率比;积分式1 2??2 r cos ?/2??dx 为概率积分。将式(4-18)代入式(4-17)即可得 Pe 。可见误码率 Pe 是输入信噪比 r 及 FFSK 相位数的函数。在同 样信噪比情况下, Pe 随 FFSK 相位数的增加而增加。对于 FFSK 可得 Pe 为:? 1 ? r ?? ? Pe ? 1 ? ?1 ? erfc? ? 2 ?? 2 ? ? ?? ? ?对于 FFSK 调制,当信噪比足够大时,误码率可近似表示为:2(4-19)Pe ? e ? r sin2?? / 4 ?(4-20)对于相对相移 FFSK 系统的性能,同样可按以上原理导出。不过由于相对相移是利用前一码元信 号的相位作为参考相位的,所以参考相位也是受扰的。假设前一码元信号的相位为 ? 0 ,合成波形的相 位 ? 在下列范围内变化?0 ??4? ? ? ?0 ??4(4-21)由于噪声的影响,前一码元信号的相位 ? 0 也是随机变化的,若其概率密度为 q??0 ? ,则系统总 的误码率为:Pe ? ? q?? 0 ?Pe ?? 0 ?d? 0???(4-22)利用上式直接求误码率 Pe ,也是十分困难的,对于相对相移 FFSK 其叠加波形叠加高斯噪声时, 则可得误码率的近似表达式为:Pe ? e?? ? ? 2 r sin 2 ? ? ?8?(4-23)当然, FFSK 的误码性能还与其采用什么样的调制方法以及他在什么样的信道条件下工作有关[15 ]。 在第五章中将依据实验结论对三种差分解调方式在加入高斯白噪声的信道条件下进行误码性能分析。4 FFSK 调制解调器的系统总体设计 4.1 功能模块介绍数字电路系统一般包括输入电路、控制电路、输出电路、时钟电路、脉冲电路、脉冲 产生电路和电源等。 输入电路主要作用是将被控信号加工变换成数字信号,其形式包括各种输入接口电 路。控制电路的功能是将信息加工运算并为系统各部分提供所需的各种控制。输出电路 是完成系统最后逻辑功能的重要部分。数字电路系统中存在各种各样的输出接口电路。 其功能可能是发送一组经系统处理的数据,或显示一组数字,或将数字信号进行行转换, 变成模拟输出信号。设计输出电路,必须注意与负载电平、信号极性、拖动能力等方面 进行匹配。时钟电路是数字电路系统中的灵魂,它属于一种控制电路,整个系统都在它 的控制下按一定的规律工作。设计时钟电路,应根据系统的要求首先确定主时钟的频率, 并注意与其他控制信号结合产生系统所需的各种时钟脉冲。电源为整个系统工作提供所 需的能源,显然,任何复杂的数字电路系统都可以逐步划分成不同层次、相对独立的子系统。通过对子系统 的逻辑关系、时序等的分析,最后可以选用合适的电路器件来实现。将各个子系统组合起来,便完成 了整个大系统的设计。按照这种由大到小,由整体到局部,再由小到大,由局部到整体的设计方法进 行系统设计,就可以避免盲目的拼凑,完成设计任务。具体可按如下步骤进行:1) 、消化设计要求 必须充分了解设计要求,明确设计系统的全部功能、要求及技术指标。熟悉被处理信号与被控制 对象的各种参数与特点。 2) 、确定总体设计方案 根据系统的逻辑功能画出系统的原理框图,将系统分解。确定贯串不同方框间各种信号的逻辑关 系与时序关系。 3) 、绘制单元电路并对电路仿真 选择合适的逻辑器件, 用电子 PROTEL 软件绘出各种逻辑单元的逻辑电路图。 标注各单元电路输 入输出信号的波形。然后利用电子 PROTEL 软件中的数字电路仿真软件对电路进行仿真测试,以确定 电路是否准确无误。 4) 、完成整体设计 在各单元电路完成的基础上, 用电子 PROTEL 软件将各单元电路连接起来, 画出软件要求的整机 逻辑电路图。重新审查电路,以消除因某种疏忽造成的错误。 5) 、逻辑仿真 整体电路设计完毕后,再次在仿真软件上对整个试验系统进行逻辑仿真,验证设计。 6) 、 数字电路系统的安装与调试 数字实验系统整体电路设计完毕后,还必须通过实验板的安装与调试,纠正设计中因考虑不周出 现的错误和不足。检测出实际系统正常运行的各项技术指标、参数、工作状态、输出驱动情况、动作 情况与逻辑功能。因此,系统装调工作是验证理论设计,进一步修正设计方案的重要实践过程。具体 可按如下步骤进行。4.2 FFS K 信号特点与调制解调方法FFS K (快速频移键控 ) 是特殊的二进制相位 连续 FS K 调制 。FFS K 已调信号相 位 连续, 包络 恒定, 其信道传输特性优于一般频移键控信号 。FFS K 信号的一般表示式为SFFS K ( t)= cos (ωc t +θk )=(1)θk cos ωc t - s in θk s in ωc t cos展开式 ( 1 ) 可得 FFS K 信号的正交表示式,根据 FFS K 信号正交表示式构成 FFS K 信号 调制框 如图 3-1 所示 。图3-1 FFS K 信号调制框图 FFS K 信号属 于 数 字 频 率 调 制 信 号 , 因 此 可 以采用一般鉴频器方式进行解调 , 鉴频器解调 方式结构简单, 容易实现 。 由于 FFS K 信号调制指数较小, 采用一般 鉴 频器方式进行解调误码率性能不太好, 因此在对 误码率有较高要求时大多采用相干解调方式 。 图3-2 是 FFS K 信号相干解调框图, 由相干载波提取和 相干解调两部分组成 。图 3-2FFSK 信号相干解调框图从原理框图可以知道整个系统由两部分组成:信原部分和调制部分。 5 FFSK 调制解调功能模块设计5.1 单片机 AT89C2051 与 CMX469A 接口模块设计图 4-1 单片机硬件接口电路基于CMX469A的无线调制解调器的硬件设计主要包括CMX469A与电台 的接口电路以及与单片机的接口电路两部分。 CMX469A与电台的接口主要用于实现输入、输出模拟电路部分的放大。这部分 电路设计非常简单,用运放LM358就可以实现,这里就不再多说,以下主要说明C MX469A与单片机的接口设计。硬件接口电路如图 4-1所示。 CMX469A与单片机接口时,CMX469A内部产生的TxSYNC和RxS YNC同步时钟线可以同步单片机的发送和接收串行数据。由于发送数据时,从单片机 输出的串行数据在TxSYNC的上升沿必须有效且稳定,因此,应该在时钟的下降沿 输出单片机的串行数据。同样,在RxSYNC的下降沿读取单片机同步数据线(CLO CK DATA)上的串行数据, 同时在RxSYNC的上升沿忽略同步数据线的状态。而 在接收数据时,载波检测端口的输出状态可表明有效的FFSK数据是否进入CMX4 69A,并可通过载波检测来防止CMX469A接收虚假的数据。 CMX469A与单片机的接口电路设计主要分为两部分: 发送接口电路设计和接收 接口电路设计。发送接口电路由发送允许(TxEN) 、发送时钟线(TxSYNC) 、 发送数据线(TxDATA)三部分构成。此时的FFSK数据输出线(TxSIGN AL)用于输出经过调制的FFSK信号。接收接口则由接收允许(RXEN) 、接收时 钟线(RxSYNC) 、载波检测(Carrier Detect) 、时钟同步接收数据 线(CLOCK DATA)等四部分构成。此时,FFSK数据输入线RxSIGNA L为需要解调的FFSK/MSK信号的输入端口。 TXEN为发送使能控制端口,当低电平发送使能后,在时钟信号TxSYNC的同 步下,TXDATA数据线上的信号将依次被采样,同时经过调制即可在TxSIGN AL引脚输出调制后的FFSK信号。 在1200bps下, 该系统可将高电平“1”转换 为1200Hz的正弦波, 而将低电平“0”转换为1800Hz的正弦波, 并由TxSI GNAL端口输出。其发送时序如图2所示,Tx-DATA引脚信号将在时钟信号TX SYNC的上升沿被采样,因此,TXSYNC的上升沿必须有效并且保持稳定。设计 程序时,应该在时钟信号的下降沿依次串行输出要发送的数据。拉高TxEN将使发送 电路进入节能状态,这时TXSYNC将输出逻辑高电平,TxSIGNAL进入高阻 态。TxEN由内部上拉为VCC。 RxEN为接收使能引脚。RxEN为高时,使能接收电路,为低时则使接收电路进 入节能状态。此时,RxSYNC和接收数据端将输出固定电平。接收使能时,输入R xSIGNAL的 FFSK信号经过内部滤波器后可被恢复为串行数据输出。同时,从 接收的数据中还可恢复出同步时钟,单片机通过采样此同步时钟来同步接收数据。接收 时序如图3所示。设计该程序时,应该在同步时钟RxSYNC的下降沿采样CLOC K DATA引脚的数据。 5.2 码变换器ai( 绝 对 码 ) 1 bi ( 相 对 码 ) 1将bi 右 移 一 位1 01 10 10 11 00 0b- 10111001(相对码)不难看出它的逻辑表达式为 a i
bi - 1 = bi 逻 辑 框 图 如 图 6- 7: aibi - 1 延时TSbi图 6- 7 电 路 图 如 图 6 -8 :图 6-8 电 容 C 主 要 是 起 限 流 保 护 作 用 , 反 相 器 U1/U2 起 移 相 作 用 , 即 移 相 器 , 通 过 两 极 反 相 器 相 对 码 完 成 360 度 移 相 , 这 样 就 与 载 波 的 相 位 保 持 同 步 。 输 出 的 B K 信 号 就 作 为 2DPSK 的 调 制 信 号 。5.3 多路分频器(÷2、÷4、÷8、÷16 分频)这一分频器的作用是为了提供一个位同步信号及三路选通信号供八选 一 选 通 八 位 并 行 码 , 从 而 输 出 八 位 串 行 码 。 采 用 (4 位二进制加/减)同步计数 器(74LS193)实 现 。 其 电 路 图 如 图 6 -14 : 图 6- 14 电 阻 R 起 限 流 的 作 用 ,4 位 二 进 制 加 / 减 同 步 计 数 器 74LS193 的 输 出 端 B S 、 S 1 、 S 2 、 S3 , 完 成 ÷ 2 、 ÷ 4 、 ÷ 8 、 ÷ 16 运 算 。 BS 为 位 同 步 信 号 , 频 率 为 1 2 8 . 5 KHZ 。 S 1 、 S2 、 S3 为 八 选 一 的 三 路 选 通 信 号 , 频 率 分 别 为 BS 的 1 / 2 、 1 / 4 、 1/8 。 然 后 与 八 位 并 行 码 , 产 生 码 速 率 为 128.5 KH Z 、 以 8 位为周期的串行信号。 74 LS 193 是 一 类 可 预 置 同 步 可 逆 计 数 器 , P 0~P 3 为 并 行 数 据 输 入 端 。 Q0~Q3 为 数 据 输 出 端 。 LD 为 异 步 清 零 端 , 低 电 平 有 效 , 74 LS 193 清 除 端 CR 是 高 电 平 1 有 效 , 也 与 时 钟 CP 无 关 。 各 功 能 优 先 级 依 次 为 : 清 除 、 置 数 、 计 数 。 引 脚 排 列 图 如 图 6-15 :图 6-15 电特性典型值为 fc=32MHZ, PD=95MW 特点与功能: 1、 其清除是异步的。当清楚端(CR)为高电平时,不管时钟端(CPD、CPU)状 态如何,即可完成清除功能。 2、 其预置也是异步的。当置入控制端(彻底)为低电平时,不管 CPD、CPU 状态 如何,输出端(D0―D3)即可预置成与数据输入端(D0―D3)相一致的状态。 3、 其计数时是同步的。靠 CPD、CPU 同时加在四个触发器上而实现的,在 CPD 或 CPU 上升沿作用下 Q0―Q3 同时变化,从而消除了异步计数器中出现的计 数尖峰。当进行加计数或减计数时可分别利用 CPU 或 CPD,此时另一个时钟 应为高电平。 4、 当计数上溢时,进位输出端(CO)输出一个宽度等于 CPU 低电平部分的低电 平脉冲;当计数下溢时,借位输出端(BO)输出一个宽度等于 CPD 低电平部 分的低电平脉冲。 5、 当把 BO 和 CO 分别连接后一级的 CPD 和 CPU,即可进行联级。 功能表为 CR CD CPU CPD D0 D1 D2 D3 1 × × × × × × ×Q0 0Q1 0Q2 0Q3 0 0 0 0 00 1 1 1× ↑ 1 1× 1 ↑ 1d0 d1 d2 × × × × × × × × ×d3 × × ×d0d1 d2 d3 加计数 减计数 保持不变5.4 滤波器 A 和滤波器 B滤 波 器 A 电 路 原 理 图 6 -16 : 采用适合高频范围的无源滤波器。选 频 放 大 器 即 调 谐 回 路 。当 然 也 可 以 采 用 时英晶体滤波器、或是表面波滤波器。由于滤波频率的不同,滤波电路元 件 L、 C 的 数 值 取 不 同 值 , 从 而 得 到 滤 波 器 A 和 滤 波 器 B。 调 谐 回 路 中 L1 和 C1 为 滤 波 电 路 , 参 数 为 : f 0 = 1 / 2 π ( L C ) 1 / 2 = 1/(2*3.14*(200*10 - 6 *33) 1 / 2 ) =2.2MHZ 所 以 滤波器 A 的中心频率 f0 大约为 2.122MHZ。滤波器 B 的中心频率约为 1.1MHZ。 电路中有两个输出点,输出点 CAR 输出的正弦波送往放大器产生 0/π 相载波后,作 为相位调制器的载波;另一输出点输出的正弦波分别作为 2FSK 的 f2 及 2ASK 的载波图 6-165.5 放大器它 具 有 放 大 和 反 相 作 用 。 产 生 两 路 相 位 相 差 180 度 频 率 相 同 的 载 波 , 得 到 0 / π 相 载 波 电 路 。采 用 三 极 管 NPN9013 组 成 的 共 射 极 放 大 器 。因 为 放 大 器 发 射 极 与 集 电 极 相 位 相 差 180 度 , 所 以 刚 好 能 输 出 相 位 相 差 180 度 的 0 / π 相 载 波 。 当然也可以采用其它方案,例如集成放大器 MA733 本身就具有 0、π 载 波的特点,产生相差 180 度的两路载波信号,这一方案性能高、易调试。但由于 MA733 难以购买且成本高。放大器+5 R1 12 4 0 Q 901 4 3 R1 12 5 0R1 10 3 K R1 4.7 2 KC 7 0.1u F C 8 0.1u F图 6- 175.6 信号调制5.6.1 2FSK、2ASK 调制采 用 三 路 二 选 一 模 拟 开 关 450 3 ,它 同 时 可 以 实 现 2FSK 、2ASK 的 调 制 功 能。 2 A S K 、 2 F S K 调 制 电 路 原 理 图 如 图 6 -18 :图 6 -18 三 路 二 选 一 模 拟 开 关 4503 的 内 部 结 构 如 图 6- 19 : 图 6-19 波 形 图 如 图 6 -20 : 0 AK: 地址: 导通开关: 000 U2U4 1 0 0 1 0 0111 U3U5000 U2U4000 U2U4111 U3U5000 U2U4000 U2U42ASK:2FSK:f1f2f1 f1 图 6-20f2地 址 端 A、 B、 C 连 接 在 一 起 ,同 时 输 入 数 字 基 带 信 号 , 当 基 带 信 号 为 0 时 地 址 码 为 0 00 , 经 二 选 一 译 码 器 译 码 后 , 数 据 线 0 、 2 、 4 输 出 高 电 平 , 选 择 通 过 1 . 1MHZ 载 波 ( f1 ) , 基 带 信 号 为 1 时 地 址 码 为 111 , 经 二 选 一 译 码 器 译 码 后 , 1 、 3 、 5 输 出 高 电 平 ,选 择 通 过 2.21MHZ 载 波 ( f2 ) 。 f1 载 波 从 芯 片 第 2 引 脚 输 入 通 过 模 拟 开 关 U2 选 通 从 芯 片 第 15 引 脚 输 出 作 为 2FSK 已 调 信 号 0 ;由 于 芯 片 第 5 引 脚 接 地 ,所 以 此 时 模 拟 开 关 U4 导 通 后 芯 片 第 4 引 脚 输 出 0 电 平 作 为 2ASK 已 调 信 号 0 。f2 载 波 从 芯 片 第 1 引 脚 输 入 通 过 模 拟 开 关 U 3 选 通 从 芯 片 第 15 引 脚 输 出 作 为 2FSK 已 调 信 号 1 ;而 同 时 芯 片 第 5 引 脚 也 接 2.21MHZ 载 波 ,此 时 模 拟 开 关 U4 导 通 后 ,载 波 通 过 芯 片 第 4 引 脚 输 出 , 作 为 2ASK 已 调 信 号 1 。 开 关 是 选 用 四 双 向 模 拟 开 关 4066 。 5.6.2 2DPSK 与 2PSK 调制这 两 种 调 制 是 采 用 开 关 调 制 方 式 , 芯 片 是 选 择 八 选 一 模 拟 开 关 4051 。 它 是 属 于 C M O S 芯 片 , 性 能 稳 定 , 功 耗 小 。 4051 功 能 结 构 如 图 6 -21 。 将 地 址 输 入 端 A、 B、 C 连 接 起 来 , 同 时 输 入 要 调 制 的 信 号 ( 相 对 码 或 绝 对 码 ) , 那 么 A 、 B 、 C 只 有 两 种 可 能 即 : 000 或 111 。 经 八 选 一 译 码 器 译 码 后 只 有 第 0 个或第 7 个数据端输出有高电平。其他都是低电平。当第 0 个数据输 出 端 呈 高 电 平 ,那 么 双 向 模 拟 开 关 U0 被 选 通 , 0 相 位 的 载 波 就 通 过 开 关 输 出,相反当输入信号为 1 时,第 7 个数据输出端呈高电平,双向模拟开关 U 7 被 选 通 , π 相 位 载 波 经 模 拟 开 关 输 出 。 这 样 就 实 现 了 2PSK 或 2DPSK 的 调 制 , 如 果 是 相 对 码 则 是 2DPSK 调 制 , 是 绝 对 码 则 是 2PSK 调 制 。图 6-21 波 形 图 如 图 6- 22 : 0 1 0 1 AK/BK 地址: 000 数据线:0 相位: 0 111 7 π 000 0 0 111 7 π 111 7 π 0 0 000 000 0 0 111 7 π 000 0 0 1 0 0 1 0波形:图 6-22 电路原理图如图 6-23: 图 6-23 第 6 、7 引 脚 是 禁 止 端 ,应 接 低 电 平 ,输 出 端 接 一 个 51 欧 的 下 拉 电 阻 , 防 止 由 放 大 器 来 得 灌 电 流 对 芯 片 的 影 响 。 电 容 C 起 藕 合 的 作 用 。 2DPSK 信 号通过射随放大器放大输出。6 系统软件设计6.1 系统发射与接收流程图图 5-1 系统发射与接收流程图 6.2 软件设计思路本系统的软件设计主要包括FFSK发送程序和FFSK接收程序,其程序流程图如图 5-1 所 示。发送FFSK数据时,首先需要拉低发送使能端口TxEN,接着检测时钟线(TxSYNC) ?并在每一个时钟下降沿移位输出一位数据,一直到数据全部发送完成,然后拉高发送使能端口。至 此,FFSK发送数据结束。 接收FFSK数据时,由于接收时钟线RxSYNC被接在单片机的中断引脚上,因此,只要 有FFSK数据到达,接收时钟线就会输出经过恢复的时钟信号,并引起单片机中断。为了防止误操 作,进入中断子程序以后,应该首先判断载波检测端口是否有效。如果无效,表明是误操作,此时应 退出接收子程序;如果有效,则继续接收FFSK数据。在每一个RxSYNC时钟的下降沿,都要 锁存接收数据线(CLOCKED DA-TA)的状态,一直到接收数据结束。同时,在接收数据时, 为了防止单片机由于等待数据而死机,必须加上码间隔判断,如果超过一定的时间没有收到预期的数 据,则将以前接收的数据废弃,并进行数据接收初始化,以重新进行接收。发送、接收FFSK数据内容可以按照自定义协议来完成,具体为:第一字节为数据长度,然 后为若干个字节的数据内容,最后为和校验码以及异或校验码。经笔者实践证明,这种协议可以比较 有效地实现数据的发送和接收,同时检测传输误码的效果也比较好。 单片机工作在数据发送状态时 , 数据发送开 始 , P112 = 0, 置 TX EN 低电平 , CM X 469A 发送使 能 。 P111 在数据发 送 过程 中 始终 检测 发 送同 步 时钟 TX S YN C , 并 在 TX S YN C 下 降 沿 由 P110 输出 1 b it 数据, 数据块发送结束, P1 12 = 1, CM X 469A 发送 使 能 禁 止, 退 出 发 送 状 态 。 单 片 机工 作在数据接收状态时, 首先置 P314 = 1, CM X 469A 使能 。 接收 P312 ( / IN T0 ) 与接收同 步 时钟 RX S YN C 同步产生中断 , 由于 RX S YN C 与 接收数据同步, 则单片机每 当 接收 一 位 FFS K 数 据 , 即进入中断一次 , 在中断服务程序中 , P113 接 收同步时钟数据线 CLO C K ED DA TA 的数据 , 并 存入数据接收缓冲器, 直至数据接收结束 。 因单 片机是低 电 平中 断, CLO C KED D A TA 数 据是 在 RX S YN C 下降沿采样。 在中断服务程序中先判 断是否 P315 = 1, 即载 波 检测 信 号 C a rrie r D e tec t 是否有效, 以防止错误接收。 CM X 469A 的发送时序如图 5-2 所示图 5-2 发送时序单片机控制 TX EN 低电平 , 使 CM X 469A 进 入发送工作状态 。 在时钟信号 TX S YN C 的 同步 下 , TX DA TA 数据线上的信号将依次被采样 , 并 进行 FFS K 调制 , FFS K 已调信 号在 TX S IGNAL线上输出 。 系统传输速率 2 400 B p s 时, 数据 “0 ” 调制成 2 400 H z 的 正弦 信号, 数 据 “0 ” 为 1 200H z 的正弦信号 , 并且输出已调波的相位连续 。 当 发送同步时钟信号 TX S YN C 的上升 沿稳定有效 时, 由单片机输出给 TX DA TA 的数据被采样, 下 一位数据 由 单 片 机 在 TX S YN C 信 号 下 降 沿 给 出 , 直至待发送数据块全部发送完毕 。 数 据发送 结束, 单片机输出高平, 使 TX EN = 1, TX S YN C 固定为 逻 辑 高 电 平, TX S IGN AL 信 号 线 为 高 阻 态。 发送电路部分进入节能状态 。 图5-3 CM X 469A接收时序当单片机控制 RX EN 高电平 , CM X 469A 进 入接收工作状态 。RX S IGN A L 接收到的 D A已调 FFS K 信号经过内部滤波器后进行 FFS K 解调 , 解调后的串行数据由 CLO C K ED TA 信号线输 出 , 同时在接收信号中恢复接收同步时钟信号 RX 行 数 据 CLO C KED DA TA 在同步时钟信号 RX RX S YN C 下降沿中断方式 接收 CLO C KED 控制 RXS YN C , 由 图 5-3 可 见 , 串S YN C 的下降沿有 效 , 因此单片机通过D A TA 线上数据 。当数据接收 结束 , 单片机EN 为低电平 , 使接收电路 部分进入节能状态。 7 总结及致谢7.1 小结通过设计这套 FFSK 信号调制与解调的设计,我有以下几方面的心得体会: 首先,在设计中通过老师的指导,了解、认识了电子电路的设计流程、步骤和方法。 在设计电路时,先应一套总体思路,然后根据思路设计框架图,再根据框架设计各个单 元电路,最后将各电路组合安装、调试。 其次,通过这次的设计,将三年来所学的课程(电工、数字电子、模拟电子等) ,融 会贯通在一起,可谓是一次真正意义的知识应用与实践。与此同时,还加深了对所学知 识的进一步理解,对以前学习过程遇到的模糊的概念,疑难问题也迎刃而解,可谓是一 次知识的升华。 还有我个人认为在这次设计中最重要的收获是无形中形成的一套电子电路知识体系 和设计思路。而知识体系和设计思路的形成也真正的达到了大学学习的目的:学会学习。 这为以后无论是继续学习,还是从事相关工作都奠定了基础。 然而,通过这次设计我也发现了很多不足之处: 知识欠缺,还不完善,还有很多需要去认真学习、钻研。 对设计过程中的很多部分还只停留在定性分析阶段,不能进行定量分析。 缺乏实践经验,对元器件的认识还不够,特别是对元器件的选用上还不能独立完成。 由于知识的缺乏,对这套系统设计还不完善,例如,没有加入开机延时电路等。7.2 致谢首先感谢各位指导老师,各位同学给我的支持和帮助,感谢他们在这几个月份给与 的关键性指导和提议。 同时我也感谢家里的父母,为我提供了一个很好的学习环境,和无微不至的关怀, 在我感到困难和灰心时,他们对我的鼓励,我的成功有他们不可以或缺的功劳。 感谢我的指导老师,他们严谨细致、一丝不苟的作风一直是我工作、学习中的榜样; 他们循循善诱的教导和不拘一格的思路给予我无尽的启迪。 感谢同学们对我的帮助和指点。没有他们的帮助和提供资料对于我一个对网络知识 一窍不通的人来说要想在短短的几个月的时间里学习到电子知识并完成毕业论文是几乎 不可能的事情。 岁月如流,流走的是时光,流不动的是永存于心底的这份情愫! 8参考文献[1] 杨留清,张闽申,徐菊英.数字移动通信系统.北京:人民邮电大学出版社, [2]宋文娟,殷奎喜,郝辉.PI/4-QPSK 调制方式及其与 GMSK 调制方式的比较.电子工程师,2002,28(7):58-62 [3] 郭梯云,詹道庸,杨恰.数据传输(修订本).北京:人民邮电出版社,1998 [4]李建新,刘乃安.现代通信系统分析与仿真.西安:电子科技大学出版社,2000 [5] 关宗安,仲从久.PI/4-DQPSK 基带调制解调的 DSP 实现.沈阳航空工业学院学报.): 87-88 [6] 侯周国,钱盛友.基于 Matlab 编程的 QPSK 的仿真.广西师范大学学报,):22-24 [7] William H.Tranter.通信系统仿真原理与无线应用.北京:机械工业出版 社.9,89-123 [8] 徐明远,邵玉斌.MATLAB 仿真在通信与电子工程中的应用.西安:电子科技大学出版社,2005 [9 ]John G.Proakis.现代通信系统 MATLAB 版.刘树棠译.北京:电子工业 出版社,2 [10] 樊昌信.通信原理教程.北京:电子工业出版社,2004 [11] 魏巍.MATLAB 信息工程工具箱技术手册.北京:国防工业出版社,2004 [12] 林雪松,周婧,林德新.MATLAB7.0 应用集锦.北京:机械工业出版社,2006 [13] Dr.Kamilo Feher.PI/4-QPSK MODEMS FOR SATELLITE SOUND/DATA BROADCAST march 1991SYSTEMS.IEEE transactions on broadcasting,vol.37, no.1,[14] Yang.J,Feher.k.Nonredundant error correction for PI/4-QPSK in mobile satellite channels.Vehicular Technology Conferece,1991. ?Gateway to the Future Technology in Motion?,41 IEEE [15] 宋文娟,殷奎喜.QPSK 调制解调过程中滤波器的选取与研究.无线电工程.):12-14 [16] 蒋娜,钟洪声.PI/4-QPSK 调制解调硬件实现中的误码率分析.电子工程师.):39-41 [17] 高敏,朱克勤.高速 DQPSK 解调器的算法及实现.上海航天.2004,第 2 期:22-25 [18]S Chennakeshu, G J Saulnier. Differential Detection of PI/4 Shifted DQPSK for Digital Cellular Radio, IEEE Trans on VT,):69-74 [19] 王家文,王皓,刘海.MATLAB 7.0 编程基础.北京:机械工业出版社,8 [20] 郭道省,张邦宁,杨喜根.一种新的 PI/4-DQPSK 解调译码方案.信号处理.17(3):222-226 [21] 王永纲, 张万生, 石江涛. 基于 PI/4-DQPSK 的无线收发器的设计和实现. 电路与系统学报, 2005, 10(2):6-9 [22] 柯炜,殷奎喜.平滑相位的 PI/4-DQPSK 解调及其在移动通信系统中的应用.电视技术.2003, 第 1 期:88-91 9 附录附录一:总原理图 附录二:元件清单元件位号 C1 C2 C3 C4 C5 C6 C7 C8 C9 D1 E1 F1 J1 R1 R2 R3 U1 U2 U3 XTAL1 XTAL2型号及参数 22P 22P CAP CAP CAP CAP 10uF/25V 10uF 0.1uF IN4007 ECAP 2.5A +12V 10K 10K 3.3K CMX469 89C 12M 4M 附录三:程序清单//OK, //cpu: at89c2051 #pragma ot (6) #include &ABSACC.H& #include &reg52.h& #define uchar unsigned char #define uint unsigned int sbit sbit sbit sbit sbit ch_rx = P1^3 ; TX_EN = P1^4 ; ch_tx = P1^2 ; TX_ENABLE = P1^7; wdi = P1^5;//uchar ch_data[5]={0,0}; uchar receve_end_flag=0, rece_data=0, ch_counter=0,receive_byte_data=0; uint time0_flag=0; bit flag_send_over1=0, rece_flag=0, receive_byte_end_flag=0; bit CH_TI=1; void dog() { wdi = ~ } void ch_ser_short_delay() small {
for( i = 0 ; i & 12 ; i++ ) { ; } } void ch_ser_delay() small {
for( i = 0 ; i & 25 ; i++ ) { ; } } void modem_delay(unsigned char count) small { unsigned char data i,j; for(i = 0 ; i & i++ ) { for(j = 0; j & 255 ; j++ ) dog(); } } void ch_ser_send(unsigned char buf) small {
// ////TR2 = 0; CH_TI = 0; ch_rte = 0; modem_delay(10); ch_tx = 0; ch_tx = 0; ch_ser_delay(); for( i = 0 ; i & 8 ;i++ ) { buf = buf&&1; //bitbuf = CY; ch_tx = CY; ch_tx = CY; ch_ser_delay(); } ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_tx = 1; ch_ser_delay();// // }ch_rte = 1; CH_TI = 1; TR2 = 1;void main() { ch_rx = 1; TX_EN = 0; TX_ENABLE = 1; // // // IT1 = 0; EA=1; EX1 = 1; EX0 = 0; SCON = 0x50; //11..8.1.N p61 TMOD = 0x21; //P42 PCON = PCON & 0x7f; TH1 = 0 //P61 TL1 = 0 TR1 = 1; //P53.56.68.69.88 TI = 0; RI = 0; EX0 = 0; EX1 = 0;//1; //禁止外部中断 0 的中断 //禁止外部中断 1 的中断 ES = 1; EA = 1; TH0 = 0xD8; TL0 = 0xF0; ET0 = 0; TR0 = 0; ch_rx = 1; TX_EN = 0; TX_ENABLE = 1; EX1 = 1; aa://开放串行口中断 //开放 CPU 总中断if(TX_ENABLE) { EX1 = 0; ES=1; TX_EN=1; modem_delay(2); ch_ser_send(0xff); modem_delay(1); //ch_ser_send(0xaa); //modem_delay(1); ch_ser_send(0xf0); modem_delay(1); ch_ser_send(0xf0); modem_delay(1); ch_ser_send(0xf0); modem_delay(1); while(TX_ENABLE) { if(rece_flag) { ch_ser_send(rece_data); rece_flag=0; rece_data=0; } } modem_delay(1); ch_ser_send(0x0f); modem_delay(1); ch_ser_send(0x0f); modem_delay(1); TX_EN = 0; EX1 = 1; } if(receive_byte_end_flag) // { receive_byte_end_flag=0; if( receive_byte_data!=0xf0) { receive_byte_data=0; ch_counter=0; }else { receive_byte_data=0; ch_counter++; TR0=1; ET0=1; TH0=0XD8; TL0=0XF0; time0_flag=0; } if(ch_counter==3) { while(receve_end_flag&2) //包尾标记,用于判断是否结束本包的 接收和转发。 { EX1=1; if(time0_flag&=50) // 字节之间超时 548ms,结束本包接 受; { //TR0=0; ET0=0; TH0=0XD8; TL0=0XF0; time0_flag=0; } if(receive_byte_end_flag) { receive_byte_end_flag=0; //ch_data[ch_counter]=receive_byte_ if(receive_byte_data==0x0f) { receve_end_flag++; }else{ receve_end_flag=0; } SBUF =receive_byte_ while(!flag_send_over1) {}; modem_delay(0); flag_send_over1=0; bb: yy: receive_byte_data=0; } } TR0=0; ET0=0; TH0=0XD8; TL0=0XF0; time0_flag=0; receve_end_flag = 0; ch_counter = 0; } //TR0=0; ET0=0; TH0=0XD8; TL0=0XF0; time0_flag=0; //receve_end_flag = 0; //ch_counter = 0; EX1 = 1; } if(time0_flag&=1) 有收到下一个包头则本包无效; { TR0=0; ET0=0; TH0=0XD8; TL0=0XF0; time0_flag=0; receive_byte_data=0; ch_counter=0; } } void int1() interrupt 2 using 1 { unsigned char data i,ch_ unsigned char idata j=1,numb_0=0,numb_1=0; //////////////////////////////////////////// // learn the comm /////////////////////////////////////////// EX1=0; ch_sbuf = 0; ch_ser_short_delay(); if(ch_rx ) { EX1=1; }; ch_ser_short_delay(); ch_ser_short_delay(); for( i = 0 ; i & 8 ; i++ ) { ch_sbuf = ch_sbuf&&1; if(ch_rx) // 收到第一个包头后 10.8ms 内没//关定时器; { ch_sbuf = ch_sbuf|0x80; }else { ch_sbuf = ch_sbuf|0x00; } ch_ser_delay(); }//receive_byte_data = ch_ ch_rx = 1; //ch_ser_count++; //modem_delay(1); for(i=0;i&8;i++) { dog(); if((ch_sbuf&j)==0) { numb_0++; }else { numb_1++; } j=j&&1; } if(numb_0!=numb_1) { EX1=1; receive_byte_data=0; receive_byte_end_flag=0; }else { EX1=0; receive_byte_end_flag=1; receive_byte_data=ch_ } /*if(receive_byte_data==0xf0) { receive_byte_data=0xf0; } */ numb_0=0; numb_1=0; } void int_t0() interrupt 1 using 1 { time0_flag++; TH0=0xD8;TL0=0xF0; } void serial_port() interrupt 4 using 1 { ES=0; if(TI==1) { TI=0; flag_send_over1=1; ES=1; }; RI=0; rece_data = SBUF; rece_flag = 1;//发送中断标志位 ES=1; }
赞助商链接

我要回帖

更多关于 芯片替代型号网站 的文章

 

随机推荐