chipKIT® Development Platform

Inspired by Arduino™

Screaming out in frustration ... HELP!

Created Thu, 08 Mar 2012 15:06:47 +0000 by vintageguy


vintageguy

Thu, 08 Mar 2012 15:06:47 +0000

Sorry to post twice, but I'm getting very frustrated. I've been sitting here and debugging my Max32, thinking I'm doing something wrong. However, I'm beginning to think there is something wrong with the Max32. I've gone over and over my logic cirquit, it's a plain and simple logic cirquit, there is no playing around with voltages. It's just a bit of 1's and 0's, converted to talk to a vintage computer.

Now, to get to the point ... I used RA0,1 ... RA4,5,6,7 originally. Beyond these, I use RE0-7, which are PMD0-PMD7 pins. I'm seeing strange effects on the RA ports. RA0 and RA1, seem to work alright, but I've come down to RA4 and RA5 that appear to go to 0.8V for logical 0, and 0V for logical 1?!?!??!?! The pins are also used as TDI/TDO which I have no idea what is, and I'm getting the idea here, that these pins are used by something else on the chip.

I've used these pins successfully, for a while ... but then, they seem to go bonkers, just out of the blue. Now, I'm going to try other pins, RG12 this time, instead of RA4, to see if that pin will work for a longer period of time.

There is something more to know about this chip, this is by no means a random event that happens. It most certainly is something that is being triggered or used, by on chip software ... and I really need to know what I need to look out for? There is nothing about these pins being in use, by anything in the manuals.

Is my chipKit dead? or dying? or is there something that I am missing? I am using these pins as output, not input. I altered the cirquit, and have the chipKit only talk to an ACT device, which should be more friendly to 3.3V, when running on the onboard 4.9V regulated supply.

My system looks like this.

PMD0..PMD7 PMWR PMRD PMCS1

RA0 ... Drives the G (and PMCS1) on a 74HCT258 RA1 ... Drives the A/B on the same 74HCT258

RA4 ... Handshake signal (output only)

I am connecting the chipKIT to a vintage atari st, the acsi bus on it. This bus has TTL level d0-d7, which I have set the PMP to use TTL levels (this is an option on the PMP).

The atari has CS and A1 pins. Which I OR together with a 74ACT32 to provide an interrupt input, to signal when the atari wants to talk.

The atari has a R/W pin, and requires different handshake signals for data and command. I use a 74HCT258 to drive one CS0 from the ataris CS and ACK signals (which have the same function). I use two different ports on the same 258 to drive A on one as IRQ handshake answer for CS, and then B on the other, as DRQ answer for ACK.

I invert the R/W signal, to get a W/R signal, and or them on two ports with the CS0 to get a PMWR and PMRD strobes.

THis is a plain and simple logic criquitry, no magic involved.

I've had this working, for a while, then it stopped working. Seemingly for no reason. And in the last case, it is RA4 that is being used as an output.

But are the ports on the chip, sensitive against TTL inputs? Will they get damaged if the input is above 3.3V? The level on the lines, will never exceed 5V, but will be much like the regulated onboard 5V supply, be around 4,7V


Ryan K

Thu, 22 Mar 2012 18:51:36 +0000

Hello,

RA0, RA1, RA4 and RA5 are TMS, TCK, TDI, TDO (the JTAG lines) JTAG is enabled by default on the Pic32 and calling:

DDPCONbits.JTAGEN = 0;

Hopefully this fixes it, I thought that line is called by default somewhere in MPIDE.

Best Regards, Ryan K


Mark597

Sun, 25 Mar 2012 23:53:01 +0000

I would suggest using 10K or lower pullup resistors on all outputs connected to the HC series chips. Even better use a transistor connected to the outputs to switch the HC series chips. The HC series chips need 3.75v to 4v to register a logic high or 1. You could also use op-amps, mosfet to level shift to 5v logic to.

Good Luck


vintageguy

Fri, 13 Apr 2012 17:42:39 +0000

Thank for the help, It did help out, to put out the jtag port as suggested. I also set the ports to OC, so resistors can pull them up. Now the voltage is stable.