嵌入式基础知识-总线带宽

news2024/11/15 8:03:07

带宽,最容易想到的是上网用的网络带宽,在嵌入式软件开发中,也会用到带宽,这个带宽的含义就不一样了,区别是什么?本篇就来介绍一下,并通过一些例子来进行带宽的计算。

先来简单看下不同领域的带宽:

  • 显示器中的带宽,单位是MHz,是一个频率的概念
  • 通讯领域的带宽,单位是M(Mb/s),是一个速率(或数据传输率)的概念
  • 嵌入式开发中的带宽,如总线或内存带宽,单位是MB/s或GB/s

1 不同含义带宽简介

1.1 显示器带宽

以CRT显示器为例,其带宽指的是频率概念,属于电路范畴,更符合带宽本来的含义。

要了解CRT显示器带宽的含义,需要先简单了解下其工作原理,其基本原理就是电子枪发射电子束,打在屏幕上发光,为了实现满屏幕显示,电子束必须从左到右、从上到下一个一个象素点进行扫描。

例如,若要完成800×600分辨率的画面显示,电子枪必须完成800×600=480000个点的顺序扫描。

荧光粉受到电子束击打后发光的时间其实很短,在一秒钟时间电子束往往都能完成超过85个完整画面的扫描,即屏幕画面可更新85次,人眼无法感知到如此小的时间差异会误以为屏幕处于始终发亮的状态。

每秒钟屏幕画面刷新的次数就叫场频,或称为屏幕的垂直扫描频率、以赫兹(Hz)为单位,也就是俗称刷新率。

例如:800×600分辨率、85Hz刷新率的CRT显示器,电子枪在一秒钟至少要扫描的点为:

800×600×85=40800000

如果将分辨率和刷新率都提高,电子枪要扫描的点数将大幅提高。

另外,由于显像管电子束的扫描过程是非线性的,为避免信号在扫描边缘出现衰减影响效果、保证图像的清晰度,总是将边缘扫描部分忽略掉,忽略的度量,用有效扫描系数表示,为0.6~0.8,一般取0.744。

了解了以上CRT显示器的基础原理后,现在来看下CRT显示器的带宽含义:

显示器带宽指的是显示器的电子枪在一秒钟内可扫描的最高点数总和,它等于:

水平分辨率×垂直分辨率×场频(画面刷新次数)÷扫描系数

单位为MHz(兆赫)。

例如,上面举例的800×600分辨率、85Hz刷新率的CRT显示器,其带宽计算为:

800×600×85/0.744=54838709.677=54.8MHz

1.2 网络带宽

在通讯和网络领域,带宽是指网络信号可使用的最高频率与最低频率之差,或说频带的宽度,或信道带宽。

在100M以太网之类的铜介质布线系统中,双绞线的信道带宽通常用MHz为单位,它指的是信噪比恒定的情况下允许的信道频率范围。

需注意的一点,生活中我们装宽带,说的多少兆的宽带,其单位是bit,例如100M的宽带,其实的100Mbit/s,即12.8MB/s。

另外,因受用户计算机性能、网络设备质量、资源使用情况、网络高峰期、网站服务能力、线路衰耗,信号衰减因素的影响,实际的速度会更低,例如2M(即2Mb/s)宽带理论速率是:256KB/s,实际速率大约为150~240KB/s;

注意带宽与宽带的区别:

带宽是量词,指的是网速的大小,比如1Mbps的意思是一兆比特每秒,这个数值就是指带宽。

宽带是名词,说明网络的传输速率速很高 。宽带的标准各不相同,例如64kbps以上带宽的就是宽带,而以下的就是窄带。

1.3 总线带宽

在计算机系统中,总线的作用就好比是人体中的神经系统,它承担的是所有数据传输的职责,而各个子系统间都必须藉由总线才能通讯。

按照工作模式不同,总线可分为两种类型:

  • 一种是并行总线,它在同一时刻可以传输多位数据,好比是一条允许多辆车并排开的宽敞道路,而且它还有双向单向之分
  • 一种是串行总线,它在同一时刻只能传输一个数据,好比只容许一辆车行走的狭窄道路,数据必须一个接一个传输

总线的带宽指的是这条总线在单位时间内可以传输的数据总量,它等于:

总线位宽x工作频率

例如:对于64位、800MHz的前端总线,它的数据传输率就等于:

64bit×800MHz÷8(Byte)=6.4GB/s      

2 嵌入式中的带宽计算

2.1 题1(总线带宽)

  • 题目

某系统一个总线周期中并行传输4字节信息,一个总线周期占用2个时钟周期,总线时钟频率为100MHz,求总线带宽

  • 解答

由题目知,是并行总线,并行传输4字节,而8位是一个字节,所以此总线的32位的;又总线时钟频率为100MHz,而一个总线周期占用2个时钟周期,所以实际上总线的频率是50MHz,所以总线带宽计算为:

32bit×50MHz÷8(Byte)=200MB/s

或直接使用Byte单位计算:

4Byte×50MHz=200MB/s

2.2 题2(存储器带宽)

  • 题目

某计算机字长是16位,存储器存取周期是500ns,求存储器的带宽

  • 解答

字长是16位,也就是数据线宽度16bit,也即2Byte;存储周期500ns,即0.5ms,即0.0005s,转换为频率为1/0.0005s=2000Hz=2MHz。

所以,总线带宽计算为:

4Byte×2MHz=4MB/s

2.3 题3(显存带宽)

  • 题目

某计算机显示器存储用DRAM芯片实现,要求显示分辨率1024x1024,颜色深度24位,帧率100Hz,显示总带宽的50%来刷新屏幕,求至少需要的显存总带宽

  • 解答

分辨率1024x1024,颜色深度24位,则一帧图形的数据量为1024x1024x24bit=24Mbit,又因帧率100Hz,则一秒的数据量为24Mbitx100Hz=2400Mbit,使用以秒为单位,则显示器的带宽为2400Mbps,而显示总带宽的50%用来刷新屏幕,则显存的总带宽为4800Mbps

3 总结

本篇线介绍了不同领域的带宽含义,然后通过实际的题目与求解,介绍嵌入式领域中带宽的计算方法。

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

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

相关文章

交叉熵和softmax

交叉熵cross-entropy loss 最大化似然函数,最小化负的似然对数函数 最终的交叉熵损失函数,最小化该loss: nn.BCELoss def criterion(yhat, y):out -1 * torch.mean(y*torch.log(yhat) (1-y) * torch.log(1-yhat))return outsoftmax

51单片机一氧化碳烟雾报警器mq2MQ7ADC0832采集

实践制作DIY- GC0152--- 一氧化碳烟雾报警器 基于51单片机设计------- 一氧化碳烟雾报警器 二、功能介绍: STC89C52单片机lcd1602adc0832mq2烟雾传感器mq7烟雾传感器蜂鸣器2个按键设定烟雾报警阈值 2个按键设定一氧化碳报警阈值 1.通过ADC0832采集MQ2烟雾输出的电…

嵌入式系统中STM32时钟系统详解

1. STM32的时钟源主要有: 内部时钟 外部时钟 锁相环倍频输出时钟 1.1 详细介绍 HSI(内部高速时钟) 它是RC振荡器,频率可以达到8MHZ,可作为系统时钟和PLL锁相环的输入 HSE(外部高速时钟) 接入晶振范围是4-16MHZ&a…

数据结构--线性表(顺序表、单链表、双链表、循环链表、静态链表)

前言 学习所记录,如果能对你有帮助,那就泰裤辣。 目录 1.线性表概念 定义 基本操作 2.顺序表 定义 顺序表的实现--静态分配 动态分配 顺序表的特点 顺序表的插入和删除 顺序表的查找 按位查找 按值查找 3.单链表 定义 单链表的初始化 不带…

112.(cesium篇)cesium地球自转+文字上下滚动

地图之家总目录(订阅之前必须详细了解该博客) 地图之家:cesium+leaflet+echart+地图数据+地图工具等相关内容的介绍 文章末尾处提供保证可运行完整代码包,运行如有问题,可“私信”博主。 效果如下所示: 112.(cesium篇)cesium地球自转+文字上下滚动 下面献上完整代码…

Kubernetes(k8s)集群搭建,完整无坑,不需要科学上网~

文章目录 写在前面一、准备三个centos7虚拟机1、创建Vagrantfile2、启动三台虚拟机3、配置centos7支持ssh登录(所有机器)4、修改 linux 的 yum 源(所有机器)5、更新并安装依赖(所有机器)6、安装docker&…

SPI硬件实现-GD32

SPI硬件实现-GD32 #include "w25qxx_spi.h"void w25qxx_init(void){// 使能外设时钟w25qxx_rcu_init();// IO口进行配置,使之复用为SPI0, PA4\PA5\PA6\PA7,NSS\SCK\MISO\MOSIw25qxx_io_init();// SPI0初始化w25qxx_spi_init();spi_enable(SPI0); }// 使能外设时钟…

HTTP/HTTPS 简介||HTTP 消息结构

HTTP/HTTPS 简介 HTTP 协议是 Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网( WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。 HTTP 是一个基于 TCP/IP 通信协议来传递数据&a…

〖动态规划60题〗泰波纳契数列模型

文章目录 1.第N个泰波那契数(简单)解题流程1. 状态表示2. 状态转移方程3. 初始化dp表4. 填表顺序5. 返回值 代码编写 2.三步问题解题流程1. 状态表示2. 状态转移方程3. 初始化dp表4. 填表顺序5. 返回值 代码编写 3.使用最小花费爬楼梯解题流程1. 状态表示…

Redis高可用——主从复制

redis的主从复制 一、Redis 主从复制1.主从复制的作用:2.主从复制流程: 二、搭建Redis 主从复制1.安装 Redis①.环境准备②.修改内核参数③.安装redis④.创建redis工作目录⑤.环境变量⑥.定义systemd服务管理脚本 2.修改 Redis 配置文件(Mast…

阅读源码技巧

目录 搭建 Demo方法论之关注调用栈方法论之死盯日志方法论之查看被调用的地方探索答案作业是的,正如标题描述的这样,我试图通过这篇文章,教会你如何阅读源码。 事情大概是这样的,前段时间,我收到了一个读者发来的类似于这样的示例代码: 他说他知道这三个案例的回滚情况是…

详解TCP

目录 1.TCP概论 1.1.什么是TCP 1.2.TCP连接的建立过程 1.3.TCP的传输过程 1.4.TCP连接的释放过程 2.JAVA中的TCP 3.TCP带来的一些性能问题 1.TCP概论 1.1.什么是TCP 为了保证所有设备能相互通信,从而建立了一张互联互通的计算机网络,在这张大网…

使用java.lang.Record类删除样板代码

样板是一个源自钢铁制造业的术语,其中形成模具以铸造类似的物体。在编程世界中,样板代码是代码的一部分,项目里面使用的地方很多,但是通常创建完成之后就很少或者就不会更改了。在Java中,不可变的数据载体类用于与数据…

SpringBoot第13讲:SpringBoot接口如何参数校验国际化

SpringBoot第13讲:SpringBoot接口 - 如何参数校验国际化 本文是SpringBoot第13讲,上文我们学习了如何对SpringBoot接口进行参数校验,但是如果需要有国际化的信息(比如返回校验结果有中英文),应该如何优雅处…

【C++】vector介绍及使用

🚀 作者简介:一名在后端领域学习,并渴望能够学有所成的追梦人。 🚁 个人主页:不 良 🔥 系列专栏:🛸C 🛹Linux 📕 学习格言:博观而约取&#xff0…

【智能座舱系列| 域控制器】——座舱域控制器

传统多芯片架构 原来的座舱里面的控制器基本上是分开的,导航主机是一家,液晶仪表是一家,同时还有一个AVM全景一家,还有TBOX等,这里线束连接就非常复杂,而且不同供应商直接的协调调试也非常复杂。 上图是IMX6 的多芯片方案,液晶仪表、中控导航、后排娱乐都使用了IMX6最小…

axure可视化大屏模板200例 •axure模板 大屏可视化 •axure数据可视化原型 •axure可视化组件 •axure

可视化axure原型可视化大屏模板200例,带动画效果,可直接复用 axure可视化大屏模板200例 axure可视化大屏模板200例数据可视化原型可视化组件下载—无极低码 axure模板 大屏可视化axure数据可视化原型axure可视化组件axure原型演示axure绘制界面原型图…

AI日报|哈佛“AI教授”即将上线;首个生成式AI技能专业证书来了;电话推销员很烦?AI帮你“制裁”他

今日值得关注的人工智能新动态: 将GPT-4用在课程设计中 哈佛大学“AI教授”即将上线 微软推出首个生成式AI技能专业证书 纽约州议会:伤害或羞辱他人的deepfake是非法的 阿诺德施瓦辛格:《终结者》中的AI已成现实 AI诊断“老年痴呆”&…

大数据分析案例-基于决策树算法构建信用卡欺诈识别模型

🤵‍♂️ 个人主页:艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞&#x1f4…