精华内容
下载资源
问答
  • 通常专门设置一个奇偶校验位,用它使这组代码中“1”个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验“1”个数是否为奇数,从而确定传输代码的正确性。  利用Verilog语言实现对一个8位数据进行...

    摘要:奇偶校验(Parity Check)是一种校验数据传输的正确性的方法,根据被传输的一组二进制代码的数位中 “1” 的个数是奇数或偶数来进行校验;采用奇数的称为奇校验,反之,称为偶校验;采用何种校验是事先规定好的,通常专门设置一个奇偶校验位,用它使这组代码中 “1” 的个数为奇数或偶数;例如奇校验,当接收端收到这组代码时,校验 “1” 的个数是否为奇数,从而确定传输代码的正确性。

      利用Verilog语言实现对一个 8 位数据进行奇偶检验,具体方法如下,
      如果是奇校验,只要将该 8 位数据第一位和第二位进行异或 XOR,然后将得到的结果和第三位异或,依次下去,直到和第七位异或,这样得到的最后结果,就是奇校验位;如果是偶校验,将上面的奇校验位取反即可。

    奇偶校验器

    下面是奇偶校验器的 Verilog 代码实现:

    module Parity_Check(
        input wire [7:0] a, // 输入数据
        output odd, // 奇数位
        output even // 偶数位
        );
    
        assign odd = a[0] ^ a[1] ^ a[2] ^ a[3] ^ a[4] ^ a[5] ^ a[6] ^ a[7]; // assign odd = ^ a;
        assign even = ~odd;
    
    endmodule

    其 RTL 电路图如下所示:

     

    展开全文
  • 用于实现积偶校验.c

    2020-05-18 17:22:00
    用于校验积偶小程序,自己设计的代码,奇偶...通常专门设置一个奇偶校验位,用它使这组代码中"1"个数为奇数或偶数。若用奇校验,则当接收端收到这组代码时,校验"1"个数是否为奇数,从而确定传输代码的正确性。
  • 我们首先要理解偶校验编码原理,奇偶校验码是通过增加一检验来使编码取值为1位数总是为奇数或者为偶数。 这道题目是偶校验,所以1数量是偶数。 我们可以将每一条输入异或起来。 这样话当1数量为...

    我们首先要理解偶校验编码的原理,奇偶校验码是通过增加一位检验位来使编码中取值为1的位数总是为奇数或者为偶数。
    这道题目是偶校验,所以1的数量是偶数。
    我们可以将每一条的输入异或起来。
    这样的话当1的数量为奇数的时候,输出为0.
    0-15的编码已经给过了,16的编码就是所有的数据位异或起来。
    具体电路连接图如下:
    我们用一个异或门,它的引脚数量是16
    在这里插入图片描述
    然后我们保存文件,用记事本打开文件。
    在这里插入图片描述

    将代码复制到这里
    在这里插入图片描述

    然后就可以测试啦!

    在这里插入图片描述

    展开全文
  • 与编码不同是这一电路多了一检验码,所以我们还是将所有数据和检验码异或起来。 电路实现如下 然后我们就可以去偶校验传输测试了 可以发现传输过程会有错误。 当没有错误时候 检验错不会亮起来。 然后...

    这一关主要是对于偶校验检错电路的实现
    与编码不同的是这一电路多了一位检验码,所以我们还是将所有数据位和检验码异或起来。
    电路实现如下
    在这里插入图片描述

    然后我们就可以去偶校验传输测试了
    可以发现传输过程中会有错误。
    在这里插入图片描述

    当没有错误的时候
    检验错不会亮起来。
    在这里插入图片描述

    然后保存文件,用记事本打开,复制代码。粘贴到educoder里面测试。
    在这里插入图片描述
    上传的时候要重置模拟器,将模拟器设置在最初的时候,不要动它,要不然没法通过。
    在这里插入图片描述

    展开全文
  • 身份证号和ISBN号校验规则

    千次阅读 2014-01-15 22:15:02
    尤其提到,在编码中,校验位是保证数据完整性很重要的一个设计,我顺手学习了一下身份证号和图书中ISBN号中的校验位,并写了简单的测试代码。 目前我们使用的18位的身份证号,和13位的ISBN号,他们的最后一个数字都...

    最近在看《编码》这本书,里面谈到了多种编码方式,从摩尔斯电码到盲文,ASCII码,以及其设计原理。

    尤其提到,在编码中,校验位是保证数据完整性很重要的一个设计,我顺手学习了一下身份证号和图书中ISBN号中的校验位,并写了简单的测试代码。

    目前我们使用的18位的身份证号,和13位的ISBN号,他们的最后一个数字都是校验位,身份证的最后一位可能有0~10十一个数,而规定校验位只能有一位,所以用‘X’来代替11,‘X’也即是罗马数字中的10的数符。

    身份证验证方法:

    #include<stdio.h>
    #include<string.h>
    
    const char *id = "34052419800101001X";
    
    int weight[17] = {7, 9, 10, 5, 8, 4, 2, 1, 6, 3, 7, 9, 10, 5, 8, 4, 2}; 
    char map[11] = {'1', '0', 'X', '9', '8', '7', '6', '5', '4', '3', '2'};
    
    int main()
    {
            int i, len;    
            int sum = 0;
            if (strlen(id) != 18) {
                    printf("wrong length!\n");
                    return -1; 
            }   
        
            for (i=0; i<17; i++) {
                    sum += ( id[i] - '0' ) * weight[i];
            }   
        
    
            if (id[17] == map[sum % 11]) {
                    printf("verify pass!\n");
            } else {
                    printf("verify error!\n");
                    return -1; 
            }   
    
            return 0;
    }

    ISBN验证方法:

    #include<stdio.h>
    #include<string.h>
    
    const char *isbn = "9787514605099";
    int weight[12] = {1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3}; 
    
    int main()
    {
            int i, len;    
            int sum = 0;
            int code;
            if (strlen(isbn) != 13) {
                    printf("wrong length!\n");
                    return -1; 
            }   
    
            for (i=0; i<12; i++) {
                    sum += (isbn[i] - '0') * weight[i];
            }   
        
            code = 10 - sum % 10; 
            if (code == 10) {
                    code = 0;
            }   
    
            if (code == (isbn[12] - '0')) {
                    printf("verify pass!\n");
            } else {
                    printf("verify error!\n");
                    return -1; 
            }   
        
            return 0;
    }



    展开全文
  • 文章目录校验原理简介概念奇偶校验码偶数个错误校验不出总结 校验原理简介 概念 由若干位代码组成一个字叫码字。...奇校验码:整个校验码(有效信息位和校验位“1”个数为奇数。 偶校验码:整个校验
  • 该设计以NMEA-0183协议数据格式为基础,循环判断报文头、定位状态、校验位和结束位标志,根据逗号计数器值决定提取所需要导航信息,直至完成正确解析。用Verilog HDL硬件描述语言完成了代码设计,并在FPGA...
  • 注:串口波特率9600,无奇偶校验位。一、设计架构上图是与上位机通信串口时序图。我们从图可以获取到如下关键信息。1. 串口数据线位宽为1bit,默认状态下为高电平。2. 每次上游模块发送数据,都是先发送1位...
  • 其中第1-7位账户所属机构代码,第8-15位为顺序位,第16位为校验位。 机构代码的第一位,为机构类型,代表机构所属类型,目前系统有四种类型: 机构类型代码 机构类型名称 1 租户 2 商城 3 店铺 4 供应...
  • LIN (局域互联网)是一种低... 最新MCC LIN更新还增加了对“拆裂”EUART支持,通过使用“ 拆裂” EUART 增强校验和与从机原子速率检测。本文档提供了如何轻松而快速地产生LIN 主机和从机驱动程序步骤。
  • 注:串口波特率9600,无奇偶校验位。 一、设计架构 上图是与上位机通信串口时序图。我们从图可以获取到如下关键信息。 串口数据线位宽为1bit,默认状态下为高电平。 每次上游模块发送数据,都是先发送1...
  • error) (在由 64 位数据和 8 个校验位或由 32 位数据和 7 个校验位组成的代码字内 ),并可以检 测数据中的双位元错误 (double bit error)。设计采用的是汉明码 (Hamming code),这是用于 ECC 操作的一种简单而高效...
  • 这篇文章就阐述了如何编写相对看着舒服表单验证代码。 假设我们正在编写一个注册页面,在点击注册按钮之前,有如下几条校验逻辑。  所有选项不能为空  用户名长度不能少于6 密码长度不能少于6...
  • 寄生电源电路可以实现外部电源供电和单线寄生供电,64ROM存放48序列号用于是吧同一单线 上连接多个DS18b20,以实现多点测温。 64ROM代码的格式为: 8CRC校验码+48序列号+8系列码(0x28) 其中8...
  • 循环冗余检验CRC C#代码 Crc32

    千次阅读 2017-06-19 11:31:16
    CRC简介 循环冗余校验(Cyclic Redundancy Check, CRC)是一种根据网络...在数据传输过程,无论传输系统的设计再怎么完美,差错总会存在,这种差错可能会导致在链路上传输一个或者多个帧被破坏(出现比特差错,0变为
  • 由于J2EE的开源的框架中提供了MVC模式实现框架Struts、对象关系模型中的Hibernate 的框架及拥有事务管理和依赖注入的Spring。利用现存框架可以更快开发系统。所以选择Java技术作为blog 的开发工具。 为了增加系统的...
  • 注:串口波特率9600,无奇偶校验位。一、设计架构串口时序图上图是与上位机通信串口时序图。我们从图可以获取到如下关键信息。1. 串口数据线位宽为1bit,默认状态下为高电平。2. 每次上游模块发送数据,都是先...
  • costas_loop代码

    2012-10-08 14:40:33
    对LDPC码的和积译码算法充分理解之后,可以看密度进化理论及其高斯逼近算法,推倒文章中的公式是很有助于理解和积译码算法的。 % 4.经过步骤3,我们应该对什么样的LDPC码性能会好有一个初步的理解,这样我们可以试...
  • 注:串口波特率9600,无奇偶校验位。一、设计架构上图是与上位机通信串口时序图。我们从图可以获取到如下关键信息。1. 串口数据线位宽为1bit,默认状态下为高电平。2. 每次上游模块发送数据,都是先发送1位...
  • ping 实现设计---ICMP

    2012-10-21 21:39:00
     将数据以字为单位累加到一个双字,如果数据长度为奇数,最后一个字节将被扩展到字,累加结果是一个双字,最后将这个双字高16,低16相加后取反,便得到了校验和。 下面是checksum计算校验的代码:.....
  • 格雷码是任意两个相邻的代码只有一二进制数不同编码,它与奇偶校验码同属可靠性编码。 【设计思路】 从对应n二进制码直接得到n格雷码,需要先对n二进制从右到左,以0—n-1编号。如果二进制码第i和...
  • 第三天串口调试 虽然任务模块不涉及串口调试,但是 串口调试还是对我们debug很有用 这里还是顺便做一下串口 stmcubemx 首先还是查看板子原理...校验位8 停止位1 然后生成代码,硬件配置就完成了 当人你也可以把串口
  • F2806x Piccolo 系列微控制器为 C28x 内核和并行加速器 (CLA) 供电,此内核和 CLA 与低引脚数量器件中的高集成控制外设向耦合。 该系列的代码与以往基于 C28x 的代码相兼容,并且提供了很高的模拟集成度。...
  • 在过去的6年里,他一直是SQL Server Service Broker小组中的一员。他为该产品在可支持性方面做出了许多贡献。在业余时间里他喜欢弹吉他以及品味华盛顿葡萄酒。他的联系方式是august.hill@microsoft.com。  Cesar ...
  • 后缀式和三地址码是常用中间代码 计算机在一个指定周期过程,为从内存读取指令操作码,首先要将... 已知数据信息为16位,最少应附加________位校验位,以实现海明码纠错 A、3 B、4 C、5 D、6 2k >=k...
  • 1200BSP,无校验位,8个数据位,1个停止位;单片机系统采用是6M晶振。 2、上位机程序用VB编写,数据采集程序用汇编语言编写,随机电压发生程序用C语言编写。 3、上位机程序可直接运行“工程1.exe”,如果在VB6.0...
  • 1200BSP,无校验位,8个数据位,1个停止位;单片机系统采用是6M晶振。 2、上位机程序用VB编写,数据采集程序用汇编语言编写,随机电压发生程序用C语言编写。 3、上位机程序可直接运行“工程1.exe”,如果在VB6.0...
  • 08 数学意义的函数与python中的函数 09 为何要有函数 10 函数返回值 11 可变长参数 第15章 01 上节课复习 02 全局变量与局部变量 03 风湿理论之函数即变量 04 函数递归 05 函数递归补充 第16章 01 上节课回顾 02...

空空如也

空空如也

1 2 3 4 5 ... 8
收藏数 153
精华内容 61
关键字:

代码设计中的校验位