【常见总线接口协议】学习笔记2

  • 并行通信,在同一时刻发送多位数据(可以是多根线)。优点是发送速度快;缺点是传输距离短 资源占用多。   
  • 串行通信,用一根线 在不同的时刻发送8位数据。优点是传输距离远 占用资源少;缺点是发送速度慢。

 通信的方式可以分为:全双工、半双工、单工

  • 单工通信 只能接受或者发送 收音机 遥控器,一般只有一根线

  • 半双工通信 在同一时刻只能发送或者接收 对讲机,至少有两根线

  • 全双工通信 在同一时刻 既能接收又能发送 电话,至少有两根线 

根据是接收端和发送端时钟频率的异同又可分为同步通信和异步通信

https://www.cnblogs.com/dingh/p/14144196.html

三种协议的区别

-------------------------------------------------------------------------------------------

IIC通信与UART,还有SPI统称为串行接口通信

***********************名称***************************************************

SPI(Serial Peripheral Interface:串行外设接口);
I2C(INTER IC BUS:意为IC之间总线)
UART(Universal Asynchronous Receiver Transmitter:通用异步收器)
******************************信号线上****************************************

I2C通信方式为半双工,只有一根SDA线,同一时间只可以单向通信,485也为半双工;SPI和uart为双工。

---SPI 总线由三条信号线组成:串行时钟(SCLK)、串行数据输出(SDO)、串行数据输入(SDI)。SPI总线可以实现 多个SPI设备互相连接。提供 SPI串行时钟的SPI设备为SPI主机或主设备(Master),其他设备为SPI从机或从设备(Slave)。主从设备间可以实现全双工通信,当有多个从设备时,还可以增加一条从设备选择线。

如果用通用IO口模拟SPI总线,必须要有一个输出口(SDO),一个输入口(SDI),另一个口则视实现的设备类型而定,如果要实现主从设备,则需输入输出口,若只实现主设备,则需输出口即可,若只实现从设备,则只需输入口即可。

I2C总线是双向、两线(SCL、SDA)、串行、多主控(multi-master)接口标准,具有总线仲裁机制,非常适合在器件之间进行近距离、非经常性的数据通信。在它的协议体系中,传输数据时都会带上目的设备的设备地址,因此可以实现设备组网。

如果用通用IO口模拟I2C总线,并实现双向传输,则需一个输入输出口(SDA),另外还需一个输出口(SCL)。

---UART总线是异步串口,一般由波特率产生器(产生的波特率等于传输波特率的16倍)、UART接收器、UART发送器组成,硬件上由两根线,一根用于发送,一根用于接收。
如果用通用IO口模拟UART总线,则需一个输入口,一个输出口。

---------------------------------------------------------------------------------------------------------------------------------

来自维基百科):

建立时间是在时钟事件发生之前数据信号应保持稳定的最短时间,以便时钟能够可靠地对数据进行采样。 这适用于触发器的同步输入信号。

保持时间是在时钟事件发生之后数据信号应保持稳定的最短时间,以便时钟能够可靠地对数据进行采样。 这适用于触发器的同步输入信号。


这里面的时钟事件可以理解为:时钟信号的边沿触发事件。而同步设计是芯片设计的基础,如不考虑同步,那这些都将失去意义。接下来我们分析这两句话的意思。

都说建立时间和保持时间是触发器的固有属性,那么为什么会出现建立时间和保持时间这个概念,我的理解是因为在集成电路中存在着大量的基于同步设计的触发器,而由于时钟的漂移,和时钟源与每个触发器的远近不同所以抵达每个触发器的时间不同。由于这两个原因为同步设计造成了巨大的障碍,因此我们引入建立时间和保持时间这个概念,将电路中的不稳定因素全部考虑进去以确保设计的稳定性、可靠性。

上图是一个非常常见的两个触发器用组合逻辑相连的数据传输模型。我们知道,在真实电路中数据传输时处处都有延迟,在上图中,触发器在接收到有效的clk信号后,将数据从D端传输到Q端的所需要的时间为Tco。数据经过中间的组合逻辑时所需要的时间是Tcomb,在下一个clk到来之后,又需要一个Tco的时间才能将D2数据从D端传至Q端,经过这么长的路程,我们应该确保Q2还是最初的D1那一笔数据。

画波形图分析
接下来画波形图来直观的看到上面这么多延迟。

逐步分析这个波形图,在第一个clk上升沿的时候,将D1的数据传递到了Q1,触发器的延迟为Tco,接下来经过组合逻辑Tcomb,Q1变为了D2,随后在第二个clk上升沿,将D2的数据传递到了Q2。

回到最上面的定义,建立时间和保持时间的区别就在于处在时钟事件的前后,在波形图中,红色虚线就代表着时钟事件,而时钟事件之前,由于信号传输过程中的延迟,建立时间Tsu=Tclk - Tco - Tcomb,保持时间Th=Tco + Tcomb。由上述公式我们可以推导出建立时间Tsu加上保持时间Th刚好等于一个Tclk。

由此可见,建立时间和保持时间并不是一个固定的数值,而是一种可以称之为裕量的存在。而且由于建立时间+保持时间等于一个clk周期,所以建立时间裕量越大那么保持时间裕量就越小,反之亦然。

那么在上述电路中,考虑到触发器延迟Tco的最大值和最小值,Tcomb的范围应该为:Th - Tco_max < Tcomb < Tclk - Tco_min - Tsu

但是一般触发器延迟不可控,我们只能去改变组合逻辑的大小来控制建立时间和保持时间,最常用的应用就是在两个触发器之间插缓存器(buffer)以此来满足保持时间的要求。

练习
下面我们来看一道计算题:

时钟周期为T,触发器D1的建立时间最大为T1max,最小为T1min。组合逻辑电路最大延迟为T2max,最小为T2min。问:触发器D2的建立时间T3和保持时间T4应满足什么条件?

通过上面公式和波形图都可以看到,计算第二个触发的建立时间和保持时间与第一个触发器没有关系。

本题默认触发器延迟为0,那么建立时间的最大值就应该是T3max = T - T2min ,所以T3 < T - T2min ;

保持时间的最大值就是T2max,所以T4 < T2max;
原文链接:https://blog.csdn.net/weixin_38197667/article/details/105938300

什么是冒险,什么是竞争,怎么消除
信号由于经由不同路径传输达到某一汇合点的时间有,先有后的现象,就称之为竞争。
同一线被不同值驱动称为冒险。
由于竞争现象所引起的电路输出发生瞬间错误的现象,就称之为竞争冒险。
FPGA设计中最简单的避免方法是尽量使用时序逻辑同步输入输出。
另外:加滤波电容,消除毛刺的影响

加选通信号,避开毛刺
增加冗余项,消除逻辑冒险。
卡诺图化简与消除竞争冒险
参考
将卡诺图中相邻的未被圈的 数量为2^N的”1“圈起来。
系统最高速度计算(最快时钟频率)和流水线设计思想
同步电路的速度是指同步系统时钟的速度,同步时钟愈快,电路处理数据的时间间隔越短,电路在单位时间内处理的数据量就愈大。假设Tco是触发器的输入数据被时钟打入到触发器到数据到达触发器输出端的延时时间;Tdelay是组合逻辑的延时;Tsetup是D触发器的建立时间。假设数据已被时钟打入D触发器,那么数据到达第一个触发器的Q输出端需要的延时时间是Tco,经过组合逻辑的延时时间为Tdelay,然后到达第二个触发器的D端,要希望时钟能在第二个触发器再次被稳定地打入触发器,则时钟的延迟必须大于Tco+Tdelay+Tsetup,也就是说最小的时钟周期Tmin =Tco+Tdelay+Tsetup,即最快的时钟频率Fmax =1/Tmin。FPGA开发软件也是通过这种方法来计算系统最高运行速度Fmax。因为Tco和Tsetup是由具体的器件工艺决定的,故设计电路时只能改变组合逻辑的延迟时间Tdelay,所以说缩短触发器间组合逻辑的延时时间是提高同步电路速度的关键所在。由于一般同步电路都大于一级锁存,而要使电路稳定工作,时钟周期必须满足最大延时要求。故只有缩短最长延时路径,才能提高电路的工作频率。可以将较大的组合逻辑分解为较小的N块,通过适当的方法平均分配组合逻辑,然后在中间插入触发器,并和原触发器使用相同的时钟,就可以避免在两个触发器之间出现过大的延时,消除速度瓶颈,这样可以提高电路的工作频率。这就是所谓"流水线"技术的基本设计思想,即原设计速度受限部分用一个时钟周期实现,采用流水线技术插入触发器后,可用N个时钟周期实现,因此系统的工作速度可以加快,吞吐量加大。注意,流水线设计会在原数据通路上加入延时,另外硬件面积也会稍有增加。

impulse 和 pulse脉冲(前者为冲击响应,后者为脉冲响应)

逻辑表达式的化简

最小周期的计算(最大的主频)这里去要注意Tclk-q也被称为clock output delay,被叫做Tco

奇偶校验在硬件上该怎么搞(异或就可以了)

门电路的与非门、或非门、二选器转化

什么是open-drain output?
Open-Drain Output漏极开路输出,称为OD门,两个OD门并联可以实现线与功能,输出端外接的上拉电阻提高驱动能力


锁存器(latch)和触发器(flip-flop)区别:
电平敏感的存储器件称为锁存器。可分为高电平锁存器和低电平锁存器,用于不同时钟之间的信号同步。

有交叉耦合的门构成的双稳态的存储原件称为触发器。分为上升沿触发和下降沿触发。可以认为是两个不同电平敏感的锁存器串连而成。前一个锁存器决定了触发器的建立时间,后一个锁存器则决定了保持时间。

IC设计过程中将寄生效应的怎样反馈影响设计师的设计方案
所谓寄生效应就是那些溜进你的PCB并在电路中大施破坏、令人头痛、原因不明的小故障。它们就是渗入高速电路中隐藏的寄生电容和寄生电感。其中包括由封装引脚和印制线过长形成的寄生电感;焊盘到地、焊盘到电源平面和焊盘到印制线之间形成的寄生电容;通孔之间的相互影响,以及许多其它可能的寄生效应。

理想状态下,导线是没有电阻,电容和电感的。而在实际中,导线用到了金属铜,它有一定的电阻率,如果导线足够长,积累的电阻也相当可观。两条平行的导线,如果互相之间有电压差异,就相当于形成了一个平行板电容器(你想象一下)。通电的导线周围会形成磁场(特别是电流变化时),磁场会产生感生电场,会对电子的移动产生影响,可以说每条实际的导线包括元器件的管脚都会产生感生电动势,这也就是寄生电感。

在直流或者低频情况下,这种寄生效应看不太出来。而在交流特别是高频交流条件下,影响就非常巨大了。根据复阻抗公式,电容、电感会在交流情况下会对电流的移动产生巨大阻碍,也就可以折算成阻抗。这种寄生效应很难克服,也难摸到。只能通过优化线路,尽量使用管脚短的SMT元器件来减少其影响,要完全消除是不可能的。

你知道那些常用逻辑电平?TTL与COMS电平可以直接互连吗?
常用逻辑电平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage Differential Signaling)、GTL(Gunning Transceiver Logic)、BTL(Backplane Transceiver Logic)、ETL(enhanced transceiver logic)、GTLP(Gunning Transceiver Logic Plus);RS232、RS422、RS485(12V,5V,3.3V);

也有一种答案是:常用逻辑电平:12V,5V,3.3V。

TTL和CMOS 不可以直接互连,由于TTL是在0.3-3.6V之间,而CMOS则是有在12V的有在5V的。CMOS输出接到TTL是可以直接互连。TTL接到 CMOS需要在输出端口加一上拉电阻接到5V或者12V。

用CMOS可直接驱动TTL;加上拉电阻后,TTL可驱动CMOS.

高阻态的意义和用法

​ 该点输入电阻(输出电阻)无穷大,相当于断路,管角悬空,既不是高电平也不是低电平,其电平随外部电平高低而定。
应用实例1:在总线连接的结构上。总线上挂有多个设备,设备与总线以高阻的形式连接。这样在设备不占用总线时自动释放总线,以方便其他设备获得总线的使用权。
应用实例2:大部分单片机I/O使用时都可以设置为高阻输入,如STM32,AVR等等。高阻输入可以认为输入电阻是无穷大的,认为I/O对前级影响极小,电平随外部电平高低而定,除了高电平/低电平还能读中间的值,可用于AD连接。
什么是"线与"逻辑,要实现它,在硬件特性上有什么具体要求?
线与逻辑是两个输出信号相连可以实现与的功能。在硬件上,要用oc门来实现,由于不用oc门可能使灌电流过大,而烧坏逻辑门. 同时在输出端口应加一个上拉电阻。oc门就是集电极开路门。od门是漏极开路门。

mealy机和Moore机的区别

Moore状态机的输出仅与当前状态值有关,且只在时钟边沿到来时才会有状态变化。
Mealy状态机的输出不仅与当前状态有关,而且与当前输入值有关。
用CMOS搭建逻辑门(注意可以只用与非门or或非门or二选来搭建任意的门电路)

CMOS反相器的功耗(注意背一下静态功耗,是扩山区和衬底之间的反向偏执电流引起的)

反相器的翻转时间(也叫transition time)和传播时间(propagation time)

Transition Time(转换时间):上升时间:从10%Vdd上升到90%Vdd的时间,下降时间L从90%Vdd下降到10%dd的时间。上升时间和下降时间统称为Transition Time,也有定义为20%到80%。

Propagation Delay(传播延时):在输入信号变化到50%Vdd到输出信号变化到50%Vdd之间的时间。

基本逻辑运算

~(a ^ b) = (a & b) | (~a & ~b);
a ^ b = (~a & b) | (a & ~b)
1
2
格雷码与独热码
格雷码:相邻之间只变1bit,编码密度高。功耗低;可用于CDC。状态机中可节省状态寄存器,适合写适合写条件不复杂但是状态多的状态机。;
独热码:任何状态只有1bit为1,其余皆为0,编码密度低。但译码方便,节省组合逻辑;稳定性强,任意1bit错误都不会产生毛刺,适合写条件复杂但是状态少的状态机;

(对于FPGA,可用资源数固定,资源足够就用独热码)

二进制与格雷码的转换
自然二进制码转换成二进制格雷码,其法则是保留自然二进制码的最高位作为格雷码的最高位,而次高位格雷码为二进制码的高位与次高位相异或,而格雷码其余各位与次高位的求法相类似。实际操作时将只需将二进制码右移一位再与原值异或就行。只需一行代码:
  assign  graydata = (bindata >> 1) ^ bindata;
1
保留格雷码的最高位作为自然二进制码的最高位,二进制码的次高位为格雷码的次高位与二进 制码的(次高位+1)进行异或,其余各位采用类似的方法。代码如下:

  assign {bindata[7],bindata[6:0]}={graydata[7],bindata[7:1]^bindata[6:0]}
原文链接:https://blog.csdn.net/qq_27148893/article/details/129421463

Setup time & Hold time

一般来说,setup可以通过时钟频率来调整,而hold time是不行的,是一定要满足的。

  • 对于某个DFF来说,建立时间和保持时间可以认为是此器件固有的属性。

  • 在理想情况下,只要在时钟沿来临时,有效数据也来临(时钟沿之前或同时),则能够正确采集到数据;而在时钟沿之后(或同时),即使数据发生变化,也不会影响DFF的输出了。然而在实际中,上升沿打开开关需要时间,逻辑门的状态改变(电容充放电等)都需要时间,因此数据的采集是需要一定时间的,在这个时间内数据不能发生变化。上升沿时候开关关闭也需要时间,如果在这个时间段内数据有变化的话,那么新数据就有可能被传递到下一级,进而发生错误,所以数据必须保持一定时间不变。

  • 在clk上升沿来之前,数据必须提前一个最小时间量“预先准备好”,这个最小时间量就是建立时间

    在clk上升沿来之后,数据必须保持一个最小时间量“不能变化”,这个最小时间量就是保持时间

Setup time 检查

对于上面的两级DFF,setup time检查就是要确保DFF1的Clk到DFF2的D端满足时序要求。
简单来说,就是检查从DFF1的Clk到DFF2的D端这条path上,数据是否传得太慢导致FF2的建立时间不能满足
完整的setup time检查时序如下图:

对于FF2: Data path = 1 + 2 + 3 ; Clock path = 6 STA要求满足: 1 + 2 + 3 + 4 + 5 = 6 + 7 且 4 需要 ≥ 0 因此 : 1 + 2 + 3 + 5 ≤ 6 + 7,即:

TFF1clk_delay+TFF1c−>q+Tcomb_logic+Tsetup<=TFF2clk_delay+TperiodTclk_delayFF1+Tc−>qFF1+Tcomb_logic+Tsetup<=Tclk_delayFF2+Tperiod

不满足此公式的即为setup violation

Hold time 检查

相对与setup的检查,hold的检查与时钟周期无关,它实际上检查的是当前上升沿,本级DFF在采样数据时会不会出错。
简单来说,就是查看上图中DFF2在当前上升沿,会不会因为接到DFF2的D端上的数据变化太快导致无法满足保持时间的要求
时序分析图如下:

根据时序图可以得到:

TFF2clk_delay+TFF2Hold+TDesign_margin=TFF1clk_delay+TFF1C−>Q+TComb_logicTclk_delayFF2+THoldFF2+TDesign_margin=Tclk_delayFF1+TC−>QFF1+TComb_logic

STA要求上面式中的design margin>=0,即:

TFF1clk_delay+TFF1C−>Q+TComb_logic−TFF2Hold≥TFF2clk_delayTclk_delayFF1+TC−>QFF1+TComb_logic−THoldFF2≥Tclk_delayFF2

违反此式子就是hold violation.

-------------------------------------------------------

缺点
latch是电平触发,无法实现同步操作,与我们正常的时序逻辑电路设计思路不符。
latch会对输入电平敏感,受布线延迟影响较大,比较容易导致输出有毛刺产生。
latch会导致静态时序分析和DFT会很复杂。
在ASIC中使用latch的集成度比DFF高,但在FPGA中正好相反,因为FPGA中没有标准的latch单元,但有DFF单元,一个LATCH需要多个LE才能实现。

好处
因为使用latch可以timing borrow,在高速电路设计中(timing会很紧),有时候就需要用latch。

异步复位  瞬发

同步复位  等待时钟沿

https://www.cnblogs.com/lyc-seu/p/12419839.html

偶数分频的原理就是计数到N/2-1后对分频输出取反。而如果分频数N为基数,则需要:
clk_out1 在clk 上升沿计数到 (N-1)/2-1后取反, 计数到N-1以后再取反
clk_out2 在clk 下降沿计数到 (N-1)/2-1后取反, 计数到N-1以后再取反
clk_out 取clk_out1 和 clk_out2的或。

---------------------------------------------------------------------------------------------------------------------------------

  1. 有源晶振是一种带有放大器的振荡器,其输出信号的幅度经过放大后可以达到较高的水平,适用于一些要求振荡信号幅度较高的场合。无源晶振则没有放大器,其输出信号幅度比有源晶振低,但是其稳定性和精度较高,适用于一些要求振荡信号稳定性和精度较高的场合。
  2. 有源晶振需要外接电源,而无源晶振不需要外接电源,只需要在电路中加上负载电容即可。

对于嵌入式系统开发,晶振分频的操作方式如下: 在嵌入式系统中,通常需要使用外部晶振来提供系统时钟,以保证系统稳定性和精度。外部晶振的频率通常比较高,而系统需要的时钟信号频率较低,因此需要对外部晶振的频率进行分频操作,以得到所需的时钟信号。 晶振分频可以通过硬件电路或者软件算法来实现。硬件电路通常使用计数器和触发器等元件,通过特定的逻辑电路实现分频功能。软件算法则是在嵌入式系统的程序中实现分频操作,通过编写相应的代码来实现。 在使用晶振分频时,需要注意分频系数的选择,以确保所得到的时钟信号频率符合系统要求,并且能够保证系统的稳定性和精度。此外,还需要注意电路和程序的设计,避免分频误差和抖动等问题的出现。

  1. 三极管和MOS管的区别:
  • 原理: 三极管基于PN结,而MOS管基于金属氧化物半导体材料。
  • 开关速度:MOS管开关速度快,三极管较慢。
  • 电源电压要求: MOS管需要更高的控制电压,三极管需要更高的基极电流。
  • 导通压降: MOS管的导通压降小,三极管的导通压降较大。
  • 负载能力: MOS管的负载能力更好,可以承担更大的负载。
  • 噪声性能: MOS管的噪声性能更好。
  • 三极管的输入阻抗较低,在几百欧姆到几千欧姆之间。
  • MOS管的输入阻抗较高,在数百千欧姆到数兆欧姆之间。

  1. LDO和DCDC的区别:
  • 原理: LDO是线性调节器,DCDC是开关型电源。
  • 效率: DCDC的效率比LDO高,尤其在输入电压高,输出电压低的情况下。
  • 输出电压稳定性: LDO的输出电压稳定性好于DCDC。
  • 输出电流能力: DCDC较LDO有更大的输出电流能力。
  • 外部元器件: LDO因为工作原理简单,使用的外部元器件较少;DCDC因为需要使用开关元器件,所以需要更多的外部元件。

晶振(Crystal Oscillator)一般是用来产生系统时钟的。其大小指的是晶体的频率,一般常见的频率有4MHz、8MHz、16MHz等。晶振的大小选择需要考虑多方面因素,包括:

  1. 处理器时钟频率:处理器的时钟频率需要与晶振的频率一致,否则会出现错误的计时、失效的通信等问题。

  2. 运行速度:晶振的频率越高,系统的运行速度就越快,但同时也会带来更高的功耗和噪声。

  3. 稳定性:晶振的稳定性越好,系统的时钟精度就越高,但同时也会带来更高的成本。

因此,在选择晶振大小时,需要综合考虑以上三个因素,以达到最佳的系统性能和成本折衷。

晶振作用

在嵌入式系统中,晶振的作用主要是产生精确稳定的时钟信号,以给处理器和其他设备提供时序和同步信号。晶振通过其内部的石英晶体,在加上足够的电场之后,能够产生精确的电信号,这个信号将作为处理器的时钟输入信号,控制处理器的指令执行和数据传输。

复位电路复位时间

复位电路的复位时间指的是系统复位信号拉高到恢复到正常工作的时间。在嵌入式项目中,复位电路通常用于清除处理器和外围设备的状态,保证系统在启动时处于一个可预知的状态。而复位时间就是系统从复位状态到开始工作的时间间隔。

复位时间取决于复位信号的上升时间、处理器启动时间和系统启动时间等因素。通常,可以通过调整复位电路中的电容和电阻等元件的参数,来控制复位时间的大小,以满足系统的要求。同时需要注意,复位时间过长可能会影响系统的响应速度和性能。

  1. 串联负反馈 特性:在串联负反馈中,输出信号与减法器输入之间串联着一个负反馈回路。当输出信号增大时,回路提供的反馈电压使输入信号减小,从而抑制输出信号的增长。 作用:串联负反馈可以使系统的增益更稳定,减小非线性失真和噪声,提高系统的稳定性和可靠性。

  2. 并联负反馈 特性:在并联负反馈中,输出信号与减法器输入并联着一个负反馈回路。当输出信号变化时,回路提供的反馈电流使输入信号相应地变化,从而抑制输出信号的增长。 作用:并联负反馈可以增加系统的带宽和稳定性,降低噪声和失真,提高系统的灵敏度和速度。

  3. 双向负反馈 特性:在双向负反馈中,输入信号通过两个反馈回路与输出信号相连。当输出信号增大时,一部分信号经过一个反馈回路回到输入端,另一部分信号经过另一个反馈回路回到输出端,从而使系统的增益降低。 作用:双向负反馈可以改善系统的直流响应和稳定性,降低噪声和失真,提高系统的精度和可靠性。

  4. 交叉耦合负反馈 特性:在交叉耦合负反馈中,两个信号互相耦合,相互影响。当一个信号增大时,它会通过反馈回路抑制另一个信号的增长,从而稳定系统的增益和性能。 作用:交叉耦合负反馈可以增加系统的稳定性和带宽,降低噪声和失真,提高系统的速度和可靠性。

电压串联负反馈、电流串联负反馈、电压并联负反馈和电流并联负反馈。

电压串联负反馈:将反馈信号与输入信号串联,可以使电路增益减小、输入阻抗增加、输出阻抗减小、频率响应变为低通形式。

电流串联负反馈:将反馈信号由负载电流通过反馈电阻加入输入端,可以使得电路输入阻抗增加、输出阻抗减小、频率响应变形、电路增益下降。

电压并联负反馈:将反馈信号与输入信号并联,可以让电路增益降低、输入阻抗减小、输出阻抗增加、频率响应变为高通形式。

电流并联负反馈:将反馈信号由负载电流通过反馈电阻加入输出端,可以让电路输出阻抗增加、输入阻抗减小、电路增益下降、频率响应变形。

三极管放大电路的组态有共射、共基和共集三种。MOS管放大电路的组态有共源、共漏和共基三种。它们各自具有优缺点:

三极管放大电路:

  1. 共射:增益大,输入输出阻抗低。缺点是输出信号反相且需要较高的电压偏置。
  2. 共基:输入输出阻抗低,无需偏置电压,但是增益较小。
  3. 共集:输出信号同相,输入输出阻抗高,但是增益较小。

MOS管放大电路:

  1. 共源:增益高,输入输出阻抗低,无需偏置电压。缺点是输出信号反相且存在漏电流。
  2. 共漏:输出信号同相,无漏电流,但是输入输出阻抗高,且需要较高的偏置电压。
  3. 共基:输入输出阻抗低,无需偏置电压,但增益较小且存在较大的交越失真。

综合来说,不同的组态适合不同的应用需求,在实际应用中需要根据具体情况选择合适的组态。

  1. 达林顿管连接判断和计算

达林顿管由两个晶体管组成,通常用于需要高电流放大的电路中。判断达林顿管连接是否正确,首先要确定哪一个晶体管是输入端,哪一个是输出端。一般情况下,当输入信号加在左侧晶体管的基极上时,右侧晶体管就是输出端。计算时可以将达林顿管看成一个整体,其电流放大系数等于两个晶体管的电流放大系数的乘积,即A = hfe1 x hfe2。

  1. 复位电路并联二极管的作用

复位电路并联二极管的作用是,防止系统中的电容器在恢复供电时对系统的复位信号造成干扰。当复位信号为低电平时,二极管处于反向截止状态,不影响复位信号的正常传输;当复位信号变为高电平时,二极管处于正向导通状态,可以放电,以保证系统复位信号的稳定性。

  1. 积分运放电路输入输出的计算

积分运放电路是一种将输入信号积分并输出的电路,其输出信号表示输入信号的积分值。输入信号为时变电压,输出信号为电压积分后的值。计算公式为:Vout = -1/RC∫(V1(t)dt) + V0,其中V1(t)为输入信号的时变电压,V0为初始输出电压,RC为积分电路中的电阻和电容。

  1. OC门要加上拉电阻原因

OC门是由晶体管输出和开漏输出两部分组成的门电路。如果不加上拉电阻,输出为低电平时会导致电流流过负载,增加功耗和热量。另外,加上拉电阻可以使输出端的电平更加稳定,减少噪声和干扰。加上拉电阻后,当输出为高电平时,拉电阻起到上拉的作用,使输出电平为逻辑高电平;当输出为低电平时,晶体管输出为截止状态,电路接地,拉电阻发挥上拉的作用,保证输出电平为逻辑低电平。

https://www.cnblogs.com/zhuhongzhous/p/13880546.html

1、 项目中用到的芯片选型;

2、 低功耗如何设计;

3、 传感器接口电路如何设计;

4、 运放选型的参数有哪些;

5、 项目中用到哪些协议;

6、 用过大功率的IGBT吗;

7、 用过BLDC吗。大概是这些简单的问题。

9.25号线下二面

去现场面试,先老一套自我介绍,介绍完深挖项目,

1、 运放为什么负电压供电,为什么不单用正电压,这样增加了成本;

2、 画出电源转换电路,是否要加保险丝,以及输出电压滤波电容多大;三端稳压芯片滤波电容多大等电容问题;

3、 电解电容滤波取值和输出电压之间的关系;

4、 封装的孔径和焊盘大小如何设计;

5、 画出项目中传感器电路;

6、 三极管是压控还是流控,为什么;

7、 Mos管是否会被静电击穿,为什么;

8、 1117稳压范围,最小压差范围,效率问题;

9、 DCDC的电感滋滋声以及电感作用;

复旦微电子

嵌入式软开,和自己项目很对口的一个公司,也很想去芯片类公司学习,感觉平台不错,能够学到很多东西。

8.16笔试

笔试考的很基础,就是常见的计算机基础和单片机编程基础以及C语言基础

8.29一面

三个面试官,主要是问项目,对项目感兴趣居多

1、 项目低功耗如何实现;

2、 传感器电路接口实现方式;

3、 运放的选型;

4、 传感器的选型要求以及ADC精度选型;

5、 校准如何实现现场校准,而非理论校准;

9.2二面

两个主管面试,更像是聊人生理想,专业知识问的少。

9.17三面HR

问自身情况以及介绍公司各种待遇等。

隔了两天,部门通知过了。再隔了十天,二面主管打电话说了薪资,估计去复旦微电子了。

紫光展锐

不知道为啥今年招这么多人,硬件工程师。

笔试

紫光喜欢笔试前两分钟发送笔试链接,我是搞不懂。

考的电路基础多一点,模电居多,数电基本不考,整体不难。

9.22面试

紫光据说是一面过白菜价、二面过sp、三面过ssp,根据你面试的次数决定工资待遇。

很守时,一个很不错的面试官,大概就是随意问了项目,可能是项目偏仪表类工业产品,和紫光不大类似,没问太多,只随意问问,问了奖学金、竞赛这些,面完当场给结果。给了白菜价。

乐鑫

嵌入式软开,笔试好好刷linux基础和算法题,笔试凉。

Cvte  号称广州第一体面厂,江苏人,只是想体验一下,肯定不去。

硬件工程师

笔试 笔试题量很大,选择题分为单选和多选。五道大题,反正是没做完,给了面试

一面

1、 运放选型参数  2、 晶振大小计算  3、 PCB布线注意

4、 有源晶振和无源晶振区别   5、 PCB影响阻抗因素以及阻抗匹配计算公式

6、 三极管和mos管区别,输入阻抗区别     7、 PCB中直角的影响

8、 共射放大电路输入输出关系     9、 LDO和DCDC区别    其他记不清了,应该不难

二面

二面也太难了,直接凉了

1、 问到电路中电容选型,各种区别

2、 0805和0603电阻的功耗区别,我是傻了;

3、 运放选型;

4、 手撕两道电路,一道是音频管驱动电路,分析静态和瞬态;

5、 第二道电路属实没看懂,凉了;

Cvte是很重基础的公司,可以好好作为检查基础的公司经历。

中电海康

很感激这家研究院,第一个给我offer 的,问了项目,主要做fpga验证。

给了原型验证与测试岗,因为岗位原因有点不想去,当时也找到更好的,就拒了,很对不起。

苏州科达

笔试没做,给了面试。

面试

1、 自我介绍

2、 项目中晶振大小如何选取以及作用

3、 复位电路的复位时间

4、 其他基础的问题,很简单

---------------------------------------------------------------------------------------------------------------------------------

   以下回答为笔者杜撰,未必正确,欢迎大家一同讨论。

PCB的两条走线过长平行走线会引起什么后果?

从信号完整性方面来考虑,过长的走线耦合增强,串扰的本质在于耦合,所以过长平行走线会引起串扰,可能会引起误码操作。

常见的组合逻辑电路有哪些?

加法器,数据选择器,数据输出器,编码器,译码器,数值比较单元,算数逻辑单元。

存储器有哪些构成?

存储阵列,地址译码器和输出控制电路。

锁相环电路的基本构成?

分频器、鉴频鉴相器、环路滤波器、压控振荡器。

RS232和RS485的主要区别?

RS232是利用传输线与公共地之间的电压差传输信号,RS485是利用传输线之间的电压差作为传输信号,由于电压差分对的存在,可以很好的抑制共模干扰,所以RS485传输更远。

驱动蜂鸣器的三极管工作在哪个区,若是做反相器呢

由于单片机等其他MCU IO输出的电流比较小,大概在几十个mA以下,所以为了驱动需要电流较大的器件,需要额外的器件。驱动蜂鸣器利用三极管,使其工作在放大区。利用三极管的饱和和截止特性,可以做反相器,作为开关使用。

四层板信号分布是怎么样的,才能使EMC降低

对于常用的4层板信号分布是,信号层–地层(电源层)—电源层(地层)—信号层。这样设置的原则是(1)电源层和地层相邻,可以耦合电源的噪声,降低因电源抖动对器件的影响。(2)顶层和底层都有相应的参考层,可以良好的达到信号阻抗要求。(3)因两个信号层都有参考层,所以都有各自的参考回流路径,可以降低EMI。

分析竞争与冒险如何产生的以及如何避免?

信号经过逻辑门电路都需要要一定的时间,不同的传输路径上门电路数量不一样或者门电路数量一样,但每个门电路的延迟时间不一样,使得与稳态下得到的逻辑功能不一致,产生错误的输出。到达的时间不一致称为竞争,产生的毛刺称为冒险。

解决办法:1.增加选通电路;2.芯片外部添加电容;3.增加布尔式的消去项;

传输线几个重要的经验公式

对于传输线上任何串联连接都有电容参数,为了使其不产生对信号线变缓趋势,需要满足 C < 4 *RT。对于传输线上任何串联连接都有电感参数,为了使其不产生尖峰信号,需要满足 L < 0.2 * Z0 *RT。

AD电路中,滤波为什么采用磁珠滤波,而不是电感

良好的滤波电路对AD器件影响是较大,噪声大,可能会引起误码操作。磁珠滤波是吸收噪声,转化成热,电感滤波时反射噪声,并没有消除噪声。

解释一下电感,磁珠和电容滤波原理

磁珠滤波是吸收噪声磁珠的等效形式为电抗(电感) + 电阻,在低频段,磁珠表现为感性,反射噪声,在高频段表现为阻性,吸收噪声,并转化成热。所以选择磁珠时需要考虑电路上的信号和噪声所处的频带,尽量让工作频率高于磁珠的转化频率,处在阻性范围。 对于磁珠的选择需要考虑的方面:(1)考虑信号工作的频带范围,好确定磁珠的选型,尽量让其大于磁珠的转换频率;(2)直流电阻,选择低Rdc,降低流过磁珠本身的损耗;(3)额定电流,选择磁珠的额定电流尽量接近或者大于工作电流;(4)自谐振频率,应选择自谐振频率较高的磁珠,因为工作频率大于自谐振频率时,会表现为电容特性,会迅速降低阻抗。

电感滤波是反射噪声,首先说一下电感的作用(1)通直流隔交流;(2)滤波;(3)阻碍电流的变化,维持电流的稳定。因为电感本身也有一定的阻抗,所以在大电流流过时需要考虑电感上的压降,还要注意组成的LC高通或者低通滤波器,不要使其谐振频率工作在器件本身的工作频带范围内,否则会引起谐振,纹波变大。选择电感时,其谐振频率要高于工作频率,当低于谐振频率时,电感值保持稳定,高于谐振频率时,不过增加到一定程度后不再增加,频率在增加电感表现为电容性,会随频率增高而迅速减小。

电容滤波是反射噪声,电容的等效模型为电感+电容+电阻的串联,在谐振频率之前,电容表现为电容特性,随着频率增加,阻抗变小,但是随着频率超过工作频率,会使得电容转化为电感特性,随着频率的增加阻抗变大。电容的作用(1)通交流隔直流;(2)滤波,高频噪声的泄放通道;(3)续流池,维持电压的稳定。电容有ESR和ESL特性,ESR表现为其内部有一定的电阻特性。ESL与电容的封装尺寸有关,F = (ESL * C)^(-1/2)。对于ESL特性,所以在选择电容滤波的时候,尽量不要选择同一封装不同容值,或者同一容值不同封装,这对于滤波会有一定的作用,但是不明显,滤波效果较好的是不同容值不同封装类型,可以基本上滤波各个频段的噪声。 

           对于电容的选择一般是 陶瓷电容 高频,钽电容一般是中频,电解电容一般是低频。容值越大的钽电容其ESR值越小。

3W,20H什么意思

3W是相邻走线中心距为标准线宽的3倍。H表示是电源层到底层的厚度,电源层相对于底层内缩20H,以吸收电源平面的辐射。

状态机中的摩尔和米莉有什么区别

摩尔型状态机只和状态有关,米莉型不单单和当前状态有关,还和输入有关。

基尔霍夫电流定律和电压定律

在集总电路中,对于任一结点,所有流出结点的支路电流代数和恒等于零。

在集总电路中,对于任一回路,所有支路电压代数和恒等于零。

如何理解运放的虚短和虚断

虚短是本质,虚断是派生。当然利用这两个运放的性质,算是把运放当作理想运放看待,不过实际中应用两个此性质计算出来的结果也相差无几。

虚短是由于运放的开环放大倍数往往很高,而运放的输出往往是有限的,这样会导致输入的两个引脚间的电位差很小,近似于等电位。称为虚短。

虚断是由于运放的差模输入电阻很高,流入的两个输入端的电流很小,近似于断路,称为虚断。

温度对晶体管的影响

当温度升高时,对于输入特性,即Vbe与Ib之间的特性,会使得输入特性曲线左移。

当温度升高时,对于输出特性,即Vce与Ic之间的特性,会使得输出特性曲线上移。

PDN网络最根本原则

当温要使得各个芯片的电压稳定,应使得PDN阻抗低于目标阻抗,PDN阻抗 ≤ 目标阻抗 = Vdd * ripple % / Itransient  = 2 * Vdd * Vdd  ripple % / P  。

运放如何选择,其中需要注意哪些参数

运放选择时需要注意以下几个参数:

共模抑制比(KCMR),带宽,供电电压,共模输入范围,输入失调电压(offset voltage),输入失调电流(offset current),输入偏置电流(bias current),压摆率,温漂。

共模抑制比:放大差模信号的能力,抑制共模信号的能力,体现抵抗噪声的能力。

供电电压:当进行小信号放大时,不能超过供电电压的供电范围,否则会产生信号的失真。

共模输入范围:此参数绝对了输入信号的范围,一般共模输入范围在手册中会有规定,比如VCC – 0.2V,-VCC + 0.2V等,若是超过此共模输入范围,也会使得信号失真。

输入失调电压:在输入电压为0时,运放本应输出电压也为0V,但是由于运放内部不肯能绝对对称,会有一定的电压输出,为了调节输出为0时的电压大小为失调电压。一般失调电压都在uV级别。

输入失调电流:在输入电压为0时,流入两个输入端电流的差值,这体现了运放的输入级差分管的不对称性,希望此失调电流越小越好。

输入偏置电流:流入运放两输入端的电流的均值  I = (Ibn + Ibp)/ 2。

阻抗与哪些因素有关

阻抗与介质厚度,线间距,线宽,铜厚,介电材料有关。

其中与介质厚度和线间距成正比,主要是因为由瞬时阻抗可知Z = 83 * (根号下 介电常数) /CL,由于电容的值与导线距参考平面的高度成反比,所以,当导线距离参考平面比较近时,C变大,反之变小,所以Z的阻抗与介质厚度成正比,若介质厚度增大,则Z增大,反之亦然。经验法则,厚度每增加1mil,特性阻抗减小2Ω。

线间距主要是从自感和互感方面考虑,首先线间距越小,互感增强,自感减小,会导致回路电感减小,这也是差分信号为什么要挨近的原因。当间距变小时整个回路的电感减小,根据 阻抗和电感与电容之间的关系, Z = 根号下(L/C),所以假设导线距离参考平面距离不变的情况下,Z是减小的。所以阻抗Z与线间距成正比。

介电材料,介电材料本身其实不会影响阻抗,但是介电材料会影响电容特性,电容与介电材料成正比,所以阻抗Z与介电常数成反比。

铜厚与电感参量有关,铜厚与厚,电感的值越小,Z = 根号下(L/C),所以假设导线距离参考平面距离不变的情况下,Z是减小的。所以阻抗Z与铜厚成反比。

线宽与电感参量和电容量有关,线越宽,L减小,由于C的值与线宽成正比(也就是横截面面积增大),Z = 根号下(L/C),所以假设导线距离参考平面距离不变的情况下,Z是减小的。所以阻抗Z与线宽成反比。

            几个重要性质,电感L与线间距,半径成反比,与导线长度成正比。电容与介电常数,线宽成正比,与介质厚度成反比。

            电感L的公式可以参看相关的资料。

            C = 介电常数 * A / H。其中A为横截面积,H为介质厚度。

            R = ρ/A,其中电阻与线宽是成反比,所以大面积铺铜也是基于这个道理,使得回路阻抗尽可能小,减小地弹和压降。

传输线阻抗为什么是50Ω

对于传输线,若是半径选的太大,根据特性阻抗与L,R,C的关系,L会减小,C会增大,会导致特性阻抗变低,导致信号的衰减很大,权衡利弊,选50Ω时信号的衰减比较小。

对于逻辑门电路的扇出数如何确定

首先要确定两个参数,第一个是噪声容限,驱动门的高电平门限必须高于扇出门的高电平,驱动门的低电平门限必须小于扇出门的低电平。再者需要考虑拉电流和灌电流, 由拉电流参数确定 驱动门数为 N = IOH / IIH,由灌电流参数确定 驱动门数为 N = IOL / IIL,两者取最小者为最大扇出数。

https://www.cnblogs.com/raymon-tec/p/6524627.html

串联两个稳压管问输出电压。锁存器的作用。ADC每提高1bit, 抗干扰能力可以提高6db。三极管放大电路三种组态的优缺点。给一个电容的容值和ESL问滤波范围。三极管给出电压,让判断每一极。与或非门的考察。什么是电感饱和。存储电路的设计。复位电路并联二极管的作用(为电容提供泄放电压的通道)。积分运放电路输入输出的计算。

串行通信协议种类。陶瓷电容,钽电容,铝电解电容容值对比。CMOS输入输出逻辑电平。共模抑制比作用。锁相环的组成。TTL和CMOS电平的对比。然后给出一个情景让画出卡罗图化简,并且画出逻辑电路。画出一个单片机的外围结构电路,有开门狗,存储电路,复位电源等等。最后一个三极管放大电路计算。

温度升高,二极管导通电压将(减小)。三极管放大截止电路的判断。存储电路的考察。二极管单向导通电路的考察。眼图的作用,怎么观察。解释建立时间和保持时间

解决串扰问题(3W规则)。电磁干扰EMC。OC门要加上拉电阻原因。振铃的考察。Watchdog的原理。LVDS电平的特点以及优势(大题)。IIC总线的verilog实现并画出时钟的对应波形(告诉从设备地址,寄存器地址,写入数据)那么顺序是:起始位—从设备地址—ACK位—寄存器地址—ACK位—写入数据—ACK位—停止位。

给一个CPU和几片存储器让画出连接图(大题)。

DC/DC噪声产生的原因,MOS管反接肖特基二极管的作用(大题)。

CMOS不用输入管脚该怎么处理(不能悬空)。串联负反馈和并联负反馈的作用。PCB走线特性阻抗的影响因素(线宽,介电常数,铜箔厚度,PCB板材等)。差分信号线阻抗匹配一般是(100欧姆~120欧姆)。4G LTE基础知识的考察。达林顿管连接判断和计算。轨到轨运放的基础知识。对光接入网知识的理解(大题)。OFDM系统中峰均比的解释以及解决办法(大题)。用两个MOS管搭一个开关电路(大题)。整体而言都是基础题目。

https://www.cnblogs.com/lsjjob/p/5125187.html

---------------------------------------------------------------------------------------------------------------------------------

面试官说,技术一面考察的是面试者的技术基础,技术二面考察的是面试者的系统思维、解决问题的逻辑、应急处理等。所以他问了我很多与系统、架构相关的思路和想法,重点是下面这个问题:若遇到了一个技术难题,目前的技术方案对于这个难题没有头绪,那么下一步是继续研究这个技术方案呢,还是换另一个更加有可能突破的技术方案,并在项目截止日期之前完成呢?

  对于这个问题,我的想法是,如果人手和资源足够的话,可以两条技术路线都进行开发尝试,互为备份,提升项目最终完成的成功率;如果目前的技术路线走不通,那么还是要尽快换另一条技术路线,毕竟要在项目截止日期到来之前完成。

  但令我猝不及防的是,面试官说,如果另一条技术路线又遇到了难题怎么办?我有点窘迫,因为本就是为了避开难题而更换赛道,那么现在又遇到难题,而且很可能已经花费了人力物力和时间进去,来不及再换其他技术路线了,所以我只能回答继续钻研、攻破这个技术路线上的问题了。

  不用面试官说,我自己都明白,这肯定是陷入死循环了,即遇到问题就换路线,那么在新的路线上又遇到问题难道又换路线吗?长此以往肯定是不行的。所以这就需要真正的工程师思维了,这也是我在面试结束后,面试官对我的面试点评中指出来的。

  所谓工程师思维,就是遇到问题,解决问题。不要惧怕问题,要用于面对问题,经验积累,敢于试错,要有潜心钻研的劲头,要找到根本原因,把这个问题破解掉,那么以后再遇到就不会怕,就不用换技术路线了,否则就会落入不断更换技术路线的死循环中。

  工程师之所以熟练老道,就是因为他们遇到了很多问题,也解决了很多问题,所以很多系统设计他们一眼就能看出问题出在哪里,这就是经验的力量。

  回到这个问题,当更换了技术路线后能够完成设计目标自然是最好的,而更重要的便是对遇到的问题“回头看”,一定要返回去解决遇到的问题,这样才能积累住经验,才能让这次更换技术路线变得有意义。否则,下一次遇到这个问题,还是更换技术路线,那这样的意义就不大了。

| 对工作岗位的看法,就是,面试官问,想去什么地方工作;我回答,目前向福建、海南、广东几个地方投了简历。后面聊天的时候面试官说,这个问题再问下去的话可以是“想在一线/二线/三线城市工作?”其实是考察我是否有积极进取的心,是否有留在一线城市打拼的激情和信念。虽然我可能不太喜欢大城市的纷争,但是很显然,面试官是会考虑到这方面的因素的,即个人是否有积极努力的倾向,公司自然也希望招募努力敢拼的人才。

---------------------------------------------------------------------------------------------------------------------------------

https://www.cnblogs.com/zhjblogs/p/12422331.html

https://www.cnblogs.com/zhjblogs/p/12464843.html

https://www.cnblogs.com/zhjblogs/p/12465219.html

https://www.cnblogs.com/zhjblogs/p/12467355.html

https://www.cnblogs.com/zhjblogs/p/12488356.html  串口通信基础

https://www.cnblogs.com/zhjblogs/p/12491340.html   I2C总线完全版

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值