首頁 > 新能源汽車

如何為數(shù)字信號處理應(yīng)用選擇微控制器外設(shè)

來源:新能源汽車網(wǎng)
時間:2023-05-17 16:02:46
熱度:

如何為數(shù)字信號處理應(yīng)用選擇微控制器外設(shè)微控制器可以作為將數(shù)字信號處理整合到可穿戴設(shè)備、醫(yī)療設(shè)備、音頻設(shè)備以及各種其他產(chǎn)品和系統(tǒng)中的便捷且經(jīng)濟高效的方式。然而,微控制器主要是為(毫不

微控制器可以作為將數(shù)字信號處理整合到可穿戴設(shè)備、醫(yī)療設(shè)備、音頻設(shè)備以及各種其他產(chǎn)品和系統(tǒng)中的便捷且經(jīng)濟高效的方式。然而,微控制器主要是為(毫不奇怪)控制事物而設(shè)計的,因此如果我們希望 MCU 成為有效的信號處理器,我們需要謹慎選擇。

上一篇文章重點介紹了 CPU 特性,即位寬、時鐘頻率、每條指令的時鐘周期和浮點能力。在本文中,我們將了解使微控制器更適合 DSP 功能的外圍模塊和功能。

 

處理器支持

一些硬件模塊占據(jù)了 CPU 和典型外圍設(shè)備(例如定時器和比較器)之間的中間地帶。一個常見的例子是硬件乘法器。

 

硬件乘法

硬件乘法器是一種可能意味著實時 DSP 系統(tǒng)成功與失敗之間差異的特性。數(shù)字濾波和頻譜分析等重要的 DSP 應(yīng)用需要大量的乘法運算,并且這些運算必須足夠快地執(zhí)行以在合理的時間內(nèi)(從用戶的角度來看)產(chǎn)生結(jié)果,或者——這就是事情真正變得具有挑戰(zhàn)性的時候——以等于或快于數(shù)據(jù)從外部系統(tǒng)到達的速率。

 

此FIR 濾波器結(jié)構(gòu)中的三角形表示乘法運算。

 

由于大部分微控制器應(yīng)用不需要乘法功能,因此將乘法器并入處理器內(nèi)核本身通常沒有意義。硬件乘法器是一個補充模塊,它從 CPU 接收數(shù)據(jù),執(zhí)行高效乘法,然后將結(jié)果數(shù)據(jù)提供給 CPU。

硬件乘法器實際上不僅僅是乘法。DSP 例程通常需要一個稱為乘法累加 (MAC) 的過程,該過程(正如您可能已經(jīng)猜到的那樣)涉及重復乘以數(shù)字并添加或累加乘法運算的結(jié)果。硬件 MAC 模塊為提高 DSP 性能提供了更大的潛力。

 

MAXQ615 中的硬件乘法器是 Maxim 的一款小型廉價微控制器,可執(zhí)行有符號和無符號 16 位乘法、16 位乘加和 16 位乘減。

 

直接內(nèi)存訪問 (DMA)

我次了解 DMA 是在我從事必須對數(shù)字化基帶信號快速執(zhí)行解碼算法的軟件定義無線電工作時,那次經(jīng)歷給我留下了 DMA 在時間敏感數(shù)字信號處理中的價值的印象。

DMA 單元本質(zhì)上是一個獨立的處理器,它只有一項工作:移動數(shù)據(jù)。這個任務(wù)很簡單,因此將 DMA 功能合并到您的項目中并不會嚴重增加其復雜性,而且系統(tǒng)的 DSP 能力會顯著增加,因為 CPU 可以專注于處理數(shù)字而不是在內(nèi)存和外圍設(shè)備之間洗牌數(shù)據(jù)。如果您的應(yīng)用程序需要計算密集型實時 DSP,則 DMA 控制器可能是對您的 MCU 功能特別有價值的補充。

 

SAM4S 微控制器(來自 Atmel)上的 DMA 控制器使我能夠生成此正弦波,而無需不斷糾纏 CPU 以將下一個數(shù)據(jù)點發(fā)送到 DAC。

 

溝通

數(shù)字信號處理不僅需要處理器,還需要處理數(shù)字數(shù)據(jù)。在大多數(shù)情況下,此數(shù)字數(shù)據(jù)將源自微控制器外部,這意味著數(shù)據(jù)傳輸是 DSP 鏈中的關(guān)鍵環(huán)節(jié)。

 

并行數(shù)據(jù)傳輸

我喜歡并行接口,因為它們很簡單,至少在理論上是這樣,但它們并不像您想象的那么普遍。同時傳輸 8 位甚至 16 位似乎比發(fā)送一位更有效率,但串行接口甚至在高速系統(tǒng)中也被廣泛使用。如果并行數(shù)據(jù)傳輸是您系統(tǒng)中的一個選項并且您想嘗試一下,請尋找具有“外部存儲器接口”(EMI 或 EMIF)、“外部總線接口”(EBI)或類似東西的微控制器.

 

串行數(shù)據(jù)傳輸

I 2 C不是高速接口,標準UART往往用于低或中等數(shù)據(jù)速率。尋找宣傳高時鐘速率并使用附加信號在接收器和發(fā)送器之間進行同步的外圍設(shè)備(這允許數(shù)據(jù)信號完全用于實際數(shù)據(jù)傳輸)。

我相信“USART”是我描述的那種串行通信模塊的相當標準的縮寫(“S”代表“同步”)?;旧?,我在這里推薦的是一個相當于 TI 的“多通道緩沖串行端口”的微控制器——縮寫 McBSP(發(fā)音為mic-BSP,就好像該模塊來自愛爾蘭)留在我的記憶中并將永遠與我的腦海聯(lián)系在一起具有高速串行數(shù)據(jù)傳輸....

 

錯誤檢查

需要穩(wěn)健錯誤檢測的應(yīng)用可以受益于硬件CRC模塊。

 

這是集成到 Silicon Labs 的 EFM8 Laser Bee 微控制器中的硬件 CRC 模塊的示意圖。你給它一個字節(jié)序列,它使用一個標準的 CRC 多項式來生成一個 16 位的結(jié)果。

 

結(jié)論

我確實認為,在許多中低強度 DSP 應(yīng)用中,微控制器比數(shù)字信號處理器更可取,我希望本文能幫助您確定能夠可靠地執(zhí)行項目所需 DSP 任務(wù)的微控制器。