开漏输出以及推挽输出详解
开漏输出以及推挽输出详解
开漏输出:开漏输出就是不输出电压,控制输出低电平时引脚接地,控制输出高电平时引脚既不输出高电平,也不输出低电平,为高阻态。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电源电压。这种方式适合在连接的外设电压比单片机电压低的时候。
推挽输出:是一种使用一对选择性地从相连负载灌电流或拉电流的器件的电路。它常常使用一对参数相同的功率三极管或MOSFET管,以推挽方式存在于电路中。
1 输出1.1 推挽输出推挽输出是指 输出端口通过一个晶体管的开关来控制电平状态,推挽输出可以实现高电平和低电平两种状态。输出高电平时,NPN型晶体管导通,PNP型晶体管截止,呈现向外推的形式。(下图时MOS管,工作方式不一样,此处只做图例)
输出低电平时,PNP型晶体管导通,NPN型晶体管截止,呈现向回挽的形式。
优点:
输出高低电平、电源电压基本没有压差。
高低电平驱动能力较强,一般数字芯片推挽,输出IO口驱动电流最大可到20mA。
电平切换速度快。
缺点:
不支持线与(指两个输出不可以接到一起)。
如果当两个推挽输出结构相连在一起,一个输出高电平,即上 ...
无源晶振crystal和有源晶振oscillator的区别
无源晶振crystal和有源晶振oscillator的区别
晶振从材质上可以分为石英晶振和陶瓷晶振两大类,而从属性上可以分为无源晶振(crystal,晶体)和有源晶振(oscillator,振荡器)。石英晶振和陶瓷晶振从外观上非常利于区分,毕竟也是两种完全不一样的材质。而无源晶振和有源晶振有时候让人傻傻分不清。
1 晶振的用途
作为时钟参考源
在数字电路中,晶振的基本作用是提供一个时序控制的标准时刻。数字电路的工作是根据电路设计,在某个时刻专门完成特定的任务,如果没有一个时序控制的标准时刻,整个数字电路就会逻辑错乱,任何指令无法进行。
晶振则为系统提供基本的时钟信号。通常一个系统共用一个晶振,便于各部分保持同步。有些通讯系统的基频和射频使用不同的晶振,而通过电子调整频率的方法可以保持同步。
提供基准频率
晶振具有非常好的频率稳定性和抗外界干扰的能力,通过基准频率来控制电路中的频率准确性。
同时,它还是时钟电路中最重要的部件,比如向显卡、网卡、WIFI模组、蓝牙模组、GPS等配件的各部分提供基准频率,就像一把标尺。因为工作频率不稳定会造成相关设备工作频率不稳定,比如发生显卡不显 ...
MATLAB在绘图区添加箭头标注
MATLAB在绘图区添加箭头标注1 前言采用MATLAB中的annotation函数对已有绘图添加注释,并且提供了一个非常方便调整位置参数的小技巧。
2 准备数据随机生成一些数据,rng(100)为设置随机数种子为100,保证每次运行代码产生的随机数是一样的。
123456%% 数据rng(100) % 设置随机数种子% 随机生成数据x = 0:0.01:2;y = 2*x.^2 + x + 1;yy = y*(1+rand());
绘图
1234f = figure('Name','标注');plot(x,y,'-k','LineWidth',1.3)hold onplot(x,yy,'--k','LineWidth',1.3)
3 添加注释添加注释采用annotation函数:
annotation(lineType, x, y)创建一个在当前图窗中的两个点之间延伸的线条或箭头注释。将lineType指定为’line’ ...
CCS中静态库lib的生成与调用
CCS中静态库lib的生成与调用在调试DSP设备的时候,发现好多工程会把比较核心的代码生成静态库lib,代码运行的时候直接调用lib里面的相关函数就行。但是从外部是看不到lib库里面的内容的,这样通过静态库的方式实现对代码的加密。
首先调试好需要生成lib库文件的工程,这里使用一个流水灯来演示。
main函数中调用流水灯函数,实现LED灯的各种显示效果。
leds.c文件中主要对LED灯使用到的端口进行初始化。
led_control.c文件中通过三个函数实现三种流水灯的效果。
在这个工程中需要将流水灯的控制方式打包,也就是要将led_control.c这个文件打包为lib库文件。
首先调试当前工程,确保函数功能都能正确执行。
下载运行,观察流水灯的现象,确保函数功能都正常。
接下来开始将led_control.c文件生成为库文件。
首先要新建一个工程,新建工程时注意单片机型号的选择。
在Advanced settings选项中将output type类型选为Static Library。然后点击Finish按钮,创建新的工程。
新工程创建完成后,删除默认的main.c文件 ...
谐波及其抑制或仿真
谐波及其抑制或仿真1 基波、谐波、谐波次数在复杂的周期性振荡中,包含基波和谐波。谐波实际上是一种干扰。
和该振荡最长周期相等的正弦波分量称为基波,相应于这个周期的频率称为基本频率。
频率等于基本频率的整倍数的正弦波分量称为谐波。谐波频率与基波频率的比值为谐波次数。
法国数学家傅里叶分析原理证明,任何重复的波形都可以分解为含有基波频率和一系列为基波倍数的谐波的正弦波分量。谐波是正弦波,每个谐波都具有不同的频率、幅值与相角。谐波可以分为偶次与奇次性,第3、5、7次谐波为奇次谐波,而2、4、6次谐波为偶次谐波,如基波为50Hz时,2次谐波为100Hz,3次谐波为150Hz。
基波及二三四次谐波:
基波与二三四次谐波叠加后的波形:
非线性设备含义:
简言之,设备中产生的电流波形是断续的或突变的,它不是一个可采用线性法则进行运算的连续函数,一般要采用傅里叶级数来描述它。
下图为三相整流回路,整流后的电流波形为阶梯方波,右图是按傅里叶级数展开后的频谱,可以看出五次和七次谐波比例很高。
下图为单相整流回路,整流后的电流波形为断续波形,右图是按傅里叶级数展开后的频谱,其中三次谐波比例很高 ...
详解PR控制器
详解PR控制器1 PR控制以及使用PR控制用于单相离/并网逆变器1.0 前言在一个闭环控制系统中,可分为输入参考值、闭环控制器、执行机构、输出参数,反馈系数,这几个部分。
设计一款控制器,可以让系统的输出参数跟踪输入参考值,达到了控制的目的。在直流控制系统中,常用的控制器就是比例微分积分(Proportion Integration Defferentiation,PID)控制器了。然而,在交流系统中,PID控制器由于对高频信号的跟踪性能较差,并不能满足设计要求。而PR控制器,对特定频率信号的跟踪效果是良好的。
1.1 基本知识PR控制器原理:
系统在双闭环控制过程中通常使用传统的PI控制器,但是电网在基波处的增益是有限值,PI控制器能够实现对直流信号的无静差追踪,却并不能在正弦信号的追踪过程中实现无静差,相应产生的稳态误差会造成追踪电流在有效值幅值和相位上的误差。电流有效值幅值上的误差,可以通过增大控制器的比例系数,相应的增大基波频率的增益来实现,但是并不能完全的消除误差,仍是有差调节。在幅值误差得到有效改善的情况下,系统的误差主要表现为相位误差,需要通过 ...
Z变换相关知识解析
Z变换相关知识解析1 simulink中的1/z模块解析1.1 探究在1/z模块前后,分别加上display模块,然后执行单步运行。
记录执行结果
明显看出,1/z模块后的dispaly保存的是1/z模块前的数据。
1.2 结论1/z模块模块相当于一个暂存器,存储当前数据,输出上一个数据。
假设 simulink 的运行步长是 10ms,则
z^(-1)是单位延时,即输出 10 ms 更新一次;z^(-2),则延时 210 ms = 20 ms 输出更新一次z^(-n) ,则延时 2n ms 输出更新一次
C语言编译逆向相关知识
C语言编译逆向相关知识1 如何将ccs2000生成的.out文件反汇编可以使用Ti的工具链TMS320C3x/C4x/C5x/C6x Optimizing C/C++ compiler(OCC),其中包含了一个反汇编工具 dis2000.exe,可以将.out文件反汇编成汇编代码。
具体操作步骤如下:
打开命令行终端,进入到安装了OCC工具链的目录。
执行以下命令,将.out文件反汇编成.asm文件。
1dis2000.exe filename.out filename.asm
其中,filename是.out文件的文件名(不包含扩展名)。
打开生成的.asm文件,即可查看反汇编后的汇编代码。
2 linux下gcc编译生成.out,.o,.a,.so文件2.1 文件类型介绍.out是可执行文件,相当于win上的exe。
.o是编译中间目标文件,相当于win上的.obj。
.a是静态库,多个.o链接得到,用于静态链接。
.so是共享库,用于动态链接,相当于win上.dll。
2.2 out可执行文件生成123456// main.cpp ...
MAX485芯片介绍
MAX485芯片介绍(MAX485ESA+T,半双工RS422和RS485串口收发传输芯片,2.5Mbps传输速率。5V逻辑电平)1 芯片介绍(丝印MAX485)max485接口芯片是Maxim公司的一种RS-485芯片。MAX485、MAX487、MAX491以及MAX1487是用于RS-485与RS-422通信的低功耗收发器,每个器件中都具有一个驱动器和一个接收器。
MAX483、MAX487、MAX488以及MAX489具有限摆率驱动器,可以减小EMI,并降低由不恰当的终端匹配电缆引起的反射,实现最高250kbps的无差错数据传输。MAX481、MAX485、MAX490、MAX491、MAX1487的驱动器摆率不受限制,可以实现最高2.5Mbps的传输速率。
这些收发器在驱动器禁用的空载或满载状态下,吸取的电源电流在120mA至500mA之间。另外,MAX481、MAX483与MAX487具有低电流关断模式,仅消耗0.1mA。所有器件都工作在5V单电源下。
采用单一电源+5V工作,额定电流为300μA,采用半双工通讯方式。它完成将TTL电平转换为RS-485电平的功能。M ...
Matlab的Simulink模型自动生成C语言代码
Matlab的Simulink模型自动生成C语言代码1 实验一1.1 搭建框图采用 Matlab 2018a 搭建仿真框图如下,命名为 ADD_Test.c。
图1 Simulink模型
1.2 初始设置选择菜单栏 Simulink -> ModelConfiguration Parameters,按照下方所示设置参数,设置为固定步长,采用四阶龙格库塔方法解算微分方程,具体步长还可以在后期进行二次设置。
图2 设置求解器参数
系统的目标文件选择为 ert.tlc,即采用嵌入形式的 C/C++代码生成,其结构更为简洁。生成的语言可选择 C 或者 C++。
...