Microchip的PIC18-Q71系列微控制器
来源:http://www.yijindz.com 作者:亿金电子 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 |
正在载入评论数据...
此文关键字: 石英晶体
相关资讯
- [2024-05-24]Silicon超小型EFR32BG27推动无线口腔...
- [2024-05-22]Rakon推出了首款集成电路ROM1490X支持...
- [2024-04-23]Raltron滤波器RSF-110.592-280-7050-...
- [2024-04-19]Abracon低功率HCSL清晰时钟振荡器AK2...
- [2024-04-17]PETERMANN高精度SXO18-02502-S-E-25-...
- [2024-04-15]ECS医疗设备设计应用晶振ECS-2033-24...
- [2024-04-13]Statek晶振CXOXLPN4DSNSM3-25.0M.50/...
- [2024-04-11]MtronPTI组件和子组件设计和测试能力...