ΣSigmaStudio Ask AI Русский Log in

binary control

SigmaDSP & SigmaStudio genp Feb 19, 2014 00:00 3 replies Original on forum ↗
Subscribe
genp Question
Feb 19, 2014 00:00

hello,

I need to control 6 multiplexers by a single byte, where each bit in a control byte controls its own multiplexer.

How can I accomplish that ?

Thank you,

Gennady

KJBob Reply
Feb 20, 2014 00:00

Hello Gennady,

This would be a lot easier to do if SigmaStudio had a bit-test function as suggested by jon71 at

https://ez.analog.com/message/132542#132542

Without that function, what would be trivial in a microcontroller becomes a mess in SigmaDSP. However, you can do it with a compare-remainder-shift approach. Shown below is the input byte, the first stage of the conversion, and the lower four of the six output bits:

For this to work, the input word must be all zeros except for the lowest 6 bits, which represent the desired multiplexer states. This input is compared to 32 -- if at least this large, the highest MUX is activated while 32 is subtracted from the input. The remainder is multiplied by 2 (shifted left), then the next bit is extracted the same way. After all the stages, the final remainder operates the lowest MUX.

For testing I have the MUXes switching between inputs of 0 and 32 while reading back their outputs. The -1701's readback function drops the lowest nibble, so "32" (hex 20) reads back as "2". With 7 ( binary 000111) input, the readbacks from Bit 0, 1, 2 read high, the others low -- as expected. As shown, this thing uses 141 instructions, including the MUXes but not including the readbacks.

Best regards,

Bob

5531.6e3aa579f26275876dda7ad9c988e7ed.jpg
5531.6e3aa579f26275876dda7ad9c988e7ed.jpg
5531.6e3aa579f26275876dda7ad9c988e7ed.jpg-450x397.jpg
5531.6e3aa579f26275876dda7ad9c988e7ed.jpg-450x397.jpg
genp Reply
Feb 20, 2014 00:00

Thanks a lot, Bob.

You are right, this is a mess.

I was thinking about switching multiplexers with one byte, masking bits when switching is disabled.

Seems like it will be a lot easier to switch index controlled multiplexers with one DC block, ANDed at the multiplexers input with 0/1 DC block (enable).

Thank you again,

Gennady

EZAdministrator Reply
Aug 2, 2018 00:00

This question has been assumed as answered either offline via email or with a multi-part answer. This question has now been closed out. If you have an inquiry related to this topic please post a new question in the applicable product forum.

Thank you,
EZ Admin