电平信号

03_使用寄存器点亮第一盏灯

佐手、 提交于 2019-12-06 12:23:00
一:stm32 GPIO介绍 1. GPIO概念   GPIO(general purpose intput output) 是通用输入输出端口的简称, 可以通过软件来控制其输入和输出。 STM32 芯片的 GPIO 引脚与外部设备连接起来,从而实现与外部通讯、 控制以及数据采集的功能。 不过 GPIO 最简单的应用还属点亮 LED 灯了, 只需通过软件控制 GPIO 输出高低电平即可。 当然 GPIO 还可以作为输入控制, 比如在引脚上接入一个按键, 通过电平的高低判断按键是否按下。   那么是不是所有引脚都是 GPIO 呢? 当然不是, STM32 引脚可以分为这么几大类:   (1) 电源引脚: 引脚图中的 VDD、 VSS、 VREF+、 VREF-、 VSSA、 VDDA 等都属于电源引脚。   (2) 晶振引脚: 引脚图中的 PC14、 PC15 和 OSC_IN、 OSC_OUT 都属于晶振引脚, 不过它们还可以作为普通引脚使用。   (3) 复位引脚: 引脚图中的 NRST 属于复位引脚, 不做其他功能使用。   (4) 下载引脚: 引脚图中的 PA13、 PA14、 PA15、 PB3 和 PB4 属于 JTAG 或SW 下载引脚。 不过它们还可以作为普通引脚或者特殊功能使用, 具体的功能可以查看芯片数据手册, 里面都会有附加功能说明。 当然, STM32

开关电源的传导与辐射

点点圈 提交于 2019-12-06 06:00:54
1 概述 目前,电子产品电磁兼容问题越来越受到人们的重视,尤其是世界上发达国家,已经形成了一套完整的电磁兼容体系,同时我国也正在建立电磁兼容体系,因此,实现产品的电磁兼容是进入国际市场的通行证。对于开关电源来说,由于开关管、整流管工作在大电流、高电压的条件下,对外界会产生很强的电磁干扰,因此开关电源的传导发射和电磁辐射发射相对其它产品来说更加难以实现电磁兼容,但如果我们对开关电源产生电磁干扰的原理了解清楚后,就不难找到合适的对策,将传导发射电平和辐射发射电平降到合适的水平,实现电磁兼容性设计。 2 开关电源传导骚扰 2.1 传导发射的产生 开关电源的传导骚扰是通过电源的输入电源线向外传播的电磁干扰。在开关电源输入电源线中向外传播的骚扰,既有差模骚扰、又有共模骚扰,共模骚扰比差模骚扰产生更强的辐射骚扰。传导骚扰的测试频率范围为150KHz~30MHz,限值要求如下表1 所示: 在0.15MHz~1MHz 的频率范围内,骚扰主要以共模的形式存在,在1MHz~10MHz 的频率范围内,骚扰的形式是差模和共模共存,在10MHz 以上,骚扰的形式主要以共膜为主。传导发射的差模骚扰的产生主要是由于开关管工作在开关状态,当开关管开通时,流过电源线的电流线形上升,开关管关断时电流突变为0,因此流过电源线的电流为高频的三角脉动电流,含有丰富的高频谐波分量,随着频率的升高,该谐波分量的幅度越来越小

sp3485在rk3288上的应用

落爺英雄遲暮 提交于 2019-12-05 20:31:02
2019-11-27 关键字:485串口通信 SP3485 是一款半双工的遵循RS485与RS422通信协议的传输芯片。 SP3485的芯片封装如下图所示: 其中 1 脚、4 脚分别接 rk3288 的 RX 脚与 TX 脚。 第 2 脚、第 3 脚为收发控制位,通常这两个脚都是接同一个电平信号的,因为通过芯片封装图可知这两个脚是互为取反设计的。当给这两个脚高电平时芯片处于“发送”模式,当给它们低电平时则处于“接收”模式。这款芯片的收发控制既可以通过软件来控制电平高低以切换收发模式,也可以直接通过硬件电路来自动切换收发模式。二者的区别在于对收发模式切换延时的要求不同。使用软件控制模式切换存在一定的延时,极限大约在 100us 左右,这个延时时长其实已经能应对大多数场景下的通信了,但还是有极少数高速通信场景接受不了这个延时时长。这种情况下就得考虑硬件电路自动切换收发模式了。如何通过硬件自动切换收发模式呢?网上有一篇文章: http://www.elecfans.com/dianlutu/app/20180117617635_2.html 本篇文章记述的是通过软件来切换收发模式的方式。 上图第 6 脚、第 7 脚是差分信号输出引脚。因为 485 通信必须要有两条差分信号线才能进行通信,而这款芯片又仅有一组输出引脚,因此这在硬件上就限制了这款芯片只能是半双工通信模式的芯片。

触摸屏学习:利用状态机编程

爷,独闯天下 提交于 2019-12-05 06:39:32
  一。更高效的使用触摸屏   PENIRQ引脚在没有触摸时都是高电平,只要有触摸就是低电平,直到没有触摸。用中断检测PENIRQ引脚,当产生下降沿中断时就去读取坐标。但是触摸屏也会象按键一样发生抖动,会产生很多上升沿或下降沿,会引起误判。这里我们使用状态机的方式去处理,使用状态机还有一个好处就是可以很方便的去判断长按,短按,双击等状态。   当触摸屏有触点按下时,PENIRQ 引脚会输出低电平,直到没有触摸的时候,它才会输出高电平;而且 STM32 的中断只支持边沿触发(上升沿或下降沿),不支持电平触发,在触摸屏上存在类似机械按键的信号抖动,所以如果使用中断的方式来检测触摸状态并不适合,难以辨别触摸按下及释放的情况。   状态机编程是一种非常高效的编程方式,它非常适合应用在涉及状态转换的过程控制中,上述代码采用状态机的编程方式对触摸状态进行检测,主要涉及触摸的按下、消抖及释放这三种状态转换。在应用时,本函数需要在循环体里调用,或定时调用(如每隔 10ms调用一次)。      通过读取PENIRQ引脚,内部有三种状态,当触摸还没有被按下的时候的状态为:RELEASE状态,是高电平,被按下后PENIRQ引脚变成低电平,进入消抖状态,还要等待一段时间,也就是消抖的过程,当第一次变成低电平的时候记录一个标志i++,记录它变成低电平一次了,然后等待一下,过了一段时间再去检测

SPI通信协议(SPI总线)学习

只愿长相守 提交于 2019-12-04 08:06:43
SPI是串行外设接口(Serial Peripheral Interface)的缩写。是 Motorola 公司推出的一 种同步串行接口技术,是一种高速的,全双工,同步的通信总线。 支持全双工通信 通信简单 数据传输速率块 没有指定的流控制,没有应答机制确认是否接收到数据, 所以跟IIC总线协议比较在数据可靠性上有一定的缺陷 。 1):高速、同步、全双工、非差分、总线式 2):主从机通信模式 1):SPI的通信原理很简单,它以主从方式工作,这种模式通常有一个主设备和一个或多 个从设备,需要至少4根线,事实上3根也可以(单向传输时)。也是所有基于SPI的设备共 有的,它们是SDI(数据输入)、SDO(数据输出)、SCLK(时钟)、CS(片选)。 (1)SDO/MOSI – 主设备数据输出,从设备数据输入; (2)SDI/MISO – 主设备数据输入,从设备数据输出; (3)SCLK – 时钟信号,由主设备产生; (4)CS/SS – 从设备使能信号,由主设备控制。当有多个从设备的时候,因为每个从设 备上都有一个片选引脚接入到主设备机中,当我们的主设备和某个从设备通信时将需 要将从设备对应的片选引脚电平拉低或者是拉高。 2):需要说明的是,我们SPI通信有4种不同的模式,不同的从设备可能在出厂是就是配 置为某种模式,这是不能改变的;但我们的通信双方必须是工作在同一模式下,所以我们

IIC总线规范

自作多情 提交于 2019-12-04 07:13:31
在消费者电子 电讯和工业电子中 看上去不相关的设计里经常有很多相似的地方 例如几乎每个系 统都包括 • 一些智能控制 通常是一个单片的微控制器 • 通用电路 例如 LCD 驱动器 远程 I/O 口 RAM EEPROM 或数据转换器 • 面向应用的电路 譬如收音机和视频系统的数字调谐和信号处理电路 或者是音频拨号电话的 DTMF 发生器 下面是 I2C 总线的一些特征: • 只要求两条总线线路 一条串行数据线 SDA 一条串行时钟线 SCL • 每个连接到总线的器件都可以通过唯一的地址和一直存在的简单的主机 从机关系软件设定地 址 主机可以作为主机发送器或主机接收器 • 它是一个真正的多主机总线 如果两个或更多主机同时初始化数据传输可以通过冲突检测和 仲裁 防止数据被破坏 • 串行的 8 位双向数据传输位速率在标准模式下可达 100kbit/s 快速模式下可达 400kbit/s 高速 模式下可达 3.4Mbit/s • 片上的滤波器可以滤去总线数据线上的毛刺波 保证数据完整 • 连接到相同总线的 IC 数量只受到总线的最大电容 400pF 限制 Q I2C 总线支持任何 IC 生产过程 NMOS CMOS 双极性 两线――串行数据 SDA 和串行时钟 SCL 线在连接到总线的器件间传递信息 每个器件都有一个唯一的地址识别 无论是微控制器 LCD 驱动器 存储器或键盘接口

STM32输入模式

僤鯓⒐⒋嵵緔 提交于 2019-12-03 20:20:50
一、推挽输出: 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。    当一个三级管开通的时候另一个关断,根据B端来确定, 这是一个比较器 当a>b时B 输出为0;当a<b时B输出为1 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽   二、开漏输出: 当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1.开漏输出:一般只能输出低电平,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).开漏形式的电路有以下几个特点: 利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很小的栅极驱动电流。 一般来说,开漏是用来连接不同电平的器件

20191105

天涯浪子 提交于 2019-12-03 16:36:10
虽然之前的寄存器啥的指向哪里哪里看明白了,但是它里面的数字代表的意思还是模糊,所以找了一下以供参考。 一、推挽输出: 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。    当一个三级管开通的时候另一个关断,根据B端来确定, 这是一个比较器 当a>b时B 输出为0;当a<b时B输出为1 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽   二、开漏输出: 当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1.开漏输出:一般只能输出低电平,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内).开漏形式的电路有以下几个特点: 利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up

别人的面试题

旧时模样 提交于 2019-12-03 15:30:35
1、单片机的最小系统?内部主要结构? 电源、晶振、复位 2、单片机的IO口有什么作用?驱动能力?上下拉电阻的作用? 用来定义相应I/O口位的输入输出状态和方式 1)提高驱动能力: 例如,用单片机输出高电平,但由于后续电路的影响,输出的高电平不高,就是达不到VCC,影响电路工作。所以要接上拉电阻。下拉电阻情况相反,让单片机引脚输出低电平,结果由于后续电路影响输出的低电平达不到GND,所以接个下拉电阻。 2)在单片机引脚电平不定的时候,让后面有一个稳定的电平: 例如上面接下拉电阻的情况下,在单片机刚上电的时候,电平是不定的,还有就是如果你连接的单片机在上电以后,单片机引脚是输入引脚而不是输出引脚,那这时候的单片机电平也是不定的,R18的作用就是如果前面的单片机引脚电平不定的话,强制让电平保持在低电平。 3、下列定义变量方法错误的是 int ab_2 int _2a3 int 2_ab int ab_2 变量名不能以数字开头 4、写出下列代码输出内容 #include <.h> int main(int argc, char const *argv[]) { int a,b,c,d; a = 10; b = a ++; c = ++ a; d = 10 * a ++; printf("b:%d,c:%d,d:%d\n",b,c,d); return 0; } b:10,c:12,d

2019年11月4日

不打扰是莪最后的温柔 提交于 2019-12-03 11:30:27
  一、推挽输出: 可以输出高,低电平 ,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。高低电平由IC的电源决定。 推挽电路是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小、效率高。输出既可以向负载灌电流,也可以从负载抽取电流。推拉式输出级既提高电路的负载能力,又提高开关速度。    当一个三级管开通的时候另一个关断,根据B端来确定, 这是一个比较器 当a>b时B 输出为0;当a<b时B输出为1 当B为1时上边三极管导通,下边关闭; 当B为0时下边三极管导通,上边关闭。 此为推挽    二、开漏输出: 当B为1时,这个管子导通,OUT接地,输出为0;当B为0时管子不导通,OUT接VCC输出为1. 开漏输出: 一般只能输出低电平 ,输出端相当于三极管的集电极. 要得到高电平状态需要上拉电阻才行. 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内). 开漏形式的电路有以下几个 特点 : 利用外部电路的驱动能力,减少IC(集成电路,也称芯片)内部的驱动。当IC内部MOSFET导通时,驱动电流是从外部的VCC流经R pull-up ,MOSFET到GND。IC内部仅需很小的栅极驱动电流。 一般来说