使用ext spi应用程序验证接近报告程序

8个职位/ 0个新职位
最后发表
RatheeshT
离线
最后看到:1个月前
加入:2017-01-02还剩11分08秒
使用ext spi应用程序验证接近报告程序

你好,

我正在使用SDK5.0.3和DA14580_PRO DEV KIT的ext_spi应用程序验证接近报告,并遵循文档UM_B_013.pdf。

对于外部处理器,我已经从下面的位置使用了应用程序
5.0.3 \ host_apps \ da1458x \ \项目邻近\记者
对于内部处理器,我已经从下面的位置使用了应用程序
5.0.3 \ \ target_apps \ ble_examples \ prox_reporter_ext_spi项目

我做了一些更改,在应用程序和被阻塞的spi_send_image函数中配置SPI,如下所示

# ifdef SPI_BOOTER
/ / spi_send_image ();
# endif

外置处理器(主)
#定义SPI_CLK_PIN GPIO_PIN_0
#定义SPI_CS_PIN GPIO_PIN_3
#定义SPI_DI_PIN GPIO_PIN_5
#定义SPI_DO_PIN GPIO_PIN_6
内部处理器中,(从机)
#定义SPI_CLK_PIN GPIO_PIN_0
#定义SPI_CS_PIN GPIO_PIN_3
#定义SPI_DO_PIN GPIO_PIN_5
#定义SPI_DI_PIN GPIO_PIN_6

我附上了我做的硬件连接图,用于验证。
我用SWD显示了主后从的应用程序。

为了查看输出,我在手机上安装了DSPS apk(有OS android 6.0)。
它没有列出接近报告器设备名称和列出其他设备名称。

我的问题是

1.我是否错过了什么?
2.我的pin配置是否正确?

请帮助我验证这个例子

附件:
设备:
MT_dialog
离线
最后看到:4个月3个星期前
工作人员
加入:2015-06-08 34
嗨RatheeshT,

嗨RatheeshT,

如果你不希望主机设备下载图像在580你未赋值的SPI_BOOTER da14580_config.h文件,两个设备之间的配置,您应该位于嗯- b - 013. - pdf 7.1.2连接图段(图5),你连接不像图,你已经连接了设置需要的0_0、0_3和0_7,但其他连接的引脚不是原理图(0_1和0_2)所示的,所以请按照图正确连接设备。另外,因为你正在尝试完成2基本或专业开发套件的设置,你将不得不放置终端电阻两端(50-100欧姆)的电线,连接SPI的时钟。

由于MT_dialog

RatheeshT
离线
最后看到:1个月前
加入:2017-01-02还剩11分08秒
你好,

你好,

我已经尝试过了,修改了引脚连接,并在SPI时钟的两侧增加了56欧姆的终端电阻。
附上我制作的连接图,供您参考。我使用两个DA14580DEVkit_PRO板的主和从。

我也用两种方式闪动了固件
例如1。使用主机应用程序下载从镜像。
2.使用SWD(在master中未定义SPI_BOOTER)分别显示主(先显示)和从(秒显示),

接近报告设备名称没有显示在我的DSPS应用程序。

还有其他方法检查输出吗?
请给我一些指导来解决这个问题。

附件:
MT_dialog
离线
最后看到:4个月3个星期前
工作人员
加入:2015-06-08 34
嗨RatheeshT,

嗨RatheeshT,

你可以在android, ios等任何通用应用程序上检查设备广告。

演示应用程序的计算有点棘手,原因是SPI的连接有点敏感,你无法看到设备广告的最可能的原因可能是由于连接(不是因为你有错误的连接,而是因为当580上的SPI在从属模式是相当敏感的噪音)。

所以尝试使用逻辑分析仪,也定义SPI_BOOTER,并给它一个尝试,以检查fw被下载到从580,并尝试监控主发送给从的命令。

由于MT_dialog

RatheeshT
离线
最后看到:1个月前
加入:2017-01-02还剩11分08秒
你好,

你好,
谢谢您的快速回复,

在主机的例子中,SystemFrequency运行在100Mhz,但是我不能理解SPI通信的频率率。
在函数spi_send_image()中,调用spi_init()的方式如下:

spi_init(&spi_booter_pad, SPI_MODE_8BIT, SPI_ROLE_MASTER, SPI_CLK_IDLE_POL_LOW, SPI_PHA_MODE_0, SPI_MINT_DISABLE, SPI_XTAL_DIV_4);

.i.e。SPI_XTAL_DIV_4——>用于频率选择&这将作为频率发送到下面的函数
SetBits16 (SPI_CTRL_REG SPI_CLK、频率);
在这里我不知道它是如何设置频率的SPI。

我的问题是

那么SPI的频率是多少?
SPI的频率是如何设置的?

RatheeshT
离线
最后看到:1个月前
加入:2017-01-02还剩11分08秒
你好,

你好,
你能提供一些关于上述的最新情况吗?

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

嗨RatheeshT,

有两个分频器注册为了确定时钟SPI的外围,第一个寄存器是CLK_PER_REG SPI_DIV字段,默认值是0 x00(这意味着除数是1因此如果主系统时钟设置为XTAL16 SPI模块的时钟被设置为16兆赫)。这个分配器被设为2,这意味着传递给SPI模块的时钟被4除以,因此是4MHz。spi模块本身中还有一个除数(SPI_CTRL_REG),它按照数据表在SPI_CLK字段中指示的方式划分spi模块的时钟。现在,由于在spi_init()函数中传递的值是SPI_XTAL_DIV_4,这意味着SPI模块的工作频率为1MHz。在下载映像之后,spi以更低的频率重新初始化,传递给spi模块因子(SPI_CTRL_REG)的值是SPI_XTAL_DIV_8,这意味着下载映像后的spi工作频率是512KHz。

由于MT_dialog

RatheeshT
离线
最后看到:1个月前
加入:2017-01-02还剩11分08秒
你好,谢谢你的回复

你好,

谢谢你的回复