电平

数字电路-异同步 复位 线与 oc门

十年热恋 提交于 2020-02-15 13:25:07
1、同步电路和异步电路的区别是什么? 异步电路:主要是组合逻辑电路,用于产生地址译码器、FIFO或RAM的读写控制信号脉冲,但它同时也用在时序电路中,此时它没有统一的时钟,状态变化的时刻是不稳定的,通常输入信号只在电路处于稳定状态时才发生变化。也就是说一个时刻允许一个输入发生变化,以避免输入信号之间造成的竞争冒险。电路的稳定需要有可靠的建立时间和持时间,待下面介绍。 同步电路:是由时序电路(寄存器和各种触发器)和组合逻辑电路构成的电路,其所有操作都是在严格的时钟控制下完成的。这些时序电路共享同一个时钟CLK,而所有的状态变化都是在时钟的上升沿(或下降沿)完成的。比如D触发器,当上升延到来时,寄存器把D端的电平传到Q输出端。在同步电路设计中一般采用D触发器,异步电路设计中一般采用Latch修改。 异步电路: 电路核心逻辑有用组合电路实现 异步时序电路的最大缺点是容易产生毛刺。 不利于器件移植 不利于静态时序分析(STA)、验证设计时序性能。 同步时序电路: 电路核心逻辑是用各种触发器实现 电路主要信号、输出信号等都是在某个时钟沿驱动触发器产生的 同步时序电路可以很好的避免毛刺 利于器件移植 利于静态时序分析(STA)、验证设计时序性能。 复位 电路 有两个工作目的:   1、 仿真的时候使 电路 进入初始状态或者其它预知状态;   2、 对于综合实现的真实电路,通过复位使 电路

基于STM32之UART串口通信协议(一)详解

99封情书 提交于 2020-02-12 02:04:44
UART —— Universal Asynchronous Receiver/Transmitter —— 通用异步收发器。 一、UART简介 UART是异步串口通信协议, 工作原理是将传输数据的每个字符一位接一位地传输,它能将要传输的资料在串行通信与并行通信之间加以转换,能够灵活地与外部设备进行全双工数据交换。 USART是UART的升级版,其支持同步模式,用法与UART相同 二、概念辨析 ------------------------------------UART COM口 串口 USB口 RS - 232 TTL--------------------------------------------- UART,在硬件上表现为串口收发的逻辑电路,可被集成为独立地模块化芯片 COM口,串行通信端口,有时也称为串口,是一种连接器的结构,这里区别于USB的“通用串行总线”和硬盘的“SATA”,串口的接口标准规范和总线标准规范是 RS-232    常见的有两种物理标准,D型9针插头,和4针杜邦头, USB口:通用串行总线,和串口完全是两个概念。虽然也是串行方式通信,但由于USB的通信时序和信号电平都和串口完全不同,因此和串口没有任何关系。USB是高速的通信接口,用于PC连接各种外设,U盘、键鼠、移动硬盘、当然也包括“USB转串口”的模块。(USB转串口模块

嵌入式GPIO接口及操作(一)

邮差的信 提交于 2020-02-10 02:59:20
  GPIO意思就是通用输入输出,一些引脚可以通过他们输出高低电平,或者通过它们读入引脚的状态。 对GPIO的操作是对所有硬件的操作最基本的技能。 一、通过寄存器来操作GPIO引脚,一个引脚可以用于输入、输出或者其他的特殊功能,那么一定有寄存器来配置这些功能, 对于输入,就是读取引脚的状态,一定可以从寄存器在中读取到引脚的状态;对于输出,也有相应的寄存器,向寄存器中 写入数据使引脚输出高低电平;其他特殊功能,有另外的寄存器来控制它。 对于S3C2440来说,同样的道理,也会有上面所说的寄存器,GPxCON用于配置引脚的功能的(输入、输出或其他功能), GPxDAT用于读/写引脚数据;另外GPxUP用于是否使用内部上拉电阻。 1、GPxCON寄存器-配置寄存器 对于S3C2440,除了GPACON特殊外(寄存器每一位对应一个引脚),其它都是寄存器的没2位控制一根引脚:00表示输入, 01表示输出、10表示特殊、11保留不用。 2、GPxDAT寄存器 用于读/写引脚:当引脚被设为输入时,从GPxDAT寄存器读取引脚的状态;当引脚被设为输出时,将数据写入GPxDAT寄存器 相应的引脚会输出相应的该低电平。 3、GPxUP寄存器 某位为1时,相应引脚无内部上拉电阻;某位为0时,相应引脚使用上拉电阻。 上拉电阻、下拉电阻的作用:GPIO为第三态时(相当于无外接芯片),引脚的电平状态有上拉电阻

UART和RS232/RS485的关系是什么?

ぃ、小莉子 提交于 2020-02-08 11:54:06
串口通讯是电子工程师和嵌入式开发工程师面对的最基本问题,RS232则是其中最简单最常用的通讯方式。但是初学者往往搞不清有关的名词如UART和RS232或RS485之间是什么关系,因为它们经常被放到语句中同等的位置使用。在百度搜索 二者的区别 ,可以看到排在最前面的答案充斥着混淆的概念。就此,谈谈我对这几个概念的理解,希望能帮初学者厘清它们之间的关系。 ~ ~ 通讯问题,和交通是一样的。串口通信,我们这里可以用公交来类比。 公交运行可以简单分成两个部分: 1、车站 2、公路 其中车站决定了车上装什么(人),怎么发送(班次)等。 当汽车跑在路上,就要遵守公路交通的规则,过桥有过桥的规则,高速有高速的规则,和车站没有关系了。 ~ 回到串口通讯,其实,UART就相当于车站,而RS232/RS485则对应于公路的规则。 UART,是通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),既然是“器”,显然,它就是个设备而已,要完成一个特定的功能的硬件,它本身并不是协议。那么它要完成什么功能呢?它的最基本功能,是串行数据和并行数据之间的转换。我们知道,计算机中的数据以Byte为基本单位,对一个Byte的存取是并行的,即,同时取得/写入8个bit。而串行通信,需要把这个Byte“打碎”,按照时间顺序来收发以实现串行。例如: 内存中的数据是:

stm32学习笔记

时光怂恿深爱的人放手 提交于 2020-02-08 11:53:06
文章目录 一、GPIO的控制 要求:软件仿真,根据高8位pin输入电平,低8位输出相应的电平。写出main.c代码。 编程思路: 方式1:直接读、写输入\输出寄存器。 代码: 方式2:通过位设置\清除寄存器 和 位清除寄存器控制。 BSRR位设置\清除寄存器 BRR位清除寄存器 代码: 方式3 位绑定 位绑定的定义: 个人理解 代码: 公式代码: 二、通信。 通信基本方式: 方式一:并行通信(多车道,多窗口)。 方式二:串行通信(单车道,单窗口)。 串行通信种类: 种类一:单工。 种类二:半双工。(对讲机) 种类三:全双工。 串行通信的标准: 标准1:UART 异步通信 异步通信协议: 异步通信应用场合: stm32f10x USART框图 stm32f10x波特率的计算 仿真代码 三、stm32库函数 一、GPIO的控制 要求:软件仿真,根据高8位pin输入电平,低8位输出相应的电平。写出main.c代码。 编程思路: 1、配置模式,P0.0~P0.7推挽输出,P0.8-P0.15浮空输入。 2、输入状态反映到对应引脚输出。 方式1:直接读、写输入\输出寄存器。 代码: #include "stm32f10x.h" int main(void) { //1、配置模式,P0.0~P0.7输出,P0.8-P0.15输入。 GPIOA->CRL = 0x33333333;/

关于PWM模式的理解

六眼飞鱼酱① 提交于 2020-02-04 13:23:52
前言: 之前做无人机的时候和pwm是经常打交道,不过最近这一年多由于“转行”已经很久不接触了,但是还是会在论坛默默潜水,发现好的资料也还是会仔细阅读,今天就分享一篇关于pwm的文章。 整理:李工(Allen) 素材来源:http://www.openedv.com 首先,本人虽然初学STM32但极力反对一种误人子弟的观点:“对于STM32这样级别的MCU,有库函数就不用去看寄存器怎么操作的了!” 好了,言归正传,最近总看到很多朋友对于PWM这个实验有很多的疑惑,看到原子也在极力的回复也挺累的(体谅一下幸苦的原子大神,( __ ) ),所以我打算写这么一篇文字来阐述一下我个人对STM32的PWM的理解。 首先来说,你要使用PWM模式你得先选择用那个定时器来输出PWM吧!除了TIM6、TIM7这两个普通的定时器无法输出PWM外,其余的定时器都可以输出PWM,每个通用定时器可以输出4路PWM,高级定时器TIM1、TIM8每个可输出7路PWM,这里为了方便起见,我们选择与实验相同的TIM3的通道2来说明。选好定时器及通道后,下一步就是要使能定时器的时钟,根据需要看看是否需要重映射IO,然后就是配置输出PWM的IO及定时器,到这里原子的视频及例程都有详细的介绍,这里只需要提一点有些网友疑惑的TIM_TimeBaseStructure.TIM_ClockDivision = 0

张飞硬件开发视频第五部电路详细讲解,纯硬件也可以做PWM波

*爱你&永不变心* 提交于 2020-02-04 07:37:26
学习了张飞老师的硬件开发视频,把这一部的电路拿出来写一下。 项目的目的我就不写了,主要写一下硬件电路。分析一下这一个电路是怎么样工作的。 首先是电源部分,左边是用了一个三极管和一个稳压管搭建的稳压电源电路,15V的电源通过电阻R1到三极管的B极,稳压管的电压在5V6,然后经过三极管的PM结降压为5V输出。右边是一个跟随放大器。理想的电压跟随器应具有输入阻抗趋于无穷大、输出阻抗为0和正向电压传输系数Av=1三个基本特征,跟随器是一种电子线路,其输出信号基本等同于输入信号,但提高了带负载能力,广泛存在于各类电子线路中。电阻R3和R4用来调节输入跟随器的电压值,输出相同的电压值,跟随器输出一个5V6的电压,导通三极管Q2,通过PM结得到一个比较稳定的5V电压。J1是跳线帽的排针,实际电路的调试就通过一个跳线帽连接起来,就可以用一个电阻器调整输入电压。 接下来就是主体电路部分了。 从左边开始看,5PIN的排针是传感器的接触点,不用理会。 传感器的2号脚输入一个小电压的信号,U1B是一个同相放大器,把小电压放大。放大倍数为(1+R22/R15),TR3还是作为实际调节电阻,可以调整放大倍数。 放大后的电压经过电阻进入两个比较器的负相输入端。R16,17,18三个电阻通过分压作为比较器的比较值。D6稳压管和电容C7作为滤波作用,提供了一个比较稳定的电压,让电压值波动小,稳定

STM32入门之电路基础

◇◆丶佛笑我妖孽 提交于 2020-02-04 01:10:19
描述了一些简单的电路基础知识 模拟电路转数字电路进行采样曲线 电路的基本元素 电路图中的电源线表达符号 数字电路电平表达 电平 推挽输出(带负载输出高电平) 推挽输出(吸收电流低电平) 上下拉电阻 拉的是某一个接口,0或者1的电平状态 平时高电平,复位时低电平,直接导通接地为0。 下拉电阻保持低电平,唤醒后触发高电平为1,忽略低电平,因为电路都是优先导通电阻最小的通路。 来源: CSDN 作者: weixin_40227845 链接: https://blog.csdn.net/weixin_40227845/article/details/104161400

STM32通信:IIC

被刻印的时光 ゝ 提交于 2020-02-03 00:23:57
因为教程上说STM32的硬件IIC复杂而且不太稳定,所以这里使用的是直接控制GPIO端口模拟IIC时序的方式进行通信 因为涉及到初始化、发送、接收等多个功能,所以就分成若干个函数来写了 这里涉及的是主设备上IIC的相关代码,因为SCL线的电平由主设备控制,因此主设备的代码会简单一点 从设备涉及到对SCL线上电平的识别,进而涉及到循环判断或者中断,以后有时间再去看看怎么写(挖坑) 一、IIC通信 1.简介 IIC总线是一种串行数据总线,只有二根信号线,一根是双向的数据线SDA,另一根是时钟线SCL,两条线可以挂多个设备。 IIC设备(绝大多数)里有个固化的地址,只有在两条线上传输的值等于IIC设备的固化地址时,其才会作出响应。通常我们为了方便把IIC设备分为主设备和从设备,基本上谁控制时钟线(即控制SCL的电平高低变换)谁就是主设备。 2.时序图 总结下来就是以下几点: 1.正常传输数据时,当SCL线处于低电平期时,SDA线上的电平允许变动 2.正常传输数据时,当SCL线处于高电平期时,SDA线上的电平不变 3.如果在SCL线的高电平期,SDA线由高电平向低电平跳变,则表示开始传输数据(START信号) 4.如果在SCL线的高电平期,SDA线由低电平向高电平跳变,则表示停止传输数据(STOP信号) 由于SCL线受主设备控制,因此主设备上的代码非常好写 发送数据时

STM32F1学习笔记

假装没事ソ 提交于 2020-02-01 19:25:27
(二)STM32学习之GPIO 1、GPIO简介 GPIO 是通用输入输出端口的简称,简单来说就是STM32 可控制的引脚,STM32 芯片的GPIO 引脚与外部设备连接起来,从而实现与外部通讯、控制以及数据采集的功能。STM32 芯片的GPIO 被分成很多组,每组有16 个引脚,所有的GPIO 引脚都有基本的输入输出功能。 2、GPIO框图剖析 大致可分为七个模块,由箭头走向可知晓GPIO 引脚线路经过两个保护二极管后, 向上流向“输入模式”结构,向下流向“输出模式”结构 。 (1)保护电路 VDD为3.3V,VSS为公共接地端,当外部输入电压大于3.3V时,上面的二极管导通,保护内部芯片。如果输入为负电压,则下面的二极管导通,电流往外面流,保护内部芯片。 当输入电压过大也将会烧毁芯片,切记不可用GPIO直接连接电动机,电动机具有较大得反向电动势,且积分时间短。 (2)普通输出控制 推挽输出: 所谓的推挽输出模式,是根据这两个MOS 管的工作方式来命名的。在该结构中输入高电平时,经过反向后,上方的P-MOS 导通,下方的N-MOS 关闭, 对外输出高电平,电流往外流,形似往外推 ;而在该结构中输入低电平时,经过反向后,N-MOS管导通,P-MOS关闭, 对外输出低电平,电流往里面流,则为挽留 。当引脚高低电平切换时,两个管子轮流导通,P管负责灌电流,N管负责拉电流,