DA1468x崩溃当连接SPI设备在某些别针

⚠️
大家好. .谢谢光临论坛。令人兴奋的消息!我们现在在移动的过程中,我们的新论坛平台,将提供更好的功能和包含在主对话框的网站。所有文章和帐户已经被迁移。我们现在只接受交通新论坛,请发布任何新的线程//www.xmece.com/support。我们将修复bug /优化搜索和标签在接下来的日子里。
9新职位/ 0
最后发表
david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
DA1468x崩溃当连接SPI设备在某些别针

你好,

在我们的定制印刷电路板,我们连接的对话框DA1468x圣微LSM6DSL使用SPI。我们创建了一个雏形PCB,“Proto1”,一切伟大的工作。我们最近创建的第二个PCB原型,“Proto2”,连接LSM6DSL不同DA1468x别针,在引导和现在的1468 x崩溃。

我能复制这个问题使用1.0.12.1078 pxp_reporter样本和1468 x Pro开发包的DA14681 AQFN包。

销连接按我们Proto1 PCB(工作好)

DA1468x SPI1 CLK: P1_3 - > LSM6DSL sci
DA1468x SPI1 DI: P0_7 - > LSM6DSL SDO
DA1468x SPI1: P2_3 - > LSM6DSL SDA
DA1468x CS: P4_7 - > LSM6DSL CS

销连接按我们Proto2 PCB(崩溃)

DA1468x SPI1 CLK: P4_1 - > LSM6DSL sci
DA1468x SPI1 DI: P1_7 - > LSM6DSL SDO
DA1468x SPI1: P1_2 - > LSM6DSL SDA
DA1468x CS: P3_0 - > LSM6DSL CS

在这两个例子,

DA1468x 1 v8p - > LSM6DSL VDD
DA1468x 1 v8p - > LSM6DSL VDDIO
DA1468x接地- > LSM6DSL接地

重现这个问题,将Pro DK连接到LSM6DSL按上面的配置之一,然后修改pxp_reporter软件如下:

1。从pxp_reporter样本1.0.12.1078 SDK
2。custom_config_qspi_suota.h添加以下定义:

#定义dg_configUSE_HW_SPI (1)
#定义dg_configSPI_ADAPTER (1)
#定义dg_configPOWER_1V8P (1)

3所示。添加一个platform_devices。h文件配置目录和定义一个SPI总线和设备:

SPI_BUS (SPI1)

SPI_SLAVE_DEVICE (
SPI1 MY_LSM6DSL,
HW_GPIO_PORT_4 HW_GPIO_PIN_7, / / Proto1 -好的
/ / HW_GPIO_PORT_3 HW_GPIO_PIN_0, / / Proto2 -崩溃
HW_SPI_WORD_8BIT、HW_SPI_POL_HIGH HW_SPI_PHA_MODE_1,
HW_SPI_FREQ_DIV_2, 1);

SPI_BUS_END

4所示。在主要periph_init函数。c, SPI配置引脚:

如果1号

/ / Proto1 -好的
#定义SPI_CLK_PORT HW_GPIO_PORT_1
#定义SPI_CLK_PIN HW_GPIO_PIN_3
#定义SPI_DI_PORT HW_GPIO_PORT_0
#定义SPI_DI_PIN HW_GPIO_PIN_7
#定义SPI_DO_PORT HW_GPIO_PORT_2
#定义SPI_DO_PIN HW_GPIO_PIN_3
#定义LSM6DSL_CS_PORT HW_GPIO_PORT_4
#定义LSM6DSL_CS_PIN HW_GPIO_PIN_7

其他#

/ / Proto2——在引导
#定义SPI_CLK_PORT HW_GPIO_PORT_4
#定义SPI_CLK_PIN HW_GPIO_PIN_1
#定义SPI_DI_PORT HW_GPIO_PORT_1
#定义SPI_DI_PIN HW_GPIO_PIN_7
#定义SPI_DO_PORT HW_GPIO_PORT_1
#定义SPI_DO_PIN HW_GPIO_PIN_2
#定义LSM6DSL_CS_PORT HW_GPIO_PORT_3
#定义LSM6DSL_CS_PIN HW_GPIO_PIN_0

# endif

hw_gpio_configure_pin (SPI_CLK_PORT SPI_CLK_PIN,
HW_GPIO_MODE_OUTPUT HW_GPIO_FUNC_SPI_CLK 1);
hw_gpio_configure_pin_power (SPI_CLK_PORT SPI_CLK_PIN,
HW_GPIO_POWER_VDD1V8P);

hw_gpio_configure_pin (SPI_DI_PORT SPI_DI_PIN,
HW_GPIO_MODE_INPUT HW_GPIO_FUNC_SPI_DI 1);
hw_gpio_configure_pin_power (SPI_DI_PORT SPI_DI_PIN,
HW_GPIO_POWER_VDD1V8P);

hw_gpio_configure_pin (SPI_DO_PORT SPI_DO_PIN,
HW_GPIO_MODE_OUTPUT HW_GPIO_FUNC_SPI_DO 1);
hw_gpio_configure_pin_power (SPI_DO_PORT SPI_DO_PIN,
HW_GPIO_POWER_VDD1V8P);

hw_gpio_configure_pin (LSM6DSL_CS_PORT LSM6DSL_CS_PIN,
HW_GPIO_MODE_OUTPUT HW_GPIO_FUNC_GPIO 1);
hw_gpio_configure_pin_power (LSM6DSL_CS_PORT LSM6DSL_CS_PIN,
HW_GPIO_POWER_VDD1V8P);

从我们的老Proto1 PCB与销作业,pxp_reporter应用运行罚款Pro DK LSM6DSL连接。如果你改变到新的销作业Proto2 PCB,引导pxp_reporter应用程序崩溃。

这里有一些更多的事情我发现:

1。如果我# define dg_configPOWER_1V8P注释掉,它运行没有崩溃
2。如果我不连接芯片选择行LSM6DSL,幸存的引导没有崩溃

这里有一些问题:

1。只有某些在1468 x用于SPI别针吗?
2。我忘记在1468 x配置一些为了使用SPI正确吗?
3所示。我也许能避免崩溃如果我可以设置销在1468 x我们使用“SPI芯片选择”作为输出(而不是默认的input-pulldown)在引导。这是可能的吗?
4所示。另一个解决方案可能是延迟盯着1 v8p启动完成之前(和periph_init有机会建立芯片选择销作为输出)。有一个API我可以在运行时调用,使1 v8p吗?

非常感谢你,
大卫

关键词:
设备:
MT_dialog
离线
最后看到:3个月4周前
工作人员
加入:2015-06-08 34
嗨david_33021,

嗨david_33021,

1)不,没有特殊限制的针一个可以使用SPI接口,可以配置所有的针和用于SPI接口(除了几个特殊针像第一针的P0端口用于例如四SPI)。我测试P3_0作为CS SPI设备上没有看到任何问题站在我这一边。也许你可以试着做同样的事情用不同的SPI外围和检查如果你能复制这个问题。

2)不,我不该看到任何失踪的配置以使用SPI。

3)你可以燃烧TCS旗帜OTP头为了在不同的配置而启动的,但其他东西应该在你的问题。

4)配置1 v8p积极引导装载程序正在运行时,没有你不可以这样做。

关于你的问题,你可以请检查电压1日v8p而启动,检查是否有任何电压在铁路潜水吗?而且你有停下的CS设备?

由于MT_dialog

david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
嗨MT_dialog,

嗨MT_dialog,

非常感谢你的回复。我会尝试不同的SPI外围也检查电压v8p 1日按照你的建议在引导。

我们没有添加外部打开CS的设备,但是我检查了LSM6DSL的数据表和LSM6DSL确实有一个内部拉在CS。

谢谢,
大卫

david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
嗨MT_dialog,

嗨MT_dialog,

我检查1 v8p示波器在启动,使用DA1468x Pro DK连接到LSM6DSL Proto2销作业。

1)与CS线断开,1 v8p通过引导一个稳定的1.8 v(也是当我重置Pro DK开关K2)。
2)与CS线连接,1 v8p起价1.8 v我释放后立即Pro DK的复位开关(K2),然后下降到1 v在不到200 ms。在这一点上,1 v8p立即返回到1.8 v然后再落回1.0 v,无限期重复这种模式(大概为1468 x崩溃,重启周期)。

谢谢,
大卫

MT_dialog
离线
最后看到:3个月4周前
工作人员
加入:2015-06-08 34
嗨david_33021,

嗨david_33021,

这意味着由于某种原因你有附加的传感器开发工具包或原型板画了一些权力,超过1 v8p可以提供没有电压降,所以当启动电压降了布朗探测器,重置董事会(1.65 v的典型值是1 v8p)。这听起来像是短路。现在为什么发生这种情况只有当你有了CS P3_0非常奇怪,因为没有限制或任何类型的区别这两个别针,你有试过用另一个传感器?或者调查P3_0,你看到这条线切换或从68 x设备驱动的,你能检查的任何切换线是否与这一事实有关v8p降到1 v ?还可以测量当前供应1 v8p以及当前在CS和检查是否有一个当前的高峰期间启动。

也想的东西从以前的文章评论,(我不认为这与你现在的问题,而是你做什么应该照顾,为了避免未来的任何问题,你可能有),数据表上所注明的别针P1_0, P1_5和P1_7可能影响无线电性能如果切换射频活动。推荐使用在低速和不同时广播是活跃的。

由于MT_dialog

david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
嗨MT_dialog,

嗨MT_dialog,

谢谢你的评论。我们会按照你的建议进行调查。

另外,谢谢你指出P1_7高速切换敏感。我们在DA14680/681-01-KnownLimitations医生观察到,我们应该避免P1_0 P1_5,但KnownLimitations doc没有提到P1_7数据表,我们错过了。

大卫

david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
嗨MT_dialog,

嗨MT_dialog,

我烧了OTP使用write_tcs设置我们的SPI时钟针,P4_1,作为输出,最初的逻辑高。这种变化,Proto2设置在Pro DK和Proto2多氯联苯(到目前为止我已经测试了两个)生存正常启动和运行。耶!

谢谢,
大卫

MT_dialog
离线
最后看到:3个月4周前
工作人员
加入:2015-06-08 34
嗨david_33021,

嗨david_33021,

很高兴你找到你的出路,谢谢分享,但是,只是出于好奇,你知道为什么完全通过设置P4_1高TCS运作你的设置?

由于MT_dialog

david_33021
离线
最后看到:1年3周前
加入:15 2015-07-28
嗨MT_dialog,

嗨MT_dialog,

不,不幸的是,没有。似乎很奇怪,我们可以复制DA1468x套装上的问题。我们买了另一个LSM6DSL突破板附着DA1468x pro装备和观察到的相同的问题,所以这不是一个一次性的问题与我们的特定LSM6DSL突破。每一个我们的多氯联苯Proto2构建的问题,而我们所有的多氯联苯Proto1构建(相同的DA14680 LSM6DSL和相同的软件,使用不同的针DA1468x)都很好。

当我们准备还在调查最终PCB制造(希望)。我会让你知道如果我们发现任何东西。

谢谢,
大卫