回复:请问bcc和crc校验的区别

bywind

  • 帖子

    92
  • 精华

    1
  • 被关注

    0

论坛等级:游民

注册时间:2003-06-06

普通 普通 如何晋级?

发布于 2003-06-02 18:06:35

0楼

解决差错问题有两种基本策略。一种方法是在每个要发送的数据块上附加足够的冗余信息,使接收方能够推导出发送方实际送出的应该是什么字符。另一种方法是只加入足够的冗余位使接收方能推算出是否发生了差错,但不知道哪些位出错,然后接收方可以请求重发。
数据通信中,在大多数情况下采用检错码加重传,效率较高。将每个数据块组成一个n位宽和k位高的长方形矩阵来发送。对每一列单独计算奇偶位,并附在矩阵之后作为最后一行。然后发送这个矩阵,每次一行。当数据块到达时,接收设备检查所有奇偶位。假若其中任一奇偶位错了,就需要重传整个块。
帧以块检查码BCC(Block Check Code)结尾,检查码可以是纵向冗余检查LRC(Longitudinal Redundancy Check),也可以是循环冗余检查CRC(Cyclic Redundancy Check)。
接收方计算检查码时,如果与发送方的CRC或LRC不匹配,接收方就在一个单独的控制帧中给发送方返回一个NAK。当检查码匹配时,接收方在一个单独的控制帧中返回一个肯定确认。如果收到一个NAK序列,源发方就重发整个有错的块。如果继续有NAKs返回,发送方将认为链路有了故障,并且中止传输。
评论
编辑推荐: 关闭

请填写推广理由:

本版热门话题

SIMATIC S7-200

共有33290条技术帖

相关推荐

热门标签

相关帖子推荐

guzhang

恭喜,你发布的帖子

评为精华帖!

快扫描右侧二维码晒一晒吧!

再发帖或跟帖交流2条,就能晋升VIP啦!开启更多专属权限!

  • 分享

  • 只看
    楼主

top
X 图片
您收到0封站内信:
×
×
信息提示
很抱歉!您所访问的页面不存在,或网址发生了变化,请稍后再试。