SPRUIZ1B July 2023 – August 2024 TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
Up to twelve independent peripheral signals are multiplexed on a single GPIO-enabled pin in addition to the CPU-controlled I/O capability. Each pin output can be controlled by either a peripheral or one of the CPU controllers.
There are up to 8 possible I/O ports:
Figure 14-1 shows the GPIO logic for a single pin.
The USB PHY pin muxing is not shown in Figure 14-1. For more details on USB pins, see Section 14.7.
There are two key features to note in Figure 14-1. The first is that the input and output paths are entirely separate, connecting only at the pin. The second is that peripheral muxing takes place far from the pin. As a result, for both CPUs and CLAs to read the physical state of the pin independent of CPU controlling and peripheral muxing is possible. Likewise, external interrupts can be generated from peripheral activity. All pin options such as input qualification and open-drain output are valid for all controllers and peripherals. However, the peripheral muxing, CPU muxing, and pin options can only be configured by CPU1. Table 14-1 provides details of GPIO registers accessible by different controllers.
A separate configuration is required for the USB signals. See Section 14.7 for details.
Register Type | Function | CPU1 | CLA1 | DMA1 | CPU2 | DMA2 | Comments |
---|---|---|---|---|---|---|---|
GPIO_CTRL | Peripheral muxing, Pull Control ,etc. | Yes | NO | NO | NO | NO | - |
GPIO_DATA | GPIODAT, SET, CLEAR, TOGGLE, and pin status, etc. | Yes | Yes | NO | Yes | NO | Based on GPyCSEL configuration. |
GPIO_DATA_READ | Read back of GPIODAT register | Yes | Yes | NO | Yes | NO | - |