Microchip的PIC18-Q71系列微控制器
來源:http://www.lbfp.com.cn 作者:億金電子 2024年03月04
Microchip的PIC18-Q71系列微控制器
PIC18-Q71系列微控制器的移位寄存器使用信號路由端口
PIC18-Q71系列微控制器的移位寄存器使用信號路由端口
這篇博客文章介紹了集成到PIC18-Q71系列微控制器(MCU)和未來設備上的新信號路由端口(SRPORT)外設。我們將討論如何將SRPORT與其它外設配合使用來實現串行輸入并行輸出(SIPO)移位寄存器。
了解問題
在I/O引腳有限的MCU中,引腳可用性通常成為主要的系統限制。通常在可用引腳的數量與芯片本身的成本、石英晶振尺寸和復雜性之間存在權衡,這使得很難找到完美的平衡。涉及多個外設互連的應用經常會遇到并非所有外設信號都能直接互連的問題,需要通過外部I/O引腳路由信號才能建立連接。這可能并不理想,因為它限制了MCU在需要時與多個外部元件接口的能力,從而降低了系統的整體功能。
這種情況有解決方案,例如使用更高引腳數的設備來確保所有連接都可以進行,或者添加額外的硬件(例如I/O擴展器)來增加可用的引腳數。盡管這些解決方案看似可行,但理解其中的利弊很重要,因為它們可能會增加系統的復雜性,從而增加總成本。
什么是信號路由端口?
歐美進口晶振Microchip的SRPORT是一個軟件接口,它模擬微控制器上的物理硬件端口,本質上類似于一個沒有物理連接到外部引腳的常規I/O端口。這樣就可以像連接到微控制器的物理端口一樣與器件通信,無需在應用中使用任何額外的物理I/O線路。SRPORT為設計帶來了先進的互連性,最終最大限度地減少了對外部引腳布線的需求。這允許用戶創建自定義配置,而無需復雜的軟件開發或大量PCB修改。
SRPORT模塊是一種多功能硬件解決方案,由8個虛擬輸入引腳和8個虛擬輸出引腳組成。這些引腳非常靈活,可以滿足特定的應用需求。每個信號路由引腳提供一系列輸入選擇,包括各種獨立于內核的外設的輸出,這使得基于硬件的解決方案能夠在選定外設和虛擬引腳之間交換數據。
對于需要高級同步和時序的應用,SRPORT提供廣泛的時鐘源選擇,包括來自外設的時鐘源。每個信號路由引腳都配有一個觸發器,以便在需要時幫助信號同步,最終幫助設計基于硬件的狀態機。
SRPORT用作高電平輸入選擇多路復用器,貼片晶振,通過外設引腳選擇(PPS)在內部將數字外設輸出連接到其它外設的輸入,無需將這些信號路由至外部I/O引腳以實現外設之間的通信。輸入選擇范圍還包括緊鄰的下一個信號路由引腳的輸出作為輸入。這與每個信號路由引腳提供的觸發器結合使用,允許移位寄存器操作。最后,SRPORT提供專用的更改時中斷。這在用于DMA控制器或模數轉換器等其它外設的觸發事件時非常有用。
使用SRPORT創建串行輸入并行輸出(SIPO)移位寄存器
既然我們對SRPORT有了很好的了解,現在我們將討論我們的應用團隊如何利用SRPORT和其它外設實現SIPO移位寄存器。
該應用使用帶有PIC18F46Q71微控制器的Curiosity高引腳數(HPC)板。
下面顯示了代碼示例如何運行的高級框圖。


什么是串行輸入并行輸出(SIPO)移位寄存器?
移位寄存器是一種可以存儲和傳輸二進制數據的數字電路。移位寄存器由多個相互級聯的觸發器組成,其中每個觸發器可以存儲一位數據,而整個鏈可以存儲多位數據。
SIPO移位寄存器是一種數字電路,可以在一系列觸發器中存儲和傳輸數據。它通過串行輸入一次接收一位或一個字節的數據,并并行輸出整組位或字節。SIPO移位寄存器通常由多個相互連接的觸發器組成,使用它們的數據和時鐘信號作為輸入。
SIPO移位寄存器的基本表示如下所示:


操作理論
讓我們首先討論SRPORT在這個移位寄存器示例中必須扮演什么角色。SRPORT模塊負責根據輸入的時鐘信號存儲和移位數據。要將SRPORT配置為移位寄存器,SRPORT允許其輸入選擇選項之一是作為輸入的下一個信號路由引腳的輸出。
下圖顯示了這種情況。


SRPORT從脈寬調制器(PWM)外設獲取時鐘信號和數據。PWM1模塊產生一個1kHz時鐘信號,用作SRPORT的時鐘輸入。為了將該信號用作SRPORT的時鐘信號,可配置邏輯單元(CLC)用于將時鐘信號重定向至SRPORT的時鐘輸入選擇。
PWM2模塊用于產生一個數據信號,作為移位寄存器的輸入。PWM2產生的數據在1kHz時鐘信號的每個上升沿移位并存儲。一旦出現8個時鐘周期,代表前8個時鐘周期數據的8位值就會存儲在PORTW寄存器中。一旦第八個時鐘周期出現,通用定時器(UTMR)就會觸發直接存儲器訪問(DMA)傳輸,將數據從SRPORT轉移到RAM。隨后,使用另一個DMA模塊將數據從RAM移動到UART的發送緩沖區,以便在數據終端上顯示。
最后,在Curiosity HPC開發板上使用板載按鈕啟動每一輪數據傳輸。為了解決按鈕具有潛在去抖的問題,定時器2模塊與CLC模塊結合使用,以創建基于硬件的無代碼按鈕去抖解決方案。
總之,這表明可以利用SRPORT和其它獨立于內核的外設來有效實現移位寄存器。要進一步了解演示內容,您可以探索MPLAB Discover環,指導您完成項目的MPLAB代碼配置器(MCC)設置。
原廠代碼 | 進口晶振 | 型號 | 頻率 |
DSC1123CI2-125.0000 | Microchip晶振 | DSC1123 | 125MHz |
DSC1123CI2-200.0000 | Microchip晶振 | DSC1123 | 200MHz |
DSC1123AE2-100.0000 | Microchip晶振 | DSC1123 | 100MHz |
DSC1001CI2-027.0000 | Microchip晶振 | DSC1001 | 27MHz |
DSC1123CE1-156.2500 | Microchip晶振 | DSC1123 | 156.25MHz |
DSC1123CI2-150.0000 | Microchip晶振 | DSC1123 | 150MHz |
DSC1123CI2-100.0000 | Microchip晶振 | DSC1123 | 100MHz |
DSC1103DI2-312.5000 | Microchip晶振 | DSC1103 | 312.5MHz |
DSC1123DI2-050.0000 | Microchip晶振 | DSC1123 | 50MHz |
DSC1123CI2-156.2500 | Microchip晶振 | DSC1123 | 156.25MHz |
DSC1123BL2-125.0000 | Microchip晶振 | DSC1123 | 125MHz |
DSC1123CI5-125.0000 | Microchip晶振 | DSC1123 | 125MHz |
DSC1103CI5-300.0000 | Microchip晶振 | DSC1103 | 300MHz |
DSC1123DL5-200.0000 | Microchip晶振 | DSC1123 | 200MHz |
DSC1123NL5-100.0000 | Microchip晶振 | DSC1123 | 100MHz |
DSC1001CI2-018.4320 | 石英晶振 | DSC1001 | 18.432MHz |
DSC1123CI1-200.0000 | Microchip晶振 | DSC1123 | 200MHz |
DSC1123CI1-156.2500 | Microchip晶振 | DSC1123 | 156.25MHz |
DSC1123AE2-300.0000 | Microchip晶振 | DSC1123 | 300MHz |
DSC1123AI1-125.0000 | Microchip晶振 | DSC1123 | 125MHz |
DSC1123AI2-125.0000 | Microchip晶振 | DSC1123 | 125MHz |
DSC1122CE1-125.0000 | Microchip晶振 | DSC1122 | 125MHz |
DSC1123AE2-200.0000 | Microchip晶振 | DSC1123 | 200MHz |
DSC1103CI1-075.0000 | Microchip晶振 | DSC1103 | 75MHz |
DSC1123AI2-150.0000 | Microchip晶振 | DSC1123 | 150MHz |
DSC1123AI1-200.0000 | Microchip晶振 | DSC1123 | 200MHz |
DSC557-0344SI1 | Microchip晶振 | DSC557-03 | 100MHz |
正在載入評論數據...
此文關鍵字: 石英晶體
相關資訊
- [2025-02-06]Abracon的2024年最佳產品:尖端的計時...
- [2025-01-13]MEMS振蕩器:針對現代應用進行定制的高...
- [2025-01-13]計時的故事:從擺鐘到現代計時
- [2025-01-08]生命周期:Microcrystal的可持續回收指...
- [2024-12-20]小基站中的時鐘和同步要求
- [2024-12-20]適用于您的家庭和工業物聯網設計的石...
- [2024-12-19]使用頻譜分析儀消除時鐘幅度變化對抖...
- [2024-12-18]什么是同步保持,為什么它在面向未來的...