
現在,運行實時操作系統(RTOS)大型32位單片機(MCU)和微處理器(MPU)它越來越受歡迎。然而,如果使用大型單片機處理復雜的應用程序,在執行小型背景處理任務時可能會遇到CPU雖然這些任務在資源方面并不復雜,但它們非常耗時。8位和16位MCU小型設備可用于減輕32位設備的工作負荷。
芯片采購網專注于整合國內外授權IC代理商現貨資源,芯片庫存實時查詢,行業價格合理,采購方便IC芯片,國內專業芯片采購平臺。
想象一下這樣一個例子:32位MCU用于控制娛樂系統、環境照明和空調等非安全功能。為了處理與這些功能相關的所有任務,必須分配這32位設備的資源。此類任務還包括測量駕駛室多點溫度、打開/關閉空調系統、更新圖形顯示、處理用戶輸入、調整照明條件和播放音樂。即使是大型32位設備,這些工作量也太重了。
然而,如果32位設備將部分任務負載轉移到幾乎不需要監控的子處理器,每個子處理器只負責1或2個任務,那么這些任務將更容易管理。這可以釋放到主處理器上CPU從而降低軟件的復雜性,提高性能,縮短執行時間。
這個解決方案類似于單片機中的外設。外設是一個特殊硬件的小模塊,可以添加新功能(如操作放大器或模數轉換器),也可以減少給定功能的執行CPU必須承擔的工作量。在某些情況下,初始化后,外設可以獨立于CPU運行。
為了說明外設的優點,我們生成脈寬調制(PWM)信號為例。在沒有特殊外設的情況下產生PWM,只需將I/O線設為高電平,等待一定數量的周期,將其設為低電平,等待一段時間,然后重復操作。會占很多CPU對于某些功能(如周期)RTOS)難以可靠執行。相比之下,PWM外設允許CPU設置所需的波形參數,同時執行其他任務。
本文介紹的第一個示例說明了減少CPU密集型任務負荷的優點。在這種情況下,使用了8位MCU來創建I/O擴展器。I/O擴展器并不復雜;然而,它們會占用很多,因為它們需要經常中斷。CPU時間。使用專用MCU為了完成這項任務,可以減少大型32位設備I/O需要處理的中斷次數。此外,I/O軟件中可以設置擴展器的功能集,因此支持定制和調整應用程序。
本文的第二個例子是創建獨立性CPU電壓頻率(V/F)例如,轉換器顯示了獨立于內核的外設的性能。CPU唯一的功能是初始化外設,并將調試打印信息發送到UART。在大系統中,當V/F在后臺運行時,CPU另一個簡單的任務可以執行。
I/O擴展器
使用8位MCU創建I/O擴展器最大的優點是提高靈活性。I/O擴展器ASIC設備中嵌入了功能集,MCU它的行為可以根據其執行軟件來定義。這種靈活性是基于MCU版本可以滿足最終應用程序的需要。
實現高級I/O擴展器
高級設備內部I/O基于搜索表的結構,擴展器運行。虛擬地址將在讀取或寫入之前發送。該地址與單片機上的寄存器無關——僅針對搜索表。這意味著不在單片機硬件寄存器中的功能可以透明地添加。此外,表格中的條目也可以根據特定用途輕松重新排列。該結構的另一個優點是可以向搜索表添加權限。例如,要創建一個只讀寄存器,只需省略搜索表的寫作條目。
存儲器中的存儲器
MEM OP也可以將GPIO編譯時設置的參數是配置重置。
注:并非所有字段都可用于所有操作
MEM OP的功能
此外,還可以選擇將單片機設置為上電時的加載和保存設置。如果可以,單片機將嘗試加載配置0中的設置。如果配置驗證失敗,MCU將恢復到編譯常數。如果不需要,可以在軟件中禁用此功能。
解決方案的要點
基于MCU解決方案的優點是靈活性極佳。在市場上ASIC我們可以做不同的事情MCU特定于應用場景的非標準功能配置。該應用程序針對通用PIC16F15244系列MCU開發。
如果您需要深入了解實現或想嘗試此示例,請參見源資源庫中的示例README此外,還提供帶有文件的文件。Arduino的高級I/O演示擴展器。
電壓頻率(V/F)轉換器
通過減少材料清單(BOM)電壓頻率轉換器可以改進傳統的模擬解決方案,從而降低設計面積。市場上有很多V/F轉換器只需配備外部電阻和電容即可運行,而單片機只需使用通用的去耦和上拉組件(所有MCU必要組件)即可運行。
TC9400/TC9401/TC9402 10 Hz至100 kHz V/F轉換器的應用原理圖
MCU采用獨立于內核的外設和功能組合,而不是數字化模擬技術。MCU模數轉換器采用內部計算功能(ADCC)測Lumissil代理量輸入信號,然后分頻時鐘信號,創建可變頻率輸出。在這個例子中,外設設置在初始化后獨立CPU操作。這意味著,CPU可用于最終應用中的其他任務。
對于基于MCU挑戰是性能不如模擬解決方案。輸出本身的分辨率ADCC的限制。表面上看,ADCC它是12位,但它將以14位分辨率運行,具體取決于程序的配置模式。同樣,數控振蕩器用于合成輸出頻率(NCO)分辨率有限,輸出中可能會有抖動,這取決于ADC測得的值。
基于MCU解決方案可分為模擬采樣模塊、輸出振蕩器模塊和占空比發生器三個不同的外設模塊。
解決方案框圖
模擬采樣模塊
實現模擬采樣模塊
模擬采樣模塊負責模數轉換。在設備頻率限制下實現1000 kHz輸出,已將ADCC配置為過采樣,然后通過平均處理得到14位結果。
這種過采樣配置有一個缺點,即在結果中增加額外的統計噪聲,可以通過計算采樣平均值和增加滯后來補償噪聲。為了實現滯后,可以使用ADCC閾值中斷功能。(為了簡單起見,我們只會介紹如何使用閾值中斷功能的細節。
在ADCC采樣平均值計算完成后,將獲得的值與外設中的設定值寄存器進行比較。如果兩者之間的差異大于或小于設定閾值,則觸發中斷。CPU它可以在不受影響的情況下阻止中斷,但中斷會觸發直接存儲器訪問(DMA),將平均值處理的過采樣結果復制到ADCC設定值寄存器滯后。如果不超過閾值,則不會發生DMA復制,以免觸發輸出振蕩器模塊DMA更新。
輸出振蕩器模塊
結構輸出振蕩器模塊
該解決方案的輸出振蕩器模塊負責以所需的輸出頻率產生時鐘信號。輸出信號連接到內部的空比發生器。該組件將輸出頻率減半,但將產生50%的空比輸出。因此,輸出振蕩器模塊以輸出頻率的兩倍運行。
輸出振蕩器模塊的核心是數控振蕩器(NCO)。NCO外設的工作原理是在輸入時鐘的上升沿累加器增加增量值,然后根據累加器溢出導出外設的輸出。NCO請參見數據手冊的完整說明。
在這個例子中,已將NCO2設置內部創建所需的輸入時鐘頻率,通過14位輸入獲得100 kHz輸出。使用14位結果的原因是ADCC12位本身的結果不足以在沒有外部時鐘源的情況下產生100 kHz輸出。
ADC結果
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轉換器的理想輸出(看門狗已關閉)。
如果改變NCO如果2的輸出頻率或使用備用源,則將輸出頻率調整到不同的輸出范圍。例如,如果NCO2的頻率降低到1.28 MHz,最大輸出為10 kHz。
ADC結果
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理想輸出轉換器(看門狗已關閉)。
發生器占空比
占空比發生器框圖
該解決方案的空比發生器模塊負責創建50%的空比輸出。這是一個可直接使用的可選功能NCO輸出,但這樣做會增加比例的變化。
該生成器使用可配置邏輯單元(CLC)實現。CLC可配置邏輯的小模塊類似于現場可編程門陣列(FPGA)單元。CLC例如,可用作離散邏輯門AND-OR或OR-XOR),鎖定器或觸發器也可配置。在解決方案中,CLC實現帶復位功能J-K觸發器。J和K保持在邏輯高電平。用于觸發器的時鐘輸出振蕩器模塊。每次輸入時鐘脈沖都會導致輸出翻轉,從而產生50%的空比。注:輸出振蕩器模塊的頻率抖動會影響空比。
Timer 6用作不穩定的看門狗定時器。如果輸出沒有邊緣(上升或下降邊緣),定時器將溢出并發送時鐘脈沖CLC,這可以控制輸出頻率范圍的下限。輸出轉向定時器頻率的一半(輸出為6 Hz),而不是直流。
解決方案的要點
該示例表明,外部集成電路通常必須使用硬件外設來創建獨立于核心的功能。該配置的最大優點之一是,外設操作可以在軟件中設置,以便根據最終應用程序輕松設置使用調整示例。由于使用了大量的外設,選擇了PIC18-Q43系列MCU實現這個例子。
詳見示例資源庫中的示例資源README文檔。此外,示例資源庫還包括在同一設備上實現頻率電壓轉換器的實現。
總結
雖然高性能單片機和微處理器都有一席之地,但在執行小型專項任務時,有8位和16位MCU作用不容低估。這類任務不一定很復雜,但可能很耗時,或者是關鍵的時間任務。任務負荷減輕后,32位設備可以更容易地實現,從而提高可靠性,降低存儲占用率,降低功耗。
- 外媒稱EDA美國商務部調查了巨頭新思科技
- 12代酷睿首發 Intel演示PCIe 5.性能:硬盤速度沖上13GB/s
- 芯片斷供給俄羅斯后 英特爾宣布加碼制裁:暫停俄羅斯所有業務
- ASML誰是大股東?英特爾、三星、臺積電真的嗎?
- 百度蘿卜快跑車禍?回應:追尾事故是由后方車輛分心駕駛造成的
- 進入奎奎芯科技三大優勢IP和Chiplet幫助中國半導體產業
- 是德科技幫助密卡思(MICAS)O-RU獲得第一批設備O-RAN認證
- 展商資訊|白云化工-膠粘劑行業領先
- 使用PI方案進行800V牽引逆變器應急電源設計
- 你知道有一種黑色技術叫做能量回收系統嗎?
- 紅帽和IBM研究院為Ansible支持注入人工智能IT自動化功能
- 微軟和 OpenAI 就增資進行深入談判
