3 Replies Latest reply on Mar 26, 2020 3:02 AM by MaTr_1730276

    PRS stream




      I have implemented correctly a PRS_17 using firmware routine in PSoC5 LP.

      My system is properly working with the following step:


           * I read a 17 bit pseudo sequence (as a bar code) and I decode it with a 17 bit polynomial;

           * I set in the firmware the start seed using PRS_17_Seed(1);

           * With a for cycle (start from 0 to 131072), I run the PRS_17_Read() function + PRS_17_Step();

           * When my decode number match the PRS_17_Read() number, I break the for cycle;

           * The cycle counter is my displacement of the absolute code.


      The above system i s properly working.

      My problem is that the "for cycle" can takes up to 2^17 iterations to terminate and in my case it means about 150ms.


      I want to reduce this time, so I was thinking to replace firmware routine with hardware implementation.


      First, I annotated the initial sequence returned from the PRS_17_Read() function, start with seed = 1 (see attached routine).

      Second, I turned PRS_17 component as "clocked". On each clock the PRS_17 increment by 1 (as PRS_17_Step() function).


      The problem is that the output stream is not the same of the annotate sequence and I can't understand why.


      I attached a simplified project.