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