
TI实战笔记
TI实战笔记
Xiaojie雷达说
微信:15903508184
展开
-
Xiaojie雷达之路---TI实战笔记---OSAL layer说明
OSAL layer说明原创 2021-12-16 22:01:12 · 1854 阅读 · 1 评论 -
Xiaojie雷达之路---TI实战笔记---ESM Driver说明
TI ESM驱动说明原创 2021-12-08 10:36:03 · 1200 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---OSAL详解
OSAL全称为Operating System Abstration Layer,翻译为"操作系统抽象层",支持多任务的执行,但它并不是一个传统意义上的操作系统,但是实现了部分类似操作系统的功能。在TI的mmwave_sdk中的OSAL抽象出下面几个层:1. CycleprofilerP OSAL Porting Layer2. DebugP OSAL porting Layer3. HwiP OSAL Porting Layer4. MemoryP OSAL Porting Layer5. S原创 2021-09-19 15:11:35 · 2254 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---速度解模糊(基于Doppler相偏补偿)
本篇文章主要讲述的是TI如何基于Doppler相偏补偿进行速度解模糊文章目录背景基础知识相关速度公式Doppler相偏补偿TI算法背景为什么要进行速度解模糊呢?当一个物体的移动速度超过了雷达可检测的最大速度时,雷达就不能准确的测量物体的速度,因此要增大雷达可检测的最大速度来准确检测目标的速度利用什么方法进行解模糊呢?中国剩余定理、doppler相偏补偿基础知识相关速度公式雷达速度最大检测公式:Vmax=λ4TcV_{max}=\frac{\lambda}{4T_c}Vmax=4Tc原创 2021-08-11 19:42:57 · 6733 阅读 · 3 评论 -
Xiaojie雷达之路---TI实战笔记---MRR_MSS_CLIInit函数解析
本篇文章主要是是对MSS项目中的源文件mss_pa_cli.c中的MRR_MSS_CLIInit函数进行详解CLI全称为:command-line interface,命令行界面函数源程序/** * @b Description * @n * This is the CLI Execution Task * * @retval * Not Applicable. */void MRR_MSS_CLIInit (void){ CLI_Cfg c原创 2021-05-31 09:12:23 · 824 阅读 · 0 评论 -
Xiaojie雷达之路---MATLAB仿真---发射信号、回波信号、中频、range_fft
重要公式:雷达发射信号:ST(t)=ATexp(j2π((fc−BW2)t+BW2Tt2))S_T(t)=A_Texp(j2\pi ((f_c-\frac{BW}{2})t+\frac{BW}{2T}t^2))ST(t)=ATexp(j2π((fc−2BW)t+2TBWt2))雷达接收信号:SR(t)=ARexp(j2π((fc−BW2)(t−τ)+BW2T(t−τ)2))S_R(t)=A_Rexp(j2\pi ((f_c-\frac{BW}{2})(t-\tau)+\frac{BW}{2原创 2021-03-27 22:17:38 · 7654 阅读 · 3 评论 -
Xiaojie雷达之路---TI实战笔记---DSS中main函数详解
本篇文章主要是对DSS项目中的源文件dss_main.c中的函数main详解int32_t main(void){ Task_Params taskParams; MmwDemo_DSS_DataPathObj* obj; int32_t errCode, ik; /* Initialize the global variables */ memset((void*) &gMrrDSSMCB, 0, sizeof(Mrr_DSS_MCB));原创 2021-07-11 12:38:51 · 2070 阅读 · 2 评论 -
Xiaojie雷达之路---TI实战笔记---profile、chirp、advframe配置
rlRfSetLdoBypassConfig函数函数原型:rlReturnVal_t rlRfSetLdoBypassConfig(rlUInt8_t deviceMap, rlRfLdoBypassCfg_t* data);函数功能:LDO旁路配置函数参数:deviceMap:发送消息的设备位图data:雷达射频LDO旁路启用/禁用配置函数返回值:当函数执行成功的话,返回值为0,当函数执行失败的时候,返回值小原创 2021-06-03 12:23:13 · 2222 阅读 · 1 评论 -
Xiaojie雷达之路---TI实战笔记---BPM MIMO
雷达信号和调制波形如下图所示:第一个是固定载频矩阵脉冲,第二个是线性调频脉冲,第三个是相位编码脉冲固定载频和线性调频这两种类型的脉冲很常见本篇文章主要是配置相位编码脉冲当+时初始相位为0deg,当-时初始相位为180deg。配置相位脉冲主要是在mmwave studio种的BPMConfig,如下图配置这些参数对应LUA脚本的函数为:当BPM Val值设置为0时,起始相位为0deg,当BPM Val值设置为1时,起始相位设置为180deg在配置BPM-MIMO的时候,起始相位为0时,原创 2021-01-05 20:54:46 · 4210 阅读 · 4 评论 -
Xiaojie雷达之路---AWR1843(案例automated parking)代码架构(上)
应粉丝要求,出一篇文章讲解一下AWR1843(案例automatived parking)的MSS代码架构原创 2021-07-28 17:24:40 · 3962 阅读 · 4 评论 -
Xiaojie雷达之路---MATLAB仿真---RD(range-doppler)图
本次实验的目的主要是对雷达信号进行RD图的仿真文章目录前述知识重要公式实验前述知识首先,要明白RD图指的是什么,R指的是range,D指的是doppler,range的含义就是目标距雷达的距离,doppler的含义是指目标相对于雷达的径向速度。还有一个重要知识点:测量雷达距目标的距离是通过一个chirp来实现的,测量雷达与目标的相对速度是要通过多个chirp来实现。为什么测速要通过多个chirp呢?理论上测速也可以通过一个chirp内进行的,但是一个chirp内的时间间隔很短,所以就很难测出速度原创 2021-03-29 11:36:03 · 24741 阅读 · 19 评论 -
Xiaojie雷达之路---TI实战笔记---MRR_MSS_CLISensorStart函数详解
本篇文章主要是对MSS项目中的源文件中mss_pa_cli.c的函数进行MRR_MSS_CLISensorStart 详解源码static int32_t MRR_MSS_CLISensorStart (int32_t argc, char* argv[]){ MMWave_CalibrationCfg calibrationCfg; int32_t errCode; if (gMrrMSSMCB.runningStatus == true原创 2021-06-09 09:09:26 · 876 阅读 · 3 评论 -
Xiaojie雷达之路---TI实战笔记---profile、chirp、advframe代码解读
在上位机给AWR1843发送指令"advFrameCfg"后,会触发函数“MRR_MSS_CLIAdvancedFrameCfg”,如下图:那么,我们要解读的就是MRR_MSS_CLIAdvancedFrameCfg这个函数,这个函数主要是对profile、chirp、advframe进行配置,下面进入这个函数,这篇文章最主要的是讲解这个函数中的下面的内容:这个源程序中NUM_PROFILES为2,说明要设置2个profile模板,供chirp使用,NUM_CHIRP_PROG为5,这几个要进行组合原创 2020-12-11 21:53:24 · 3612 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---chirp、profile、frame、advframe
什么是chirp?chirp是雷达发射的一种信号,频率随着时间线性增加,最多可以定义512个chirp,如下图所示:Chirp Timing Parameters:Idle time:上一次chirp结束时间和下一次chirp开始时间之间的时间Tx start time:从斜坡开始到发射器打开的时间ADC start time:从斜坡开始到ADC开始对数据进行采集这段时间Ramp end time:从斜坡开始到chirp持续上升的时间。在这段时间之后,合成器的频率就被重置为下一个chirp的原创 2021-06-06 21:46:08 · 7187 阅读 · 7 评论 -
Xiaojie雷达之路---TI实战笔记---CLI源码解析
前言这篇文章主要是讲解一下CLI源码,前段时间看automated_parking源码,只是知道CLI用于将上位机发送的命令传给AWR1843 EVM,而且也知道是通过串口来进行发送的,当时也没有太多关注内部是怎么实现的,今天和一位成电的研三学姐聊天,学姐突然提到这个问题,这个触及到了知识盲区,因此对CLI进行了重新的审视。下面,进入正文。正文看任何程序首先是从main函数开始,依次找到MRR_MSS_initTask()->MRR_MSS_CLIInit (),CLI映入眼帘,下面主角就登场了原创 2020-12-14 21:23:37 · 2157 阅读 · 1 评论 -
Xiaojie雷达之路---TI实战笔记---对AWR1843+DCA1000采集的数据进行解析
这篇文章主要是介绍对AWR1843和DCA1000采集的数据进行解析下面两张图要必须看懂,才能进行以后的操作:图1:这张图片主要说明的意思是对于每个tx的chirp,每个rx都会接收到从上面这张图可以看出,lane1包含采样点的实部,lane2指的是采样点的虚部,对于tx发射的一个chirp,4个tx会接收到的数据量为4*采样点,这张图还说明了DCA1000采集到的数据的存储方式(1843里面只有两通道的LVDS,而且数据采用的存储方式是non-interleaved,lane1负责两个采样点的原创 2020-12-31 17:32:53 · 15503 阅读 · 25 评论 -
Xiaojie雷达之路---TI实战笔记---MRR_MSS_CLIAdvancedFrameCfg详解
本篇文章主要是对MSS项目中的源文件中mss_pa_cli.c的函数进行MRR_MSS_CLIAdvancedFrameCfg详解函数源程序如下:static int32_t MRR_MSS_CLIAdvancedFrameCfg (int32_t argc, char* argv[]){ MMWave_OpenCfg openCfg; int32_t errCode; rlProfileCfg_t profi原创 2021-06-02 19:04:45 · 1216 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---利用串口获取ADCBuffer中的数据(不用DCA1000采集卡)
背景获取ADC中的原始数据都要经过DCA1000的采集卡,没有实时性,因此,直接从EVM板直接获取ADCBuffer中的内容,达到实时性的目的概要本篇文章主要介绍的是如何将ADCBuffer中的原始数据直接通过串口传输出去,而不是将处理过后的数距发送出去基础知识:一个frame中由多个chirp组成,且TX发射的一个chirp都会被所有的RX接收MSS和DSS之间的数据交互是通过MAILBOX来实现的HandShake是一块MSS和DSS共享的32KB的内存块,缩写为HSRAMMSS中是通原创 2021-07-20 16:16:08 · 3271 阅读 · 8 评论 -
Xiaojie雷达之路---TI实战笔记---速度解模糊(中国剩余定理)
本篇文章主要是讲述的是利用中国剩余定理进行速度解模糊背景为什么要进行速度解模糊呢?当一个物体的速度超过了雷达可检测的最大速度时,雷达就不能准确的利用什么方法进行解模糊呢?基础知识中国剩余定理TI解决方案TI算法参考文献:《AWR1642汽车雷达的速度扩展算法研究》...原创 2021-08-09 12:00:34 · 7342 阅读 · 2 评论 -
Xiaojie雷达之路---TI实战笔记---Range FFT
雷达测距(range fft)实验:本次实验主要是依据下述的公式进行的:f=S∗τ=S∗2Rcf = S * \tau = \frac{ S * 2R}{c}f=S∗τ=cS∗2RFreqbin=(samples−1)∗fssamplesFreq_{bin} = \frac{(samples - 1) * f_s}{samples}Freqbin=samples(samples−1)∗fsR=Freqbin∗c2∗SR = \frac{Freq_{bin} * c}{2 * S}R=2∗SF原创 2021-01-01 16:50:36 · 7621 阅读 · 8 评论 -
Xiaojie雷达之路---TI实战笔记---MmwDemo_dataPathConfigPopulate详解
本篇文章主要是介绍 int16_t i; obj->processingPath = POINT_CLOUD_PROCESSING; obj->subframeIndx = subframeIndx; obj->numRxAntennas = NUM_RX_CHANNELS; obj->chirpThreshold = ADCBUFF_CHIRP_THRESHOLD; obj->numTxAntennas = SUBFRAME_U原创 2021-07-11 18:23:47 · 1509 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---MSS代码详细解读
文章目录前言基础知识文章中会用到的专业术语毫米波雷达的初始化流程(在MSS中)本案例中要用的其他知识UARTMailBoxSemaphore代码解读main函数MRR_MSS_initTaskMRR_MSS_CLIInitMRR_MSS_CLIAdvancedFrameCfgMRR_MSS_CLISensorStart前言本篇文章主要是基于Automated Parking这个案例中的mss工程进行解读,这个案例是对MSS和BSS之间进行的连接。基础知识文章中会用到的专业术语BSS:指的是mmW原创 2020-11-13 15:34:36 · 7390 阅读 · 1 评论 -
Xiaojie雷达之路---AWR1843(案例automated parking)代码架构(下)
应粉丝强烈要求,出一篇文章讲解一下AWR1843(案例automatived parking)的DSS代码架构原创 2021-08-01 11:54:38 · 3712 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---Watchdog详解
介绍应用程序应该包含看门狗头文件,如下所示:#include<ti/drivers/watchdog/Watchdog.h>操作看门狗驱动程序简化了配置和启动看门狗外围设备。看门狗可以设置为在超时后产生复位信号,或者只是可编程的间隔引起硬件中断。驱动程序提供了指定看门狗引起中断时调用的回调函数的功能当重置发生后,用户应用程序有责任调用Watchdog_clear(),以清除Watchdog并防止重置。Watchdog_clear()可以随时调用打开驱动看门狗驱动程序使用ESM和S原创 2021-07-19 20:48:28 · 1141 阅读 · 1 评论 -
Xiaojie雷达之路---CAN驱动详解
CAN驱动程序提供在CAN外围设备之间传输数据的功能。此驱动程序不解释使用此外设发送或接收的任何数据。在一个应用中,CAN头文件被包含为如下:#include<ti/drivers/can/can.h>初始化驱动CAN驱动程序需要在整个系统中初始化一次。这个是使用CAN_init来完成的。如果不调用此API,则不能使用其他任何的CAN API一旦CAN驱动已经初始化;bit timing可以使用CAN_configBitTime来完成。可以多次使用此API来重新配置bit timin原创 2021-07-18 10:15:24 · 3402 阅读 · 2 评论 -
Xiaojie雷达之路---TI实战笔记---SOC Driver说明
SOC驱动程序允许应用程序开发人员使用以下子模块• MSS RCM• MSS TOP RCM• DSS/DSS2 REG• MSS GPCFGSOC驱动程序需要在整个系统中初始化一次,是通过使用SOC_init()来完成的。如果不调用这个API,SOC的其他API就不可以被使用函数说明SOC_init函数函数原型:SOC_Handle SOC_init ( SOC_Cfg * ptrCfg, int32_t * errCode ) 函数功能:该函数用于初始化和设置SOC驱原创 2021-05-27 15:58:47 · 1036 阅读 · 1 评论 -
Xiaojie雷达之路---TI实战笔记---Semaphore说明
信号量管理器提供了一组操作信号量对象的函数。信号量可以用于任务同步和互斥。APIs所在的头文件<ti/sysbios/knl/Semaphore.h>函数说明:Semaphore_Params_init函数函数原型:Void Semaphore_Params_init( Semaphore_Params *params )函数功能:在创建实例之前,使用指定的默认值初始化此配置参数结构体Semaphore_create函数函数原型:Semaphore_Handle Se原创 2021-05-26 22:17:44 · 2480 阅读 · 0 评论 -
Xiaojie雷达之路---TI实战笔记---UART Driver说明
本文主要是讲解UART驱动的一些APIUART头文件应包含在应用程序中,如:#include <ti/drivers/uart/UART.h>Link RequirementsUART驱动程序接口模块(在链接时)连接到一个名为UART_config的以NULL结尾的UART_Config数据结构数组。UART_config在应用程序中实现,每个实体都是UART外围设备的实例。在UART_config中的每个实体都包含:• (UART_FxnTable *)实现UART外围设备的一组函数原创 2021-05-25 20:00:08 · 1898 阅读 · 1 评论 -
Xiaojie雷达之路---TI实战笔记---Pinmux Driver说明
本文主要是讲解Pinmux驱动的一些APIPinmux驱动程序为设备上可用的的各种PAD提供set/get APIsAPIs所在的头文件:<ti/drivers/pinmux/pinmux.h>Pinmux这个驱动不需要进行初始化,准备要用的PAD可以通过调用任何一个Set APIs直接进行配置函数解析Pinmux_Set_OverrideCtrl函数函数原型:int32_t Pinmux_Set_OverrideCtrl ( uint32_t pin, Pinmux_Out原创 2021-05-25 15:20:20 · 1166 阅读 · 3 评论 -
Xiaojie雷达之路---雷达原理(二刷)动目标检测
原创 2021-05-20 19:37:57 · 1099 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)回波和杂波的频谱
原创 2021-05-20 19:36:47 · 1137 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)盲速、盲相的影响及其解决途径
原创 2021-05-19 20:25:23 · 3462 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)动目标显示雷达
原创 2021-05-18 19:11:08 · 670 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)多普勒效应及其在雷达中的应用
原创 2021-05-17 19:37:33 · 837 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)天线波束扫描方法
原创 2021-05-16 09:11:59 · 3750 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)自动测角原理
原创 2021-05-16 08:53:49 · 713 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)振幅法测角
原创 2021-05-14 22:37:00 · 1413 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)相位法测角
原创 2021-05-14 22:35:47 · 2992 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)角度测量概述
原创 2021-05-12 14:48:51 · 740 阅读 · 0 评论 -
Xiaojie雷达之路---雷达原理(二刷)脉冲法测距
原创 2021-05-05 10:04:23 · 1243 阅读 · 0 评论