大家好,我是工控小弟,最近我收到了在iC Easy商城申请的样板EVB-L0136板卡,因此本期视频将对这块板卡做一个开箱,然后再基于这块板卡做一个物联网测试历程。
拿到免费板卡,最开心的就是拆箱了,包装板卡的盒子有2个,一个是iCEasy商城的盒子,另外一个是板卡的盒子,板卡是放在静电袋,很好的保护了板卡。打开静电袋,里面就是这块板卡的真面目了,这块板卡的资源还是比较丰富的,主芯片使用的是灵动微的MM32L0136C7P,这款芯片是M0+内核,最高工作频率可达 48MHz,拥有64KB Flash和8KB SRAM,内置段码式液晶驱动 SLCD,接口方面也是比较丰富的,有2 个 UART 接口,1个LPUART接口,2 个 SPI 接口,2 个 I2S 接口,1 个 I2C 接口,工作电压在 1.8V - 5.5V,非常方便锂电池供电。板卡硬件资源有一块段码屏,一片8Mbit的SPI Flash存储器,一片2048bit的 I2C 存储器,三个模拟输入电位器,然后还有LED、按键以及音频输出等其他硬件,GPIO通过板卡两边的排针全部做了引出,这就是这块板卡的全貌了。
图(1)EVB-L0136板卡全貌
接下来通电看看板卡的示例功能,板卡供电采用的还是MicroUSB,上电后,段码屏滚动显示板卡的型号,按下K1,就进入了时间显示,再按一下K1,就切换到了ADC1的电压显示,单位是mV,调节RV1,可以看到屏幕显示的电压值也在变化,再按一下K1,就切换到了ADC2的电压显示,调节RV2,ADC2的值也在变化,再按一下K1,就切换到了ADC3的电压显示,调节RV3,ADC3的值也在变化。按下K3,可以控制板载LED的显示。按下K4,板载SP1发声,这曲子是不是很熟悉,猪八戒背媳妇,灵动微的工程师是懂得整活的,板载的功能测试到这里就结束了。
图(2)EVB-L0136板卡通电
接下来看看开发环境,MM32支持Keil和IAR开发环境,支持的调试工具也是比较多的,支持J-Link以及大部分厂家的DAP-Link。由于开发板的出厂固件程序并没有提供,我们可以使用J-FLASH将出厂程序读出备份。打开J-Flash工具,创建基于MM32L0136C7P的工程,然后连接芯片,连接成功后,读取整个芯片,读取成功后,将数据和J-Flash工程保存。
图(3)J-Flash 读取EVB-L0136
接下来就是编写我们自己的应用程序。但在在这之前,可以先玩一下官方提供的历程,毕竟,点灯仪式都没做呢,灵动微官方提供了非常多的开发历程,我们使用熟悉的Keil进行开发,我们找到历程里的LED翻转的历程,这个历程的功能是板载4个LED以100ms的间隔闪烁,我们编译程序,然后修改调试工具为J-Link,连接方式为SWD模式,可以看到芯片已经可以读取到了,然后将程序下载到芯片。下载程序后,板子上的4颗LED快速闪烁,程序正常运行,至此,点灯仪式完成。
图(4)EVB-L0136点灯程序
然后开始设计我们自己的应用程序,程序完成的功能是这样的,我们使用ADC采集板卡上三个电位器的电压值,将采集到的电压值以mV的形式显示到段码屏,每1S切换一个ADC通道值,在切换通道的时候,对应的LED电平翻转,同时,利用4G DTU将采集到的电压值传输到云平台显示,传输协议使用MQTT。
图(5)用户测试程序功能描述
本次使用到的硬件有4G DTU模组和EVB-L0136板卡,板卡上的硬件资源用到了SLCD、3个LED,3个电位器以及串口2,串口2与4G DTU的串口连接,硬件比较简单。
图(6)测试使用的硬件
接下来就是软件工程创建了,我们没有必要从零创建工程,找到一个与我们应用相差不大的历程进行修改即可,我选择的是段码屏的历程,把段码屏的历程复制到我们的工程目录,点击编译,显示有报错,这是因为复制的时候并没有复制库以及启动文件这些,我们在工程文件管理,将原来的HAL_LIB以及STARTUP里的文件全部清除,然后在历程目录,将Device文件夹全部复制到我们的工程目录,然后回到工程文件管理,重新添加库文件和启动文件。我们再次编译,发现还是有错误,这是因为头文件的路径发生了变化,我们打开工程配置,将用到的头文件路径重新添加,然后重新编译,编译成功,然后将调试下载工具修改成J-Link,配置完成后,下载工程,下载成功后,我们可以看到段码屏的计数值开始累加,至此,项目工程创建完成,下面就是编写我们的应用代码了。
图(7)基于SLCD的工程模板
这就是我编写好的应用代码,代码都是移植了历程代码,在官方历程代码的加持下,我自己的应用从创建工程到完成只花了1个小时。代码也比较简单,首先是ADC连续采样,然后在做均值滤波,得到ADC的转换值后,将值转换成mV电压值,然后就是每1000mS,切换一次通道显示,同时,将采集到的电压信号再通过串口2发送到4G DTU,4G DTU再将数据透传到云平台。
图(8)用户代码节选
然后就是实验部分了,4G DTU及MQTT消息服务器都配置完成了,打开4G DTU的电源,等待第二个指示灯亮起就成功连接到服务器了,云端数据监测使用MQTTX,消息订阅和发布都配置好了。然后,我们将编译成功的代码下载,下载完成后,程序运行,显示屏正常刷新ADC 的值,ADC通道切换时,对应通道LED状态变化一次,打开MQTTX,可以看到数据也正常接收到了,暂停数据接收,回到最开始的时候,可以看到在项目信息打印完成后就开始打印ADC的通道值了,至此,我们的应用代码创建及测试就完成了。
图(9)实验现象
最后对这块板卡做个总结吧,这块板卡可以帮助我们快速的验证自己的项目,板载资源也比较丰富,常用的一些外设都有,开放式的GPIO方便连接我们自己的硬件,官方文档和历程做的都是比较全面和丰富的,还是值得入手的。
B站测评视频链接:https://www.bilibili.com/video/BV1opWYezEVN/