"Timeout while waiting for response from target" (INT1B & portB?)

Hi Guys,

I’m having an odd problem for which I’m struggling at present to find the cause and cure.

I have four signal lines coming onto an RCM3700, two to PD.4 and PD.5 and two tp PB.0 and PD.2. These four lines have edge detectors that go to INT1B so that I get an IRQ pulse on each level change. The ISR looks at the state of the four lines and decided from their state what action to take.

PD.4 and PD.5 work fine.

PB.0 and PB.2 however sometimes work and sometimes gives the “Timeout while waiting for response from target” pop-up.

When the problem happens, the ISR does not run, so whatever goes wrong has already happened beteen the signal than and the IRQ!

A couple of other clues.

On PB.0, The problem always happens when the signal rises. I think that’s also true of PB.2, but it’s had less testing.

When the problem occurs, input pins (with 11kR to 0V) go to around 0.8V, which appears to be invalid as either inputs or outputs.

Anyone seen anything like this?
Could it be slave-port related? (I’m not knowingly using the slave port)

TIA for any ideas/answers.

Gordon.

I think the funny voltages are the start of the symptoms, though presumably not the cause.

I now think the “Timeout while waiting…” is probably caused by the INT1B line going to around a Volt with a superimposed high-ish frequency component … perhaps a megaHertz or so. That would probably make the IRQ hog around 100% CPU.

I think happens due to the PB.2 pin rising to a level somewhere around the 0.6 or 0.8V area. I can’t see any obvious high-frequency component on it, but at that level into the 74ACT logic to INT1B, things will be very undefined and a ripple/oscillation of the output is likely. I can’t easily inspect that signal, unfortunately.

So I’m left with a situation where it appears that letting either PB.0 or PB.2 go high results immediately (~microsecond) in the 0.6 or 0.8V on PB.2, which then makes the signal via the logic into INT1B oscillate or chatter.

There appear to be no pull-ups on PB.2, I have a pull-down of 11k; 74ACT logic should have a very high input resistance and no noticeable effect on the signal levels. PB.2 should be at around 0V as and input or an output driven low, or around 3V as an output driven high.

I don’t presently understand how I can get these voltage conditions.

Thoughts welcome.

Setting PB.2 to an output driver low breaks the loop and the board/program now don’t crash/lock.

Now I need to find what’s making PB.2 behave badly.

It has an alternative function “IA0” (no definition!)
After a fair bit of hunting I think this is auxiliary I/O Address line zero.

So I have to suspect that either the slave bus or the IO bus are trying to operate, though presently I have no idea why :frowning: