【数字电子技术基础】信息和编码
数字量和模拟量
数字量:在时间上和数量上都是离散的、不连续的(存在一个最小的\(\Delta\))
例如:车、狗、英文字母
模拟量:数字量以外的物理量
例如:颜色、光的强度、声音的强弱、高低、电压电流
电子电路
电子电路能够实现信息处理和能量转换。
手机、计算机、充电器、灯、空调等都是电子电路。
模拟电路:用连续的模拟电压/流来表示信息
数字电路:用一个离散的电压序列来表示信息
计算机的分层拆解
计算机——电路板——芯片——模块——电路单元——逻辑门电路——半导体晶体管
由此可见:
- 结构:分层设计,确保每一层电路复杂度的有限性,并且使得一些模块可以复用
- 接口:使得模块与模块之间相互独立,模块升级时其他模块可以正常使用
- 好的系统设计原则:用较小的成本实现较多的功能,系统能够在多种环境中正常运行,系统对技术升级具有较好的兼容性
数电目标:晶体管——门电路——组合电路——时序电路——有限状态机(FSMs)——配一些软件指令就可以构成简单的CPU系统。
信息
信息是知识的传递、事实和情况的具体描述。
如果信息不能消除实际情况和不确定性那么这个信息是没有意义的。
如果有N个等可能的选择,你想要把N个选择缩小到M个,那么则需要至少\(\log_2 (N/M)\)比特的信息,例如:
- 现在想要用二进制来表示扔硬币之后的结果,则需要\(\log_2 (2/1)\)比特的信息;
- 用二进制来表示掷两个骰子之后的结果,则需要\(\log_2(36/1)=5.2\)比特的信息。
编码
编码的方式和位数会影响到效率、可靠性、安全性。
码制
表示事物的规则:学号、身份证号、车牌号。
常见的十进制代码
8421码、2421码。
格雷码
相邻的代码只有一位不同。
数制
表示数量的规则,他包括:1.每一位数的构成; 2.从低位向高位的进位规则
同一个数字,他的大小本身是不能改变的,但是在不同数制下表示会不同。
编码的数字转化为十进制数字\(v=\sum_{i=0}^{n-1}N^ib_i\),其中N为编码的基数,b为当前位的权值,i为编码数字的第i位。
例如:
\((1011.11)_B=1\times 2^3+0\times 2^2+1\times 2^1+1\times 2^0+1\times 1\times 2^{-1}+1\times 2^{-2}=11.75\).
\((2A.7F)_H=2\times 16^1 + 10 \times 16^0 + 7 \times 16^{-1}+15 \times 16^{-2}=42.4960937\).
二进制的补码
原码
在无符号的二进制数前面加一个符号位,符号位为0表示为正,1表示为负
但是原码的负数不能直接相加减,例如:\(5+(-5)=0\),但是\((00101)_B + (10101)_B = (11010)_B \neq 0\),这是因为符号位是码制,他不能参与数制的运算。
补码
现在有一个n位的补码,他的最高位为符号位,他有权值为\(-2^{n-1}\),其他位的权值都是\(2^i\),例如:
\((11010110)_B=-2^7 + 2^6 + 2^4 + 2^2 + 2^1= -128 + 64 + 16 + 4 + 2 = -42\);
\((1101.0110)=-2^3 + 2^2 + 2^0 + 2^{-2} + 2^{-3}=-8 + 4 + 1 + 0.25 + 0.125=-2.625\).
它能表示的数字的范围为:\(-2^{n-1}\)到\(2^{n-1}-1\),差出来的一位是因为1000B和0000B,第一个表示最小的负数而另一个表示0。
求补码
1.最高位为符号位;2.正数的补码和他的原码相同;3.负数的补码=数值位按位取反+1, 则\(+5=(0\space 0101)_B\),\(-5=(1\space 1011)_B\),有\(+5+(-5)=(0 \space 0101)_B+(1\space 1011)_B=(0\space 0000)_B\),正确回0了。
补码的扩展
正数在符号位后面补0,负数直接在补码前面补1即可.
结论
将两个加数的符号位和来自最高位数字位的进位相加,结果就是和的符号。
电压保存信息
优缺点
优点:容易产生,容易测量,如果电流量很小则功耗很小。
缺点:容易受到环境的影响,电子电路的干扰和不准确性是永远都不可避免的。
例子
用1V代表黑色,0V代表白色,0到1之间所有的值都代表灰度,这样就可以构成一幅图。
如果对这个图像进行拷贝和取反,无论中间的过程有多么的精准,都必定会有损失。
原来图像的一个点是0.1V,即使拷贝之后是0.099999V,他还是有损失,随着拷贝的次数的增多,原来的信息损失的就越多。
数字模块
能够接受低质量01而输出高质量01的模块成为数字模块。导线就不是数字模块,因为他如果接受了低质量的01,他不能输出高质量的01.
用电压表示数字信号,1V代表1,0V代表0,但真正的信号不必是精准的0V和1V,靠近即可。此外在0V到1V之间还有一部分电压他既不代表0也不代表1。
干扰的来源:门之间电流信号引起的压降:30mV,在模块之间50mV,芯片与芯片之间350mV,电流变化时引脚的电感效应等。