chipKIT® Development Platform

Inspired by Arduino™

Using the PMP on Max32

Created Mon, 05 Mar 2012 08:55:48 +0000 by vintageguy


Mon, 05 Mar 2012 08:55:48 +0000

I'm new here, and I'm trying to get MAx32 to communicate with a vintage computer, through the Parallel Master Port, on the Max32.

I think, I am fighting the TTL levels differences on this one, as I'm seeing spurious triggers that don't make much sense. All the lines on the vintage computer are TTL level, although most of these are driven by 74LS cirquits (Low power shottky).

My question is, what should I look out for here? The vintage device, is running at 5V levels, while the Max32 is running at 3.3V levels. Both are CMOS, and should be equivalent. The vintage computer manual says it is TTL level, but inside the schematics, they are driven by 74LS devices. So they should not cause a problem.

But I'm not seeing the expected results, wether I take one pin at a time, or not. Connecting a trigger pin, to an INT pin on the Max32 board, creates a lot of spooky interrupts. Which means, a pullup is needed. But the same signal on a different pin, if polled, does not show such activity. Now, I don't have the access to control the signal levels with a digital oscilloscope, which I know I'd need in this case. The signals in question are driven by 74LS devices, and the trigger pulse is about 250ns long. The entire cycle, with handshaking signals, is about 500ns long.

So, what I am trying to do, is have the PMP latch data every 500ns, and generate an interrupt which lets me put this into a buffer. Analyse the information, and respond.

Now, if I calculated this right.

250ns each strobe, with the Max32 running at 80MHz, which should give me about 20 cycles to store the data for each byte received at that rate. About 30-40, with the full handshake cycle. Stretching the cycle a bit, should provide me with the time I need to do this, still assuming I'd manage 1 Mb/s transfer, or just about.

Meaning, the Max32 should be able to accomplish this.

Now, back to the signal levels ... what am I missing, what should I look out for?