Author Topic: Pushing the 3.3V<->5V envelope  (Read 1654 times)

0 Members and 1 Guest are viewing this topic.

Offline rea5245Topic starter

  • Frequent Contributor
  • **
  • Posts: 587
  • Country: us
Pushing the 3.3V<->5V envelope
« on: November 21, 2019, 03:28:22 pm »
I want to interface a 6502 to a modern microcontroller, a PIC32MZ. The PIC32 has some 5V tolerant pins, but not enough. Instead of using a level shifter, my idea is to run the PIC32 at 3.6V (which is allowed by spec) and wire it directly to the 6502. I've measured some voltages on the 6502's data and address lines and they seem to go no higher than 3.5 or 3.6V. Meanwhile, the "absolute maximums" spec for the PIC32 says that input pins can handle Vdd+0.3V.

It sounds like I can get away with this. Am I playing with fire, or am I OK?

Thanks,
   Bob
 

Offline Chris_Walch

  • Contributor
  • Posts: 20
  • Country: de
Re: Pushing the 3.3V<->5V envelope
« Reply #1 on: November 21, 2019, 03:32:50 pm »
 

Offline rea5245Topic starter

  • Frequent Contributor
  • **
  • Posts: 587
  • Country: us
Re: Pushing the 3.3V<->5V envelope
« Reply #2 on: November 21, 2019, 03:44:21 pm »
This is vintage hardware. It already has a 5V 6502 and lots of 5V support chips.

- Bob
 

Offline Chris_Walch

  • Contributor
  • Posts: 20
  • Country: de
Re: Pushing the 3.3V<->5V envelope
« Reply #3 on: November 21, 2019, 03:56:49 pm »
Outputing signals from the PIC to the 6502 should work as the threshold seems to be around 2.4V.
The output stages of the CMOS 6502 variants pull the signals quite close to the supply voltage.
So connecting an 5V output of the 6502 to the PIC input might cause problems.
 

Offline james_s

  • Super Contributor
  • ***
  • Posts: 21611
  • Country: us
Re: Pushing the 3.3V<->5V envelope
« Reply #4 on: November 21, 2019, 03:59:48 pm »
I'd probably use some resistors in series with the lines, I've used that technique before as a quick hack and it worked fine.
 

Offline rea5245Topic starter

  • Frequent Contributor
  • **
  • Posts: 587
  • Country: us
Re: Pushing the 3.3V<->5V envelope
« Reply #5 on: November 21, 2019, 04:31:11 pm »
The output stages of the CMOS 6502 variants pull the signals quite close to the supply voltage.

This is a SYM-1 using a Synertek 6502 implemented in "N channel, silicon gate, depletion mode technology". (Would that be NMOS?)

- Bob
 

Offline Chris_Walch

  • Contributor
  • Posts: 20
  • Country: de
Re: Pushing the 3.3V<->5V envelope
« Reply #6 on: November 21, 2019, 04:53:17 pm »
The Synertek 6502 ist NMOS, so you could try the hack suggested by james_s.
Or level shifting with diodes, zeners, etc.
 

Offline rea5245Topic starter

  • Frequent Contributor
  • **
  • Posts: 587
  • Country: us
Re: Pushing the 3.3V<->5V envelope
« Reply #7 on: November 21, 2019, 04:57:19 pm »
The Synertek 6502 ist NMOS, so you could try the hack suggested by james_s.
Or level shifting with diodes, zeners, etc.

But is it even necessary? My voltage readings suggest the 6502's outputs are 3.6V or less. If true, that should be fine for a microcontroller running at 3.6V. Or am I missing something? Do NMOS outputs peak at 0.7 * Vdd?

- Bob
 

Offline Chris_Walch

  • Contributor
  • Posts: 20
  • Country: de
Re: Pushing the 3.3V<->5V envelope
« Reply #8 on: November 21, 2019, 05:10:06 pm »
On the SYM-1 all the RAMs and ROMs are directly connected to the CPUs address and data bus, so there's quite a load.
The level on these lines really depends on the number of chips connected.
If the level ist down to 3.6V then it could be ok to connect a PIC directly.
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 15797
  • Country: fr
Re: Pushing the 3.3V<->5V envelope
« Reply #9 on: November 21, 2019, 05:10:38 pm »
The Synertek 6502 ist NMOS, so you could try the hack suggested by james_s.
Or level shifting with diodes, zeners, etc.

But is it even necessary? My voltage readings suggest the 6502's outputs are 3.6V or less. If true, that should be fine for a microcontroller running at 3.6V. Or am I missing something? Do NMOS outputs peak at 0.7 * Vdd?

According to the datasheet: http://www.6502.org/documents/datasheets/synertek/synertek_sy6500_microprocessors.pdf
the output HI level is 2.4V min. They don't state a max value, but I'd venture the typical value likely depends significantly on each individual CPU and of course, the load. The fact they don't is itself an indication it shouldn't be assumed at any specific level IMO. It could likely get above 3.6V on some chips. Could also vary with temperature... Designing based on a measurement, and not on rated specs, is generally not a good idea. If this is a one-off project strictly, and you're sure you will never use any other machine that the one you measured it on, that may be acceptable (up to you), although again it may depend on temperature and may get much higer as temperature rises?,  but in general, it wouldn't be.

I think adding series resistors, like james_s suggested, would be a reasonably safe approach with minimal added cost. It will additionally be better for EMI!
 
The following users thanked this post: jhpadjustable

Offline Chris_Walch

  • Contributor
  • Posts: 20
  • Country: de
Re: Pushing the 3.3V<->5V envelope
« Reply #10 on: November 21, 2019, 05:25:24 pm »
You could remove all the RAM, ROM and IO chips from their sockets and measure the CPU signals.
That should give you an idea of the maximum level.
 

Online Siwastaja

  • Super Contributor
  • ***
  • Posts: 9333
  • Country: fi
Re: Pushing the 3.3V<->5V envelope
« Reply #11 on: November 21, 2019, 06:02:07 pm »
But is it even necessary? My voltage readings suggest the 6502's outputs are 3.6V or less. If true, that should be fine for a microcontroller running at 3.6V. Or am I missing something? Do NMOS outputs peak at 0.7 * Vdd?

The actual output voltage is likely dependent on unit variation and operating temperature, so I'd add some series resistance to limit current into the PIC's protection diodes in case the voltage does end up even just a little bit over Vccpic+0.3V. Adding some 220ohms likely won't slow down the IO too much, but limits the current below 1mA even if the output voltage rises up to around 4.1V.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf