当今信息时代,人们需要多种多样的通信手段和设备,常见的不论是有线电话还是无线电台,都为模拟信道,适合传送模块话音信号。目前,通过公用电话网进行计算机通信的技术已经成熟。而无线电台特点是老式电台,在我国使用范围很广,拥有量很大,但其功能单一,不能适应当前数据通信的要求,如何对其进行技术改造,增加数据能信功能,就显得尤为必要。为此,研究设计了无线电台用智能数据通信卡(以下简称通信卡),通过该卡,可给以模拟方式作为话通信的无线电台增加数据通信功能,大大提高了老式电台的性价比。该卡体积小,成本低,可放置于电台内部。
1、通信卡的设计思想
从电台实际工作情况考虑,给电台增加数据通信功能后,应注意解决以下问题:
·不能影响原话音通信功能。
·数据通信卡的数据接口要采用标准接口,从电台性能、体积、抗干扰性及经济性上考虑,选用RS-232C标准接口,相应的串行速率为1200bps。
·待传送的数据送入通信卡后,应转换成适宜在无线模拟停产上传送的模拟信号,且该信号频率带宽不能超过电台频道所要求的带宽。
·为解决多用户同时通信时出现的同频干扰问题,须给电台增加禁收禁发功能。
2、通信卡的硬件框图及电路设计
根据上述思想所设计的通信卡包括硬件和软件两部分。硬件部分是该卡的基础,其框图如图1虚线框内所示。其中,PTT为电台键控信号(PTT=1 电台接收,PTT=0 电台发射),SQL为电台接收静噪信号(SQL=1 电台频道忙,SQL=0 电台频道闲),MIC为电台话音信号输入口,UΩ为电台解调出的话音信号。整个通信卡的核心为由89C51单片机以及RAM和8251组成的控制系统,这一部分主要完成数据的接收、存储、发送的控制与管理。串行接口部分由RS-232C接口和电平转换电路组成。还有一部分即MODEM电路,主要完成由通信卡到电台的数字信号(TXD)的调制发送和由电台到通信卡的模拟信号(FSK 出)的解调接收。图1中,用89C51的串行口(TXD和RXD)经MODEM与电台话音接口相连。图中之所以用8251来扩展89C51的串行口与外部计算机通信,是考虑到用8251的RXRDY(14脚“接收准备就绪”信号)与89C51外部中断(P3.2脚)相连,使89C51单片机可以及时响应8251通信中断,避免与MODEM接口的串行中断相混淆或进行中断竞争。
2.1 RS-232C串行接口设计
RS-232C串行接口及电平转换电路如图2所示。其中,MC1488、MC1489为电平转换芯片。外部计算机数据通过DB9插座输入后,需经MC1489将RS-232C电平转换为TTL电平,并在89C51的控制下,通过8251存于RAM通信缓冲区中。同样从电台接收来暂存于RAM中的数据要发给外部计算机,亦需经MC1488将TTL电平转换成RS-232C电平。
2.2 MODEM电路设计
MODEM电路采用OKI公司的FSK MODEM芯片MSM7512B设计而成,其接口输出与TTL电平兼容,且工作模式可由外部逻辑设定。本电路工作状态采用1200bps半双工模式,FSK移频频率符合标准协议ITU-T V.23[2]。在本卡中MODEM应用电路如图3所示。
由于MODEM工作于半双工状态,同一时刻AI/AO只有一端上有模拟信号输入/输出,且MODEM内置有阻抗混合电路,所以其两端通过600Ω电阻并作一端使用。AOG端接数字“0”,使模拟发送信号幅度为典型值-4dBm(0dBm=0.775Vrms)。MODEM的工作模式通过89C51单片机的P1.3逻辑进行选择。将MODEM的MOD2脚接数字“0”,MOD1脚接89C51的P1.3,当P1.3输出为“0”,MOD1、MOD1=“00”,MODEM工作于1200bps发送模式;反之,当P1.3输出为“1”时,MODEM工作于1200bps接收模式。
MODEM将接收到的FSK模拟信号转换为数字信号(RXD)后,输出到89C51串口。一旦89C51串口收到一帧数据,就会立即引发串口中断,从而输入串口中断服务程序进行数据的接收,并将收到的数据暂存于通信缓冲区。同样,由单片机89C51转过来的数据(TXD),要经MODEM发送给电台,可通过单片机的P1.4将MODEM的RS端置为有效电平(低电平),使其发送允许,同时将P1.3置“0”,使其正常工作。
2.3 通信卡控制系统的设计
通信卡控制系统电路如图4所示。89C51单片机除完成数据传送控制外,还负责完成电台SQL(静噪信号,也单片机的P1.2相连)信号的检测和电台PTT键控制(由P1.1完成)。
单片机的P0口经地址锁存器74LS373锁存输出为6264的低8位地址,由P.0~P2.4提供6264的高5位地址,借P2.5引脚进行片选,接6264的片选端CE。6264的读/写允许信号OE/WE分别与89C51单片机的读/写允许信号RD/WR相连。P0为分时复用双向数据总线,将数据相应地送和264的数据端D0~D7.6264的编址空间为8K,自0000H~1FFFH。
单片机的时钟为7.3728MHz,ALE作为8251的时钟信号。但由于89C51在访问片外数据存储器期间,ALE脉冲会跳空一个,所以将ALE与WR、RD组合,以补允空跳的时钟脉冲。组合后产生1.228MHz的脉冲信号,该信号与8251的CLK相连,同时64分频后作为8251的接收与发送时钟。64分频采用两片74LS160(接成8进制计数方式)级联。
外部中断INT0作为电台发送数据时的中断请求信号。图4中,外部中断请求信号通过D触发器加到单片机INT0引脚上。当外部中断信号使D触发器的CLK端发生正跞变时,由于D端接地,Q端输出0,向单片机发出中断请求。CPU响应中断后,利用口线P1.5作应答线。在中断服务程序中用两条指令来撤销中断请求。
ANL P1,#0DEH
ORL P1,#20H
第一条指令使P1.5为0,而P1口其他各位的状态不变。由于P1.5与置1端S相连,故D触发器Q=1,撤销了中断请求信号。第二条指令将P1.5变成1,从而S=1,使以后产生的新外部中断请求信号又能向单片机申请中断。
DTR、DSR用于检测外部计算机是否空闲。在程序中,将操作命令字的第1位置1,使得DTR有效。在发送数据前,先读取状态字,查询其最高位是否为1,若为1则表示数据装置准备好,8251可以发送数据。否则,再次查询直至为1。
3、通信卡的软件设计
3.1 通信协议
(1)通信卡中89C51单片机串行口工作于多机通信状态(即SM2=1)。每个卡都有一个唯一的地址编号,范围为00H~FEH。
(2)通信卡单片机串行口数据的帧格式为:8位数据+1位数据/地址识别位+1位起始+1位停止位。其中的数据/地址识别为0时,说明传送的一帧为数据,否则为地址。串行通信波特率为1200bps。传送数据前,发方选送接收方地址号,接收方判断是本机地址后,使SM2清0以接收随后发来的所有信息。否则,如判断非本机地址,则仍保持SM2=1状态返回。
(3)89C51单片机平常处于检测SQL的查询工作状态,通过检测SQL信号,由软件信号任务时钟只有一个通信卡在发送数据,这样不会造成通信时的频道竞争,也避免了同频干扰。
(4)单片机串行口工作方式设置为方式3。另外,外部计算机数据送入8251后,中断信号(8251的RXRDY)送和9C51的INT0脚,使单片机因外部中断0而产生接收中断。
(5)89C51串行口传送的数据包采用累加校验的方法。程序设定16个字节为一页,每收/发一页数据,控制其收/发一个累加和。
(6)通信卡中的8251与外部计算机间异步通信的数据格式为:8位数据+1位停止位+1位偶校验位。波特率为1200bps。且在传送数据时,应首先传送一个8位数据包长度信息字。
3.2 通信方案
(1)外部数据经通信卡的发送过程:由RS-232C传来的数据包经8251芯片完成串/并转换后,暂存于以6264为RAM的通信缓冲区中,通过检测SQL确认电台频道空闲时,将通信缓冲区的数据包由串行口送给MODEM电路,以转换为适宜在无线模拟信道传送的信号TXA,并由电台发送出去。
(2)通信卡接收数据的过程:由电台接收下来的RXA信号经过MODEM电路转换为数字信号RXD,并由单片机存于通信缓冲区中。89C51单片机通过检测状态字查询RS-232C口所接外部计算机为空闲状态时,经8251将数据包送给外部计算机。
3.3 通信卡的软件流程图。
通信卡的整个工作过程由软件控制完成,流程图如图5、图6和图7所示。
用单片机和通信等技术设计、实现了无线电台用智能数据通信卡。通过该卡,可给早期生产的只能作为话音通信的老式电台增加计算机数据通信功能。对软硬件稍作修改,还可给电台增加选呼、群呼、组呼等功能,从而大大提高了无线电台特别是老式电台的性价比。该卡用于某无线数据传输系统中,工作效果良好。该卡还以广泛地应用于计算机无线通信网的组建、元程控制系统、保安系统等。
相关文章