电平

3.3V与5V电平相互转换的电路

邮差的信 提交于 2020-02-01 14:57:33
在使用3.3V单片机的时候,经常会遇到3.3V转5V或者5V转3.3V的情况。这里介绍一个简单实用的电路,它可以实现两个电平的双向转换。电路十分简单,仅由3个电阻加一个MOS管构成,电路图如下: 图中,S1、S2为两个信号端,VCC_S1和VCC_S2为这两个信号的高电平电压。另外限制条件为: 1、VCC_S1<=VCC_S2。 2、S1的低电平门限大于0.7V左右(视NMOS内的二极管压降而定)。 3、Vgs<=VCC_S1。 4、Vds<=VCC_S2。 对于3.3V和5V/12V等电路的相互转换,NMOS管选择2N7002即可,也可以选用其它低Vgs的管子,还可以从坏旧硬盘的电路板上拆下一种名为PHN210T的芯片,它是一个8脚封装的贴片元件,内部有两个这样的NMOS管,使用起来非常方便。 来源: https://www.cnblogs.com/fxzq/p/12247860.html

ZYNQ学习之路7.CAN总线学习

点点圈 提交于 2020-01-31 03:40:48
CAN总线是控制器局域网(Controller Area Network)的简称,是国际上应用最广泛的现场总线之一,CAN总线协议已成为汽车控制系统和嵌入式工业局域网的标准总线。CAN总线有很多优秀的特点,比如:传输速度最高达1Mbps,通信距离最远到10Km,无损位仲裁机制,多主结构,理论上挂载到总线上的设备没有数量限制。 因此掌握CAN总线协议是很重要的,本文简要介绍CAN总线协议,以Linux驱动CAN网络为重点介绍。 一. CAN总线的物理特性 1.1 CAN总线的网络结构 CAN总线有CAN_H和CAN_L两根线组成,线上传输差分信号,为了避免信号的反射和不连续,需要在总线的两个端点接120欧姆电阻,不可不接或单接,因为双绞线的特性阻抗为120欧姆,在终端模拟无限远的传输线。CAN网络一般采用"T"型连接,如下图1-1所示,在波特率为1Mbps的情况下,分支长度最好不要超过0.3m。 图1-1: CAN总线T型网络结构 当然也可采用星型拓扑结构,如图1-2所示: 图1-2: CAN总线星型网络结构 如果图中节点采用等长接线连接,可以不使用CAN集线器设备,调节每个节点的终端电阻即可实现组网。终端电阻R=N*60Ω,N是分支节点的个数。注意网络中心不能加任何电阻。 在实际的应用中,我们几乎无法做到等长,在T型网络中也很难做到支线较短的情况

RS232与TTL

谁都会走 提交于 2020-01-28 22:54:42
TTL电平,RS232电平和CMOS电平 不同点:TTL232的0是用0v表示,1是用5V表示。RS232的0是用+3V--+15V表示,1是用-3V---15V表示。接口一般都用三根线:1:地线;2:写入;3:导出;他们不可直连,中间需接电平转接板。 工作中,因项目需要2个系统的串口连接通信,傻傻的以为直接连接就行了,没有注意到电平问题,后来向牛人请教,查阅资料才明白怎么回事。虽然后来问题解决了,但这个解决这个问题才代表了我真正开始接触硬件。 1、TTL电平标准 输出: L <0.8V; H>2.4V。 输入: L <1.2V; H>2.0V TTL器件的 输出:低电平要小于0.8V,高电平要大于2.4V。 输入:低于1.2V就认为是0,高于2.0就认为是1。 于是,TTL电平的输入:低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。 2、CMOS电平标准 输出: L <0.1*Vcc; H>0.9*Vcc。 输入: L <0.3*Vcc; H>0.7*Vcc. 由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。 3、RS232标准 逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V, 注意电平的定义反相了一次。

TTL,CMOS,和RS232

守給你的承諾、 提交于 2020-01-28 05:07:18
TTL,CMOS,和RS232 1、TTL电平标准 输出 L: <0.8V; H:>2.4V 。 输入 L: <1.2V; H:>2.0V TTL器件的输出:低电平要小于0.8V,高电平要大于2.4V。 输入:低于1.2V就认为是0,高于2.0就认为是1。 于是,TTL电平的输入:低电平的噪声容限就只有(0.8-0)/2=0.4V,高电平的噪声容限为(5-2.4)/2=1.3V。 2、CMOS电平标准 输出 L: <0.1 Vcc; H:>0.9 Vcc。 输入 L: <0.3 Vcc; H:>0.7 Vcc. 由于CMOS电源采用12V,则输入低于3.6V为低电平,噪声容限为1.8V,高于3.5V为高电平,噪声容限高为1.8V。比TTL有更高的噪声容限。 3、RS232标准 逻辑1的电平为-3~-15V,逻辑0的电平为+3~+15V,注意电平的定义反相了一次。 TTL与CMOS电平使用起来有什么区别? 1、电平的上限和下限定义不一样,CMOS具有更大的抗噪区域。同是5伏供电的话,TTL一般是1.7V和3.5V,CMOS一般是2.2V,2.9V,不准确,仅供参考。 2、电流驱动能力不一样,ttl一般提供25毫安的驱动能力,而CMOS一般在10毫安左右。 3、需要的电流输入大小也不一样,一般ttl需要2.5毫安左右,CMOS几乎不需要电流输入。 4、很多器件都是兼容TTL和CMOS的

STM32F1连接X9313调节电压

大城市里の小女人 提交于 2020-01-27 05:33:22
1、查看X9313手册 这就是个滑动变阻器的电动版。 每滑动一次就改变一次电压,往电压高或者低的方向滑动,最多只能滑动 1 - 31 次。 每滑动一次,Vw管脚的电压就增加或减少 0.106V。 手册说CS片选管脚为高电平,就啥也干不了。 当CS为低电平,UD为高电平,INC从高电平变为低电平一次,就向高电平方向滑动一次。 当CS为低电平,UD为低电平,INC从高电平变为低电平一次,就向低电平方向滑动一次。 当CS由低电平变为高电平,INC管脚为高电平,x9313保存当前滑动位置(此滑动位置就是下次滑动时候的初始位置)。 当CS由低电平变为高电平,INC管脚为低电平,x9313不保存当前滑动位置,返回到初始滑动位置。 2、查看电路连接 3、驱动代码 bzq . h # ifndef _BZQ_H # define _BZQ_H //#include "添加你自己的各种头文件.h" /***********************变阻器GPIO定义******************************************/ # define BZQ_CS_1M PBout(7) # define BZQ_UP_1M PBout(6) # define BZQ_INC_1M PBout(5) void Bzq_Up_I ( u8 arg ) ; void Bzq_Down_I

GPIO及基本打通原理

寵の児 提交于 2020-01-26 07:44:07
GPIO及基本打通原理 底层驱动 I/O接口 通用IO(GPIO) GPIO输入引脚连接方式 带上拉电阻的连接 带下拉电阻的连接 “悬空”连接 GPIO输出引脚 KL25芯片 KL25芯片(80引脚封装) GPIO模块 GPIO基本编程步骤与基本打通程序 编程实例 底层驱动 指如何通过程序直接干预硬件。 I/O接口 即输入/输出接口,是MCU与外界进行交互的重要桥梁,MCU与外界的数据交换都需要通过I/O接口实现。 实质是一种电子电路,由内部若干专用寄存器和逻辑控制电路构成。 通用IO(GPIO) 是I/O的基本形式。一般情况下,使用正逻辑,规定高电平状态对应数字信号"1",低电平状态对应数字信号“0”。 当引脚作为通用输入时,MCU可以通过端口寄存器获取引脚的状态,反之,当引脚作为输出时,MCU可以通过内部寄存器控制引脚的输出状态。 GPIO输入引脚连接方式 带上拉电阻的连接 通过一个电阻连接到电源(VCC),可以设置引脚初始电平为高电平。 带下拉电阻的连接 通过一个电阻连接到地(GND)上,可以设置引脚初始电平为低电平。 “悬空”连接 一般不使用。 GPIO输出引脚 通过MCU内部程序控制引脚输出为高电平或低电平。 输出引脚O1和O2采样不同方式驱动外部器件,不同驱动电路,电流要求不同,采样不同接法。 图中当O1引脚输出为低电平时,LED点亮。 当O2引脚输出为高电平时

数字基带信号常用编码 上(NRZ、RZ、Manchester、4B5B)

醉酒当歌 提交于 2020-01-25 20:59:53
NRZ、RZ、Manchester、4B5B编码 上 原理上数字信息可以表示成一个数字序列。例如,以二进制数字“0”和“1”表示。但是在实际传输中,为了匹配信道的特性以获得令人满意的传输效果,数字基带信号(baseband)需要选择不同的传输波形来表示“0”和“1”。 在实际的基带传输系统中,并不是所有的基带信号波形都适合在信道中传输。例如,含有直流和低频分量的单极性基带波形就不适宜在低频传输特性差的信道中传输,因为这有可能造成信号的严重畸变。又如,当消息码元序列中包含长串的连续“1”和“0”符号时,非归零波形呈现出连续固定电平,因而无法获取定时信息。 因此,对传输用的基带信号主要有以下两方面的要求:1,对码元的要求原始信息码元必须包含编成适合传输用的码型;2,对所选码型的电波型要求适合基带传输。 比如千兆网口的4D-PAM5编码方式,就是典型的例子,后面再讲。 几种常见的数字基带信号波形如下图所示 单极性NRZ波形是一种最简单的基带信号波形它用正电平和零电平分别对应二进制数字的“1”和“0”。该波形的特点是电脉冲之间无间隔,极性单一,易于TTL和COMS电路产生;缺点是有直流分量,要求传输线路具有直流传输能力,因而不适应有交流偶合的远距离传输。 双极性NRZ用正负电平的脉冲分别对应二进制数字的“1”和“0”。因其正负电平的幅度相等、极性相反,故当“1”和“0

RS485在STM32中的应用

孤街浪徒 提交于 2020-01-25 02:25:42
通用同步异步收发器(Universal Synchronous Asynchronous Receiver and Transmitter)是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。有别于 USART 还有一个UART(Universal Asynchronous Receiver and Transmitter),它是在 USART基础上裁剪掉了同步通信功能,只有异步通信。 ①功能引脚 TX:发送数据输出引脚。 RX:接收数据输入引脚。 SW_RX:数据接收引脚,只用于单线和智能卡模式,属于内部引脚,没有具体外部引脚。 nRTS:请求以发送(Request To Send),n 表示低电平有效。如果使能 RTS 流控制,当USART 接收器准备好接收新数据时就会将 nRTS 变成低电平;当接收寄存器已满时,nRTS将被设置为高电平。该引脚只适用于硬件流控制。 nCTS:清除以发送(Clear To Send),n 表示低电平有效。如果使能 CTS 流控制,发送器在发送下一帧数据之前会检测 nCTS 引脚,如果为低电平,表示可以发送数据,如果为高电平则在发送完当前数据帧之后停止发送。该引脚只适用于硬件流控制。 SCLK:发送器时钟输出引脚。这个引脚仅适用于同步模式。 RS458是半双工通讯(2线制)

stm32 USART rs485 rs232

心已入冬 提交于 2020-01-24 13:46:38
前题:   前段时间,在公司调试了一个项目,很简单,但对于初学的我来说,有点难。经过一周多两周的时间,刻骨铭心,深深的印入我的脑海,特此整理---那就是关于串口的那些事儿。串口那一堆的事儿,总是和rs485,usart,uart,rs232,rs422搞在一起,最后是你中有我,我中有你。如果说,会配置usart,但是不会配合rs485,在现实中基本会被笑话--而自己,就闹过这样的笑话,也被别人笑过。 一、rs485   rs485,维基百科又称呼它为EIA-485。数据在其上流动的能量来源于缆线两端的电压差,就像高处的水留向低处一般。最早是采用双线制,一收一发,半双工模式,并且在收发转换的时候需要控制方向进行设定,这等同于安保科的呼呼机:按下按钮--说话;松开按钮--接听。<ps:如果收发转换不进行方向设定,那么收发不能成功>   rs485规定:高电平一端为逻辑1,低电平一端是逻辑0;两端的电压差最小为0.2V以上时有效,if (差值 <= 12V || 差值 >= -7V) {接收端会认为是有效的}。   rs485没有定义数据协议,适用于广域网和一发多收的通信链路;点对点网络中,线型,总线型,不能是星型,环型网络;行大面积长距离传输(超过4000英尺,1200米);一般都需要配备2个终端电阻,保护信号的正确纯净。   另外,一般说rs485是半双工模式,但这不是绝对的--

奈奎斯特定律和香农定理

做~自己de王妃 提交于 2020-01-20 08:00:30
奈奎斯特定律和香农定理 题目: 计算机网络试题 若信道在无噪声情况下的极限数据传输速率不小于信噪比为 30 dB条件下的极限数据传输速率,则信号状态数至少是 A、 4 B、 8 C、 16 D、 32 D 2 Blog2V >= Blog2 ( 1 + S / N ) ( 前者为呢奎斯特定理,后者为香农定理 ) 由于信噪比为 30d B 所以 10 log10S / N = 30d B S / N = 1000 即V² >= 1001 V >= 31.6 (一) 波特率和比特率 1、波特率指的是信号每秒钟电平变化的次数,单位是Hz:比如一个信号在一秒钟内电平发生了365次变化,那么这个信号的波特率就是365Hz; 2、比特率是信号每秒钟传输的数据的位数,我们知道在计算机中,数据都是用0,1表示的,所以比特率也就是每秒钟传输0和1的个数,单位是bps(bit per second)。 3、那么这两者啥关系呢?我们可以假设一个信号只有两个电平,那么这个时候可以把低电平理解为“0”,高电平理解为“1”,这样每秒钟电平变化的次数也就是传输的0,1个数了,即比特率 = 波特率。但是有些信号可能不止两个电平,比如一个四电平的信号,那么每个电平就可以被理解成“00”,“01”,“10”,“11”,这样每次电平变化就能传输两位的数据了,即比特率 = 2 ×波特率。一般的,bit rate =