(Vol. Levelshifting) From 5V optoreceiver to 3V3 FPGA

Hello people,

I am using the ALTERA DE0-Nano board mounted on one of my custom boards and I want it to accept a signal coming from an HFBR-2528Z receiver. The circuit of the receiver can be found on page 6 of the datasheet http://www.avagotech.com/docs/AV02-1504EN.

My problem is that I need to bring down the voltage of the receiving signal from 5V to 3V3 so that it can be used from the FPGA.

The receiving signal frequency will be at maximum 10MHz.

Comments:

  • I do not think that I can use 3V3 as the supply to the optoreceiver (as stated in the datasheet).

  • I was thinking of using a MOSFET after the output of the optoreceiver to act as my levelshifter but that would create a Low-pass filter.

  • I was thinking of using a resistive voltage divider but if the input of the FPGA is capacitive that would also create a low pass filter.

  • Maybe a solution would be to use a combination of resistive and capacitive voltage divider, but I am not sure of the values…

Regards

A MOSFET shifter or resistive divider should work fine at 10MHz.

You need to try this first then decide.

You’re right that with the voltage divider you will have a low pass filter. That’s not to say that you can size the resistors appropriately for the signal speeds, however, I like a different approach.

Take a 74HC126 part (Single gate version from Diodes Inc. 74AHC1G126SE-7), power it from 3.3V, inputs are tolerant up to 5.5V, independent of supply voltage, then output is driven 0 to 3.3V, and you have a nice 5V-to-3.3V level converter.

These parts don’t have the typical protection diode to VCC on the input that other logic does and so it works very nicely for this application.