The PDStack middleware implements state machines defined in the Universal Serial Bus Type-C Cable and Connector Specification and the Universal Serial Bus Power Delivery Specification. The middleware provides a set of Device Policy Manager (DPM) APIs through which the application can initialize, monitor and configure the middleware operation.
The PDStack middleware operates on the top of the USBPD driver included in the MTB PDL CAT2(mtb-pdl-cat2) Peripheral Driver Library
Features:
Include cy_pdstack_common.h, cy_pdstack_dpm.h, cy_pdstack_port_config.h to get access to all functions and other declarations in this library. See the Quick Start Guide to start using the PDStack.
Refer to the Supported Software and Tools section for compatibility information.
Refer to the Changelog section for change history.
PDStack operates on the top of the usbpd driver. The usbpd driver has some prerequisites for proper operation. Refer to the "USBPD (USB Power Delivery)" section of the MTB PDL CAT2(mtb-pdl-cat2) Peripheral Driver Library API Reference Manual. Also, refer to the Limitations and Restrictions section for the different PDStack middleware restrictions and limitations.
The PDStack Middleware is released in the form of pre-compiled libraries. The following library variants with different feature set to help limit the memory footprint of the stack in applications are released.
PDStack middleware can be used in various Development Environments such as ModusToolbox, MBED, etc. Refer to the Supported Software and Tools section.
The below steps describe the simplest way of enabling the PDStack middleware in the application.
This section consists of instructions of how to configure, and use the PDStack Middleware in a design.
Refer to the Limitations and Restrictions for the existing restrictions.
This version of the PDStack Middleware was validated for the compatibility with the following software and tools:
Software and Tools | Version |
---|---|
ModusToolbox Software Environment | 2.4 |
mtb-pdl-cat2 | 1.5.0 |
GCC Compiler | 9.3.1 |
IAR Compiler | 8.42.2 |
Arm Compiler 6 | 6.13 |
Version | Changes | Reason for Change |
---|---|---|
1.20 | Added libraries for USB Type-C dual role and sink Extended Power Range (EPR) operation | New feature Addition |
Updated the library to work with RTOS | New feature addition | |
Added APIs for changing source/sink pdo capabilities | Feature Addition. | |
1.10 | Updated Type-C Error Recovery period to 250 ms. | PD compliance specification updates. |
Updated the size of the status extended message to 7 bytes. | PD compliance specification updates. | |
USBPD wakeup interrupt was incorrectly getting disabled as part of the Software timer operation. This has been corrected. | Defect Fixes. | |
API description updated. | Documentation update and clarification. | |
1.0 | Initial Version |
For more information, refer to the following documents: