?

基于STM32的智能語音控制系統設計

2022-08-12 09:30
工業儀表與自動化裝置 2022年4期
關鍵詞:原理圖精準度串口

劉 迷

(鄭州商學院 信工學院, 河南 鄭州 451200)

0 引言

人類之間信息流通最基本和最有效的方式便是語言的傳遞,隨著生產力的不斷發展,語言的價值主要體現在信息的傳遞、思維的溝通以及交互式的使用。語言信號無疑是當前最為直接,且便捷有效的溝通方式。要想進行高效的信息交互,主要取決于對語音信號的識別和對語言意義的理解[2]。隨著當前科學水平的高速發展和產品自動化控制程度的不斷提高,語音交互技術對語音信號的識別和處理逐步趨向數字化和模塊化,使得當前語音識別硬件與程序控制相結合的應用越來越廣泛。在語音控制系統中,它使得人們無需與設備直接接觸,通過遠程語音命令的方式來作出正確的響應,這樣極大地簡化了人們操作硬件設備的過程,使人機交流變得更加簡便[3]。在日??谡Z交際中,語音識別技術還可以充當自動翻譯官,它可以通過將語言識別技術、語言采樣編碼技術、自動調制技術等相互融合,可以實時的將一個人發出的語言信號翻譯成其它不同類別的語言信號作為輸出,從而實現不同語種人們之間的實時相互交流。自動語音識別技術ASR,它的英文全稱為Automated Speech Recognition,它是一種多學科交叉的科學技術,涉及但不僅限于計算機技術、聲波科學、自然語言科學、信息分析理論科學、信號系統分析學等數門技術科學理論,它通過對聲音信號進行分析處理可以將語音信息自動翻譯為文本信息輸出的高新技術。但由于語音信號的變化性以及繁雜性,當前的語音識別技術能夠應用的場合還有很大的限制,而且只有在特定條件下才能發揮出可靠的性能[8]。目前對語音識別技術的識別精準性產生影響的因素大概可以分為四類:外部環境是否嘈雜;語音信號的清晰度;所識別的語音信號的長度及復雜度;硬件因素。ASR語音識別模型如圖1所示。

圖1 ASR模型圖

1 主控制器模塊設計

1.1 主控模塊需求分析

主控制器模塊選用的是以STM32F103C8T6微處理器為控制核心的最小系統開發板,它資源豐富足以滿足本設計的需求,同時在成本上也具有很大的優勢。主控制器模塊供電采用3.3 V直流電源,主要負者對其他模塊所采集的外部信息進行接收和處理,并且在滿足本設計需求的情況下,還留有足夠多的可擴展接口,以便于日后對系統的進一步擴展和完善。

1.2 主控模塊電路分析

STM32F103C8T6芯片管腳定義原理圖如圖2所示。P3和P4是2個排針,將芯片所有的管腳引出。芯片的4個電源引腳分別接3.3 V直流電源,并分別通過1個去耦電容引向地端。

圖2 STM32F103C8T6芯片管腳定義原理圖

3.3 V電源通過RESET端口連接主控芯片的7號引腳,相當于接高電平,開關SW1通過并聯一個105 μF的電容接地,R2是一個10 kΩ電阻,起到限流保護的作用。C2可以起到去耦作用,在開關未按下時為充電過程,開關松開時為放電過程,通過這樣一個充放電的循環便可以去除掉按鍵抖動時所產生的信號毛刺,從而起到按鍵硬件消抖的作用。當按下SW1時相當于將3.3 V電源信號直接引向地,相當于給了主控芯片7號引腳一個低電平,系統復位。復位電路原理圖如圖3所示。

圖3 復位電路原理圖

主控制器模塊實物圖如圖4所示。

圖4 主控制器模塊實物圖

1.3 LD3320語音識別模塊

LD3320芯片是一款語音識別專用芯片,通過MIC(麥克風)采樣外部模擬信號,并將所采集到的波形進行頻譜分析并提取信號特征,最后通過相應的語音識別算法與事先在程序中設定好的語音詞組進行比對,從而篩選出相似度最高的語音詞組。只需要通過驅動程序驅動LD3320芯片便可以對非特定人聲進行高效而準確的識別,準確度可達到95%。LD3320芯片管腳圖如圖5所示。

圖5 STC11L08XE管腳圖

語音識別模塊原理圖如圖6所示。LD3320為外部3.3 V電源供電,MIC1為外置麥克風,用來采集外部語音信號,31號引腳與STC11L08XE接同一個外部晶振,以支持與控制器進行同步通信。

圖6 語音識別模塊原理圖

2 語音識別程序設計

系統初始化,配置P1寄存器默認為低電平,P0,P2,P3,P4寄存器默認為高電平,定時/計數器時鐘配置為12T模式,設置定時/計數器初值并啟動定時/計數器打開定時/計數器中斷。

LD3320語音識別芯片驅動程序配置,通過復位函數復位語音識別芯片,之后通過初始化函數重新配置并啟動語音識別芯片,當語音識別模塊接收到外部語音信號時,系統將會置位標志位并進入中斷處理函數,否則將返回到上一個狀態準備下一次語音識別,語音識別流程被啟動函數啟動后,空閑檢測函數檢測語音識別芯片是否在空閑狀態,通過ASR運行函數來整合以上函數,從而實現語音識別的一整個過程。

LD3320語音識別芯片應用層程序設計,添加語音識別關鍵詞,通過驅動程序將識別到的語音信號與之進行對比,通過添加大量與關鍵詞相似和無關的垃圾詞匯來提高語音識別的精準度,設置一級指令詞匯,只有識別到一級指令,且在15 s內識再次別到正確指令才能做出應答,最后通過串口將識別結果發送給主控制器;語音識別部分運行流程如圖7所示。

圖7 語音識別運行流程圖

3 系統測試

3.1 語音識別功能測試

由于語音識別現象不易直接觀察,本測試采用串口通信工具進行測試,將串口通信工具的波特率、停止位、數據位等配置為和在軟件程序中對串口通信的配置相同,就可以在串口通信工具的窗口中實時觀測異步串口通信數據的收發狀態,從而判斷本設計語音交互功能的運行是否存在異常。

目前的PC機的通信接口使用的大都是USB通信方式,一般是沒有UART串行接口的,無法直接接收TTL電平信號。而本設計中單片機所使用的串口通信方式為UART,所發出的數據信號為TTL 電平信號,很明顯無法直接與PC機的USB端口進行直接數據傳輸,這就需要借助USB轉串口的通信模塊進行數據轉換,USB轉串口通信模塊的核心是一個CH340轉換芯片,它可以將USB和UART串口所發出的數據進行互相的轉換,從而實現單片機和PC機之間的數據傳輸。

得到的測試結果如圖8所示。分析測試結果可知,系統的語音識別功能可以正常的運行。

圖8 語音識別功能測試結果圖

3.2 語音識別精準度測試

由于系統硬件、軟件以及外部環境等因素,系統在不同的距離、場景識別的精準度也有所不同,本測試通過在安靜、較嘈雜兩種環境下進行分別測試,測試距離分別為1米、3米、5米,測試次數均為25次。測試結果如表1所示。從表中可以看出,在安靜環境下3米以內系統識別精準度較高,可以達到92%以上,在嘈雜環境下1米內精準度較高,可達到88%以上,基本滿足應用需求。

表1 語音識別精準度測試表

3.3 時間顯示精準度測試

系統時間通過定時器來計時,每隔1秒刷新一次,定時器設置為每隔10毫秒中斷一次,可知應設置定時器中斷為每計100個數進入一次時間刷新函數。但由于系統定時器并非專用時鐘,在執行定時周期時會受到其它指令的干擾,從而影響計時的準確性,系統顯示時間也會有小量偏差,因此本測試旨在于通過多次逐步逼近的試驗來找到一個使顯示時間誤差最小的計數值。通過多次測試得出的結果如表2所示,可知當計數周期為95時系統時間誤差率最低,為0.03%,此時相應的精準度最高,故在程序中計數周期設置為95。

表2 時間顯示精準度測試表

3 結語

在本測試中,當有人說出“打開冰箱”、“打開空調”等在軟件程序中所事先設定好的關鍵詞指令時,系統若正確的接收到該關鍵詞指令,將會通過串口做出相應的數據回復,并將所回復的數據發送給PC機,PC機接收到數據并處理后通過串口通信工具的窗口實時顯示相應的數據。

雖然本設計在產品的功能、可靠度和識別精準度等方面都達到了預期的效果,實現了無需聯接互聯網也能進行人機交互與控制的目的,既有效地避免了網絡上的安全隱患,又能夠應用于網絡信號達不到的區域,且具有體積小、穩定性強、成本低、應用廣泛等優點,能夠良好地應用于人們的日常生活以及安全需求較高的領域。

但該設計依然有不足之處,即只能對一些家庭電氣進行一些簡單的控制,而無法實現對家用電器的一些具體功能控制。在后續的系統升級中,預計加入藍牙或WIFI模塊,搭建手機終端、系統中心、相關外設的三相互聯控制平臺,既可以實現家庭語音控制,也可以進行遠距離手機終端控制。

猜你喜歡
原理圖精準度串口
基于NPORT的地面綜合氣象觀測系統通信測試方法及故障處理
基于API函數庫實現串口數據通信的分析與設計
淺談STM32核心板原理圖設計
基于EM9000工控板高性能雙串口通信模型設計與實現
讓黨建活動更加有“味”——禮泉縣增強“兩新”黨建精準度
電路原理圖自動布圖系統的設計與實現
基于Protel DXP 2004層次原理圖的設計
基于高精度差分法的線性常微分方程邊值問題研究
船舶電子設備串口數據的軟件共享方法
維修電工線路板的接線技巧分析
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合