
現(xiàn)在,運行實時操作系統(tǒng)(RTOS)大型32位單片機(MCU)和微處理器(MPU)它越來越受歡迎。然而,如果使用大型單片機處理復雜的應用程序,在執(zhí)行小型背景處理任務(wù)時可能會遇到CPU雖然這些任務(wù)在資源方面并不復雜,但它們非常耗時。8位和16位MCU小型設(shè)備可用于減輕32位設(shè)備的工作負荷。
芯片采購網(wǎng)專注于整合國內(nèi)外授權(quán)IC代理商現(xiàn)貨資源,芯片庫存實時查詢,行業(yè)價格合理,采購方便IC芯片,國內(nèi)專業(yè)芯片采購平臺。
想象一下這樣一個例子:32位MCU用于控制娛樂系統(tǒng)、環(huán)境照明和空調(diào)等非安全功能。為了處理與這些功能相關(guān)的所有任務(wù),必須分配這32位設(shè)備的資源。此類任務(wù)還包括測量駕駛室多點溫度、打開/關(guān)閉空調(diào)系統(tǒng)、更新圖形顯示、處理用戶輸入、調(diào)整照明條件和播放音樂。即使是大型32位設(shè)備,這些工作量也太重了。
然而,如果32位設(shè)備將部分任務(wù)負載轉(zhuǎn)移到幾乎不需要監(jiān)控的子處理器,每個子處理器只負責1或2個任務(wù),那么這些任務(wù)將更容易管理。這可以釋放到主處理器上CPU從而降低軟件的復雜性,提高性能,縮短執(zhí)行時間。
這個解決方案類似于單片機中的外設(shè)。外設(shè)是一個特殊硬件的小模塊,可以添加新功能(如操作放大器或模數(shù)轉(zhuǎn)換器),也可以減少給定功能的執(zhí)行CPU必須承擔的工作量。在某些情況下,初始化后,外設(shè)可以獨立于CPU運行。
為了說明外設(shè)的優(yōu)點,我們生成脈寬調(diào)制(PWM)信號為例。在沒有特殊外設(shè)的情況下產(chǎn)生PWM,只需將I/O線設(shè)為高電平,等待一定數(shù)量的周期,將其設(shè)為低電平,等待一段時間,然后重復操作。會占很多CPU對于某些功能(如周期)RTOS)難以可靠執(zhí)行。相比之下,PWM外設(shè)允許CPU設(shè)置所需的波形參數(shù),同時執(zhí)行其他任務(wù)。
本文介紹的第一個示例說明了減少CPU密集型任務(wù)負荷的優(yōu)點。在這種情況下,使用了8位MCU來創(chuàng)建I/O擴展器。I/O擴展器并不復雜;然而,它們會占用很多,因為它們需要經(jīng)常中斷。CPU時間。使用專用MCU為了完成這項任務(wù),可以減少大型32位設(shè)備I/O需要處理的中斷次數(shù)。此外,I/O軟件中可以設(shè)置擴展器的功能集,因此支持定制和調(diào)整應用程序。
本文的第二個例子是創(chuàng)建獨立性CPU電壓頻率(V/F)例如,轉(zhuǎn)換器顯示了獨立于內(nèi)核的外設(shè)的性能。CPU唯一的功能是初始化外設(shè),并將調(diào)試打印信息發(fā)送到UART。在大系統(tǒng)中,當V/F在后臺運行時,CPU另一個簡單的任務(wù)可以執(zhí)行。
I/O擴展器
使用8位MCU創(chuàng)建I/O擴展器最大的優(yōu)點是提高靈活性。I/O擴展器ASIC設(shè)備中嵌入了功能集,MCU它的行為可以根據(jù)其執(zhí)行軟件來定義。這種靈活性是基于MCU版本可以滿足最終應用程序的需要。
實現(xiàn)高級I/O擴展器
高級設(shè)備內(nèi)部I/O基于搜索表的結(jié)構(gòu),擴展器運行。虛擬地址將在讀取或?qū)懭胫鞍l(fā)送。該地址與單片機上的寄存器無關(guān)——僅針對搜索表。這意味著不在單片機硬件寄存器中的功能可以透明地添加。此外,表格中的條目也可以根據(jù)特定用途輕松重新排列。該結(jié)構(gòu)的另一個優(yōu)點是可以向搜索表添加權(quán)限。例如,要創(chuàng)建一個只讀寄存器,只需省略搜索表的寫作條目。
存儲器中的存儲器
MEM OP也可以將GPIO編譯時設(shè)置的參數(shù)是配置重置。
注:并非所有字段都可用于所有操作
MEM OP的功能
此外,還可以選擇將單片機設(shè)置為上電時的加載和保存設(shè)置。如果可以,單片機將嘗試加載配置0中的設(shè)置。如果配置驗證失敗,MCU將恢復到編譯常數(shù)。如果不需要,可以在軟件中禁用此功能。
解決方案的要點
基于MCU解決方案的優(yōu)點是靈活性極佳。在市場上ASIC我們可以做不同的事情MCU特定于應用場景的非標準功能配置。該應用程序針對通用PIC16F15244系列MCU開發(fā)。
如果您需要深入了解實現(xiàn)或想嘗試此示例,請參見源資源庫中的示例README此外,還提供帶有文件的文件。Arduino的高級I/O演示擴展器。
電壓頻率(V/F)轉(zhuǎn)換器
通過減少材料清單(BOM)電壓頻率轉(zhuǎn)換器可以改進傳統(tǒng)的模擬解決方案,從而降低設(shè)計面積。市場上有很多V/F轉(zhuǎn)換器只需配備外部電阻和電容即可運行,而單片機只需使用通用的去耦和上拉組件(所有MCU必要組件)即可運行。
TC9400/TC9401/TC9402 10 Hz至100 kHz V/F轉(zhuǎn)換器的應用原理圖
MCU采用獨立于內(nèi)核的外設(shè)和功能組合,而不是數(shù)字化模擬技術(shù)。MCU模數(shù)轉(zhuǎn)換器采用內(nèi)部計算功能(ADCC)測Lumissil代理量輸入信號,然后分頻時鐘信號,創(chuàng)建可變頻率輸出。在這個例子中,外設(shè)設(shè)置在初始化后獨立CPU操作。這意味著,CPU可用于最終應用中的其他任務(wù)。
對于基于MCU挑戰(zhàn)是性能不如模擬解決方案。輸出本身的分辨率ADCC的限制。表面上看,ADCC它是12位,但它將以14位分辨率運行,具體取決于程序的配置模式。同樣,數(shù)控振蕩器用于合成輸出頻率(NCO)分辨率有限,輸出中可能會有抖動,這取決于ADC測得的值。
基于MCU解決方案可分為模擬采樣模塊、輸出振蕩器模塊和占空比發(fā)生器三個不同的外設(shè)模塊。
解決方案框圖
模擬采樣模塊
實現(xiàn)模擬采樣模塊
模擬采樣模塊負責模數(shù)轉(zhuǎn)換。在設(shè)備頻率限制下實現(xiàn)1000 kHz輸出,已將ADCC配置為過采樣,然后通過平均處理得到14位結(jié)果。
這種過采樣配置有一個缺點,即在結(jié)果中增加額外的統(tǒng)計噪聲,可以通過計算采樣平均值和增加滯后來補償噪聲。為了實現(xiàn)滯后,可以使用ADCC閾值中斷功能。(為了簡單起見,我們只會介紹如何使用閾值中斷功能的細節(jié)。
在ADCC采樣平均值計算完成后,將獲得的值與外設(shè)中的設(shè)定值寄存器進行比較。如果兩者之間的差異大于或小于設(shè)定閾值,則觸發(fā)中斷。CPU它可以在不受影響的情況下阻止中斷,但中斷會觸發(fā)直接存儲器訪問(DMA),將平均值處理的過采樣結(jié)果復制到ADCC設(shè)定值寄存器滯后。如果不超過閾值,則不會發(fā)生DMA復制,以免觸發(fā)輸出振蕩器模塊DMA更新。
輸出振蕩器模塊
結(jié)構(gòu)輸出振蕩器模塊
該解決方案的輸出振蕩器模塊負責以所需的輸出頻率產(chǎn)生時鐘信號。輸出信號連接到內(nèi)部的空比發(fā)生器。該組件將輸出頻率減半,但將產(chǎn)生50%的空比輸出。因此,輸出振蕩器模塊以輸出頻率的兩倍運行。
輸出振蕩器模塊的核心是數(shù)控振蕩器(NCO)。NCO外設(shè)的工作原理是在輸入時鐘的上升沿累加器增加增量值,然后根據(jù)累加器溢出導出外設(shè)的輸出。NCO請參見數(shù)據(jù)手冊的完整說明。
在這個例子中,已將NCO2設(shè)置內(nèi)部創(chuàng)建所需的輸入時鐘頻率,通過14位輸入獲得100 kHz輸出。使用14位結(jié)果的原因是ADCC12位本身的結(jié)果不足以在沒有外部時鐘源的情況下產(chǎn)生100 kHz輸出。
ADC結(jié)果
NCO1輸出(翻倍)
輸出頻率
0x0000
0 Hz
0 Hz
0x0001
12.2 Hz
6.1 Hz
0x0100
3.1 kHz
1.6 kHz
0x1000
50 kHz
25 kHz
0x3FFF
200 kHz
100 kHz
100 kHz V/F轉(zhuǎn)換器的理想輸出(看門狗已關(guān)閉)。
如果改變NCO如果2的輸出頻率或使用備用源,則將輸出頻率調(diào)整到不同的輸出范圍。例如,如果NCO2的頻率降低到1.28 MHz,最大輸出為10 kHz。
ADC結(jié)果
NCO1輸出頻率(翻倍)
輸出頻率
0x0000
0 Hz
0 Hz
0x0001
1.2 Hz
0.6 Hz
0x0100
312.5 Hz
156.3 Hz
0x1000
5 kHz
2.5 kHz
0x3FFF
20 kHz
10 kHz
10 kHz V/F理想輸出轉(zhuǎn)換器(看門狗已關(guān)閉)。
發(fā)生器占空比
占空比發(fā)生器框圖
該解決方案的空比發(fā)生器模塊負責創(chuàng)建50%的空比輸出。這是一個可直接使用的可選功能NCO輸出,但這樣做會增加比例的變化。
該生成器使用可配置邏輯單元(CLC)實現(xiàn)。CLC可配置邏輯的小模塊類似于現(xiàn)場可編程門陣列(FPGA)單元。CLC例如,可用作離散邏輯門AND-OR或OR-XOR),鎖定器或觸發(fā)器也可配置。在解決方案中,CLC實現(xiàn)帶復位功能J-K觸發(fā)器。J和K保持在邏輯高電平。用于觸發(fā)器的時鐘輸出振蕩器模塊。每次輸入時鐘脈沖都會導致輸出翻轉(zhuǎn),從而產(chǎn)生50%的空比。注:輸出振蕩器模塊的頻率抖動會影響空比。
Timer 6用作不穩(wěn)定的看門狗定時器。如果輸出沒有邊緣(上升或下降邊緣),定時器將溢出并發(fā)送時鐘脈沖CLC,這可以控制輸出頻率范圍的下限。輸出轉(zhuǎn)向定時器頻率的一半(輸出為6 Hz),而不是直流。
解決方案的要點
該示例表明,外部集成電路通常必須使用硬件外設(shè)來創(chuàng)建獨立于核心的功能。該配置的最大優(yōu)點之一是,外設(shè)操作可以在軟件中設(shè)置,以便根據(jù)最終應用程序輕松設(shè)置使用調(diào)整示例。由于使用了大量的外設(shè),選擇了PIC18-Q43系列MCU實現(xiàn)這個例子。
詳見示例資源庫中的示例資源README文檔。此外,示例資源庫還包括在同一設(shè)備上實現(xiàn)頻率電壓轉(zhuǎn)換器的實現(xiàn)。
總結(jié)
雖然高性能單片機和微處理器都有一席之地,但在執(zhí)行小型專項任務(wù)時,有8位和16位MCU作用不容低估。這類任務(wù)不一定很復雜,但可能很耗時,或者是關(guān)鍵的時間任務(wù)。任務(wù)負荷減輕后,32位設(shè)備可以更容易地實現(xiàn),從而提高可靠性,降低存儲占用率,降低功耗。
- Molex莫莫仕擴展全球產(chǎn)能
- 創(chuàng)新,引領(lǐng)未來
- 與馬斯克交易的最克 推特鎖定了員工的股權(quán)賬戶
- 來CITE 2022 這些高科技花式出圈
- 臺積電加碼采購 本土廠利多
- 英飛凌區(qū)塊鏈方案賦能ARTRACX藝術(shù)認證和追溯項目
- 為什么深度學習如此容易被愚弄?AI研究人員正在努力修復神經(jīng)網(wǎng)絡(luò)缺陷
- 德科技首次獲獎FCC Spectrum Horizons許可證用于在太赫茲以下頻段開發(fā)6G技術(shù)
- Softing為實施推出Ethernet-APL現(xiàn)場設(shè)備的新硬件模塊
- 2022年財年第三季度財務(wù)報告
- 戴爾、VMware與NVIDIA合作 為多云解決方案提供效率
- iPhone 14和Apple Watch可直接繞過運營商支持衛(wèi)星通信
