原创 无线通讯STC12C2052+SM36C

2008-9-8 12:57 2845 10 11 分类: 工业电子

接口


1         接口设计<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />


1.1通信协议接口:


<?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" />1.1.1波特率:9600bps,数据位8,停止位1,无校验;


1.1.2数据帧:11字节,其中帧头1字节(3EH),地址码5字节(XX xx xx xx xxXX可以设计为地区码),控制码1字节,指令1字节,CRC校验2字节,结束码1字节(0DH);


         帧结构如下:




帧头


地址码


控制码


指令


CRC校验


结束码


3E


00-FF


00-FF


00-FF


00-FF


00-FF


55


00-FF


00-FF


00-FF


0D


 


帧头作为一个数据包的开始,不是以此字符开始的包无效,直接丢弃;


地址码占了5字节,共40位,理论上可以容纳240次方约1亿亿个被控终端;


控制码这里沿用之前的55,表示此数据包是控制包,调试中还使用66,表示回传;


指令码结合控制码,表示控制的具体内容,如闭合命令,开启命令,命令可以自定义,这里设计0X00表示开启,0XFF表示闭合;


 


这里CRC校验使用CRC-CCITT:(由欧洲CCITT 推荐)


G(X ) = X16 + X12 + X 5 +1  对应16进制多项式0x11021发送端对地址码、控制码、指令码共7字节进行CRC求余项式,并将其填入CRC校验字节,打包发送;在接收端对除帧头和结束码在内的其余字节进行校验,若数据包正确,CRC校验值应为0


考虑到MCU计算能力和资源的局限性,采用半字节校验法,使用查表法进行CRC校验,每个字节算两次(半字节算一次),可以在速度和内存空间取得均衡


多项式0x11021实现算得CRC余式项(半字节416种情况)如下:


 


unsigned int code crc_ta[16]={ /* CRC 余式表 */


0x0000,0x1021,0x2042,0x3063,0x4084,0x50a5,0x60c6,0x70e7,


0x8108,0x9129,0xa14a,0xb16b,0xc18c,0xd1ad,0xe1ce,0xf1ef,


};


 


1.1.3接收数据帧正确性判断:帧头正确、结束码正确、5字节地址码全部正确并且CRC校验正确为正确数据包,其它为错误包,MCU主动丢弃;


1.1.4收发中心频率915MHz



https://static.assets-stash.eet-china.com/album/old-resources/2008/9/8/c5a0e2dd-8810-4c2a-ae3c-bedeee126296.rar程序


https://static.assets-stash.eet-china.com/album/old-resources/2008/9/8/a3ac75c5-1f49-4fc0-aa90-dd9c1b0841ea.rar电路


 


PARTNER CONTENT

文章评论1条评论)

登录后参与讨论

用户461316 2008-9-9 20:34

收藏程序!!!
相关推荐阅读
用户1270731 2011-03-22 09:41
模拟外调制器偏置电压自动控制实现之软件部分
attachment download   模拟外调制器偏置电压自动控制实现之软件部分  三、偏置电压自动控制的实现 两路导频信号1.硬件组成部分单片机外调制器高精度DA转换正负电压调节电路CSO分量...
用户1270731 2010-12-10 19:53
STC90LE58AD ENC28J60 WEB
拜读了某前辈的文章,看来我找到移植UIP0.9问题的关键了。通常ENC28J60的驱动程序只考虑发送参数packet指针指向的数据区,在HTTP需要回应的数据的时候,没有将需要的数据(UIP处理后放在...
用户1270731 2010-12-10 19:29
ENC28J60提供的超小协议栈
ENC28J60提供的超小协议栈,它用一个全局的数组来做接收和发送缓冲。部分发送数据包从接收包中更改标志和校验和得到,最大化的减少内存拷贝。实现TCP/IP协议收发数据包的各个子功能,如校验和计算,标...
用户1270731 2010-12-03 07:58
单片机以太网-web网页问题
uip协议栈,STC12LE58AD单片机。问题是得不到网页数据,10延迟后退出,发送无数据。调试httpd部分串口输出如下:ip: version4 header.ip: POSSIBLE TCP ...
用户1270731 2010-06-13 15:03
VC++6.0做的 RS232 数据帧类
// ZBL232Frame1.h: interface for the CZBL232Frame class.////////////////////////////////////////////...
用户1270731 2010-06-03 16:34
铌酸锂晶体横向电光调制实验
实验六 铌酸锂晶体横向电光调制实验<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...
EE直播间
更多
我要评论
1
10
关闭 站长推荐上一条 /1 下一条