用邏輯簡化單片機(jī)上的復(fù)雜功能
作者 Manu Venkategowda Microchip Technology公司 應(yīng)用工程師
本文引用地址:http://www.ex-cimer.com/article/201808/391179.htm摘要:解釋了可配置邏輯單元如何簡化單片機(jī)上復(fù)雜功能的實(shí)現(xiàn)。
有時,簡單的東西也大有益處。大多數(shù)嵌入式工程師需要通過各種信號或邏輯來滿足最終應(yīng)用需求。他們依靠設(shè)計(jì)復(fù)雜的電路板邏輯來滿足這些需求。但是如果通過一種簡單的方法便可以做一些復(fù)雜的事情會怎么樣呢?一些單片機(jī)具有靈活的外設(shè),可以執(zhí)行復(fù)雜應(yīng)用所需的功能。
這就是可配置邏輯單元(CLC)的用武之地。CLC外設(shè)已添加到Microchip PIC?單片機(jī)(MCU)的外設(shè)集中,允許用戶設(shè)計(jì)一個可與MCU連接的簡單功能。該CLC外設(shè)允許用戶指定信號組合作為邏輯功能的輸入,并支持使用邏輯輸出控制其他外設(shè)和IO引腳,可幫助用戶靈活設(shè)計(jì)所選功能。
為了簡單起見,Microchip的MPLAB?代碼配置器(MCC)支持CLC。因此,設(shè)計(jì)人員只需拖放邏輯門便可連接輸入和輸出(GUI格式),并且通過單擊按鈕便可生成C代碼,從而大大簡化了CLC模塊的實(shí)現(xiàn)。
獨(dú)立于內(nèi)核的外設(shè)(CIP)在處理任務(wù)時無需額外的代碼或CPU監(jiān)管來維持運(yùn)行。CLC是這樣一種CIP:它簡化了復(fù)雜控制系統(tǒng)的實(shí)現(xiàn),同時為開發(fā)人員提供了充足的設(shè)計(jì)靈活性,可通過卸載CPU負(fù)荷提高單片機(jī)的性能。繼續(xù)閱讀以了解CLC如何用于在應(yīng)用中實(shí)現(xiàn)信號相位檢測、互補(bǔ)波形生成或多參數(shù)監(jiān)控。憑借各種輸入、觸發(fā)和輸出,CLC具有無限的可能性。
1 概述
CLC是用戶可配置的外設(shè),類似于可編程邏輯器件(PLD),但集成在單片機(jī)中。可以選擇內(nèi)部和外部輸入作為CLC的輸入。CLC接收來自其他外設(shè)或輸入引腳的輸入。之后,它會執(zhí)行預(yù)期的邏輯操作,并提供可用于控制其他外設(shè)或其他IO引腳的輸出。
CLC可以接收信號,例如內(nèi)部時鐘信號、其他外設(shè)的輸出以及定時器輸入等外設(shè)事件。可以通過信號門控級將所選擇的輸入信號指向所需的邏輯功能。
CLC支持各種邏輯功能,如AND、OR、NOT、XOR、NAND、NOR和XNOR。在CLC中,數(shù)據(jù)門控級的輸出是邏輯功能選擇級的輸入。輸出極性級是CLC的最后一級,可以選擇所需的極性。
CLC可用作獨(dú)立外設(shè)來實(shí)現(xiàn)順序和組合邏輯功能,從而促進(jìn)快速事件觸發(fā)和響應(yīng)。它還可以與其他外設(shè)一起使用,通過促進(jìn)硬件中復(fù)雜功能的自定義實(shí)現(xiàn)來幫助擴(kuò)展外設(shè)功能。
作為獨(dú)立于內(nèi)核的外設(shè),CLC通過將許多簡單的邏輯事件響應(yīng)從CPU卸載到外設(shè),有效地降低了應(yīng)用的CPU帶寬需求。它還降低了閃存和RAM要求,因?yàn)椴恍枰浖惴ā?/p>
與軟件中實(shí)現(xiàn)的邏輯功能相比,硬件中實(shí)現(xiàn)的邏輯功能具有更快的事件響應(yīng)。此外,CLC無需任何外部組件即可支持更高級別的集成,從而減小了整體PCB尺寸。
2 相位檢測器
CLC的多功能特性和簡便性擴(kuò)展了PIC? MCU的設(shè)計(jì)能力。證明CLC能力的一個很好的例子是相位檢測器。相位檢測器可用于許多應(yīng)用,包括距離測量。它的工作原理是,當(dāng)連續(xù)的RF波向目標(biāo)發(fā)射時,到目標(biāo)的距離與發(fā)射波和接收波之間的相移成比例。CLC可用于測量相同頻率的兩個信號之間的相位差。發(fā)射和接收的波用作CLC的輸入,并且CLC輸出處的兩個信號之間的相位差可用于計(jì)算源和目標(biāo)之間的距離。
在使用CLC的相位檢測器實(shí)現(xiàn)中,CLC中的AND-OR邏輯功能可用于實(shí)現(xiàn)XOR功能以測量相位差的大小,D型觸發(fā)器(D-FF)邏輯功能有助于獲得信號的超前和滯后信息。除了方波之外,還可以測量其他類型模擬信號(例如正弦波)之間的相位。圖1描繪了使用CLC的相位檢測器的配置。
將相位差待測的源信號作為輸入饋送到兩個比較器,這兩個比較器被配置為過零檢測器(ZCD)。ZCD將輸入模擬信號轉(zhuǎn)換為相同頻率的方波。如果源信號是方波,則不需要ZCD。方波作為輸入從內(nèi)部連接到多個CLC模塊。
CLC1和輸入捕捉(IC)外設(shè)用于確定相位差的大小。CLC1配置為AND-OR邏輯功能,從中可得到XOR功能。CLC1的經(jīng)XOR操作的輸出作為源信號從外部連接到IC。憑借經(jīng)XOR操作的輸出的脈沖寬度,可得出兩個波之間的相位差的大小,該脈沖寬度由IC測量。如果CLC1輸出不產(chǎn)生信號,則源信號同相。
為了確定兩個輸入波形的相位超前和滯后信息,CLC配置為D-FF模式,其中一個方波使用D輸入,另一個用作時鐘。CLC2的高電平或低電平輸出用于確定D輸入的相位超前還是滯后于時鐘輸入。測量相同頻率的兩個信號之間的相位角在許多應(yīng)用中都十分有用,包括計(jì)量、數(shù)字電源系統(tǒng)、通信和醫(yī)療儀器。
3 互補(bǔ)波形發(fā)生器
使用CLC的另一種方法是在互補(bǔ)波形發(fā)生器(CWG)中。CWG從其輸入源產(chǎn)生帶有死區(qū)控制的互補(bǔ)波形。在兩個信號之間插入死區(qū)時間,以防止各種電源應(yīng)用中的直通電流。
該應(yīng)用說明了如何使用CLC外設(shè)的邊沿檢測和中斷功能,以單個捕捉/比較/PWM(SCCP)模塊作為輸入源生成互補(bǔ)波形。
通常,電機(jī)控制等應(yīng)用需要多個互補(bǔ)波形發(fā)生器來控制其功能。多重捕捉/比較/PWM(MCCP)模塊可通過控制其輸出端的死區(qū)來產(chǎn)生具有非重疊信號的互補(bǔ)波形。但是,如果應(yīng)用需要的MCCP實(shí)例多于器件中可用的實(shí)例,則可以將SCCP與CLC結(jié)合使用。
具有SCCP的CLC外設(shè)可用于生成具有所需死區(qū)的互補(bǔ)波形,因?yàn)镾CCP本身不能生成非重疊信號。
可以為邊沿對齊和中心對齊的SCCP輸出添加死區(qū)。圖2所示為在邊沿對齊模式下控制SCCP輸出死區(qū)的CLC1、CLC2和CLC3配置。
例如,可以通過輸出產(chǎn)生互補(bǔ)波形的MCCP外設(shè)來驅(qū)動全橋電機(jī)驅(qū)動器電路。然而,如果要驅(qū)動多個這樣的全橋電機(jī)驅(qū)動器電路,并且器件上可用的MCCP外設(shè)的數(shù)量不足,則可以將SCCP與CLC結(jié)合使用。
4 多參數(shù)監(jiān)控
通常,應(yīng)用需要同時監(jiān)控不同的參數(shù),例如溫度、壓力和濕度。如果這些參數(shù)開始越過上限或下限閾值,則可以采取必要的措施來避免災(zāi)難性后果。
多個比較器可用作CLC的源輸入。在單片機(jī)中,比較器可用于僅監(jiān)控一個參數(shù)??梢允褂肅LC組合多個比較器的輸出,以監(jiān)控多個參數(shù)。
當(dāng)監(jiān)控的任何或所有參數(shù)超過一定限值時,可以采取必要的措施。圖3所示為用于監(jiān)控兩個不同參數(shù)的CLC配置。
在實(shí)踐中,該應(yīng)用用于監(jiān)控工業(yè)設(shè)備中的溫度和壓力,以便在任一參數(shù)超過預(yù)設(shè)閾值時關(guān)閉設(shè)備。它還可用于監(jiān)控離線不間斷電源中的電壓大小。
5 結(jié)論
通過在外設(shè)集中添加可配置邏輯單元,用戶可以在PIC單片機(jī)中集成簡單的板載邏輯設(shè)計(jì)。組合不同外設(shè)的輸出增強(qiáng)了現(xiàn)有外設(shè)的功能,從而擴(kuò)展了外設(shè)可以實(shí)現(xiàn)的應(yīng)用的范圍。
由于與軟件中實(shí)現(xiàn)的邏輯功能相比,硬件中實(shí)現(xiàn)的邏輯功能具有更快的事件響應(yīng),因此CLC有助于提高整個系統(tǒng)的速度。它還可提供更高級別的集成,而無需外部邏輯門來實(shí)現(xiàn)邏輯功能,從而減少了所需部件的數(shù)量并縮小了PCB的整體尺寸。CLC還有助于使用不同的邏輯門組合各種輸入源信號以產(chǎn)生完全不同的信號。
所有這些靈活的輸入和輸出以及邏輯功能都可以通過基于GUI的工具輕松實(shí)現(xiàn),該工具稱為MPLAB代碼配置器(MCC),可為您的應(yīng)用生成易讀的C代碼。
參考文獻(xiàn):
[1]Venkategowda M.使用CLC擴(kuò)展PIC MCU功能的應(yīng)用筆記[R/OL].http://ww1.microchip.com/downloads/en/AppNotes/00002133a.pdf
本文來源于《電子產(chǎn)品世界》2018年第9期第77頁,歡迎您寫論文時引用,并注明出處。
評論