現(xiàn)在,運(yùn)行實(shí)時(shí)操作系統(tǒng)(RTOS)大型32位單片機(jī)(MCU)和微處理器(MPU)它越來(lái)越受歡迎。然而,如果使用大型單片機(jī)處理復(fù)雜的應(yīng)用程序,在執(zhí)行小型背景處理任務(wù)時(shí)可能會(huì)遇到CPU雖然這些任務(wù)在資源方面并不復(fù)雜,但它們非常耗時(shí)。8位和16位MCU小型設(shè)備可用于減輕32位設(shè)備的工作負(fù)荷。
芯片采購(gòu)網(wǎng)專注于整合國(guó)內(nèi)外授權(quán)IC代理商現(xiàn)貨資源,芯片庫(kù)存實(shí)時(shí)查詢,行業(yè)價(jià)格合理,采購(gòu)方便IC芯片,國(guó)內(nèi)專業(yè)芯片采購(gòu)平臺(tái)。
想象一下這樣一個(gè)例子:32位MCU用于控制娛樂(lè)系統(tǒng)、環(huán)境照明和空調(diào)等非安全功能。為了處理與這些功能相關(guān)的所有任務(wù),必須分配這32位設(shè)備的資源。此類任務(wù)還包括測(cè)量駕駛室多點(diǎn)溫度、打開(kāi)/關(guān)閉空調(diào)系統(tǒng)、更新圖形顯示、處理用戶輸入、調(diào)整照明條件和播放音樂(lè)。即使是大型32位設(shè)備,這些工作量也太重了。
然而,如果32位設(shè)備將部分任務(wù)負(fù)載轉(zhuǎn)移到幾乎不需要監(jiān)控的子處理器,每個(gè)子處理器只負(fù)責(zé)1或2個(gè)任務(wù),那么這些任務(wù)將更容易管理。這可以釋放到主處理器上CPU從而降低軟件的復(fù)雜性,提高性能,縮短執(zhí)行時(shí)間。
這個(gè)解決方案類似于單片機(jī)中的外設(shè)。外設(shè)是一個(gè)特殊硬件的小模塊,可以添加新功能(如操作放大器或模數(shù)轉(zhuǎn)換器),也可以減少給定功能的執(zhí)行CPU必須承擔(dān)的工作量。在某些情況下,初始化后,外設(shè)可以獨(dú)立于CPU運(yùn)行。
為了說(shuō)明外設(shè)的優(yōu)點(diǎn),我們生成脈寬調(diào)制(PWM)信號(hào)為例。在沒(méi)有特殊外設(shè)的情況下產(chǎn)生PWM,只需將I/O線設(shè)為高電平,等待一定數(shù)量的周期,將其設(shè)為低電平,等待一段時(shí)間,然后重復(fù)操作。會(huì)占很多CPU對(duì)于某些功能(如周期)RTOS)難以可靠執(zhí)行。相比之下,PWM外設(shè)允許CPU設(shè)置所需的波形參數(shù),同時(shí)執(zhí)行其他任務(wù)。
本文介紹的第一個(gè)示例說(shuō)明了減少CPU密集型任務(wù)負(fù)荷的優(yōu)點(diǎn)。在這種情況下,使用了8位MCU來(lái)創(chuàng)建I/O擴(kuò)展器。I/O擴(kuò)展器并不復(fù)雜;然而,它們會(huì)占用很多,因?yàn)樗鼈冃枰?jīng)常中斷。CPU時(shí)間。使用專用MCU為了完成這項(xiàng)任務(wù),可以減少大型32位設(shè)備I/O需要處理的中斷次數(shù)。此外,I/O軟件中可以設(shè)置擴(kuò)展器的功能集,因此支持定制和調(diào)整應(yīng)用程序。
本文的第二個(gè)例子是創(chuàng)建獨(dú)立性CPU電壓頻率(V/F)例如,轉(zhuǎn)換器顯示了獨(dú)立于內(nèi)核的外設(shè)的性能。CPU唯一的功能是初始化外設(shè),并將調(diào)試打印信息發(fā)送到UART。在大系統(tǒng)中,當(dāng)V/F在后臺(tái)運(yùn)行時(shí),CPU另一個(gè)簡(jiǎn)單的任務(wù)可以執(zhí)行。
I/O擴(kuò)展器
使用8位MCU創(chuàng)建I/O擴(kuò)展器最大的優(yōu)點(diǎn)是提高靈活性。I/O擴(kuò)展器ASIC設(shè)備中嵌入了功能集,MCU它的行為可以根據(jù)其執(zhí)行軟件來(lái)定義。這種靈活性是基于MCU版本可以滿足最終應(yīng)用程序的需要。
實(shí)現(xiàn)高級(jí)I/O擴(kuò)展器
高級(jí)設(shè)備內(nèi)部I/O基于搜索表的結(jié)構(gòu),擴(kuò)展器運(yùn)行。虛擬地址將在讀取或?qū)懭胫鞍l(fā)送。該地址與單片機(jī)上的寄存器無(wú)關(guān)——僅針對(duì)搜索表。這意味著不在單片機(jī)硬件寄存器中的功能可以透明地添加。此外,表格中的條目也可以根據(jù)特定用途輕松重新排列。該結(jié)構(gòu)的另一個(gè)優(yōu)點(diǎn)是可以向搜索表添加權(quán)限。例如,要?jiǎng)?chuàng)建一個(gè)只讀寄存器,只需省略搜索表的寫(xiě)作條目。
存儲(chǔ)器中的存儲(chǔ)器
MEM OP也可以將GPIO編譯時(shí)設(shè)置的參數(shù)是配置重置。
注:并非所有字段都可用于所有操作
MEM OP的功能
此外,還可以選擇將單片機(jī)設(shè)置為上電時(shí)的加載和保存設(shè)置。如果可以,單片機(jī)將嘗試加載配置0中的設(shè)置。如果配置驗(yàn)證失敗,MCU將恢復(fù)到編譯常數(shù)。如果不需要,可以在軟件中禁用此功能。
解決方案的要點(diǎn)
基于MCU解決方案的優(yōu)點(diǎn)是靈活性極佳。在市場(chǎng)上ASIC我們可以做不同的事情MCU特定于應(yīng)用場(chǎng)景的非標(biāo)準(zhǔn)功能配置。該應(yīng)用程序針對(duì)通用PIC16F15244系列MCU開(kāi)發(fā)。
如果您需要深入了解實(shí)現(xiàn)或想嘗試此示例,請(qǐng)參見(jiàn)源資源庫(kù)中的示例README此外,還提供帶有文件的文件。Arduino的高級(jí)I/O演示擴(kuò)展器。
電壓頻率(V/F)轉(zhuǎn)換器
通過(guò)減少材料清單(BOM)電壓頻率轉(zhuǎn)換器可以改進(jìn)傳統(tǒng)的模擬解決方案,從而降低設(shè)計(jì)面積。市場(chǎng)上有很多V/F轉(zhuǎn)換器只需配備外部電阻和電容即可運(yùn)行,而單片機(jī)只需使用通用的去耦和上拉組件(所有MCU必要組件)即可運(yùn)行。
TC9400/TC9401/TC9402 10 Hz至100 kHz V/F轉(zhuǎn)換器的應(yīng)用原理圖
MCU采用獨(dú)立于內(nèi)核的外設(shè)和功能組合,而不是數(shù)字化模擬技術(shù)。MCU模數(shù)轉(zhuǎn)換器采用內(nèi)部計(jì)算功能(ADCC)測(cè)Lumissil代理量輸入信號(hào),然后分頻時(shí)鐘信號(hào),創(chuàng)建可變頻率輸出。在這個(gè)例子中,外設(shè)設(shè)置在初始化后獨(dú)立CPU操作。這意味著,CPU可用于最終應(yīng)用中的其他任務(wù)。
對(duì)于基于MCU挑戰(zhàn)是性能不如模擬解決方案。輸出本身的分辨率ADCC的限制。表面上看,ADCC它是12位,但它將以14位分辨率運(yùn)行,具體取決于程序的配置模式。同樣,數(shù)控振蕩器用于合成輸出頻率(NCO)分辨率有限,輸出中可能會(huì)有抖動(dòng),這取決于ADC測(cè)得的值。
基于MCU解決方案可分為模擬采樣模塊、輸出振蕩器模塊和占空比發(fā)生器三個(gè)不同的外設(shè)模塊。
解決方案框圖
模擬采樣模塊
實(shí)現(xiàn)模擬采樣模塊
模擬采樣模塊負(fù)責(zé)模數(shù)轉(zhuǎn)換。在設(shè)備頻率限制下實(shí)現(xiàn)1000 kHz輸出,已將ADCC配置為過(guò)采樣,然后通過(guò)平均處理得到14位結(jié)果。
這種過(guò)采樣配置有一個(gè)缺點(diǎn),即在結(jié)果中增加額外的統(tǒng)計(jì)噪聲,可以通過(guò)計(jì)算采樣平均值和增加滯后來(lái)補(bǔ)償噪聲。為了實(shí)現(xiàn)滯后,可以使用ADCC閾值中斷功能。(為了簡(jiǎn)單起見(jiàn),我們只會(huì)介紹如何使用閾值中斷功能的細(xì)節(jié)。
在ADCC采樣平均值計(jì)算完成后,將獲得的值與外設(shè)中的設(shè)定值寄存器進(jìn)行比較。如果兩者之間的差異大于或小于設(shè)定閾值,則觸發(fā)中斷。CPU它可以在不受影響的情況下阻止中斷,但中斷會(huì)觸發(fā)直接存儲(chǔ)器訪問(wèn)(DMA),將平均值處理的過(guò)采樣結(jié)果復(fù)制到ADCC設(shè)定值寄存器滯后。如果不超過(guò)閾值,則不會(huì)發(fā)生DMA復(fù)制,以免觸發(fā)輸出振蕩器模塊DMA更新。
輸出振蕩器模塊
結(jié)構(gòu)輸出振蕩器模塊
該解決方案的輸出振蕩器模塊負(fù)責(zé)以所需的輸出頻率產(chǎn)生時(shí)鐘信號(hào)。輸出信號(hào)連接到內(nèi)部的空比發(fā)生器。該組件將輸出頻率減半,但將產(chǎn)生50%的空比輸出。因此,輸出振蕩器模塊以輸出頻率的兩倍運(yùn)行。
輸出振蕩器模塊的核心是數(shù)控振蕩器(NCO)。NCO外設(shè)的工作原理是在輸入時(shí)鐘的上升沿累加器增加增量值,然后根據(jù)累加器溢出導(dǎo)出外設(shè)的輸出。NCO請(qǐng)參見(jiàn)數(shù)據(jù)手冊(cè)的完整說(shuō)明。
在這個(gè)例子中,已將NCO2設(shè)置內(nèi)部創(chuàng)建所需的輸入時(shí)鐘頻率,通過(guò)14位輸入獲得100 kHz輸出。使用14位結(jié)果的原因是ADCC12位本身的結(jié)果不足以在沒(méi)有外部時(shí)鐘源的情況下產(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)換器的理想輸出(看門(mé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)換器(看門(mén)狗已關(guān)閉)。
發(fā)生器占空比
占空比發(fā)生器框圖
該解決方案的空比發(fā)生器模塊負(fù)責(zé)創(chuàng)建50%的空比輸出。這是一個(gè)可直接使用的可選功能NCO輸出,但這樣做會(huì)增加比例的變化。
該生成器使用可配置邏輯單元(CLC)實(shí)現(xiàn)。CLC可配置邏輯的小模塊類似于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)單元。CLC例如,可用作離散邏輯門(mén)AND-OR或OR-XOR),鎖定器或觸發(fā)器也可配置。在解決方案中,CLC實(shí)現(xiàn)帶復(fù)位功能J-K觸發(fā)器。J和K保持在邏輯高電平。用于觸發(fā)器的時(shí)鐘輸出振蕩器模塊。每次輸入時(shí)鐘脈沖都會(huì)導(dǎo)致輸出翻轉(zhuǎn),從而產(chǎn)生50%的空比。注:輸出振蕩器模塊的頻率抖動(dòng)會(huì)影響空比。
Timer 6用作不穩(wěn)定的看門(mén)狗定時(shí)器。如果輸出沒(méi)有邊緣(上升或下降邊緣),定時(shí)器將溢出并發(fā)送時(shí)鐘脈沖CLC,這可以控制輸出頻率范圍的下限。輸出轉(zhuǎn)向定時(shí)器頻率的一半(輸出為6 Hz),而不是直流。
解決方案的要點(diǎn)
該示例表明,外部集成電路通常必須使用硬件外設(shè)來(lái)創(chuàng)建獨(dú)立于核心的功能。該配置的最大優(yōu)點(diǎn)之一是,外設(shè)操作可以在軟件中設(shè)置,以便根據(jù)最終應(yīng)用程序輕松設(shè)置使用調(diào)整示例。由于使用了大量的外設(shè),選擇了PIC18-Q43系列MCU實(shí)現(xiàn)這個(gè)例子。
詳見(jiàn)示例資源庫(kù)中的示例資源README文檔。此外,示例資源庫(kù)還包括在同一設(shè)備上實(shí)現(xiàn)頻率電壓轉(zhuǎn)換器的實(shí)現(xiàn)。
總結(jié)
雖然高性能單片機(jī)和微處理器都有一席之地,但在執(zhí)行小型專項(xiàng)任務(wù)時(shí),有8位和16位MCU作用不容低估。這類任務(wù)不一定很復(fù)雜,但可能很耗時(shí),或者是關(guān)鍵的時(shí)間任務(wù)。任務(wù)負(fù)荷減輕后,32位設(shè)備可以更容易地實(shí)現(xiàn),從而提高可靠性,降低存儲(chǔ)占用率,降低功耗。
- 思特威應(yīng)邀出席2022年上海全球投資促進(jìn)會(huì),完成全球總部園區(qū)項(xiàng)目簽約
- 再去進(jìn)博之約 羅克韋爾自動(dòng)化與生態(tài)合作伙伴一起引領(lǐng)未來(lái)數(shù)字
- 關(guān)于元宇宙熱的冷思考
- 谷歌開(kāi)發(fā)乒乓球機(jī)器人 可連續(xù)打340次!
- 寬帶隙(WBG)半導(dǎo)體: 可靠的節(jié)能降耗解決方案
- TrendForce:第一季度晶圓代工產(chǎn)值季增長(zhǎng)8.2%
- 企業(yè)級(jí)工業(yè)互聯(lián)網(wǎng)平臺(tái)平臺(tái) 領(lǐng)軍者獲獎(jiǎng)案例-大型企業(yè)篇(1)
- 阿里云發(fā)布云數(shù)據(jù)中心處理器 CIPU,將替代 CPU
- 聯(lián)發(fā)科Q3營(yíng)收估計(jì)季減1~9% 全年展望變相下修
- 英特爾鏈接產(chǎn)業(yè)和人才FPGA培養(yǎng)中國(guó)創(chuàng)新中心的創(chuàng)新人才
- 《2021年中國(guó)大數(shù)據(jù)平臺(tái)公共云服務(wù)市場(chǎng)份額》報(bào)告發(fā)布
- 意一個(gè)集成在一個(gè)包裝中的硅基驅(qū)動(dòng)器和意法半導(dǎo)體GaN晶體管