首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >为什么芯片上的所有引脚都不是GPIOs?

为什么芯片上的所有引脚都不是GPIOs?
EN

Stack Overflow用户
提问于 2017-06-07 11:13:22
回答 2查看 193关注 0票数 0

Linux状态下的GPIOs文档:

通用输入输出(GPIO)是一种灵活的软件控制数字信号.它们由多种芯片提供,对于使用嵌入式和自定义硬件的Linux开发人员来说非常熟悉。

如果我们能够控制一个引脚的行为,那么为什么芯片上的所有引脚都不是GPIOs呢?

我们如何通过软件为芯片上的引脚提供功能?

请解释一下。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-06-13 07:09:30

当您设计集成电路(芯片)时,您在设计时考虑了某种组件模型,这些内部组件可能有特定的需求,无法在不同的引脚之间重新分配,那么这些引脚就是固定的功能。

例如,与内存控制器相关的引脚具有非常严格的性能要求(在信号完整性、切换速率、输出驱动程序、电容方面),这些引脚是固定功能不可重分配的,因此不能将这些引脚用于GPIO。如果您这样做,您将以一个较慢的芯片结束,因为额外的电路改变这些值变得不可行。其他例子是功率域引脚(这些引脚被称为VCC、VDD、VEE、GND )。

这就是为什么GPIO引脚总是与诸如SPI、I2C、SMBUS这样的慢接口共享,而从不与SATA、DDR等快速接口共享。

在其他情况下,唯一的原因是,如果没有特定的组件,芯片就没有意义,例如,假设您必须拥有RAM内存,那么RAM专用引脚就不需要重新分配,因为您永远不会在没有RAM内存的情况下实现系统,也不会需要将这些引脚用于GPIO。

票数 3
EN

Stack Overflow用户

发布于 2017-06-07 11:50:21

SOC中的所有引脚都不是GPIO。映射为GPIO的一组特定的引脚。其他引脚被配置为特定的接口,如DDR,SPI,I2C.等等,包括时钟、数据和电源引脚。GPIO是通用引脚,可根据用户需求用于任何用途。它可用于处理IRQ,触发器重置,发光LEDs..etc。

例如,假设FPGA通过GPIOs连接到SOC。用户需要通过这些GPIO引脚编程FPGA。在SOC方面,用户需要编写一个具有上述顺序的特定程序来驱动这些GPIO来编写FPGA配置文件。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44411088

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档