FPGA|CPLD|ASIC论坛
直播中

好孩

12年用户 149经验值
擅长:嵌入式技术
私信 关注
[问答]

格雷码的规则和应用问题?

今天看到一个格雷码计数的程序,搜了下定义,觉得还是云里雾里,定义写的是若任意两个相邻的代码只有一位二进制数不同,则这种编码为格雷码。首先数据传输时,如果是两字节数据0x12和0x34,那最后转成格雷码不就是0x12和0x34两字节对应的格雷码吗?哪里来的相邻之说?完全搞不清楚怎么解释,在实际传输时,又是如何防止数据错误的?就算转成格雷码不还是数据吗?

回帖(2)

晓晓江南

2018-8-21 09:22:45
例如:0(0000),1(0001),2(0010),3(0011);那么两个相邻的代码就是(0,1),(1,2),(2,3);转为格雷码为:0(0000),1(0001),2(0011),3(0010);如果系统不同步的话,0001变为0010就会产生错误(因系统不同步,0001可能变为0011或0000),如果转为格雷码的话,0001变为0011,整个过程只改变了一位,消除了系统因不同步而出现的错误,另外格雷码常用于计数(因为计数过程,数字变化是连续的,例如:0变为下一位数字只能是1,不会发生跳变)。
举报

Wiki ku

2018-12-7 11:25:49
可以考虑使用CRC校验
举报

更多回帖

发帖
×
20
完善资料,
赚取积分