 |  | | | | 所有配件来个全家福:IWR6843AOPEVM、特制板子支架、USB转接线
|
|
|
|
| |  |  | | | | | | 第二季的主题为板子的使用规划,先立个FLAG,待更
|
|
|
|
|
|
| | |  |  | | | | | | | 第二季的主题为板子的使用规划,第一步熟悉IWR6843特性,60-64Ghz射频频率,4个接收器,3个发射器,ARM、DSP、硬件加速,总之非常牛X的一个集成SOC方案:
|
|
|
| | | |  |  | | | | | | | | IWR6843的系统框图如下,从这张框图上可以大概了解IWR6843的内部资源及相关关系,先看框图对于理解datasheet非常重要
|
|
|
| | | | |  |  | | | | | | | | | datasheet首先介绍器件的引脚定义、各种直流、交流、射频特性,这个只要仔细照做一般不会有问题,直得说一说的就是复位时序,IWR6843要求在复位信号有效时,电源必须已经稳定
|
|
|
| | | | | |  |  | | | | | | | | | | 接下来需要了解的是processor subsystem,从下图可以看出,射频信号通过ADC buffer接到DSP,同时DSP与ARM之间也有通讯通道,另外高速接口信号来源于DSP,低速接口信号来自于ARM,具体的接口类型见下图
|
|
|
| | | | | | |  |  | | | | | | | | | | | 这么复杂的射频SOC芯片,只有70页的datasheet就介绍完了,不得不佩服TI的工程师,估计这种SOC的优势就是为了减少原来的复杂度,让事情变的简单,详细的datasheet如下,有兴趣的朋友不防看下
|
|
|
|
|
|
| | | | | | | | |  |  | | | | | | | | | | | | | 第三季开始功能测评,离上次发贴有一段时间了,测试平台搭了几次都没搭好,这几天静下心来重新研究了下,功能评估可分为两种,一种是完全安装TI提供的开发环境,自己写代码测试,另外一种使用TI提醒的可视化测试工具mmWave Demo Visualizer,可以直观修改
IWR6843的参数,观看性能参数,可以大大缩短评估时间。
mmWave Demo Visualizer官方提供两种使用方式:在线版、离线版,官方默认打开的是在线版,但是在线版需要两个软件支持,其中一个chrome的扩展插件TICloudAgent Bridge 一直未下载成功,尝试下载离线版,位于网页版HELP菜单里面
|
|
|
| | | | | | | | | |  |  | | | | | | | | | | | | | | 离线版的这个软件只能浏览器下载,下载过N次,从来没有成功过,几经折腾只能放弃
|
|
|
| | | | | | | | | | |  |  | | | | | | | | | | | | | | | 仔细分析在线mmWave_Demo_Visualizer失败的原因,很有可能是“墙”的原因,于是乎我就花钱买个梯子把插件“TICloudAgent Bridge”从墙外搬了回来,接下来可以进行NEXT操作先看下这个久违的插件
|
|
|
|
|
|
|
|
|
|  |  | | | | | 这么快就研究的这么详细了,相信楼主一定会有更多详细的评测结果了,期待中。。。。
|
|
|
|
|
|
|
| | | |  |  | | | | | | | | 接下准备通过TI提供的GUI工具“mmWave_Demo_Visualizer_IWR6843AOP”来查看IWR6843的特性参数,意外又出现了:CONFIG PORT connect sucess, data port connect fail
|
|
|
| | | | |  |  | | | | | | | | | mmWave_Demo_Visualizer_IWR6843AOP 查阅TI网站发现问题:
We recently identified an issue in MMWAVE-SDK 3.2.0.6_AOP which can cause the software start-up sequence to hang and potentially lead to the issue you are seeing.
We have posted the details of the issue and corresponding fix in the following post. Customers can follow the instructions provided in the post to apply the fix on top of SDK 3.2.0.6_AOP. The fix will be eventually included in a future SDK release for AOP devices.
While you can follow the instructions provided in the post to apply the fix, note that the updated C file and AOP demo binary: xwr64xxAOP_mmw_demo.bin are available in the 68xx AoP - mmWave SDK Demo Lab in mmWave Industrial Toolbox 4.0.1
[FAQ] IWR6843AOPEVM: MMWAVE-SDK 3.2.x startup sequence needs to be updated for IWR6843 ES1.0 and IWR6843AOPEVM ES1.0
I would recommend you to flash the pre-compiled updated demo binary from 68xx AoP - mmWave SDK Demo Lab and re-test with mmWaveDemoVisualizer-AOP.
LINK:http://e2e.ti.com/support/sensors/f/1023/p/845162/3126548#3126548?jktype=e2e
the solution is as follow:
MMWAVE-SDK 3.2.x startup sequence needs to be updated for IWR6843 ES1.0 and IWR6843AOP ES1.0 devicesNOTE: The following update will be included in future MMWAVE-SDK releases. Users can follow the instructions provided below to make the necessary code changes in the SDK themselves OR
Devices affected: IWR6843 ES1.0, IWR6843AOP ES1.0
Description: The start-up sequence in the affected MMWAVE-SDK and MMWAVE-SDK AOP releases can fail causing the application to terminate during startup. The ROM bootloader on IWR6843 ES1.0 devices performs APLL calibration during device boot-up and the status of this calibration is checked by MMWAVE-SDK initialization code. The APLL might not fully settle during ROM bootloader execution causing this SDK check to fail. This does not impact application code since APLL calibration is again performed by the BSS firmware during BSS (aka Radar SS) power-up and SDK checks BSS returned APLL calibration status before starting the application tasks.
In summary, the SDK startup code checks the APLL calibration status twice: - The first check for ROM bootloader based APLL calibration in SOC_init. This check is redundant and needs to be removed.
- Second check for BSS based APLL calibration in MMWave_initMMWaveLink in mmwave_link.c
Solution: As mentioned above, the first check is redundant and needs to be removed. Please follow the steps given below to update the code in MMWAVE-SDK 3.2.0.4 (if using IWR6843 ES1.0) and MMWAVE-SDK 3.2.0.6_AOP (if using IWR6843AOP ES1.0). The following updates will be included in future MMWAVE-SDK releases. Instructions to update the start-up sequence in MMWAVE-SDK 3.2.xStep-1. Make the following modifications in file: C:\ti\mmwave_sdk_03_02_00_xx\packages\ti\drivers\soc\src\soc.c a) In function SOC_init(), delete/disable the section of code highlighted below (you can put this section inside #if 0 and #endif pre-processor directives to disable it): [size=1em][color=white !important]
[size=1em]1
[size=1em]2
[size=1em]3
[size=1em]4
[size=1em]5
[size=1em]6
[size=1em]7
[size=1em]8
[size=1em]9
[size=1em]10
[size=1em]11
[size=1em]12
[size=1em]13
[size=1em]14
[size=1em]15
| [size=1em][size=1em]if (ptrCfg->clockCfg == SOC_SysClock_INIT)
[size=1em] {
[size=1em]#if 0
[size=1em] retVal = SOC_checkBLAPLLCalibration();
[size=1em] if(retVal < 0)
[size=1em] {
[size=1em] /* Error: Expect APLL calibration is done by BL without errors */
[size=1em] *errCode = SOC_EBLERR;
[size=1em]
[size=1em] /* Free memory and return NULL handle */
[size=1em] MemoryP_ctrlFree(ptrSOCDriverMCB, sizeof(SOC_DriverMCB));
[size=1em] ptrSOCDriverMCB = (SOC_DriverMCB *)NULL;
[size=1em] goto exit;
[size=1em] }
[size=1em]#endif
|
b) You will also need to disable the :exit label towards the end of this function to avoid an unused label compiler error. c) Delete/disable both the function declaration and definition for SOC_checkBLAPLLCalibration() in the same file. d) Add the new function call SOC_waitAPLLCalibration(…) after SOC_unhaltBCC(…) as highlighted below; [size=1em][color=white !important]
[size=1em]1
[size=1em]2
[size=1em]3
[size=1em]4
[size=1em]5
| [size=1em][size=1em]/* YES: Unhalt the BSS: */
[size=1em]SOC_unhaltBSS((SOC_Handle)ptrSOCDriverMCB, errCode);
[size=1em]
[size=1em]/* Wait until APLL calibration is done by BSS */
[size=1em]SOC_waitAPLLCalibration(ptrSOCDriverMCB);
|
e) Add the following new code (function declaration and body for SOC_waitAPLLCalibration) in the same file, as shown below. This code can be added at the top of this file before other function declarations and definitions. [size=1em][color=white !important]
[size=1em]1
[size=1em]2
[size=1em]3
[size=1em]4
[size=1em]5
[size=1em]6
[size=1em]7
[size=1em]8
[size=1em]9
[size=1em]10
[size=1em]11
[size=1em]12
[size=1em]13
[size=1em]14
[size=1em]15
[size=1em]16
[size=1em]17
[size=1em]18
[size=1em]19
[size=1em]20
[size=1em]21
[size=1em]22
[size=1em]23
[size=1em]24
[size=1em]25
[size=1em]26
[size=1em]27
[size=1em]28
| [size=1em][size=1em]/* Function declaration */
[size=1em]static void SOC_waitAPLLCalibration(SOC_DriverMCB* ptrSOCDriverMCB);
[size=1em]
[size=1em]/* Function definition */
[size=1em]/**
[size=1em] * @b Description
[size=1em] * @n
[size=1em] * This function checks APLL status and wait until APLL clock Calibration
[size=1em] * is done from BSS.
[size=1em] *
[size=1em] * @param[in] ptrSOCDriverMCB
[size=1em] * Pointer to the SOC Driver
[size=1em] *
[size=1em] * \ingroup SOC_DRIVER_INTERNAL_FUNCTION
[size=1em] *
[size=1em] * @retval
[size=1em] * Not Applicable
[size=1em] */
[size=1em]static void SOC_waitAPLLCalibration(SOC_DriverMCB* ptrSOCDriverMCB)
[size=1em]{
[size=1em] TOPRCMRegs* ptrTopRCMRegs;
[size=1em]
[size=1em] /* Get the TOP RCM registers: */
[size=1em] ptrTopRCMRegs = ptrSOCDriverMCB->ptrTopRCMRegs;
[size=1em]
[size=1em] /* Wait until APLL clock calibration is done successfully */
[size=1em] while (CSL_FEXTR(ptrTopRCMRegs->SPARE0, 17U, 16U) != 0x3);
[size=1em]}
|
Step-2. Rebuild the soc lib using the steps provided below a) Open a command window in C:\ti\mmwave_sdk_03_02_00_xx\packages\scripts\windows b) Execute “setenv.bat” c) In the same terminal session cd to C:\ti\mmwave_sdk_03_02_00_06_AOP\packages\ti\drivers\soc d) Execute “gmake clean” followed by “gmake all”. e) The above steps are also shown in the following snapshots (all from the same command window):
Step-3. Rebuild the mmw demo for the Target device (68xx or 68xx AOP) a) Either using the build instructions provided in the corresponding SDK user guide, section Building Demo or b) Using the mmWave SDK Demo lab for the target device (68xx or 68xx AOP) provided as part of mmWave Industrial Toolbox on TI Resource Explorer Step-4. Flash the updated mmw demo binary on the target EVM. Flash and execute the new demo binary on the target EVM as described in the mmWave SDK user’s guide or the mmWave SDK Demo Labs mentioned above.
|
|
|
| | | | | |  |  | | | | | | | | | | 作为一个硬件工程师,软件能力有限,短时间内实在无法解决上面这个问题,唯一能做的就是把解决方案找出来,希望有缘人能够用到。
这次试用主要碰到两个关键问题:
1.GUI 调试工具mmWave_Demo_Visualizer,离线版下载不成功,在线版需要TICloudAgent Bridge插件,但是这个插件是在墙外的
2.测试BIN文件存在CONFIG port能连上,data port连接不上的问题,需要自己编译修改代码
对于老鸟来说可能不是什么大问题,但是对于第一次使用的用户来说,估计还是要折腾一下
总结:感谢世纪电源网组织这次试用活动,从中受益匪浅,祝愿试用板块越做越好。
|
|
|
| | | | | | |  |  | | | | | | | | | | | add the solution site: http://e2e.ti.com/support/sensors/f/1023/t/833472
|
|
|