AT86RF230 ZigBee, SPI @5V ... Level shifting required??

Go To Last Post
17 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi ppl....

I'm working on a board that will have a Mega128 and an AT86RF230...

The AT86RF230 requires 3 volts, will be driven from the 3V3 output of an FTDI232RL...
The Mega128 will be running from 5 volts for 16MHz operation...

According to the data sheets for both parts, it doesn't look like a level shifter is required on the SPI Data lines...
But it doesn't specifically state that one way or another...
On page 77 of the datasheet for the AT86RF230, Table 11.3(Digital Pin Specifications) is blank for the MAX high level input voltage ....

I looked around for examples and couldn't find anything where the 2 chips were at different voltages..

So, I'm posting here to get a second opinion...
If a level shifter is required, the 74LVCC3245 looks like a suitable part...

Thanks in advance...
Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, you need a level shifter for this.

Another option would be to use an Xmega part which can run up to
32 MHz @ 3.3 V.

When using a 74LVCC3245, you'd need two of them, one for each
direction (where you don't use most of the pins).

If Maxim isn't "red taped" for you, they offer a number of level
shifting solutions, and also have an appnote:

http://www.maxim-ic.com/appnotes...

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Allrighty...

The Xmega is nice part but we already have a bunch of Mega128's ..

I used the 74LS244 for a previous project involving an SD card, so I have some in stock...
I think I will give it a try...

Thanks,
Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi ppl....

A little background...
I've have been designing a PCB for a project that will use the AT86RF230 and AtMega128 ...

We will require less than 5 boards for this project but will likely have a bunch extra made for prototyping future projects...
In which case I've added a bunch of extra stuff to the board which isn't necessary for the current project..

I've cut a PCB with the toner transfer process that turned out surprisingly good, considering the small traces and it's double sided...

The essential stuff for testing the RF has been populated and secured with solder paste and a Black and Decker toaster oven...lol

Anyhow, my main concern is the RF section...
The RF layout is exactly as per the appnote AVR2005...
I've modified the code posted by fastbakken on the second page of this threadhttps://www.avrfreaks.net/index.php?name=PNphpBB2&file=viewtopic&t=47038&postdays=0&postorder=asc&start=20, to include UART functionality and to slow down the SPI speed...

When I run the code, I'm getting 255 for both responses... Not the desired outcome...
With the code looping, I can see some activity on MOSI, MISO, SCK, RST and SEL using my scope....
Unfortunately it's an analog scope so there is not much to say...

I have a feeling it's a bad solder of the AT86RF230 chip... but that doesn't explain the activity I see on MISO... ???
I will be buying a hot air rework station tomorrow so I can lift the chip, clean the pads and try again...

The SCH and BRD Eagle files are attached, as well as the modified code...
Perhaps someone can spot possible problems/confirm the likeliness of a bad solder being the cause ...

Thanks!
Michael

Attachment(s): 

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> I've cut a PCB with the toner transfer process that turned out
> surprisingly good, considering the small traces and it's double sided...

I'm fairly sceptical you'll be able to manage the required good RF grounding
using anything but a commercial PCB with a bunch of vias. With a self-made
PCB, how are you going to place vias for grounding beneath the paddle?

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

The PCB I'm working with now is just for testing...
Once I can confirm everything is OK, it will be done professionally on FR4...

Quote:
how are you going to place vias for grounding beneath the paddle?

Should there be vias under the paddle?
I did not see that in the datasheet...

Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

It helps keeping inductances down. There's no other reason for them.
The IC is not supposed to convert that much energy into heat. ;)

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks for the tip, I'll add few to the paddle...

I just noticed your Tiny230 board has five vias on the paddle...
I will have to take a closer look at it...
That's a nice piece of work...

Could someone verify my choice of level shifter...
I used the 74hc244 as I had some and they are relatively cheap compared to something like the max3002 which is about 3USD here...
I used the 74hc244 previously for level shifting the SPI bus on an MMC and it worked alright there...
We will be making only a few of these boards but it's a non profit/non commercial art project so I'm trying to keep the costs down...

This is my first foray in the exciting world of RF...
Already I'm dreaming up uses for RF link...
Unfortunately alot of my boards are made at home on the cheap...

Tomorrow morning I'm going hunting for a hot air rework station... It's time to put the toaster oven back in the kitchen... lol
I should also hunt down some x7r caps for the RF section as well...

Thanks,
Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> I just noticed your Tiny230 board has five vias on the paddle...

That's copied straight from the Atmel appnote design (i.e. from their Gerbers).

> I used the 74hc244 previously for level shifting the SPI bus on an MMC
> and it worked alright there...

If they're working for the MMC, I don't see why they wouldn't work on the
AT86RF230. After all, like the MMC, it's nothing more but an SPI slave.
Personally, I'd probably use a 74HVC (or something like that, don't have an
exact part number handy).

As for the hotair station, I bought one of those cheap Chinese devices some
time ago. They are sold for ~ EUR 60...70 here, and I've been much impressed
by their bang-to-buck ratio. Sure, there's a distinct difference when comparing
it to the Weller hotair station at work :), but then, there's also a 10:1 (or
more) price ratio between both...

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

>(i.e. from their Gerbers)

I will have to figure out how to view gerbers...

When I was at the market I shopped around for an SMD rework...
I saw some Hakko's and some Exxo's (which were the same as the RoHs's on ebay) and a one piece Aoyue...
The Hakko 803 was roughly 1042.00 USD...
The Exxo's were half the price and the Aoyue was about 150 USD...

When I got home I ordered a Aoyue 968 from ebay for 99 USD direct form China...

What a price difference...

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

> I will have to figure out how to view gerbers...

gc-prevue, gerbv

Jörg Wunsch

Please don't send me PMs, use email if you want to approach me personally.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Thanks again!

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey...

Got the board working and got the software working...

Have a bit of a range limit of about 30cm...
Any ideas what might be limiting the range?
The antenna is a chip type 2db...

Perhaps the RF xtal accuracy is too high at 50ppm ?
Would that cause a reduction in transmission distance??

Thanks!!
Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

dl8dtl wrote:
> I've cut a PCB with the toner transfer process that turned out
> surprisingly good, considering the small traces and it's double sided...

I'm fairly sceptical you'll be able to manage the required good RF grounding
using anything but a commercial PCB with a bunch of vias. With a self-made
PCB, how are you going to place vias for grounding beneath the paddle?


It is seldom a good idea to put vias on the paddle. They wick away solder and leave your paddle solder starved. If you must do it - you should tent the opposite sides of the vias, or preferably plug them.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hey...

The vias on the paddle seem allright...
I wet both the paddle and the chip with solder and used hot air to stick it...
After wards I drag soldered the edges...

The chip is communicating and functioning without any errors...
The PCB is FR4, professionally made, and I followed the reference design from the datasheet and from appnote AVR2005...

Only problem is the limited range...
Any suggestions on that?

Thanks!!
Michael

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

If the SPI bus is pulled up to 3v3, and the CS is handled with a pullup also, why would you need a level shifter ?

I use the same idea on 1wire and I2C, as long as the 5V device will accept 3v3 as a logic high, the bus works.
Since the bus works by making the pin an input or output-low (never output-high) its the pullup resistors that set the common voltage level.

Ofcause its dangerous, since if the pin becomes high by a mistake, it will inject 5V onto the line.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

MORA99, that is interesting...
Originally I came to the conclusion that a level shifter wasn't required...

From the first post in this thread...

On page 77 of the datasheet for the AT86RF230, Table 11.3(Digital Pin Specifications) is blank for the MAX high level input voltage ....

So maybe it isn't even that dangerous....

Anyone try this with SPI ??

Michael