基于C8051F的CRC校验算法的实现_陈敏
- 格式:pdf
- 大小:153.67 KB
- 文档页数:4
C8051F系列单片机实现(7,4)汉明码的编码摘要在当今和未来的信息化社会中,数字通信已成为信息传输的重要手段,全球数字化已成为当今世界的主要潮流。
但是,数字信号在传输过程中,加性噪声,码间串扰等都会产生误码,因此需要用信道编码来降低误码率,提高数字通信的可靠性。
随着差错控制编码技术的蓬勃发展,作为信道传输过程抗干扰的有效手段,其中较为成熟的编码方法如汉明码、奇偶校验码、循环冗余码等编码技术,被广泛应用于计算机、电子通信、控制等领域。
其中汉明码是一种能够纠正一位错误且编码效率较高的线性分组码。
由于它的编译码在工程上较易实现,所以应用广泛。
与其他的错误校验码类似,汉明码也利用了奇偶校验位的概念,通过在数据位后面增加一些比特,可以验证数据的有效性。
利用一个以上的校验位,汉明码不仅可以验证数据是否有效,还能在数据出错的情况下指明错误位置。
在接受端通过纠错译码自动纠正传输中的差错来实现码纠错功能,称为前向纠错FEC。
在数据链路中存在大量噪音时,FEC可以增加数据吞吐量。
通过在传输码列中加入冗余位(也称纠错位)可以实现前向纠错。
但这种方法比简单重传协议的成本要高。
汉明码利用奇偶块机制降低了前向纠错的成本。
软件实现下面给出基于最常用的MCS-51单片机汇编语言的汉明码测试程序。
它的有效信息占到了总编码长度的70%,测试程序中自动生成11个字节的原始数据。
原始数据块的长度、存放地址可根据实际情况由用户自己确定,只要将本测试程序的汉明码编码、解码子程序嵌入用户应用程序中,就可直接使用。
本课题就是研究利用C8051F系列单片机来实现(7,4)汉明码的编码。
关键词:单片机;线性分组码;(7,4)汉明码C8051F series MCU(7,4)hamming code encodingABSTRACTIn today's and future information society, digital communication has become an important means of information transmission, the global digital has become a major trend in today's world. However, the digital signal in the transmission process, the additive noise, intersymbol interference, and this will result in error, channel coding, therefore need to reduce the error rate and improve the reliability of digital communications. With the error control coding techniques flourished as the transmission channel interference and effective means by which the more mature coding methods, such as Hamming codes, parity bits, cyclic redundancy code and other coding techniques are widely used in computers, electronics communication, control and other fields. Hamming code which is able to correct a mistake and the code more efficient linear block codes. Encoding and decoding in the project because of its easier to achieve, so widely used. With other similar error check code, Hamming code parity bit also use the concept, followed by an increase in the number of bits of data bits, the validity of data can be verified. Use more than one parity bit, Hamming codes can not only verify the data is valid, but also in the caseof data error location specified in the error. By error correction decoding in a receiver automatically correct the transmission errors to achieve error correction code, known as forward error correction FEC. There are a lot of data-link noise, FEC can increase data throughput. Transmission code in the column by adding redundant bits (also known as error correction bits) can be achieved FEC. However, this method than a simple retransmission protocol to the high cost. Hamming code parity block mechanism reduces the use of forward error correction costs. Software are given below based on the most popular MCS-51 microcontroller Hamming code assembly language test program. It accounts for effective information length of 70% of the total coding and testing program automatically generates 11 bytes of raw data. The length of the original data block, or hold the actual situation according to the user to determine if the Hamming code of the test program encoding and decoding routines embedded in user applications, can be used directly.This topic is to study the use of C8051F MCU to achieve (7,4) hamming code encoding.Keywords:MCU;linear block codes; (7,4) hamming code目录第1章绪论 (1)第2章实验的软硬件环境 (2)2.1 VHDL语言的概述 (2)2.1.1 VHDL语言的发展历史 (2)2.1.2 VHDL语言的特点 (2)2.1.3 VHDL语言的开发流程 (3)2.1.4 VHDL的程序结构 (4)2.1.5 逻辑芯片的分类 (5)2.2 MAX+plusⅡ的使用 (9)第3章基于CPLD的PCM解码电路的设计 (11)3.1 PCM的概述 (12)3.2 解调PCM码的基本原理 (17)3.2.1 位同步的实现 .................................................................. 错误!未定义书签。
基于C8051F处理器的多通道检测系统的设计孙朝华摘要随着计算机技术应用的不断发展和深入,基于微处理器控制的便携式检测仪器的研究,已经成为现代检测技术发展的一个重要方向。
本文研究了一种基于C8051F处理器以及LCD显示的多通道输入输出参数检测系统,采用总线型设计,通过I2C以及232/485串行接口实现与现场设备以及上位机(PC机)之间的通讯,能够较好地满足现场测试任务的需要。
关键词微处理器SMBUS总线串口通信LCD显示A multicener test system design based on C8051F micro-processorSUN Chao-hua,JIANG Cun-bo(Electronics and computer science department,GUT,Guilin,541004)Abstract:The test technology research based control of the Micro-processor is the important development direction and branch of the modern test equipment.in this paper the author designs a multicenter test system based on C8051F micro-processor,LCD display and the bus,the system can finish the field test task very well,with the help of the SMBUS bus and 232/485 bus wich can communicate with the other field equipment and the personal computer.Key Words: Micro-processor SMBUS bus Serial Communication LCD display 1引言Cygnal公司的C8051F系列处理器是完全集成的混合信号系统级芯片(SOC),它内部继承了一个8通道最大速度为100Ksps的12位的ADC,拥有一个与I2C兼容的SMBUS接口,低端口通过系统设计者灵活使用优先权交叉开关译码器可以方便的分配给数字外设。
技术创新《微计算机信息》(嵌入式与SOC )2009年第25卷8-2期360元/年邮局订阅号:82-946《现场总线技术应用200例》单片机开发与应用基于C8051F020芯片的多功能计数器设计Multifunctional Counter Devise Based on C8051F020Chip(1.海军航空工程学院;2.海军驻沈阳地区航空军事代表室)应朝龙1王岩2刘军2YING Chao-long WANG Yan LIU Jun摘要:本系统针对设计制作简易多功能计数器能接收函数信号发生器产生的信号,实现周期测量、频率测量和时间间隔测量的功能的要求。
通过分频和整形,利用C8051F020的可编程计数器阵列(PCA)的边沿捕捉模式对信号的上升沿捕捉并计时,从而达到对频率、周期和时间间隔测量的目的,并能使测量的范围和测量精度达到预期的要求,还能实现显示温度、时间和记忆10个测量过的历史数据、显示峰值等扩展需求。
关键词:PCA;整形;分频中图分类号:TJ761.7文献标识码:AAbstract:This system is designed as a facility multifunctional arithmometer that can receive the signal coming from the function sig -nal producer and fulfill the request of the measure to cycle,frequency and time interval .After being disported the frequency and plasticed ,the system can time the change of the signal ’s ascending side by PCA to measure the cycle,frequency and time interval.The system can make the range and the precision of the measure fulfill the request of the subject,and it can display the tempera -ture,time ,memory 10measured data and peak value showing.Key words:PCA;plastic;frequency division文章编号:1008-0570(2009)08-2-0076-02引言计数器作为一种测量工具,在实验分析、工业工程制造、测试系统中发挥着巨大的作用。
基于C8051F单片机的微机继电保护实验装置的研制吴洋1,李刚1,温渤婴11中国农业大学电气工程及其自动化系,北京(100083)E-mail:starwybasketball@摘要:提出了以C8051F020为核心处理器的微机保护实验装置的设计方案,并针对装置的原理框图,对装置的主要硬件构成部分进行了具体介绍。
采用了简单灵活的JTAG口作为调试接口,并专门设计了易于拆卸的整机结构,便于实验者对微机保护实验装置及过程的全面了解。
关键词:微机继电保护,实验装置,硬件1.引言微机继电保护硬件的通用性和软件的可重构性,使得在通用的硬件平台上可以实现多种性能更加完善、功能更加复杂的继电保护原理[1]。
一套微机保护往往采用了多种保护原理。
微机保护还可以方便地实现一些常规保护难以实现的功能。
在电力系统继电保护人才培养方面,高校中的电力系统继电保护实验室所开出的电磁型、整流型、晶体管型各种原理的继电保护实验,对于培养学生的实际操作能力、继电保护原理的理解和掌握发挥了重要作用,但与当前继电保护的应用现状和人才的培养要求存在一定的差距。
开发一种既借鉴常规继电器形象直观的优点又能适应当今继电保护最新技术发展现状的实验教学装置成为一个迫切问题。
正是在这样的背景下研制开发了这套实验装置,本装置在系统设计上突破了传统的一套保护装置实现一种保护功能的局限,实现了多种保护功能集于一套实验装置中,实验者可分别选择电流保护、电压保护、距离保护、变压器保护、高频保护和综合重合闸[2]等多种不同的保护程序,或自行设计保护算法、编制程序,通过上位机下载到实验装置,从而完成相应的保护功能实验。
2.微机保护实验装置的设计2.1 系统总体结构及特征通过对实际微机继电保护装置及其原理的分析,结合电力系统继电保护原理和微机继电保护教学实验的要求和内容,确定了实验装置硬件的总体设计方案,实验所需要的故障电压电流信号来自继电保护测试仪或物理实验系统,信号进入交流变换插件进行幅值变换后,由继电保护实验装置进行处理。
基于C8051F 系列单片机信号发生器设计蒋 宏,赵志宏,郭 志(华中科技大学电气与电子工程学院 湖北武汉 430033)摘 要:描述了怎样用C8051F 系列单片机的片上DAC 系统实现一个中断驱动的多函数发生器。
基于DDS 原理,可以通过将定义在离散表中的一个周期函数无限扩展来得到任意完整波形,同时也可以根据波形的特点利用算法计算输出各种波形。
由于使用算法输出波形运行周期短,稳定性好。
因此我们使用查表法输出正弦函数,而方波、三角波以及锯齿波则是通过算法计算获得。
关键词:DDS ;C8051F ;信号发生器;DAC中图分类号:TP36811 文献标识码:B 文章编号:10042373X (2006)232066203Design of Signal G enerator By C8051F DevicesJ IAN G Hong ,ZHAO Zhihong ,GUO Zhi(Electrical &Electronic Engineering College ,Huazhong University of Science and Technology ,Wuhan ,430033,China )Abstract :This article describes how to implement an interrupt driven multif unction generator on C8051devices using the on 2chip digital 2to 2analog converter.Four different waveforms expandable to any periodic function defined in a table.At the same time ,we can calculate waveforms according to the different waveforms.Since using the phase accumulator in the calcula 2tion does not require many clock cycles ,Sine Wave (Table Defined ),Square Wave (Calculated ),Triangle Wave (Calculated ),Saw Tooth Wave (Calculated ).K eywords :DDS ;C8051F ;signal generator ;DAC收稿日期:20062092061 引 言C8051F 单片机是完全集成的混合信号系统级芯片(SoC ),具有与8051兼容的高速CIP 251内核,片内集成了数据采集和控制系统中常用的模拟、数字外设及其他功能部件;内置FLASH 程序存储器、内部RAM ,大部分器件内部还有位于外部数据存储器空间的RAM ,即XRAM 。
基于C8051F系列单片机的低功耗设计摘要着重介绍C805lF系列单片机功耗的计算方法及系统低功耗设计的策略.内容包括有关的内部和外部振荡器、CPU的电源管理模式、系统的时钟频率.工作电压对系统功耗的影响.以及如何合理地配置它们来降低功耗。
最后,给出有关数据采集系统的设计实例。
关建词C8051F单片机低功耗电源管理引言在控制终端系统设计中,当系统要求整体功耗偏低时,C8051F系列单片机是一个最佳的选择。
它们拥有灵活的时钟硬件,使系统能够方便地在高效运作模式与低功耗模式问进行转换,智能的电源管理模式能够在正常工作及待机状态自由切换,从而降低整个系统的能量损耗;当工作频率低于10kHz时,时钟丢失检测器(MCD)能够引发系统产生复位,确保系统工作的安全可靠。
1 C8051F各部分组件的功耗当一个系统对功耗要求严格时,可以在硬件电路建立前首先粗略计算一下整个系统所需的功耗。
由于C8051F系列单片机为数模混合SOC系统,能够实现整个设计的大部分功能,因此整个设计系统的功耗将主要集中在C805IF系列单片机的能量消耗上。
整个单片机系统的功耗应该由4部分组成:振荡器功耗、数字设备功耗、模拟外设功耗及I/O端口功耗。
振荡器功耗包括内部振荡器的功耗以及外部振荡器功耗。
数字设备能量消耗主要由CPU的工作模式、工作电压及系统时钟频率决定。
温度与数字外围设备对数字设备的功耗影响很小。
模拟外围设备功耗主要包含ADC、电压基准VREF、温度传感器、偏压发生器及内部振荡器。
比较器也有少量的能量损耗。
1.1 振荡器功耗分析外部振荡器具有很高的可配置性,为系统设计者提供了多种选择。
时基信号可以从外部CMOS电平时钟源、晶振或陶瓷谐振器、RC组合电路或外部电容获得,每一种方法都有各自的优势。
由于振荡器可以灵巧地在各种方式中转换,因此可以通过改变振荡器来降低功耗。
对外部振荡器来说,外部CMOS时钟、电容和RC网络都能够提供较低的振荡频率。
基于C8051F的CRC校验算法的实现m I p l e men tati o n o f t he CRC A l g o ri t h m Based on C8051F陈 敏 褚红燕(南京师范大学电气与自动化工程学院,南京 210042)摘 要:介绍了CRC(循环冗余码校验)原理及集成混合信号片上系统单片机C8051F的新特性,推导获得以字节为单位的数据序列CRC码递推算法,利用C8051F单片机的自带CAN2.0B总线接口控制器可以很方便的组成基于网络通信的智能仪器测控系统,给出了应用C8051F的C AN2.0B总线接口通信时的CRC码运算实例,此算法完全可以满足工业测控系统实时性的需要。
关键词:测控系统 网络通信 智能仪器中图分类号:TP393 文献标识码:BAbstract:The pri nci ple o fCRC(cyc lic redundancy checki ng)and t he new characteristics of S OC(s yst em on chi p)C8051F are i ntroduced. The recursive a l gorit h m on t he arrays of da t a CRC w it h By te as t he unit is derived.By usi ng i nteg rated CAN2.0B bus i nterf ace contro ll e r of M CU C8051F,it is easy t o compose t he i nt e lligent i nstru mentmeas uri ng and controlli ng s y ste m based on net w o rk com m uni cati on.The CRC ex-ampl e is g i ven when the CAN2.0B bus i nterf ace of C8051F on com m uni cati on is applied.The a l gorit h m co mpletel y meets t he rea l ti m e de mand o f t he i ndustri a lmeas uri ng and contro li ng s yste ms.K ey words:M easuri ng and contro li ng s yst em N et work co mmuni cation Int e lligent i nstr u m ent0 引言目前,由单片机构成的嵌入式工业测控系统应用越来越广泛。
随着网络技术的发展,大多数的应用都需要通过网络与上位机相连。
而在实现过程中,存在着工业环境相对恶劣与通信数据不容出错的制约因素。
为了保证通信数据的正确性,就需要对接收的数据进行容错处理,从而保证传输数据的正确性。
数据容错处理的方法主要分为两大类:一类是发现并及时纠正差错,这类方法比较理想,但算法复杂,同时需要大大增加数据传输量,加大网络负担,在目前的条件下,无法取得满意的实用效果;另一类是仅仅查找出差错,一旦发现出错,就请求重发,这是目前比较常用的方法,循环冗余码CRC(cyclic r edundancy code),也称多项式编码,就是属于这类方法。
C8051F系列单片机属于全集成混合信号片上系统单片机,即SOC(syste m on chip)。
是目前功能最强大的8位单片机之一,很多原来需要外围元器件组成的功能电路被集成到芯片之中;具有速度更快、实时性好、小型化、低功耗等特点。
1 CRC原理CRC校验的基本思想是:在发送端根据要传送的k位二进制码序列,以一定的规则产生一个校验用的监督码(即CRC码)r位,并附在信息后边,构成一个新的二进制码序列数共(k+r)位,最后发送出去。
在接收端,则根据信息码和CRC码之间所遵循的规则进行检验,以确定传送中是否出错[1]。
16位的CRC码产生的规则是先将要发送的二进制序列数[M(X)]左移16位后,再除以一个多项式[G (X)],最后所得到的余数即是CRC码[R(X)]。
16位生成多项式G(X)由协议规定,其结构及校错效果要经过严格的数据分析与实验后确定,目前已有多种生成多项式列入国际标准中。
例如: CRC-16 G(X)=x16+x15+x2+1 美国标准(18005H) CRC-CCI TT G(X)=x16+x12+x5+1 欧洲标准(11021H)对于一个二进制序列数M(X)可以按字节表示为式(1),其中Mn(X)为一个字节。
M(X)=Mn (X)×28n+Mn-1(X)×28(n-1)+∧∧+M(X)(1) 根据CRC算法规则,将序列数M(X)左移16位,再除以G(X)则可得式(2):M(X)×216G(X)=Mn(X)×216G(X)×28n+Mn-1(X)×216G(X)×28(n-1)+∧∧+M(X)×216G(X)(2)基于C8051F的CRC校验算法的实现 陈 敏,等DOI牶牨牥牣牨牰牥牳牰牤j牣cn ki牣issn牨牥牥牥牠牥牫牳牥牣牪牥牥牰牣牨牨牣牥牨牥设:Mn(X)×216G(X)=Qn(X)+Rn(X)G(X)(3)式中:Qn (X)为整数;Rn(X)为16位二进制余数。
则有:M(X)×216G(X)=Qn(X)+Rn(X)G(X)×28n+Mn-1(X)×216G(X)×28(n-1)+∧∧+M(X)×216G(X)=Qn(X)×28n+R n(X)×28G(X)+Mn-1(X)×216G(X)×28(n-1)+∧∧+M(X)×216G(X)(4)将16位数Rn (X)拆分为两个8位数Rn H8(X)(高8位)、RnL8(X)(低8位)则有Rn (X)=Rn H8(X)×28+Rn L8(X)(5)由式(4)和式(5)可得:M(X)×216G(X)=Qn(X)×28n+R nL8(X)×28G(X)+[Rn H8(X)+Mn-1(X)]×216G(X)×28(n-1)+∧∧+M(X)×216G(X)(6)再设:RnL8(X)×28G(X)+[Rn H8(X)+Mn-1(X)]×216G(X)=Qn-1(X)+Rn-1(X)G(X)(7)其中:Qn-1(X)为整数;Rn-1(X)为16位二进制余数。
以此类推,式(2)可得到:M(X)×216G(X)=Qn(X)+Qn-1(X)+∧∧+Q(X)+R(X)G(X)(8)显然,R(X)就是我们所要求的余数,即CRC校验码。
2 C8051F片上系统(S OC)C8051F系列单片机属于SOC,CPU内核采用流水线结构,与标准的8051结构相比指令执行速度有很大的提高。
在标准51系列中,大多数指令都需要12或24个系统时钟周期,最大系统时钟频率为12~24MH z。
而对于C8051F内核,70%的指令的执行时间为1或2个系统时钟周期,只有4条指令的执行时间大于4个系统时钟周期。
峰值速度可达25M I PS(每秒百万条指令)[2]。
C8051F本身集成了UART、SP I、S M Bbus、CAN2.0B 等多种串行通信功能,可根据不同需要任意配置;配上专用集成芯片,就可以方便地扩展成RS232、RS485、工业以太网等网络通信总线。
CAN(contr oller ar ea net wor k),由于其具有多主工作方式和短报文帧结构[1],适用于实时性要求很高的场合。
CAN属于总线式串行通信网络,由于其采用了许多新技术及独特的设计,与一般通信总线相比,CAN 总线的数据通信具有突出的可靠性、实时性和灵活性[3]。
CAN总线具有如下优点[4]:①良好的故障隔离能力。
按照CAN210A规范,在任意时刻,CANH端电平应该是高电平或悬浮状态,CANL端电平只能是低电平或悬浮状态,CAN的这种电平特性,使得即使多个节点同时向总线发送数据,也不会使总线处于短路状态,从而也就不会把单个节点的故障“传染”给总线上其它节点。
另外,当CAN总线的节点出现错误时能够自动关闭,以保证总线上其它节点的操作不受影响。
这种特性使得CAN总线上的接点可以进行优先级的设置。
②良好的实时性。
CAN总线任意节点在任意时刻均可向总线发送数据而不分主从,这保证了CAN总线上各个接点能够实时传输数据,并对传送的信息帧可以设定不同优先级,通过总线仲裁使高优先级的信息能够被优先及时地传送。
③良好的传输防错设计。
CAN采用短帧结构,使得数据被传输时间短,受干扰的几率低,而且CAN每帧信息都有CRC校验及其它检错措施,保证了数据传输的出错率极低。
④通信距离远,通信速率高。
CAN总线的通信距离最远可达10k m(5kbps以下),其通信速率最高可达1M pbs(通信距离在40m以下)。
C8051F04x系列器件内部有一个控制器局域网(CAN)控制器,使用CAN协议实现串行通信。
该CAN 控制器符合Bosch规范2.0A(基本CAN)和2.0B(全基于C8051F的CRC校验算法的实现 陈 敏,等功能CAN),方便CAN网络通信设计。
CAN控制器包含一个CAN核、消息RAM(独立于C8051F的RA M)、一个消息处理状态机以及控制寄存器。
CAN控制器可以工作在高达1M bps的位速率。
实际速率可能受CAN总线上所选择的传输数据的物理层的限制。
CAN处理器有32个消息对象,可以被配置为发送或接收数据。
输入数据、消息对象及其标识掩码存储在CAN消息RA M中。
所有数据发送和接收过滤的协议处理全部由CAN控制器完成,不用CP U干预。
这就使得用于CAN通信的CPU带宽最小。
CPU通过特殊功能寄存器配置CAN控制器,读取接收到的数据和写入待发送的数据。
C8051F内嵌的F lash程序存储器与XRA M片内存储器也为CRC软件算法实现提供了足够的存储空间,不需再外接任何存储单元。
3 CRC算法的C8051F上的软件实现CRC计算可以靠专用的硬件来实现。
但是对于低成本的嵌入式系统,大多在没有硬件支持下实现CRC检验,这就需要通过软件来完成CRC计算,同时需要考虑由软件计算所消耗的内存空间以及CPU时间应该满足测控系统的实时性要求。
由式(7)可知,计算本字节后的CRC码等于上一字节余式CRC码的低8位(Rn L8(X))左移8位后,再加上上一字节CRC高8位(Rn H8(X))和本字节(Mn-1(X))之和后所求得的CRC码。