I want to connect a GPS Smart antenna SAM LS from u-blox, to the UART of an atmega128 running under 5V.
Unfortunately the GPS runs in 3V and has 3V compatible IOs. I set up a 3V regulator already for the power supply. Can someone explain how to build a level shifter from 3V to 5V with a transistor ? (How do I choose it, how to connect it ?)
You don't need all that. The TX signal from the u-blox can go right into the input of the atmega, since everything above 2.5V is seen as '1'. The signal from the atmega to the u-blox can be brought down to 3V by a voltage divider with two resistors: 12k and 18k. I've used this in a commercial product and it runs just fine.
That's probably correct. When I was connecting 3V and 5V systems, I was connecting a 5V ADC to a 3V SPI serial port. The clock and data were running at 2MHz, and I had to use the tri-state feature to allow the SPI bus to be used for other peripherals.
Most 5 Volt Circuits can cope with 3.3 Volt CMOS Signal, which has around the same levels as normal 5 Volt TTL Outputs. If you really want to shift 3 Volt CMOS to 5 Volt CMOS, use a TTL level compatible CMOS gate, like AHCT, with 5 Volt supply. For the way 5 Volt CMOS to 3 Volt CMOS, look for 3 Volt Gates with 5 Volt tolerant inputs, like AHC. For bidirectional busses, there are devices to with two supplies, however ther need additional direction signals and need some conditions when switched on, or there is a chance that they will latch.
If you want to connect a 3.3 Volt device to a 5 Volt TTL/CMOS Bus, use a passive busswitch, like the SN74CBTD3861.
use an ARM microcontroller e.g. LPC2000 from Philips or Atmels SAM7s they are all 3V by definition
as already mentioned compare output levels to input levels both ways. If this is for a hobby project, just measure the voltage levels, if it is for a product you want to vcreate and sell, you better get the specifications of the output and input levels.
The ATMega128 also has a 3V version available. The only "problem" is that the maximum clock frequency is only 8MHz in stead of 16MHz. For talking to a GPS module, an 8MHz ATMega128 should be plenty powerfull enough.
Correct. In my case, the LV device runs at 3.3V, and there it works. So did the OP really mean 3V or 3.3V? But even with 3V it can be done with a shottky diode (to make the 3V output behave like an open collector/drain) and a pull-up resistor. No need for fancy circuits.
Sounds interresting , Meindert would you please give an example , i'm a bit of a electronics beginner ??? Im going to interface a Dataflash to a Mega162 , and was planning on using a HCT as levelconverter for the dataflash SO , but would like to avoid it if possible , i will be using a Micrel mic2920 LDO as 3v3 regulator , or maybe "just" the 3 x 1n4148 in series from 5v "trick".
Assuming the dataflash is 3.3V and the mega162 is on 5V, you can connect the DO from flash directly to the DI from the mega.
Using a schottky diode is good for two reasons: the voltage drop is lower ( and therefore the raise of the 0-level voltage) and they are much faster and have a lower recovery time. But if the flash is on 3.3V you don't need a diode at all to simulate an open drain output to the mega.
The DO from the mega should be brought down to 3.3V. I have used a voltage divider for that (2 resistors) but this was for a low speed connection (57600 baud max.) I am afraid that the signal edges could be affected too much to run this on 1 mbps or higher when communicating to the flash.
ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here.
All logos and trade names are the property of their respective owners.