我们正在加紧生产一个新的董事会,当我们注意到一些单位的广告在错误的频率!
大多数广告牌在37、38和39频道上的广告都是正确的,似乎功能齐全
但有些单板扫描时检测不到,甚至用高端蓝牙分析仪也检测不到。频谱分析仪显示射频输出
能量只存在于246MHz和2480Mhz,这是不正确的。
我们已经检查/更换了水晶。
我们还加载了Dialog串口服务模板项目,以排除软件的任何问题
糟糕的广告牌仍然显示出完全相同的广告频率问题
有什么建议吗?有什么问题,或者我们可以尝试的吗?
设备:
minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">嗨,叶斯威兹,
minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">最可能的原因可能是因为修剪了XTAL。如果您使用的是我们在SDK中使用的默认2trimming值,请告诉我好吗?请检查SDK的arch\u system.c文件中的默认\u XTAL16M\u TRIM\u值(850)定义。
minor-latin;mso-bidi-theme-font:minor-latin;border:none windowtext 1.0pt;
mso-border-alt:none windowtext 0cm;padding:0cm;background:white;mso-ansi-language:
EN-US">谢谢,下午好
你好,
我的项目(DSPS sps\u device)在arch\u system.h中有这一行
#定义默认值(1302)
但是由于da1458x\u config\u advanced.h文件包含这一行
#如果未校准,则使用默认值
我想编译器将使用
#定义默认值\u XTAL16M \u修剪值\u使用0
因此不使用微调值?
if(默认值为\uxtal16m\u微调值\u使用)
{
//如果未在OTP中编程微调值,则应用默认的XTAL16微调值
if(0==GetWord16(时钟频率微调)
{
设置\u xtal16m \u trim \u值(默认\u xtal16m \u trim \u值);
}
}
请注意,我们还没有在生产中进行任何校准。如果我们的频率在没有校准的情况下有点偏离,我也不会感到惊讶;
但完全失去37和38频道,并获得额外的“随机”频道在2.46Ghz似乎很奇怪我。或者这真的是因为我们不这样做吗
生产校准?
嗨,叶斯威兹,
请注意,39频道的频率为2480MHz,但2460MHz根本不是广告频道。246MHz的信道有些出乎意料。我的建议是使用SmartSnippets工具箱和RF Master生成的TX突发。你能告诉我在中低频和高频产生脉冲时发生了什么吗?这个实验将排除任何硬件问题。此外,强烈建议审查示意图,布局和XTAL数据表,如果射频主机显示奇怪的行为。
谢谢,下午好
你好,
我现在正试着运行射频主机。我可以下载prod\u test\u 580.hex文件到我的板上,
但是TX命令(或任何与此相关的命令)不会通过:
[INFO General@18-10-05 08:03:48]找到ID为0x0BB11477的SWD-DP
[INFO General@18-10-05 08:03:48]FPUnit:4个代码(BP)槽和0个文字槽
[INFO General@18-10-05 08:03:48]发现Cortex-M0 r0p0,Little endian。
[INFO General@18-10-05 08:03:48]已选择BTLE设备。
[INFO General@18-10-05 08:03:50]已成功连接到本地主机上的JLinkGDBServer:2331
[INFO General@18-10-05 08:03:50]已选择固件文件C:\svn\resources\Dialog\SDK 5.0.4\DA1458x\u SDK\5.0.4\binaries\DA1458x\prod\u test\prod\u test\u 580.hex。
[INFO RF Master@18-10-05 08:03:55]已成功将固件文件下载到主板。
[INFO RF Master@18-10-05 08:04:06]开始频率为2.402 GHz(Ch.37)和负载伪随机9的连续传输。
[错误RF Master@18-10-05 08:04:06]发送命令失败,操作码为0xFC84
[发送射频主机@18-10-05 08:04:06]
==>[18-10-05 08:04:06.832]发送<====
操作码:0xFC84
长度:0x02
频率:0x00
有效负载类型:0x00
有效载荷:84 FC 02 00
请注意我的接口是JTAG(SWD)只;我是否也需要UART来发送命令?
如果是的话,在prod\u test\u 580.hex中哪些引脚是UART引脚,使用什么波特率?
或者我还需要做什么?
谢谢
嗨,叶斯威兹,
请检查arch文件夹下的user\u periph\u setup.c/h文件,以检查产品测试使用的UART管脚。默认UART PI为P04和P05。另外,默认波特率为115200,请检查periph\u init()函数中的uart\u init()。
谢谢,下午好
你好,
目前我的主板没有外部可用的UART;仅SWD
我是否必须使用UART,或者是否有其他方法向prod\u test fw发送命令
从RF主工具?
比尔
罗杰
嗨,叶斯威兹,
是的,您应该连接UART,因为该工具通过UART向DA14580设备发送命令。
谢谢,下午好
我用了DA14583,我想停止广告,但没有成功
帮助我
你好,陈蓬莱,
我不太清楚你想完成什么,因为你的问题是非常一般的,但如果你想停止广告,你应该发送一个GAPM\u CANCEL\u CMD命令到堆栈。适用于此范围的API是app\u easy\u gap\u advertive\u stop()。有关更多信息,请查看SDK的ble\u app\u sleepmode示例。
谢谢,下午好
嗨,叶斯威兹,
你的问题解决了吗?我也遇到了和你类似的问题。我用的芯片是Da14583。大部分电路板正常。有些板不能正常广播。期待您的回复,谢谢!
谢谢
张奎