分类
最佳初學者外匯券商排名

二进制信号

二进制信号

数字信号是指用一组特殊的状态来描述信号,典型的就是当前用最为常见的二进制数字来表示的信号,之所以采用二进制数字表示信号, 其根本原因是电路只能表示两种状态,即电路的通与断。在实际的数字信号传输中,通常是将一定范围的信息变化归类为状态0或状态1, 这种状态的设置大大提高了数字信号的抗噪声能力。不仅如此,在保密性、抗干扰、传输质量等方面,数字信号都比模拟信号要好,且更加节约信号传输通道资源。 [1]

二进制信号量,互斥信号和计数信号量的区别

hxg130435477 于 二进制信号 2010-11-09 17:26:00 发布 12621 收藏 7

VxWorks 的信号量机制分析

VxWorks 信号量是提供任务间通信、同步和互斥的最优选择,提供任务间最快速的通信。也是提供任务间同步和互斥的主要手段。 VxWorks 提供 3 种信号量来解决不同的问题。

二进制信号量

二进制信号量能够满足任务间的互斥和同步,需要的系统开销最小,因此也称快速信号量。二进制信号量可以看成一个标志,对应资源是可用还是不可用。当一个任务调用 semTake () 请求一个信号量时,如果此时信号量可用,信号量会被清零,并且任务立即继续执行;如果信号量不可用,任务会被阻塞来等待信号量。

当一个任务调用 semGive () 释放一个二进制信号量时。如果信号量已经可用,释放信号量不会产生任何影响;如果信号量不可用并且没有任务等待使用该信号量,信号量只是被简单地置为可用;如果信号量不可用并且有一个或多个任务等待该信号量,最高优先级的任务被解阻塞,信号量仍为不可用。

当两个以上的任务共享使用同一块内存缓冲区或同一个 I/O 设备之类的资源时,可能会发生竞争状态。

当任务需要访问这个资源时,首先取得这个信号量,所有其它想要访问这个资源的任务将被阻塞。当任务完成了对该资源的访问时,释放该信号量,允许其他任务使用该资源。因此所有对一个需要互斥访问资源的操作由 semTake () 和 semGive () 对一起来实现。

semTake(semMutex , WAIT FOREVER)

信号量另一种通常的用法是用于任务间的同步机制。在这种情况下,信号量代表一个任务所等待的条件或事件。最初,信号量是不可用的。一个任务或中断处理程序释放该信号量来通知这个事件的发生。等待该信号量的任务将被阻塞直到事件发生、该信号量可用。一旦被解阻塞,任务就执行恰当的事件处理程序。信号量在任务同步中的应用对于将中断服务程序从冗长的事件处理中解放出来以缩短中断响应时间是很有用的。

互斥信号量

②仅能由取 (semTake ()) 它的任务释放,即由同一个任务申请然后使用完毕后释放;

③因为 semTake 和 semGive 是成对出现的,因此不能在 ISR 中释放 (semGive ()) 。

优先级倒置发生在一个高优先级的任务被迫等待一段不确定时间,等待一个低优先级任务完成。 VxWorks 允许使用优先级继承算法,在互斥信号量中使用选项 SEM-INVERSION-SAFE ,将使能优先级继承算法,优先级继承协议确保拥有资源的任务以阻塞在该资源上的所有任务中优先级最高的任务的优先级执行,直到它释放所拥有的所有信号量,然后该任务返回到正常状态。因此这个“继承的高优先级”任务受到不会被任何中间优先级任务抢占的保护。

原语 taskSafe() 和 taskUnsafe () 提供了防止任务被意外删除的一种方法。同时互斥信号量提供了选项 SEM-DELETE-SAFE ,使用这个选项,每次调用 semTake ( ) 时隐含地使能了 taskSafe() ,当每次调用 semGive () 时隐含地使能了 taskUnsafe () 这种方式,任务得到信号量时得到不会被删除的保护。

计数器信号量

计数器信号量是实现任务同步和互斥的另一种手段,在具体实现上有点差异。计数器信号量除了像二进制信号量那样工作外,还保持对信号量释放次数的跟踪。与二进制信号量不同的时,计数型信号量每次释放,计数器加一;每次获取,计数器减一,当信号量减到 0 时,试图获取该信号量的任务被阻塞。

通过对嵌入式操作系统 VxWorks 的多任务之间的通信机制的分析可以看出,信号量在实现多任务间的通信、同步和互斥中发挥着重要的作用。因此,深入理解和正确使用 VxWorks 的信号量,可以提高实时系统中多任务间通信的效率

二进制信号

二进制(binary),发现者莱布尼茨,是在数学和数字电路中以2为基数的记数系统,是以2为基数代表系统的二进位制。这一系统中,通常用两个不同的符号0(代表零)和1(代表一)来表示 [1] 。数字电子电路中,逻辑门的实现直接应用了二进制,现代的计算机和依赖计算机的设备里都使用二进制。每个数字称为一个比特(Bit,Binary digit的缩写) [2] 。

二进制 计数系统

二进制 进制

在基数b的位置记数系统(其中b是一个正自然数,叫做基数),b个基本符号(或者叫数字)对应于包括0的最小b个自然数。 要产生其他的数,符号在数中的位置要被用到。最后一位的符号用它本身的值,向左一位其值乘以b。一般来讲,若b是基底,我们在b进制系统中的数表示为

二进制 二进制计数

二进制 运算

二进制 加法

二进制 乘法

二进制 减法

二进制 除法

二进制 实例

二进制 进制转换

二进制 二进制转换为十进制

二进制 十进制转换为二进制

整数部分采用 "除2取余,逆序排列"法。具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为小于1时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来 [7] 。例:125。

小数部分要使用“乘 2 取整法”。即用十进制的小数乘以 2 二进制信号 并取走结果的整数(必是 0 或 1),然后再用剩下的小数重复刚才的步骤,直到剩余的小数为 0 时停止,最后将每次得到的整数部分按先后顺序从左到右排列即得到所对应二进制小数。例如,将十进制小数 0.8125 转换成二进制小数过程如下 [7] :

二进制 通用进制转换

不同进制之间的转换本质就是确定各个不同权值位置上的数码。转换正整数的进制的有一个简单算法,就是通过用目标基数作长除法;余数给出从最低位开始的“数字” [3] 。例如,1020304从10进制转到7进制:

二进制 计算机采用二进制原因

首先,二进位计数制仅用两个数码。0和1,所以,任何具有二个不同稳定状态的元件都可用来表示数的某一位。而在实际上具有两种明显稳定状态的元件很多。例如,氖灯的“亮”和“熄” ;开关的“开” 和 “关”;电压的“高” 和“低”、“正”和 “负”;纸带上的“有孔”和“无孔”;电路中的“有信号” 和 “无信号”; 磁性材料的南极和北极等等,不胜枚举。 利用这些截然不同的状态来代表数字,是很容易实现的。不仅如此,更重要的是两种截然不同的状态不单有量上的差别,而且是有质上的不同。这样就能大大提高机器的抗干扰能力,提高可靠性。而要找出一个能表示多于二种状态而且简单可靠的器件,就困难得多了 [8] 。

第三,在电子计算机中采用二进制表示数可以节省设备。可 以从理论上证明,用三进位制最省设备,其次就是二进位制。但由于二进位制有包括三进位制在内的其他进位制所没有的优点,所以大多数电子计算机还是采用二进制。此外,由于二进制中只用二个符号 “ 0” 和“1”,因而可用布尔代数来分析和综合机器中的逻辑线路。 这为设计电子计算机线路提供了一个很有用的工具 [8] 。

二进制信号

中文名称 双二进码 英文名称 duobinary code 定 义 由偶数个空号分开的传号以相同的最大信号电平来表示,而由奇数个空号分开的传号以相反的最大信号电平来表示的代码。 应用学科 通信科技(一级学科),通信原理与基本技术(二级学科)

双二进码 编码原理

双二进码 调制

其可以表达为在原有二进制码后紧跟一个有限脉冲响应FIR(Finite Impulse Response)滤波器 [2] 。该滤波器的强度谱为cos2(ωT/2),其中T为原信号的周期。由滤波器的强度可知,滤波后的信号在原信号频率的一半处为0。

双二进码 应用

在光纤通信中双二进制有两种应用形式 [3] ,一种是采用三电平幅度调制,这种形式的双二进制在接收机需要双二进制解码电路,与传统二进制IM-DD系统相比,三电平判决会导致接收机灵敏度劣化;另一种是在光上使用二电平,使用M-Z调制器,采用幅度调制和相位调制(AM-PSK)相结合,与传统二进制IM-DD系统的接收机兼容,不导致灵敏度劣化,只是将发射机电路作适当改变。

信号先编码成电双二进制信号再调制成光双二进制信号。光双二进制信号有两个强度电平分别用“on”和“off”表示,“on”二进制信号 态有两个相位“0”和“π”,分别对应电双二进制信号的“1”和“二进制信号 - 1”,“off”态对应电双二进制信号的“0”。根据双二进制编码规则,电双二进制信号的“- 1”二进制信号 、“1”、“0”二进制信号 分别对应原始二进制信号的“ 0”、“ 1”、“ 0”,也就是说,光双二进制信号的“on”态对应原始二进制信号的“0”,“off”态对应“1”。