打印
[应用相关]

应用笔记|S2-LP 的 FIFO 机制

[复制链接]
228|2
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
目录预览


1 引言
2 应用场景
3 实验结果
4 小结


1. 引言
众所周知,S2-LP 拥有两个数据 FIFO,一个用于数据传送,另外一个用于数据接收, 它们各自的长度均为 128 字节。针对普通的小数据量而言,128 字节长度的 FIFO 基本上 可以满足大部分应用。但是,随着应用越来越复杂以及对数据量的需求越来越大,128 字 节就不够用了,此时就需要对 FIFO 进行管控,才能接收或者发送更多的数据。本文将详 细介绍 S2-LP 针对大数量场景时的 FIFO 机制。




2. 应用场景
为了更好地阐述 S2-LP 针对大数据量传输时的 FIFO 机制,这里以发送/接收 500 字节 的数据内容为例,讲解 S2-LP 如何管控 FIFO 来达到这个目的。对于 TX/RX FIFO 而言, 它们均有两个可编程的阀值,S2-LP 就是基于这两个阀值来对 TX/RX 的 FIFO 进行管控, 具体如下图 1 所示:


2.1 TX FIFO
由上述的内容可知,当 TX FIFO 中的数据达到对应的阀值时,就会产生相应的中断, 从而通知用户做出下一步的动作。对于可编程阀值而言,S2-LP 有专属的寄存器 FIFO_CONFIG1、FIFO_CONFIG0 来配置这两个阀值,如下所示:


1. FIFO_CONFIG1[6:0]-->TX_AFTHR,用于设置 FIFO Almost Full 阀值
2. FIFO_CONFIG0[6:0]-->TX_AETHR,用于设置 FIFO Almost Empty 阀值


由于 S2-LP FIFO 的特性,这两个阀值的配置是不一样的。例如,当用户希望 TX FIFO 达到 80 Bytes 时,产生 FIFO Almost Full 中断,那么 TX_AFTHR = 128 - (80-2);而当用户希望 TX FIFO 达到 20 Bytes 时,产生 FIFO Almost Empty 中断,那么 TX_AETHR = 20。因此,如果 S2-LP 要发送 500 字节的数据,就需要利用这两个中断, 即当 FIFO Almost Full 中断触发时,及时将数据传送出去,而当 FIFO Almost Empty 中断 触发时,及时将剩余的数据填充至 TX FIFO。


2.2 RX FIFO
同理,当 RX FIFO 中的数据达到对应的阀值时,也会产生相应的中断 ,从而用户可以根 据中断做出下一步的动作;S2-LP 有专属的寄存器 FIFO_CONFIG3、FIFO_CONFIG2 来配 置这两个阀值,如下所示:


1. FIFO_CONFIG3[6:0]-->RX_AFTHR,用于设置 FIFO Almost Full 阀值
2. FIFO_CONFIG2[6:0]-->RX_AETHR,用于设置 FIFO Almost Empty 阀值


但是,相较于 TX FIFO 的阀值设置,RX FIFO 有些许不同,即当用户希望 RX FIFO 达到 80 Bytes 时,产生 FIFO Almost Full 中断,那么 RX_AF_THR = 128 - 80;而当用户希望 RX FIFO 达到 20 Bytes 时,产生 FIFO Almost Empty 中断,那么 RX_AE_THR = 20。因此,如 果 S2-LP 要接收 500 字节的数据,就需要利用 FIFO Almost Full 中断,当其触发时,及时将 数据从 RX FIFO 取走,从而陆陆续续地将这 500 字节的数据获取到。


使用特权

评论回复
沙发
STM新闻官|  楼主 | 2023-5-24 15:08 | 只看该作者
3. 实验结果
基于上述的内容,利用 S2-LP FIFO Almost Full 和 FIFO Almost Empty 的机制就可以实 现大数据传输的场景,测试结果如下图 2 所示,其中对应的源码文件见下述的附件:



其中测试结果中的 DATA_CORRECT 意思是说,发送的数据与接收的数据是一致的。


4. 小结
本篇章重点描述了 FIFO Almost Full 和 Almost Empty 工作原理及特性,并利用该特性 实现了 500 字节的数据透传。同时也给需要使用数据量比较大的应用场景,提供一个很好 的参考样例。

使用特权

评论回复
板凳
STM新闻官|  楼主 | 2023-5-24 15:11 | 只看该作者
查看完整内容请点击下载原文档。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

认证:意法半导体(中国)投资有限公司
简介:您的嵌入式应用将得益于意法半导体领先的产品架构、技术、多源产地和全方位支持。意法半导体微控制器和微处理器拥有广泛的产品线,包含低成本的8位单片机和基于ARM® Cortex®-M0、M0+、M3、M4、M33、M7及A7内核并具备丰富外设选择的32位微控制器及微处理器。

500

主题

627

帖子

16

粉丝