STM新闻官 发表于 2023-5-24 15:07

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

目录预览


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 所示:
data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWMAAAD7CAYAAAC/gPV7AAAgAElEQVR4nO3deXxU1f3/8desmewLSQgEAoFAhAICggU1iOKCVRY3KGDZoqKi369aUPjZflW+j1qtWrWioC0iKJSlgIAgmyyyb7IvIZCVJGSdMMkks9yZ8/uD5n5FgqCtciuf5+PBg0fOPefcc+/MvOfMubOYlFIKIYQQV5T5Sg9ACCGEhLEQQhiChLEQQhiAhLEQQhiAhLEQQhiAhLEQQhiAhLEQQhiAhLEQQhiAhLEQQhiAhLEQQhiAhPFVrri4mP379190ezAYZPPmzT/hiIS4Olmv9ADElVVWVka3bt3o3r07Xq+XoqIikpOTiYyMRClFWVkZubm5FBQU0LJlS71dVVUVcXFxl72f8vJyEhISyMnJoU2bNnp5aWkpTZs2/c62Xq+Xhq9QcTgcenldXR0Wi4VgMEhISAhm88XnFoFAAL/fj8lkIhgMAmC1WrHZbHg8HgBMJhOBQICwsDD8fj/BYBCllL7v0NBQvb+amhpMJhMRERGXfQ6E+C4yM77KRUVFAbB3717uuusuqqursdvtmEwmMjIymDlzJgAtW7ZEKcX69esZP348Dz300GX1f+DAAVq3bk2rVq1o164dL774IgDbtm2jdevWtGzZkl69elFaWnrRPu6//35SUlLo0aMHPp9PL09KSqJ9+/a0b9+eVq1a8T//8z8X7WPevHk0b96c9u3bk56eTkpKChkZGQAMGDCANm3a0L59e1q0aMHGjRvp378/bdu2JT09nfbt25OUlMSUKVMAeOWVV0hOTqZZs2bMnTv3ss6DEJekxFXt5MmTquFuAChAvfbaawpQ48ePV19//bW+XdM09eKLL6qYmBjVt2/fy+ofUEuWLFFKKTVx4kTVoUMHvXzq1KlKKaUSEhJU//79L9qHy+VSgDp27Nh55XPmzFHh4eFKKaWqqqoUoObPn3/Rflq3bq3GjBmjlFKqvr5eAWrhwoVKKaXmz5+vQkND9bp5eXkKUDt37lRKKfX3v/9dAWr37t0KUHl5eSo/P18B6syZM5d1LoT4LjIzFgD07t2b559/nkGDBvH8888zZMgQpk6det5Lf4vFwksvvcTAgQMJBAKX3XdDH3/6058YP348TqcTOLdeDdCpUyeys7Mv2r5hNuz1ei8ot1gs+P1+YmNjAdi4ceNF+zGZTNhsNgBWrlzJnj176NGjh96XyWTS6zYsXVit51bybDYb+/fv57XXXuOWW26hVatWpKSkEBISos+YhfhXyJqxAGDSpEn07dtXf+keCASorKzE5XJdUPebSwWXMn78eAYNGsRNN93Ee++9x/jx4wHIycmhWbNmeDweNmzYwMyZM9m0aRPr1q3DbrfrY0hISGDw4MGN9m0ymdA0jVOnTunBPmzYsIuOxW638+WXXzJ//nx+/etfc+rUKVq3bn3RvgGmT59OdHQ0CxcuJC8vjx07dtCrVy+9Xu/evb/zAqgQl0tmxle5htDZv38/MTExHDp0iJtv***NmzcTHx9Pv379/qX+p06dyueff05BQQHXXnsts2bNAiA1NRWHw0FMTAz33nsvo0ePJj8/n9zcXPLy8vR/p0+fvugs3Gq1UldXR4cOHXjwwQdZtGiR/mTyXcdbUVEBoF/I+y5er5fy8nL9PNXU1Oizazh3Ue9y+hHiUmRmLACora2lrKwMTdPo3bs3Q4YMYeTIkezbt49x48b9oD41TePvf/87v/nNb8jPz+ett95i9OjRjBo1Cjh3AW7IkCHMnj2bwsJCRo4cyciRIy/op7KystH+g8EgcXFxF93+bT6fj9tuu43x48eTm5urz8Abo/75Doqnn36abt268eyzzwLnllRqamr0evn5+ee9y0SIH0pmxle5htB5/fXXefXVV+nduzf5+fkcP36cnj17c***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2+0mPj6eoqIiOnfurD+YTpw4QVRUFImJiezZs4e0tDTy8vJISkqivLyczp07U1VVxfLly0lLS6N79+6sW7cOl8vFHXfcQVlZGYmJiZSXl9OkSRNqa2tZvXo1/fr1o23bthw+fJi0tDQ2bdqEyWQiNTVVH6O4PEopfv3rX/Ppp59etQ/qy+V0OpkwYQIzZsxodPukSZP4zW9+I/fBn8iPFsZCXAkNYfzJJ5/Ir0NfgtPp5Le//S0fffRRo9snTZrEiBEj6Ny58088squTXCoVQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQggDkDAWQjQqGAxe6SFcVSSMhRCNioqKwmKxXOlhXDUkjIUQjYqLi8PhcFzpYVw1JIyFEI06c+YMLpfrsus/++yzdOnSha+//vq88qNHjzJmzBgSExPp2LEjL7zwAmfPntW319TU8OKLL9K+fXuaN2/O8OHDOXny5EX3s2vXLlq1akVMTMx5/9LT05k4cSKlpaXf6zgPHjzIxx9/jNfr/V7t/u2UED8jwWBQDR06VHm93is9FMOrqqpSY8aMuej2adOmqVWrVl2yH5fLpd5++20FqPj4eLVz505928GDB1W3bt0UoKKiolRISIgC1OjRo5XP51N+v19NnjxZAcput6vIyEgFqIyMDFVQUNDo/rZu3aqsVqsCVExMjIqOjlbR0dF630OGDFG1tbXntQkGg432deTIEdWlSxc1aNCgSx7nxfr4d5GZsRCiUR06dODo0aPfWWfXrl088MADTJ48GQCbzYbZ/H+xsnz5cvbt28fYsWPJyclhw4YNtGvXjqVLl1JcXExRURGffPIJCQkJrF69mkOHDtG/f3+2bNnC4cOHG92nyWQC4K677uL48eOcOnWKkydPsnHjRlJSUvjyyy85deoUa9asYdq0aZSWluptamtrmT17NgsWLKC4uJi//vWvHDlyhJMnTzJt2jTKy8sB8Pv9rF27lg8//JBVq1ZRU1Oj9wFQX1/PqlWrmDp1KjNmzCArK+uHn+h/sv7LPQghfpZ69+7NzJkzqampITIystE6mzZtIjs7m1deeYVPP/2UgoKC87bHxMTQv39/MjMzadKkCT179qRjx46sW7cOTdOw2+0opWjRogU33ngjNpuN9PR0Vq1ahd/v/87xRUVF0bRpU/3v2NhYmjdvTm5uLg6Hg61btzJlyhQcDgdjxowBYO/evYwaNYrBgwcTGRnJ22+/DcCRI0d44oknuPbaa3E4HDzzzDPMmDFD7/uOO+7gww8/pFWrVlRWVvLkk0/y1VdfYTKZqK2tJSwsjPfff5/Bgwf/oHMNyDKF+HmRZYrLd6llCqWUmjFjhpoyZYrKz89XTqdTVVZWqkAgoG8/efKkKisrU0op1bNnT5WQkKB279590f42bdqkYmJiVEZGhqqpqVFKKfXnP/9ZmUwmNXToUDV+/HgVHR2tHnroIVVRUdFoH9u2bVN2u121adNGPf/882ry5MnqueeeU/fee68KCwtT77zzjlJKqaNHjyqLxaKGDRum6urqlFJKTZo0SYWEhKhly5apqqoq9eijj6qQkBCVnp6uXn31VXXmzBn1pz/9SQFq6NCh6i9/+Yt65JFHFKAefvhhFQgE1IIFCxSg76eoqEilpKSo3r17q8LCwss8+xeSmbEQ4qLOnDnD5s2bOXHiBHa7HbPZzCuvvEJCQgIAbdu2Bc69J/lS70veunUrTz75JB6PhxdeeIGIiAgA7rnnHj788EPmz58PQHh4OA888ABNmjS5aF8Wi4WcnBxee+2188pTU1Pp0qULcG6ZpV+/fmzbto1Tp07pM+527dpx3XXXERsby4gRI/jHP/5Bx44def7556mpqWHZsmVERETQv39/0tLSSExMZPXq1Xz11VecOXMGq/VcbL788sscPHiQfv36MWvWLNq1a0ezZs1+wFk+R8JYCNGo4uJiCgsLWbJkCWFhYZhMJpRS562dXq6tW7fywAMPoGkaH3zwAXfeeScARUVFPPbYY5SVlfHmm2+SmJjI9OnTyczMJCwsjNtvv73R/jRNo0ePHkycOBGz2YxSiry8PF5//XWGDh3KkiVLuOGGG7j77rv58ssv2bFjByaTif379zN58mSaN28OnFsbDgaDaJoGnFtTPn36NLW1tYwfP55gMKgfd9u2bXG5XNx6662MGDGCOXPmMGPGDGbMmEFSUhLjxo3j2WefJSoq6gedbwljIUSj9u3bR48ePQgPD9fLfkgQb9y4kQcffJB27doxbdo0rr32Wn3b/v37Wb9+vR5kABEREdx7771s3rz5omHcEI5Dhgw5r7yyspLXXnuNzZs3c8MNNzBgwABee+01li5dyunTpzGZTAwaNOiC/ho+3GKz2QgLC6NZs2bs2LGDlJSU8/bZcPyffvopzz33HMuXL2fXrl2sXLmSl19+mfbt2zN8+PDvfY5A3mcshLiI/Px80tPT/6U+vv76a5566in8fj/PPvssJpOJPXv2sGfPHjRNIy4uDqvVyurVq1myZAnbtm1j7ty5wLkLchdjMpkoKSlh165d7N27l71797J8+XJWrFgBoC+jpKamcvvtt7NmzRr+/Oc/c8cdd9C5c2e9n4blleLiYrZt24ZSioyMDEpKSnjjjTf4+uuvmTdvHt27d+e5557D7XYzY8YM2rVrR0lJCS+88AJLly4lMzMT4JIXHb/TD15tFsKA5ALe5bvUBbz//d//VceOHbusvjRNU506dVIRERFqx44devljjz2mgAv+2e12tX37dlVfX68mTpx4wfbbb79dnTx5stF9bd68udE+G/7169dP5efn6/Xnzp2rbDabAtS0adPO62vfvn0qLS1Nb7tmzRp14MAB1aFDh/P6DAsLUytWrFBKKXXo0CHVsWNHlZaWpsaMGaMyMzNVamqqGjBgwEXfG305ZJlCCNGouro6/WLV5ejTpw8dOnQgJiYGOPfJupCQEPr06YPdbtcv8AWDQcLCwoiMjMThcDBlyhQ6derE559/ztmzZ7nhhht45JFH9HXdb4uNjWXAgAG43W69TClFeHg4PXv2ZNSoUectL9x444106NCBnJycC5Y9OnXqxB/+8Af+/ve/ExoaSosWLejQoQOLFy/mo48+4uDBgyQnJ/PQQw9xyy236G1WrFjBX//6V7Zs2YJSiocffphRo0aRnJx82efr20xKKfWDWwthMEophg0bxuzZs7Hb7Vd6OIbmdDr57W9/y0cffdTo9okTJzJq1Cg6der0E4/s38Pn8+FyuVi+fDlPP/00GRkZfP7551d6WBclM2MhRKMa3qXwn6qgoICuXbvidrsJCQlh5MiRV3pI30nCWAjRqB/yzgkjiYmJoVevXtTW1vLII49w//33X+khfScJYyHEz1J8fDzr1q270sO4bPLWNiGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJYyGEMAAJY/Gzo5S60kMQ4nuzXukBNKa8vM1l0CQAABOzSURBVJyTJ08SHR1Nx44d/+X+fD4fmqYRFhaG3+/n5MmTVFVVERYWRmpqKpqmYbPZyMrKQtM0mjZtStu2bTl27BhOp5M2bdqQlJQEQDAYpKioiKSkJGw22/caRzAYxO12U1dXh8ViIT4+/l8+tqtRSUkJW7ZsoX///kRGRl7p4Qjxb2G4MK6vr2fmzJnU1NTg9XoZPHgwN9xwA3BuxmMymVBK6QGqaRpmsxmlFIFAALvdDpwLPk3TsNvtLFmyhPj4ePr160dRURGvvPIKKS**KenU1NTw5EjR4iJiWHp0qX07NmTrl27UlFRwcKFC4mKikLTNMaNG0dycjL19fW8/fbbTJgwgWbNmgGgaRqapuFwOADwer1YrVYsFgter5dgMEhoaCh79+7l0KFDdOvWjZCQEOLj46mvr8dms2G1WvXjMpvNWCyWK3MD/IeYOHEiM2bMYPz48dx1111Yrf93VzaZTPr9QFxcSEgIJpPpSg9D/JPhwnj79u1ER0fz3HPPEQwGqaur429/+xvXXXcd+/btIzIyku3btxMaGkqnTp1YsmQJAwcO5PDhw1RVVTFx4kT27dvHpk2byM3N5fHHH2f69OmkpaXRr18/AOx2O2lpafTs2ROv10sgEEDTNJo0aUKnTp1o164d77zzDpmZmXTs2JFPPvmEtWvXMnr0aEwmE5qm6XfisrIypkyZQllZGaNGjSIlJYWXX36Zli1bMmHCBNasWcPixYu55557yMnJYevWrdx///107NiRgoIC3n33XTp06MAjjzzCwoULKSwsxOFw8Pvf/574+Hi2bt1KXl4eZrOsKAGYzWZsNhtt27Zl9erVrF69muuuu45XX32V2267DZPJhMvlYvbs2TgcDoLB4JUesiFZLBacTidut/tKD0X8k+HCOBgM4vV6gf9b+3M6nQQCAc6ePUswGCQsLIyHH36YEydO0KdPH1q0aMHs2bOJjIxkzZo1WK1WbrrpJgYOHMixY8e466676N27t95nIBDA5/Pps9aGYPX7/Xi9Xvx+P0opff/fnj2YzWbCwsIAOHDgAF26dOGBBx7gvffe49ChQ/zud7/D4XDg8/lISkrCZDKRm5tL7969ueaaawDIycmhurqaTz/9lHXr1rF9+3Y0TWPChAnMnDmT/Px84uPjsVgs2O12CeN/MplM2Gy28145WCwW/W+lFJ07dwbOvWKR9ePGKaWwWq2kp6df6aGIfzJcGHfv3p3169fzxz/+Eb/fz9133018fDzz58+nqKiIfv36ERMTowdUdHQ0KS**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

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


1. FIFO_CONFIG1-->TX_AFTHR,用于设置 FIFO Almost Full 阀值
2. FIFO_CONFIG0-->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-->RX_AFTHR,用于设置 FIFO Almost Full 阀值
2. FIFO_CONFIG2-->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

查看完整内容请点击下载原文档。
页: [1]
查看完整版本: 应用笔记|S2-LP 的 FIFO 机制