當我們出門在外,手機電量變紅找不到充電線的時候;當我們家里一堆智能門鎖、溫濕度傳感器、藍牙耳機頻繁要換電池充電的時候;當我們植入體內(nèi)的醫(yī)療傳感器需要更換電池要再做一次手術的時候,你有沒有想過:能不能不用電線、不用充電寶,直接通過空中的電磁波給設備供電?其實這個想法早就不是科幻了——利用射頻電磁波為便攜式設備供電,也就是我們常說的射頻無線電能傳輸技術,已經(jīng)在很多場景落地,正慢慢改變我們給便攜設備供電的方式。
在音頻設備、射頻通信、電源變換等幾乎所有電子系統(tǒng)中,諧波失真是衡量信號質(zhì)量最核心的指標之一:我們聽HiFi音響的時候,為什么有的音響聲音渾濁發(fā)硬,有的聲音通透細膩?核心差別就是諧波失真的大小;手機射頻發(fā)射的時候,為什么會干擾相鄰頻道?就是因為諧波失真產(chǎn)生了多余的諧波分量;開關電源輸出的電壓為什么會有紋波?也和功率級的諧波失真息息相關。很多電子工程師做設計,只關注信號幅度和頻率,卻忽略了諧波失真,最終做出來的產(chǎn)品性能達不到要求,甚至無法通過認證。
在信號發(fā)生器設計、嵌入式測試系統(tǒng)、傳感器信號調(diào)理等場景中,我們經(jīng)常需要低成本、低功耗的可調(diào)三角波與方波信號。傳統(tǒng)的信號產(chǎn)生方案要么用專用波形發(fā)生器芯片,成本較高;要么用分離器件搭,電路復雜體積大,輸出還沒有緩沖帶不動負載。而雙路軌到軌輸入輸出(RRIO,Rail-to-Rail Input-Output)運算放大器,憑借高集成度、寬輸入輸出范圍、低功耗的特性,只需要增加少量外部元件,就能實現(xiàn)帶緩沖輸出、頻率幅度可調(diào)的三角波和方波,完美適配中小功率信號產(chǎn)生需求。
當船只在茫茫大霧中航行,當潛艇要在漆黑的深海探測地形,當潛水員要尋找水下失事的飛機黑匣子,最離不開的設備就是聲納——哪怕雷達能探測幾百上千公里,在水里電磁波衰減極快,根本沒法用,只有聲波能在水下長距離傳播,聲納就是利用聲波實現(xiàn)導航和測距的設備。
做模擬電路設計、信號處理的時候,我們經(jīng)常會遇到這種需求:輸入信號波動范圍太大,要把超過某個范圍的信號“削掉”,只保留我們需要的幅度;或者要防止輸入信號電壓太高,燒壞后端的芯片;又或者要把正弦波轉換成方波,去掉正負半周的尖峰。能實現(xiàn)這個功能的電路就是限幅電路——很多新手覺得限幅電路就是二極管擺一擺,其實不同場景的限幅電路設計差別很大,搞懂原理才能選對方案,不會出問題。
做嵌入式開發(fā)、電子DIY、工業(yè)控制,幾乎都繞不開“弱電控制強電”這個需求:用單片機3.3V/5V的低電壓弱電,控制220V交流電的燈泡、電機、加熱器這類強電設備通斷,最常用的方案就是繼電器。很多新手剛接觸的時候只知道繼電器能“小控大”,卻搞不懂選型、接線、驅動怎么弄,要么燒單片機,要么繼電器不吸合,甚至還出安全問題。
在日常電子產(chǎn)品開發(fā)中,你一定遇到過這種情況:產(chǎn)品在家測試好好的,一到冬天干燥環(huán)境,用戶一碰觸摸屏就死機,摸一下接口就重啟,甚至直接燒壞芯片——這大概率是靜電(ESD,Electro-Static discharge)搞的鬼。靜電抗擾度是電磁兼容測試里最基礎也最容易出問題的項目,很多新手覺得ESD就是加個TVS管碰運氣,其實靜電抗擾度設計是從原理圖到結構、PCB的系統(tǒng)工程。
玩射頻、做高速硬件設計的朋友,肯定都會遇到一個靈魂拷問:做阻抗匹配的時候,到底選75Ω還是50Ω?為什么有的地方用75Ω,有的地方必須用50Ω?兩個能不能混用?混用會出什么問題?很多人只知道“射頻用50Ω,視頻用75Ω”,卻搞不懂背后的原因,遇到選型的時候只能憑經(jīng)驗瞎選。
在電機驅動、開關電源、LED調(diào)光這些場景中,PWM(脈沖寬度調(diào)制)是最常用的功率調(diào)節(jié)方式,但PWM天生帶有開關紋波,必須加濾波電路才能輸出平滑的電壓/電流。很多開發(fā)者為了濾除紋波絞盡腦汁:加大電容、增加電感、多階濾波,結果導致PCB體積變大、成本升高、動態(tài)響應變慢,甚至還會引入額外的功耗。其實,我們完全可以從PWM生成架構入手,通過常用的“加倍”策略,從根源降低紋波幅度,大幅減輕后端濾波的壓力——這就是本文要聊的“通過加倍減輕PWM濾波要求”,從原理到實踐,帶你看懂如何用小濾波獲得更好的效果。
在智能家居、安防報警、自動照明這些場景里,最常用到的人體感應器件莫過于人體熱釋紅外傳感器(PIR,Passive Infrared Sensor)。小到樓道自動亮燈的感應開關,大到小區(qū)安防的入侵檢測,從智能馬桶的自動翻蓋到空調(diào)的人體感應送風,幾乎所有需要“檢測有沒有人”的低成本場景,都能看到它的身影。很多電子愛好者用它做項目,卻只知道接電就能用,搞不懂它為什么能檢測到人體、怎么調(diào)整靈敏度、容易受哪些因素干擾。
在自動控制電路里,有一種元器件堪稱“自動化的橋梁”——它能用小電流控制大電流、用低電壓控制高電壓,還能實現(xiàn)電路的隔離和多路開關切換,從家里的配電箱、空調(diào)內(nèi)機到工廠的自動化生產(chǎn)線,從新能源汽車到航天發(fā)射設備,都能看到它的身影,它就是繼電器(Relay)。
在電子電路領域,晶體管是當之無愧的核心元器件,而場效應管(Field Effect Transistor,簡稱FET)作為晶體管的兩大分支之一,憑借輸入阻抗高、功耗低、噪聲小、易于集成等優(yōu)勢,已經(jīng)成為現(xiàn)代電子工業(yè)中不可或缺的基礎器件——從手機、電腦的CPU到新能源汽車的逆變器,從電源適配器到光伏逆變器,到處都有場效應管的身影。
不管是新手入門還是開發(fā)多年的工程師,理解程序運行時的內(nèi)存分布,都是讀懂底層運行邏輯、排查內(nèi)存問題、寫出高效代碼的基礎。很多人只知道寫代碼申請變量,卻不知道這些變量在內(nèi)存里到底放在哪里,不同區(qū)域的特性有什么區(qū)別,遇到內(nèi)存越界、棧溢出這些問題的時候就一頭霧水。
在C語言開發(fā)中,struct(結構體)是最基礎也最靈活的語法特性之一。幾乎每個C語言開發(fā)者都會用struct定義自定義數(shù)據(jù)類型,但大多數(shù)人只停留在“把不同類型變量打包”的基礎用法上,很少深挖它能玩出多少花樣。實際上,從數(shù)據(jù)封裝到面向對象模擬,從內(nèi)存優(yōu)化到底層驅動開發(fā),struct的巧妙用法能幫我們解決很多復雜問題,寫出更簡潔、更高效、更易維護的代碼。
在嵌入式開發(fā)領域,有一句老生常談的話:“內(nèi)存玩得轉,開發(fā)一半順”。和PC端開發(fā)不同,嵌入式系統(tǒng)的RAM資源往往極其緊缺——很多MCU的RAM大小只有幾KB到幾十KB,高端嵌入式芯片也不過幾百MB,遠不如PC動輒幾個GB的內(nèi)存。同時,嵌入式內(nèi)存的布局、分配、管理直接影響程序的穩(wěn)定性、實時性,很多奇怪的bug比如程序跑飛、莫名其妙復位都和內(nèi)存使用不當有關。能不能把有限的內(nèi)存玩明白,是區(qū)分入門嵌入式工程師和資深工程師的核心標志之一。