IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 嵌入式 -> 芯片端子的多路复用 -> 正文阅读

[嵌入式]芯片端子的多路复用

嵌入式软件的开发,经常要和芯片打交道,和个人电脑的通用平台的CPU使用X86或X64架构不同,嵌入式电子产品使用的主控芯片是各种各样的,从8051单片机,到ARM Cortex-M系列,再到ARM Cortex-A系列加Linux系统等。

PC的CPU架构比较统一,型号少,差异自然也小,而电子产品上用的芯片差异就很大,根据使用场景不同,需要不同的引脚或端子数目,同时集成了不同的片上资源,比如I2C、SPI、UART、USB等,并通过端子来将信号传递给外部或捕捉外部信号。

芯片上包含的端子或管脚(pin)是有限的,所以大部分的端子会有多个信号选项,比如可以作为I2C的clock信号,或者作为SPI的CS信号,或者作为AD转换的输入信号,或者作为普通GPIO等。就是让我们的IC可以将一个引脚(PAD)share给多个功能块(function block)。这种共享的实现方式,是将引脚的输入输出信号进行多路复用。

这些信号和端子的对应关系,是由IOMUX(input-output multiplexer)控制的,IO复用控制器。

IOMUX也用来配置端子的其他属性,比如电压档(3.3V / 1.8V)、驱动电流大小等。

这些芯片所接收或产生的信号,都属于外部信号,可以将它们按照模组(module instance)来分类,比如UART1, UART2,i2c1等。

下面以IMX6ULL芯片的某部分Muxing(等于multiplexing) Options为例:

在Chapter 4: External Signals and Pin Multiplexing。

Instance

Port

Pad

Mode

I2C2

SCL

CSI_HSYNC

ALT3

GPIO1_IO00

ALT0

UART5_TX_DATA

ALT2

SDA

CSI_VSYNC

ALT3

GPIO1_IO01

ALT0

UART5_RX_DATA

ALT2

I2C2, 是芯片上4个I2C bus中的第二个,这个放在instance一列。

有两个信号,clock和data,这个是port,是指片上外设使用的信号。

Pad指的是引脚或端子名字,是唯一的,命名方式可能是和module有关,也可以用GPIO编号命名。

Mode表示的是这个Pad可选的工作模式,具体支持多少种要以芯片手册为准,比如ALT0 ~ ALT7(Alternative),就是一个Pad最多可以选择对应8种不同的信号。这个ALT数值可以在寄存器里设定,来配置端子对应于不同的信号。

我们注意到,一个PAD加上一个Mode唯一确定了一个引脚的工作状态,表明当前要用于某个信号。

所以I2C2的SCL信号,用的是UART5_TX_DATA这个引脚的ALT2模式,这就是一个完整的IOMUX配置项。

我们再看一下以GPIO功能为分组的IOMUX配置:

Instance

Port

Pad

Mode

GPIO1

IO0

GPIO1_IO00

ALT5

IO1

GPIO1_IO01

ALT5

IO2

GPIO1_IO02

ALT5

IO3

GPIO1_IO03

ALT5

...

...

...

IO27

UART3_RTS_B

ALT5

IO28

UART4_TX_DATA

ALT5

IO29

UART4_RX_DATA

ALT5

IO30

UART5_TX_DATA

ALT5

IO31

UART5_RX_DATA

ALT5

这里就看到,PAD名字有的是以GPIO号命名,有的是以Module信号命名。

上面提到的UART5_TX_DATA这个PAD,对应的是GPIO1的第30号Pin。

关于多路复用功能,在硬件上包含IOMUX(实现多路复用的逻辑组合,a basic?IOMUX cell)和IOMUX_CTL(多路复用控制器,控制信号选择、端子设置等)。

下面的图显示了一个简单的Soc框图,两种端子复用的情况:

第一个是通常的端子复用例子:

Module A, Module B,和Module GPIO 通过IOMUX共享同一个端子,复用配置通过IOMUX_CTL来控制。

第二个是没有使用复用的例子:

端子由Module C专用,信号在Module C和端子之间直接联通,没有IOMUX cell参与。

如图显示的这款芯片的多路复用功能,每个IOMUX cell最多支持8个模式(muxing modes (ALT0–ALT7)),表示每个pin最终可以由8个信号共享。

还可以看到IOMUX_CTL分为控制Input select的,PAD control的,还有MUX control的。

(完)

  嵌入式 最新文章
基于高精度单片机开发红外测温仪方案
89C51单片机与DAC0832
基于51单片机宠物自动投料喂食器控制系统仿
《痞子衡嵌入式半月刊》 第 68 期
多思计组实验实验七 简单模型机实验
CSC7720
启明智显分享| ESP32学习笔记参考--PWM(脉冲
STM32初探
STM32 总结
【STM32】CubeMX例程四---定时器中断(附工
上一篇文章      下一篇文章      查看所有文章
加:2021-08-26 12:16:06  更:2021-08-26 12:18:37 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/25 22:50:10-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码