文章介绍了在陀螺测斜仪的电缆遥测系统中,用89C52单片机实现频移键控调制解调(FSK modem)的原理和方法。用此方法可以得到数据传输率为4800bit/s的FSK modem,因而有效地解决了陀螺测斜仪的通信问题。
### 用89C52单片机实现FSK调制解调
#### 概述
本文探讨了如何使用89C52单片机在陀螺测斜仪的电缆遥测系统中实现频移键控调制解调(FSK modem)的方法。通过这种方法,可以实现4800 bit/s的数据传输率,从而有效解决陀螺测斜仪的通信问题。
#### 1. 陀螺测斜仪背景与需求
陀螺测斜仪是一种用于石油钻井过程中测量井孔方位角和倾斜角的设备,进而可以计算出井孔的轨迹。为了实现实时监控并确保数据传输的准确性和抗干扰性,陀螺测斜仪通常配备电缆遥测系统,用于控制井下陀螺仪的动作,并将采集到的数字信号实时传输到地面。
#### 2. FSK调制解调的选择
- **原因**:选择FSK调制解调的主要原因在于提高信号传输的抗干扰性以及减少电缆分布参数的影响。相较于其他调制方式,FSK具有较好的鲁棒性,尤其适用于恶劣的井下环境。
- **挑战**:市场上现有的FSK modem集成电路大多是为了在模拟电话网上传输数字信号而设计的,数据传输率较低,大约在1200 bit/s左右,无法满足陀螺测斜仪对实时性的要求。此外,考虑到陀螺测斜仪在井下工作的特殊环境和体积限制,市面上可承受高温的FSK modem集成电路价格昂贵。
#### 3. 89C52单片机实现FSK调制解调
为了解决上述问题,本文提出了一种基于89C52单片机通过软件实现FSK调制解调的方法。该方法不仅能够满足实时性要求,而且成本低廉,同时还能减小电路板的尺寸。
- **硬件配置**:使用89C52单片机作为核心处理器,通过定时器0 (T0)实现FSK调制,通过定时器2 (T2)实现以鉴频方式进行FSK信号解调。
- **数据传输**:发送的数字信号经过调制后从89C52的P3.5端口输出,以方波的形式直接在电缆上传输,然后在电缆的另一端经过放大、滤波、整形等处理后进入89C52的T2EX (P1.1)进行解调。
- **数据帧格式**:采用的数据帧格式包括起始位、数据位(DATA.0~DATA.7)、奇偶校验位和终止位。
- **数据速率及载波**:系统采用的数据传输速率为4800 bit/s,“0”信号的载波频率为9600 Hz,“1”信号的载波频率为4800 Hz。
- **调制原理**:
- 发送“0”码时,将T0设置为特定初值,每溢出一次使P3.5的状态翻转,重复两次完成一个“0”码的发送。
- 发送“1”码时,方法与发送“0”码类似,仅需更改T0的初值即可。
- **解调原理**:利用89C52单片机的定时器2 (T2)的捕获功能,捕获输入信号的下降沿,并根据捕获到的时间间隔来判断接收的是“0”频还是“1”频。
#### 4. 实现细节
- **发送子程序**:使用R1作为发送码元计数器,R2作为发送的半码元计数器,C为进位标志,P为奇偶标志,Odd寄存奇偶标志。发送一个字节的过程包括读取要发送的字节、逐位发送以及进行奇偶校验。
- **解调子程序**:利用T2的捕获功能捕获输入信号的下降沿,并根据捕获到的时间间隔来判断接收的是“0”频还是“1”频。每次捕获操作后需要清除T2外部标志位EXF2,并将T2的工作寄存器TH2和TL2清零,使得T2重新开始计数。
#### 结论
通过使用89C52单片机实现FSK调制解调,不仅解决了陀螺测斜仪的通信问题,还降低了成本、提高了系统的鲁棒性和实时性。这种方法在石油钻探等工业应用领域具有很高的实用价值和推广潜力。