你好,
I am validating proximity reporter using ext_spi application with SDK5.0.3 & DA14580_PRO DEV KIT and have followed document UM_B_013.pdf .
对于外部处理器,我已从以下位置使用该应用程序
5.0.3 \ projects \ host_apps \ da1458x \ proximity \ Reporter
对于内部处理器,我已从以下位置使用该应用程序
5.0.3 \ projects \ target_apps \ ble_examples \ prox_reporter_ext_spi
我在两个应用程序中配置了一些更改,并在下面的应用程序中配置SPI和封锁的SPI_SEND_IMAGE功能
#ifdef spi_booter.
// spi_send_image();
#万一
在外部处理器(Master)
#define spi_clk_pin gpio_pin_0.
#define spi_cs_pin gpio_pin_3.
#define SPI_DI_PIN GPIO_PIN_5
#define spi_do_pin gpio_pin_6.
在内部处理器中,(奴隶)
#define spi_clk_pin gpio_pin_0.
#define spi_cs_pin gpio_pin_3.
#define spi_do_pin gpio_pin_5.
#define SPI_DI_PIN GPIO_PIN_6
我已经附上了我所做的硬件连接图,用于验证..
我使用SWD闪烁了主机首先和从属的应用程序。
要检查输出,我已在移动设备中安装了DSPS APK(具有OS Android 6.0)。
它未列出邻近Reporter设备名称和列出其他设备名称。
我的问题是
1. Whether i have missed anything there ?
2.我的引脚配置是正确的还是不正确的?
请帮我验证这个例子

嗨Ratheesht,
如果您不希望主机设备在580中下载图像,请刚刚从DA14580_Config.h文件中删除SPI_Booter,您应该在两个设备之间执行的配置位于7.1中的UM-B-013.PDF中.2连接图段落(图5),所附附加的内容与图表相同,您已连接0_0 0_3和设置所需的0_7,但连接的别针的其余销钉是不同的(0_1和0_2),因此请按照图形正确连接设备。此外,由于您尝试使用2个基本或Pro Dev套件完成设置,因此您必须在连接SPI时钟的电线的两端(50-100欧姆)上放置终端电阻。
谢谢mt_dialog.
你好 ,
我尝试过改进的销连接,并在SPI时钟的两侧添加了56Ohm的终端电阻。
我附上了我甲型肝炎的连接图e made , for your reference. I am using two DA14580DEVkit_PRO board for master and slave.
我也已经以两种方式闪过固件
即1.使用主机应用程序下载从属映像。
2.使用SWD(主设备中未定义的SPI_BOOTER)单独闪烁主机(闪烁)和从设备(闪烁的第二个),
Proximity Reporter设备名称未显示在我的DSP应用程序中。
有任何其他方法来检查输出吗?
请给我一些解决这个问题的指南?
嗨Ratheesht,
您可以在Android,iOS等上使用任何通用BLE应用程序检查设备广告。
The demo application is a bit tricky to evaluate and the reason is the fact that the connections for SPI are a bit sensitive, the most probable cause that you are unable to see the device advertise is probably due to the connections (not because you have your connections wrong but because when the SPI on the 580 is in slave mode is quite sensitive to noise).
因此,尝试使用逻辑分析仪,也定义SPI_Booter,并在顺序检查该选项后尝试检查FW是否下载到从属580并尝试监视主服务器发送到从站的命令。
谢谢mt_dialog.
你好,
感谢您的快速回复,
In host example , SystemFrequency is running with 100Mhz , but i am not able to understand the frequency rate of SPI communication.
在函数spi_send_image()中,spi_init()被调用如下,
spi_init(&spi_booter_pad,spi_mode_8bit,spi_rool_master,spi_clk_idle_pol_low,spi_pha_mode_0,spi_mint_disable,spi_xtal_div_4);
.i.e. SPI_XTAL_DIV_4 --> used for frequency selection & this was sending to the below function as freq
setbits16(spi_ctrl_reg,spi_clk,freq);
这里我不知道它是如何设置SPI的频率。
我的问题是
现在SPI的频率是多少?
How it is setting that frequency of SPI?
你好 ,
Can you provide some update regarding above ?
嗨Ratheesht,
有两个分频器寄存器才能确定SPI外设的时钟,第一寄存器是CLK_PER_REG和SPI_DIV字段,即默认值为0x00(这意味着除数为1,因此如果主系统时钟设置为1XTAL16 SPI模块的时钟设置为16MHz)。该分频器设置为Periph_Init()函数到2,这意味着传递给SPI模块的时钟被除以4所以4MHz。SPI模块本身中还有除数(SPI_CTRL_REG),它将SPI模块的时钟除以SPI_CLK字段中的数据表指示。现在,由于SPI_INIT()函数传递的值是SPI_XTAL_DIV_4,这意味着SPI模块以1MHz的频率工作。下载图像后,SPI以甚至较低的频率重新初始化,传递给SPI模块除数(SPI_CTRL_REG)的值是SPI_XTAL_DIV_8,这意味着下载图像后的SPI工作频率为512kHz。
谢谢mt_dialog.
你好,
感谢您的回复