哈哈哈哈哈操欧洲电影,久草网在线,亚洲久久熟女熟妇视频,麻豆精品色,久久福利在线视频,日韩中文字幕的,淫乱毛视频一区,亚洲成人一二三,中文人妻日韩精品电影

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

部署處理特定任務的單片機來簡化復雜設(shè)計

21克888 ? 來源:廠商供稿 ? 作者:Robert Perkel ? 2022-05-11 15:39 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

摘要:處理特定任務的單片機可減輕主單片機或微處理器的任務和工作負荷,從而有助于簡化各種應用的設(shè)計流程。

如今,運行實時操作系統(tǒng)(RTOS)的大型32位單片機(MCU)和微處理器(MPU)日益普及。不過,如果使用一個大型單片機處理復雜的應用,可能會在執(zhí)行小型后臺處理任務時遇到CPU資源方面的問題,這些任務雖然并不復雜,但十分耗時。8位和16位MCU等小型器件可用于減輕32位器件的工作負荷。

試想一下這樣一個示例:將一個32位MCU用于控制汽車的非安全功能,如娛樂系統(tǒng)、環(huán)境照明和空調(diào)。此32位器件必須對其資源進行分配,以便處理與這些功能相關(guān)的所有任務。這樣的任務還包括測量駕駛室內(nèi)多個點的溫度、打開/關(guān)閉空調(diào)系統(tǒng)、更新圖形顯示、處理用戶輸入、調(diào)整照明條件和播放音樂。即使對于大型32位器件,這些工作量也過于繁重。

但是,如果32位器件將部分任務負荷轉(zhuǎn)移給幾乎不需要監(jiān)控的子處理器,每個子處理器僅負責處理其中的1或2個任務,那么這些任務會更易于管理。這可以釋放主處理器上的CPU資源,從而降低軟件的復雜性,同時提高性能并縮短執(zhí)行時間。

這種解決方案與單片機中的外設(shè)有異曲同工之妙。外設(shè)是專用硬件的小型模塊,可以添加新功能(例如運算放大器模數(shù)轉(zhuǎn)換器),也可以減少執(zhí)行給定功能時CPU必須承擔的工作量。在某些情況下,初始化后,外設(shè)可獨立于CPU運行。

為了說明外設(shè)的優(yōu)勢,我們以產(chǎn)生脈寬調(diào)制(PWM)信號為例。要在沒有專用外設(shè)的情況下產(chǎn)生PWM,只需將I/O線設(shè)為高電平,等待一定數(shù)量的周期后,將其設(shè)為低電平,再等待一段時間,然后重復操作。這會占用大量CPU周期,并且對于某些功能(如RTOS)來說,難以可靠地執(zhí)行。相比之下,PWM外設(shè)允許CPU在執(zhí)行其他任務的同時設(shè)置所需的波形參數(shù)。

本文中介紹的第一個示例說明了減輕CPU密集型任務負荷的優(yōu)勢。在該案例中,使用了一個8位MCU來創(chuàng)建I/O擴展器。I/O擴展器并不復雜;然而,由于需要頻繁處理中斷,因此它們會占用大量的CPU時間。通過使用專用MCU來完成這項任務,大型32位器件可以減少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可以執(zhí)行另一個簡單的任務。

I/O擴展器


使用8位MCU創(chuàng)建I/O擴展器的最大好處是提高靈活性。I/O擴展器ASIC的功能集已嵌入到器件中,而MCU可基于其執(zhí)行的軟件定義其行為。這種靈活性使基于MCU的版本能夠滿足最終應用的需求。

實現(xiàn)高級I/O擴展器

在器件內(nèi)部,高級I/O擴展器在基于查找表的結(jié)構(gòu)上運行。在讀取或?qū)懭胫?,會發(fā)送一個虛擬地址。該地址與單片機上的寄存器無關(guān)——僅特定于查找表。這意味著,可以透明地添加不在單片機硬件寄存器中的功能。此外,還可以針對特定用途,輕松地重新排列表格中的條目。這種結(jié)構(gòu)的另一個優(yōu)勢是,能夠向查找表添加權(quán)限。例如,要創(chuàng)建一個只讀寄存器,只需省略查找表的寫條目即可。

高級I/O擴展器的查找表


這種較為復雜的結(jié)構(gòu)也適用于非標準功能。“MEM OP”功能允許MCU將其當前的通用輸入和輸出(GPIO)配置保存或加載到存儲器中。

器件中的存儲器存儲


MEM OP也可以將GPIO配置重置為編譯時設(shè)置的參數(shù)。

注:并非所有字段均可用于所有操作

MEM OP的功能

此外,也可以選擇將單片機設(shè)置為在上電時加載保存的設(shè)置。如果已使能,單片機會嘗試加載配置0中的設(shè)置。如果配置執(zhí)行校驗和驗證失敗,則MCU將恢復為編譯時常數(shù)。如果不需要,可以在軟件中禁用此功能。

該解決方案的要點

基于MCU的解決方案的優(yōu)勢在于出色的靈活性。與市場上的ASIC不同,我們可以為MCU配置特定于應用場景的非標準功能。此應用程序針對通用PIC16F15244系列MCU開發(fā)。

如需深入了解該實現(xiàn)或想要試用該示例,請參見源資源庫中的README文件。此外,還提供帶有Arduino的高級I/O擴展器的演示。

源代碼、文檔和演示:https://github.com/microchip-pic-avr-examples/pic16f15244-family-advanced-i2c-io-expander

電壓頻率(V/F)轉(zhuǎn)換器

通過降低物料清單(BOM)成本,進而減小設(shè)計面積,電壓頻率轉(zhuǎn)換器可改進傳統(tǒng)的模擬解決方案。市場上的許多V/F轉(zhuǎn)換器需要配備外部電阻電容才能運行,而單片機只需使用通用去耦和上拉組件(所有MCU的必備組件)即可運行。

TC9400/TC9401/TC9402 10 Hz至100 kHz V/F轉(zhuǎn)換器的應用原理圖

MCU不使用模擬技術(shù)進行數(shù)字化,而是使用獨立于內(nèi)核的外設(shè)和功能的組合。MCU使用內(nèi)部帶計算功能的模數(shù)轉(zhuǎn)換器(ADCC)測量輸入信號,然后對時鐘信號進行分頻,以創(chuàng)建可變頻率輸出。在該示例中,外設(shè)已設(shè)置為在初始化后獨立于CPU運行。這意味著,CPU可以用于最終應用中的其他任務。

對于基于MCU的方案,其挑戰(zhàn)在于性能不如模擬解決方案。輸出的分辨率本身受到ADCC的限制。表面上看,ADCC為12位,但它會以配置為過采樣的14位分辨率運行,具體取決于程序的配置方式。同樣,用于合成輸出頻率的片內(nèi)數(shù)控振蕩器(NCO)具有有限的分辨率,并且其輸出中可能存在抖動,具體取決于ADC測得的值。

基于MCU的解決方案可以分為三個不同的外設(shè)模塊——模擬采樣模塊、輸出振蕩器模塊和占空比發(fā)生器。

解決方案框圖


模擬采樣模塊

模擬采樣模塊實現(xiàn)

模擬采樣模塊負責執(zhí)行模數(shù)轉(zhuǎn)換。為了在器件的頻率限制下實現(xiàn)100 kHz的輸出,已將ADCC配置為過采樣,然后通過平均值處理獲得14位結(jié)果。

這種過采樣配置有一個缺點,即向結(jié)果中增加額外的統(tǒng)計噪聲,可采取計算過采樣的平均值并增加滯后的方法來補償噪聲。要實現(xiàn)滯后,可使用ADCC的閾值中斷功能。(為簡單起見,將僅介紹有關(guān)此示例如何使用閾值中斷功能的細節(jié)。)

在ADCC完成過采樣的平均值計算后,將得出的值與外設(shè)中的設(shè)定值寄存器進行比較。如果兩者之差大于或小于設(shè)定閾值,則觸發(fā)中斷。CPU可屏蔽此中斷且不受影響,然而,此中斷會觸發(fā)直接存儲器訪問(DMA),將經(jīng)過平均值處理的過采樣結(jié)果復制到ADCC的設(shè)定值寄存器,從而產(chǎn)生滯后。如果未超過閾值,則不會發(fā)生DMA復制,從而不會觸發(fā)輸出振蕩器模塊的DMA更新。

輸出振蕩器模塊

輸出振蕩器模塊的結(jié)構(gòu)


該解決方案的輸出振蕩器模塊負責以所需輸出頻率產(chǎn)生時鐘信號。該輸出信號在內(nèi)部連接到占空比發(fā)生器,該元件將輸出頻率減半,但會產(chǎn)生50%的占空比輸出。因此,輸出振蕩器模塊以輸出頻率的兩倍運行。

輸出振蕩器模塊的核心是數(shù)控振蕩器(NCO)。NCO外設(shè)的工作原理是在輸入時鐘的上升沿向累加器添加增量值,然后根據(jù)累加器溢出導出外設(shè)的輸出。(有關(guān)NCO的完整說明,請參見數(shù)據(jù)手冊。)

在該示例中,已將NCO2設(shè)置為在內(nèi)部創(chuàng)建所需的輸入時鐘頻率,以通過14位輸入獲得100 kHz輸出。之所以使用14位結(jié)果,是因為ADCC本身的12位結(jié)果不足以在沒有外部時鐘源的情況下產(chǎn)生100 kHz輸出。

100 kHz V/F轉(zhuǎn)換器的理想輸出(看門狗已關(guān)閉)


如果改變NCO2的輸出頻率或使用備用源,則輸出頻率將調(diào)整為不同的輸出范圍。例如,如果NCO2的頻率降低到1.28 MHz,則輸出最大為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%的占空比。注意:輸出振蕩器模塊的頻率抖動將對占空比產(chǎn)生影響。

Timer6用作不穩(wěn)定的“看門狗”定時器。如果輸出沒有產(chǎn)生邊沿(上升沿或下降沿),則定時器將溢出,并將產(chǎn)生的時鐘脈沖發(fā)送到CLC,這可以控制輸出頻率范圍的下限。輸出翻轉(zhuǎn)到定時器頻率的一半(輸出為6 Hz),而不是達到直流。

該解決方案的要點

該示例表明,要使用硬件外設(shè)創(chuàng)建獨立于內(nèi)核的功能,通常必須使用外部集成電路。這種配置的一個最大優(yōu)勢在于,外設(shè)操作可在軟件中設(shè)置,這樣便可輕松地根據(jù)最終應用調(diào)整示例。由于使用了大量外設(shè),因此選擇PIC18-Q43系列MCU來實現(xiàn)該示例。

有關(guān)該示例的更多信息,請參見示例資源庫中的README文檔。此外,示例資源庫還包含頻率電壓轉(zhuǎn)換器的實現(xiàn),可與電壓頻率轉(zhuǎn)換器在同一個器件上實現(xiàn)。

單擊以下鏈接獲取源代碼和文檔:https://github.com/microchip-pic-avr-examples/pic18f57q43-v-to-f-mplab-mcc

總結(jié)

盡管高性能單片機和微處理器都有一席之地,但在執(zhí)行小型專門任務時,8位和16位MCU的作用不容小覷。這類任務并不一定十分復雜,但可能十分耗時,或者是時間關(guān)鍵型任務。任務負荷減輕后,32位器件可擁有更簡單的實現(xiàn),從而提高可靠性、減少存儲器占用率并降低功耗。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 單片機
    +關(guān)注

    關(guān)注

    6078

    文章

    45573

    瀏覽量

    673419
  • 操作系統(tǒng)
    +關(guān)注

    關(guān)注

    37

    文章

    7433

    瀏覽量

    129602
  • 微處理器
    +關(guān)注

    關(guān)注

    11

    文章

    2440

    瀏覽量

    86127
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點推薦

    小白也能聽懂的單片機知識路徑

    什么是單片機? 單片機,全稱單片微型計算機,是一種集CPU、內(nèi)存、輸入輸出接口等部件于一體的微型計算機系統(tǒng)。它能夠獨立執(zhí)行程序,完成特定的控制或計算
    發(fā)表于 02-04 16:44

    單片機低功耗的處理

    什么單片機,在程序上和電路上都是要一些處理才能把功耗控制在比較低的范圍。 程序的處理方法主要有以下幾點: 1、單片機進入睡眠狀態(tài)。這個是最基本的,只有睡眠的狀態(tài)下,功耗才是最低的。
    發(fā)表于 01-21 08:25

    單片機里的程序運行方式

    我們想要理解單片機是如何運行程序的,我們首先需要了解單片機的組成,我們這里以80C51單片機為例理解程序在單片機中是如何運行的。
    發(fā)表于 01-16 06:57

    一文說透了如何實現(xiàn)單片機的多任務并發(fā)!

    在嵌入式系統(tǒng)開發(fā)中,多任務并發(fā)是非常常見的,對于處理復雜的應用場景、提升系統(tǒng)的并發(fā)能力、提高系統(tǒng)的實時性等方面都有很大好處。在單片機中實現(xiàn)多任務
    發(fā)表于 01-06 06:46

    編寫簡單高效單片機匯編程序

    獨立的任務,這樣既能減少代碼重復,也便于維護和調(diào)試。 計時模塊:利用單片機的定時器,精確控制時鐘的秒脈沖。 顯示模塊:用循環(huán)或查表法實現(xiàn)不同的時間顯示,這能減少不必要的分支跳轉(zhuǎn)指令。 按鍵模塊
    發(fā)表于 11-24 07:00

    嵌入式與單片機定義及區(qū)別

    、SRAM、Flash存儲器及其他必要模塊集成在一塊芯片上。這種超大規(guī)模集成電路技術(shù)使得單片機變得既小巧又強大,能夠輕松應對各種復雜的計算和控制任務。 然而,“單片機”這個名稱其實
    發(fā)表于 11-17 08:11

    單片機原理及應用詳解

    單片機(Microcontroller Unit, MCC) ?是一種集成計算機核心功能(CPU、存儲器、I/O接口等)的微型芯片,廣泛應用于嵌入式系統(tǒng)中。以下是其原理及應用的詳細介紹: 一、單片機
    的頭像 發(fā)表于 08-11 13:57 ?2758次閱讀

    單片機用什么封裝

    單片機封裝是將芯片內(nèi)部電路與外部引腳連接并包裹保護的結(jié)構(gòu),不僅影響單片機的安裝方式、適用場景,還與電路設(shè)計的緊湊性、散熱性能密切相關(guān)。不同封裝類型各有特點,適配從簡單電路到復雜系統(tǒng)的多樣化需求
    的頭像 發(fā)表于 08-01 13:47 ?1579次閱讀

    單片機采用什么電流控制

    單片機作為電子系統(tǒng)的控制核心,其電流控制涉及自身工作電流管理與外部設(shè)備電流驅(qū)動兩個層面。由于單片機內(nèi)部電路的特性,其自身工作電流較小,而控制外部設(shè)備時需通過特定電路實現(xiàn)電流放大與調(diào)節(jié),以適配不同負載
    的頭像 發(fā)表于 07-30 10:07 ?886次閱讀

    怎么測單片機系統(tǒng)頻率

    單片機系統(tǒng)頻率是指單片機工作時的時鐘頻率,它直接影響單片機的運行速度和處理能力,準確測量系統(tǒng)頻率對單片機應用開發(fā)、程序調(diào)試和性能優(yōu)化具有重要
    的頭像 發(fā)表于 07-25 11:39 ?1060次閱讀

    單片機怎么驅(qū)動電機?

    在各類自動化設(shè)備和智能裝置中,電機是重要的執(zhí)行部件,而單片機作為控制核心,需要通過特定的方式驅(qū)動電機運轉(zhuǎn)。單片機驅(qū)動電機并非直接連接即可,而是要根據(jù)電機類型和功率,搭配合適的驅(qū)動電路,才能實現(xiàn)穩(wěn)定
    的頭像 發(fā)表于 07-25 09:31 ?1281次閱讀

    單片機怎么燒程序

    單片機燒程序是將編寫好的程序代碼寫入單片機內(nèi)部存儲單元,讓單片機按照預設(shè)邏輯工作的過程,是單片機應用開發(fā)中不可或缺的環(huán)節(jié)。無論是簡單的燈光控制程序,還是
    的頭像 發(fā)表于 07-23 11:47 ?1951次閱讀

    單片機定制開發(fā)的設(shè)計思路

    單片機定制開發(fā)是根據(jù)特定場景和功能需求,量身打造符合要求的單片機應用方案,其設(shè)計過程需要兼顧技術(shù)可行性與實際應用價值,涉及多個關(guān)鍵環(huán)節(jié)。 一、需求分析階段 單片機定制開發(fā)的第一步是深入
    的頭像 發(fā)表于 07-17 11:14 ?910次閱讀
    <b class='flag-5'>單片機</b>定制開發(fā)的設(shè)計思路

    嵌入式和單片機,是同一個東西嗎?

    的程序控制各種外部設(shè)備,完成特定的操作。 總結(jié)來說,單片機是嵌入式系統(tǒng)中的一種重要硬件組件,而嵌入式系統(tǒng)則是一個更為廣泛的概念,它包含了單片機在內(nèi)的所有軟硬件組件,旨在實現(xiàn)特定
    發(fā)表于 07-09 10:20

    Linux嵌入式和單片機嵌入式的區(qū)別?

    Processor Unit)。 2. 單片機嵌入式(也稱為嵌入式微控制器MCU): 定義:一種集成電路,能夠在一個芯片上完成各種計算、控制和管理任務。 特點:小型化、低功耗、成本低、可靠性高
    發(fā)表于 06-20 09:46
    镇原县| 江达县| 普兰县| 安岳县| 玛曲县| 娄烦县| 浙江省| 绵竹市| 蓝田县| 屏东县| 铁岭市| 凌海市| 瑞金市| 鹰潭市| 麦盖提县| 长子县| 永清县| 应用必备| 宁晋县| 汉沽区| 秦皇岛市| 宁蒗| 黎城县| 肇庆市| 余江县| 紫阳县| 常德市| 巢湖市| 全南县| 定边县| 涡阳县| 西安市| 临猗县| 禹州市| 晋中市| 普兰县| 太谷县| 德州市| 固安县| 绥芬河市| 长阳|