单片机指令冗余技术
单片机指令的错误处理方法

单片机指令的错误处理方法在单片机的开发过程中,指令的正确执行是保证系统正常工作的关键。
然而,由于硬件故障、编程错误或者外部干扰等原因,指令的执行可能会出现错误。
针对这种情况,开发人员需要采取一些方法来处理指令错误,以确保系统的可靠性和稳定性。
本文将介绍一些常用的单片机指令错误处理方法。
一、错误检测与纠正技术错误检测与纠正技术是处理指令错误的基础。
通过在指令执行过程中添加校验位或冗余码等信息,可以检测和纠正指令传输中的错误。
常用的错误检测与纠正技术包括奇偶校验、循环冗余校验(CRC)、海明码等。
奇偶校验是一种简单有效的错误检测技术。
通过在指令传输的每个字节中添加一个奇偶校验位,当传输过程中出现错误时,接收端可以通过奇偶校验位来检测错误的位置。
如果发现错误,可以采取重新传输或纠正错误的措施。
循环冗余校验(CRC)是一种广泛应用的错误检测技术。
通过在指令传输的数据帧尾部添加一个校验码,接收端可以通过计算校验码来检测数据传输中的错误。
CRC可以快速检测错误,并且可以纠正一部分错误,提高了系统的可靠性。
海明码是一种高级的错误检测和纠正技术。
它通过在指令传输的数据中添加冗余位,可以检测和纠正多个错误。
海明码广泛应用于存储器、通信和计算机系统等领域,提供了高度可靠的错误检测和纠正功能。
二、异常中断处理在单片机的指令执行过程中,可能会出现一些异常情况,如除零错误、溢出错误、非法指令等。
这些异常情况会导致系统崩溃或者产生错误结果,因此需要进行异常中断处理。
异常中断处理是通过响应异常事件,并采取相应的措施来保证系统的正常运行。
当发生异常情况时,单片机会跳转到事先定义好的异常处理程序,并通过该程序来处理异常事件。
异常处理程序可以采取恢复现场、清除错误状态、重新执行指令等方式来处理异常情况,以确保系统的稳定性和正确性。
三、错误处理算法和逻辑在单片机的程序开发过程中,可以通过编程来实现一些错误处理算法和逻辑,以处理指令错误。
一种高可靠性单片机冗余系统设计

一种高可靠性单片机冗余系统设计郭观七摘要本文扼要分析了带专用检测转换电路的单片机双机冗余系统存在的可靠性问题,提出了利用单片机串行口替换专用检测转换电路,通过串行通信相互检测主备机工作状态,由软件完成备机切换成主机的设计思想,并给出了此类系统的软件模板。
关键词单片机,冗余,切换1 冗余系统的硬件结构冗余技术是计算机系统可靠性设计中常采用的一种技术,是提高计算机系统可靠性的最有效方法之一。
本文重点介绍一种高效、实用的单片机冗余系统设计技术。
在进行冗余系统设计之前,要综合考虑系统的可靠性要求和合理的价格两方面,确定采用元器件冗余还是采用全系统冗余。
对于一类要求连续不间断工作的对可靠性有特殊要求的单片机小型应用系统,由于系统的成本不是主要的设计考虑因素,因此,采用包括单片机、扩展电路、电源和外设双备份的全系统冗余,不但可简化设计方案,还可大大地提高应用系统的可靠性。
这种冗余系统具有如图1所示的典型硬件结构。
图1在图1所示的系统中,U1和U2单元的软硬件结构完全相同。
如有必要,在设计各单元时,通过采用自诊断技术,软件陷阱或Watch dog等系统自行恢复措施可使单元可靠性达到最大限度的提高。
系统正常运行时,U1和U2中的一个单元处于正常工作状态(把该单元称为主机),完成应用功能,而另一个单元(备机)处于等待备用状态。
当检测转换电路检测到主机不能正常工作时,自动启动备机进入正常运行状态,完成应用功能。
此时,可对故障单元进行脱线维护,在排除其故障后,可使其联机进入等待备用状态。
显然,这种冗余系统已大大提高了应用系统的可靠性,并基本保证了应用系统的不间断运行。
但仔细分析,就会发现存在以下不足之处:.系统存在可靠性瓶颈,当检测转换电路自身出现故障时,不能监视主备机状态,也无法完成主备机自动切换功能;.对于某些冗余系统,当备机需要实时保留主机的数据备份时,检测转换电路无法完成主备机之间的数据通信功能;.由于需要设计检测转换电路,系统设计和实现复杂,引入了附加的不可靠因素。
PIC单片机抗干扰设计

PIC单片机抗干扰设计摘要:单片机已经普遍应用到各个领域,对其可靠性也提出了更高的要求。
影响单片机可靠性的因素很多,但是抗干扰性能是最重要的一个因素之一。
本文对PIC单片机抗干扰设计主要从硬件干扰抑制技术和软件干扰抑制技术两个大方面来进行分析。
关键词:PIC单片机抗干扰硬件软件1 硬件干扰抑制技术1.1 采用合理的隔离技术采用合理的隔离技术对单片机抗干扰起着非常重要的作用。
隔离不仅能够将外来干扰信号的通道阻断,而且还可以通过控制系统与现场隔离实现抗干扰目的,使得彼此之间的串扰最大限度地降低。
常用的隔离技术主要包括变压器隔离方式、布线隔离方式、光电隔离方式和继电器隔离方式等。
1.2 合理选择系统时钟PIC单片机系统时钟频率为0~20MHz,时基震荡方式主要有四种,每一种时基震荡方式由不同的时基频率相对应:外接电阻电容元件的阻容振荡方式RC,频率为0.03MHz~5MHz;低频晶体振荡器/陶瓷谐振器振荡方式LP,频率为32.768kHz或200kHz;标准晶体振荡器/陶瓷谐振器振荡方式XT,频率为0.2MHz~4MHz;高频晶体振荡器/陶瓷谐振器振荡方式HS,频率为4MHz~20MHz。
外接方式主要有三种:外接晶体振荡器/陶瓷谐振器、外接时钟电路、外接RC。
用户在选择基振荡方式和外接方式时可根据PIC单片机应用系统的性能、应用场合、价格等因素来进行。
外接时钟属于高频噪声源,从可靠性方面来讲,不仅会干扰本应用系统,而且还能够干扰外界。
频率越高越容易成为噪声源,因此应采用低频率的系统时钟,但是必须把与系统性能要求相符作为前提条件。
1.3 合理设计电路板在电路板设计时,不要只是采用单一的PCB板进行,而应尽可能多的采用多层PCB板来进行,其中一层用作接地,而另外一层用作电源布线,这样就使得退耦电路形成,同时,这样的电路其屏蔽效果也比较好。
如果对空间没有任何的硬性规定,同时要成本因素进行考虑,此时在设计电路板时就可以采用单层或者双层的PCB板进行布线,这样需要从电源单独引电源线进行布线,并将其逐个分配到每个功能电路中,另外,还要将所有的地线汇集到靠近电源地的一个点上。
基于80C51FXX单片机的双冗余控制系统的实现

相 对于 三冗余 控 制 , 冗 余 主要 针 对 的是 系 统 工 . 双
作 时 出现 的硬 件 上 一些 可 能 出现 的意 外 故 障 , 如 电 例 路 中尖 峰脉 冲导致其 中一路控 制 系统重启 或 者程 序 跑 飞, 这在 实时 控 制 系统 中是 绝对 不 允 许 的 。在 这 种情
平变 换 电路 、 I 元 和检 测 单 元 之 间 的双 端 口 R M PD单 A 数 据 交换单 元 , 以及后 端 的检测 电路 , 采用 了双 路冗 均
元输 出 , 端 的 电平 变换 电路 对 输 出的模 拟 信 号 进 行 后
变换 , 来 驱 动后 端 的伺 服 器 ; 伺 服 器前 端 , 专 用 用 在 有
图 1 系统 框 图
况下 , 只需要 双冗 余 判决 系统 根 据 故 障情 况 控 制 相 应
的切换电路切掉故障回路 , 且在实际应用中 , 结构相对 简单 , 成本 低 , 以满 足一 定可靠 性要 求 的工程 应用 。 可
3 冗余控制 的实现
整个 系 统 由飞 控 计 算 机 发 出 的 上 位 机 指 令 来 控 制, 所有 回路 均采 用 了双 冗余 措 施 。前 端 飞 行 器 机翼
劣工作 环境下 的计算 机控 制 系统 , 系统 安全 性 、 对 可靠 性、 可用 性 的要 求更 高 , 错控 制系统 可 以保证 系 统 能 容 安全 、 可靠 地工作 。在实 际应用 中 , 余系 统 一般 分 为 冗 双冗 余 系统和 三冗余 系统 。
一
循环冗余校验码的单片机及CPLD实现

循环冗余校验码的单片机及CPLD实现1 基本原理串行数据的差错检验是保证数据正确的必要手段,通常采用奇遇校验法和循环冗余校验法。
这两种方法都是通过冗余数据来提供必要信息。
奇偶校验法适用于以字节为单位数据传输。
例如用偶校验传送1 个ASCII 字符时,要附加1个校验位,从而使全部9 位中1 的个数为偶数。
奇偶校验简单易行,但当数据崩溃或出现多位错误时,往往不能检验出来,因而可靠性不高。
循环冗余码校验法利用了循环和反馈机制,校验码由输入数据与历史数据经过较为复杂的运算而得到。
因此,冗余码包含了更为丰富的数据间的信息,可靠性更高。
校好的循环冗余码可校验出以下错误:①全部数据位任意奇数个位出错;②全部数据位中任意连续2 位出错;③处于一个8 位时间窗内的任1~8 位数据出错。
使用循环冗余码校验方法通信时,发送方先计算待发数据的校验码,然后将数据与校验码起发出;接收方接收数据的同时进行循环冗余码的计算,并将计算结果与来自发送方的校验码相比较,如不相同表示传输过程中出现了错误,接收方必须通知发送方再次发送该组数据。
假设要传输64 位数据(最后8 位是校验码),并使用多项式x8+x5+x4+1 来产生8 位循环冗余校验码(以下简称CRC 码)。
其逻辑结构可用异或门和移位寄存器表示,如图1 所示。
寄存器的值即为输入数据的CRC 码。
首先来输入数据与最低位的异或值,如为0,只需将当前CRC 码逻辑右移1 位(首位补零),即可得到新CRC 码;如为1,则将当前CRC 码与18H 异或,再循环右移1 位即可。
该校验码有以下特点:①当输入的8 位数据(低位在前)与当前CRC 码相同时,输出的CRC 码将是零。
因此,当包含8 位CRC 码的全部64。
(完整word版)单片机名词解释

单片机名词解释一、名词解释1.微处理器:即中央处理器CPU,它是把运算器和控制器集成在一块芯片上的器件总称。
2.单片机(单片微型计算机):把CPU、存储器、I/O接口、振荡器电路、定时器/计数器等构成计算机的主要部件集成在一块芯片上构成一台具有一定功能的计算机,就称为单片微型计算机,简称单片机。
3.程序计数器:程序计数器PC是一个不可寻址的16位专用寄存器(不属于特殊功能寄存器),用来存放下一条指令的地址,具有自动加1的功能。
4.数据指针:数据指针DPTR是一个16位的寄存器,可分为两个8位的寄存器DPH、DPL,常用作访问外部数据存储器的地址寄存器,也可寻址64K字节程序存储器的固定数据、表格等单元。
5.累加器:运算时的暂存寄存器,用于提供操作数和存放运算结果。
它是应用最频繁的寄存器,由于在结构上与内部总线相连,所以一般信息的传送和交换均需通过累加器A。
6.程序状态字:程序状态字PSW是一个8位寄存器,寄存当前指令执行后的状态,为下条或以后的指令执行提供状态条件。
它的重要特点是可以编程。
7.堆栈:堆栈是一组编有地址的特殊存储单元,数据遵循先进后出的存取原则。
栈顶地址用栈指针SP指示。
8.软件堆栈:通过软件唉内部RAM中定义一个区域作为堆栈(即由软件对SP设置初值),称软件堆栈。
9.振荡周期(晶振周期):振荡电路产生的脉冲信号的周期,是最小的时序单位。
10.时钟周期:把2个振荡周期称为S状态,即时钟周期。
1个时钟周期=2个振荡周期。
11.机器周期:完成一个基本操作所需的时间称为机器周期。
1个机器周期=12个振荡周期。
12.指令周期:执行一条指令所需的全部时间称为指令周期。
MCS-51单片机的指令周期一般需要1、2、4个机器周期。
13.地址/数据分时复用总线:是指P0口用作扩展时,先输出低8位地址至地址锁存器,而后再由P0口输入指令代码,在时间上是分开的。
14.准双向并行I/O口:当用作通用I/O口,且先执行输出操作,而后要由输出变为输入操作时,必须在输入操作前再执行一次输出“1”操作(即先将口置成1),然后执行输入操作才会正确,这就是准双向的含义。
单片机应用系统中的_看门狗_电路及低成本实现

, 看 门 狗 电路 如 图 1 所 示. 图 中
! 63!
2008 年
商丘职业技术学院学报
74LS123 触发器的输入端接高电平 , 负脉冲触发 . 第一个触发器工作状态由单片机 P1 口的 P1 . 7 控制, 系统 开始工作时 , P1 . 7 向 2A 端输入一个负脉冲, 使 2Q 端产生一个正跳变, 但并不能触发第二个单稳态触发器 动作, 1Q 端仍为低电平. P1 . 7负触发脉冲的时间间隔取决于系统控制主程序运行周期 . 在单片机应用系统 应用程序设计中 , 软件流程要设计成循环结 构. 发出喂狗信号的指令包 含在主程序中, 使用 CLR P1 . 7和 SETB P1. 7 两条指令. 如果主程序运行周期小于单稳态触发器的暂态时间 , 则当单片机正常运行时 , 将不断 重新触发第二个单稳态触发器, 其输出端 2Q 端始终保持高电平, 1A 端保持高电平 , 第一个单稳态触发器就 不会产生动作. 如果单片机受到干扰 , 产生了死循环, 那么第二单稳态触发器的暂态时间内 , 就不会出现送 给 2A 端的负脉冲 , 第二个单稳态触发器脱离暂态 , 2Q 端回到低电平触发第一个单稳态触发器翻转到暂态 , 1Q 端产生脉冲信号, 使单片机可靠复位, 系统运行的可靠性大大提高.
[ 2 ] 374- 375
.
图 2 由计数器构成的 看门狗 电路
2 . 3 由门电路构成 看门狗 电路 在电路的设计中往往会有多余的门电路, 这时可以用作 看门狗 电路 , 既降低了成本, 又提高了电路的 可靠性 . 电路形式可以有很多种 , 特别在 89C1051 / 2051 的应用电路中, 利用其 P1 . 0 /P1. 1 口没有上拉电阻 的特点 , 可以用两个 CMOS 门电路 ( 本例中是六反相器 CD4069 中的两个空余反相器 ) 设计一个极简单的低 成本 看门狗 电路, 如图 3 . 由于需要的定时时间比较长 , 因此只能使用输入阻抗高的 CMOS 门电路, 当然也 ! 64!
单片机指令编程的常见错误与解决方法

单片机指令编程的常见错误与解决方法在单片机指令编程过程中,往往会遇到各种问题和错误。
这些问题可能导致程序无法正常运行或者出现意料之外的结果。
本文将介绍一些常见的错误,以及相应的解决方法,帮助程序员更好地进行单片机指令编程。
一、编码错误编码错误是指在编写指令时出现的错误,包括语法错误和逻辑错误。
语法错误是最基本的错误,常见的有拼写错误、缺少分号等。
逻辑错误则是指程序的逻辑不正确,导致程序无法按照预期的方式执行。
解决方法:1. 仔细检查代码,查找并修复语法错误。
2. 使用调试工具,逐步执行代码,观察程序的执行过程,找出逻辑错误的根源。
3. 采用模块化编程方法,将程序划分为多个相对独立的模块,降低程序的复杂性,便于调试和维护。
二、寄存器配置错误单片机中的寄存器是非常重要的,它们用来存储程序的运行状态和数据。
配置寄存器时,如果设置不正确,可能导致程序无法正常运行。
解决方法:1. 仔细查阅单片机的手册或者数据手册,确保对寄存器的配置有充分的了解。
2. 逐个检查寄存器的配置,确保每个寄存器的值都正确设置。
3. 使用调试工具,观察寄存器的状态,排除配置错误的可能性。
三、时钟设置错误单片机的时钟是程序运行的基础,对于某些需要实时操作的程序尤为重要。
时钟设置错误可能导致程序时序不正确,无法正常执行。
解决方法:1. 确保时钟源的选择正确,并选择合适的分频系数。
2. 配置好时钟控制寄存器,确保时钟的频率满足程序运行的要求。
3. 使用专业的时钟分析工具,对时钟信号进行分析和调试,确保时钟信号的准确性和稳定性。
四、中断处理错误中断是单片机的重要功能,可以实现对外部事件的响应。
如果中断处理错误,可能导致程序的执行流程混乱,无法正常处理中断事件。
解决方法:1. 确保中断向量表的设置正确,每个中断向量都与对应的中断服务程序相对应。
2. 配置中断控制器,使能或禁止某些中断,确保中断的优先级设置正确。
3. 定期检查中断服务程序的正确性,确保程序在中断发生时能够正确响应。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机指令冗余技术通过引用单片机技术,传感器在实际测量中,每当轴转动一周后,就对传感器的输出特性曲线进行定量修正,这样就能基本解决由于被测物体材质的不均匀性给测量结果带来的确定性干扰。
By referencing single-chip computer technology, sensor in actual measurement, whenever axis rotation after a week, it quantitatively correction of sensor output characteristic curve, so it can basically solved due to the inhomogeneity of material object to be tested to measure the results of deterministic disturbance.在实际工作中,确定性的干扰传感器常常会产生一个确定性的干扰,这是由于传感器的自身结构特点或者外界环境的影响决定的,而这种干扰通常可由单片机来解决。
例如电涡流位移传感器在实际的工作中,由于被测物体材料的均匀性和导磁性的不同,会给测量结果带来一定的影响。
轴承中轴的位置,需要进行精确的测量,但是由于轴表面不均匀的材质。
会使测量变得困难。
轴在转动过程中,虽然其位置保持不变,但传感器仍会有电压的输出,这样得到的测量结果会有很大的误差。
由于轴在每次转动中产生的位移保持不变,所以这种干扰也可以说是确定性的。
In practice, a deterministic interference sensor often produces a deterministic disturbance, this is due to their structure characteristics of the sensor or the influence of the external environment, and this kind of interference usually is solved by the single chip microcomputer. Such as eddy current displacement sensor in the actual work, due to the uniformity of material object to be tested and magnetic conductivity, will bring certain influence measurement results. Bearing axial position, need to be measured accurately, but due to the shaft surface uneven material. Will make it difficult to measure. Shaft in the rotation process, although its position remains the same, but the output of the voltage sensor will be, the resulting measurement results will have a lot of errors. Due to the axial displacement of at every turn of remain the same, so the interference is also can be said to be deterministic. 2.2 随机干扰传感器的工作环境往往是比较恶劣和复杂的,其应用的可靠性、安全性就成为一个非常突出的问题。
所以,需要在工作中尽量减少干扰。
提高输出信号信噪比的问题,是传感器研究中的最大难题之一。
但是实际上在传感器的使用中,单片机可利用软件来部分消除随机干扰,下面介绍一些在软件抗干扰用到的方法。
2.2.1 指令冗余法单片机受到干扰后,往往会把操作数当作指令码来执行,引起整个程序的混乱和程序弹飞。
如果程序弹飞到某一条单字节指令上时,就不会发生将操作数当成指令的错误,而能自动纳入正轨。
当弹飞到双字节或三字节指令的操作时,程序将继续弹飞。
因此,在程序中插人几个单字节的空操作指令nop,就可以保护其后面的指令不被拆散而被完整地执行。
2.2.2 软件陷阱法系统中未使用的单元用跳转引导指令填满,作为软件“陷阱”,以捕获“飞掉”的程序,并强行将捕获的程序引向一个特定的地址,由一段专站处理错误的程序进行处理,以恢复系统的正常运行。
2.2.3 软件“看门狗,(watch dog)法”watch dog 即定时监视器,俗称“看门狗”,当侵人的电磁干扰使系统程序弹飞,或进入死循环,或死机时,watchdog能够帮助系统自动恢复正常运行。
3 在传感器发展方面的应用目前。
成熟的传感器品种规格繁多,长期以来。
由于传感器的输入输出信号符不相同,其原理和电路也差别较大,使得传感器的标准化工作进度较慢。
给传感器的用户带来了很多的麻烦。
同时,也不利于传感器及测试仪器的发展和在更广阔领域的应用。
但是,随着单片机成本逐渐的降低,运算能力的提高以及体积的减小,会给传感器机及测试仪器的发展带来积极的影响。
传感器接收外界的压力信号x并产生一个输出信号y,再由接口电路和a/d模数转换器对其进行处理后,输出可由单片机接收的数字信号y,最后由单片机对其处理后,即可得到经过修正的标准输出yc。
一般在标定传感器的过程中,输入校准温度和压力点,然后测出x~y的数据,最后用二元函数插值法来修正传感器的非线性误差。
2.2 random disturbance sensor work environment tend to be more severe and complicated, the application of the reliability, security has become a very prominent problem. So, we need to minimize interference in the work. To improve the SNR of output signal problem, is one of the biggest problems in the study of the sensor. But actually in use of sensor, microcontroller part can use software to eliminate the random disturbance, some used in the software anti-interference methods described below.2.2.1 instruction redundancy method microcontroller interference, often as the operands of the instruction code to execute, cause the whole program of chaos and fly out. If the program play fly to a a single-byte instruction, the operands as instruction will happen error, and can automatically into the right track. When play to double byte or three bytes instruction operation, program will continue to fly. , therefore, in the program into several single-byte nops instruction nop, can protect the following instructions will not be apart and be fully implemented. 2.2.2 software trap method is not used in the system unit filled with jump boot command, as a software "trap", to capture the "fly away" program, and forced the capture program leading to a specific address, handled by a dedicated stand the wrong application for processing, to resume the normal operation of the system. 2.2.3 software "guard dog, watch dog) method" watch dogregularly monitor, commonly known as "guard dog", when shooting ricochet and electromagnetic interference of the system program, or into an infinite loop, or crash, watchdog can help the system automatically return to normal operation. 3 in application at present. With the development of the sensor Mature sensor specification is various, for a long time. Due to the input and output signals are not the same sensor, the principle and the circuit is also difference is bigger, the sensor of the standardization work progress is slow. For sensor users has brought a lot of trouble. At the same time, also against the development of sensor and testing instruments and in the broader field of application. But as SCM gradually reduce the cost, improve operation ability and the decrease of the volume, will give sensor machine and bring positive impact on the development of testing instruments. Sensor receives the pressure signal and generates an output signal x y, then the interface circuit and a/d analog-to-digital converter for after processing, the output can be received by single chip digital signal y, finally by the single chip microcomputer after the processing, can get the revised standard output yc. Generally in the process of calibrating sensors, input the calibration temperature and pressure points, and then determinate the x and y data, finally using binary function interpolation method to modify the nonlinear error of sensors.。