導航:首頁 > 操作系統 > 單片機模擬i2s

單片機模擬i2s

發布時間:2022-12-25 20:50:17

『壹』 同一個項目分別用stm32和51單片機會有什麼不同

李工的經驗,有如下幾點不同,希望你供你參考。

1.51是8位單片機,而stm32是32位單片機。時鍾方面stm32運行頻率更高,性能更好。兩種單片機性能差別比較大。

2.片上資源不一樣。簡單講stm32單片機外設豐富,比如串口,I2c等。stm32單片機片上flash和RAM更大。以後升級功能,改進功能的空間大。如果考慮以後功能升級,建議考慮stm32.

3.成本上應該是51單片機要便宜一些。

4.stm32單片機開發資料和參考程序比較多,有庫函數,應用起來方便。51單片機更多直接操作寄存器,開發不方便。

我是北漂李工,一個北漂8年的程序員

在項目開發過程中,我們經常會遇到需要單片機選型,所以我們常常會根據項目功能需求來選擇合適的單片機品牌和型號。常見的51內核單片機和STM32單片機也會是我們主要考慮的型號。

STM32與51單片機的參數差異 STM32與51單片機軟體開發難度差異

STM32使用寄存器比51單片機要多很多,其配置比51復雜,而且中斷邏輯,時鍾配置使能控制等很多概念都是51單片機中所沒有的,再加上stm32很多功能如USB,FSMC。等等功能,其功能更加強大,雖然官方提供了開發固件庫和相關開發輔助工具,但很多時候,遇到bug調試難度也加大了很多。

stm32固件庫很多實用結構體和指針變數,很多在51單片機開發過程不太注重結構體與指針的使用,那麼在STM32開發過程中,就難以理解其固件庫的運用邏輯。

STM32與51單片機的性價比差異

STM32比51處理速度快,外設功能豐富強大,所以價格普遍比51單片機偏貴,在項目選型過程中,需要根據項目功能需求,選擇合適的單片機,如果是51單片機能用,那麼考慮項目成本,肯定是不能選擇STM32,如果51單片機不能用,即使再便宜,也用不了。

總之, 作為單片機開發工程師,需要能夠進行一定的器件選型能力,這個也是必備的專業技能。

搞多了開發,你會發現其實用什麼真的不重要,只要你會用就行。單片機好比一個精密機床,你要想加工一件作品,你用任何品牌的機床都可以,關鍵點是這個機床你會不會用,了解通透程度如何。不同品牌機床操作方法肯定大同小異,不會差別很多,你會用一種,另外一種不用看手冊,也能猜出個七八分。機床這樣,編程也是這樣,給你個51,你應該能控制全世界。

首先如果同一個項目可以用51和STM32同時開發,就不建議使用STM32了,51成本更低。

STM32和51單片機不同點有很多:

1.開發方式不同

51單片機一般是直接操作寄存器,STM32主要操作庫函數編程

2.系統資源不同

一般而言STM32資源要比51單片機更多

3.開發環境可能不同

51和STM32一般來講都可以在Keil下開發,但STM32有更多中選擇,可以在Linux下面開發,windows Esplise下開發,甚至直接用VSCode + 插件方式開發。

4.操作系統區別

一般而言,51單片機不支持操作系統,STM32支持各種主流操作系統,STM32開發起來更容易,可以很方便的利用系統實現各種場景下的應用,51單片機由於沒有操作系統,開發起來有一定阻礙,甚至有時候必須要做出部分功能的犧牲才能達到整體功能的和諧運行。

5.後期維護方式可能不同

STM32資源足夠多,可以寫一個bootloader程序來完成之後的系統升級工作,不需要拆機就可以完成固件的升級,而51單片機則不可以。

STM32系列單片機分為CORTEX M0,M1,M4內核,個人覺得STM32F0系列的從性價比,功能上可以完全替代51單片機,而且性能更好。當然也可以使用51,價格更便宜一些,,但是要做功能復雜一些的產品,51系列的單片機是不能滿足的,比如驅動RGB 屏,至少要用STM32F429,支持LTDC介面,而且需要外擴內存,支持FMC介面,比如要做數字音頻,要支持I2S ,比如要做USB傳輸,要支持USB ,要移植操作系統,文件系統等等,要看CPU 的資源等等,總之,要根據所做的項目看CPU的資源是否滿足要求是非常重要的,這要再設計前期靠考慮周到,否則,項目做到一半發現資源不夠,需要重來是很郁悶的事情。

做產品要考慮成本,幾毛錢就能搞定的,沒必要幾塊甚至幾十塊。一般來講,價格越貴的,資源越多,使用起來越簡單,隨心所欲。簡而言之,價格越低,資源越少的單片機,完成項目的難度越大,需要優化代碼和演算法

在stm32之前是8051的天下,silabs的c8051f外設相當的強大。硬體不錯,可惜代碼不夠多。atmel的代碼比較多,可惜晶元不夠強大。

stm32一出,橫掃天下,要硬體有硬體,要軟體有軟體,價格便宜量又足,連低端產品都用他。

電動自行車控制器都用它,無刷電機都用它。

stm32是史上最廣泛使用的單片機。

只要資源夠用,都可以,20年前我用8051,現在用stm32。stm32方便些,可以在線調試。我現在開發東西復雜一點的,用stm32 1系列和4系列。簡單一點的用stm8s一塊多錢的樣子。

我覺得你的問題對比對象不太對,一般能用51的項目用stm8或者avr即可。一般來說stm32比51強太多了,無論是性能和價格都沒有可比性。

所以在我看來開發上沒有什麼太大不同,無非就是開發環境不一樣,如果代碼規范的話很容易進行互相移植(最近晶元漲價嚴重,我們公司正在換國產),而所謂的外設(uart iic spi等等)其實沒有太大區別。

但是在生產上差別就出來了,主要在於交貨能力,一般而言同為一級代理采購物料,st的交貨能力要比stc的強(當然最近行情st也不行了,交期干到了9月份)。所以如果你的產品是主力長期貨,建議選擇交貨能力強的。

我就記得51單片機放不了幾個變數就超出了。復雜點的程序都很難寫。

『貳』 如何用I2S來實現ARM單片機通訊,解決方案

STM32F4本身都 帶有I2S介面,可以方便地與某些音頻解碼晶元進行連接,正點原子的STM32F4教程上有這方面的知識

『叄』 音控的電路及原理知識

1、主機音控的N種方式

A、數字控制的模擬音頻處理(比如常見的TDA7418/TDA7419-7313-2313等等),一般都是輸入模擬信號,有I2C控制,輸出也是模擬信號,輸出到功放模塊。

B、DSP的汽車音響運用大大的方便了原車主機的設計和使用,它一般都可以接受 I2S,SPDIF,模擬音頻輸入,也可以輸出I2S和模擬信號,更重要的是可以把目標車種的環境因素,比如,車內的EQ參數,反射因素和吸音因素等被廠家固化在DSP里,這樣話一個主板只需要固化不同的相關參數就可以適用於其他車型,喜歡動手拆機的朋友一定能發現很多主機用了同一塊主板,廠家能輕而易舉的寫入不同的程序就可以適於用不同的車型,輸出模擬信號是可以在I/V變換處接RCA輸出,當然它的I/V變換有無源的和有源的,不用討論,有源的聲音要好很多,且底噪也低很多。

C、如果DSP輸出的I2S數碼信號的話,那必須得加裝I2S解碼電路來獲得高品質的輸出信號,但這種較少見,音響低配的雷克薩斯的先鋒功放就屬於這種。

2、這類模擬功放塊有幾種控制方式的

A、ST-BY+MUTE的,比如常見的TDA738X系列等,常見於國產導航和常規車機,這種可以加音質較好的高轉低來獲取低電平的信號,失真在10%上下。

B、由高低電位產生ST-BY+MUTE控制的,比如TDA8751T.7009AR等,美規車最常見啦,比如福特的翼虎原車主機,這種可以加音質較好的高轉低來獲取低電平的信號,失真在10%上下。

C、由I2C匯流排控制在功放塊內部形成的ST-BY+MUTE的功放塊,比如常見的TDA7561,TDA7562,TDA7563,TDA7564,TDA7566,TB2913等等,常見於歐洲車系的主機和導航,比如RCD510等,這種可以加音質較好的高轉低來獲取低電平的信號,失真在10%上下。

D、有ST-BY+MUTE控制的,模擬輸入,數字功放輸出的,比如常見的TAS5414等,一般都是歐美車系使用,但不多,比如福特的猛禽F150的數字分離功放和標志的SUV的cd-45,這種是不可以使用高轉低來獲取低電平的信號的,強行使用高轉低或是高電平輸入的DSP,失真遠大於30%以上,已經超越人們能承受的失真極限。

E、由I2C匯流排控制在功放塊內部形成的ST-BY+MUTE的功放,且輸入不是常規的模擬信號,而是經由處理過的I2S數字信號,當然功率輸出也是數字功放,常見於雷克薩斯的音響,先鋒生產的純數字功放,具體型號是意法生產的FDA4100,這種是不可以使用高轉低來獲取低電平的.信號的,強行使用高轉低或是高電平輸入的DSP,失真遠大於30%以上,已經超越人們能承受的失真極限。

在這里的數字功放失真是指在無原配負載的情況下強行加上高轉低時的失真大於30%分離式的功放,另外有的音響使用了分離式的功放,它們的功率輸出由上面介紹的A,B,C,D,E等幾種方式,他們的音控也有上述的幾種方式,但是有的DSP支持dts2.0,dts5.1,AC-3等多通道解碼,比如13代頂配皇冠導航版,當然也有例外的,比如本田車的原車配來的分離式功放,都是主機處理好了的平衡信號輸出給功放部分,僅僅是負責放大和功率輸出而已,其實這個可以在功放之前截取平衡信號給有平衡信號輸入的功放,那個聲音效果的表現一定一流。也可以單端使用,但是可能會有一點的噪音出現,但那也可以這樣使用。

在以上A,B,C的各種功率輸出情況下,在外圍升級一般情況下只能使用高轉低,這是一個折中的不得已而存在的設備,在實際使用中被大量使用。

『肆』 聲音進入麥克風後,出來的聲音是什麼格式 I2S匯流排什麼作用I2S格式指的是什麼格式MP3、wav又是什麼

這是要干什麼啊。。
聲音進入麥克風,先變成了電流:模擬信號。然後經過話筒放大電路,此時仍然是模擬信號,模擬信號沒格式,是隨著聲音變化的電流。
模擬信號進入音效卡的AD晶元,做模擬——數字轉換,最後經過編碼,編碼出的是PCM格式,最原始的音頻格式,未壓縮的文件。
I2S匯流排是編碼晶元、解碼晶元和數字發射、接收晶元當中使用到的,是飛利浦推出的一種在解碼(編碼)晶元和接收(發射)進行數字傳輸的一種格式,分為三條線路,一條數據線路,一條時鍾線路,一條同步線路。
MP3是MPEG(活動影像壓縮小組)推出的一種有損音頻壓縮格式,利用捨去人們對一些聲音細節不敏感的方式,使得文件的體積大幅減小。WAV就是音效卡原始編碼的PCM格式文件,屬於無損未壓縮文件,效果最好。
聲音進入麥克風——進入音效卡——模擬數字轉換——數字信號——(如果利用軟體處理,此時做DSP處理,沒有則略去此步)——數字模擬轉換——模擬信號——放大器——揚聲器還原成人耳能聽到的振動。

『伍』 pic 哪款單片機支持I2S匯流排通信的

應該反著問「pic哪款不支持I2C」
除了早期16FXX系列不支持外,其他幾乎都支持,有單獨的I2C介面,另外I2C匯流排很簡單,可以自己編一段用普通IO調用。

『陸』 單片機如何控制立體聲音頻編解碼器晶元

音頻編解碼晶元的通信標準是I2S匯流排,如果單片機上有這個匯流排介面,直接對接這個介面,然後按單片機相應控製程序編寫I2S匯流排的代碼。
如果單片機沒有這個介面,可以用IO口模擬這個匯流排,這樣做程序復雜一些。

『柒』 請教一個i2s的問題,我在使用STM32,型號為STM32F103VCT6,該型號單片機為大容量單片機。

就是MCK,提供時鍾信號的,在ZET6上用過,貌似用的是pc6

『捌』 有人用SPI模擬I2S成功的嗎

while (SPI_I2S_GetFlagStatus(SPI1, SPI_I2S_FLAG_TXE) == RESET); 姐姐,您裡面是獲取SPI1的TXE標志位,而您是對SPI2做的初始化。。。後面有向SPI2發數據。。。SPI1根本就沒初始化過,所以TXE狀態位為0初始態

『玖』 請教STM32的I2S的初始化問題

你是不是勾選了not generate init code 啊,如果你用的是hal庫初始化名應該是MX_I2S3_Init

『拾』 xmos的i2s 是用gpio模擬出來的嗎

是的,XMOS的外設如i2s等時序就像FPGA使用時鍾來產生相應的時序.大家都習慣把ARM的外設為硬外設,類似FPGA和XMOS的外設都是稱為軟IP。軟IP的好處就是可以通過編程去改成想要的外設定義。木瓜電子有些文章是介紹XMOS的外設信息,您看一下。

閱讀全文

與單片機模擬i2s相關的資料

熱點內容
騰訊伺服器如何上傳源碼 瀏覽:737
單片機的原理概述 瀏覽:506
火控pdf 瀏覽:267
如何復制雲伺服器centos環境 瀏覽:984
債權pdf 瀏覽:299
紅色番字的app怎麼下載 瀏覽:876
雲伺服器流程教課 瀏覽:702
中國農業銀行app怎麼沒有網 瀏覽:997
幾率表演算法 瀏覽:902
程序員理工科 瀏覽:708
企業郵箱登錄收件伺服器地址 瀏覽:558
計算機思維與演算法設計的重要性 瀏覽:664
linux刷新磁碟命令 瀏覽:76
我的世界如何查看伺服器種子pc 瀏覽:284
linuxlamp編譯安裝 瀏覽:609
枚舉演算法ppt 瀏覽:184
cmd查看進程命令 瀏覽:956
手機內怎麼刪除APP 瀏覽:834
魚群和鳥群演算法區別 瀏覽:93
pdf尺寸設置 瀏覽:211