- #1
- 352
- 88
I need to take a 16-bit parallel digital input and transfer it to an 8-bit bus. I'm able to capture the 16-bit input by splitting the input and sending one through an ALS373 tri-state latch and the other half through 2 ALS373's, but I'm having problems with the bus interface.
I picked a tri-state latch because it's not supposed to load the bus when the chip is 'off'. Yet, when I model it on pSpice with the output of my 373's kept separate, I'm getting about 3.2V for high and 0.2 V for low, and 1.4 V for off (which matches the data sheet). When I hook both to the same bus, I'm only getting 2.2V for high, 0.6V for low and 1.4V for off. The timing is good, but the voltages are disturbing.
Eventually, there's going to be about 4 input devices and 4 output devices (actually, more, but they go through a mux so I have 2 16-bit input channels and 2 16-bit output channels that interface with an 8-bit bus), plus a PLD and a USB on the bus so killing my signal so quickly is a very bad sign.
I have to admit, just looking at the data sheet, I was a little curious about how the tri-state latch was going to isolate my device from the bus. With a max 20 uA output current for the off state, it seemed reasonable to believe it would work, but I've never had to interface with a shared bus before, which creates some problems.
In order to get an actual voltage reading instead of just high or low, I tossed 1K resistors between my outputs and ground. I'm not sure that really models the bus that well.
Do I need to couple all of the devices to the bus via some other means, or do these tri-state latches really isolate my device and I just didn't model my bus properly?
The idea is that external analog signals are constantly sampled, converted to digital, and stored in a microcontroller and periodically are transferred to a PC depending on what the user wants to look at.
I picked a tri-state latch because it's not supposed to load the bus when the chip is 'off'. Yet, when I model it on pSpice with the output of my 373's kept separate, I'm getting about 3.2V for high and 0.2 V for low, and 1.4 V for off (which matches the data sheet). When I hook both to the same bus, I'm only getting 2.2V for high, 0.6V for low and 1.4V for off. The timing is good, but the voltages are disturbing.
Eventually, there's going to be about 4 input devices and 4 output devices (actually, more, but they go through a mux so I have 2 16-bit input channels and 2 16-bit output channels that interface with an 8-bit bus), plus a PLD and a USB on the bus so killing my signal so quickly is a very bad sign.
I have to admit, just looking at the data sheet, I was a little curious about how the tri-state latch was going to isolate my device from the bus. With a max 20 uA output current for the off state, it seemed reasonable to believe it would work, but I've never had to interface with a shared bus before, which creates some problems.
In order to get an actual voltage reading instead of just high or low, I tossed 1K resistors between my outputs and ground. I'm not sure that really models the bus that well.
Do I need to couple all of the devices to the bus via some other means, or do these tri-state latches really isolate my device and I just didn't model my bus properly?
The idea is that external analog signals are constantly sampled, converted to digital, and stored in a microcontroller and periodically are transferred to a PC depending on what the user wants to look at.