精华内容
下载资源
问答
  • 奇偶校验
    2021-06-27 09:17:43

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

    中文名

    奇偶校验

    外文名

    Parity Check含    义

    校验代码传输正确性的方法

    分    类

    监督码

    应用学科

    计算机

    奇偶校验基本介绍

    语音

    奇偶校验工作方式

    为了能检测和纠正内存软错误,首先出现的是内存“奇偶校验”。内存中最小的单位是比特,也称为“位”,位只有两种状态分别以1和0来标示,每8个连续的比特叫做一个字节(byte)。不带奇偶校验的内存每个字节只有8位,如果其某一位存储了错误的值,就会导致其存储的相应数据发生变化,进而导致应用程序发生错误。而奇偶校验就是在每一字节(8位)之外又增加了一位作为错误检测位。在某字节中存储数据之后,在其8个位上存储的数据是固定的,因为位只能有两种状态1或0,假设存储的数据用位标示为1、1、1、0、0、1、0、1,那么把每个位相加(1+1+1+0+0+1+0+1=5),结果是奇数。对于偶校验,校验位就定义为1;对于奇校验,则相反。当CPU读取存储的数据时,它会再次把前8位中存储的数据相加,计算结果是否与校验位相一致。从而一定程度上能检测出内存错误,奇偶校验只能检测出错误而无法对其进行修正,同时虽然双位同时发生错误的概率相当低,但奇偶校验却无法检测出双位错误。

    奇偶校验优缺点

    奇偶校验有两种类型:奇校验和偶校验。奇偶校验位是一个表示给定位数的二进制数中1的个数是奇数或者偶数的二进制数,奇偶校验位是最简单的错误检测码。如果传输过程中包括校验位在内的奇数个数据位发生改变,那么奇偶校验位将出错表示传输过程有错误发生。因此,奇偶校验位是一种错误检测码,但是由于没有办法确定哪一位出错,所以它不能进行错误校正。发生错误时必须扔掉全部的数据,然后从头开始传输数据。在噪声很多的媒介上成功传输数据可能要花费很长的时间,甚至根本无法实现。但是奇偶校验位也有它的优点,它是使用一位数据能够达到的最好的校验码,并且它仅仅需要一些异或门就能够生成。奇偶校验被广泛应用。[1]

    奇偶校验监督码

    语音

    奇偶监督码是一种增加二进制传输系统最小距离的简单和广泛采用的方法。例如,单个的奇偶监督将使码的最小距离由一增加到二。

    一个二进码字,如果它的码元有奇数个1,就称为具有奇性。例如,码字“1011010111”有七个1,因此,这个码字具有奇性。同样,偶性码字具有偶数个1。注意奇性检测等效于所有码元的模二加,并能够由所有码元的异或运算来确定。对于一个n位字,奇性由式(8-1)给出:

    奇性=a0⊕a1⊕a2⊕…⊕an(8-1)

    很明显,用同样的方式,我们也能够根据每一个码字的零的个数来构成奇偶监督。

    单个的奇偶监督码可描述为:给每一个码字加一个监督位,用它来构成奇性或偶性监督。例如,在图8-2中,对于二进码就是这样做的。可以看出,附加码元d2,是简单地选来使每个字成为偶性的。因此,若有一个码元是错的,就可以分辨得出,因为奇偶监督将成为奇性。

    在一个典型系统里,在传输以前,由奇偶发生器把奇偶监督位加到每个字中。原有信息中的数字在接收机中被检测,如果没有出现正确的奇、偶性,这个信息标定为错误的,这个系统将把错误的字抛掉或者请求重发。注意,用单个的奇偶监督码仅能检出奇数个码元的错误。

    例如考虑图8-4里的奇性监督码。把奇、偶监督位加到一个8-4-2-1BCD码,使之能够进行奇监督(将所有监督位反过来将产生偶监督码)。可以看到,如果将任何码字里的奇数个码元反过来,那么将成为偶性码,因而,无效的字是可以分辨出来的。然而,如果有两个或四个码元反过来,那末奇偶监督将仍然是奇性码,并且这个字被认为是正确的。只当一个给定的字里同时出现两个错误的概率被忽略不计时,单个的奇偶监督才是有效的,实际上,奇监督码比偶监督码可取,因为它排除了传输全0的情况。

    奇偶校验单向校验

    语音

    奇偶校验概述

    单向奇偶校验(Row Parity)由于一次只采用单个校验位,因此又称为单个位奇偶校验(Single Bit Parity)。发送器在数据祯每个字符的信号位后添一个奇偶校验位,接收器对该奇偶校验位进行检查。典型的例子是面向ASCII码的数据信号祯的传输,由于ASCII码是七位码,因此用第八个位码作为奇偶校验位。

    单向奇偶校验又分为奇校验(Odd Parity)和偶校验(Even Parity),发送器通过校验位对所传输信号值的校验方法如下:奇校验保证所传输每个字符的8个位中1的总数为奇数;偶校验则保证每个字符的8个位中1的总数为偶数。

    显然,如果被传输字符的7个信号位中同时有奇数个(例如1、3、5、7)位出现错误,均可以被检测出来;但如果同时有偶数个(例如2、4、6)位出现错误,单向奇偶校验是检查不出来的。

    一般在同步传输方式中常采用奇校验,而在异步传输方式中常采用偶校验。

    奇偶校验校验方法

    奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数

    1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。

    偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数,偶校验实际上是循环冗余校验的一个特例,通过多项式x+ 1 得到1位CRC。

    1000110(1)你就必须加1了这样原来有3个1要想1的个数为偶数就只能添1了。[1]

    奇偶校验双向校验

    语音

    为了提高奇偶校验的检错能力,可采用双向奇偶校验(Row and Column Parity),也可称为双向冗余校验(Vertical and Longitudinal Redundancy Checks)。

    双向奇偶校验,又称“方块校验”或“垂直水平”校验。

    例:

    1010101×

    1010111×

    1110100×

    0101110×

    1101001×

    0011010×

    ×××××××

    “×”表示 奇偶校验所采用的奇校验或偶校验的校验码。

    如此,对于每个数的关注就由以前的1×7次增加到了7×7次。因此,比单项校验的校验能力更强。

    简单的校验数据的正确性,在计算机里都是010101二进制表示,每个字节有八位二进制,最后一位为校验码,奇校验测算前七位里1的个数合的奇偶性,偶校验测算前七位里0的个数的奇偶性。当数据里其中一位变了,得到的奇偶性就变了,接收数据方就会要求发送方重新传数据。奇偶校验只可以简单判断数据的正确性,从原理上可看出当一位出错,可以准确判断,如同时两个1变成两个0就校验不出来了,只是两位或更多位及校验码在传输过程中出错的概率比较低,奇偶校验可以用的要求比较低的应用下。

    奇偶校验范例

    语音

    串行数据在传输过程中,由于干扰可能引起信息的出错,例如,传输字符‘E’,其各位为:

    0100,0101=45H

    D7 D0

    由于干扰,可能使位变为1,(为什么不变0?)这种情况,我们称为出现了“误码”。我们把如何发现传输中的错误,叫“检错”。发现错误后,如何消除错误,叫“纠错”。最简单的检错方法是“奇偶校验”,即在传送字符的各位之外,再传送1位奇/偶校验位。

    奇校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为奇数,如:

    1 0110,0101

    0 0110,0101

    偶校验:所有传送的数位(含字符的各数位和校验位)中,“1”的个数为偶数,如:

    1 0100,0101

    0 0100,0101

    如果传输过程中包括校验位在内的奇数个数据位发生改变,那么奇偶校验位出错将表示传输过程有错误发生。但是如果传输过程中包括校验位在内的偶数个数据位发生改变,将无法检出收到的数据是否有错误。只能让发送方重新发送。

    参考资料

    1.

    王克义,宋新波,罗建英.微型计算机基本原理与应用.北京:北京大学出版社,1997.10

    更多相关内容
  • 一 前言:  电磁流量计信号转换器的校验器是一种对电磁流量计信号转换器进行性能测试及标定的装置,已有的...利用电磁流量计信号转换器输出的励磁电流提供电源及同步信号,得到模拟电磁流量计传感器的输出信号,该
  • 一 前言:  电磁流量计信号转换器的校验器是一种对电磁流量计信号转换器进行性能测试及标定的装置,已有的...利用电磁流量计信号转换器输出的励磁电流提供电源及同步信号,得到模拟电磁流量计传感器的输出信号,该
  • 1 引言 ...显然,因为发送端和接收端必须有同步信号的支持,使得通信设备和控制技术比异步通信复杂得多[1]。 由于异步通信中需为每个字符添加起始位、停止位,往往还要附加校验位,因而传输速率不
  • GPS导航电文编码与校验

    千次阅读 2020-07-31 16:36:58
    导航电文,又称为数据码或 D 码,包含有关卫星的星历、卫星工作状态、时间系统、卫星钟运行状态等信息,是卫星信号的重要组成部分,也是用户利用卫星进行定位的数据基础。 1 编码及校验计算 根据 GPS ICD-200 规定...

     导航电文包含卫星的时间和位置信息,是进行导航定位不可缺少的起算数据。导航电文,又称为数据码或 D 码,包含有关卫星的星历、卫星工作状态、时间系统、卫星钟运行状态等信息,是卫星信号的重要组成部分,也是用户利用卫星进行定位的数据基础。

    1 编码及校验计算

    根据 GPS ICD-200 规定,导航电文子帧以字为单位组成,字结构如图所示,每个字由24 位比特数据位和 6 比特的奇偶校验位组成。采用奇偶校验可以检验接受端和发送端数据是否一致,从而提高数据传输质量。下面给出传输导航电文的校验过程。

    D1 = d1⊕D*30

    D2 = d2⊕D*30

    D3 = d3⊕D*30

    D4 = d4⊕D*30

    ......

    D24 = d24⊕D*30

    D25 =D*29⊕d1⊕d2⊕d3⊕d5⊕d6⊕d10⊕d11⊕d12⊕d14⊕d14⊕d17⊕d18⊕d20⊕d23

    D26 = D*30⊕d2⊕d3⊕d4⊕d6⊕d7⊕d11⊕d12⊕d14⊕d14⊕d15⊕d18⊕d19⊕d21⊕d24

    D27 = D*29⊕d1⊕d3⊕d4⊕d5⊕d7⊕d8⊕d12⊕d13⊕d14⊕d15⊕d16⊕d19⊕d20⊕d22

    D28 = D*30⊕d2⊕d4⊕d5⊕d6⊕d8⊕d9⊕d13⊕d14⊕d15⊕d16⊕d17⊕d20⊕d21⊕d23

    D29 = D*30⊕d1⊕d3⊕d5⊕d6⊕d7⊕d9⊕d10⊕d14⊕d15⊕d16⊕d17⊕d18⊕d21⊕d22⊕d24

    D30 = D*29⊕d3⊕d5⊕d6⊕d8⊕d9⊕d10⊕d11⊕d13⊕d15⊕d19⊕d22⊕d23⊕d24

     

    式中d1-d24为原始数据位;D25-D30为通过公式计算得到的6比特奇偶校验码位;D1-D30为传输的比特位;D*29,D*30为每一子帧中上一个字的最后两位数据。需要注意的是第 1 子帧第 2字奇偶校验最后两位必须设置为 0,每一个子帧的最后一个字的奇偶校验最后两位也必须为0,为了保证该两位置零,通常利用该字的第 23、24 位配合实现;当 D*29,D*30为子帧第一个字时,D*29,D*30通常置零处理。

    2 编码及校验程序

    两个函数:

    unsigned int computeChecksum(unsigned int source, int nib);// nib= 1 表示要通过配d23 d24使校验值的最后两位为0

    unsigned int countBits(unsigned int v);

     

    unsigned int countBits(unsigned int v)
    {
    	unsigned long c;
    	const int S[] = {1, 2, 4, 8, 16};
    	const unsigned long B[] = {
    		0x55555555, 0x33333333, 0x0F0F0F0F, 0x00FF00FF, 0x0000FFFF};
    
    	c = v;
    	c = ((c >> S[0]) & B[0]) + (c & B[0]);
    	c = ((c >> S[1]) & B[1]) + (c & B[1]);
    	c = ((c >> S[2]) & B[2]) + (c & B[2]);
    	c = ((c >> S[3]) & B[3]) + (c & B[3]);
    	c = ((c >> S[4]) & B[4]) + (c & B[4]);
    
    	return(c);
    }
    
    unsigned int computeChecksum(unsigned int source, int nib)
    {
    	/*
    	Bits 31 to 30 = 2 LSBs of the previous transmitted word, D29* and D30*
    	Bits 29 to  6 = Source data bits, d1, d2, ..., d24
    	Bits  5 to  0 = Empty parity bits
    	*/
    
    	/*
    	Bits 31 to 30 = 2 LSBs of the previous transmitted word, D29* and D30*
    	Bits 29 to  6 = Data bits transmitted by the SV, D1, D2, ..., D24
    	Bits  5 to  0 = Computed parity bits, D25, D26, ..., D30
    	*/
    
    	/*
    	                  1            2           3
    	bit    12 3456 7890 1234 5678 9012 3456 7890
    	---    -------------------------------------
    	D25    11 1011 0001 1111 0011 0100 1000 0000
    	D26    01 1101 1000 1111 1001 1010 0100 0000
    	D27    10 1110 1100 0111 1100 1101 0000 0000
    	D28    01 0111 0110 0011 1110 0110 1000 0000
    	D29    10 1011 1011 0001 1111 0011 0100 0000
    	D30    00 1011 0111 1010 1000 1001 1100 0000
    	*/
    
    	unsigned long bmask[6] = {
    		0x3B1F3480UL, 0x1D8F9A40UL, 0x2EC7CD00UL,
    		0x1763E680UL, 0x2BB1F340UL, 0x0B7A89C0UL };
    
    	unsigned long D;
    	unsigned long d = source & 0x3FFFFFC0UL;
    	unsigned long D29 = (source>>31)&0x1UL;
    	unsigned long D30 = (source>>30)&0x1UL;
    
    	if (nib) // Non-information bearing bits for word 2 and 10
    	{
    		/*
    		Solve bits 23 and 24 to presearve parity check
    		with zeros in bits 29 and 30.
    		*/
    
    		if ((D30 + countBits(bmask[4] & d)) % 2)
    			d ^= (0x1UL<<6);
    		if ((D29 + countBits(bmask[5] & d)) % 2)
    			d ^= (0x1UL<<7);
    	}
    
    	D = d;
    	if (D30)
    		D ^= 0x3FFFFFC0UL;
    
    	D |= ((D29 + countBits(bmask[0] & d)) % 2) << 5;
    	D |= ((D30 + countBits(bmask[1] & d)) % 2) << 4;
    	D |= ((D29 + countBits(bmask[2] & d)) % 2) << 3;
    	D |= ((D30 + countBits(bmask[3] & d)) % 2) << 2;
    	D |= ((D30 + countBits(bmask[4] & d)) % 2) << 1;
    	D |= ((D29 + countBits(bmask[5] & d)) % 2);
    
    	D &= 0x3FFFFFFFUL;
    	//D |= (source & 0xC0000000UL); // Add D29* and D30* from source data bits
    
    	return(D);
    }
    
    

    3 解码

    GPS的IDC文件中给出了解码和校验的流程图如下

    4 解校验程序

    其中:dta的bit23-bit存放导航电文比特的d1-d24,parity是参考校验值

    unsigned int GPS_ParityCheck(int data,int parity,int D29,int D30)
    {
    	 unsigned int i,j,S[6];
         int temp,S_temp,P;
    	 int GPSX_Flag_Data_Parity;
       unsigned int GPS_H[6]={0xEC7CD2,0x763E69,0xBB1F34,0x5D8F9A,0xAEC7CD,0x2DEA27};
    	 temp=0;
    	 P=0;
    	 GPSX_Flag_Data_Parity=0;
    
    	 if (D30==1) data=(~data)&0xFFFFFF;
    	 for(i=0;i<6;i++)
    	 {
          S[i]=GPS_H[i]&data;
    		 S_temp=S[i];
    		 temp=0;
    		 for(j=0;j<24;j++)
    	     {
    	         temp+=S_temp&1;
                 S_temp=S_temp>>1;
    	     }
             if (temp%2==0)
                 temp=0;
    	     else
    		     temp=1;
    		 if ((i==0)||(i==2)||(i==5))
    		      temp=temp^D29;
    	     else
    		      temp=temp^D30;
    		 P=P|(temp<<(5-i));
    	 }
    	 //printf("P = %d\r\n",P);
    	 if(P==parity)
    	     GPSX_Flag_Data_Parity=1;
    
    	 return GPSX_Flag_Data_Parity;
    }
    

    5 应用

    #include <stdio.h>
    #include <stdlib.h>
    #include "GPSfun.h"
    //#include "datafile.h"
    int main()
    {
    
      //D29 = 1
      //D30 = 0;
     int dat[32] = {0,1,0,1,1,1,0,0,0,1,1,1,1,1,1,0,1,0,0,1,0,0,0,0,1,0,0,1,0,1};//已编码已校验的测试序列
     int i;
     unsigned int tmp;
    
      tmp = 2; //D29 D30 : 10
    
      //
      for(i=0;i<24;i++)
      {
      tmp = tmp<<1;
      tmp = tmp+dat[i];
      }
      tmp = tmp<<6;//第六位留空 存放校验位
      tmp = computeChecksum(tmp,0); //该值的bit29-bit0应与dta一致
      printf("tmp = %d\n",tmp);
    
    
      tmp = 0;
      for(i=0;i<24;i++)
      {
      tmp = tmp<<1;
      tmp = tmp+dat[i];
      }
      tmp = GPS_ParityCheck(tmp,37,1,0);//37为参考校验值为dta的高六位,即六位校验码的值
      printf("tmp = %d\n",tmp);
    
    
    
    
    
    
    }
    

     

    展开全文
  • 针对合并单元缺乏时钟同步异常状况...利用该装置组成了自动化测试系统,通过自动化闭环测试方法,校验合并单元在时钟同步信号异常的情况下各种性能表现,补充了合并单元测试的测试手段,有助于提高合并单元的可靠性。
  • 我们根据课题要求,设计出了由一片74LS175_D触发器、一片74LS00双输入与非门、两片74LS10三输入与非门、一片74LS04单输入非门,外加清零信号CLK、外部时钟信号CP构成的“一对一”时序电路。在一个外部时钟CP触发下,...
  • 在上一篇介绍了 CRC 校验码的原理,如何计算 CRC 校验码,这篇介绍如何利用 Verilog 实现CRC 校验码的生成。 什么是 CRC 校验码? CRC 生成 Verilog 实现 CRC 校验分为发送方和接收方,根据项目的要求,对...

    目录

    实验任务

    CRC 生成 Verilog 实现

    电路生成原理

    模块设计图

    CRC 生成时序图

    具体代码实现

    上板验证


     

    实验任务

    在上一篇介绍了 CRC 校验码的原理,如何计算 CRC 校验码,这篇介绍如何利用 Verilog 实现CRC 校验码的生成。

    什么是 CRC 校验码?

     

     

    CRC 生成 Verilog 实现

    CRC 校验分为发送方和接收方,根据项目的要求,对串口输入的数据由 UART_RX 模块生成的并行数据,通过以Verilog计算这个并行数据的 CRC 校验码,并以并行的形式输出。由于是 UART 协议的数据,所以数据的位宽为8位,CRC 的位宽也为8位,因此多项式的最高次幂也为8。

    电路生成原理

    本次使用的多项式为 x^8 + x^2 + x^1 + 1,对应的二进制数为 100000111 根据多项式得到的电路图如下图所示,数据从最右端输入,多项式中的含有幂的项,会经过一个异或运算,其他的项则不用改变。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_17,color_FFFFFF,t_70,g_se,x_16

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

    模块设计图

    模块的设计示意图如下图所示,对于输入由四路信号组成,分别是时钟信号、复位信号、输入数据信号、输入数据同步的脉冲信号;对于输出由两个信号组成,计算得到的 CRC 校验码以及 CRC校验码同步的脉冲信号。

    84c2f2baf8624924949d8705e58893d7.png

    CRC 生成时序图

    以下是 CRC 生成的时序图,图中每个信号之间的关系都描述的很清楚。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

    具体代码实现

    以下是 CRC 生成的代码,需要说明的是:其中例化的 UART_RX 模块是自己写的一个 UART 接收模块,它的作用是将串口接收到的串行数据转换成并行数据输出以及输出相应的同步脉冲信号,作为 CRC 生成模块的输入信号。

    `timescale 1ns / 1ps
    //
    // Company: 
    // Engineer: Linest-5
    // Create Date: 2022/04/22
    // Design Name: 
    // Module Name: CRC_GEN
    // Project Name: 
    // Target Devices: 
    // Tool Versions: 
    // Description: 对串口接收到的8位并行数据生成出8位的CRC校验码输出
    // Dependencies: 
    // Revision:
    // Additional Comments:
    //                      1 polynomial: x^8 + x^2 + x^1 + 1
    //                      2 data width: 8
    //                      3 高位在左,低位在右
    //                      4 CRC初始值:全1
    //                      5 CRC并行输出
    //
    
    
    module CRC_GEN #(
        parameter   BAUD_RATE = 'd9600,                 //波特率
        parameter   CLK_FREQ  = 'd50000000,             //时钟周期
        parameter   BAUD_CNT_MAX = CLK_FREQ/BAUD_RATE
        )
        (
        input            clk, 
        input            rst_n,       
        input            rx,                            //输入的串行数据       
        output wire      dir                            //输出控制RS485的方向
    );              
                    
        wire    [7:0]    po_data;                       //UART_RX模块输出的并行数据
        wire             po_flag;                       //UART_RX模块输出的并行数据同步信号
        reg              feedback;                      //通过判定输入数据的值给后面的位以反馈
        reg              crc_flag;                      //crc开始计算标志信号
        reg     [7:0]    crc_reg;                       //CRC计算过程寄存
        reg     [7:0]    crc_tran;                      //输出计算得到的crc
        reg              crc_sync;                      //过渡crc数据的同步信号
        reg     [7:0]    crc_out;                       //实际输出的crc
        reg              crc_valid;                     //crc输出有效标志信号,和输出的并行crc数据同步
        assign dir = 0;                                 //使能max3485输入
    
        //对po_flag打一拍生成crc_flag
        always @(posedge clk or negedge rst_n) begin
            if (rst_n == 'd0) begin
                crc_flag <= 'd0;
            end
            else begin
                crc_flag <= po_flag;
            end
        end
    
        //对crc_flag打一拍生成crc_sync
        always @(posedge clk or negedge rst_n) begin
            if (rst_n == 'd0) begin
                crc_sync <= 'd0;
            end
            else begin
                crc_sync <= crc_flag;
            end
        end
    
        //输出CRC
        always @(posedge clk or negedge rst_n) begin
            if(rst_n == 'd0) 
                crc_tran <= 'd0;                        //crc寄存器初始值
            else if(crc_flag == 'd0)                    //crc输出延时一个周期让crc恢复到初始值
                crc_tran <= 'd0;                        
            else if(crc_flag == 'd1) begin      
                crc_tran <= crc_reg;                    //在crc_flag为高的时候将计算得到的crc输出
            end
        end
    
        //计算CRC过程
        integer i;
        always @( po_data or crc_tran) begin
            crc_reg = crc_tran;
            for(i=7; i>=0; i=i-1)
            begin
                feedback     =   crc_reg[7] ^ po_data[i];
                crc_reg[7]   =   crc_reg[6];
                crc_reg[6]   =   crc_reg[5];
                crc_reg[5]   =   crc_reg[4];
                crc_reg[4]   =   crc_reg[3];
                crc_reg[3]   =   crc_reg[2];
                crc_reg[2]   =   crc_reg[1] ^ feedback;
                crc_reg[1]   =   crc_reg[0] ^ feedback;
                crc_reg[0]   =   feedback;
             end
        end
    
        //寄存crc值输出
        always @(posedge clk or negedge rst_n) begin
            if (rst_n == 'd0) begin
                crc_out <= 'd0;
            end
            else if (crc_sync == 'd1) begin
                crc_out <= crc_tran;
            end
            else begin
                crc_out <= crc_out;
            end
        end
    
        //对crc_sync打一拍得到crc数据有效信号
        always @(posedge clk or negedge rst_n) begin
            if (rst_n == 'd0) begin
                crc_valid <= 'd0;
            end
            else begin
                crc_valid <= crc_sync;
            end
        end
    
        UART_RX #(
            .BAUD_RATE(BAUD_RATE),
            .CLK_FREQ(CLK_FREQ),
            .BAUD_CNT_MAX(BAUD_CNT_MAX)
        ) inst_UART_RX (
            .clk     (clk),
            .rst_n   (rst_n),
            .rx      (rx),
            .po_data (po_data),
            .po_flag (po_flag)
        );
            
        ila_0 CRC_GEN (
            .clk(clk),          // input wire clk
            .probe0(po_data),   // input wire [7:0]  probe0  
            .probe1(po_flag),   // input wire [0:0]  probe1 
            .probe2(crc_flag),  // input wire [0:0]  probe2 
            .probe3(crc_reg),   // input wire [7:0]  probe3 
            .probe4(crc_tran),  // input wire [7:0]  probe4 
            .probe5(crc_sync),  // input wire [0:0]  probe5 
            .probe6(crc_out),   // input wire [7:0]  probe6 
            .probe7(crc_valid)  // input wire [0:0]  probe7
        );
    
    endmodule

    上板验证

    将相应的模块添加到文件中,板子上电即可验证。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_14,color_FFFFFF,t_70,g_se,x_16

    将除法信号设置为 crc_valid,即输出 CRC 数据的同步信号,触发类型设置为下降沿,在串口中输入 66(16进制),就可以看到输出的 CRC 校验码为 00110101。

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

    利用 CRC(循环冗余校验)在线计算验证是否结果正确。

    CRC(循环冗余校验)在线计算_ip33.com

    验证结果正确!

    watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBATGluZXN0LTU=,size_20,color_FFFFFF,t_70,g_se,x_16

     

    展开全文
  • LTE 信道及参考信号

    千次阅读 2018-11-21 14:22:15
    不同类型的传输信道对应的是空中接口上不同信号的基带处理方式,如调制编码方式、交织方式、冗余校验方式、空间复用方式等内容。根据对资源占有的程度不同,传输信道可分为: 共享信道,多个用户共同占用信道资源 ...

    一、信道的含义

    信道是不同类型的信息,按照不同传输格式、用不同的物理资源承载的信息通道。根据信息类型的不同、处理过程的不同可将信道分为多种类型。

    广义的讲,发射端信源信息经过层三、层二、物理层处理,在通过无线环境到接收端,经过物理层、层二、层三的处理被用户高层所识别的全部环节,就是信道。

    上一道工序把自己处理完的信息交给下一道工序时,要有一个双方都认可的标准,这个标准就是业务接入点(Service Access Point,SAP)。协议的层与层之间要有许多这样的业务接入点,以便接收不同类别的信息。

    狭义的讲,不同协议之间的SAP就是信道。


    二、LTE信道

    LTE从上倒下分别有逻辑信道、传输信道、物理信道。从协议栈角度来看,逻辑信道是MAC层和RLC层之间的,传输信道是物理层和MAC层之间的,物理信道是物理层的,如图所示。

    LTE <wbr>信道映射

    • 逻辑信道是高层信息传到MAC层的SAP,关注的是传输什么内容,什么类别的信息。信息分为两种类型:
    1.    控制消息(控制平面的信令,如广播类消息、寻呼类消息);控制信道;
    2.    业务消息(业务平面的消息,承载着高层传来的实际数据);业务信道;

            逻辑信道则是MAC层向RLC层提供的服务,RLC层可以使用逻辑信道向MAC层发送和接受数据。

    • 传输信道关注的不是传什么,而是怎么传?形成怎样的传输块(TB)?不同类型的传输信道对应的是空中接口上不同信号的基带处理方式,如调制编码方式、交织方式、冗余校验方式、空间复用方式等内容。根据对资源占有的程度不同,传输信道可分为:
    1. 共享信道,多个用户共同占用信道资源
    2. 专用信道,由某一个用户独占信道资源。

          传输信道是物理层提供给MAC层的服务,MAC可以利用传输信道向物理层发送和接受数据;

          MAC层一般包括很多功能模块,如传输调度模块、MBMS功能模块、传输块TB产生模块等。经过MAC层处理的消息向上         传给RLC层的业务接入点,要变成逻辑信道的消息;向下传送到物理层的业务接入点,要变成传输信道的消息。

    • 物理信道就是信号在无线环境中传送的方式,即空中接口的承载媒体。在LTE中,物理信道是由一个特定的子载波(频率)、时隙(时间)、天线口(空间)确定的。即在特定的天线口上,对应的是一系列无线时频资源(Resource Element,RE)。物理信道就是确定好编码交织方式、调制方式,在特定的频域、时域、空域上发送数据的无线通道。根据物理信道所承载的上层信息不同,定义了不同类型的物理信道。
    • 其他信道,在LTE中除了常见的信道外,还有一些参考信道,主要用于信道信号的测量和评估。一些参考信道在LTE中可能并未使用。

    三、逻辑信道

    • 控制信道(传输控制平面信息)5个
    控制信道表示描述功能方向
    广播控制信道Broadcast Control Channel,BCCH广而告之的消息入口BCCH是网络到用户的一个下行信道,他传送的信息是在用户实际工作开始之前,做一些必要的通知工作。他是协调、控制、管理用户行为的重要信息。虽不干业务上的活,但没有它业务信道就不知如何开始工作。下行
    寻呼控制信道Paging Control Channel,PCCH寻人启事类消息的入口当不知道用户具体处在哪个小区的时候,用于发送寻呼消息。PCCH也是一个网络到用户的下行信道,一般用于被叫流程。下行
    公共控制信道Common Control Channel,CCCH主管和员工之间协调工作时信息交互的入口。类似,用于多人干活时,协调彼此动作的信息渠道。CCCH是上、下行双向点对多点的控制信息传送信道,在UE和网络没有建立RRC连接的时候使用。上行、下行
    专用控制信道Dedicated Control Channel,DCCH类似领导和某个亲信之间面授机宜的信息入口,是两个建立了亲密关系的人干活时,协调彼此动作的信息渠道。DCCH是点到点双向信道,是在UE和网络建立了RRC连接以后使用。上行、下行
    多播控制信道MultiCast Control Channel,MCCH类似领导给多个下属下达搬运一批货物命令的入口,是领导指挥多个下属干活时协调彼此工作的信息渠道。MCCH是点对多点的从网络侧到UE侧(下行)的MBMS控制信息的传送信道。一个MCCH可以支持一个或多个MTCH(MBMS业务信道)配置。MCCH在UMTS的信道结构中没有相关定义。网络侧类似一个电视台节目源,UE则是接收节目的电视机,而MCCH则是为了顺利发送节目电视台给电视机发送的控制命令,让电视机做好相关接受准备。下行
    • 业务信道(传输用户平面信息2个
    业务信道表示描述功能方向
    专用业务信道Dedicated Traffic Channel,DTCH待搬运货物的入口,这个入口按照控制信道的命令或指示,把货物从这里搬到那里,或从那里搬到这里。DTCH是UE和网络之间的点对点和上、下行双向的业务数据传送渠道。上行、下行
    多播业务信道Multicast Traffice Channel,MTCH类似要搬运的大批货物,也类似一个电视台到电视机的节目传送入口。MTCH是LTE中区别于以往制式的一个特色信道,是一个点对多点的从网络侧到UE(下行)传送多播业务MBMS的数据传送渠道。下行
    • LTE与UMTS逻辑信道的比较

    四、传输信道

    • 分为上行与下行。
    传输信道表示描述功能方向编码方式编码速率
    广播信道Broadcast Channel,BCH为广而告之消息规范了预先定义好的固定格式、固定发送周期、固定调制编码方式,不允许灵活机动。BCH是在整个小区内发射的、固定传输格式的下行传输信道,用于给小区内的所有用户广播特定的系统消息。下行咬尾卷积码1/3
    寻呼信道Paging Channel,PCH规定了寻人启示传输的格式,将寻人启示贴在公告栏之前(映射到物理信道之前),要确定寻人启示的措辞、发布间隔等。寻呼信道是在整个小区内进行发送寻呼信息的一个下行传输信道。为了减少UE的耗电,UE支持寻呼消息的非连续接收(DRX)。为支持终端的非连续接收,PCH的发射与物理层产生的寻呼指示的发射是前后相随的。下行Turbo编码1/3
    下行共享信道Downlink Shared Channel,DL-SCH规定了待搬运货物的传送格式。DL-SCH是传送业务数据的下行共享信道,支持自动混合重传(HARQ);支持编码调制方式的自适应调制(AMC);支持传输功率的动态调整;支持动态、半静态的资源分配。下行Turbo编码1/3
    多播信道Multicast Channel,MCH规定了给多个用户传送节目的传送格式,是LTE的规定区别于以往无线制式的下行传送信道。在多小区发送时,支持MBMS的同频合并模式MBSFN。MCH支持半静态的无线资源分配,在物理层上对应的是长CP的时隙。下行Turbo编码1/3
    随机接入信道Random Access Channel,RACH规定了终端要接入网络时的初始协调信息格式。RACH是一个上行传输信道,在终端接入网络开始业务之前使用。由于终端和网络还没有正式建立链接,RACH信道使用开环功率控制。RACH发射信息时是基于碰撞(竞争)的资源申请机制(有一定的冒险精神)。上行N/AN/A
    上行共享信道Uplink Shared Channel,UL-SCH和下行共享信道一样,也规定了带搬运货物的传送格式,只不过方向不同。UL-SCH是传送业务数据的从终端到网络的上行共享信道,同样支持混合自动重传HARQ,支持编码调制方式的自适应调整(AMC);支持传输功率动态调整;支持动态、半静态的资源分配。上行Turbo编码1/3
    • LTE与UMTS传输信道的比较

    UMTS的传输信道分为两类:专用信道和公共信道。公共信道资源是小区内的所有用户或一组用户共同分配使用的;而专用信道是由单个用户使用的资源。

    LTE的传输信道没有定义专用信道,都属于公共信道(大家都可以用)或共享信道(大家可以同时用)。

    五、物理信道

    物理信道主要用来承载传输信道来的数据,但还有一类物理信道无须传输信道的映射,直接承载物理层本身产生的控制信令或物理信令(下行:PDCCH、RS、SS;上行:PUCCH、RS)。

    • 物理信道两大处理过程

    分为比特级处理、符号级处理。

    发射端角度看,比特级处理是物理信道数据处理的前端,主要是在二进制比特数据流上添加CRC校验;进行信道编码、交织、速率匹配以及加扰。加扰之后进行的是符号级处理,包括调制、层映射、预编码、资源块映射、天线发送等过程。

    在接收端先进性的是符号级处理,然后是比特级处理,处理顺序与发射端不同。

    • 分为上行与下行
    物理信道表示描述功能方向调制方式
    物理广播信道Physical Broadcast Channel,PBCH辖区内的大喇叭,但并不是所有广而告之的消息都从这里广播,部分广而告之的消息是通过下行共享信道(PDSCH)通知大家的。PBCH承载的是MIB与SIB,用于小区搜索过程。下行QPSK
    物理下行共享信道Physical Downlink Shared Channel,PDSCH踏踏实实干活的信道,而且是一种共享信道,为大家服务,不偷懒,略有闲暇就接活干。

    1、PDSCH承载的是下行用户的业务数据;

    2、还包括没有在PBCH上传输的系统广播信息(SIB)

    3、及寻呼信息(使用PDCCH信令携带寻呼指示,具体寻呼信息在PDSCH上执行,其资源块由PDCCH指示);

    下行QPSK/16QAM/64QAM
    物理下行控制信道Physical Downlink Control Channel,PDCCH发号施令的嘴巴,不干实事,但干实事的PDSCH需要它的协调。

    DCI指示PUSCH/PDSCH相关的 格式,资源分配,HARQ信息,位于每个子帧的前n个OFDM符号(n<=4)

    下行QPSK
    物理控制格式指示信道Physical Control Format Indicator Channel,PCFICH类似藏宝图,指明了控制信息(宝藏)所在的位置。PCFICH是LTE的OFDM特性强相关的信道,CFI表示1个子帧中用于PDCCH中OFDM符号数目下行QPSK
    物理HARQ指示信道Physical Hybrid ARQ Indicator Channel,PHICH主要负责点头摇头的工作,下属以此来判断上司对工作是否认可。PHICH承载的是混合自动重传(HARQ)的确认/非确定(ACK/NACK)信息。即:用于PUSCH的HARQ确认值(ACK/NACK)下行BPSK
    物理多播信道Physical Multicast Channel,PMCH类似可点播节目的电视广播塔PMCH承载多播信息,负责把高层来的节目信息或相关控制命令传给终端。下行QPSK/16QAM/64QAM
    物理随机接入信道Physical Random Access Channel,PRACH干的是拜访领导时叩门的活,领导开了门才能进行下面的事,如果叩门失败后面的事就没法干了。PRACH承载UE想接入网络时的叩门信号——随机接入前导(preamble码)(获取小区接入的必要信息进行时间同步和小区搜索等),网络一旦答应了,UE便可进一步和网络沟通信息。上行Zadoff-Chu序列
    物理上行共享信道Physical Uplink Shared Channel,PUSCH这是一个上行方向踏踏实实干活的信道PUSCH也采用共享的机制,承载上行用户数据。上行QPSK/16QAM/64QAM
    物理上行控制信道Physical Uplink Control Channel,PUCCH上行方向发号施令的嘴巴,但干实活的PUSCH需要它的协调。PUCCH承载着HARQ的ACK/NACK,调度请求(Scheduling Request,SR),信道质量指示(Channel Quality Indicator)等信息。上行BPSK/QPS
    • 备注:
    1. PDSCH、PMCH、PUSCH可根据无线环境好坏,选择合适的调制方式。当信道质量好时选择高阶调制方式,如64QAM;质量差时选择低阶,如QPSK。其他信道不可变更调制方式。
    2. PRACH采用Zadoff-Chu随机序列。ZC序列是自相关特性较好的一种序列(在一点处自相关值最大,在其他处自相关值为0;具有恒定幅值的互相关特性,较低的峰均比特性),在LTE中,发送端和接收端的子载波频率容易出现偏差,接收端需要对这个频偏进行估计,使用ZC序列可以进行频偏的粗略估计。
    3. PHICH和PBCH在同一幅天线端口进行传输;PCFICH和PBCH在同一天线端口传输。
    • LTE与UMTS物理信道的比较

    六、物理信号

    物理信号是物理层产生并使用的、有特定用途的一系列无线资源单元(Resource Element)。物理信号并不携带从高层来的任何信息,类似没有高层背景的底层员工,配合其他员工工作时,彼此约定好使用的信号。它们对高层而言不是直接可见的,即不存在高层信道的映射关系,但从系统观点来讲是必须的。
    物理信号包括:

    下行:参考信号(Reference Signal,RS)和同步信号(Synchronization Signal,SS)。

    上行:只定义了一种物理信号:参考信号(RS)。

    • 下行参考信号

    下行参考信号RS本质上是一种伪随机序列,不含任何实际信息。这个随机序列通过时间和频率组成的资源单元RE发送出去,便于接收端进行信道估计,也可以为接收端进行信号解调提供参考,类似CDMA系统中的导频信道。RS信号如同潜藏在人群中的特务分子,不断把一方的重要信息透露给另一方,便于另一方对这一方的情况进行判断。

    频谱、衰落、干扰等因素都会使得发送端信号与接收端收到的信号存在一定偏差。信道估计的目的就是使接收端找到这个偏差,以便正确接收信息。信道估计并不需要时时刻刻进行,只需关键位置出现一下即可。即RS离散的分布在时、频域上,它只是对信道的时、频域特性进行抽样而已。

    为保证RS能够充分且必要反映信道时频特性,RS在天线口的时、频单元上必须有一定规则。RS分布越密集,则信道估计越准确,但开销会很大,占用过多无线资源会降低系统传递有用信号的容量。RS分布不宜过密,也不宜过分散。

    RS在时、频域上的分布遵循以下准则:

    (1)RS在频域上的间隔为6个子载波。

    (2)RS在时域上的间隔为7个OFDM符号周期。

    (3)为最大程度降低信号传送过程中的相关性,不同天线口的RS出现位置不宜相同。

    下行参考信号作用

       下行是指从eNodeB到UE发送信号,即发射端为eNodeB,接收端为UE。下行参考信号的作用主要包含如下几个方面:

    1. 下行信道估计,用于UE端的相干检测和解调。

    2. 下行信道质量测量(信道探测)。

    3. 小区重选或切换的基础。 

    CRSCell-Specific Reference Signal小区专有参考符号/公共参考信号用于除了PMCH和不基于码本的波束赋形技术之外PDSCH的所有下行传输技术的信道估计和相关解调。小区特定是指这个参考信号与一个基站端的天线端口(天线端口0-3)相对应。天线端口0-3
     UE-RS/DRSUE-Specific Reference signal / Dedicated Reference signal UE专有参考信号用于不基于码本的波束赋形技术的信道估计和相关解调。天线端口5
     MBSFN RSMBSFN Reference signal MBSFN参考符号用于MBSFN的信道估计和相关解调天线端口4
     PRSpositioning Reference Signal 定位参考符号R9中新引入的参考信号,用于终端定位天线端口6
    CSI-RSCell Status Indicator Reference Signal小区状态指示参考符号R10中新引入的参考信号,用于信道信息CQI,PMI,RI等信息的测量最大可以支持8个端口的测量
    • 下行同步信号

    同步信号SS用于小区搜索过程中UE和eUTRAN的时、频同步。UE和eUTRAN做业务连接的必要前提就是时隙、频率的同步。

    同步信号包含两部分:

    主同步信号(Primary  Synchronization Signal,PSS):用于符号时间对准,频率同步以及部分小区的ID侦测。

    从同步信号(Secondary Synchronization Signal,SSS):用于帧时间对准,CP长度侦测及小区组ID侦测。

    可参考博文:PSS与SSSS https://blog.csdn.net/weixin_42227141/article/details/84065963

    • 上行参考信号

    上行参考信号RS类似下行参考信号的实现机制。也是在特定的时频单元中发送一串伪随机码,类似TD-SCDMA里的上行导频信道(UpPCH),用于eUTRAN与UE的同步以及eUTRAN对上行信道进行估计。

    上行参考信号有两种情况:

    (1)UE和eUTRAN已建立业务连接

    PUSCH和PUCCH传输时的导频信号,是便于eUTRAN解调上行信息的参考信号,这种上行参考信号称为解调参考信号(Demodulation Reference Signal,DM RS)。DM RS可以伴随PUSCH传输,也可以伴随PUCCH传输,占用的时隙位置及数量两者不同。

    (2)UE和eUTRAN未建立业务连接

    处于空闲态的UE,无PUSCH和PUCCH可以寄生。这种情况下UE发送的RS信号,不是某个信道的参考信号,而是无线环境的一种参考导频信号,称做环境参考信号(Sounding Reference Signal,SRS)。这时UE没有业务连接,仍然给eUTRAN汇报一下信道环境,是一种高尚的品质。

    既然是参考信号,就需要方便被参考。要做到容易被参考,就需要在约定好的固定位置出现。

    如图所示,伴随PUSCH传输的DM RS约定好的出现位置是每个时隙的第4个符号。PUCCH携带不同的信息时DM RS占用的时隙数不同。

    SRS由多少个UE发送,发送周期、带宽是多大可由系统调度配置。SRS一般在每个子帧的最后一个符号发送。
     

    上行参考信号作用

          上行是指从UE到eNodeB发送信号,即发射端为UE,接收端为eNodeB。上行参考信号用于两个目的:

    1. 上行信道估计,用于eNodeB端的相干解调和检测。

    2. 上行信道质量测量。

       

    DRSDemodulation Reference Signal 解调制参考符号DM-RS与PUSCH(上行数据)和PUCCH(上行控制信令)的发送相关联,用作求取信道估计矩阵,帮助这两个信道进行解调。 
    SRSSounding Reference Signal 探测参考符号

    SRS独立发射(不与上行数据和扇形控制信令发送相关联);

    用作上行信道质量的估计与信道选择,计算上行信道的SINR;

    对于TDD,可利用信道对称性获得下行信道质量;

     

    七、信道映射

    信道映射是指逻辑信道、传输信道、物理信道之间的对应关系。

    从图中可以看出LTE信道映射的关系有以下几个规律:

    (1)高层一定需要底层的支撑,工作需要落地;

    (2)底层不一定都和上面有关系,只要干好自己分内的活,无须全部走上层路线;

    (3)无论传输信道还是物理信道,共享信道干的活种类最多;

    (4)由于信道简化、信道职能加强,映射关系变得更加清晰,传输信道DL/UL-SCH功能强大,物理信道PUSCH、PDSCH比UMTS干活的信道增强了很多。


    参考:

    3GPP 36.321

    3GPP 36.300

    3GPP 36.211

    http://blog.sina.com.cn/s/blog_746b60460102wejh.html

    https://blog.csdn.net/jyqxerxes/article/details/79052617 

    展开全文
  • 现有的场消隐期数据传输电路采用专用的行、场分离电路,但应用于数据传输量较少的监控系统成本偏高。...采用奇偶校验法实现数据信号传输的完整性和稳定性。应用于某视频监测系统,已取得了良好效果。
  • 通过本文您可能会了解:1、学会如何对输入数据实现生成奇偶校验位;2、学会如何生成固定数据的奇偶校验位。
  • 我们根据课题要求,设计出了由一片74LS175_D触发器、一片74LS00双输入与非门、两片74LS10三输入与非门、一片74LS04单输入非门,外加清零信号CLK、外部时钟信号CP构成的“一对一”时序电路。在一个外部时钟CP触发下,...
  • Verilog HDL-同步技术

    千次阅读 2021-09-14 01:11:19
    同步技术在芯片设计中,数据同步和在不同时钟域之间进行数据传输会经常出现。为避免任何差错、系统故障和数据破坏,正确的同步和数据传输就显得格外重要。这些问题的出现往往比较隐蔽,不易被发现,因此...
  • 同步传输和异步传输的区别及优缺点同步传输以数据块为单位进行数据传输,数据块与数据块之间的时间间隔是固定的,每个数据块带有时序信息,接收方可以用时序信息进行校验。异步传输一般以字符为单位,接收方通过字符...
  • ①通过编码规则提高准确性②同步和异步传输中的同步技术③阻抗匹配技术信号的传输模式——基带、载带、宽带 数字通信系统模型 接听电话是怎么完成的?智能工厂里是怎么实现控制信号指令的下发的?单片机串口通信是...
  • 低频信号发生器采用单片机波形合成发生器产生高精度,低失真的正弦波电压,可用于校验频率继电器,同步继电器等,也可作为低频变频电源使用。
  • 在永磁同步电机FOC控制算法中,需要用到一个非常重要的物理量是电机的位置信号。 这个位置信号到底有多重要呢?还是用数据来说话吧。笔者搭建了一个电机的电流环仿真模型,固定电机转速的情况下,给定电机3.2Nm的...
  • 在一家发展中的公司搬砖,正好遇到分库分表...数据重构服务主要包括:全量迁移、全量数据校验、增量数据同步和增量数据校验四个功能。 本文主要讲述DB-DB全量迁移的通用解决方案,主要是解决几个问题:NO.1 如何把一个
  • 评估板的特性可调输入欠压锁定,可调软启动,明渠复位信号,校验和外部频率同步。 关键特性:同步降压型DC-DC转换器原理图、PCB截图: 应用基站电源 配电稳压 通用负载点电源 高压单板系统 工业电源 壁式变压器稳压 附件...
  • Verilog数字系统基础设计-奇偶校验奇偶校验是一种简单、实现代价小的检错方式,常用在数据传输过程中。对于一组并行传输的数据(通常为8比特),可以计算岀它们的奇偶校验位并与其一起传输。接...
  • 帧在总线上传输 帧头包括同步间隔段、同步段以及PID(Protected Identifier,受保护ID)段,应答包括数据段和校验和段,如下图 帧的结构 其中值“0”为显性电平(Dominant),值“1”为隐性电平(Recessive),总线上实行...
  • 针对符合ISO/IEC 18000-6B标准的UHF RFID读写器需要高效地解码FM0编码的基带信号,从而高效地识别标签返回信息的要求,提出了利用高速MCU分段多次同步、多次采样并结合IQ正交信号复合校验的解码方法对四通道零中频...
  • 本文的I2C和SPI总线通信案例,将展现如何通过专用的时钟信号线进行数字时钟同步。 之所以,把这两个案例放在一起,是因为,从通信原理的角度来看,这两种通信方式有极大的相识性,也有一定的差别。 通过比较,可以...
  • CAN-位时间与同步-1

    千次阅读 2021-12-17 11:00:59
    同步:通常依靠电平信号的边沿达到同步目的。 CAN为什么需要同步? 因为CAN总线信号传输是异步串行方式,我们一般通过波特率的设置来使得各个节点发送的信号频率一致。 发送单元以与位时序同步的方式开始发送数据...
  • 目录 第一章、简介 第二章、并行通信 第三章、串行通信 3.1、同步通信 3.1.1、同步通信的原理 ...3.1.2、同步通信的数据格式 ...3.2.4、CRC校验 3.2.5、异步通信特点 第四章、串口异步通信的工程应用 参考: h...
  • 串口通信基本概念(一)——串行与并行通信,同步与异步通信 一、串口通信简介 串口通信,顾名思义也就是利用串行接口进行通信。串行接口指串口按位(bit)发送和接收字节。尽管比按字节(byte)传输的并行通信慢,...
  • 对于偶和奇校验的情况,串口会设置校验位(数据位后面的一位),用一个值确保传输的数据有偶个或者奇个逻辑高位。 例如,如果数据是011,那么对于偶校验校验位为0,保证逻辑高的位数是偶数个。如果是奇校验校验位...
  • 网络时间同步服务器(NTP)设备结构说明 ...该系统利用GPS(全球卫星定位系统)、北斗或IRIG-B(DC)码发送的秒同步信号和时间信息,向电力系统各种系统和自动化装置(如调度自动化系统、微机继电保护装置、故障录

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 35,754
精华内容 14,301
关键字:

同步信号校验