8 Replies Latest reply on Apr 15, 2015 7:54 AM by user_1377889

    Shift Register

    herv.pipon

      Hello,

         

      I want to place a delay on my signal path

         

      I try to use the Shift Register component [v2.30] : I connect only the reset, clock and shift_out pins.

         

      Nothing comes out on shift_out pin : I expected that 8 clocks after the reset this pin will get to high level....

         

      Where did I get wrong ?

        • 1. Re: Shift Register
          user_246598725

          Hi Harvey,

             

           

             

          have you enabled the shift register by calling ShiftReg_Start() ? According to SR datasheet there's also a CLK_EN flag which must be set (don't know if the ShiftReg_Start() function will set this flag).

             

           

             

          Regards,

             

           

             

          Ralf

          • 2. Re: Shift Register
            herv.pipon

            Hi,

               

            Thank you for your prompt and accurate reply.

               

            I tested with ShiftReg_Start(); and it works fine.

               

            Even after reading the documentation I have not understood that it was mandatory to " start " this component.

               

            Thanks you for your help.

            • 3. Re: Shift Register
              user_1377889

              As a general rule of thumb: Every component has got a required _Start() and a _Stop() function (with very few exceptions) . Has to do with minimizing power requirements. The components with power management features have got additional functions as _Sleep(), _Wakeup() and configurastion save and restore.

                 

               

                 

              Bob

              • 4. Re: Shift Register
                user_246598725

                Hi Harvey,

                   

                 

                   

                it's a good approach to search the datasheet of used components for the API, especially if a start function is implemented. If yes, it's usually needed to call it to setup the component.

                   

                 

                   

                In your case, the registers and FIFOs of the shift register will be configured (I assume that most of that is already done by the customizer), but I assume that the CLK_EN flag is set within the start function.

                   

                 

                   

                Glad that I could help :)

                   

                 

                   

                Regards,

                   

                 

                   

                Ralf

                • 5. Re: Shift Register
                  herv.pipon

                  Hi,

                     

                  Thank for these informations, I will use the _start() features for my components.

                     

                  Unfortunalty if now my component is "alive" it doesn't work as expected : only the reset pin is active.

                     

                  I tested with ShiftReg_Enable(); hoping it will set CLK_EN flag but with no result. (normal as ShiftReg_Start will call this function)

                     

                  The ouput is always high except during the reset pulse : I thought it will be low after the rest pulse , then stay low during the shift (8 clocks) then coming high....

                     

                  I saw that clk_en is in the ShiftReg_SR_CONTROL register but I don't know how to write in it....

                  • 6. Re: Shift Register
                    user_1377889

                    Writing into any of the configuration registers is not needed for a component's normal function. Only when you want to perform something special that is not covered by the provided APIs you might need to so so.

                       

                    Your problem with the shift register is that the reset input must be synchronus to the clock input (check datasheet). Your reset is quite too short to be "seen" by the 10Hz clock, so I would suggest you to enlonger the reset pulse until it is synced with the shift-register clock.

                       

                     

                       

                    Bob

                    • 7. Re: Shift Register
                      herv.pipon

                      Hi Bob

                         

                      I added a PulseConvert to be sure the reset pulse is long enough: it works

                         

                      Although I read that the reset input is synchronous to the clock input, I did not consider it 

                         

                      Thanks for your help.

                      • 8. Re: Shift Register
                        user_1377889

                        You are always welcome, Harvey!

                           

                         

                           

                        Bob