Working with 3.3V parts in a 5V environment

107 views
Skip to first unread message

Richard Lewis

unread,
Jul 28, 2019, 8:03:46 PM7/28/19
to retro...@googlegroups.com
I've designed a breadboard friendly breakout for a MAX7000S CPLD and waiting for the boards to come back from JCLPCB. The CPLD lives in a 5V world so will use it to experiment with Z80 glue logic. The only part that is 5V intolerant is the 50 Mhz crystal oscillator. I couldn't find a 5V part in the size I needed which is SMD 5x3mm. I used a LED with a forward voltage of 3.3V as both a means to step down the 5V for use with the xtal and as a power indicator. I could have used a LDO regulator in a small SOT-223 package but kind of ran out of space since I would need to add an additional 2 caps for external phase compensation and load (haven't ever found one that didn't require caps). I'm still a NOOB with electronics but I assume this would work? My assumption is that the 5V supply coming into the board is stable. I suppose I could have also used a simple voltage divider (since the load is constant) or a 3.3V Zener as well. 

The board docs (schematics, images) are here: MAX7000S Breakout Board 

If you want to open the project in Kicad you need to use the latest nightly build (I like living on the edge) or wait until the 5.1.3 release (which is any month now): Windows x64 NightlyMacOS Nightly

-Richard

Eeschema_—_max_breakout_sch_____—__System_Volumes_Data_Users_rlewis_gitrepo_max_breakout.png


Richard Lewis

unread,
Jul 28, 2019, 8:36:17 PM7/28/19
to retro-comp
Update: seems there are capless LDOs but they are still quite rare: Torex capless 3.3V fixed LDO

Mark T

unread,
Jul 29, 2019, 12:36:36 AM7/29/19
to retro-comp
If i read the epm7xxx spec correctly then once you program the TDM/TDI/TDO/TCK to be used as general purpose IO then its not possible to use them to reprogram the cpld.

I’m not sure I would rely on the led to regulate the supply to the oscillator.

Mark

Greg Holdren

unread,
Jul 29, 2019, 2:20:55 AM7/29/19
to retro-comp

Richard,

What is the current requirements for the can osc and blue LED at Fv = 3.3? (5V - 3.3V) / 100ohms is 17mA. Iosc + Iled <= 17mA. I see room to add a regulator if you bumped and scooted some parts. Use the decoupling cap on the osc as the output cap. I would just leave the input cap off. Now if this was a shipping product then I would worry about it more for various reasons.

I'm confused with the regulator U3. Maybe these are the regulators that can be ganged together. Too late to read data sheets it is late. ;) Also what would happen is there is 5V IN with the the blue LED? No current limiting

Greg

On Sunday, July 28, 2019 at 5:03:46 PM UTC-7, Richard Lewis wrote:

Richard Lewis

unread,
Jul 29, 2019, 3:37:06 AM7/29/19
to retro-comp
Not intended to be a shipped product. Just for my own amusement. But advice on improvements would be appreciated. 

1. Yeah, the more I think about it the more I realize that using and LED to supply 3.3V to the oscillator is a bad idea. 
2. U2 and U3 are ideal diodes, so basically I'm setting up a diode OR between the 5V_In and the USB as insurance against both being "on" at the same time. 
3. The other bit I'm not 100% certain about is using tri-state buffers on the dip switch and leds. My idea was I can use the buffers to turn them off if I wanted to use the associated CPLD pins for GPIO. 
4. Realized that OE1/CLR/CLK2 don't need to physically be tied to ground. They can be used as "input only" pins so perhaps maybe tie them to a reset or user push button. 


-Richard

Richard Lewis

unread,
Aug 14, 2019, 2:01:16 PM8/14/19
to retro...@googlegroups.com
In the 2 weeks since this post I've learned the following:
  1. There are 5V oscillators available but the smallest SMD package size from the major suppliers is 5x7mm (which is fine for my purposes). There are oscillators in 3x5mm packages that output LVTLL (which is fine for driving 5V TTL) but none seem to be 5V supply tolerant so need a 3.3V regulator with a constant current output
  2. "Modern" CPLDs (Like the MaxV) and FPGAs output pins can be configured to directly drive 5V TTL via 3.3V LVTTL but require buffering or diode clamping + series resistors for input pins being driven by 5V TTL. Experimenting with this, the series resistor value is very critical since if too large then there is appreciable clock skew and too small the pins will receive too much current and burn out. Also need to keep track of the total current budget for all the input pins and part of that is to ensure that the duty cycle doesn't fall outside various ranges that are a function of the number of pins configured for input. In other words a big PITA.  There are some Xilinx CPLDs that have 5V tolerant inputs but need to use the older ISE software to support them. Can use the MAX7000S series which are 5V TTL only but are only available from obsolete part resale (via eBay etc). 
  3. Probably not necessary to "OR" power supplies together with an ideal diode unless one of the supplies is a battery. The idea was that I could supply 5V through a USB connection when my card was not plugged into a backplane and if it was plugged into a backplane that the 2 5V sources could play along nicely with each other with a close to 0V dropout. There are 100mV dropout Schottky's that are simpler to use. 

Greg Holdren

unread,
Aug 15, 2019, 12:27:21 AM8/15/19
to retro-comp

Richard,


If you don't want the 5V MAX700S or the XC9500 series I'd go with the XC9500XL (3.3V). These run off of a single 3.3V supply and have 5V tolerant inputs. I've heard people using the XL for Z80 based circuitry and have no problems with the XL. If these are one off boards I really don't know why you wouldn't use the 5V CPLDs. I picked the 5V Xilinx CPLD on my RC2004 Xilinx board because I wanted people to be able to build it vs having to deal with SMT. If it were for my self I'd drop a 95216/95288 SMT on a RC2014 board.

ISE is fine and not old. Ok it has been around a long time. The lastest version, 14.7 and was released last year and still supported. Who know how much longer but as long as there are licenses it doesn't matter. I'm running 14.6 and the XC9500 and the XC9500XL devices are still supported.

HD space is cheap so another install of ISE is no big deal. I believe I have 3 or 4 Quartus II packages too. One supports Cyclone III, 13.1 is the last version supported for the III. Dropped off after that. I have another relatively later version due to some side MAX V CPLD contract work I did. They collect. :)

Greg

Richard Lewis

unread,
Aug 15, 2019, 1:55:29 AM8/15/19
to retro...@googlegroups.com
Hi Greg,

I have a lot of Max7000S (20 each of EMP7032 and EMP7064) in my inventory due to an error on the eBay seller's part. I ordered 2 of each and instead they sent me 20 of each. Tried to send them back but fortunately/unfortunately he couldn't understand my English so I guess I won. So might as well use them for something. 

As mentioned, this board is for me however the project is freely available on Github to whomever wants to build one themselves. I'm not in the kit selling business so as for SMD I'll go as small as I can manage which seems to be a function of caffeine intake (the more coffee I consume the larger the parts). The smallest parts I'm using on my board are 0603 passives and possibly the VSSOP-6 2 gate inverter that is 3mm square. I accidently dropped a couple on the kitchen floor and later on my wife "killed" them with ant spray... 

Just on the development software alone I already have: 2 versions of Eclipse, Visual Studio 2017 & 2019, Quartus 13.1 & 18.1, Xilinx Vivado 2019 & HLS, Atmel Studio, Kicad and a ton of games installed (suppose I could get rid of some games) so running low on my 512 SSD. I'm a MacOS guy so I generally either run Windows in a VM or boot into it but it only occupies about 1/4 of my hard drive.  

If I ever convert this project over to public consumption (like maybe sell extra boards on Tindie) I'll use a currently stocked part like a Max V and just buffer the input pins. I would definitely not sell a full SMD kit because I don't want to be responsible if it gets screwed up. Also, I'm never going back to THT parts, they eat too much board space. 

But I'll definitely check out the XC9500XL (and maybe install ISE...) 

-Richard
Reply all
Reply to author
Forward
0 new messages