This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[FAQ] UCC5880-Q1: Simplifying Software Integration with UCC588X-Q1-CDD (Complex Device Driver)

What is UCC588X-Q1-CDD and how can it simplify the software integration of UCC588X-Q1 into the system?

    • UCC588X -Q1 & SPI

    UCC588X-Q1 is TI’s latest automotive programmable isolated gate driver (IGD). It offers features such as programmable drive strength, multiple ADC channels, active short-circuit (ASC), extensive fault monitoring, and more. These features are configured through Serial Peripheral Interface (SPI). Thus, to take full advantage of this device capabilities, it needs to be used in conjunction with an MCU that can communicate over SPI.

    • Software Integration Challenges

    Developing the software necessary for the integration of a full featured programable gate driver into the traction inverter system software is no easy task. For the system to request a single function from a programmable driver, the MCU would need to know the sequence of SPI commands, the device working mode, and the register addresses needed to perform the function requested. Creating a library of functions that covers all SPI dependent features of a programmable driver would require not only a high level of expertise of the device itself but also extensive development time. That is why TI has partnered with third-party vendor BlueBinaries Engineering & Solutions Inc. to develop UCC588X-Q1 Complex Device Driver (CDD). This software package is a modular, platform-independent, configurable SPI interface designed to handle SPI communication, low voltage IO pins [FLT, PWM, Primary ASC, DOUT], diagnostics, FLT monitoring and data reads from UCC588X-Q1 ADC channels. It contains several Application Programmable Interfaces (APIs) that cover UCC588X-Q1 SPI controlled functions and can be integrated with both AUTOSAR and non-AUTOSAR environments by modifying only the wrapper layer.

    • UCC588X-Q1-CDD Content

    UCC588X-Q1-CDD contains 87 Application Programming Interfaces (APIs) that cover IGDs initialization, Built in Self-Test (BIST), Cyclic Redundancy Check (CRC), ADC config and read, FAULT read, STATUS read, CLEAR FAULT, ASC, GDx, Set PWM, GD read, Broadcast, single SPI command, and more (Full list provided upon UCC588X-Q1-CDD Request). This means that upon successful integration of UCC588X-Q1-CDD into customer system, all features covered by the APIs can be performed by simply calling the corresponding API. As an example, the API Cdd_Igd_Get_Analog_Values() performs all SPI communication necessary to acquire the 10-bit ADC data from a given analog channel from all gate drivers in the system.

    Included in the UCC588X-Q1-CDD package, is an excel configuration tool that allows the user to pre-select all the device configurations. This tool will generate the header files containing the configurations to be applied upon device initialization. One of the key configuration settings in this tool is the SPI addressing mode. UCC588X-Q1-CDD can be used with any SPI mode (Normal, Address, Daisy Chain) by simply selecting the desired mode in the excel config tool. If using Address mode, the user can also select the address for each driver in the system (up to 6)

    For UCC588X-Q1-CDD testing, an MCAL layer was developed based on TI’s MCU AM263x platform. With the MCAL layer in place a test application was created to test the functionality of UCC588X-Q1-CDD APIs. A total of 63 test cases cover all currently available 87 APIs. Using Sitara AM263x & UCC588X-Q1 EVMs, all 63 test cases were verified across the 3 SPI modes. To test and demonstrate the capabilities of UCC588X-Q1-CDD even further, a sample application is also included. The sample application is used to test the proper functioning of all drivers in the system. Within the sample application all drivers are initialized, the write and read commands tested, selected BIST performed, and continued read of STATUS and ADC5 registers and both data sets sent over PCAN every 5ms and 10ms respectively.

                To aid the integration of UCC588X-Q1-CDD into any platform, the following support documents are provided:

    • SW Architecture Document
    • Stress Test Integration Guidelines
    • SPI Configuration Approach
    • Software Integration Guidelines
    • Release Note
    • Excel Config Tool User Manual
    • Error, Interrupt, and Diagnostic Handling
    • AM263x Configuration Guideline
    • SW Safety Manual
    • Timing & Memory Analysis

    • UCC588X-Q1-CDD Interrupt, Error, Fault & Diagnostic Handling

    Interrupt handling: A notification function is triggered by the interrupt generated on nFLT1 pin of Device x to check if fault interrupt is triggered by BIST. General fault handling to be implemented in the function as per the application project requirements. Currently it has only been implemented for BIST CFG CRC CHK (single and all device).

    Error handling: There are 3 SPI transmission error detection mechanisms: CRC mismatch, SPI Transmission timeout, Fatal error which are handled by CDD. Any called function returning NOT_OK (error state) shall be cascaded to calling function by setting the return value for calling function to NOT_OK, in result notifying the initial application component calling the driver interfaces.

    Diagnostic Handling: There are 2 types of software-based diagnostics possible with the IGD:

    1. SPI CRC - CDD calculates and compares against the HW calculated CRC
    2. Commanded function BIST - CDD provides interfaces to command BIST for one or more devices.

    Fault Handling: There are interrupt and polling services provided to process the faults reported by the device on nFLT pins. Application shall provide an ISR function that reads the fault status and allows user to define user specific fault handling.

    • UCC588X-Q1-CDD safety, standards, and disclaimers

    UCC588X-Q1 Complex device driver [CDD] is developed by BlueBinaries Engineering & Solutions Inc. with the goal of creating a modular, platform independent, configurable SPI interface in complying with the ASPICE process and follow MISRA C 2012 compliance.

    UCC588X-Q1-CDD Software component has been developed with ASIL D integrity following all the design guidelines as per ISO 26262 standard and has been developed as SEooC (Safety Element Out-of-Context) in which software or hardware are not developed based on the specific requirements of an application (context) but on assumptions, and developed as per ISO 26262 standard part 10. UCC588X-Q1-CDD has been developed following AUTOSAR V4.3 guideline.

    The LDRA tool suite is a comprehensive set of software standards compliance, testing, and verification tools based on industry best practices. The LDRA current coverage is 96% coverage for Static Code Analysis and greater than 90% coverage for Dynamic Code Analysis with the target being 100% for both and currently working with LDRA team to achieve the same. Disclaimer - The UCC588X-Q1-CDD software will not be evaluated by any independent or 3rd party auditor/certification body. UCC588X-Q1-CDD software is developed according to BlueBinaries standard QMS process. Texas Instruments Product and Software development flow is not referred to/considered for the development of the UCC588X-Q1-CDD. System integrator shall be responsible for CDD integration, verification, validation, and maintenance during production.

    • Requesting UCC588X-Q1-CDD

    Overall, UCC588X-Q1-CDD package provided help not only reduce the embedded software development time significantly but also ensure that critical SPI-enabled features are integrated so designers can tap into all the benefits of UCC588X-Q1 which include extended vehicle range and system reliability. If interested, Request UCC588X-Q1-CDD Access. In the case that no hardware or software platform has been developed, our Sitara AM263x & UCC588X-Q1 EVMs are all that is needed to get started testing what UCC588X-Q1-CDD has to offer.