7 Replies Latest reply on Jun 28, 2019 2:55 AM by ShifangZ_26

    CCG3PA Flash FW update using host controller using SWD programming / CC line Interface

    PrM_1403381

      Hello everyone,

       

      We are using CCG3PA in our design, so we need to update the CCG3PA device Firmware, As per the CCG3PA Datasheet(002-16951) Page No.10

      There are two ways to program application firmware into a CCG3PA device:

      1. Programming the device flash over SWD Interface

      2. Application firmware update over CC interface.

       

      I have attached a image about initial design of CCG3PA application FW update, Please refer the attachment.

       

      So my initial plan was to use SWD Programming based on AN84858 - PSoC 4 Programming Using an External Microcontroller (HSSP).

      https://www.cypress.com/documentation/application-notes/an84858-psoc-4-programming-using-external-microcontroller-hssp

      In the Programmer place used Cypress FX3, as shown in figure-1, I used GPIO Bit bang method for SWD programming, But the AN84858 says One of the important requirements is to ensure that the frequency of SWDCK clock line is at least 1.5 MHz to meet the acquire window timing. By using FX3 we are not able  achieve this. In Github a link to PSoc Programming using FX2LP, So i thouht of using FX3 as a host programmer (https://github.com/ghent360/PSOC4_swd_programmer ).

      --> Can you suggest is it possible to implement SWD programming in Cypress FX3 GPIO Bit bang method ?

       

      In figure-2, I mentioned one more approach for CCG3PA application FW update using another PSOC (For Example : PSoC - X).

      In this case Cypress FX3 will be the host and it will get the .hex file data from the PS over USB, PSoC-X will the interface between Cypress FX3 and CCG3PA, PSOC-X should be able to get the data from Cypress FX3 over I2C PSoC-X(I2C Slave) and then send the data over GPIO's which i need to use as SWD_DATA and SWD_CK.

      can you suggest any low end PSoC in that we can implement SWD programming master.

       

      In figure - 2, I have mentioned connecting CC line of the PSoC - X to the CCG3PA and it will perform PD negotiation with CCG3PA, and enter into the FW update mode using unstructured VDM's (As per PD Spec).

      To achieve this, I may need to change the PSoC - X(Programmer) FW to get the .hex file data (In AN84858 an hex file parser application is provided by cypress) for the target device and need to form an unstructured VDM's for sending FW update data to the CC3PA(Target) device. Any constraints do i need to take care?

       

      NOTE : In place of PSoC - X which PSoC device can be used to achieve either of the programming methods ( SWD Programming / Over CC line interface), and it should be able to receive the data from the Cypress FX3 over I2C. (For SWD programming we can use available Miniprog-3, But we need to have our own programmer device within our design)

       

      CCG3PA_Programming_Using_Host_Programmer.jpg

       

      Thanks & Best Regards

      Prasanna