3 Replies Latest reply on Aug 31, 2017 11:55 PM by bharadhwajas_91

    4200L Series RS-485 Bootloader - UART component V2.50

      I'm using a CY8C4246AZI-L423 for a project with RS-485 communication (PSoC <-> SN65HVD22D). Realised with UART component V2.5. In normal operation mode everything works fine.

         

       

         

      Yesterday I tried to get the firmware update function over RS-485 running.

         

      Step1: This picture shows the normal RS-485 communication includung tx-enable handshake.

         

      Step2: This picture shows the initial bootloader communication between PC an PSoC. PSoc don't handle the tx-enable handshake any more. A firmware update isn't possible.

         

      Now I added some glue logic between the PSoC an the RS-485 transceiver to emulate the tx-enable handshake. I just wanna test if the firmware download runs basically with the UART component V2.5. After I tried to download some firmware - see step3.

         

      Step3: This picture shows the communiacion between PC an PSoC with emulated tx-enable handshake (glue logic). Updating the PSoC fimware is no problem.

         

       

         

      Is is possible that the UART component is buggy or do I something wrong? It's curious that in normal operation the tx-enable is served and in bootloader mode not.

         

      Can anybody help me?

        • 1. Re: 4200L Series RS-485 Bootloader - UART component V2.50
          bharadhwajas_91

          Hi Tagi,

             

          I just checked that Tx-enable is high when Bootloading happens with UART V2.50 with PSoC4L.Just tried bootloading Bootloader_1 image.

             

          Attaching the project.

             

          Thanks

             

          Bharadhwaj

          • 2. Re: 4200L Series RS-485 Bootloader - UART component V2.50

            Hi Bharadhwaj,

               

             

               

            sorry for the late response.

               

             

               

            Yes - the TX_EN is permanent high while downloading. But that's wrong. Only when PSoC is sending something the TX_EN must be high. Please have a closer look to the attached JPG "Step3_RS485_FWU_with_emulated_TXEN.jpg". Channel 00 "RX" is payload of the PC. Channel 01 "TX" are answers of the PSOC. Channel 02 "TX_EN" is the PSoC Tx-enable pin of component UART component V2.50. Channel 03 "SIM_TX_EN" is a generated TX_EN signal with glue-logic.

               

            Now - while bootloading channel 02 must look like channel 03. When you bootload over a RS-232 transceiver (e.g. MX202) you don't notice that cause you don't need the TX_EN pin anyway and the bootloading will work.

               

            But when you bootload over a RS-485 transceiver (e.g. SN65HVD22D) the TX_EN pin of the component must work proper.

               

             

               

            Best regards

               

            Matthias

            • 3. Re: 4200L Series RS-485 Bootloader - UART component V2.50
              bharadhwajas_91

              Please refer to the component datasheet PG 50, regarding the behaviour of TX_EN , in the project ,I'm seeing the same as well.So kindly try probing in the attached project and let us know what Tx_En probed signal.It is high as along as transmission occurs.