返回
当前 - 选择题 - 输入输出系统
困难
题号:0120210500013
单选题
2021年5月第13题

在一个具有 72 MHz 的 Cortex-M3/M4 系统下,使用中断模式来接收串口数据,其波特率为 115200。假设该系统的串行接口没有硬件 FIFO,波特率是115200,数据格式采用 "1起始位+1终止位+无校验位+8数据位",则其最大允许屏蔽中断的时间约是(87 μs)。

问题(1)
浓缩知识点
知识点

串口采用中断模式接收且无硬件FIFO时,最大允许屏蔽中断的时间等于单帧串口数据的完整传输时长,原因是无硬件FIFO的串口每完成一帧数据接收就会触发中断,若中断屏蔽时长超过单帧传输时间,后续接收的数据会因无法及时响应中断而丢失。单帧传输时长可通过单帧总位数除以波特率计算,单帧总位数由起始位、数据位、可选校验位、停止位共同组成;波特率指每秒传输的二进制位数,它与单帧传输时长成反比,波特率越高,单帧时长越短,允许屏蔽中断的时间也越短。若串口带有硬件FIFO,最大允许屏蔽中断时间可延长至FIFO可容纳的多帧数据总传输时长,因为FIFO能暂存多帧数据,无需每帧都立即响应中断。此外,这类场景下Cortex-M系列内核的系统时钟不直接影响该时间的计算,核心影响因素为波特率与帧结构。

正确答案
B

本题考察的是最大允许屏蔽中断时间的计算。

计算过程:

  1. 波特率 = 115200 bit/s
  2. 每帧数据结构 = 1 起始位 + 8 数据位 + 1 停止位 = 10 bit/帧
  3. 每秒传输的帧数 = 115200 ÷ 10 = 11520 帧/秒
  4. 每帧传输所需时间 = 1 ÷ 11520 ≈ 86.8 μs ≈ 87 μs

由于系统在没有硬件 FIFO 的情况下,每帧数据接收完毕即触发一次中断,因此 CPU 在一个完整帧传输周期内至少要响应一次中断。否则数据将丢失。因此,最大允许屏蔽中断的时间就是一帧数据的持续时间,即约 87 μs。
因此,正确答案是 B. 87 μs。

联系我们
隐私协议
用户协议
微信公众号
知乎
小红书
浙ICP备2021029036号
@2022-2026
嘉兴市安芯网络科技有限公司 版权所有