Forum Discussion
Altera_Forum
Honored Contributor
14 years agoIf I understand your solution, it's as follows:
Instead of outputting 01000000, I should instead output Z0ZZZZZZ, where Z symbolizes high impedance. The pull up resistors at the receiving end will then up the high impedance line to 3.3V. The receiver will therefore read: 10111111 If there is a short circuit between pin 2 and 3, then the receiver will read 10011111. But since the other pin is in high-impedance state, it will have no affect on the device. Do I understand you correctly? Regarding, internal pull up resistors. The Max V handbook states that min. value at 3.3V VCCIO is 5k. Will this not be adequate? If using external resistors provide more reliable resistors then I'll prefer those. However, I should mention that the speed of operation is not very high. The receiving end shift register is clocked at only 62.5kHz and I could reduce it further still. Naturally, the driving end is even slower. Do you still reckon that external resistors will provide us with a better option? If so, what value would you recommend? Secondly, what if I instead use pull down resistors? This would be beneficial as the current layout is only two layer and the bottom layer is a Ground. I could connect the resistors using only a via. Obviously, I will have to output Z1ZZZZZZ instead of Z0ZZZZZZ. Thank you for an excellent solution, by the way. Also, how would it handle an open wire? Here's my understanding, if suppose wire 4 is open. The driving end outputs ZZZ0ZZZZ. The receiver should read 11101111 but instead it reads 11111111. From this we know that we have an open circuit at pin 4. Am I correct?