微波开发板Distance2Go开箱与上手

1. 介绍

Distance2Go是小型24GHz雷达开发板,厂家是Infineon。板载XMCLink仿真器,XMC4200+BGT24MTR11最小系统。XMC4200是基于CortexM4的一款可编程单片机。而BGT24MTR11是一款FMCW控制芯片(和单片机的控制接口我还没看)。板载24GHz天线。探测距离是10米。探测精度是50cm。据了解,感应角度较小。

开箱照爱板网有:http://www.eeboard.com/evaluation/distance2go/

而官方资料可以到https://www.infineon.com/cms/en/product/evaluation-boards/demo-distance2go/#!tools下载。使用win7或以上的电脑安装好Infineon Toolbox后,即可有各种入门资料下载。分别是规格书(BGT24MTR11),Radar GUI,demo固件,单片机工程(多普勒雷达、FMCW、Doppler+FMCW、FW这四个,其中FW工程内用户可以加入自己的算法去计算目标速度和距离),PCB资料(原理图PDF、PCBGerber文件),用户手册,底层驱动(为了识别下位机单片机的软件)等(介绍得很乱,有条件的同学朋友可以操作一下……这板卡消耗了我近半个月的工资了)。

目录文件结构:(CMD中执行tree Distance2Go_Sw >D:/tree.txt)

D:\DISTANCE2GO SW
└─v1.2.0
    ├─Firmware_Software
    │  ├─Binary
    │  │  └─Debug
    │  ├─Communication Library
    │  │  ├─ComLib_C_Interface
    │  │  │  └─host_c
    │  │  │      ├─documentation
    │  │  │      │  └─html
    │  │  │      │      └─search
    │  │  │      ├─examples
    │  │  │      ├─include
    │  │  │      └─src
    │  │  └─ComLib_Matlab_Interface
    │  │      └─matlab
    │  │          ├─Documentation
    │  │          ├─RadarSystemExamples
    │  │          │  └─GettingStarted
    │  │          └─RadarSystemImplementation
    │  │              ├─@EPRadarADCXMC
    │  │              ├─@EPRadarBase
    │  │              ├─@EPRadarDoppler
    │  │              ├─@EPRadarFMCW
    │  │              ├─@EPTargetDetection
    │  │              └─@RadarSystem
    │  ├─DAVE project
    │  ├─Documents
    │  └─Driver
    │      └─XMC4200 serial driver
    └─Hardware
        ├─PCB_Data
        └─User_Manuals

以下是Toolbox界面。

这里我也演示一下出厂demo。

2  开箱照

一波照片袭来。

外包装:

 开箱只有3样东西,Corner Reflector(未确定用途),USB线,板卡:

拆开了包装后:

左边的USB口是XMC4200的USB device口。可直接和PC连接。右边的USB口是仿真器对应的USB口,用于调试和供电。

3 出厂demo

使用USB线将板卡和PC连接。需要安装驱动,步骤Toolbox里面就有。打开radar gui。上位机工作界面如下:

可以看到,模块可以采集到可视范围(FOV)内的各种距离。我把板子天线面对着天花板,可以得到目标,FFT分析,目标速度和距离等结果。

但是到现在我只是知道,BGT24MTR11这款IC应该是用途驱动微波的IC,而XMC4200经过ADC把FMCW或Doppler的输出IF信号转换为数字信号并处理。并不知道上位机可否直接读取IF信号,而用上位机更强大的运算能力处理IF信号蕴含的信息。

 

4 Commucation library

这个通信库包括了C语言软件包和Matlab软件包。由于电脑硬盘没多少剩余空间了。不装Matlab了,尝试用Visual Studio 2017编译一下。但由于不太熟悉Visual Studio,很多出错都是C语言和C++语言混合编程引起的。搞了一个上午,很累,先放弃Visual Studio。得知Visual Studio虽然界面华丽,但各种配置繁琐。由于以前有搭建CodeBlocks经验,于是同时下载了CodeBlocks,Matlab2010。最后还好。以下是Codeblocks编译本通信库的步骤。

4.1 安装CodeBlocks

我是win7 64位,4G内存的笔记本。选择了红色框这个安装程序。

安装可以选择插件,我选的是Full Installation。

安装好了就可以新建工程了,由于有了C语言helloworld的经验。需要百度的两个注意点是:

4.1.1、默认编译器的配置

codeblocks毕竟是在C开发中和微软的VS竞争的,版本迭代最终可能也就是个和VS界面类似的软件。这导致了开发者容易松散。然后在这里编译器的路径也要自行配置。这个安装包是带gcc的,然后默认路径是不对的,auto-detect是找不到gcc的。自行修改如下(我的CodeBlocks是安装在C的program files下,见下图):

Settings->Complier配置

4.1.2 引用错误

计算在左边文件目录内显示了头文件,但是编译时候也会说找不到文件。

方法Project -> Build options,然后add进头文件路径。

到此就完成了一个例子程序的编译。

4.2 使用Visual Studio 2010编译程序

Step 1. 使用向导新建项目

文件->新建项目,选择C++内的Win32控制台应用程序,名称输入Distance2Go_Host,点确认。

之后在Win32应用程序向导内,附加选项选择空项目。点完成。

Step 2. 添加相关文件

Distance2Go SW\v1.2.0\Firmware_Software\Communication Library这个包内,有Host_C这个文件夹。包含了C语言上位机源代码。Host_c复制至本工程项目路径内。分别对头文件、源文件添加文件。再新建一个main.c文件。结果如下图。

此时编译还会出现,好多error,说无法打开头文件。

需要进行一下步骤:

项目->属性->配置属性->VC++目录->包含目录。输入源代码内的头文件路径。

Step 3. 编译

编译发现,VS2010还是不支持

for (uint32_t i = 0; i < frame_info->num_samples_per_chirp; i++)

需要分别修改为:

uint32_t i;
for (i = 0; i < frame_info->num_samples_per_chirp; i++)

 发现最后编译成功了。

参考资料:vs2010 如何添加外部头文件

5 Commucation Library例程运行

5.1 extract_raw_data.c

把这个文件的内容替换到工程内的main.c

连接好设备,运行编译后生成的程序。即可得到这样的结果:

 这是什么数据呢?先用软件绘图画出波形。软件用是用这样的代码打印出每一个数据的。

printf("ADC sample %d: %f\n", i, frame_info->sample_data[i]);

那么可以用以下代码把这个信息打印到文件内。

FILE *p = fopen("D:\\Distance2Go_rawdata.log","a");
char msg[100];
char msgTmp[50];
	
if (p == NULL) {
    printf("file open error \n");
	}else {
		sprintf(msgTmp, "%d ", i);
		strcpy (msg, msgTmp);
		sprintf(msgTmp, "%f", frame_info->sample_data[i]);
		strcat (msg, msgTmp);
		strcat (msg, "\r\n");
		fputs(msg, p);
}
		
fclose(p);

然后用Matlab或者Octave分析一下数据(用python+matplotlab也可以,但这我不熟)

也是奇怪的波形。先记录一下,可能跟 发送TX和接收RX调制后的IF信号有直接关系。其实板卡天线面一直对着天花板,所以和上面的radar GUI显示内容是一致的。

5.2 extract_target_data.c

同上,把该文件的内容覆盖到main.c文件内。

小结

跑了Distance2Go这款板卡的demo。还有很长的路要走。如分析软件、硬件……我也是0基础入门微波感应的。本文是没有稍多理论基础。就分享一下实验过程。然后其实大概的雷达开发中需要的是微波信号发射、接收、滤波、采集、数据交换、软件信号处理、数据显示。这几个重要的部分构成了项目框架。

找到了不错的阅读资料:http://www.radartutorial.eu/index.en.html。

希望自己年前能尽可能的学习相关理论知识。

 

 

 

  • 1
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 20
    评论
配置开发板与虚拟机网络的步骤如下: 1. 确保你的开发板已经连接到主机或服务器,并且已经正确安装了驱动程序。 2. 打开虚拟机软件(如VirtualBox、VMware等),创建一个新的虚拟机或打开现有的虚拟机。 3. 进入虚拟机的设置界面,在网络选项卡中选择适当的网络连接方式。常见的连接方式有三种: - 桥接模式(Bridge Mode):虚拟机与主机在同一网络中,可以直接与开发板进行通信。 - NAT模式(NAT Mode):虚拟机通过主机的网络连接进行通信,需要进行端口映射才能与开发板通信。 - 主机模式(Host-Only Mode):虚拟机与主机之间建立一个独立的网络,可以通过该网络与开发板通信。 选择适合你的需求的网络连接方式,并保存设置。 4. 在虚拟机中启动操作系统,并确保操作系统已经正确地识别和配置了网络连接。 5. 在虚拟机中打开终端或命令提示符,使用适当的命令行工具(如ifconfig、ipconfig等)查看虚拟机的IP地址和网络配置信息。 6. 将开发板连接到虚拟机所在的网络,并确保开发板的网络配置与虚拟机的网络配置兼容。 7. 在虚拟机中使用合适的工具(如ping命令)测试虚拟机与开发板之间的网络连接。 通过以上步骤,你应该能够成功配置开发板与虚拟机的网络连接。请注意,具体的配置步骤可能因你使用的开发板和虚拟机软件而有所不同。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值