历史上的今天
返回首页

历史上的今天

今天是:2025年03月17日(星期一)

正在发生

2020年03月17日 | 串口与普通IO口的区别

2020-03-17 来源:eefocus

General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,人们利用工业标准I2C、SMBus或SPI接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。 


每个GPIO端口可通过软件分别配置成输入或输出。Maxim的GPIO产品线包括8端口至28端口的GPIO,提供推挽式输出或漏极开路输出。提供微型3mm x 3mm QFN封装。


串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。串行接口 (Serial Interface) 是指数据一位一位地顺序传送,其特点是通信线路简单,只要一对传输线就可以实现双向通信(可以直接利用电话线作为传输线),从而大大降低了成本,特别适用于远距离通信,但传送速度较慢。


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 复用推挽输出


  1.1 I/O口的输出模式下,有3种输出速度可选(2MHz、10MHz和50MHz),这个速度是指I/O口驱动电路的响应速度而不是输出信号的速度,输出信号的速度与程序有关(芯片内部在I/O口 的输出部分安排了多个响应速度不同的输出驱动电路,用户可以根据自己的需要选择合适的驱动电路)。通过选择速度来选择不同的输出驱动模块,达到最佳的噪声 控制和降低功耗的目的。高频的驱动电路,噪声也高,当不需要高的输出频率时,请选用低频驱动电路,这样非常有利于提高系统的EMI性能。当然如果要输出较高频率的信号,但却选用了较低频率的驱动模块,很可能会得到失真的输出信号。


  关键是GPIO的引脚速度跟应用匹配(推荐10倍以上?)。

  比如:

  1.1.1 对于串口,假如最大波特率只需115.2k,那么用2M的GPIO的引脚速度就够了,既省电也噪声小。


  1.1.2 对于I2C接口,假如使用400k波特率,若想把余量留大些,那么用2M的GPIO的引脚速度或许不够,这时可以选用10M的GPIO引脚速度。


  1.1.3 对于SPI接口,假如使用18M或9M波特率,用10M的GPIO的引脚速度显然不够了,需要选用50M的GPIO的引脚速度。


  1.2 GPIO口设为输入时,输出驱动电路与端口是断开,所以输出速度配置无意义。


  1.3 在复位期间和刚复位后,复用功能未开启,I/O端口被配置成浮空输入模式。


  1.4 所有端口都有外部中断能力。为了使用外部中断线,端口必须配置成输入模式。


  1.5 GPIO口的配置具有上锁功能,当配置好GPIO口后,可以通过程序锁住配置组合,直到下次芯片复位才能解锁。


  2、推挽输出与开漏输出的区别

  推挽输出:可以输出高,低电平,连接数字器件;开漏输出:输出端相当于三极管的集电极。 要得到高电平状态需要上拉电阻才行。 适合于做电流型的驱动,其吸收电流的能力相对强(一般20ma以内)。


  推挽结构一般是指两个三极管分别受两互补信号的控制,总是在一个三极管导通的时候另一个截止。


  要实现 线与 需要用OC(open collector)门电路。是两个参数相同的三极管或MOSFET,以推挽方式存在于电路中,各负责正负半周的波形放大任务,电路工作时,两只对称的功率开关管每次只有一个导通,所以导通损耗小,效率高。输出既可以向负载灌电流,也可以从负载抽取电流


  当端口配置为输出时:

  开漏模式:输出 0 时,N-MOS 导通,P-MOS 不被激活,输出0。


  输出 1 时,N-MOS 高阻, P-MOS 不被激活,输出1(需要外部上拉电路);此模式可以把端口作为双向IO使用。


  推挽模式:输出 0 时,N-MOS 导通,P-MOS 高阻 ,输出0。


  输出 1 时,N-MOS 高阻,P-MOS 导通,输出1(不需要外部上拉电路)。


  简单来说开漏是0的时候接GND 1的时候浮空 推挽是0的时候接GND 1的时候接VCC


  3、在STM32中选用IO模式

  (1) 浮空输入_IN_FLOATING ——浮空输入,可以做KEY识别,RX1

  (2)带上拉输入_IPU——IO内部上拉电阻输入

  (3)带下拉输入_IPD—— IO内部下拉电阻输入

  (4)模拟输入_AIN ——应用ADC模拟输入,或者低功耗下省电

  (5)开漏输出_OUT_OD ——IO输出0接GND,IO输出1,悬空,需要外接上拉电阻,才能实现输出高电平。当输出为1时,IO口的状态由上拉电阻拉高电平,但由于是开漏输出模式,这样IO口也就可以由外部电路改变为低电平或不变 。可以读IO输入电平变化,实现C51的IO双向功能

  (6)推挽输出_OUT_PP ——IO输出0-接GND, IO输出1 -接VCC,读输入值是未知的

  (7)复用功能的推挽输出_AF_PP ——片内外设功能(I2C的SCL,SDA)

  (8)复用功能的开漏输出_AF_OD——片内外设功能(TX1,MOSI,MISO.SCK.SS)


  GPIO口和UART的区别 
  GPIO通用端口,UART串口,I2C,SPI 他们就是时序不同,CPU和外扩的芯片进行通信,领会它们的通信时序就OK,呵呵


  General Purpose Input Output (通用输入/输出)简称为GPIO,或总线扩展器,利用工业标准I2C、SMBus™或SPI™接口简化了I/O口的扩展。当微控制器或芯片组没有足够的I/O端口,或当系统需要采用远端串行通信或控制时,GPIO产品能够提供额外的控制和监视功能。 

UART:Universal Asynchronous Receiver/Transmitter,通用异步接收/发送装置

  I2C(Inter-Integrated Circuit)总线是由PHILIPS公司开发的两线式串行总线,用于连接微控制器及其外围设备。是微电子通信控制领域广泛采用的一种总线标准。它是同步通信的一种特殊形式,具有接口线少,控制方式简单,器件封装形式小,通信速率较高等优点。


  SPI:高速同步串行口。是一种标准的四线同步双向串行总线。


  SPI,是英语Serial Peripheral interface的缩写,顾名思义就是串行外围设备接口。是Motorola首先在其MC68HCXX系列处理器上定义的。SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。SPI,是一种高速的,全双工,同步的通信总线,并且在芯片的管脚上只占用四根线,节约了芯片的管脚,同时为PCB的布局上节省空间,提供方便,正是出于这种简单易用的特性,现在越来越多的芯片集成了这种通信协议,比如AT91RM9200. 

推荐阅读

史海拾趣

GigPeak公司的发展小趣事

随着业务的不断扩展,GigPeak意识到国际化战略的重要性。在2015年,公司开始积极布局海外市场,先后在北美、欧洲和亚洲等地设立了研发中心和销售分支机构。通过深入了解当地市场需求和文化背景,GigPeak成功推出了一系列符合当地市场需求的定制化产品。这些举措不仅提升了GigPeak在全球市场的知名度和影响力,还为其带来了稳定的海外收入来源。

AZ Displays公司的发展小趣事

随着技术的不断进步和市场需求的不断变化,AZ Displays的产品应用领域也在不断拓展。除了传统的消费电子领域外,公司的产品还广泛应用于航空电子、医疗、导航系统、工业控制等多个领域。通过与各行业合作伙伴的紧密合作,AZ Displays成功打开了新的市场大门,实现了业务的快速增长。

风华邦科(FH-BK)公司的发展小趣事

在电子科技领域,FlyWin集团不断投入研发资源,致力于新技术的开发与应用。公司成立了专门的研发团队,专注于人工智能、物联网等前沿技术的探索。通过不断的技术创新,FlyWin成功推出了一系列具有自主知识产权的电子产品,如智能传感器、物联网解决方案等。这些产品不仅提升了公司的市场竞争力,也为公司的长远发展提供了强大的技术支撑。

BLACK&DECKER公司的发展小趣事

BLACK&DECKER在技术创新方面一直走在行业前列。公司不断投入研发资源,推动电动工具技术的进步。例如,1979年,BLACK&DECKER发布了第一台手提式充电吸尘器Dustbuster,这一创新产品迅速成为市场上的热销产品,并推动了整个吸尘器行业的发展。此外,BLACK&DECKER还积极参与行业标准的制定工作,通过制定严格的产品质量标准和安全规范,为整个电子行业的健康发展做出了贡献。

General Cable公司的发展小趣事
在红外遥控应用中,需要将YN5103的输出引脚连接到红外发射管驱动电路,以便将编码后的信号以红外光的形式发射出去。
Antex公司的发展小趣事

随着业务的不断扩展,Antex在1980年决定将工厂从东京都大田区羽田迁至茨城县高萩市。这一搬迁不仅为公司提供了更广阔的发展空间,也标志着Antex开始向着全球化布局迈进。此后,公司积极寻求国际合作,与全球各地的供应商和客户建立了紧密的合作关系。

问答坊 | AI 解惑

被动电子元件

电子 初学者的 基础 基础决定高度…

查看全部问答>

全国大学生电子设计大赛历年题目

本帖最后由 paulhyde 于 2014-9-15 09:17 编辑 全国大学生电子设计大赛历年题目 分享吧  …

查看全部问答>

串行接口10位单通道A_D转换TLC1549中文数据资

本帖最后由 paulhyde 于 2014-9-15 04:12 编辑 供大家 参考  …

查看全部问答>

mc55休眠唤醒?

休眠采用AT+CFUN=7 在这MC55休眠唤醒采用的是硬件流控,但休眠后唤醒不了,怎么回事?(在这可以给CTS一个电平来唤醒不?) 除了这种外还有什么方法唤醒模块? …

查看全部问答>

文件系统的开发

我想自己做一个FAT32文件系统用于UCOS,请问哪里有源码和相关资料可以学习一下?…

查看全部问答>

nor flash nand flash问题大家指教。

现在马上要做一个东西,就是以前的板子上是nor+nand flash的方式,现在只用nand flash做uboot、kernel 文件系统。 请问我要怎样做,才能把uboot、kernel、文件系统都烧到只有nand flash的板子上并让他运行,并没问题。 请问我要怎么入手做这 ...…

查看全部问答>

iap使用问题

使用str711的iap功能向 flash bank1 写入数据 但是每次 执行写入 或者 清除片内内容时,系统都会重启,请问为何?…

查看全部问答>

iar5.40.7连接stm32f10xx问题

                                 我这有一个stm32f10xx的开发板,但是使用IAR5.40.7的开发软件,可是编译通过了,可无论如很都写不进flash,也无法 ...…

查看全部问答>

高价求芯片、电路设计,高手QQ1342451273

高价求芯片、电路设计,高手QQ1342451273…

查看全部问答>

请教一下,在沈阳做电路板制作有市场吗?

  请教一下大家,我想在沈阳开一个制作电路板的小店,主要是针对零散小批量的客户,利用雕刻机做,不知道有没有市场,需求量怎么样?有了解的朋友能不能给点建议。先谢谢大家了!…

查看全部问答>