在收到开发板阅读用户手册以及熟悉了所给例程之后,笔者开始着手使用GD32VF103V-EVAL开发板验证便携式近红外光谱仪方案。其中,外接传感器选择使用了常见的消费级红外传感器,覆盖了750~1050nm波段,可以用于物质的定性分析。
该方案主要是利用传感器与开发板验证近红外光谱仪的数据测试部分原型,在使用GD32开发板之前,该方案已成功在STM32等芯片的开发板上成功验证。
因为需要多次测试以及读取测试数据,笔者利用单片机发出中断指令,来完成每一次的测试读取。当传感器测试完成之后,将数据存储在寄存器当中,每当发来一次中断指令,单片机就通过I2C读取一次数据然后保存,以此往复,完成近红外光谱数据的测试。
查看用户手册,找到开发板I2C的两个接口(数据端口以及时钟端口)、中断端口以及接地端。
笔者将开发板I2C的PB6、PB7接口,中断的PC13接口以及接地口分别与传感器对应端连接。
同时,传感器也外接一个供电接口。
这样,笔者就完成了红外光谱仪方案的硬件连接,就剩下软件部分调试了。
具体测试部分代码已有完后可以直接使用,并且和该开发板关系不太大, 笔者在这不在赘述。主要使用到的是I2C部分、中断以及LCD显示。(串口打印笔者在有相应串口的电脑上也成功完成了测试,只是上不方便留图,也就没有在这具体说明。)
I2C、中断和LCD显示大部分都可利用库中自带的子函数进行编写,只是LCD显示曲线时利用了其中的画点,然后自行编写连线函数完成了测试数据曲线的绘制。
测试时,传感器将测得的数据保存在寄存器当中,笔者再通过I2C将数据传输到GD32的存储器当中,之后可以通过串口将其传输到PC端打印以及将数据的曲线图打印到LCD上。
如上图所示,是笔者利用设备测试的右手食指的近红外光谱,根据测试数据曲线以及之前得到的数据来看,测试结果基本正确。笔者利用GD32VF103V-EVAL开发板也成功验证了近红外光谱方案。
在验证方案的整个过程来看,虽说是首款商用RISC-V的MCU,在性能各方面来看都不逊色以往常用的MCU,甚至说功能还更加强大。测试环节让人感到有缺陷的也就是通过GD-LINK端口烧写程序的速度了,有一说一,这个速度是真的感人,让笔者一度怀疑是自己的电脑出现了问题。