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

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

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

怎么樣把單片機(jī)來簡化復(fù)雜設(shè)計

麥辣雞腿堡 ? 來源:Microchip微芯 ? 作者:Robert Perke ? 2023-01-22 14:44 ? 次閱讀

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

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

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

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

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

本文中介紹的第一個示例說明了減輕CPU密集型任務(wù)負(fù)荷的優(yōu)勢。在該案例中,使用了一個8位MCU來創(chuàng)建I/O擴(kuò)展器。I/O擴(kuò)展器并不復(fù)雜;然而,由于需要頻繁處理中斷,因此它們會占用大量的CPU時間。通過使用專用MCU來完成這項任務(wù),大型32位器件可以減少I/O使用和需要處理的中斷次數(shù)。此外,I/O擴(kuò)展器的功能集可在軟件中設(shè)置,因此支持針對應(yīng)用進(jìn)行定制和調(diào)整。

本文中的第二個示例以創(chuàng)建獨(dú)立于CPU運(yùn)行的電壓頻率(V/F)轉(zhuǎn)換器為例,展示了獨(dú)立于內(nèi)核的外設(shè)的性能。在這個示例中,CPU的唯一功能是初始化外設(shè)并將調(diào)試打印消息發(fā)送到UART。在大型系統(tǒng)中,當(dāng)V/F在后臺運(yùn)行時,CPU可以執(zhí)行另一個簡單的任務(wù)。

I/O擴(kuò)展器

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

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

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

poYBAGO3wrCAf2P1AAIOaxhlKqs272.png

這種較為復(fù)雜的結(jié)構(gòu)也適用于非標(biāo)準(zhǔn)功能?!癕EM OP”功能允許MCU將其當(dāng)前的通用輸入和輸出(GPIO)配置保存或加載到存儲器中。

pYYBAGO3wsyAGHhZAAEuNUMcMNU300.png

器件中的存儲器存儲

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

poYBAGO3wuGAa9XXAAH3jnUxh04700.png

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

MEM OP的功能

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

該解決方案的要點(diǎn)

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

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

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

    關(guān)注

    6026

    文章

    44455

    瀏覽量

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

    關(guān)注

    37

    文章

    6609

    瀏覽量

    123029
收藏 人收藏

    評論

    相關(guān)推薦

    部署處理特定任務(wù)的單片機(jī)簡化復(fù)雜設(shè)計

    摘要:處理特定任務(wù)的單片機(jī)可減輕主單片機(jī)或微處理器的任務(wù)和工作負(fù)荷,從而有助于簡化各種應(yīng)用的設(shè)計流程。 ? 如今,運(yùn)行實時操作系統(tǒng)(RTOS)的大型32位單片機(jī)(MCU)和微處理器(M
    的頭像 發(fā)表于 05-11 15:39 ?2394次閱讀
    部署處理特定任務(wù)的<b class='flag-5'>單片機(jī)</b><b class='flag-5'>來</b><b class='flag-5'>簡化</b><b class='flag-5'>復(fù)雜</b>設(shè)計

    單片機(jī)程序簡化問題

    請問單片機(jī)的程序簡化應(yīng)該從哪些方面入手,才可以使單片機(jī)的運(yùn)行速度加快?
    發(fā)表于 04-07 17:01

    雙機(jī)熱備單片機(jī)系統(tǒng)內(nèi)部通信接口的簡化設(shè)計

    雙機(jī)熱備單片機(jī)系統(tǒng)內(nèi)部通信接口的簡化設(shè)計 分析了工業(yè)測控系統(tǒng)中雙機(jī)熱備單片機(jī)系統(tǒng)內(nèi)部通信的特點(diǎn),以簡化設(shè)計,降低成本,降低系統(tǒng)復(fù)雜度為目標(biāo)
    發(fā)表于 10-01 22:02 ?13次下載

    單片機(jī)大蝦是怎么煉成的

    單片機(jī)大蝦是怎么煉成的 強(qiáng)烈要求學(xué)習(xí)單片機(jī)的同志們看完!前言:近來在論壇總是見到一些菜鳥們在大叫:“我想學(xué)單片機(jī)”,“我要學(xué)單片機(jī)”,
    發(fā)表于 04-09 14:20 ?35次下載

    單片機(jī)應(yīng)用技術(shù)》筆試試題

    單片機(jī)應(yīng)用技術(shù)》筆試試題
    發(fā)表于 09-19 20:26 ?44次下載

    基于單片機(jī)雙CPU構(gòu)成的復(fù)雜系統(tǒng)應(yīng)用研究

    介紹了單片機(jī)雙CPU構(gòu)成復(fù)雜系統(tǒng)的電路以及該系統(tǒng)的幾種應(yīng)用實例。    關(guān)鍵詞:單片機(jī),雙CPU,總線,數(shù)據(jù)存儲器
    發(fā)表于 05-06 20:44 ?618次閱讀
    基于<b class='flag-5'>單片機(jī)</b>雙CPU構(gòu)成的<b class='flag-5'>復(fù)雜</b>系統(tǒng)應(yīng)用研究

    單片機(jī),單片機(jī)是什么意思

    單片機(jī),單片機(jī)是什么意思 1、什么是單片機(jī) 單片機(jī)是一種集成在電路芯片,是采用超大規(guī)模集成電路技術(shù)具有數(shù)據(jù)處理
    發(fā)表于 03-11 09:12 ?8806次閱讀

    燒錄單片機(jī)的步驟

    單片機(jī)當(dāng)做一個ROM芯片,早期的單片機(jī)都是如此。將單片機(jī)放在通用編程上編程時,就像給28C256這樣的ROM中寫程序的過程一。只是不同的
    發(fā)表于 07-03 17:24 ?5942次閱讀

    怎么51單片機(jī)的程序移植到AVR單片機(jī)

    講解如何51單片機(jī)的程序移植到AVR單片機(jī)
    的頭像 發(fā)表于 07-10 04:18 ?6772次閱讀
    怎么<b class='flag-5'>樣</b><b class='flag-5'>把</b>51<b class='flag-5'>單片機(jī)</b>的程序移植到AVR<b class='flag-5'>單片機(jī)</b>中

    怎么才能學(xué)好單片機(jī)

    ,它的資料比較多,用的人也較多,市場也很大,51單片機(jī)內(nèi)部結(jié)構(gòu)比較簡單,非常適合初學(xué)者學(xué)習(xí),建議初學(xué)者將51單片機(jī)做為入門級芯片。單片機(jī)屬于硬件,我強(qiáng)烈不推薦大家使用單片機(jī)仿真軟件
    的頭像 發(fā)表于 10-04 10:01 ?3331次閱讀

    單片機(jī)選擇的原則有哪些

    根據(jù)設(shè)計任務(wù)的復(fù)雜程度決定選擇什么單片機(jī)研發(fā)階段,推薦使用Flash單片機(jī),它有電寫入、電擦除的優(yōu)點(diǎn),使得修改程序很方便,可以提高開發(fā)
    發(fā)表于 07-03 18:12 ?14次下載
    <b class='flag-5'>單片機(jī)</b>選擇的原則有哪些

    簡化單片機(jī)的幾個基本概念,你都了解嗎?

    我們思考一個問題,當(dāng)我們在編程器中一條指令寫進(jìn)單片機(jī)內(nèi)部,然后取下單片機(jī)單片機(jī)就可以執(zhí)行這條指令。 那么這條指令一定保存在
    發(fā)表于 02-24 07:27 ?7次下載
    <b class='flag-5'>簡化</b><b class='flag-5'>單片機(jī)</b>的幾個基本概念,你都了解嗎?

    單片機(jī)升級

    我了解的單片機(jī)升級有兩種:一種是通過單片機(jī)的程序走得,自動升級。需要單片機(jī)當(dāng)前軟件支持的第二種是模擬燒寫器,不需要單片機(jī)當(dāng)前軟件支持的。1.
    發(fā)表于 11-15 11:51 ?5次下載
    <b class='flag-5'>單片機(jī)</b>升級

    處理特定任務(wù)的單片機(jī)簡化復(fù)雜設(shè)計

    處理特定任務(wù)的單片機(jī)可減輕主單片機(jī)或微處理器的任務(wù)和工作負(fù)荷,從而有助于簡化各 種應(yīng)用的設(shè)計流程
    發(fā)表于 05-17 11:04 ?2次下載

    單片機(jī)選型的基本原則你都知道嗎

    如何選擇單片機(jī),首先也是最重要的一點(diǎn)就是考慮功能要求,即設(shè)計的對象是什么,要完成什么的 任務(wù),再根據(jù)設(shè)計任務(wù)的復(fù)雜程度決定選擇什么
    發(fā)表于 03-20 11:17 ?778次閱讀