如何把IWR6843的CCS工程代码移植到IWR1843上

发布时间:2023-10-20  

在毫米波产品上提供了非常多的例程供用户参考,但有些演示例程只基于某些器件,没有覆盖到全部的毫米波产品。例如level_sensing的例程就没有支持的工程示例。本文就以level_sensing的例程为例,介绍如何把的移植到上。

本文引用地址:

和在硬件上是pin to pin兼容的,软件上也是基于同一个mmWave SDK。但是工作的频率范围是60~64GHz,而IWR6843工作的频率范围是76~81GHz。两者pinmux定义,调用的库函数也有些不同。软件的移植主要就是基于上面几点的不同。

本文介绍的移植基于mmwave_industrial_toolbox_4_9_0[1]里的level_sensing例程以及mmWave SDK 3.5[2]。

1. 首先在mmwave_industrial_toolbox_4_9_0labslevel_sensing目录下新创建一个名为18xx_high_accuracy的文件夹。将68xx_high_accuracy目录下的所有文件复制到新目录18xx_high_accuracy下。

2. 把18xx_high_accuracysrc目录下的两个CCS工程文件修改文件名为projectspec/high_accuracy_18xx_dss.projectspec。然后分别用文本编辑器打开两个工程文件,把“68”相关内容替换为“18”。例如把工程文件里的定义“-DSOC_XWR68XX”修改为“-DSOC_XWR18XX”。

3. 同样,在18xx_high_accuracysrc目录下的.c,.h文件里搜索“68”关键字,并替换为“18”。

4. 在配置初始化校准时,需要设定校准的频率范围。由于IWR6843和IWR1843的工作频率范围不同,所以相关代码需要修改。

下面是IWR6843和IWR1843的mss_main.c里相关代码的比较。

C:timmwave_industrial_toolbox_4_9_0labslevel_sensing68xx_high_accuracysrcmssmss_main.c

C:timmwave_industrial_toolbox_4_9_0labslevel_sensing18xx_high_accuracysrcmssmss_main.c


Line 754             gMmwMssMCB.cfg.openCfg.freqLimitLow  = 600U;

Line 755             gMmwMssMCB.cfg.openCfg.freqLimitHigh = 640U;

Line 754             gMmwMssMCB.cfg.openCfg.freqLimitLow  = 760U;

Line 755             gMmwMssMCB.cfg.openCfg.freqLimitHigh = 810U;


 5. 由于IWR6843和IWR1843的工作频率范围不同,配置文件也要做相应的修改。在18xx_high_accuracychirp_configs目录下修改cfg文件名cfg。修改配置里的起始频率为77。

下面是IWR6843和IWR1843的配置文件的比较。

C:timmwave_industrial_toolbox_4_9_0labslevel_sensing68xx_high_accuracy chirp_configshigh_accuracy_demo_68xx.cfg

C:timmwave_industrial_toolbox_4_9_0labslevel_sensing18xx_high_accuracychirp_configshigh_accuracy_demo_18xx.cfg


Line 6     profileCfg 0 60 7 7 114.4 0 0  33.71 1 512 5000 0 0 48

Line 5  profileCfg 0 77 7 7 114.4 0 0  33.71 1 512 5000 0 0 48


6. Profilecfg有配置起始频率和斜率参数,底层API里每位(bit)代表的单位对于60GHz芯片和77GHz芯片是不同的。下表是 AWR_PROFILE_CONF_SB contents[3]的部分内容,可以看出两者的区别。

pastedimage1667206092658v1.png-320x240.png

在通过cfg配置文件传递profilecfg、chirpcfg参数给MSS的时候,level sensing例程使用了cli库,这个库会调用SOC_getDeviceRFFreqScaleFactor()函数,判断使用的芯片是哪一款,获得不同的单位。当IWR6843时,赋值变量gCLI_mmwave_freq_scale_factor为2.7。而当使用的芯片为IWR1843时,gCLI_mmwave_freq_scale_factor变量值为3.6。

Cli库会把输入配置参数值转换为射频配置需要的值。例如cfg文件里profilecfg配置起始频率为60或者77,在cli库里的CLI_MMWaveProfileCfg()函数会通过下面的代码做转换。

pastedimage1667206111688v2.png-320x240.png

所以对于输入参数解析和射频配置,移植时用户不需要修改相关代码。

在level sensing的例程的chirpcfg里和工作频率相关的CHIRP_FREQ_START_VAR、CHIRP_FREQ_SLOPE_VARl两个参数设置为0,代码中没有涉及。这两个参数每位(bit)代表的单位可以在参考资料 [3] 里找到。

如果应用层需要使用射频配置参数的时候,需要把射频配置的值还原到实际的频率或者斜率。这种情况做移植时,代码需要根据77Ghz芯片对应的单位做相应修改。

7. 最后,保存修改,通过CCS导入工程编译即可。

移植过程做68和18代码替换的时候,还是需要要看看代码是否有什么特殊含义。例如在IWR6843的mss_main.c里有一个#ifndef SOC_XWR68XX_ES1相关代码,阅读后发现是针对IWR6843 ES1.0芯片的操作,对于IWR1843可以将相关宏定义代码去除。具体移植后的18xx_high_accuracy代码可以在参考资料 [4] 里下载。

本文的方法也适用于AWR6843,AWR1843 的相互移植。

文章来源于:电子产品世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    人工步骤并减少人为错误 在需求和系统架构与组件设计和测试之间建立一个可追溯的数字线索 执行预测性维护,检测故障,并使用模型作为数字孪生来优化运营中的系统 什么是嵌入式代码生成? 嵌入式代码生成从根本上改变了工程......
    引入市场。这些模式代表了小米为扩大目标市场所做的最新努力。小米在线上市场面临着主要来自荣耀的激烈竞争,与此同时,其线下扩张已经放缓。我们预计,在持续的新冠疫情干扰和经济逆风的影响下,中国......
    意法半导体扩大STM32Cube开发环境,简化单核MPU裸机软件开发; 2023年12月20日,中国 - 意法半导体新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1......
    技术分享 | 使用TSMaster从零打造车辆控制器HIL实时仿真系列2-ECU嵌入式代码生成与TSMaster小程;HIL实时仿真系列2 今天我们继续分享使用TSMaster从零......
    意法半导体扩大STM32Cube开发环境,简化单核MPU裸机软件开发;2023年12月20日,中国 -  新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1微处......
    ​意法半导体扩大STM32Cube开发环境,简化单核MPU裸机软件开发;2023年12月20日,中国 -  意法半导体新软件帮助工程师把STM32微控制器应用代码移植到性能更强大的STM32MP1......
    为打造的一款面向1+8+N全场景、泛终端的一站式集成开发环境。2020年9月HDC发布2.0 Beta1版本,已经具备了工程模板创建、代码编辑、编译构建、远程模拟仿真调试、发布等端到端的HarmonyOS应用......
    式方式,工程师和科学家可以使用一种叫做内联C节点(InlineCNode)的新特性,整合现有的嵌入式代码,来保持LabVIEW的开放架构。另外,在LabVIEW嵌入式项目环境中,还可以直接添加用C或者汇编开发的源代码......
    文件中,将代码包解压,之后,将Gizwits文件夹拷贝到工程模板(在打包的资料中找)目录下,其他的不需要动。若是自己的工程的话,请参照正点原子提供的教程或者在代码......
    手把手带你创建HAL版本MDK工程模板;如何快速开发 STM32 项目?我们总不能每次开发一个项目就搭建一次工程,这样效率太低了。 通常我们会使用一个模板工程,需要开发新项目的时候拿出来添加一些对应的模块及业务代码......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>