2
\$\begingroup\$

I have a device that has a 10bit parallel output that I need to get to a serial input.

Can I use a 16 bit PISO shift register and somehow ignore the 6 LSB?

How might that work?

\$\endgroup\$
3
\$\begingroup\$

You should not have a problem using a 16 bit shift register (or two chained 8 bit shift registers similar to the 74HC589A).

There are two ways that you could consider to ignore the unused 6 bits: 1) shift all 16 bits and mask the unused bits in software, or 2) only shift 10 bits across the serial connection.

If you are reading the data using the built-in SPI peripieral on some microcontrollers, you may have to shift in a multiple of 8 bits per word, which would force you into scenario 1. Otherwise, it may be simpler to implement scenario 2.

Most shift registers don't care if you don't shift all the bits... they will happily accept new data on the parallel load clock regardless of how many bits have been shifted. If you only plan to shift 10 bits, make sure to use the bits that will be shifted out of the register first.

In either case, you should tie the unused input pins to your supply rail or ground through a resistor, as floating inputs can cause problems on some ICs.

\$\endgroup\$
  • \$\begingroup\$ that's what I was hoping for - thanks a lot for your answer! \$\endgroup\$ – ejoso Nov 2 '11 at 3:37

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.