APP下载

利用C语言实现循环冗余校验码的方法

2011-11-27杨俊春

空间控制技术与应用 2011年5期

杨俊春

(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)

利用C语言实现循环冗余校验码的方法

杨俊春

(1.北京控制工程研究所,北京100190;2.空间智能控制技术重点实验室,北京100190)

给出了一种利用C语言实现循环冗余校验码(CRC)的方法并将其应用到卫星控制系统中.首先介绍了CRC校验码的原理,在此基础上推导了计算多字节数据序列CRC校验码的递推算法,然后给出了算法的C语言实现,最后将其应用到卫星控制系统中.试验数据表明给出的CRC算法实现能够灵敏的检测出数据传输过程中产生的错误.

卫星;控制系统;CRC;C语言;

卫星控制系统需要实时处理地面发送的遥控指令以及遥测下传星上的各种参数供地面判读,遥控指令和遥测参数均通过星地通信链路进行传输.由于受到各种电磁干扰的影响,数据在传输过程中会发生不可预知的变化,造成接收到的数据和实际发送的数据不一致.卫星控制系统如果不能及时正确的处理地面发送的遥控指令,或者下传的遥测参数显示错误而导致地面做出错误的决定,这些都可能对卫星造成致命的影响.因此,为了保证通信的可靠性,必须采用差错检测.常用的差错检测机制有:奇偶校验、校验和校验、海明码校验、循环冗余校验(CRC校验),其中CRC校验的检错能力最强[1-2].本文推导了计算多字节数据序列CRC校验码的递推算法,并给出了软件的C语言实现及其在卫星控制系统中的应用.试验数……

登录APP查看全文