項目標題:基于瑞薩官方EK-RA6M3開發(fā)板的減震座艙,汽車儀表盤設計與百度云語音識別系統(tǒng)
本系統(tǒng)由兩個主控板組成,其中一個是從得捷網站購買的EK-RA6M3評估板,LQFP176封裝主控,板上帶有KSZ8091PHY接口擴展的網口用于以太網通信,并外接一塊AD7606模塊用于振動信號采集;另外一個主控是ARM Linux系統(tǒng)板,用于從以太網接口接收EK-RA6M3評估板采集振動信號的時域信號并做FFT處理,連接HDMI液晶顯示屏用于圖像顯示,并連接攝像頭麥克風進行語音采集,通過互聯(lián)網接入百度語音云進行智能語音識別,本來還想做CAN通信的,但是考慮到RA6M3 MCU做AD采集和以太網通信已經沒有多余的CPU運算資源去做,并且在ARM Linux系統(tǒng)板一端也沒調通TJA1050的驅動,只好作罷。
作品實物圖(只放出EK-RA6M3及周邊外設部分):
硬件框圖:
EK-RA6M3開發(fā)板流程如下,需要注意的是,EK-RA6M3開發(fā)板的官方例程中,使用以太網功能默認是要在FREERTOS調度下進行的,所以需要使用RASC初始化FREERTOS內核和堆棧,也就是工程并非裸機工程而是FREERTOS工程。
ARM Linux系統(tǒng)板流程更為復雜一些,需要對EK-RA6M3開發(fā)板通過以太網UDP發(fā)過來的AD采集數(shù)據(jù)進行處理,生成時域、頻域、波峰匯總信息,并顯示在液晶屏LVGL界面,其中波峰匯總信息部分所蘊含的信息量需要信號處理專業(yè)的人士進行分析。由于LVGL使用的Linux C庫,而百度語音云API使用的Linux C++庫,LVGL改成C++適配的地方太多,因此直接使用兩個獨立進程進行,并通過Unix Socket方式進行進程間通信。
演示視頻:
https://www.bilibili.com/video/BV1GA4m1j7BX/?pop_share=1&vd_source=06455e7f94c397f493f40aba56679e79