Hardware Abstraction Layer (HAL)
Interconnect (Internal Digital Routing)

General Description

The interconnect system connects the various hardware peripherals using trigger signals.

Triggers are output when a particular event occurs or condition is met by one of the peripherals. These triggers can be routed to other peripherals using the interconnect system in order to initiate an action at the destination peripheral.

Peripherals must be configured to produce/accept trigger signals. Therefore in practice, there is no need to call _cyhal_connect_signal manually. Instead, use the per-peripheral cyhal_*PERI*_connect_digital or cyhal_*PERI*_enable_output which will handle configuring the peripheral and making the connections internally.

Trigger routing is implemented using trigger multiplexers. A single source trigger can be routed to multiple destinations but a single destination can only be connected to a single source. There are different trigger layouts depending on device architecture.

Trigger routing is device specific. See Trigger Connections for the available connections for your device.

API Reference

 Trigger Connections
 Trigger connections for supported device families:
 

Functions

cy_rslt_t _cyhal_connect_signal (cyhal_source_t source, cyhal_dest_t dest)
 Connects two digital signals on the device using the internal interconnect. More...
 
cy_rslt_t _cyhal_disconnect_signal (cyhal_source_t source, cyhal_dest_t dest)
 Disconnects two digital signals on the device that were previously connected using the internal interconnect. More...
 
bool _cyhal_can_connect_signal (cyhal_source_t source, cyhal_dest_t dest)
 Checks to see if a signal can be connected between the provided source and dest. More...
 

Function Documentation

◆ _cyhal_connect_signal()

cy_rslt_t _cyhal_connect_signal ( cyhal_source_t  source,
cyhal_dest_t  dest 
)

Connects two digital signals on the device using the internal interconnect.

A single source can drive multiple destinations, but a destination can be driven by only one source. If the destination is already connected, or the connection can not be established an error will be returned.

Parameters
[in]sourceThe source of the signal to connect
[in]destThe destination of the signal to connect
Returns
The status of the connect request

◆ _cyhal_disconnect_signal()

cy_rslt_t _cyhal_disconnect_signal ( cyhal_source_t  source,
cyhal_dest_t  dest 
)

Disconnects two digital signals on the device that were previously connected using the internal interconnect.

Parameters
[in]sourceThe source of the signal to disconnect
[in]destThe destination of the signal to disconnect
Returns
The status of the disconnect request

◆ _cyhal_can_connect_signal()

bool _cyhal_can_connect_signal ( cyhal_source_t  source,
cyhal_dest_t  dest 
)

Checks to see if a signal can be connected between the provided source and dest.

Parameters
[in]sourceThe source of the signal to check
[in]destThe destination of the signal to check
Returns
Indication of whether a signal can connect between the provided points