TC1728用户手册端口,V2.09-1V1.0,2011-12通过FPI总线访问端口寄存器选择性数据信号或外设的其他控制线ALTSEL0,1OD,DIR9通用I/O口和外设I/O线(端口)通用I/O口和外设I/O线(端口)TC1728共有133条连接到片上外设单元的数字通用输入/输出(GPIO)端口线。9.1基本端口操作TC1728GPIO端口芯片的基本结构如图9-1所示:HW_DIR端口芯片引出端Pn_IOCR43Pn_OMR控制4控制222Pn_OUTENABQ拉器件Pn_ESREMSTOP&Pn_INPn_PDRxALTINHW_ENALT11ALT21ALT31HW_OUT1msb输入阶段32输出阶段引脚1DQ11ENDQ1af_Standard_EBCport_structure_8.vsd图9-1端口引脚的基本结构TC1728用户手册端口,V2.09-2V1.0,2011-12通用I/O口和外设I/O线(端口)每条端口线配有一组控制位和数据位,从而使端口线的使用具有很大的灵活性。每个端口引脚可配置为输入或输出操作。在输入模式下(复位后的缺省模式),输出驱动器关闭(高阻),引脚上的实际电压值由施密特触发器译成逻辑0或1,可从只读寄存器Pn_IN中读出。输入信号也可以和各外设单元的输入直连(AltDataIn)。从引脚到输入寄存器Pn_IN和到AltDataIn的输入线功能与端口引脚的工作模式(输入或输出)无关。这意味着当端口工作在输出模式时,引脚电平可由软件从Pn_IN中读出、外设可使用该引脚电平作为输入。在输出模式下,输出驱动器被激活,将复用器送出的值驱动至端口引脚。通过Pn_IOCR寄存器使能或禁止输出驱动,从而实现输入和输出模式的切换。若外设单元将GPIO端口线用作双向I/O线,必须设置寄存器Pn_IOCR进行输入或输出选择。Pn_IOCR还用于控制输出驱动的类型;当引脚用作输入时,Pn_IOCR还决定是否使用内部弱上拉或下拉器件和引脚相连,这为应用提供了更多的便利。当引脚用作输出时,输出驱动器的前级输出复用器为GPIO线选择信号源。若引脚用作通用输出口,软件控制(Pn_IOCR寄存器)复用器选通输出数据寄存器Pn_OUT。由于软件可对Pn_OUT置位或清零,因此它可直接影响引脚的状态。若引脚用作片上外设的输出,输出复用器会选通复用功能输出线ALT1-ALT3,将其送至输出驱动电路。软件写入输出寄存器Pn_OUT的数据可用作片上外设的输入数据。这样通过软件即可测试片上外设、无需外部电路。用作通用输出线时,端口上每个引脚的逻辑电平可独立被修改,通过设置输出修改寄存器Pn_OMR中各引脚对应的控制位来实现。Pn_OMR中的控制位可对Pn_OUT寄存器中的对应位进行置位、清零、取反或保持不变。用作通用输出线时,引脚的实际逻辑电平值可从Pn_IN中读出并和(由输出寄存器Pn_OUT、或外设单元的复用输出功能控制的)输出电平进行比较。这可用于检测外部电路导致的引脚的电气故障。此外,利用漏极开路配置和外部线与电路,该方式可实现软件仲裁。若输出高电平(1)、但从输入寄存器Pn_IN读取引脚值返回低电平(0),可检测到外部通信线上出现冲突。TC1728用户手册端口,V2.09-3V1.0,2011-12通用I/O口和外设I/O线(端口)TC1728中GPTA模块用到的所有GPIO线具有急停逻辑电路。在紧急情况下,该控制逻辑可分别将GPTA的输出和GPTA模块的驱动输出断开、将它们设置为预先设定的逻辑状态。出现紧急情况时,输出引脚由端口输出寄存器Pn_OUT的值驱动、不由GPTA模块输出控制。急停寄存器Pn_EMR决定在紧急情况下是否使能GPTA输出。TC1728用户手册端口,V2.09-4V1.0,2011-129.2IO端口功能描述方案下面是两种常用来描述每个GPIO引脚的结构图:通用I/O口和外设I/O线(端口)表9-1端口x输入/输出功能端口引脚I/O选择连接信号来自/到模块Px.y输入信号模块输出GPIO信号模块ALT1信号模块ALT2信号模块ALT3信号模块HW_DIRHW_Out信号模块;组En或:表9-2端口x功能端口引脚I/O引脚功能相关寄存器/I/O线端口I/O控制选择寄存器/位域值Px.yIGPIOtPx_IN.PyPx_IOCRz.PC00XXXBOGPIOPx_OUT.Py1X00B1X01B1X10B1X11BHW_DIR模块;组En信号HW_DIR•HW_DIR:若HW_En激活,需要可选择方向的信号类型。Out–始终输出DIRx–在一个端口上的引脚有相同的DIRx(x=0,1,2,...),作为一个组被专用的HW_DIR信号控制。SDIR-单个DIR-该引脚由其自身专用的单个HW_DIR信号所控制。•若引脚分别被硬件控制,分组如下:TC1728用户手册l端口,V2.09-5V1.0,2011-12通用I/O口和外设I/O线(端口)–ENx–在一个端口上的引脚有相同的ENx(x=0,1,2,...),作为一个组被专用HW_EN信号控制。–SEN–单个EN-该引脚由其自身专用的单个的HW_EN信号所控制。•HW_DIR的数字端口定义见图9-1中。注:HW_EN信号的的优先级比紧急停止高。当引脚设置为GPIO模式时,具有紧急停止功能。注:HW_DIR信号在输出任务中,把暂存转变为推-拉输出状态。HW_DIR信号在输入任务中,把暂存用上拉/下拉设置的方式(在IOCR寄存器中定义)转变为输入状态。TC1728用户手册端口,V2.09-6V1.0,2011-129.3端口寄存器描述通用I/O口和外设I/O线(端口)每个GPIO口的控制位和数据位由一组寄存器实现。这些寄存器用来配置以及使端口为通用I/O口或复用功能输入/输出口。有些端口仅实现了部分寄存器。各端口所使用的寄存器详见页9-25的表9-9至页9-83的表9-27。注:所有的端口-寄存器都有四位一组(半个字节)的控制位,从位0开始。如果一个端口端口线的个数不是4的倍数,,或不是从位0开始启动,那么一些控制位保持未使用状态。这些位看似标准读-写位,但却没有任何功能。从位0开始的未实现四位一组的寄存器可以实现,但是同样没有任何功能。尽管未实现位没有外部连接,它们还是会出现在边界-扫描链上。端口寄存器概览图9-2表9-3端口寄存器寄存器地址空间模块起始地址结束地址注P0F0000C00HF0000CFFH16P1F0000D00HF0000DFFH16P2F0000E00HF0000EFFH14P3F0000F00HF0000FFFH16P4F0001000HF00010FFH4TC1728用户手册端口,V2.09-7V1.0,2011-12通用I/O口和外设I/O线(端口)表9-3寄存器地址空间(接上表)模块起始地址结束地址注P5F0001100HF00011FFH16P6F0001200HF00012FFH4P8F0001400HF00014FFH14P9F0001500HF00015FFH9P10F0001600HF00016FFH4P11F0001700HF00017FFH16P12F0300000HF03000FFH4表9-4寄存器概览寄存器缩略名寄存器完整名地址偏移量访问类型描述见读取写入Pn_OUT端口n输出寄存器0000HU,SVU,SV页9-19Pn_OMR端口n输出修改寄存器0004HU,SVU,SV页9-20–保留0008H-000CHBEBE–Pn_IOCR0端口n输入/输出控制寄存器00010HU,SVU,SV页9-10Pn_IOCR4端口n输入/输出控制寄存器40014HU,SV1)U,SV1)页9-11Pn_IOCR8端口n输入/输出控制寄存器80018HU,SV2)U,SV2)页9-11Pn_IOCR12端口n输入/输出控制寄存器12001CHU,SV2)U,SV2)页9-12–保留0020HBEBE–Pn_IN端口n输入寄存器0024HU,SVU,SV页9-23–保留0028H-003CHBEBE–Pn_PDR0端口n引出端驱动模式0寄存器0040HU,SVSV,E页9-15TC1728用户手册端口,V2.09-8V1.0,2011-12通用I/O口和外设I/O线(端口)表9-4寄存器概览(接上表)寄存器缩略名寄存器完整名地址偏移量访问类型描述见读取写入Pn_PDR1端口n引出端驱动模式1寄存器0044HU,SV2)SV,E2)页9-16–保留0048H-004CHBEBE–Pn_ESR端口n急停寄存器0050HU,SV3)SV,E3)页9-22–保留0054H-005CHBEBE–Pn_PDISC端口n引脚功能决策控制寄存器0060HU,SVSV,E页9-18–保留0064H-00FCHBEBE–1)可用的n=0-3,5,8-9,11.否则,该区域被保留并且当读和写访问时返回“BE”。2)可用的n=0-3,5,8,11.否则,该区域被保留并且当读和写访问时返回“BE”。3)可用的n=0-6,8-9.否则,该区域被保留并且当读和写访问时返回“BE”。TC1728用户手册端口,V2.09-9V1.0,2011-12通用I/O口和外设I/O线(端口)寄存器访问权限和复位类型表9-5寄存器访问权限和复位类型寄存器缩略名访问权限复位类型读取写入Pn_OUTU,SVU,SV类型3Pn_OMRPn_IOCR0Pn_IOCR4Pn_IOCR8Pn_IOCR12Pn_INPn_PDISCSV,EPn_PDR0Pn_PDR1Pn_ESRTC1728用户手册端口,V2.09-10V1.0,2011-129.3.1端口输入/输出控制寄存器通用I/O口和外设I/O线(端口)端口输入/输出控制寄存器用于选择GPIO端口引脚的输入输出驱动功能和特性。通过寄存器的相应位域PCx(x=0-15)选择端口方向(输入或输出)、输入引脚的上拉或下拉器件、输出引脚的推挽或漏极开路功能。每个32位的端口输入/输出控制寄存器控制四条GPIO端口线:寄存器Pn_IOCR0控制Pn.[3:0]端口线寄存器Pn_IOCR4控制Pn.[7:4]端口线寄存器Pn_IOCR8控制Pn.[11:8]端口线寄存器Pn_IOCR12控制Pn.[15:12]端口线端口输入/输出控制寄存器(由位域PCx组成)的结构如下所示。每个PCx位域控制一条端口线Pn.x。Pn_IOCR0(n=0-6)端口n输入/输出控制寄存器0Pn_IOCR0(n=8-9)端口n输入/输出控制寄存器0P10_IOCR0端口10输入/输出控制寄存器0(F0000C10H+n*100H)(F0000C10H+n*100H)(10H)复位值:20202020H复位值:20202020H复位值:20202020H312827242320191615121187430PC3rw0PC20rrwrPC1rw0PC00rrwr符号位序号类型功能描述PC0,PC1,PC2,PC3[7:4],[15:12],[23:20],[31:28]rw端口n引脚0-3的端口控制根据PCx编码定义(见表9-6),该位域决定端口n引脚x(x=0-3)的功能。0[3:0],[11:8],[19:16],[27:24]r保留读取返回0;应写入0。TC1728用户手册端口,V2.09-11V1.0,2011-12通用I/O口和外设I/O线(端口)Pn_IOCR4(n=0-3)端口n输入/输出控制寄存器4P5_IOCR4端口5输入/输出控制寄存器4Pn_IOCR4(n=8-9)端口n输入/输出控制寄存器4(F0000C14H+n*100H)(14H)(F0000C14H+n*100H)复位值:20202020H复位值:20202020H复位值:20202020H312827242320191615121187430PC7rw0PC60rrwrPC5rw0PC40rrwr符号为序号类型功能描述PC4,PC5,PC6,PC7[7:4],[