非实时采样与实时采样
ADC 应用模块传递给 ADCIM 的采样命令分为以下两类,用来实现非实时采样和实时采样功能:
注: 关于采样命令详细说明,可查看
采样命令接口说明。
- 低优先级命令:通常是面对非实时需求的场景。
例如,在 GPAI 的多数应用场景,以及 THS 温度传感器采样的应用场景中,没有严格的完成时间要求(时序要求),只需要在大概的时间内对某个输入量进行采样量化并返回给 ADC 应用模块即可。
- 高优先级命令:通常是面对有实时性需求的场景。
例如,RTP 模块的采样需要配合使用外部的驱动电路, 有较高的时序要求。RTP 模块需要明确知道采样的起始和结束时间,而且期望在较快的时间内完成采样,以获得更好的用户体验。
对于低优先级与高优先级命令,ADCIM 模块内部有不同的处理和响应机制:
- 高优先级命令 (PRI = 1) 的响应优先级高于低优先级命令 (PRI = 0)。
- 对于同时接收到的、优先级相同的命令,使用轮询的机制,从通道号小的先开始。
- 低优先级命令响应机制为先请求先排队先装入 FIFO 进行排队并等待响应。
- 对于同时请求的命令,使用轮询的机制,从通道号小的先开始。
- 高优先级的实时命令不会经过 FIFO,直接参与仲裁响应。
如低优先级与高优先级命令的响应机制举例所示,其中 PRI 表示优先级,CH
表示通道号,响应的优先顺序如下:
- CH6 (PRI=1)、CH7 (PRI=1)、CH15 (PRI=0) 与 CH0 (PRI=0),同时先发出采样请求。
- CH1(PRI=0) 与 CH2 (PRI=0) 发出采样请求。
- CH8 (PRI=1) 发出采样请求
根据高低优先级的响应机制,最终采样执行的先后顺序为
。