单片机数据编解码在利用单片机和无线数传模块进行无线数据通信时,通常的办法是通过单片机的串行I/O口来完成数据的串行通信。然而方法存在许多不足之处,如差错检测能力差、帧格式不灵活等。针对低速通信的场合,提出了一种通过单片机和无线数传模块以软件方式实现对传输数据编码、解码的原理和方法。概述 数据的编码采用了曼彻斯特编码格式,每帧数据包括同步头、有效数据位和冗余校验位三部分。解码包括同步头和数据位的判定及循环冗余校验。在数据位的判定中提出了用软件实现“测三取二”的判定方法。该判定方法不但可以提高采样的准确度,而且还具有一定的滤波功能。实验结果表明,与单片机的串口通信相比,该编解码方法具有抗干扰能力强、传输数据灵活等优点。 应用 利用单片机和无线来完成无线数据通信在石油、电力、水文、冶金等行业的无线控制、数据采集、报警诸多领域中有着广泛的应用前景。通常采用的办法是用单片机的串行I/ O 口来完成数据通信,但是该方法有许多不足之处:、在利用单片机的串口进行发送和接收数据时,对传输的数据只能进行奇偶校验,然而在无线通信场合,被传输的数据极易受到电磁、静电等的干扰,奇偶校验一般不能检测出这类干扰所引起的突发性错误,所以该方法无法满足差错检测要求较高的场合;第二、由于单片机一般采用异步通信方式,接受器通常不能很快的接收到有效数据,因而该方法也不能满足要求多路进行快速切换的场合;第三、单片机的串口通信在传输速率和每帧的有效数据位数等方面都受到了严格的限制,缺乏灵活性。 编码原理 数据的编码采用了曼彻斯特编码格式,每帧数据由同步头、有效数据位和校验位三部分组成。其中数据位“1”由高到低的跳变表示,数据位“0”由低到高的跳变表示,而且数据位“1”和“0”高低电平周期各为0. 5 T (设T 为一个数据位宽度) 。根据曼彻斯特码的特点,每个数据位都由高低电平组成,因而在连续传输的有效数据位中不会存