电平信号

STM32的GPIO的8种工作模式

爷,独闯天下 提交于 2020-01-12 23:54:29
GPIO GPIO的英文全称General-Purpose Input /Output Ports,中文意思是通用I/O端口。 GPIO 的八种工作模式, (1)GPIO_Mode_AIN 模拟输入 (2)GPIO_Mode_IN_FLOATING 浮空输入 (3)GPIO_Mode_IPD 下拉输入 (4)GPIO_Mode_IPU 上拉输入 (5)GPIO_Mode_Out_OD 开漏输出 (6)GPIO_Mode_Out_PP 推挽输出 (7)GPIO_Mode_AF_OD 复用开漏输出 (8)GPIO_Mode_AF_PP 复用推挽输出 上拉输入、下拉输入: 上拉就是使IO口接上拉电阻到VCC了,跟51一样,下拉就是使IO口接下拉电阻到GND了,浮空就是即不接上拉,也不接下拉,这样的话IO默认输入电平不确定,上拉就是输入高电平,然后接一个上拉电阻(起保护作用),在你目前开发学习时,只需要知道上拉就表示该端口在默认情况下输入为高电平,下拉就相反了,指输入接低电平,然后接一个下拉电阻(关于上拉电阻与下拉电阻,设计比较多的数电模电知识,此处就略过,反正其保护电路的作用), 浮空: 顾名思义,就相当与此端口在默认情况下什么都不接,呈高阻态,这种设置在数据传输时用的比较多, 推挽输出 : 可以输出高,低电平,连接数字器件; 推挽结构一般是指两个三极管分别受两互补信号的控制

stm32之GPIO(二)

我只是一个虾纸丫 提交于 2020-01-12 23:23:30
  输入上拉:当IO口作为输入时,比如按键输入,而按键是与地连接,按下时为低电平,则没按下时该IO口应为高电平,上拉即是该IO口通过一个电阻与电源相连,则没按下时为高电平,按下即为低电平。 输入下拉:同理此时按键与电源相连,按下即为高电平,下拉就是该IO口通过一个电阻与地相连,没按下为低电平,按下为高电平。    推挽输出:作为普通的IO口输出高低电平   STM32的输入输出管脚有下面8种可能的配置:(4输入、2输出、2复用输出)     1、浮空输入_IN_FLOATING     2、带上拉输入_IPU     3、带下拉输入_IPD     4、模拟输入_AIN     5、开漏输出_OUT_OD     6、推挽输出_OUT_PP     7、复用功能的推挽输出_AF_PP     8、复用功能的开漏输出_AF_OD 上拉:输入高电平,然后接一个上拉电阻(起保护作用),上拉就表示该端口在默认情况下输入为高电平; 浮空:就相当于此端口在默认情况下什么都不接,呈高阻态; 开漏输出:就是不输出电压,低电平时接地,高电平时不接地。如果外接上拉电阻,则在输出高电平时电压会拉到上拉电阻的电压电压。这种方式适合在连接的外设电压比单片机电压低的时候; 推挽输出:就是单片机引脚可以直接输出高电平电压,低电平时接地,高电平时输出单片机电源电压。这种方式可以不接上上拉电阻

说说M451例程讲解之LED

走远了吗. 提交于 2020-01-12 23:21:42
/**************************************************************************//** * @file main.c * @version V3.00 * $Revision: 3 $ * $Date: 15/09/02 10:03a $ * @brief Demonstrate how to set GPIO pin mode and use pin data input/output control. 演示如何设置GPIO引脚模式并使用引脚数据输入/输出控制。 * @note * Copyright (C) 2013~2015 Nuvoton Technology Corp. All rights reserved. * ******************************************************************************/ #include "stdio.h" #include "M451Series.h" #include "NuEdu-Basic01.h" #define PLL_CLOCK 72000000 void SYS_Init(void) { /*----------------------------------------------

眼图——概念与测量(摘记)

∥☆過路亽.° 提交于 2020-01-01 09:04:39
眼图——概念与测量(摘记) 中文名称: 眼图 英文名称: eye diagram;eye pattern 定义: 示波器屏幕上所显示的数字通信符号 , 由许多波形部分重叠形成,其形状类似 “ 眼 ” 的图形。 “ 眼 ” 大表示系统传输特性好; “ 眼 ” 小表示系统中存在符号间干扰。 一.概述 “在实际数字互连系统中,完全消除码间串扰是十分困难的,而码间串扰对误码率的影响目前尚无法找到数学上便于处理的统计规律,还不能进行准确计算。为了衡量基带传输系统的性能优劣,在实验室中,通常用示波器观察接收信号波形的方法来分析码间串扰和噪声对系统性能的影响,这就是眼图分析法。 在无码间串扰和噪声的理想情况下,波形无失真,每个码元将重叠在一起,最终在示波器上看到的是迹线又细又清晰的“眼睛”,“眼”开启得最大。当有码间串扰时,波形失真,码元不完全重合,眼图的迹线就会不清晰,引起“眼”部分闭合。若再加上噪声的影响,则使眼图的线条变得模糊,“眼”开启得小了,因此,“眼”张开的大小表示了失真的程度,反映了码间串扰的强弱。由此可知,眼图能直观地表明码间串扰和噪声的影响,可评价一个基带传输系统性能的优劣。另外也可以用此图形对接收滤波器的特性加以调整,以减小码间串扰和改善系统的传输性能。 通常眼图可以用下图所示的图形来描述,由此图可以看出: (1

计算机体系结构之通信部分

£可爱£侵袭症+ 提交于 2019-12-29 11:30:25
信息<------>数据(介质) <------>信号(电信号,光信号,电磁波信号,磁信号) 1.电子设备通信模型: 2.基带信号与载波信号: 基带信号: 承载有信息的信号. 载波信号: 用于承载基带信号的信号. 3.调制发送/接收解调的具体过程: 调制发送: 1.调制: 将基带电信号装入载波电信号. 2.发送: 将载波电信号转换为电波信号(无线),通过信道发送出去. 接收解调: 1.接收: 接收并将电波信号(无线)转换为载波信号. 2.解调: 从载波信号中提取出基带信号. 4.无线通信中为什么需要载波信号: 便于制作小尺寸天线: 基带的频率很低,如果直接将基带信号转为电磁波信号,电磁波的波长会很长.而电磁波的波长与天线的长度成正比,就可能需要很长的天线. 便于对信道进行频分复用. 能够提高信号的抗噪能力. 5.并行通信和串行通信: 并行通信: 数据以成组的方式,在多个并行通道上同时进行传输. 并行通信只存在于有线通信.芯片内部通信,时并行通信的主要应用场合. 串行通信: 数据以串行方式在单条信道上传输. 有线串行通信: usb,以太网,I2C,SPI,串口. 无线串行通信: wifi,Zigbee,蓝牙. 7.串行通信中的同步通信和异步通信: 同步通信: 通信双方事先约定好通信时间, 并且为通信做好准备. I2C,SPI. 应答机制: 阻塞等待,非阻塞等待. 异步通信:

CAN总线(一)

邮差的信 提交于 2019-12-26 19:14:02
原文出处: http://www.cnblogs.com/jacklu/p/4729638.html 嵌入式的工程师一般都知道CAN总线广泛应用到汽车中,其实船舰电子设备通信也广泛使用CAN,随着国家对海防的越来越重视,对CAN的需求也会越来越大。这个暑假,通过参加苏州社会实践,去某船舶电气公司实习几周,也借此机会,学习了一下CAN总线。 概述 CAN(Controller Area Network)即控制器局域网,是一种能够实现 分布式实时控制的 串行 通信网络 。 想到CAN就要想到德国的Bosch公司,因为CAN就是这个公司开发的(和Intel) CAN有很多优秀的特点,使得它能够被广泛的应用。比如:传输速度最高到 1Mbps ,通信距离最远到 10km ,无损位仲裁机制, 多主结构 。 近些年来,CAN控制器价格越来越低,很多MCU也集成了CAN控制器。现在每一辆汽车上都装有CAN总线。 一个典型的CAN应用场景: CAN总线标准 CAN总线标准只规定了 物理层 和 数据链路层 ,需要 用户自定义应用层 。不同的CAN标准仅物理层不同。 CAN收发器负责逻辑电平和物理信号之间的转换。 将逻辑信号转换成物理信号(差分电平),或者将物理信号转换成逻辑电平。 CAN标准有两个,即 IOS11898 和 IOS11519 ,两者 差分电平特性不同 。 高低电平幅度低

5月5日学习收获

六眼飞鱼酱① 提交于 2019-12-26 13:57:03
波特率:单片机或计算机在串口通信时的速率,指信号被调制后在单位时间内的变化,即单位时间内载波参数变化的次数,如每秒钟传送240个字符,而每个字符格式包含10位(1个起始位,1个停止位,8个数据位),这时的波特率为240Bd,比特率为10位×240个/秒=2400bps。 delay函数:在C语言中,该函数一般是自己定义的一个延时函数。 GPIO(General Purpose Input Output):通用输入输出,另称总线扩展器,是利用工业标准I2C、SMBus或SPI接口简化了的I/O口,简而言之,就是每个GPIO端口可通过软件进行配置,决定其是输入还是输出端口。 GPIO库: gpio管脚:一个io管脚,这个管脚可以有多个配置。在库函数中用GPIO_PIN_1这样的宏定义表示。 gpio端口:在库函数中用宏定义GPIOA、GPIOB等表示。 1、gpio库说明 库文件名:stn32f4xx_gpio.c 使用该驱动的方法: (1)使用RCC_AHB1PeriphClockCmd(RCC_AHB1Periph_GPIOx,ENABLE)函数使能gpio的AHB总线时钟。 (2)使用GPIO_Init()函数对每个引脚进行四种可能的配置: 《1》输入状态:Floating(浮空)、Pull-up(上拉)、Pull-down(下拉) 《2》输出状态:Push-Pull(上拉下拉)

IIC总线的FPGA实现

余生颓废 提交于 2019-12-24 19:13:02
一、摘要   DE2_TV中,有关于寄存器的配置的部分,采用的方法是通过IIC的功能,这里对IIC总线的FPGA实现做个说明。 二、实验平台   软件平台:ModelSim-Altera 6.4a (Quartus II 9.0)   硬件平台:DIY_DE2 三、实验原理 1、 IIC 总线器件工作原理   在IIC总线上传送信息时的时钟同步信号是由挂接在SCL时钟线上的所有器件的逻辑“与”完成的。SCL线上由高电平到低电平的跳变将影响到这些器件,一旦某个器件的时钟信号变为低电平,将使SCL线上所有器件开始并保护低电平期。此时,低电平周期短的器件的时钟由低至高的跳变并不影响SCL线的状态,这些器件将进入高电平等待的状态。   当所有器件的时钟信号都变为高电平时,低电平期结束,SCL线被释放返回高电平,即所有的器件都同时开始它们的高电平期。其后,第一个结束高电平期的器件又将SCL线拉成低电平。这样就在SCL线上产生一个同步时钟。可见,时钟低电平时间由时钟低电平期最长的器件决定,而时钟高电平时间由时钟高电平期最短的器件决定。   IIC总线上数据的传输速率在标准模式下可达100kbit/s 在快速模式下可达400kbit/s 在高速模式下可达3.4Mbit/s ,连接到总线的接口数量只由总线电容是400pF 的限制决定。 2、IIC 总线的传输协议与数据传送时序 (1)起始和停止条件

Verilog IIC通信实验笔记

╄→гoц情女王★ 提交于 2019-12-22 06:33:10
Verilog IIC通信实验笔记 Write by Gianttank 我实验的是 AT24C08的单字节读,单字节写,页读和页写,在高于3.3V系统中他的通信速率最高400KHZ的,我实验里用的是100KHZ的速率。图1是硬件原理图 图1 图2 图2是器件地址,我的原理图是A2接高。 IIC通信协议中要注意的地方: 1. 当时钟线SCL 高电平时,如果把数据线SDA 从高电平拉到低电平,则表示通信开始(START);如果把数据线SDA 从低电平拉到高电平,则表示通信结束(STOP)。SDA数据不变,视为数据采样。 2. 前一个STOP 结束后。与下一个START开始要保证5ms的间隔。 3. 页写有字节限制,而页读没有,可以一次读出所有的数据。 4. SDA信号在FPGA为接受方时要设置为高阻态。 5. 应答信号永远是接收方发送的,这个很重要,我就是卡在这里几天没找到原因。FPGA在读数据的时候,第9个周期是FPGA发低电平给EEPROM的。 图3为RTL视图 图3 引脚定义 信号名称 方向 描述 clk input 50M的主时钟 rst_n input 复位信号 sw1 input 按键1 低电平有效 按下执行字节写 sw2 input 按键2 低电平有效 按下执行字节读 sw3 input 按键3 低电平有效 按下执行 页写 sw4 input 按键4 低电平有效

上拉电阻

爷,独闯天下 提交于 2019-12-17 18:08:35
(一)上拉电阻: 1、当TTL电路驱动COMS电路时,如果TTL电路输出的高电平低于COMS电路的最低高电平(一般为3.5V),这时就需要在TTL的输出端接上拉电阻,以提高输出高电平的值。 2、OC门电路必须加上拉电阻,才能使用。 3、为加大输出引脚的驱动能力,有的单片机管脚上也常使用上拉电阻。 4、在COMS芯片上,为了防止静电造成损坏,不用的管脚不能悬空,一般接上拉电阻产生降低输入阻抗,提供泄荷通路。 5、芯片的管脚加上拉电阻来提高输出电平,从而提高芯片输入信号的噪声容限增强抗干扰能力。 6、提高总线的抗电磁干扰能力。管脚悬空就比较容易接受外界的电磁干扰。 7、长线传输中电阻不匹配容易引起反射波干扰,加上下拉电阻是电阻匹配,有效的抑制反射波干扰。 (二)上拉电阻阻值的选择原则包括: 1、从节约功耗及芯片的灌电流能力考虑应当足够大;电阻大,电流小。 2、从确保足够的驱动电流考虑应当足够小;电阻小,电流大。 3、对于高速电路,过大的上拉电阻可能边沿变平缓。综合考虑 以上三点,通常在1k到10k之间选取。对下拉电阻也有类似道理 (三)对上拉电阻和下拉电阻的选择应结合开关管特性和下级电路的输入特性进行设定,主要需要考虑以下几个因素: 1. 驱动能力与功耗的平衡。以上拉电阻为例,一般地说,上拉电阻越小,驱动能力越强,但功耗越大,设计是应注意两者之间的均衡。 2. 下级电路的驱动需求