嵌入式系统总线-片内总线

news2024/9/24 9:23:57

1.总线概述

总线是CPU与存储器和设备通信的机制,是计算机各部件之间传送数据、地址和控制信息的公共通道。
在这里插入图片描述

2.总线参数

总线宽度:又称总线位宽,指的是总线能同时传送数据的位数。如16位总线就是具有16位数据传送能力。
总线频率:总线工作速度的一个重要参数,工作频率越高,速度越快。通常用MHz表示。
总线带宽:又称总线的数据传送率,是指在一定时间内总线上可传送的数据总量,用每秒最大传送数据量来衡量。总线带宽越宽,传输率越高。总线带宽(单位:MB/s)=(总线宽度/8)*总线频率。
如:总线宽度32位,频率66MHZ,则总线带宽=32/8 * 66 MHZ = 264MB/s

3.微处理器系统的总线构成

在这里插入图片描述
一个微处理器系统可能含有多条总线。这是由于:
数据宽度:高速总线通常提供较宽的数据连接。
成本:高速总线通常采用更昂贵的电路和连接器。
桥允许总线独立操作,这样在I/O操作中可提供某些并行性。

嵌入式系统的总线构成示意图
在这里插入图片描述
在这里插入图片描述

4.ARM 的AMBA总线

AMBA( Advanced Microcontroller Bus Architecture)是ARM公司研发的一种总线规范,目前最新为2010年推出的4.0版本。
AHB(Advanced High-performance Bus):用于高性能系统模块的连接,支持突发模式数据传输和事务分割;可以有效地连接处理器、片上和片内存储器,支持流水线操作。
ASB(Advanced System Bus):也用于高性能系统模块的连接,现多由AHB总线替代;
APB(Advanced Peripheral Bus):用于较低性能外设的简单连接,一般是接在AHB或ASB系统总线上的第二级总线。

基于AMBA总线的典型系统
在这里插入图片描述
基于Samsung S3C44b0X中的AMBA总线
在这里插入图片描述
AHB,APB是片内总线,片外是无AHB和APB,对外是接口

5.AHB总线构成

主单元:只有主单元可在任何时刻使用总线。AHB可以由一个或多个主单元。
主单元可以是RISC处理器、协处理器以及DMA控制器,以启动和控制总线操作。
从单元: 可以响应(非启动)读或者写总线操作,在给定的地址范围内对读写操作进行相应的反应。从单元向主单元发出成功、失败信号或等待各种反馈信号。从单元通常是其复杂度不足以称为主单元的固定功能块,例如外存接口、总线桥接口以及任何内存,系统的其他外设等。
仲裁器:用来确定控制总线式哪个主单元,以保证在任何时候只有一个主单元可以启动数据传输。一般来说仲裁协议是固定好的,例如最高优先级方法或平等方法,可根据实际的情况选择。
译码器:总线译码器用于传输译码工作,提供传输过程中从单元的片选信号。

AHB总线工作过程

  1. 地址传送阶段(Address phase):只持续一个时钟周期。在HCLK的上升沿数据有效。所有从单元都在这个上升沿来采样地址信息。
  2. 数据传送阶段(Data phase):需要一个或几个时钟周期。可以通过HREADY信号来延长数据传输时间,HREADY信号为低电平时,就在数据传输中加入等待周期,直到HREADY为高电平时才表示本次传输结束。
    在这里插入图片描述

6.APB总线-APB桥

APB主要由2部分组成:APB桥和APB从单元
APB桥式APB中唯一的主单元,是AHB/ASB的从单元。
APB桥将系统总线AHB/ASB和APB连接起来,并执行下列功能:
锁存地址并保持有效,直到数据传送完成。
译码地址并产生一个外部片选信号,在每次传送时只有一个片选(PSELX)有效。
写传送(write transfer)时驱动数据到APB。
读传送(Read transfer)时驱动数据到系统总线AHB/ASB.
传送时产生定时触发信号PENABLE.

APB桥的接口信号
在这里插入图片描述

7.APB总线-APB从单元

APB从单元具有简单灵活的接口,接口的具体实现依赖于特定设计的,有许多不同的可能。
当写传送数据锁定在下列点:
当PSELx为高电平时,在每个PCLK的上升沿,在PENABLE的上升沿。
片选信号PSELx和地址信号PADDR可合并起来决定需要操作的寄存器。

APB从单元的接口信号
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/900561.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

apex安装出错:TypeError unsupported operand type(s) for +: “NoneType“ and “str“

Windows 10 环境下安装apex报错:TypeError unsupported operand type(s) for : “NoneType“ and “str“ 1、首先apex不能直接pip install apex安装。 2、具体安装步骤:【python】【深度学习】apex的安装_apex python_愿东大没有食堂的博客-CSDN博客 …

深入竞品:解读竞品分析的艺术与策略

引言:为何竞品分析至关重要? 在当今的产品环境中,市场变得越来越拥挤。每个角落都有新的创业公司试图创造下一个行业的颠覆者,同时也有成熟的巨头在不断地迭代和优化他们的产品。在这样的环境中,不了解您的竞争对手是…

『C语言初阶』第八章 -结构体

前言 今天小羊又来给铁汁们分享关于C语言的结构体,在C语言中,结构体类型属于一种构造类型(其他的构造类型还有:数组类型,联合类型),今天我们主要简单了解一下结构体。 一、结构体是什么&#x…

Linux Mint 21.3 计划于 2023 年圣诞节发布

Linux Mint 项目近日公布了基于 Ubuntu 的 Linux Mint 发行版下一个重要版本的一些初步细节,以及备受期待的基于 Debian 的 LMDE 6(Linux Mint Debian Edition)版本。 近日,Linux Mint 项目负责人克莱门特-勒菲弗(Clem…

ECA模块详解

注意:本文代码为自己理解之后实现,与原论文代码原理相同但并不完全一样,主要是输入张量的形状不同,若更想了解原文代码,可以访问:https://blog.csdn.net/weixin_45084253/article/details/124282580 &#…

使用RDP可视化远程桌面连接Linux系统

使用RDP可视化远程桌面连接Linux系统 远程桌面连接Linux安装安装包准备服务器安装xrdp远程连接 远程桌面连接Linux 通常使用SSH来连接服务器,进行命令行操作,但是这次需要远程调试生产环境的内网服务器,进行浏览器访问内网网站,至…

SQL助你面大厂(行列转换)

在面试中,不仅有算法题,还有这个老大难的SQL编写 SQL在面试中也是会经常会被问到,不仅仅是为了面试,在做项目的时候,往往用的最多的就是CRUD,这也提高不了我们的编写SQL的能力,所以最近我准备总结几个面试模板,以及一些…

webshell实践,在nginx上实现负载均衡

1、配置多台虚拟机,用作服务器 在不同的虚拟机上安装httpd服务 我采用了三台虚拟机进行服务器设置:192.168.240.11、192.168.240.12、192.168.240.13 [rootnode0-8 /]# yum install httpd -y #使用yum安装httpd服务#开启httpd服务 [rootnode0-8 /]# …

开发一个文生图的功能

文章目录 效果开发环境原理核心代码代码仓库问题效果 开发环境 Python 3.10PyCharm原理 借助开源项目stable-diffusion,通过该项目封装python库diffusers,可以轻易的实现文生图的功能。 关于更多diffusers的功能请访问:https://huggingface.co/docs/diffusers/index 核心代…

Linux命令200例:nc非常有用的网络工具(常用)

🏆作者简介,黑夜开发者,全栈领域新星创作者✌。CSDN专家博主,阿里云社区专家博主,2023年6月csdn上海赛道top4。 🏆数年电商行业从业经验,历任核心研发工程师,项目技术负责人。 &…

LeetCode128.最长连续序列

我这个方法有点投机取巧了,题目说时间复杂度最多O(n),而我调用了Arrays.sort()方法,他的时间复杂度是n*log(n),但是AC了,这样的话这道题还是非常简单的,创建一个Hashmap,以nums数组的元素作为ke…

回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)

回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图) 目录 回归预测 | MATLAB实现GWO-SVM灰狼优化算法优化支持向量机多输入单输出回归预测(多指标,多图)效果一览基…

Java源码分析(一)Integer

当你掌握Java语言到了一定的阶段,或者说已经对Java的常用类和API都使用的行云流水。你会不会有一些思考?比如,这个类是如何设计的?这个方法是怎么实现的?接下来的一系列文章,我们一起学习下Java的一些常见类…

CF 1354 C1 C2 Polygon Embedding(求奇偶正多边形的外接最小正方形的边长)

CF 1354 C1 / C2 Polygon Embedding(求奇偶正多边形的外接最小正方形的边长) Problem - C1 - Codeforces Problem - C2 - Codeforces EASY : 大意:给出一个偶数 n , 求 正 (2 * n) 边形的最小外接正方形的边长。 可以想出两种最直观的情况…

【VBA_选择区域的关键词更改颜色】

Private Sub CommandButtonl_Click() Cells.Font.ColorIndex 1 End Sub Sub Worksheet_SelectionChange(ByVal Target As Range) Dim rng As Range, i As Integer Dim T As String Dim C As Integer For Each rng In Selection T "河北" C 3 i 1 Do While InStr(…

【宝藏系列】一文讲透C语言数组与指针的关系

【宝藏系列】嵌入式 C 语言代码优化技巧【超详细版】 文章目录 【宝藏系列】嵌入式 C 语言代码优化技巧【超详细版】👨‍🏫前言1️⃣指针1️⃣1️⃣指针的操作1️⃣2️⃣关于指针定义的争议1️⃣3️⃣对教材错误写法的小看法 2️⃣指针和数组的区别2️⃣…

最全攻略之人工智能顶会论文发表

最全攻略之人工智能顶会论文发表 1. 人工智能顶会1.1 CCF 顶会列表2023年人工智能顶会时间线 2.人工智能顶会论文发表流程2.1 顶会论文发表流程2.2 顶会论文审稿流程 3.1顶会论文发表指南3.1 顶会论文七要素3.2 顶会论文写作要点 4.人工智能发展趋势4.1 人工智能未来趋势4.2 人…

基于Matlab 代码实现UWB信号的产生和调制、接收和检测系统

文末提供完整的matlab代码实现下载链接 介绍 本文将分为两部分介绍。在第一部分中,使用 TR 的建模UWB 信号发生器,生成编码二进制数据的脉冲调制信号。这第二部分涉及对接收第一部分中生成的信号的接收器进行建模提取并显示信息。每个信号的时间图和频率响应绘制了阶段。使用MA…

STM32使用IIC通信的引脚配置问题

STM32使用IIC通信的引脚配置问题 在使用IIC通信时,遇到引脚配置问题,记录一下: IIC的两个引脚SDA和SCL都要求既能输入又能输出。 问题: SDA线是由不同的器件分时控制的,这样就会有一个问题:当一个器件主动…