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

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

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

用于改進(jìn)應(yīng)用的自定義邏輯外設(shè)

星星科技指導(dǎo)員 ? 來源:microchip ? 作者:microchip ? 2023-05-06 09:51 ? 次閱讀

PIC? 和 AVR? 微控制器MCU) 上的自定義邏輯外設(shè)是功能強大的工具,可用于創(chuàng)建獨立于 CPU 運行的分立邏輯小塊。PIC 微控制器具有可配置邏輯單元 (CLC),而 AVR 微控制器具有可配置自定義邏輯 (CCL) 外設(shè)。為了快速輕松地進(jìn)行設(shè)置,MPLAB? 代碼配置器 (MCC) 可用于為正在使用的外設(shè)設(shè)置和生成 API。

本文將重點介紹使用這些外設(shè)增強設(shè)計的幾種方法。

外圍設(shè)備如何工作?

CLC和CCL外設(shè)都用于實現(xiàn)邏輯功能,但它們采用不同的方法。

CLC 通過有選擇地將內(nèi)部邏輯元素啟用到預(yù)定義的配置中來實現(xiàn)其邏輯功能。每個輸入的功能因單元的配置而異。PIC18-Q40 系列中 CLC 配置的一些示例包括:

4 輸入和

OR-異或

2 個帶復(fù)位功能的輸入 D 觸發(fā)器

1 個帶設(shè)置和復(fù)位功能的輸入透明鎖存器

AVR MCU 上的 CCL 外設(shè)基于查找表 (LUT) 工作。輸入信號用于查找外設(shè)的相應(yīng)輸出,如下面的(簡化)示例所示,該示例實現(xiàn)了邏輯功能(A |(B&C))。

poYBAGRVso2AIL_YAAB5FctYerc791.png

此外,鎖存器和觸發(fā)器可以連接到LUT的輸出,以實現(xiàn)同步邏輯功能。

為什么使用自定義邏輯外設(shè)?

使用自定義邏輯外設(shè)有幾個好處。首先,配置完成后,外設(shè)可以獨立于CPU運行。如果 CPU 進(jìn)入睡眠模式,外圍設(shè)備可以繼續(xù)運行。這假設(shè)輸入源在睡眠狀態(tài)下仍處于活動狀態(tài),并且為 AVR MCU 上的 CCL 設(shè)置了 RUNSTDBY。

其次,外設(shè)可以比CPU更快地執(zhí)行邏輯運算。微控制器執(zhí)行的相同操作將需要多個時鐘周期才能完成。所需的最小指令時鐘周期數(shù)為2:求解邏輯功能,然后更改I/O引腳狀態(tài)。在實際應(yīng)用中,幾乎可以肯定需要比這更多的指令時鐘。

使用案例

自定義邏輯外設(shè)有很多用例。這是在應(yīng)用程序中使用這些外設(shè)的一些可能方法的簡要列表。

實現(xiàn)邏輯函數(shù)

邏輯功能是自定義邏輯外設(shè)最直接的應(yīng)用。簡單的功能可以使用單個LUT或單元來實現(xiàn)。通過將單元或LUT互連在一起,可以實現(xiàn)更復(fù)雜的功能。

此功能的一個用例是替換PCB上的分立邏輯IC,從而減少物料清單(BOM)和設(shè)計區(qū)域。使用自定義邏輯外設(shè)的另一個設(shè)計優(yōu)勢是靈活性。如果在開發(fā)過程中需要更改邏輯功能,則只需要進(jìn)行一些小的軟件調(diào)整。使用分立IC需要交換IC和/或修改電路以獲得適當(dāng)?shù)墓δ堋?/p>

開關(guān)去抖動

自定義邏輯外設(shè)的另一個常見用途是去抖動按鈕或開關(guān)。有很多方法可以實現(xiàn)這一點 - 一些方法純粹基于CLC或CCL,而其他方法則使用自定義邏輯外設(shè)與設(shè)備上的板載定時器串聯(lián)。

AN2805:使用獨立于內(nèi)核的外設(shè)進(jìn)行魯棒性去抖動介紹了一些使用 CLC 的方法,而 AN4:AVR 上的獨立于內(nèi)核外設(shè)入門的第 2451 節(jié)展示了一種使用 CCL 和事件系統(tǒng) (EVSYS) 外設(shè)的方法。

提高信號路由靈活性

最近發(fā)布的大多數(shù)PIC和AVR微控制器都具有外設(shè)引腳選擇(PPS)(用于PIC MCU)或PORTMUX外設(shè)(用于AVR MCU)。這些外設(shè)的工作方式類似,因為它們都允許在微控制器上靈活路由數(shù)字外設(shè)信號。兩種實現(xiàn)之間的最大區(qū)別在于可能的位置數(shù)量。PPS 外設(shè)比 PORTMUX 外設(shè)有更多的選擇。但是,即使使用 PPS 或 PORTMUX,仍有可能某些位置可能無法直接路由到特定外設(shè)。

通過使用自定義邏輯外設(shè),可以將一些數(shù)字外設(shè)信號重新路由到通常不可用的端口/外設(shè)。下圖顯示了 CLC 的簡單直通配置,該配置接收PWM1_OUT1信號并將其路由到 CLC 的輸出。PPS 用于設(shè)置 CLC 的輸出位置,繞過 PWM 輸出的端口不可用。

poYBAGRVsoqAGfGIAACkgX13Ufo955.png


CCL 外設(shè)的使用方式類似,當(dāng)輸入為 1 時將查找表設(shè)置為 1,當(dāng)輸入為 0 時,查找表設(shè)置為 0。請注意,這要求CCL的時鐘運行至少是輸入信號頻率的兩倍。PORTMUX 可用于選擇 CCL 的輸出位置。

自定義邏輯外設(shè)的類似用途是調(diào)試內(nèi)部信號。自定義邏輯可用于直通模式,將外設(shè)輸出或數(shù)字信號復(fù)制到I/O引腳,以便直接觀察和測量。這對于調(diào)試沒有輸出的外設(shè)或調(diào)試獨立于內(nèi)核的外設(shè)的復(fù)雜組合非常有用。例如,如果使用定時器自動觸發(fā)ADC的程序不工作,則可以將定時器信號輸出到I/O,以確認(rèn)定時器以預(yù)期頻率運行。

結(jié)論

PIC 和 AVR MCU 上的自定義邏輯外設(shè)是簡單但非常靈活的工具。CLC 和 CCL 提供了一種快速簡便的方法,可以在微控制器內(nèi)外實現(xiàn)分立邏輯。

審核編輯:郭婷

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

    關(guān)注

    48

    文章

    7773

    瀏覽量

    153015
  • mcu
    mcu
    +關(guān)注

    關(guān)注

    146

    文章

    17577

    瀏覽量

    356330
  • cpu
    cpu
    +關(guān)注

    關(guān)注

    68

    文章

    10977

    瀏覽量

    214544
收藏 0人收藏

    評論

    相關(guān)推薦

    邏輯分析儀的自定義工具設(shè)計

    邏輯分析儀的自定義工具設(shè)計
    發(fā)表于 09-18 06:51

    自定義外設(shè)自定義指令在SOPC系統(tǒng)中是如何運行的?

    自定義外設(shè)自定義指令在SOPC系統(tǒng)中是如何運行的?怎樣去驗證?
    發(fā)表于 05-26 06:33

    自定義函數(shù)測試學(xué)習(xí)工程

    自定義函數(shù)測試學(xué)習(xí)工程
    發(fā)表于 07-01 16:37 ?5次下載

    SOPC中自定義外設(shè)自定義指令性能分析

    SOPC中自定義外設(shè)自定義指令性能分析 NiosII是一個建立在FPGA上的嵌入式軟核處理器,靈活性很強。作為體現(xiàn)NiosII靈活性精髓的兩個最主要方面,自
    發(fā)表于 03-29 15:12 ?1659次閱讀
    SOPC中<b class='flag-5'>自定義</b><b class='flag-5'>外設(shè)</b>和<b class='flag-5'>自定義</b>指令性能分析

    1602自定義字符

    1602液晶能夠顯示自定義字符,能夠根據(jù)讀者的具體情況顯示自定義字符。
    發(fā)表于 01-20 15:43 ?1次下載

    JAVA教程之自定義光標(biāo)

    JAVA教程之自定義光標(biāo),很好的學(xué)習(xí)資料。
    發(fā)表于 03-31 11:13 ?7次下載

    PDH網(wǎng)管盤 自定義字節(jié)

    PDH網(wǎng)管盤 自定義字節(jié)
    發(fā)表于 12-26 22:13 ?0次下載

    微軟計劃改進(jìn)Windows中的自定義選項

    顯然,在將來的Windows 10更新中,微軟計劃改進(jìn)Windows中的自定義選項。計劃的更新包括Desktop Spotlight功能,該功能將以幻燈片形式將Bing圖像帶到桌面。
    的頭像 發(fā)表于 10-16 09:55 ?1619次閱讀

    OpenHarmony自定義組件CircleProgress

    組件介紹 本示例是OpenHarmony自定義組件CircleProgress。 用于定義一個帶文字的圓形進(jìn)度條。 調(diào)用方法
    發(fā)表于 03-23 14:06 ?4次下載
    OpenHarmony<b class='flag-5'>自定義</b>組件CircleProgress

    用于鴻蒙的自定義組件框架Carbon案例教程

    項目名稱:Carbon 所屬系列:ohos的第三方組件適配移植 功能:一個適用于鴻蒙的自定義組件框架,幫助快速實現(xiàn)各種需要的效果 項目移植狀態(tài):大部分移植 調(diào)用差異:基本沒有使用差異,可以參照
    發(fā)表于 04-07 09:49 ?5次下載

    自定義視圖組件教程案例

    自定義組件 1.自定義組件-particles(粒子效果) 2.自定義組件- pulse(脈沖button效果) 3.自定義組件-progress(progress效果) 4.
    發(fā)表于 04-08 10:48 ?14次下載

    ArkUI如何自定義彈窗(eTS)

    自定義彈窗其實也是比較簡單的,通過CustomDialogController類就可以顯示自定義彈窗。
    的頭像 發(fā)表于 08-31 08:24 ?2401次閱讀

    labview自定義控件

    labview自定義精美控件
    發(fā)表于 05-15 16:46 ?18次下載

    自定義算子開發(fā)

    一個完整的自定義算子應(yīng)用過程包括注冊算子、算子實現(xiàn)、含自定義算子模型轉(zhuǎn)換和運行含自定義op模型四個階段。在大多數(shù)情況下,您的模型應(yīng)該可以通過使用hb_mapper工具完成轉(zhuǎn)換并順利部署到地平線芯片上……
    的頭像 發(fā)表于 04-07 16:11 ?3018次閱讀
    <b class='flag-5'>自定義</b>算子開發(fā)

    labview超快自定義控件制作和普通自定義控件制作

    labview超快自定義控件制作和普通自定義控件制作
    發(fā)表于 08-21 10:32 ?13次下載

    電子發(fā)燒友

    中國電子工程師最喜歡的網(wǎng)站

    • 2931785位工程師會員交流學(xué)習(xí)
    • 獲取您個性化的科技前沿技術(shù)信息
    • 參加活動獲取豐厚的禮品