DSP缓冲区限制

⚠️
嗨,...感谢您来论坛。令人兴奋的消息!我们现在正在迁至我们的新论坛平台,将提供更好的功能,并包含在主对话框网站中。所有帖子和帐户都已迁移。我们现在只接受新论坛上的流量 - 请发布任何新线程https://www.dialog-seminile.com/support.。我们将在未来几天修复错误/优化搜索和标记。
4个帖子/ 0新
最后一篇
Greaversinator85.
离线
最后一次露面:3年2个月前
加入:2016-09-20 17:02
DSP缓冲区限制

你好,

我目前正在使用DA14580的DSPS程序。我明白DSP包含了对主机微控制器的外出和入站传输的缓冲区,我的问题是默认情况下这些缓冲区的大小,可以更改此尺寸,大小限制有哪些尺寸?

此外,如果主机微控制器连续地写入缓冲器而没有连接蓝牙设备时,则DSP的预期行为是什么?我发现设备停止运行,但如果我应该在编写每个人的角色后监视流量控制硬件线?或者是否有办法检测设备是否已连接?

问候,
杰克

设备:
mt_dialog.
离线
最后一次露面:3个月3天前
职员
加入:2015-06-08 11:34
嗨greavesinator,

嗨greavesinator,

DSP设备实现了两个缓冲区,一个缓冲区用于Incomming数据和用于传出的附加缓冲区(BLE_TO_PERIPH_BUFFER和PERIPH_TO BLE_BUFFER),分别为1800和500字节,您可以更改缓冲区的大小(虽然我没有看到任何这样做的原因)以及您对此可以在580上分配多少堆内存的限制。

如果我们假设主机写入到DSP FW加载的580中,DSP将保持清醒(因为它在广告事件之间睡眠不到,因为它将至少有一个字节发送但没有连接发送到),捕获在数据到达RX的缓冲水印之前,一旦发生设备将发出流量,以便防止外部设备发送更多数据,如果您不使用流量控制,或者exteNal设备不会尊重流动该设备将简单地填写整个缓冲区,最终将断言警告(由于其缓冲区被填充的事实,由于其缓冲区的事实而粘在FW断点中)。是的,有一种方法可以检测设备是否已连接,只需检查任务_App(Ke_State_Get(Task_Apd))的状态。如果设备处于APP_CONNECTABLE状态,则表示设备已准备就绪及其广告。

谢谢mt_dialog.

Greaversinator85.
离线
最后一次露面:3年2个月前
加入:2016-09-20 17:02
谢谢mt_dialog,

谢谢mt_dialog,

所以我目前正在使用硬件流控制。达到RX水印后,我应该看到设备设置RTS线吗?因此,通过写入DA14580并监视字节之间的RTS线,我应该能够避免过度缓冲区并导致警告?

道歉,我的意思是主机检测DA14580当前是否连接到设备,例如DSPS应用程序。

问候,
杰克

mt_dialog.
离线
最后一次露面:3个月3天前
职员
加入:2015-06-08 11:34
嗨greavesinator,

嗨greavesinator,

仅当缓冲区填充到RX水印时,设备才会关闭流量,当设备睡眠时,在广告字符串之间睡眠时,例如(缓冲区中没有数据)或之间的数据)连接事件。您将流出的事实不会指示设备已连接。

谢谢mt_dialog.