项目标题:基于瑞萨官方EK-RA6M3开发板的减震座舱,汽车仪表盘设计与百度云语音识别系统
本系统由两个主控板组成,其中一个是从得捷网站购买的EK-RA6M3评估板,LQFP176封装主控,板上带有KSZ8091PHY接口扩展的网口用于以太网通信,并外接一块AD7606模块用于振动信号采集;另外一个主控是ARM Linux系统板,用于从以太网接口接收EK-RA6M3评估板采集振动信号的时域信号并做FFT处理,连接HDMI液晶显示屏用于图像显示,并连接摄像头麦克风进行语音采集,通过互联网接入百度语音云进行智能语音识别,本来还想做CAN通信的,但是考虑到RA6M3 MCU做AD采集和以太网通信已经没有多余的CPU运算资源去做,并且在ARM Linux系统板一端也没调通TJA1050的驱动,只好作罢。
作品实物图(只放出EK-RA6M3及周边外设部分):
硬件框图:
EK-RA6M3开发板流程如下,需要注意的是,EK-RA6M3开发板的官方例程中,使用以太网功能默认是要在FREERTOS调度下进行的,所以需要使用RASC初始化FREERTOS内核和堆栈,也就是工程并非裸机工程而是FREERTOS工程。
ARM Linux系统板流程更为复杂一些,需要对EK-RA6M3开发板通过以太网UDP发过来的AD采集数据进行处理,生成时域、频域、波峰汇总信息,并显示在液晶屏LVGL界面,其中波峰汇总信息部分所蕴含的信息量需要信号处理专业的人士进行分析。由于LVGL使用的Linux C库,而百度语音云API使用的Linux C++库,LVGL改成C++适配的地方太多,因此直接使用两个独立进程进行,并通过Unix Socket方式进行进程间通信。
演示视频:
https://www.bilibili.com/video/BV1GA4m1j7BX/?pop_share=1&vd_source=06455e7f94c397f493f40aba56679e79