赞
踩
S32G3的SIUL2实现参考Reference Manual的Chapter 16 System Integration Unit Lite2(SIUL2),S32G3集成了2个SIUL2模块,SIUL2_0与SIUL2_1,对应的寄存器如下:
(个人理解,每个SIUL2都支持0-511个MSCR,512-1023个IMCR,S32G3集成了2个SIUL2模块,每个模块可使用的端口索引号如下:)
Instance | Multiplexed Signal Configuration Register (MSCR) mapping | Reference | Base Address |
SIUL2_0 | MSCR0-MSCR101 and MSCR512-MSCR595(IMCR0-IMCR83) | SIUL_CC | 0x4009C000 |
SIUL2_1 | MSCR112-MSCR190 and MSCR631-MSCR1023 | SIUL_OFFCC | 0x44010000 |
MSCR配置Pad端口复用输出,IMCR配置Pad端口输入;
"CR" numbers 0 to 511 correspond to the MSCR register instances.
"CR" numbers 512 to 1023 correspond to the IMCR register instances.
GPDO与GPDI寄存器可以写、读MSCR端口的电平;索引号与MSCR索引号一致;
可以通过Reference Manual中的附件S32G3_IOMUX.xlsx的IO Signal Table页确定每个pad支持的复用功能,以PJ_01为例说明如何配置pad端口:
PJ_01表明该pad所在的port group,即PTJ (PortJ),该组共16个pad(PJ_00 - PJ_15);
CR:即表明输出需配置的寄存器索引号,MSCR145;662与814表明PJ_01用作输入时,针对不同的功能需要分别配置IMCR150(662-512)或IMCR302(814-512);
addr:即为MSCR寄存器的地址,0x4401048C
SSS:为不同复用功能对应的写入到寄存器的值;
Pad Type:表明端口支持的最大速率与驱动强度;
只有特定的pad端口支持中断功能,即可复选为EIRQ功能的端口;S32G3中,SIUL2_0不支持中断和DMA功能,SIUL2_1只支持1路中断(由多路pad共享),在触发中断后读取DISR0判断哪一路pad触发的中断;且SIUL2_1支持通过寄存器DIRSR0配置是触发中断还是DMA(只有EIRQ[0:7]可配置)。
Port
S32G3支持使用MCAL实现对Pad的配置,配置项如下图
PortPin SIUL2 Instance:选择该pad所属的SIUL2,根据MSCR值判断
PortPin Mscr(dynamic range):即该pad对应的CR值,0 <= x <=190,也就是MSCR的索引值
PortPin Id:需不重复且小于CR;
PortPin Mode:该pad复选的功能,支持输入、输出功能复选;若选择输出功能,则复选为输出,PortPin Direction会配置为输出,且会配置MSCR寄存器的SSS值;若选择输入功能,则复选为输入,PortPin Direction会配置为输入,且会配置对应的IMCR寄存器的SSS值;
Dio Port Id:S32G3配置值如下
Dio Channel Id:该pad在port group的id,如PH_09则填写9;
S32K3xx Pins and Clocks with RTD - Training
What is SUIL? :"Lite" means that it is reduced version of SIU.
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。