DSPS应用设备端产品代码配置

25个职位/ 0个新职位
最后发表
imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
DSPS应用设备端产品代码配置

你好,

我想编译DSPS代码,从UART进行产品引导,并使用扩展睡眠支持。

我认为延长睡眠时间的方法如下:

/ * * /睡眠模式
#定义CFG_EXT_SLEEP
/ / # undef CFG_DEEP_SLEEP
/ / # undef CFG_EXT_SLEEP

我是否需要将DEVELOPMENT_DEBUG设置为0?

#定义DEVELOPMENT_DEBUG 0

是否需要为生产代码设置其他标志?

问候,
髂骨

设备:
imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
代码的目的是

该代码用于“设备”端。

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud

嗨imalamoud

您需要将CFG_EXT_SLEEP和DEVELOPMENT_DEBUG定义为0

你也必须

定义APP_BOOT_FROM_OTP如果你打算烧固件在OTP,

如果设备要从OTP读取NVDS数据,则定义READ_NVDS_STRUCT_FROM_OTP

定义CFG_WDOG

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
谢谢你!

谢谢你!

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
你好,

你好,

1.我们将通过UART启动而不使用OTP。我是否仍然需要将DEVELOPMENT_DEBUG设置为0(在代码中提到0用于OTP引导)?
2.我根据您推荐的Extended Sleep设置重新编译了代码,并尝试将其加载到我们的测试设置中——分离出通过P0_2、_3和P0_6、_7上的流量控制连接到FTDI UART的BASIC套件的一部分(所有跳线都删除了)。我不能让它做广告,或者在最好的情况下,它会在很短的时间内做广告。尝试硬件和软件流量控制。
然而,一旦我重新编译与延长睡眠禁用它工作良好-广告和连接和流数据。

可能是什么原因呢?

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud

嗨imalamoud

1)是的,你应该设置DEVELOPMENT_DEBUG为0,不必要的代码将进入你的程序,而且看门狗不会重置你的程序如果发生了什么。

2)当使用jtag定义和下载CFG_EXT_SLEEP时,代码是否执行?你对代码做了什么修改吗?

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
你好,

你好,

我们用上面描述的CFG_EXT_SLEEP配置了设备端。

代码通过UART上传。HW流量控制设置。

设备很好地连接和发送数据。

但最低功耗始终在600uA左右。看起来它并没有进入长时间睡眠。

我们可能错过了什么?

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud

嗨imalamoud

通过定义CFG_UART_HW_FLOW_CTRL,您可以设置设备在RTS/CTS(为其他帖子)下操作。

如何测量设备的电流消耗?你能从智能手机的片段中看出你的设备没有进入长时间睡眠状态吗?

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
感谢您的回复。

感谢您的回复。

研制了一种基于14580模块的小型接口板,并利用高质量的福禄克微安表直接在接口板的电路中进行测量。
这样的测量对我们来说非常常见,因为我们的产品(电池供电的LCR仪表镊子)的睡眠电流低于2uA和电流
必须经常检查(电池小)。所以不太可能出现测量误差。

数据包(10字节)每秒发送一次。在数据包之间拉出RTS。为了发送数据,RTS被下拉,我们等待CTS。

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
那么原因是什么呢

那么,不进入睡眠模式的原因可能是什么呢?

BB_Dialog
离线
最后看到:9个月2周之前
工作人员
加入:2013-12-05 14:44
嗨imalamoud,

嗨imalamoud,

600 μ A很可能是由连接的调试器引起的。
当我离开JTAG/SWD连接时,我也读到大约0.6mA。

当处于空闲模式(通电,但没有代码运行)时,我也测量了大约0.6mA。
在这种情况下,可能是设备没有进入你所说的睡眠模式。

是否在同一电源上的其他设备会导致高睡眠电流?

最好的问候,BB_Dialog。

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
你好,

你好,

JTAG/SWD未连接。单板是独立的,只有UART引脚,HW复位和上电连接器。电流直接在电路板上测量,所以没有其他设备。

再一次,也许我们做了不正确的DSPS CTS/RTS控制。

我们配置CFG_UART_HW_FLOW_CTRL,并在RTS/CTS下操作。

数据包(10字节)每秒发送一次。在数据包之间拉出RTS。为了发送数据,RTS被下拉,我们等待CTS。

这是正确的吗?

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
原因是什么呢

不进入睡眠模式的原因可能是什么?我们尝试了几个模块。

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
原因是什么呢

不进入睡眠模式的原因可能是什么?我们尝试了几个模块。

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud,

嗨imalamoud,

我们唯一能想到的是,也许因为DSPS的连接间隔是两个小12.5毫秒(提供少量睡眠),有可能仪器没有显示实际的电力消耗。您可以尝试测量发布模式下的功耗(间隔更大)或更改(仅用于测试,这将减少数据量)连接间隔参数(#define APP_PARAM_UPDT_INTV_MIN 10 //N*1.25ms)并再次测量。此外,请尝试使用分析仪测量功率,以确保设备没有休眠。

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
你好,

你好,

让我re-cap:

- 14580安装在一个单独的模块板。单板与MSP430相连接。只有5引脚14580被使用- PO分配为RX/TX/CTS/RTS和Reset。
-我们启动它与DSPS设备侧。延长睡眠时间。
-使用优质仪器可在电池处测量消耗电流。
—MSP430处于休眠状态时不使用14580板消耗1.2uA。
-一旦板连接,即使MSP430休眠消耗始终稳定在600uA。
重复一遍,MSP430进入了睡眠模式。

你能详细解释一下吗-我们是否需要拉起或拉下一些引脚(例如RTS)或将它们设置为第三状态?针?
14580可以通过输入消耗电流吗?

请帮助我们,因为我们真的撞到了这个街区,不能继续前进。

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
对此有何评论?

对此有何评论?

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
我可以把原理图发给你。

我可以把原理图发给你。

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud,

嗨imalamoud,

给我们点时间,我们正在查。

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
你好,

你好,

相当一段时间过去了。

这个问题仍然存在于我们的生产设备中。

你有什么想法可以试试吗?

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud,

嗨imalamoud,

我不认为这个问题与事实580都不是睡觉,而是应该有某种泄漏定制董事会通过针,如果你有一个销引体向上和连接销是一个下拉然后会有泄漏。在dsp应用中,RX和CTS都是上拉的,所以当设备休眠时,外部MCU的引脚被下拉,就会产生泄漏。试着一个接一个地移除引脚,并检查系统的总电流消耗是否下降。

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
感谢您的快速回复

感谢您的快速回复

MCU引脚被转到第三个状态(切换到输入)来启动睡眠。它会导致泄漏吗?还有,会不会是0.5mA的泄漏?

为了验证,我已经配置了以下参数

#定义CFG_MEM_MAP_EXT_SLEEP
# undef CFG_MEM_MAP_DEEP_SLEEP

# undef CFG_DEVELOPMENT_DEBUG

app_default_sleep_mode = ARCH_EXT_SLEEP_ON;

我在配置中遗漏了什么吗?

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud,

嗨imalamoud,

不,如果你有外部MCU的引脚,我不认为应该有任何形式的泄漏。所以我认为fw运行时,580是连接和发布(只是为了让事情清楚,设备休眠之间的广告事件),是否有任何机会有未决的数据在DSPS队列?例如,当设备发布其接收数据时,这将使设备保持清醒(甚至一个字符将使设备在发布时处于无睡眠模式)。所以也许580在某个时候从设备接收到垃圾,因为没有连接,所以没有地方可以发送数据,所以它一直保持清醒,直到连接建立。您也可以将580从MCU中分离出来,单独测量功耗,以隔离问题(检查它是否与外部MCU有关或仅与580有关)。

由于MT_dialog

imalamoud
离线
最后看到:4个月2周之前
加入:2014-11-16 21:34
我们注意到CTS-RTS

我们注意到,当CTS-RTS与MCU断开连接时,每3.5毫秒这580个引脚上仍有一些活动。
它告诉你什么了吗?我们是否可以不经意地启用(或左启用)某个计时器?

MT_dialog
离线
最后看到:三个月三个星期前
工作人员
加入:2015-06-08 34
嗨imalamoud,

嗨imalamoud,

我不这么认为,DSPS并没有使用任何计时器来驱动RTS,每次设备醒来并宣传它放下RTS,以表明接收可以执行,因为它已经醒来,当应用在发布广告时,它会将RTS保持在较低的5毫秒内并休眠(因此RTS会在100毫秒内处于较高水平,即广告间隔)。当设备连接时,RTS会在2.5毫秒内处于低状态,在10毫秒内处于高状态。

由于MT_dialog