超低频数据采集系统接收机的开发研究
姓名:谢波申请学位级别:硕士专业:电磁场与微波技术指导教师:董天临
20080531
摘 要
超低频通信技术是当今国际瞩目的一个新兴研究领域,在随钻测井、水下通信系统、海洋、地震监测、核废料处理及环境保护等方面具有广泛应用前景。
钻井过程中,井下实时信息捕获的多少直接决定了系统的性能和成本。信息捕获的越多,钻井系统的效率越高,成本也越低。因此,作为整个测井设备纽带的随钻测井信息传输系统成为系统核心的关键技术之一。为了将随钻测井信息顺利传输到地面,我们设计了一个超低频无线数据采集系统,以实现井底与地面的通信数据传输的过程。系统方案包括发射机和接收机两部分,本文主要研究超低频无线数据采集系统中的接收部分,并根据系统的工作原理及需求提出了接收机的总体设计方案,涵盖软、硬件两部分的设计。其中,硬件设计包括天线的设计、信号处理电路、单片机系统、电源电路、串口通信电路五方面。接收机软件部分采用C语言设计,以伟福公司的WH6000为开发环境进行编译和调试。发射机初始化软件采用Visual Basic语言来设计。
最后,结合已设计的发射机和接收机的软件对超低频线圈天线和信号处理电路进行了分析与调试,并做了总结。
关键字:超低频通信 天线 单片机 串口通信
I
Abstract
The ultra low frequency communication technology which attached great attention across the world as a new research field has a broad application prospect in logging while drilling, underwater communication system, marine seismic monitoring , nuclear waste disposing and environment protection, etc.
During drilling operation, the real-time information acquired from underground will deliberately decide the performance and cost of the system. The more information received, the higher efficiency the drilling system will possess and the lower the cost will be. Therefore, the information transmission system of logging while drilling has become the key technology of logging system. In order to transmit the underground information to the ground, we design a ultra low frequency wireless data acqisition system to realize the communication data transmission between underground and ground. The system scheme includes transmitter and receiver; here we mainly research on the receiving part of ultra low frequency wireless data acquisition system. Besides that, a general design scheme including both software design and hardware design is provided according to the system working principle and requirement. The hardware part contains the antenna design, signal processing circuit, monolithic computer system, power circuit and serial communication circuit. The software part of receiver is developed by C program language, and has been compiling and debugging under WH6000 environment designed by WEIFU company while the initial software of transmitter applies Visual Basic as the program language.
Finally, combined with the designed software of transmitter and receiver, a design summary is made by analyzing and debugging the ultra low frequency coli antenna and signal processing circuit.
Key Words: Ultra Low Frequency Communication Antenna
Monolithic Computer Serial Communication
II
独创性声明
本人声明所呈交的学位论文是我个人在导师指导下进行的研究工作及取得的研究成果。尽我所知,除文中已经标明引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的研究成果。对本文的研究做出贡献的个人和集体,均已在文中以明确方式标明。本人完全意识到,本声明的法律结果由本人承担。
学位论文作者签名: 日期: 年 月 日
学位论文版权使用授权书
本学位论文作者完全了解学校有关保留、使用学位论文的规定,即:学校有权保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅和借阅。本人授权华中科技大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
本论文属于
保密□,在_____年解密后适用本授权书。 不保密□。
(请在以上方框内打“√”)
学位论文作者签名: 指导教师签名: 日期: 年 月 日 日期: 年 月 日
1 绪论
1.1 研究背景
钻井过程中,对井下实时信息了解的越多,越能接近高效率、低成本的钻井目标。随着现代信息技术的发展,井下信息的采集与处理不再遥不可及。要了解井下的信息,关键是如何把井下信息实时地远距离传至地面。
通过远距离测量物体特性并把结果传输到工作站进行显示、记录以及分析的方法称为遥测技术[1]。在此过程中,往往会有多个或多组测量信号变成一种形式的单一数据流传输出去,一旦接收到这样的数据流,即可通过相反的过程还原成最初形式的原始数据。空间的遥测技术,例如航空、航天以及导弹发射等方面监测等,已经发展的相当成熟。这些空间遥测技术传输通道多是以电磁波作为载体。井下遥测或信息传输技术因为其特殊的困难,发展较慢。20世纪70年代泥浆脉冲信号遥测技术进入商业化阶段[2],起初用于随钻测量,只是用作了解井孔倾斜信息。随着随钻测井特别是地质导向技术的发展,需要传输的地下信息越来越多,泥浆脉冲传输技术难以满足智能化钻井技术的需要。1991年美国石油协会随钻测量论坛专门讨论了泥浆脉冲传输能力不足的问题,这促使人们考虑研制其他井下信息遥传技术[2][3]。
基于上述原因,电磁波随钻遥测技术发展迅速,应用领域也更加广泛,不仅可以用于随钻测量,还可用于随钻测井以及其他方面。
电磁波在地层中传播的特性与在空中有很大差别。在地层中传播,电磁波的衰减得很厉害,并且电磁波随地层深度衰减的程度与电磁波的频率成正比,即电磁波频率越高,传播的距离越近[4][5]。
因此,上述随钻遥测技术多采用超低频通信技术[6],超低频通信技术是利用无线电频谱中的超低频谱段(美国将3-3kHz段称为极低频,前苏联将其划分为三个频段:3-30Hz为极低频;30-300Hz为超低频;300-3000Hz为次低频)。
超低频通信具有如下优点[7]:
1.超低频信号在地壳中传播的衰减远比其它常用的低频信号低得多,因此可以有更高的穿透深度。
2.超低频信号对不可靠的传播条件不敏感,传播稳定可靠,是为数极少的几种
1
不受电磁波破坏的通信手段之一。
3.抗干扰能力较强,如果试图干扰超低频通信,就必须要有比超低频通信信号更强大的功率输出。
由于钻井深度大,通信距离远,同时地壳中的结构特点使得电磁波中的高频成分会被极大的衰减,因此需要借由超低频信号抗干扰能力强,传播远的特点,实现井下信息实时地远距离传至地面的通信过程。
1.2 国内外研究概况
超低频通信技术由于其独特的优势在军事领域的对潜通信、随钻测井、地震预报、监测和资源勘察、地质勘探、水库和大坝以及核电站等领域具有广泛的应用前景[7][8]。
1958年,美国海军开始研究利用超低频向核动力弹道导弹潜艇进行抗毁单向信息传输。1972年,海军成功地实施了与4600公里外,天线在水下102米深、航速为16节的潜艇进行通信联络。1984年12月,美国官方首次公开了它们在建立自己的超低频对潜通信系统。从1985年5月起,美国先后在太平洋舰队、地中海、西太平洋及北极冰盖条件下对潜极低频通信均试验成功。1986年底,两台同时完工,交付给海军投入使用,随后,在美国所有的核潜艇上逐步安装上超低频接收机。
英国和法国也是有核潜艇的国家。1985年8月,美国派出了一个专家小组去帮助英国在苏格兰地区考察发射机站址,1986年在那里选站架设一付22公里长的发射天线,进行技术论证。法国也是从1984年开始从事有关研究工作,法国汤姆逊无线电公司和CGE公司就在从事这方面的研究工作。
前苏联1967年开始研究潜艇的深水通信问题。1981-1991年,他们正式在科拉半岛建造永久性的发射台,选用30-200Hz频段工作,发射天线为2根平行的各长60公里,两端接地,彼此相距10.5公里,各有一部发射机,由一个总控制台控制。发射机功率为兆瓦级。据说,该台从1983年就开始了发信,当工作频率选用81±3.13Hz时,可对6000公里远100米深的潜艇进行通信,其最大通信距离可达1万公里。由于科拉台的天线是东西向平行走向,它对大西洋和西太平洋的覆盖较好,对地中海和东太平洋、印度洋则方向性较差。他们从1993年起,还利用该台进行了更低的工作频率(30Hz以下)的试验,认为如果工作频率选用10Hz,有可能对水下270米深的潜艇进行通信。苏联解体后,俄罗斯对超低频技术仍在继续研究[9]。
我国在超低频对潜通信方面有相关的单位正在开展研究,但由于军事用途明显,
2
未见具体的研制和实验成果见报导。
由于超低频通信系统的建设极其复杂,而且耗资巨大,虽然超低频在对潜通信领域的应用早在50年代末便已显现出其发展潜能,但随钻测井、地震预报等民事领域的研究则起步较晚,仍处于起步阶段[1],随着超低频通信技术的迅速发展,超低频应用范围将越来越广泛。
1.3 课题的目的及意义
作为整个测井设备纽带的随钻测井信息传输系统成为系统核心的关键技术之一。为了能够让随钻测井信息传输到地面上来,本课题的目的是设计并开发一套基于超低频通信技术的数据采集系统,应用于随钻测井中采集数据的存储与传输,电磁波的发射频率范围为1-100Hz,使用数字脉宽调制方式(DPWM),这些工作都将由单片机软件编程完成。
此外,希望本文设计开发的基于超低频通信技术的数据采集系统能对超低频通信技术在随钻测井、监测和资源勘察、地质勘探等领域的应用提供一定的参考价值和借鉴意义。
1.4 本文的主要工作及研究
本文的主要工作是对接收机的研究,包括以下几个方面:
1.结合系统的工作原理,提出了接收机的总体设计方案,涵盖软、硬件两部分的设计。
2.分模块对对接收机的硬件进行详细设计。
3.根据接收机软件和发射机初始化应用软件的结构及功能模块,采用规范的程序设计方法对其进行软件的编写并进行调试。
4.结合已设计的发射机和接收机的软件对超低频线圈天线和信号处理电路进行了调试与分析。
1.5 全文内容结构安排
第一章详细介绍本研究课题的背景和意义。说明本文完成的主要工作、研究以及论文的主要内容和章节安排。
3
第二章首先分析系统工作原理,然后对接收机总体方案进行了系统地分析研究给出了硬件设计和软件设计的总体方案。
第三章分模块详细说明接收机硬件部分各模块的具体实现。 第四章详细说明接收机软件和发射机初始化软件各模块的具体实现。 第五章接收机系统仿真与调试结果分析。 最后是全文总结。
4
2 接收机方案研究
2.1 系统工作原理
系统主要完成随钻系统中的传感器采集的数据从地下传输到地上的通信过程。钻头传感器与发射机中的单片机通过串口的方式来进行数据传递,钻头传感器主要传递地下的一些参数信息给发射机,然后发射机经过编码、放大等一系列的处理过程,最后通过线圈将信号发射出去;接收机通过线圈接收信号,然后对接收的信号进行滤波、放大、解码等一系列的处理,最后通过串口与地面的PC机相连,这样就完成了随钻系统的数据传输,工程人员就能很清楚地了解到地下的一些信息了。
整个系统的工作原理如图2-1所示:
地面接收机超低频电磁波钻杆井下发射机钻头传感器
图2-1 系统工作原理图
2.2 接收机总体方案设计
接收机的总工作流程如图2-2:接收机先通过天线接收信号,然后对接收到的信号进行滤波放大、整形等信号处理电路的处理之后,单片机再对该信号进行解码,最
5
后将解码得到的数据通过串口发送给PC机。
开始接收信号信号处理电路单片机解码单片机将解码数据发送给PC结束 图2-2 接收机总工作流程图
2.2.1 接收机硬件设计方案
结合接收机的总工作流程图,本次接收机硬件设计方案如图2-3。
接收机硬件设计部分主要分五个模块:天线、信号处理电路、单片机系统、电源电路、串口通信电路。
天线:主要负责接收发射机天线发射出来的超低频电磁波信号。
信号处理电路:由滤波电路、放大电路、波形整形电路三部分组成,它们主要将经由天线接收到的信号尽可能恢复成发射机发射的信号。
单片机系统:主要负责数据的解码、数据储存、数据的转发。
电源电路:将220V标准电压转换直流电压给接收机电路供电,且有过载保护功
6
能。
串口通信电路:单片机与PC通信的电路。
滤波电路串口电路单片机系统放大电路PC整形电路电源电路 图2-3 接收机硬件设计框图
2.2.2 接收机软件设计方案
本次接收机软件设计方案如图2-4。从模块划分上而言,大致模块如下: (1) 接收机初始化模块:单片机的初始化。
(2) 数据接收模块:负责将接收电路接收到的数据读入单片机。 (3) 数据解码模块:根据编码规则将信号数据还原为字符数据组。 (4) 数据发送模块:负责将已解码的数据通过串口送到PC机。
7
开始单片机初始化循环子程序开始接收数据解码还原N存储数据通过串口送往PC结束Y结束
图2-4 接收机软件设计流程图
2.3 本章小结
在本章中,主要讨论了研究课题的系统工作原理,然后在此基础上,给出了接收机总体设计方案,同时对接收机硬件与软件进行了模块化设计,最后给出了设计的方案。
8
3 接收机的硬件设计
3.1 天线的设计
天线是在无线电收发系统中,向空间辐射或从空间接收电磁波的装置,是无线电通信系统中必不可少的部分,其性能的优良与否,往往在无线通信中起到事倍功半的作用。不同频率、不同用途、不同场合、不同要求等不同情况下的无线通信对于天线的特性、设计有着完全不同的要求[10]。
接收机系统采用1-100Hz的电磁波,其频率极低。根据电磁波半波天线发射理论
[11]
,天线的长度将达到几千公里,显然在实际应用中制造出如此长的发射天线是不现
实的;因而需要通过一种新方法建立超低频电磁波的传输模型。
由于工作频率极低,通常天线的计算方法已不适用。这里只能从新的实际情况出发,在超低频领域进行新的探讨。根据系统的需要,本次接收机的天线是基于磁偶极子模型的,也就是常见的线圈的天线,所以后面的探讨都以线圈天线为基础。 3.1.1 超低频天线的性质
本次设计的天线是一个有磁芯的螺线管线圈,我们可以把它视为一个在轴向无长度的线圈即磁偶极子[10][11],当频率f=1-100Hz时,由磁偶极子的辐射电阻公式[12],我们可以知道发射机在一个波长之外(2000公里之外)的发射功率为零。由于我们研究范围比较小,所以接下来我们来研究发射机附近的情况(r⋅k<<1)。
根据天线理论的知识磁场为:
[11][12]
JJG1JG
,我们利用关系式H=∇×A,求得磁偶极子产生的
μISk311Hr=(j22+33)cosθ⋅e−jkr+jωt (3-1)
2πkrkr
ISk3111
Hθ=(−+j22+33)sinθ⋅e−jkr+jωt (3-2)
4πkrkrkr
Hφ=0
(3-3)
9
式中:S为等效电流环的面积,I为电流环的电流,k为传播常数。
JGJJG1
又因为E=∇×H,求得电流环产生的电场为:
jωε
ωμSIk211Eφ=j(−j−22)sinθ⋅e−jkr+jωt
4πkrkr
(3-4)
Er=Eφ=0 (3-5)
JGJG
由此可见,电流环产生的电磁场为TE波。又因为r⋅k<<1,所以H、E可以简化为:
IS
cosθ⋅ejωt 3
2π⋅rISjωt
e Hθ=cosθ⋅
4π⋅r3
Hr=
(3-6) (3-7)
Hφ=0 (3-8) Eφ=−j
ωμSI
sinθ⋅ejωt (3-9) 24π⋅r
Er=Eφ=0 (3-10) 如果用Sav表示平均波印廷矢量的模,则Sav可用下式计算:
G*1⎡JGJJ
Sav=ReE×H⎤
⎥⎣⎦2⎢
GGG*⎤1⎡ωμSIISISjωtjωtjωt
sinθ⋅e⋅φ)×(cosθ⋅e⋅r+cosθ⋅e⋅θ)⎥=Re⎢(−j
4π⋅r22π⋅r34π⋅r32⎣⎦
1ωμSI
sinθcosθ(sinωtcosωt−cosωtsinωt)⋅eθ=⋅52
28π⋅r
JJG1ωμS2I2
sinθcosθ(sinωtcosωt−cosωtsinωt)⋅er−⋅25216π⋅r
2
2
JJG
=0 (3-11)
由(3-11)式可知在磁偶极子附近(r⋅k<<1),平均波印廷矢量Sav=0。这一结果表明,从电磁场、电磁波的观点来看,目前研究的超低频发射机,由于频率特别低,可以近似地认为,发射机不往外辐射能量,所以超低频发射机的功率不能按无线电辐射功率的方法进行计算,发射机与接收机的联系是它们共同所在的、发射机线圈产生的空间
10
磁场。这正像一个空气隙特别大的变压器的原边和副边线圈,是共同的磁场把两者联系起来,传递信号[13][14]。从这样的机理出发,设计发射机,应以提高天线线圈产生的空间磁场强度为着眼点是比较合理的。 3.1.2 超低频线圈天线的磁场分析
由于接收天线与发射机天线极为相似,因此,把两个天线放到一起来研究,为后面设计奠定一定的理论根据。一般总是可以把一个磁芯的、有轴向有一定长度、径向有一定厚度的多层螺线管简化成一个无长度、无厚度的平面线圈即磁偶极子了[14][15],如图3-1。
ZYX
图3-1 磁偶极子
由3.1.1节的磁偶极子的磁场分布关系式(3-1)、(3-2)、(3-3)三式可得:
JJGISk3JJG11−jkr+jωt
H=(j22+33)cosθ⋅e⋅er
2πkrkr
JJGISk3111−jkr+jωt
+⋅eθ (−+j22+33)sinθ⋅e
krkrkr4π11
(3-12)
JG
因为r⋅k<<1,所以磁场矢量H可以用下式计算:
JJGNI⋅D2JJGNI⋅De2jωtjωte
cosθ⋅e⋅er+cosθ⋅e⋅eθ (3-13) H=
8π⋅r316π⋅r3(3-13)式中:I为线圈的电流有效值; De为线圈的等效直径; S为线圈的等效面积即S= k为传播常数,k=
JJG
JJG
π⋅De2
4
;
2πλ,λ为波长;
er为r方向的单位向量; eθ为θ方向的单位向量。
研究发射机的天线,目的就在于提高天线磁场的磁场强度,以增加信号传递的距JG
离,由(3-13)式可看出,H的大小,在距离一定时,由线圈参数N、De和电流I决定。根据发射机的发射电路结构,我们可以得知
UU−ΔU
I=L=
ωLωL
(3-14)式中: UL为线圈端电压;
JJG
(3-14)
U为功率放大电路提供的电源电压; ΔU为功率放大管的饱和压降; L为天线电感。
(3-14)式表明,在U、ω一定时,电流取决于线圈的电感L。而L是由导磁材料、线圈匝数、几何形状以及磁路形状决定的。为了寻找提高线圈磁场强度的方法,有必要对发射机线圈的电感进行计算。
作为电磁能量转换用的电感元件,在电路中经常使用,特别是在不同频率的电子电路中更是常见。为了缩小电感元件的体积,增加电感量,还在电感元件中装入磁芯。由于磁性材料导磁率的非线性,给具有磁芯的螺线管电感计算带来困难,至今尚无一个比较稳妥、准确通用的计算公式。
实践证明,空芯线圈电感的计算公式不能用于磁芯多层螺线管电感的计算。因此,
12
必须从实际出发,探讨符合当前情况较准确的计算公式,以解决发射机、接收机线圈的设计问题。
为了得到较为实用的公式,特作如下假定[14][15]:
磁芯磁阻损失为零即磁(1) 螺线管磁芯的相对磁导率μr足够大(一般在104以上),芯螺线管的导线视为一个磁偶极子;
(2) 空心的多层螺线管按等效磁矩算得的等效直径为Di:
⎡n(2n+1)d2⎤ Di=⎢1+⎥D1⋅D0
3⋅D1⋅D0⎦⎣
(3-15)
(3-15)式中:D1为线圈外径,D0为线圈内径,n+1为线圈层数,d为导线的直径。
(3) 螺线管的磁芯同一个横截面是一个等磁位面。空心螺线管插入磁芯后,其直径都增大一个磁芯的直径。如果磁芯直径为D0,空心时螺线管直径为D0,外径为D1,有了磁芯,则其可等效为外径为D1+D0和内径为2D0的空心多层螺线管。
(4) 根据第三条假设,先对有磁芯的螺线管进行尺寸等效,然后计算等效螺线管的磁矩的等效直径。
对于如图3-2所示尺寸的有磁芯的螺线管来说,根据(3)的等效法,再根据(3-15)式,我们可以得到它的计算磁矩的等效直径:
De≈
2(1+
D0
)⋅Di 2⋅D1
(3-16)
D1D0LtLc 图3-2 螺线管尺寸图
有了De,就可以计算磁芯线管的磁通与电感了,当磁芯长度Lc大于线圈长度Lt时,磁通ψ要用(3-17)式[15]计算:
13
ψ=
L2⋅KDμ0NIπ⋅De⋅c 4Lt
(3-17)
式中KD为螺线管端部系数。
于是可求得L计算公式(3-18)[15]:
L=
LKNψ1=⋅KD⋅Kμ0N2π⋅De⋅c 4Lt2I(3-18)
式中K为形状系数。
螺线管有了磁芯,电感将增大。把螺线管有无磁芯时电感量之比记为α,则α为有磁芯时螺线管电感增大倍数。
α=
L
=L0
22(2⋅D1+D0
)⋅Lc
2(2⋅D1+D0)⋅Lc2⋅D1
(3-19) =
DiD1⋅DiD1−D02
]
ln(D1/D0)
,由此也可得到L=αL0。把电感L、计
4⋅Lt
π⋅[
有了α,同时根据L0=Kμ0N2
算磁矩的等效直径De带入 (3-12)式中,就能把H与线圈的几何尺寸、材质性质、电
源电压的关系表达出来。
JJGUN⋅D2JJGULN⋅De2jωtjωteL
H=⋅cosθ⋅e⋅er+⋅cosθ⋅e⋅eθ33
ωL8π⋅rωL16π⋅r
JJGJJGUL⋅De⋅LtUL⋅De⋅Ltjωtjωt
=cosθ⋅e⋅er+cosθ⋅e⋅eθ (3-20) 332ωKDKπN⋅r⋅Lc4ωKDKπN⋅r⋅Lc
JJGJJG(U−ΔU)⋅D⋅L(U−ΔU)⋅De⋅Ltjωtjωtet
=cosθ⋅e⋅er+cosθ⋅e⋅eθ2ωKDKπN⋅r3⋅Lc4ωKDKπN⋅r3⋅Lc
H的计算公式,把H与De、Lt、Lc、N、ω和距离r联系在一起了。从(3-20)式中可以看出,要提高H的值,在电源电压一定时,要增大等效直径De、减少磁芯长度
JJG
Lc、提高电源电压和降低线圈匝数N。 3.1.3 接收机天线的设计
接收机天线出于发射机天线的交变磁场之中,因而接收机天线中将产生同频率的
14
感应电动势[6]。其式为e=−KN
dψdB
=−KNS。如用有效值表示E,则[12] dtdt
1KNSωB 2(3-21)
E=
(3-21)式中:N为接收机天线的匝数; S为磁芯截面面积; B为磁芯中的感应强度。
接收机天线出于空气之中,磁芯与空气导磁性能差异很大。在空气中,B0=μ0H0根据发射机天线产生的磁场H计算公式,可以求得接收机天线处空气中H0,进一步可算出B0。而磁芯中的B值,可按电磁波在两种均匀煤质中传播时,在分界面上遵守折射定律而计算出来,在分界面上,Bbt=μrBat,tga=以Bbt=μrBat,如图3-3。
BatB
,tgb=bt,而Bat=B0,所BanBbn
Bat空气aBaBbtBbBbnbBan磁芯 图3-3 磁场的折射计算图
为了讨论的方便,我们只讨论发射天线与接收天线轴平行的情况,即当B0与天线的轴平行时,Bat=B0,这时磁芯中磁感应强度B=μrB0。由此得到接收机天线中感应电动势为:
E=
111KNSωB=KNSωμrB0=KNSωμH (3-22) 22215
(3-22)式中:H0为空气中的磁场强度;μ=μ0μr。应当注意,式中μr的不同于磁芯材料本身的相对磁导率[15],而是磁芯这个棒状磁体的相对磁导率,有了磁芯,螺线管中的外来磁通量将增加,其磁通增加的倍数就是μr。在数值上,就是在计算螺线管电感时推导出来:
μr=α=
2(2⋅D1+D0)⋅Lc
D1⋅Di
(3-23)
由(3-22)式,我们可以知道通过增加接收线圈的匝数N、提高发射机的磁场强度、增加线圈的截面积S都能提高接收线圈的感应电动势。同时由(3-20)式,我们也可以看出,磁场强度的大小与距离r的三次方成反比,也就是说随着通信距离的增加,磁场强度迅速下降。在发射线圈与接收线圈尺寸一定的情况下,只有增加发射机的功率,提高磁场强度,同时提高接收机的接收灵敏度,这样才能提高通信的距离。
本次研究所用的接收线圈尺寸参数和在1kHz用电桥所测得的电感如表3-1和表
3-2。表3-2中L0表示无磁棒时线圈的电感;L1/2表示线圈在磁棒中间时的电感;L1/4表示线圈在磁棒1/4处时的电感;LEND表示线圈在磁棒末端处时的电感。
表3-1 接收线圈尺寸参数
磁棒的高度Lc(mm) 200 磁棒的长度LL(mm) 20 磁棒的宽度LW(mm) 20 线圈的内径D0(mm) 25 线圈的外径D1(mm) 31.5 线圈的长度Lt(mm) 15 表3-2 接收线圈所测电感值
线圈电感值
线圈匝数N
L0
L1/2
L1/4
LEND
27.2 L(mH) 500 7.59 61.7 52.9 3.2 信号处理电路
信号处理电路主要处理从天线端出来的信号,尽可能将信号完整恢复出来,以供单片机系统进行解码,所以它也是一个比较重要的模块。信号处理电路主要包括滤波电路、放大整形电路两大部分组成。
16
3.2.1 滤波电路
因为系统传输的超低频信号频率在1-100HZ范围以内,在传输过程中天线会接收到附带的大地背景噪声,所以滤波的主要任务是虑掉高频噪声,这样就需要设计出一个适合本系统的低通滤波器。
低通(LP)滤波器的功能是让直流到截止频率的低频分量通过,同时衰减高频分量。这类滤波器用截止频率ωc、阻带(SB)频率ωs、直流增益、通带(PB)波纹和阻带衰减等技术指标说明。滤波器的通带定义为频率范围0<ω<ωs,阻带为频率范围ω≥ωs,过渡带(TB)为频率范围ωc<ω0<ωs。这些指标如图3-4所示。作为一个低通滤波器,其特性必须位于图3-4的两折线间的区域内[16]。
|T(jw)|dBPB纹波20log10|T(j0)|TBSB衰减PBSBwcwsw
图3-4 低通滤波器的技术指标图
低通滤波器对应的传递函数通常形式[17]:
17
H(s)=为了讨论方便,假定K=1,于是
H(s)=
2Kωp
s+(ωp/Qp)s+ω2ωp
2p
(3-24)
2
s+(ωp/Qp)s+ωp
(3-25)
所以可得其频率特性为:
H(jω)=
2ωp
−ω+(ωp/Qp)jω+ω2ωp
2
2p
(3-26)
幅频特性为:
|H(jω)|=
|−ω+(ωp/Qp)jω+ω|
2
2p
(3-27)
从而得到增益特性的表达式:
Au=20lg2ωp(ω2p−ω22)+ωQ2p2P (3-28) ω2于是我们可以得到H(s)的增益特性图如图3-5所示。
由该增益特性曲线可以看出,一个低通滤波器在低频段,H(s)的绝对值接近于1,其增益Au接近于0dB。而在高频段,H(s)的绝对值趋近于零,其增益Au向负值方向迅速增加,当频率增加到无穷大时,其增益达到负无穷,即衰减无穷大。
同时,还可以看到,增益特性与Qp有密切的关系。当Qp较大时,在频率f=fp时将出现明显的增益峰。Qp越大,峰值越大。当Qp较小时,增益曲线不再向上弯曲,曲线的最大值发生在零频率处;而当Qp较大的时候,增益峰就出现在fp处。所以人们称fp为极点频率,称Qp为极点品质因数。
有各种类型的有源滤波器电路,其滤波特性、参数调节的方便与否,电路的复杂程度、对所用元器件的要求以及成本等成为评价、选择电路的依据。用运算放大器和
RC网络组成的有源滤波器的性能远远优于无源滤波器,因为运算放大器具有高增益、高输入阻抗、低输出阻抗,所以组成的有源滤波器能提供一定的增益,并具有缓冲作用,尤其正增益的(即同相结构电路)有源滤波器便于链接,能方便地用简单的手段实现复杂的高阶滤波。
最常用的全极点滤波器有巴特沃斯滤波器和切比雪夫滤波器。在通频带附近处的
18
20Qp=1015Qp=5105Qp=2)Bd(uA0-5Qp=1-10Qp=0.707 -15-2000.511.5w/wp22.53 图3-5 H(s)的增益特性
幅频特性而言,巴特沃斯滤波器比切比雪夫滤波器平直,即在频率的低端巴特沃斯滤波器幅频特性更接近理想情况。但在接近截止频率和在阻带内,巴特沃斯滤波器则较切比雪夫滤波器差得多。
本次设计的低通滤波器指标:带通衰减(Apb)=0.5dB,阻带衰减(Asb)=10dB,通带频率(fpb)=120Hz,阻带频率(fsb)=400Hz。根据本次的设计指标,可以知道只要保证低频信号不被衰减,而对高频要求不高,因此选择了巴特沃斯特性滤波器。
压控电压源滤波器(VCVS)也叫Sallen-Key滤波器,它是一种流行的、广泛应用的二阶滤波器。它的成本很低,仅需要一个运放和四个无源器件组成,它具有输入阻抗高,输出阻抗低的特点。综合各方面的考虑,本次设计选用了能产生正相零增益的
Sallen-Key滤波器。
高阶滤波器大都用二阶滤波电路级联而成,二阶滤波电路因此称为二阶基本节,或简称为二阶节。因为我们要保证低频信号不被衰减,而对高频要求不高,所以选择二阶滤波器即可。
19
所以,最后我们采用了基于Sallen-Key结构的二阶巴特沃斯低通滤波器,截止频率fH=120Hz,其电路原理图如图3-6。
图3-6 低通滤波器电路原理图
因为fH=
2,C2=2C1,R1=R2,R1的值一般约几百千欧以内。这里我们选择
4πR1C1
C1=0.01μF,则可得C2=0.02μF,R1=R2=100KΩ。利用PSPICE软件对该电路的幅频响应特性进行仿真,仿真出来的结果如图3-7所示。由图3-7,可以看出该低通滤波器完全满足本次设计的要求。
20
图3-7 本次设计中低通滤波器的幅频响应图
3.3.2 放大整形电路
图3-8 比较器电路原理图
因为接收机接收的是类似方波的信号,所以根据方波信号的特点,我们只需要对其进行波形恢复,实现一种非线性放大同时整形,所以我们选择比较器电路,对类方波信号进行过“零”检测(这里的零点不是平时所说的零电位,而是类方波信号峰峰值的二分之一)。
21
比较器是一个可以比较两个输入模拟信号并由此产生一个二进制输出的电路。在理想状态下,当正、负输入之差为正时,比较器输出为高电平VOH;为负时,比较器输出低电平VOL。理想比较器输出高、低电平的转换是一个跳变,其增益无穷。
实际接收信号的“零”点并不是固定不变的,所以使用固定门限的比较器电路已经不能满足我们的电路的设计要求了,所以我们选择了灵敏度比较高的差分输入式的比较器电路如图3-8所示。该电路利用的是比较器输入两端信号的对称性,在类方波信号的“零点”处附近进行过“零”检测,最终达到非线性放大及波形整形的目的。
如图3-8中,运算放大器U1A和U1B是输入的差分信号两端的跟随器,起着缓冲和阻抗转换的作用;U1C是比较器,完成类方波信号的非线性放大及整形;U1D是反相跟随器,使信号反相同时起着缓冲和阻抗转换的作用。该电路灵敏度主要由运算放大器决定,而运算放大器的失调电压直接影响着该电路的检测灵敏度,从LM324芯片参数资料,我们可以知道它的最低失调电压在1mV左右,基本满足我们这次研究的要求。 3.2.3 信号处理电路
图3-9 信号处理电路图
结合滤波电路及放大整形电路的设计,我们最终得到的信号处理电路如图3-9所
22
示。
U1A、R1、R3、C2、C4组合成输入正端的低通滤波器;而U1B、R2、R4、C3、C5组成输入负端的低通滤波器;D1、D2两个二极管起着限幅的作用;C6、C7、R9、R10、R5、R6与电源组成提供2.5V左右的偏置电压。该电路不仅起着低通滤波的作用,同时还有着良好共模抑制比,为接收机的接收信号的恢复起着至关重要的作用。
3.3 单片机系统
本系统采用了AT89c51单片机作为核心器件,对随钻的传感器采集的数据进行处理。由于信号本身是数字脉冲信号,不需要AD转换了。
微型计算机主要由运算器、控制器、存储器和输入输出电路四个基本部件组成,其中运算器与控制器集成于CPU中。单片机是一种微型了的微机,其基本结构包含了这几个部分,MCS-51系列单片机中,当前最为流行的机种89c51单片机的原理结构如图3-10所示[18][19]。
时钟源计数信号振荡与定时电路程序存储器 4K ROM128字节数据存储器2个16位定时器/计数器CPU内部中断信号外部中断信号存储器扩展控制可编程I/O可编程全双工串行I/O控制信号数据地址总线端口I/O串行输入串行输出
图3-10 89c51单片机的原理结构图
89c51片内除有CPU、各类存储器和输入/输出端口外,还包含有定时器/计数器,中断与时钟振荡电路等,由此构成一个完整的单片微型计算机。
23
1.存储器[19]
89c51单片机有4个存储器空间,分别用来安排4种不同功用的存储器: (1) 内部数据存储器; (2) 特殊功能寄存器; (3) 程序存储器; (4) 外部数据存储器。 2.定时器/计数器[20]
定时器/计数器简称定时器。其作用主要包括产生各种时钟间隔、记录外部脉冲与事件的数量等,是微机中最常用、最基本的部件之一。89c51单片机有2个16位的定时器/计数器:定时器0(T0)和定时器1(T1)。
3.中断系统[21]
89c51单片机的中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序五个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。外部中断有下跳沿引起和低电平引起的选择;串行中断有发送(TI)和接收(RI)的区别,各个中断源均有申请中断的标志,其打开与否,受该中断自身的允许位和全局允许位的控制,并具有对于高优先级和低优先级的选择。
4.输入输出端口[18]-[21]
89c51单片机有4个8位双向并行I/0端口:P0,P1,P2,P3。每个I/O端口除可作为字节的输入/输出外,其各条I/0线也可单独地用作输入/输出线。此外,单片机内还有一个全双工的串行I/O端口,能用于I/O端口扩展或者串行异步通信。可见,
89c51单片机共有34条I/O线。各端口编址于特殊功能寄存器中,一般既有字节地址,也有位地址,对相应地址单元的读写,就实现了从相应端口的输入输出操作。 3.3.1 时钟电路
振荡时钟的速度决定了单片机工作的速度,因为其内部所有的动作都是根据这个时钟振荡的频率来驱动的。89c51系列单片机与其他微机一样从Flash ROM 中取指令和执行指令过程中的各种微操作,都是按着节拍有序地工作的。89c51单片机片内有一个节拍发生器,即片内的振荡脉冲电路。89c51芯片内部有一个高增益反相放大器。反相放大器的输入端为XTAL1,输出端为XTAL2,两端跨接石英晶体及两个电
24
容就可以构成稳定的自激振荡器。电容器C1和C2通常取30PF左右,可对稳定频率并对振荡频率有微调作用。振荡脉冲频率范围为fosc=0-24MHz。晶体振荡器的频率为
fosc,振荡信号从XTAL2端输入到片内的时钟发生器上。时钟发生器是一个2分频的触发器电路,它将振荡器的信号频率fosc除以2,向CPU提供两相时钟信号P1和P2。时钟信号的周期为机器状态周期S(STATE),是振荡周期的2倍。在每个时钟周期(即机器状态周期S)的前半周期,相位1(P1)信号有效,在每个时钟周期的后半周期,相位2(P2)信号有效。每个时钟周期有两个节拍P1和P2,CPU就以两相时钟P1和P2为基本节拍指挥89c51单片机各个部件协调地工作。一个机器周期是指CPU访问存储器一次所需要的时间。一个机器周期包括12个振荡周期,分为6个状态周期。设定晶体振荡器的频率为11.059MHz,电容器采用30PF[22]
图3-11 时钟电路
本次设计中的时钟电路图如图3-11所示。 3.3.2 复位电路
89系列单片机与其他微处理器一样,在启动时都需要复位,使CPU及系统各部件处于确定的初始状态,并从初态开始工作。89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。当系统处于正常工作状态时,且振荡器稳定后,如
RST引脚上有一个高电平并维持2个机器周期(24个振荡周期),则CPU就可以响应并使系统复位。复位是单片机的初始化操作。其主要功能是把PC初始化为0000H。使单片机从0000H开始执行程序。
除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死
25
锁状态时。为摆脱困境,也须按复位键重先启动。除PC之外,复位操作还对其他一些寄存器有影响,即在SFR中,除了端口锁存器、堆栈指针SP和串行口的SBUF外,其余的寄存器全部清0,端口锁存器的复位值为0FFH,堆栈指针值为07H,SBUF内为不定值。内部RAM的状态不受复位的影响,在系统上电时,RAM的内容是不定的。整个复位电路包括芯片内、外两部分。外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样。然后才能得到内部复位操作所需要的信号[23]。
图3-12 复位电路
复位操作有上电自动复位和按键手动复位两种方式。
(1) 手动复位
所谓手动复位,是指通过接通一按扭开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般通过手动复位来实现的。通常采用手动复位和上电复位组合。
(2) 上电自动复位
上电自动复位是在加电瞬间电容通过充电来实现的。在通电瞬间,电容C通过电阻R充电,RST端出现正脉冲,用以复位。我们采用的复位电路图如下图3-12所示。 3.3.3 单片机的最小系统电路
本次接收机中单片机的最小系统电路图如图3-13。
EA/VP:允许访问外存储器/编程电源线,可以控制8051使用片内ROM还是片外
ROM。若EA=1,则允许使用片内ROM;若EA=0,则允许使用片外ROM,而此次设计中我们没有用到片外ROM,所以EA=1。
RP1:是8个1K的排阻,它们用来做P0口的上拉电阻。 C4:0.1μF的瓷片电容,用来作电源的旁路电容。
26
in端口:输入信号的端口。
图3-13 单片机的最小系统电路图
3.4 电源电路
电源电路在系统中的作用举足轻重,设计好电源是成功的一半,在电源设计中要充分考虑其各项指标。稳压电源的技术指标可以分为两大类:一类是特性指标,如输出电压、输出电流及电压调节范围;另一类是质量指标,反映一个稳压电源的优劣,包括稳定度、等效内阻(输出电阻)、纹波电压及温度系数等。
电源采用机内变压器供电,也可以做成机外变压器形式。电源分变压、整流、稳
27
压三部分,变压部分将220伏交流电变成9伏交流电,然后经整流电路变成直流电,再
通过稳压芯片7805转成5伏直流电对接收机进行供电。电源电路原理图如图3-14所示:
图3-14 电源电路原理图
S1:电源开关。 F1:保险丝,过载保护。
T1、D1、C1:将AC 220V的交流电分压,整流为直流电。 7805:将整流的直流电稳压到5V,给接收机供电。
3.5 串口通信电路
3.5.1 串口通信
串口通信是指通信的发送方和接收方之间数据信息的传输是在单根数据线上,以每次一个二进制位移动的。它的优点是只需一对传输线进行传送信息,因此其成本低,适用于远距离通信;它的缺点是传送速度低。
串行通信有异步通信和同步通信两种基本通信方式。同步通信适用于传送速度高的情况,其硬件复杂。而异步通信应用于传送速度在50到19200波特之间,是比较常用的传送方式。在异步通信中,数据是一帧一帧传送的,每一串行帧的数据格式由一位起始位,5-8位的数据位,一位奇偶校验位(可省略)和一位停止位四部分组成。在串行通信前,发送方和接收方要约定具体的数据格式和波特率(通信协议)[24]。
PC机采用可编程串行异步通信控制器8250来实现异步串行通信。通过对8250的初
28
始化编程,可以控制串行数据传送格式和速度。在PC机中一般有一个标准RS-232C串行接口COM1。MCS-51系列单片机片内含有一个全双工的串行接口,通过编程也可实现串行通信功能。 3.5.2 RS-232C标准
RS-232C是美国电子工业协会(EIA)正式公布的,在异步串口通信中应用最广的标准总线。该标准适用于DCE和DTE间的串行二进制通信,最高数据传送速率可达
19.2kbps,最长传送电缆可达15米。RS-232C标准定义了25根引线,对于一般的双向通信,只需使用串行输入RXD,串行输出TXD和地GND。RS-232C标准的电平采用负逻辑, 规定+3V——+15V之间的任意电平为逻辑“0”电平,-3V——15V之间的任意电平为逻辑“1”电平,与TTL和CMOS电平是不同的。在接口电路和计算机接口芯片中大都为TTL或CMOS电平,所以在通信时,必须进行电平转换,以便与RS-232C标准的电平匹配MAX23芯片可以完成电平转换这一工作[25]。 3.5.3 串口接口电路
MAX232芯片是MAXIM公司生产的低功耗、单电源双RS232发送/接收器。适用于各种EIA-232E和V.28/V.24的通信接口。MAX232芯片内部有一个电源电压变换器,可以把输入的+5V电源变换成RS-232C输出电平所需±10V电压,所以采用此芯片接口的串口通信系统只要单一的+5V电源就可以。
MAX232外围需要4个电解电容C1、C2、C3、C4是内部电源转换所需电容。其取值均为1μF/25V,宜选用钽电容并且应尽量靠近芯片。C5为0.1μF的去耦电容。
MAX232的引脚T1IN、T2IN、R1OUT、R2OUT为接TTL/CMOS电平的引脚。引脚T1OUT、T2OUT、R1IN、R2IN为接RS-232C电平的引脚。因此TTL/CMOS电平的
T1IN、T2IN引脚应接MCS-51的串行发送引脚TXD;R1OUT、R2OUT应接MCS-51的串行接收引脚RXD。与之对应的RS-232C电平T1OUT、T2OUT应接PC机的接收端
RXD;R1IN、R2IN应接PC机的发送端TXD。
采用MAX232接口的硬件接口电路如图3-15所示。现选用其中一路发送/接收。
R1OUT接MCS-51的RXD,T1IN接MCS-51的TXD。T1OUT接PC机的RXD,R1IN接PC机的TXD。因为MAX232具有驱动能力,所以不需要外加驱动电路。
29
图3-15 串口通信电路
3.6 接收机PCB布板设计
3.6.1 电路原理图的设计流程
电路原理图的设计是整个电路设计的基础,因此电路原理图要设计好,以免影响后面的设计工作。本次设计采用的Protel99SE,所以电路原理图的设计一般有如下步骤[26]:
(1) 设置原理图设计环境:设置图纸大小、捕捉栅格、电气栅格等。
(2) 放置元件:将所需要的元器件库装载到元器件管理器中以后,根据实际电路的需要,到元件库中找出所需的元件,然后用元件管理器的Place按钮将元件放置在工作平面上,再根据元件之间的走线把元件调整好。
(3) 原理图布线:利用Protel99SE提供的各种工具、指令进行布线,将工作平面上的器件用具有电气意义的导线、符号连接起来,构成一个完整的电路原理图。
(4) 检查原理图:使用Prote199SE的电气规则,即执行菜单命令Tool/REC对画好的电路原理图进行电气规则检查;若有错误,根据错误情况进行改正。
(5) 生成网络表:网络表是电路原理图设计和印刷电路板设计之间的桥梁,执行菜单命令Design/CreateNetlist可以生成具有元件名、元件封装、参数及元件之间连接
30
关系的网络表。 3.6.2 PCB制板设计流程
PCB制板设计是从电路原理图变成一个具体产品的必经之路,因此,PCB制板设计是电路设计中最重要、最关键的一步。通常,PCB制板设计的具体步骤如下[26]:
(1) 规划电路板:根据要设计的电路确定电路板的尺寸,本文中电路板尺寸为长110mm,宽75mm。
(2) 装入网络表:首先装入需要的元件封装库,装入原理图生成的网络表,如果有错误进行修改再装入。
(3) 元器件布局:Prote199SE既可以进行自动布局也可以进行手工布局,布局是布线关键性的一步,为了使布局更加合理,多数设计者都采用手工布局方式,按照功能分块、分区,所以本文中的电路板布局还是采用手工布局。
(4) 自动布线:Prote199SE采用世界最先进的无网格、基于形状的对角线自动布线技术,程序即对印刷电路板进行自动布线.只要设置好相关参数,元件布局合理,自动布线的成功率几乎100%,但是由于本文中的电路板结构相对简单,所以还是采用手工布线。
(5) 手工调整:自动布线后将余下未布通的线利用手工将其布通自动布线结束后,可能存在一些令人不满意的地方,可以手工调整,把电路板设计得尽善尽美。 3.6.3 PCB制板设计总结
虽然Protel99SE功能强大,但在设计过程中往往要注意一些问题:
(1) 生成的PCB板图与电路原理图不相符,有一些原件没有连上。这种情况主要出在原理图上,原理图看上去是连上的,但是实质上没连着。
(2) 在PCB板图中装入网络表时元器件不能完全调入,主要原因是:原理图中未定义原件的封装形式;PCB板图封装的名称不存在,致使在封装库中找不到;封装可以找到,但元件的管脚名称与PCB板图库中封装的管脚名称不一致。
(3) 在PCB板图中布线,推荐用手工布线,自动布线往往不是最优的,只有掌握了手工布线,才能设计出好的PCB板图。
综上所述,最后设计的接收机PCB板图如图3-16所示。
31
图3-16 接收机PCB板图
3.7 本章小结
本章在前文的基础上对硬件的主要功能模块:天线、信号处理电路、单片机系统、电源电路、串口通信电路进行了设计。
本章对天线进行了定性分析,从超低频的角度分析了线圈天线的基本性质,同时定性分析了它的磁场,从而定性地得到影响接收机线圈天线接收能力的相关参数,最后给出了本次设计中线圈的尺寸大小和1kHz时用电桥所测电感值。
本章中信号处理电路主要是由低通滤波器和差分输入式的比较器,比较器的正端和负端都是低通滤波器的输出端口,该电路不仅可以滤除高频噪声,同时又能抑制共模噪声,对接收信号进行某种意义上的过“零”检测,将信号尽可能的恢复出来。
本章根据系统的特点给出了单片机的最小系统电路,同时给出了比较经典的供电电源电路及串口通信电路。
最后给出PCB布板中电路原理图的设计流程图和PCB制板设计流程图,同时总结了PCB制板过程遇到的一些应该注意的问题,在文章最后给出了接收机的PCB图。
32
4 系统软件设计
硬件电路完成后,进行系统软件设计。首先分析系统对软件的要求,然后进行软件总体设计,包括程序结构设计和对程序进行模块化设计。按整体功能分成多个不同的模块,单独设计、编程、调试,然后将各个模块装配联调,组成完整的软件系统。
4.1 系统软件的需求分析
根据课题研究的技术要求,本文所设计的系统软件主要包括两个部分:一个是接收机系统软件的设计,一个是发射机初始化软件的设计。
为了最大限度的利用单片机本身的运算资源和存储资源,尽量简化硬件电路要求,将模拟调制方式更改为数字调制方式,优化通信系统性能,这样接收机系统软件就要完成接收机中大部分的工作,包括数据的解码、数据的存储、数据的传输等,所以这也即是要求对接收机系统软件有着良好的设计。
由于发射机经常需要根据实际情况更改一些工作参数,比如工作频率、工作时间及休息时间等参数,通过修改单片机的程序来更改这些参数在实际工作情况下尤为不便,所以,在不改变原系统的基础上,我们通过软件的方式来扩展原系统的初始化功能。发射机初始化软件主要完成在PC机上对发射机的工作参数的初始化。
4.2 接收机系统软件的设计
结合第二章节的内容,整个系统的工作原理:
(1) 随钻传感器每秒钟向发射机发送一组由‘0’、‘1’、……、‘A’、……、‘F’字符组成的48个字符数据。
(2) 发射机对这些数据进行脉宽调制——建立比较简洁的数据与方波占空比的对
应关系如图4-1。
(3) 接收机通过计算接收的方波信号的占空比,最后通过一定的接收准则解码恢
复出随钻传感器采集的数据。
33
占空比53.125%56.25%65.62559.37562.5%%%68.75%71.875%75%78.125%81.25%84.37587.5%%40.625%043.75%146.875%50%23456789ABCDEF字符
图4-1 字符——占空比映射图
结合图2-4接收机软件设计的流程图,接收机软件设计分为两大部分:接收机解码模块和接收机串口通信模块。 4.2.1 基于89c51的软件开发环境
现有四种语言支持8051单片机,即Basic、PL/M、汇编和C语言。Basic为简化使用变量,所有变量都采用浮点值,因而程序复杂且执行时间长,只适用于要求编程简单而对编程效率或运行速度要求不高的场合。PL/M是Intel从8080微处理器开始为其系列产品开发的编程语言,对于8051系列,它不支持复杂的算术运算、浮点变量,也无丰富的库函数支持。C语言是一种源于编写Unix操作系统的结构化语言,与直接面向硬件操作的汇编语言相比,C语言有如下优点[27][28]:
(1) 不必熟悉指令系统,只需初步了解8051的存储器结构;
(2) 寄存器的分配、不同存储器的寻址及数据类型等细节可由编译器管理; (3) 程序有规范的结构,可分为不同的函数,这种方式可使程序结构化; (4) 具有将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性; (5) 提供的库包含许多标准字程序,具有较强的数据处理能力等。
利用C语言编写通信程序比汇编语言编程要方便、快捷,便于维护,C语言程序本身不依赖于机器硬件系统,可以方便地在不同的单片机系统间进行移植,极大地提高了系统的开发效率。
基于以上原因,接收机程序采用C语言设计,以伟福公司的WH6000为开发环境进行编译和调试。
34
4.2.2 接收机解码模块
接收机解码的实质就是检测方波的高电平持续时间和它的周期,然后计算出占空比,最后再根据占空比与原字符映射关系完成解码过程。所以,数据解码的程序设计的流程图如图4-2所示。
定时器0的初始化对单片机进行初始化While Pin=0N判断脉冲上升沿YN得到脉冲一个周期的总时间片数TY开启定时器0脉冲的占空比为TH/T,根据映射关系即可解码YWhile Pin=1结束N得到脉冲高电平时间片数TH
图4-2 数据解码的程序设计的流程图
由图4-1,可以得知发射机发射的占空比不同的方波对应着不同的字符,根据相应的映射关系,我们规定了如图4-3的解码准则:占空比为0——42.1875%的方波判决为字符‘0’;占空比为42.1875%——45.3125%的方波判决为字符‘1’;占空比为
35
45.3125%——48.4375%的方波判决为字符‘2’;占空比为48.4375%——51.5625%的方波判决为字符‘3’;占空比为51.5625%——54.6875%的方波判决为字符‘4’;占空比为54.6875%——57.8125%的方波判决为字符‘5’;占空比为57.8125%——
60.9375%的方波判决为字符‘6’;占空比为60.9375%——64.0625%的方波判决为字符‘7’;占空比为64.0625%——67.1875%的方波判决为字符‘8’;占空比为67.1875%——70.3125%的方波判决为字符‘9’;占空比为70.3125%——73.4375%的方波判决为字符‘A’;占空比为73.4375%——76.5625%的方波判决为字符‘B’;占空比为
76.5625%——79.6875%的方波判决为字符‘C’;占空比为79.6875%——82.8125%的方波判决为字符‘D’;占空比为82.8125%——85.9375%的方波判决为字符‘E’;占空比为85.9375%——100%的方波判决为字符‘F’。
字符‘F’‘E’‘D’‘C’‘B’‘A’‘9’‘8’F‘7’D‘6’B‘5’9‘4’7‘3’5‘2’3‘1’1‘0’42.1875%048.4375%54.6875%60.9375%67.1875%2468ACE73.4375%79.6875%85.9375%100%45.3125%51.5625%57.8125%64.0625%70.3125%76.5625%82.8125%脉冲的占空比
图4-3 解码准则
结合图4-2和图4-3,解码程序主要包括:定时器T0的初始化、数据接收、数据解码。
36
1.定时器的初始化
定时器的初始化编程一般说来按照以下几个步骤:
(1) 根据定时时间要求或计数要求计算计数器初值; (2) 填写工作方式控制字送TMOD寄存器;
(3) 送计数初始值的高八位和低八位到TH和TL寄存器中; (4) 启动定时(或计数),即将TR置位。
如果工作于中断方式,需置位EA(中断总开关)及ET(允许定时/计数器中断)。 定时器T0的定时时间大小的选择尤为重要,定时时间越小那么计算时间就更为精确,相对而言,计数的次数会越多,系统的开销就会越大,因此定时时间的取值应该综合考虑。
在初始化模块中,我们结合发射机的编码方式选定定时时间为T=1/Freq*1/128,根据实际经验,其中Freq=80。由于单片机的晶振为11.059M,即 T0的定时时间为
96个机器时间。所以,我们选定定时器T0工作在方式2,根据初值计算公式可得T0定时器的计数初值为160,换算成16进制也就是0xa0。由于定时器T0工作在方式2的,T0不需要重装初值,由定时器T0的TH寄存器将设定好的初值在TL回零自动将其初值装入TL中,所以T0的TH0和TL0初值都要设置为0xa0。
由上述的分析,定时器的初始化程序:
TMOD=0x02;EA=1;ET0=1; TH0=0xa0; TL0=0xa0; 2.数据接收
对定时器T0进行了初始化后,开启定时器,通过定时器T0中断程序计数时间片数TH和计数方波周期时间片数T。由TH和T算出该方波周期的占空比,完成了数据接收。
数据接收的部分程序如下:
TR0=1;
while(Pin=1); //等待定时器中断计数当Pin为1时经过的时间片数TH TH=n;
while(Pin=0); //等待定时器中断计数方波周期时间片数T TL=n;
37
定时器的中断程序如下:
timer0( ) interrupt 1 using 1 { n++; } 3.数据解码
// 中断服务程序
如同发射机的数据编码发送模块一样,接收机的数据接收解码也是一个不可分割的整体。因为使用占空比编码的方式,所以在解码的时候,同样需要对接收到的每个波形周期进行占空比的判断,从而确定这个波形周期代表的到底是‘0’-‘F’中的哪个字符。
由前面的接收准则,我们可以知道每个字符的间隔占空比G=0.03125,我们设定这样一个基准整数N=1/G=32,通过(4-1)式来完成数据解码:
⎧0⎪
C=⎨[N×(fDutyFactor+G/2)−13]
⎪15⎩
0≤fDutyFactor<0.406250.40625≤fDutyFactor≤0.875 0.875 其中C为原字符相对值(比如C=1时对应着字符‘1’),因为C只能为整数,所以公式中的“[]”符号具有取整的作用;fDutyFactor为方波的占空比。 根据上面的字符相对值C,同时根据字符的ASCII码对应关系表4-1,就可以很容易恢复出原字符了。 部分程序如下: if(fDutyFactor>0.875 ) C=15; else if(fDutyFactor<0.40625 ) C=0; else C = 32 * (fDutyFactor+0.003)-13; //占空比转化为字符的相对值 if(C<=9) C=C+0x30; else 38 C=C+55; // 字符的相对值转化为字符 表4-1 字符——ASCII值对应表 字符 ASCII值 ‘0’ 48 ‘1’ 49 ‘2’ 50 ‘3’ 51 ‘4’ 52 ‘5’ 53 ‘6’ 54 ‘7’ 55 ‘8’ 56 ‘9’ 57 ‘A’ 65 ‘B’ 66 ‘C’ 67 ‘D’ 68 ‘E’ 69 ‘F’ 70 4.2.3 接收机串口通信模块 如前所述,串行口的波特率有两种方式:固定波特率和可变波特率,当使用可变波特率时,应首先确定T1的计数初值,并对T1进行初始化。TI和RI是一帧数据发送完成否或一帧数据到齐否的标志,可用于查询;如果设置允许中断,也可引起中断。因此串行通信的编程有两种方式:查询方式和中断方式,两种方式中当发送或接收数据后都要注意清TI或RI。 本次串行通信的编程方式选择的是查询方式,其中,串口工作在方式1,串口通信波特率是9600bit/s,T1定时器工作在方式2。因为单片机用的晶振是11.059M,根据波特率的计算公式,我们可以算出T1的初值TH1=TL1=0xFD。 该部分程序的流程图如图4-4。 部分程序如下: TH1=0xfd;TL1=0xfd; TMOD = 0x22; // 定时器T1工作在方式2 SCON=0x50; //串口工作在方式1 TR1=1; //开启定时器1 39 SBUF=C; //发送字符 while(!TI); TI=0; 开始定时器T1初始化设置串口为方式1SBUF=C(C为解码字符)Y TI=0NTI=0结束 图4-4 串口通信程序流程图 40 4.3 发射机初始化软件的设计 4.3.1 基于Visual Basic的软件开发 Visual Basic具有快速、简单和功能完备的特点,在数据库开发方面,比Visual C++有独到的优势;在程序的执行效率和通用性以及界面设计和其它必要信息的获取与输出方面,比Visual Foxpro占有更多的优势;在语言的简单性和开发环境的方便性方面,又比Delphi更大众化,更易学习。因此,通过与其它开发语言的比较并结合发射机初始化软件的具体情况,选用VB作为软件的开发语言。 Visual Basic是运行于Windows平台上的交叉式的可视化集成开发环境,它是美国Microsoft公司开发的Microsoft Visual Studio套件的一部分。像其它的可视化开发环境(如Visual C++,Delphi,C++ Builder)一样,Visual Basic集程序代码的编辑、编译、连接和调试等功能于一体,给编程人员提供了一个完整方便的开发界面和许多有效的辅助开发工具。Visual Basic的应用程序向导可以为很大一部分类型的程序提供框架代码,用户不用书写程序代码,只需按几个按钮就可以生成一些完整的可以运行的程序。Visual Basic作为一种可视化的、面向对象的Windows开发语言。它的一个很大优点是能够迅速有效地编制程序界面。从其问世之初,就有易用、通用和开发效率高的特点,这一特点一直保持着。随着微软对它不断的改进以及计算机技术在本身性能上的迅速提高,Visual Basic在程序性能上的缺陷也变得不那么关键。这使Visual Basic越来越适合于一般程序的开发[33][34]。 4.3.2 发射机初始化软件的通信协议 本课题中,初始化软件需要制定出详细的数据通信协议。使PC机和发射机进行通信,必须严格按照通信协议的要求,双方才能进行有效的数据传输。本数据通信协议包括以下几方面: (1) PC机与发射机间进行数据交换按帧传输,其通信方式为异步串行方式,含有一个起始位、8个数据位、一个停止位; (2) 采用RS232接口数据传输速率是9600bps; (3) PC机向发射机发送数据的格式:0xbb DATA1 DATA2 DATA3 0xbb DATA1 DATA2 DATA3;其中0xbb是一字节的起始字头,也称为数据的识别字头;DATA1是一字节数据,代表工作频率(Hz);DATA2是一字节的数据,代表发射机工作时间(分); 41 DATA3是一字节的数据,代表发射机休息时间(分); (4) 发射机向PC机返回的数据格式是:DATA1 DATA2 DATA3(含义同(3)); 在发射机开始工作之前,通过发射机的初始化使能电路,由PC机通过发射机初始化软件对发射机进行参数的初始化,总是由PC机先向发射机发送一定格式的数据,然后再由发射机返回一定格式的数据,最后通过返回的数据及发射机初始化软件的提示便能确认初始化是否成功。 根据上述的分析,可以得到如图4-5发射机初始化软件设计的总体流程图,这样发射机初始化软件设计主要由程序主控模块和串口通信模块。 开始按预定设计设置好端口号、传输速度、校验位、数据位、停止位(用户不可更改)把用户输入的频率、工作时间、休息时间以一定通信协议发送给发射机显示发射机返回的数据,并提示通知用户是否初始化成功结束 图4-5 发射机初始化软件设计总流程图 4.3.3 软件的程序主控模块设计 程序的主控模块:负责实现程序逻辑与主界面,将联合串口通信模块完成发射机初始化功能。所以,在主窗体中,我们主要完成以下功能:整个程序的初始化、对各个按钮的响应、对各标志变量的设置与响应。 程序的主界面应当能够响应各种操作,并调用程序的各个模块和功能,因此主界面主要实现的功能就是调用本系统的所有其他功能,包括串口的状态的设置、初始化 42 参数范围限制、初始化功能、显示初始化结果及清除数据等功能。 本程序的基本功能是依靠MSComm控件实现的,首先要将其添加到窗体中。这个控件是不可见的,我们把它放在窗体的角落即可。 为了响应设置串口状态、初始化、清除数据等操作,我们将向窗体添加几个 CommandButton并通过相应的单击事件CommandButton_Click()进行响应,同时为将预先要设定的频率、工作时间、休息时间等参数输入,我们将向窗体添加几个TextBox,这样就能完成输入的功能了。由于软件的附加功能并不多,主要完成发射机的初始化功能,所以窗体的界面只要简洁易用就行了。最后,根据我们的需要,设计出来的软件窗体界面如图4-6: 图4-6 软件窗体界面 4.3.4 软件的串口通信模块设计 软件的串口通信模块是本次软件设计的重点,软件通过计算机串行通信接口与发射机进行数据传输,主要包括了两种情况:数据发送和数据接收。本节主要介绍如何实现PC机与发射机的串行通信,并开发出数据的通信模块和串口设置模块。 利用VB开发通信程序的方法主要有以下两种[33][34]: (1) 利用Windows API应用程序接口Windows API主要提供了三个动态连接库(KERNEL.EXE、USER.EXE、GDI.EXE)供开发人员调用,其中KERNEL.EXE主要包 43 括一些底层操作函数,完成一些资源管理、任务、内存等操作;USER.EXE包含了一些与Windows管理有关的函数,如通信、菜单、消息、光标、插入符、计时器以及绝大多数非显示函数;GDI.EXE图形设备接口库,主要内容为与设备输出有关的函数。和串口通信有关系的函数BuilidCommDCB、ClearCommBreak、SetCommBreak、 FlushComm、GetCommError、GetCommState、WriteComm、ReadComm、SetCommState、CloseComm等均在\\Windows\\system子目录下的USER.EXE动态连接库中,在VB调用之前应该先在全局变量定义处声明AP工通信函数、定义常量。可以看出使用 Windows提供的API 通信函数可编写移植性强的通信程序,但必须首先用Declare声明VB中所要用的动态连接库,这需要程序设计人员对Windows API函数有深入的了解,编程较复杂。 (2) 利用VB本身提供的串行通信控件MSComm这种方法实际上是通过通信组件间接的调用了Windows API函数,其过程要比直接调用API复杂,但是在程序的实现上要比前一种方式简单的多。在操作系统方面,Windows使用通信驱动程序Comm.drv,以便于应用程序能够使用标准的Windows API函数来传递和接收数据。串行外围设备的制造商则提供硬件驱动程序,以便让其硬件能与Windows连接。使用MSComm控件时,实际上就是使用了API函数,API函数将被Comm.drv解释并传送给外围设备驱动程序,使用MSComm的用户只需要关心如何使用MSComm所提供的属性或事件,以驱动API函数的接口完成工作。 综上可知,在开发串行通信程序的过程中,利用微软的MSComm通信控件相对较简单,该控件具有丰富的与串行通信密切相关的属性及事件,提供了对串口的各种操作。MSComm控件在串口编程时非常方便,程序员不必花时间去了解较为复杂的 API函数,而且在VB中容易使用。因此,在本课题里,选用MSComm控件来实现串行通信。 在使用MSComm控件来实现串行通信之前,我们要了解下MSComm控件的通信方式和属性。 1.MSComm控件两种处理通信的方式 MSComm控件提供下列两种处理通信的方式:事件驱动方式和查询方式。事件驱动方式:事件驱动通信是处理串行端口交互作用的一种非常有效的方法。在许多情况下,在事件发生时需要得到通知。例如,在有一个字符到件及通信错误。查询方式:查询方式实质上还是事件驱动,但在有些情况下,这种方式显得更为便捷。在程序的 44 每个关键功能之后,可以通过检查CommEvent属性的值来查询事件和错误。如果应用程序较小,并且是自保持的,这种方法可能是更可取的。 2.MSComm控件两种处理通信的常用属性 MSComm控件的属性大约有30个。无论采用哪种通讯方式,都必须设置和监测其属性值,下面介绍其中的重要属性: (1) Comport属性 Comport属性用于设置或返回通信连接端口号。程序必须指定所要使用的串行端口号Windows系统会自动使用所设置的通信端口与外界进行通信。程序也可以借助此属性返回所使用的端口号。通信端口号可以设置为1到16,超过16会产生错误信息。 虽然可以使用的端口号有16个,但是不表示端口一定正常工作,必须确定端口的存在才能设置相关端口号,以保证通信控件的正常运行。通信端口是否正常,可参照控制面板/设备管理器中的端口项目,一般有COM1和COM2两个端口可供选择。 所以在这次设计中我们选定COM1端口即MSComm.Commport=l。不管是发生通信事件或错误,程序都可以利用MSComm控件来检测并处理这些通信事 (2) Settings属性 Settings属性用于设置初始化参数。以字符串形式设置或返回传输数据速率、校验位、数据位和停止位4个参数。其格式为“BBBB,P,D,S”,其中BBBB表示数据传输速率(波特率),P为校验方式,D表示数据位,S表示停止位数。缺省值为“9600, N,8,1”,表示所使用的通信端口以每秒9600位的速率进行数据传输,无奇偶校验,每个数据单元是8位,停止位是1位。 传输速率可以是110,300,600,1200,2400,9600,14400,19200等,可以根据具体通信设备以及工作要求设定合适的波特率。 Settings设置完成之后,所传输和接收的字符串便以此设置为准,使用RS-232通信的双方,设置必须一样,彼此才能正常顺利地通信,否则双方不能正确接收到对方所传输的数据信号。 根据本设计思路,本软件的Settings属性设置MSComm.Settings=“9600,n,8, 1”。 (3) Portopen属性 Portopen属性用于设置或返回通信连接端口的状态,使用前必须将要使用的串行接口打开;而在使用完毕后,也必须执行关闭操作。串行通信的各项功能都是在 45 Portopen的True和False之间完成的。 (4) Input属性 Input属性用于从输入缓存区返回并删除字符。程序靠这个命令将双方传到输入缓存区中的字符读进来,并清除缓存区中己经被读取的字符。注意:缓存区的特性是先进先出(FIFO),即先进入的字符先读出来,而后进入的字符向前递补。 如:Buffer=MSComm.Input,将输入缓存区的字符读入Buffer字符串变量。 (5) Output属性 Output属性用于将一个字符串写入输入缓存区。当程序需要向对方传输字符串的时候,可以使用此命令将字符串写入缓存区。 如:MSComm.Output=“ABCDE”,将ABCDE这5个字符通过RS232传输出去。 (6) InputMode属性 InputMode属性用于设置或返回Input属性取回的数据形态。可设置的数值如表4-2所示。 表4-2 InputMode属性的设置 常数 值 描述 通过Input属性以文本方式取回数据 通过Input属性以二进制方式取回数据 ComInputModeText 0(缺省) ComInputModeBinary 1 InputMode属性决定Input属性如何取回数据,如果数据中只有ASCII字符集,则使用ComInputModeText;如果含有其他字符数据,如数据中嵌入控制字符Nulls等,则使用ComInputModeBinary;另外如果使用场合中需要将超过ASCII码的128个字符外的字符传输时,必须使用ComInputModeBinary的方式。根据本设计的数据格式特点,所以本次设计选择ComInputModeBinary方式。 关于MSComm其它属性由于篇幅的限制,这里便不多介绍了,下面主要介绍如何具体实现串口通信。 根据PC机与发射机的通信协议的特点,在本软件中,通过VB本身提供的串行通信控件MSComm实现数据的收发,数据以帧的格式严格按照通信协议进行传输。字节数据的发送与接收流程如图4-7和图4-8所示。 46 引用MSComm控件声明字节数组send(8)输入字节数组元素Output=send完成发送工作 图4-7 发送数据的流程 数据发送和接收的部分具体代码如下: *************PC机发送给发射机************* send(0) = &HBB send(4) = &HBB send (1) = Val(Frequency.Text) send (5) = Val(Frequency.Text) send (2) = Val(WorkTime.Text) send (6) = Val(WorkTime.Text) send (3) = Val(RestTime.Text) send (7) = Val(RestTime.Text) MSComm1.Output = send 47 引用MSComm控件声明动态字节数组Receive()NMSComm1.CommEvent=comEvReceiveYReceive=Input以LBound() 和UBound()来得到Receive()的范围,以一定的格式输出数据完成接收工作 图4-8 接收数据的流程 *************发射机发送给PC机************* Select Case MSComm1.CommEvent Case comEvReceive Receive = MSComm1.Input For i = LBound(Receive) To UBound(Receive) buf = buf + Str(Receive (i)) Next i 48 4.4 本章小结 本章概括了接收机系统软件和发射机初始化软件的实现过程。 本章先对本文要设计的软件进行了技术分析,然后分两部分详细介绍了接收机系统软件和发射机初始化软件的设计和实现过程:接收机系统软件主要包括接收机解码模块和接收机串口通信模块;发射机初始化软件包括程序主控模块的设计和串口通信模块的设计。 49 5 系统仿真与实验调试 5.1 硬件仿真与实验调试 接收机硬件系统主要包括五个部分:天线、信号处理电路、单片机系统、电源电路、串口通信电路。其中,单片机系统、电源电路、串口通信电路相对简单,所以这里主要以天线和信号处理电路的仿真与实验调试为主。 5.1.1 超低频线圈天线的仿真与调试 为了便于分析,我们必须建立超低频线圈天线的电路仿真模型。通过前面对超低频线圈天线的定性分析,发射线圈天线与接收线圈天线分别像一个空气隙特别大的变压器的原边和副边线圈,是共同的磁场把两者联系起来,传递信号。所以,我们假定天线的电路仿真模型为理想变压器,为了验证该仿真模型的正确性,我们对比仿真结果与实验结果即可。 仿真一:超低频线圈天线的电路仿真模型如图5-1,发射线圈等效为变压器的原边线圈,接收线圈等效为变压器的副边线圈,根据仿真结果观察接收线圈端的输出波形。 图5-1 仿真一的电路原理图 实验一:Vp-p=5V、占空比50%、80Hz的方波,通过发射线圈发射出去,最后用示波器观测接收线圈的输出波形。 由如图5-2和图5-3的仿真结果和实验结果对比可知:实际情况与我们假定的情况相符,所以本设计中的超低频线圈天线可以等效为变压器模型。 在5-3图中,原方波信号经过传输过后,接收端的信号是方波信号经过微分后的信号,同时它的脉宽基本上已经失真。所以,只有在天线两端并联一个合适的电容, 50 图5-2仿真一结果 图5-3 实验一的结果 51 使它的输出波形平滑来保证它的脉宽不失真,以便后续电路的检测。 仿真二:在仿真一的基础上,在副线圈两端并上一个电容,通过仿真结果寻找最合适的并联电容。 由仿真二可以得知天线两端并联50μF左右的电容最合适。根据仿真二的结果,我们选择56μF的电容并联在天线两端,于是可得接收天线并联56μF的电容后输出波形图如图5-4所示。与原方波信号相比,图5-4中的输出波形的占空比及频率没有失真。 图5-4 接收天线并联56μF电容后的输出波形图 5.1.2 信号处理电路的性能分析 信号处理电路是接收机硬件系统电路中至关重要的部分,它的灵敏度决定着整个接收机的灵敏度。信号处理电路的灵敏度就是信号处理电路的最小输入电压。 仿真三:仿真电路图如图5-5,改变信号源V1的幅值,观察输入信号VP-P(接收天线端的信号)的大小,同时根据仿真结果计算出输出波形的占空比,再与原信号的占 空比作比较。 52 图5-5 仿真三的电路原理图 表5-1 仿真三的结果 输入信号VP-P 2mV 4mV 10mV以上 输出信号占空比状况 完全失真 部分失真 基本恢复 实验二:发射机向接收发送字符‘3’,同时调整发射机与接收机的距离,观察天线两端的输出波形的VP-P,然后通过串口调试工具观察接收机的解码情况。 图5-6 接收信号VP-P=50mV是接收机的解码情况 53 图5-7 接收信号VP-P=100mV是接收机的解码情况 图5-8 接收信号VP-P=150mV是接收机的解码情况 由于篇幅的关系,我们只给出了如图5-6、图5-7、图5-8的实验结果,因为发射机发射的是字符‘3’,所以,图5-6中的结果表示接收信号VP-P=50mV时接收机完全误码,图5-7中的结果表示接收信号VP-P=100mV时接收机部分误码,图5-8中的结果表示接收信号VP-P=150mV时接收机解码正常。总结实验结果,得到的如下表5-2数据: 54 表5-2 实验二的结果 输入信号VP-P 50 mV以下 50-150mV 150 mV以上 解码状况 完全误码 部分误码 解码正常 通过仿真结果与实验结果的对比:仿真的结果往往是最优化理想的结果,仅仅只能作为设计电路的参考,本次信号处理电路的最小输入电压为150mV左右。 5.2 软件调试 5.2.1 接收机系统软件的调试 接收机系统软件的实验调试主要分两部分:解码模块与串口通信模块。在验证解 码模块时,必须通过串口将解码数据发送到PC机上,所以在验证解码模块之前,我们必须对串口通信模块进行实验验证。 1.串口通信模块调试 图5-9实验三的结果 实验三:通过单片机不间断向PC机发送‘0’-‘F’16个字符模拟单片机将已解码的数据通过串口送到PC机的过程。 实验三结果如图5-9所示,串口通信模块能准确无误的将数据通过串口传送到PC 55 机上。 2.解码模块调试 为了能准确了解解码模块解码的误码率,接收机解码实验调试必须是在信号波形不失真的理想情况下进行。 实验四:发射机将‘0’-‘F’16个字符分别单独发10000次,其中发射机通过有线的方式与接收机相连,观察接收机的解码结果。 由于篇幅的关系,实验四测得的结果可总结为如表5-3所示: 表5-3实验四的结果 发送字符 发送次数 接收到的误码字符数 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ‘0’ 10000 ‘1’ 10000 ‘2’ 10000 ‘3’ 10000 ‘4’ 10000 ‘5’ 10000 ‘6’ 10000 ‘7’ 10000 ‘8’ 10000 ‘9’ 10000 ‘A’ 10000 ‘B’ 10000 ‘C’ 10000 ‘D’ 10000 ‘E’ 10000 ‘F’ 10000 实验五:为了更全面的验证接收机的软件的解码性能,在实验四的基础上,发射机发送一组由48个随机字符组成的字符串,观察接收机的解码结果。其中,实验中的字符串为“BB55BCDEA23B40187567438765310ADEBFC21F2C3A9DF019”。 如图5-10所示,接收机解码结果完全正确(其中双‘0’字符是一组数据的分隔符)。综合实验四和实验五的结果,接收机软件的解码性能完全满足设计的技术指标。 56 图5-10 实验五的结果 5.2.2 发射机初始化软件的调试 发射机初始软件主要包括两个功能:提醒功能和初始化功能。提醒功能主要是提 醒用户输入数据是否超过范围以及串口是否已经打开;初始化功能主要是通过反馈信息的方式告诉用户是否初始化成功。 57 图5-11 输入数据的设置提醒 如图5-11所示,当工作频率、工作时间、休息时间的输入值不符合要求时,软件 会提示用户更改输入值。 图5-12 串口是否打开的设置提醒 如图5-12所示,当用户初始化的时候,软件会有自动检测串口是否打开的设置提 58 醒。 图5-13 初始化成功 图5-14 初始化失败 如图5-13和5-14所示,当用户初始化的时候,软件会通过反馈信息提醒用户是否初始化成功。 59 图5-15 初始化结果的历史记录 如图5-15所示,软件会自动记录初始化结果的历史记录。 综上所述,发射机初始化软件满足设计要求。 5.3 本章小结 本章从硬件和软件两方面进行了接收机系统的仿真与实验调试的分析。比较详细的对超低频线圈天线的仿真与调试进行了分析以及信号处理电路的性能进行了分析,从而得出了相应的结论,最后对接收机系统软件和发射机初始化软件的功能通过实验的方式进行了验证。 60 6 结论与展望 6.1 结论 本设计主要是应用于超低频随钻测井系统中的数据采集系统中,负责数据采集系统中的信息接收部分。本文介绍了整个系统的工作原理、接收机的总体设计方案、硬件结构、软件设计思想、器件的选取、电路板的制作、软件的编写,以及最后系统的仿真与调试。总结以上的工作得出以下结论: (1) 在硬件设计中,结合相关的电路仿真软件,对电路设计有着事半功倍的效果。 (2) 单片机的软件解调方式替代传统的硬件解调方式的做法,精简了系统结构,减少了电路元器件,并使整个通信系统的调试显得更为方便。 (3) 软件设计采用了C语言,使程序可读性增强,编写灵活,编程模块化更易于代码移植、修改。 (4) 采用VB编写发射机初始化软件,简单实用,方便快捷。 (5) 系统调试,不管是硬件还是软件,在开发中都占了很大的比重,因此在设计的过程中,不仅需要对系统各个模块逐个进行调试以验证它们的准确性,同时又要和系统级联一起做调试,虽然最终的结果可能只有几行,但其间遇到的各种突发问题却令人收获颇丰。 6.2 存在的问题及展望 本文设计的超低频数据采集系统的接收机为未来的超低频随钻测井信息传输系统的设计和完善奠定了基础,但其中仍有诸多需要改进的地方,比如没有对线圈天线进行定量分析;各部分软硬件设计还可以更进一步完善。此外,由于实验条件和时间的原因,无法进行现场试验,因而对系统抗噪抗干扰性能的分析还不够全面。 在本文研究的基础上,若要进一步开展研究,可以从以下几个方面着手: (1) 设计更优化的线圈接收天线。 (2) 现场进行信号的收测试验,进一步完善信号处理电路的性能;分析噪声、干扰源以及误码特性。 (3) 结合现场收测试验,从软件的角度提高系统的抗干扰能力。 (4) 在本文的基础上,进一步完善接收机的软硬件设计,为系统的应用打下基础。 61 致 谢 本文是在我的导师董天临教授的关心和悉心指导下完成的。从课题选题、调研、信息收集和论文的撰写,都得到了导师的大力帮助。 董老师以其渊博的学识、严谨的治学态度、诲人不倦的精神不断地教导我,使我受益终身;在学习、科研和生活上,都给予了我极大的帮助和支持。在此,向董老师表示由衷的感谢和诚挚的敬意。 感谢实验室的诸位同学给予我的帮助,尤其是王琳、黄于恒、陈伯元、张玉峰、王威、李春雨等同学在我做课题期间,给了我许多帮助和建议,让我少走了许多弯路,顺利地完成了论文。 感谢我的家人,他们这么多年来一直默默支持着我的学业,他们的付出是令人感动的、无价的。 最后,谨向给予我帮助和关心的所有老师、同学和亲人表示最诚挚的谢意。 62 参考文献 [1] 邵养涛,姚爱国,张明光.电磁波随钻遥测技术在钻井中的应用与发展.煤田地质与 勘探,2007,35(3):77-79. [2] MONTARON B A,HACHEJ-M D,Bermard Voisin.Improvements in MWD telemetry .SPE25356:The Right Data at the Right Time,1993:337-346. [3] (苏)奥戈罗德涅丘克.矿井低频无线通讯.吴荣光,虞梦先译.北京:煤炭工业出版 社,1981. [4] 陶晋宜.甚低频电磁波穿透地层无线通信系统天线装置的研究.太原理工大学学 报,1999,30(2):139-143. [5] 姚善化,范骏.噪声背景下矿井无线通信的弱信号检测技术.煤炭工 程,2005,(11):76-77. [6] 陶晋宜.甚低频电磁波穿透底层无线电通信系统若干问题的探讨.太原理工大学学 报,2000,31(6):690-693. [7] BERNSTEIN S L.A Signaling scheme and experimental receiver for extremely low frequency (ELF) communication.IEEE Trans.on Commun,1974,22(4):508-528. [8] ROWE H E.Extremely low frequency (ELF) communication to submarine.IEEE Trans.on Commun,1974,22(4):371-385. [9] OLSEN R G,YAMAZAKIK.The interaction between ELF electric fields and RF survey meters:Theory and experiment.IEEE Trans.on Electromagnetic Compatibility, 2005,47(1):86—96. [10] C. A. Balanis.Antenna Theory Analysis and Design.John Wiley&Sons,Inc.,1997. [11] 马汉炎.天线技术.哈尔滨:哈尔滨工业大学出版社,2000. [12] Collin R E.Antennas and Radiowave Propagation.New York: McGraw-Hill,1985. [13] 高建平.螺旋天线几何尺寸的优化设计.沈阳航空工业学院学报,2003,20(3):58-59. [14] 王林章,张美玑,张锦生.清管器跟踪仪的超低频发射机研究.油气储 运.1983,(6):16-38. [15] 王林章.螺线管电感的计算与测量.电测与仪表.1982,(11):12-16. [16] 陈涤,崔仁涛,樊德军.任意阶无漂移全极点有源低通滤波器的原理与实现.仪器仪 63 表学报,1999,20(3):290-293. [17] M.S.Ghausi,K..R.La ker,Modern Filter Design:Active RC and Switched Capacitor,P rentice-Hall,1981. [18] 朱善军,孙新亚,吉吟东.单片机接口技术.北京:清华大学出版社,2005. [19] 朱勇.单片机原理与应用技术.北京:清华大学出版社,2006. [20] 何立民.单片机应用系统设计.北京:北京航空航天大学出版社,1990. [21] 何立民.MC51系统单片机应用系列设计.北京:北京航空航天大学出版社,1999. [22] 李群芳,黄建.单片微型计算机与接口技术.北京:电子工业出版社,2001. [23] 李秉操.单片机接口技术及在工业控制中的应用.西安:陕西电子编辑部,1991. [24] 陈光东,赵性初.单片微型计算机原理与接口技术.武汉:华中科技大学出版社,2001. [25] 刘艳玲.采用MAX232实现MCS-51单片机与PC机的通信.天津理工学院学 报.1999,15(2):57-58. [26] 肖玲妮.Protel99SE印刷电路板设计教程.北京:清华大学出版社,2003. [27] 赵亮,侯国锐.单片机C语言编程与实例.北京:人民邮电出版社,2003 [28] 马忠梅,刘滨,戚军,单片机C语言Windows环境编程宝典.北京:北京航天航空大学 出版社. [29] Peter Van Der Linden. Expert C Programming – Deep C Secrets.Posts & Telecommunications Press,2002. [30] Akihiko Yoneya, Akira Watanabe. Low Distortion Digital Pulse Width Modulation for Audio Class-D Amplifier. Intemational Symposium on Communications and Information Technologies 2004, 2004.10:515-518. [31] Deng,Heng.PWM methods to handle time delay in digital control of a UPS inverter.IEEE Power Electronics Letters,2005.3,3,(1):1-6. [32] Koenig,Andrew.C Traps and Pit falls. Posts & Telecommunications Press,2002. [33] 李雁翎.Visual basic程序设计.北京:清华大学出版社,2004. [34] 刘炳文.Visual basic程序设计教程.北京:清华大学出版社,2002. [35] 蔺爱国,张加胜.一种数字存储组合式PWM调制方案.现代电子技术,2004,(06): 13-15. [36] 武传华,程水英.PWM在几种模拟通信信号数字调制解调中的应用.电路与系统学 报,2005,(03):149-152. 64 [37] 路明礼,赵顺东.应用中规模数字集成电路实现PWM脉冲.洛阳工业高等专科学校 学报,2003,(02):27-28. [38] 贾玉瑛,王臣.基于单片机控制的PWM直流调速系统.包头钢铁学院学 报,2005,(04):43-45. [39] 孙继平,吴冰,吴国良,张新学.井下移动基站本安开关电源的干扰源及抑制.中国煤 炭,2003,(19):42-44. [40] 曹育红.矿井无线通信系统的频率选择.工矿自动化,2005,(4):38-40. [41] Angel V. Peterchev. Digital Pulse-Width Modulation Control in Power Electronic Circuits:Theory and Applications.University of California,Berkeley,2005. [42] Hoshina,Masato.New PWM technique for five-stepped PWM inverter used in photovoltaic system.IECON Proceedings,1989.11,1:118-123. [43] Ahmed, Tarek. Advanced control of PWM converter with variable-speed induction generator. IEEE Transactions on Industry Applications, 2006.8, 42, (4): 934-945. 65 超低频数据采集系统接收机的开发研究 作者: 学位授予单位: 谢波 华中科技大学 本文链接:http://d.g.wanfangdata.com.cn/Thesis_D072055.aspx 授权使用:西北农林科技大学(xaxbnlkjdx),授权号:8102d469-7f43-408e-a336-9e2b0139beb1 下载时间:2010年11月11日 因篇幅问题不能全部显示,请点此查看更多更全内容