人工智能
最新课程
- TI 高压研讨会
- 从零开始学 PSpice® for TI 仿真工具 - 手把手操作实训课程
- 高压系统功能安全简介
- 揭秘高压应用安规中的电气间隙和爬电距离
- 管理微型逆变器中的电源转换挑战
- 比较三相工业系统的交流/直流电源转换拓扑
- 隔离认证概述及其对高压设计的意义
- 在基于 GaN 的电源中实现钛金级效率
- 提高 800V SiC 牵引逆变器效率和功率密度的主要设计注意事项
- 如何设计安全可靠和高效的储能系统
热门课程
TI-RSLK 模块 18 - 讲座视频 - 串行通信 - UART
[音乐播放]
大家好,我是
这节课我们将介绍通信。在通信问题部分,我们首先来讨论一下
一种叫做先入先出队列的
重要数据结构。
我们现在要做的是,创建该缓冲器,
以便在数据流过系统时
存储数据。
这是一个非常重要的数据结构,
一般用于复杂的系统,具体来说
是通信系统。
接下来,我们将讨论一些定理
和一些性能指标。
现在,我们开始吧。
好的,这个先入先出队列
是一个缓冲器,对吧?
它会存储数据。
我们将会在能产生数据的
系统中使用该缓冲器。
这个系统可能是一个输入设备,
也可能是一个软件。
在另一个流程中,会使用或销毁
数据。
它会处理这些数据,然后这些数据就没用了。
我们要做的是,在数据从生成器
传输到使用器时,将其临时存储在
此
在执行放置操作时,我会将其放在列表的末尾。
在执行获取操作时,我会从列表的
开始位置进行获取。
通过这种方式,该结构便成为了保序结构。
它的优点是,我可以对两个流程的执行
过程进行解耦。
所以,我可以生成几个,使用一个,然后再生成
几个,再使用几个。
通过这种方式,便无须再以锁步方式
运行生成器和使用器。
我可以对在整个系统中流式传输的数据进行缓冲。
这将是一个非常重要的结构。
下面,让我来演示一下它是如何运作的。
这个系统会有很多实现结构,
这个是最简单的结构之一,但它是一个缓冲器。
我为它分配了固定大小的空间。
这是一个有限缓冲器。
这个
我不会让它一直走到
会更简单。
但我将会使用两个指标。
一个告诉我最早的数据的位置。
GetI
即这条线的开头,
它告诉我下一个要获取的数据是哪个。
第二个指标叫做
该指标指向这条线的末尾,
即我接下来要放置数据的空白点。
在这个特殊的例子中,如果
则表明该
让我来演示一下,
我将会把五个东西放进
然后取出五个东西,
我们来看看这个操作是如何实现的。
首先,我将会把数据放在
PutI
所以,这便是进入这个地方的全部数据。
然后,我将会把它存储在
然后使
下一个数据,我将会放在这里。
所以,如果我再次调用,第二个数据便会
出现在这里,且
然后是第三次调用。
这是第一个。
这是第二个。
这是第三个,也是最新的一个。
但是,现在我需要将
因为这是一个有限缓冲器,需要重复使用数据。
然后,我放置第四个数据。
这是最早的数据。
这是最新的,对吧?
这便是我放入的数据。
每次放置后,我都会将数据存储在
并使
很明显,我将会把下一个放在这里。
因此,这是第一个、第二个、第三个、第四个和
第五个。
在这个特定队列中,GetI
PutI
下一个东西的位置。
让我们调用
同样,当我调用
所以,这个数据会被删除,
我将会读取
我将会获取下一个。
也就是这个。
我读取
在取出这个后,我需要
将
如果您记得,这是
我放入了这五个东西,并且已经删除了
第
最早的数据是第四个。
所以这个会被删除。
同样,我会第四次调用
现在,GetI
调用
这个会被删除。
现在,GetI
表明该
虽然现在与开始时的
情况不再一样,但是,如果
在函数开始时等于GetI,便表明
FIFO
好的,这里的几个流程图
从根本上解释了我刚刚在
换句话说,它可以存储
如果有
如果有
将数据存储在
同样,对于
如果
我将会返回清空错误。
如果有
从
并返回成功的结果。
所以,系统有许多实现方式,
但这是相当简单的一个。
让我们来讨论一下一个有趣的定理,利特尔定理。
让我们以桥为例讨论一下,好吧?
假设
汽车将会通过这座桥,对吧?
我们将会定义
存在的汽车的总数,
也就是数据包的总数。
我们会在桥上的FIFO
数据包,并有一个处理中的数据包。
因此,系统中总共有
如果我们考虑每秒钟的数据包到达率,
或者也可以想成每秒的汽车到达率,
然后我们使用利特尔定理来定义平均到达率,
也就是数据包的平均
响应时间。
相当于,如果汽车驶往桥的前面,
要用多少秒
才能通过这座桥?
如果我知道数据包进入我的系统的到达率,
而且知道桥上的汽车总数,也就是,
FIFO
再加上
那么,我便可以使用利特尔定理来评估
N、λ
例如,R
数据包数量,也就是
FIFO
除以进入系统的数据的到达率。
这样,便可以确定系统的平均
响应时间。
从这个角度来看,队列是我们处理
数据流问题时的一个有趣的
处理和研究对象。
综上所述,我们使用
生成器和使用器之间暂时存储数据。
我们了解了利特尔定理。
这是从实验
我所做的便是定期测量FIFO
我执行了很多次,因此您可以
看到成千上万的测量数据。
在本实验中,不存在
数据包的数量超过
因此,我们可以看到,在这个特定的
或者说
这个特定的生成器和使用器用例中,
如果我选择大小为
这便是在实验中绘制这个直方图的
好处之一,因为您可以了解
怎样才能确保FIFO
希望您喜欢本次实验。
这是一个非常重要的实验,
介绍了通信的概念以及数据
如何在系统中流动。
祝您学习愉快!
[音乐播放]
- 未学习 TI-RSLK 模块 1 - 讲座视频 – 使用 CCS 在 LaunchPad 上运行代码
- 未学习 TI-RSLK 模块 1 - 实验视频 1.1 – 安装 tirslk_maze
- 未学习 TI-RSLK 模块 1 - 实验视频 1.2 – 安装 CCS 和调试
- 未学习 TI-RSLK 模块 1 - 实验视频 1.3 – 运行 TExaS 逻辑分析仪
- 未学习 TI-RSLK 模块 1 - 实验视频 1.4 – 运行 TExaS 示波器
- 未学习 TI-RSLK 模块 2 - 讲座视频 – 电压、电流和功率
- 未学习 TI-RSLK 模块 2 - 实验视频 2.1 – 测量电容器的阻抗
- 未学习 TI-RSLK 模块 2 - 实验视频 2.2 – LED (I,V) 响应曲线、指数关系
- 未学习 TI-RSLK 模块 3 - 讲座视频 - ARM Cortex M 架构
- 未学习 TI-RSLK 模块 3 - 讲座视频 - ARM Cortex M 组件
- 未学习 TI-RSLK 模块 3 - 实验视频 3.1 - 调试解决方案、可视化、断点和单步执行
- 未学习 TI-RSLK 模块 4 - 讲座视频 - C 语言编程
- 未学习 TI-RSLK 模块 4 - 讲座视频 - 设计
- 未学习 TI-RSLK 模块 4 - 讲座视频 - 调试
- 未学习 TI-RSLK 模块 4 - 实验视频 4.1 - 调试解决方案、可视化、变量、单步执行
- 未学习 TI-RSLK 模块 4 - 实验视频 4.2 - 调试解决方案、可视化、断点、单步执行
- 未学习 TI-RSLK 模块 5 - 讲座视频 - 电池和电压
- 未学习 TI-RSLK 模块 5 - 实验视频 5.1 - 测量电池的电压和电流
- 未学习 TI-RSLK 模块 5 - 实验视频 5.2 - 连接电机驱动器和配电板
- 未学习 TI-RSLK 模块 6 - 讲座视频 - GPIO MSP432
- 未学习 TI-RSLK 模块 6 - 讲座视频 - GPIO 编程
- 未学习 TI-RSLK 模块 6 - 实验视频 6.1 - 演示反射传感器的工作原理
- 未学习 TI-RSLK 模块 6 - 实验视频 6.2 - 演示实验解决方案 - 测试线路传感器
- 未学习 TI-RSLK 模块 7 - 讲座视频 - 有限状态机理论
- 未学习 TI-RSLK 模块 7 - 讲座视频 - 有限状态机线路跟踪器
- 未学习 TI-RSLK 模块 7 - 实验视频 7.1 - 运行 FSM 启动代码
- 未学习 TI-RSLK 模块 7 - 实验视频 7.2 - 运行解决方案代码 - 设计更好的 FSM
- 未学习 TI-RSLK 模块 8 - 讲座视频第一部分 - 开关
- 未学习 TI-RSLK 模块 8 - 讲座视频第二部分 - 连接输入和输出 - LED
- 未学习 TI-RSLK 模块 8 - 实验视频 8.1 - 连接开关和 LED 以及调试
- 未学习 TI-RSLK 模块 9 - 讲座视频 - SysTick 计时器 - 理论
- 未学习 TI-RSLK 模块 9 - 讲座视频 - SysTick 计时器 - PWM
- 未学习 TI-RSLK 模块 9 - 实验视频 9.1 - 演示通过调整占空比来运行检测信号
- 未学习 TI-RSLK 模块 9 - 实验视频 9.2 - 演示通过运行正弦波输出来调整功率
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - 理论
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - 中断
- 未学习 TI-RSLK 模块 10 - 讲座视频 - 调试实时系统 - SysTick 中断
- 未学习 TI-RSLK 模块 10 - 实验视频 - 演示运行线传感器和黑匣子记录器
- 未学习 TI-RSLK 模块 11 - 讲座视频 - 液晶显示屏
- 未学习 TI-RSLK 模块 11 - 实验视频 11.1 - 演示 LCD 界面
- 未学习 TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 物理
- 未学习 TI-RSLK 模块 12 - 讲座视频 - 直流电机 - 接口
- 未学习 TI-RSLK 模块 12 - 实验视频 12.1 - 演示电机基础知识
- 未学习 TI-RSLK 模块 12 - 实验视频 12.2 - 演示机器人以预设模式移动
- 未学习 TI-RSLK 模块 13 - 讲座视频 - 周期性输入
- 未学习 TI-RSLK 模块 13 - 讲座视频 - 脉宽调制
- 未学习 TI-RSLK 模块 13 - 实验视频 13.1 - 通过计时器产生的 PWM 输出来旋转电机
- 未学习 TI-RSLK 模块 13 - 实验视频 13.2 - 测量中断延迟
- 未学习 TI-RSLK 模块 14 - 讲座视频 - 实时系统 - 理论
- 未学习 TI-RSLK 模块 14 - 讲座视频 - 实时系统 - 边沿触发中断
- 未学习 TI-RSLK 模块 14 - 实验视频 14.1 - 使用边沿触发中断为碰撞开关提供实时响应
- 未学习 TI-RSLK 模块 15 - 讲座视频 - 数据采集系统 - 理论
- 未学习 TI-RSLK 模块 15 - 讲座视频 - 数据采集系统 - 性能测量
- 未学习 TI-RSLK 模块 15 - 实验视频 15.1 - 使用 ADC 测试红外距离测量
- 未学习 TI-RSLK 模块 16 - 讲座视频 - 转速计 - 输入捕捉
- 未学习 TI-RSLK 模块 16 - 讲座视频 - 转速计 - 接口
- 未学习 TI-RSLK 模块 16 - 实验视频 16.1 - 测试转速计以测量速度
- 未学习 TI-RSLK 模块 17 - 讲座视频 - 控制系统
- 未学习 TI-RSLK 模块 17 - 实验视频 17.1 - 演示控制系统 - 积分控制
- 未学习 TI-RSLK 模块 17 - 实验视频 17.2 - 演示控制系统 - 比例控制
- 未学习 TI-RSLK 模块 18 - 讲座视频 - 串行通信 - UART
- 未学习 TI-RSLK 模块 18 - 讲座视频 - 串行通信 - FIFO
- 未学习 TI-RSLK 模块 18 - 实验视频 18.1 - 演示 UART
- 未学习 TI-RSLK 模块 18 - 实验视频 18.2 - 命令解释器
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 无线
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 理论
- 未学习 TI-RSLK 模块 19 - 讲座视频 - 低功耗蓝牙 - 简单网络处理器
- 未学习 TI-RSLK 模块 19 - 实验视频 19.1 - 演示 BLE
- 未学习 TI-RSLK 模块 19 - 实验视频 19.2 - 与机器人通信
视频简介
TI-RSLK 模块 18 - 讲座视频 - 串行通信 - UART
学习FIFO队列、缓冲I/O和利特尔法则,测量带宽和响应时间。