嵌入式开发工程师笔试面试指南-数电基础

1 数字量和数字信号、数字电路⭐⭐⭐⭐⭐

数字量

数字量是指取值仅为离散的几个特定数值的物理量,如用 0 和 1 表示的二进制数。在现实生活中,像开关的通断、计数器的计数值等都是数字量。它只有有限个状态,与连续变化的模拟量相对。数字量便于进行数值计算、逻辑处理和存储,在计算机、数字通信等领域广泛应用,是数字系统处理的基本对象。

数字信号

数字信号是用数字量表示的信号,是对数字量进行编码、传输的电信号或光信号等。它在时间和幅值上都是离散的,通常用高电平和低电平分别表示 1 和 0。数字信号抗干扰能力强、便于加密处理和存储,如计算机网络中传输的信号、数字电视信号等。通过对数字信号的处理,可实现信息的高效传输与处理,是现代通信和电子技术的重要基础。

数字电路

数字电路是处理数字信号的电子电路,由各种逻辑门、触发器等基本单元组成。它能对数字信号进行算术运算和逻辑运算,如实现加法、乘法、比较等功能。数字电路具有结构简单、可靠性高、易于集成等优点,广泛应用于计算机、数字通信、数字仪表等领域。像计算机的 CPU 就是由大量复杂的数字电路构成,完成各种数据处理和指令执行任务。

2 模拟量和模拟信号、模拟电路⭐⭐⭐⭐⭐

模拟量

模拟量是在时间和数值上都连续变化的物理量,如温度、压力、声音、光强等。它可以取任意实数值,其变化是连续平滑的,能精确地反映自然界中许多物理现象的实际变化情况。与数字量的离散取值不同,模拟量的取值有无穷多个,在未经转换时,计算机等数字设备无法直接处理模拟量,需要通过模数转换将其转换为数字量后才能进行处理。

模拟信号

模拟信号是随时间连续变化的信号,它的幅值可以是任意实数,能直接反映出模拟量的变化情况,比如我们日常听到的语音信号、电视信号中的图像信号等。模拟信号在传输过程中容易受到噪声干扰,导致信号质量下降,但它能较直观和精确地表示原始信息,在一些对信号精度要求高且传输距离较短的场合仍有广泛应用,如音频放大器中的信号传输。

模拟电路

模拟电路是处理模拟信号的电子电路,主要由电阻、电容、电感、晶体管等元件组成,可对模拟信号进行放大、滤波、调制等处理。像收音机中的高频放大电路、音频放大电路等都是模拟电路。模拟电路能够实现对模拟信号的各种处理,使信号符合后续电路或设备的要求,但由于其处理的信号是连续变化的,电路设计和分析相对复杂,对元件的精度和稳定性要求较高。

3 什么是采样信号?⭐⭐⭐⭐

采样信号是一种将连续时间信号转换为离散时间信号的信号形式。它是通过在连续信号上按一定的时间间隔进行抽样获取的,这些离散的抽样值代表了连续信号在特定时刻的瞬时值。采样信号在通信、数字信号处理等领域应用广泛,为数字系统处理连续信号提供了可能,其质量与采样频率等因素密切相关,采样频率需满足奈奎斯特采样定理,以确保能准确恢复原始连续信号。

4 原码、反码、补码之间的关系以及补码的运算⭐⭐⭐

原码、反码、补码是计算机表示有符号整数的三种编码方式。原码直接以符号位加绝对值形式表示,反码是原码符号位不变、其余位取反,补码则是反码加 1。补码通过模运算将减法转换为加法,消除了 ±0 的歧义,简化了硬件设计。

补码运算规则为:符号位参与运算,溢出自动舍弃。加法直接相加,减法通过加负数补码实现。例如,-5 的 8 位补码为 11111011,5+(-3) 即 00000101+11111101=00000010(2)。溢出检测需注意同符号数相加结果符号改变的情况。补码的数学本质是利用模 2ⁿ将负数表示为正数,实现高效运算。

5 什么是格雷码?⭐⭐⭐

格雷码是一种特殊的二进制编码方式,也叫循环码或反射码。其特点是任意两个相邻的代码只有一位二进制数不同。它可以避免在代码转换过程中出现多位变化可能导致的错误和不确定性,常用于数字系统中的计数器、编码器等,在减少逻辑错误、提高可靠性等方面有重要作用。

6 说出三种可靠性编码的名称⭐⭐⭐⭐

以下是三种可靠性编码:

奇偶校验码:在编码中增加一位校验位,使编码中 1 的个数为奇数或偶数,用于检测数据传输中是否出现奇数个位错误。

海明码:利用奇偶性来检错和纠错,通过在数据位中插入一定数量的校验位,能检测出多位错误,并纠正一位错误。

循环冗余校验码(CRC):基于模 2 运算,将数据与生成多项式进行运算得到校验码,常用于数据存储和传输中的差错检测,能检测出多种错误类型。

7 左移右移相当于数据运算⭐⭐⭐⭐

在计算机中,左移和右移操作相当于特定的数据运算。左移一位相当于将数据乘以 2,每左移 n 位就相当于乘以

2 n。右移操作与之相反,右移一位相当于将数据除以 2 并向下取整,每右移 n 位就相当于除以2 n并向下取整。这种运算方式在对二进制数据进行快速乘除运算以及位操作相关的算法中非常高效,能提升计算效率。

8 字节、字、位、比特的关系⭐⭐⭐⭐⭐

字节、字、位、比特的关系如下:

位(bit)和比特是同一概念,是计算机中数据的最小单位,只有 0 和 1 两种状态。

** 字节(Byte)** 是常用单位,1 字节等于 8 位,即 1Byte=8bit。

** 字(Word)** 由若干字节组成,在不同计算机架构中字长不同,常见的有 16 位、32 位、64 位等,分别对应 2 字节、4 字节、8 字节。通常字是计算机进行数据处理和运算的基本单位。

9 什么是与、或、非、异或、同或???⭐⭐⭐⭐⭐

与、或、非、异或、同或是逻辑运算中的基本概念,以下是它们的具体含义:

与运算:用符号 “∧” 或 “&” 表示。只有当参与运算的两个条件都为真(1)时,结果才为真(1),否则为假(0)。例如,1 & 1 = 1,1 & 0 = 0。

或运算:用符号 “∨” 或 “|” 表示。只要参与运算的两个条件中有一个为真(1),结果就为真(1),只有当两个条件都为假(0)时,结果才为假(0)。例如,1 | 0 = 1,0 | 0 = 0。

非运算:用符号 “¬” 或 “!” 表示。它是对一个条件的取反操作,若原条件为真(1),则非运算后结果为假(0);若原条件为假(0),则非运算后结果为真(1)。例如,!1 = 0,!0 = 1。

异或运算:用符号 “⊕” 表示。当参与运算的两个条件不同时,结果为真(1);当两个条件相同时,结果为假(0)。例如,1 ⊕ 0 = 1,1 ⊕ 1 = 0。

同或运算:也叫异或非运算,用符号 “⊙” 表示。与异或运算相反,当参与运算的两个条件相同时,结果为真(1);当两个条件不同时,结果为假(0)。例如,1 ⊙ 1 = 1,1 ⊙ 0 = 0。

10 异或与半加运算⭐⭐⭐

异或运算与半加运算在逻辑上是等价的,它们之间存在紧密的联系,以下是具体介绍:

异或运算:是一种逻辑运算,当两个输入值不同时输出为 1,相同时输出为 0。可以用符号 “⊕” 表示,其运算规则为:0⊕0 = 0,0⊕1 = 1,1⊕0 = 1,1⊕1 = 0。

半加运算:是实现两个一位二进制数相加的运算,不考虑来自低位的进位。半加运算的结果包括本位和与进位,其本位和的运算规则与异或运算完全一致,即两个一位二进制数进行半加运算时,相同为 0,不同为 1。

所以在一位二进制数相加的情况下,异或运算可以用来实现半加运算中的本位和计算。

11 什么是逻辑代数基本定理中的“代入定理”?⭐⭐⭐

12 什么是逻辑代数基本定理中的“反演定理”?⭐⭐⭐⭐

13 什么是逻辑代数基本定理中的“对偶定理”?⭐⭐⭐⭐

14 什么是逻辑函数?⭐⭐⭐

15 什么是约束项、任意项、无关项⭐⭐⭐

约束项、任意项和无关项在逻辑函数中常被提及,它们有一定关联:

约束项

约束项是指在实际的逻辑问题里,有些变量的取值组合是绝对不会出现的。比如一个逻辑电路用来表示一年的 12 个月,用 4 位二进制数表示月份,从 0001 到 1100 ,而 1101、1110、1111 这些组合不可能出现,对应的最小项就是约束项。约束项对应的逻辑值恒为 0。

任意项

任意项是指某些变量取值组合下,逻辑函数输出值无论取 0 还是取 1,对整个逻辑电路的功能都没有影响。例如在某些控制电路中,某些特定输入状态很少出现,此时这些输入对应的输出结果可以任意指定。

无关项

约束项和任意项统称为无关项。在化简逻辑函数时,可根据化简需要将无关项当作 0 或 1 来处理,以得到更简单的逻辑表达式,优化电路设计。

16 CMOS门电路是由什么构成的?它的特点是什么?⭐⭐⭐⭐

CMOS 门电路由增强型 PMOS 管和增强型 NMOS 管按照互补对称的形式连接构成。以下是它的特点:

功耗低:静态时,无论输出高电平还是低电平,只有一个 MOS 管导通,几乎不消耗功率,仅在状态转换瞬间有短暂的电流,因此静态功耗极小。

抗干扰能力强:它的噪声容限较大,一般可达到电源电压的 30% 左右,能有效抵抗外界噪声干扰,保证信号的可靠传输和处理。

电源电压范围宽:CMOS 门电路可以在较宽的电源电压范围内正常工作,不同系列的电源电压范围有所不同,一般为 3 - 18V,这使得它在不同的应用场景中具有更好的适应性。

输出逻辑摆幅大:输出高电平接近电源电压,输出低电平接近地电位,能提供较大的逻辑信号幅度,有利于与其他电路进行接口。

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

嵌入式/C++面试八股文 文章被收录于专栏

该专栏面向嵌入式开发工程师、C++开发工程师,包括C语言、C++,操作系统,ARM架构、RTOS、Linux基础、Linux驱动、Linux系统移植、计算机网络、数据结构与算法、数电基础、模电基础、5篇面试题目、HR面试常见问题汇总和嵌入式面试简历模板等文章。超全的嵌入式软件工程师面试题目和高频知识点总结! 另外,专栏分为两个部分,大家可以各取所好,为了有更好的阅读体验,后面会持续更新!!!

全部评论

相关推荐

首先说一下为什么自己昨天没有更新呢。原因是做了pdd的春招,对自己陷入了深度的自我怀疑。想要静一下。然后想了很多,确实之前all in考研失败后失去的东西很多,加上明白了提前做规划的重要性。自己对算法和前端知识的掌握不够系统,也不够具体,加上没有实习,很多课程上自己学的半吊子项目都还是不太够。如果春招不顺利可能还是会二战然后好好沉淀下吧。然后昨天其实也是学习算法,加上看了前端的八股(真多呀)。之后晚上做了pdd前端的笔试。题目是三道选择题,三道算法。(我明明感觉并不是都很难,但是还是写不出正确的算法,确实是自己练习少了,最近一定要恶补)。选择题:1、关于promise对象异步操作的返回值问题;2、关于HTML的一些知识;3、也是关于promise对象异步操作的返回值,不过更复杂。算法题:1、给定几个对象,判断对象之间是否有环状依赖(简单说一下,比如A对象依赖B和C对象,B依赖D对象,D依赖A。A->B->D->A,这样就存在);2、从左下到右上输出二维数组;3、根据给定不同任务的优先级高低,执行优先级高的,后执行优先级低的,并且支持动态添加任务。自己确实比较菜,这段时间一直会好好努力,不过谋事在人,成事在天。最后想发一个投票。想知道春招像我这样的菜鸟。你们如果有同样的困境:1、考研差两名遗憾退场;2、没有实习经历;3、算法基础不强(没有打过ACM这种)4、身边同学大多数都有很好去向(出国,大厂,知名高校);5、家庭条件一般(不富裕,但是也不会吃不起饭)你会做一个怎么样的选择呢??
查看6道真题和解析 投递拼多多集团-PDD等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
4
分享

创作者周榜

更多
牛客网
牛客企业服务