• 官方微信

            CA800二維碼微平臺(tái) 大視野

          • 工控頭條

            CA800二維碼工控頭條App

          當(dāng)前位置:自動(dòng)化網(wǎng)>自動(dòng)化文庫(kù)>解決方案>部署處理特定任務(wù)的單片機(jī)來(lái)簡(jiǎn)化復(fù)雜設(shè)計(jì)

          部署處理特定任務(wù)的單片機(jī)來(lái)簡(jiǎn)化復(fù)雜設(shè)計(jì)

          發(fā)布時(shí)間:2022-05-12 來(lái)源:Microchip 類型:解決方案 人瀏覽
          分享到:
          關(guān)鍵字:

          單片機(jī) 微處理器

          導(dǎo)讀:

          處理特定任務(wù)的單片機(jī)可減輕主單片機(jī)或微處理器的任務(wù)和工作負(fù)荷,從而有助于簡(jiǎn)化各種應(yīng)用的設(shè)計(jì)流程。

            Microchip Technology Inc.

            8位單片機(jī)產(chǎn)品部

            Robert Perkel

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

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

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

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

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

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

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

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

            I/O擴(kuò)展器

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

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

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

            

            高級(jí)I/O擴(kuò)展器的查找表

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

            

            器件中的存儲(chǔ)器存儲(chǔ)

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

            

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

            MEM OP的功能

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

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

            基于MCU的解決方案的優(yōu)勢(shì)在于出色的靈活性。與市場(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ò)展器的演示。

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

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

            通過(guò)降低物料清單(BOM)成本,進(jìn)而減小設(shè)計(jì)面積,電壓頻率轉(zhuǎn)換器可改進(jìn)傳統(tǒng)的模擬解決方案。市場(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不使用模擬技術(shù)進(jìn)行數(shù)字化,而是使用獨(dú)立于內(nèi)核的外設(shè)和功能的組合。MCU使用內(nèi)部帶計(jì)算功能的模數(shù)轉(zhuǎn)換器(ADCC)測(cè)量輸入信號(hào),然后對(duì)時(shí)鐘信號(hào)進(jìn)行分頻,以創(chuàng)建可變頻率輸出。在該示例中,外設(shè)已設(shè)置為在初始化后獨(dú)立于CPU運(yùn)行。這意味著,CPU可以用于最終應(yīng)用中的其他任務(wù)。

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

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

            

            解決方案框圖

            模擬采樣模塊

            

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

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

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

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

            輸出振蕩器模塊

            

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

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

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

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

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

            如果改變NCO2的輸出頻率或使用備用源,則輸出頻率將調(diào)整為不同的輸出范圍。例如,如果NCO2的頻率降低到1.28 MHz,則輸出最大為10 kHz。

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

            占空比發(fā)生器

            

            占空比發(fā)生器框圖

            該解決方案的占空比發(fā)生器模塊負(fù)責(zé)創(chuàng)建50%的占空比輸出。這是一個(gè)可選功能——可以直接使用NCO的輸出,但這樣做會(huì)增加占空比的變化幅度。

            該生成器使用一個(gè)可配置邏輯單元(CLC)實(shí)現(xiàn)。CLC是可配置邏輯的小型模塊,類似于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)的一個(gè)單元。CLC可用作離散邏輯門(mén)(例如AND-OR或OR-XOR),也可以配置為鎖存器或觸發(fā)器。在該解決方案中,CLC實(shí)現(xiàn)為帶復(fù)位功能的J-K觸發(fā)器。J和K保持在邏輯高電平。輸出振蕩器模塊用作觸發(fā)器的時(shí)鐘。每個(gè)輸入時(shí)鐘脈沖均會(huì)導(dǎo)致輸出翻轉(zhuǎn),從而產(chǎn)生50%的占空比。注意:輸出振蕩器模塊的頻率抖動(dòng)將對(duì)占空比產(chǎn)生影響。

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

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

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

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

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

            總結(jié)

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

          本文地址:本文地址: http://m.xznet110.com/apply/d_1o3u4rnvsnee1_1.html

          拷貝地址

          上一篇:如何實(shí)現(xiàn)實(shí)用且有效的數(shù)字預(yù)失真解決方案

          下一篇:利用以太網(wǎng)供電 (PoE2) 恢復(fù)正常工作

          免責(zé)聲明:本文僅代表作者個(gè)人觀點(diǎn),與中國(guó)自動(dòng)化網(wǎng)無(wú)關(guān)。其原創(chuàng)性以及文中陳述文字和內(nèi)容未經(jīng)本站證實(shí),對(duì)本文以及其中全部或者部分內(nèi)容、文字的真實(shí)性、完整性、及時(shí)性本站不作任何保證或承諾,請(qǐng)讀者僅作參考,并請(qǐng)自行核實(shí)相關(guān)內(nèi)容!

          主站蜘蛛池模板: 成人性生交大片免费看好| 特级毛片www| 最新欧美一级视频| 免费高清欧美一区二区视频| 国产h在线播放| 无码无套少妇毛多18PXXXX| 亚洲欧美在线精品一区二区| 老师你的兔子好软水好多的车视频| 夫妇交换性3中文字幕k8| 久久婷婷成人综合色| 精品国产一二三区在线影院| 国产日韩欧美网站| 99热在线精品观看| 成年美女黄网站色大片免费看| 亚洲麻豆精品果冻传媒| 蜜桃视频在线观看免费网址入口| 国产精品毛片无遮挡| 一个看片免费视频www| 日本高清va在线播放| 免费观看中文字幕| 高清中文字幕免费观在线| 国产美女19p爽一下| 一区二区精品在线观看| 欧美另类z0z免费观看| 免费无码午夜福利片69| 六月丁香激情综合成人| 妺妺窝人体色WWW在线观看| 久久亚洲欧美日本精品| 欧美乱人伦人妻中文字幕| 国产一区二区三区小向美奈子| 中文字幕网资源站永久资源| 大陆熟妇丰满多毛XXXX| 中国熟妇xxxx| 日本成人不卡视频| 亚洲精品成人网站在线播放| 99自拍视频在线观看| 国模冰冰双人炮gogo| 一级片在线视频| 日本三级黄视频| 亚洲精品成人a| 精品国产午夜理论片不卡|