4 UARTS + 1 CAN any AVR controller ???

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

hello all

is there any Uc with 4 UARTs and 1 CAN,

I have seen that
At90CAN128 has 2UARTS +1 CAN
ATmega1280 has 4 UARTs + 0 CAN

is there any version is available with these specs ?

thnx

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

gtpats wrote:
hello all

is there any Uc with 4 UARTs and 1 CAN,

I have seen that
At90CAN128 has 2UARTS +1 CAN
ATmega1280 has 4 UARTs + 0 CAN

is there any version is available with these specs ?

thnx

Is adding something like an MCP2515 a problem? The problem then becomes 4 UARTS + SPI, which is easily satified by an ATxmega34A4 or similar.

-- Damien

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

Not from any single AVR chip. It requires either an external CAN controller, external UART chips or software UARTs if the AVR is able to keep up with the demands.

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

thank you,

Yes, that's a good idea how about I use ATxmega128A4 which has 5 UARTS and 2 SPI (I can use the first SPI to interface the MCP2515 and use the other SPI for my other use)

refer
http://in.mouser.com/atmel_xmega/
and the controller is connected to MCP2515 via SPI, Philips PCA82C250 CAN controller interface is used for driving the CAN-Bus

http://www.siwawi.arubi.uni-kl.d...

thank you...
if any more suggestions on this, pls reply..

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

gtpats wrote:
thank you,
Yes, that's a good idea how about I use ATxmega128A4 which has 5 UARTS and 2 SPI (I can use the first SPI to interface the MCP2515 and use the other SPI for my other use)

If you need 128K of flash, I'd go the ATxmgea128A1 (in production), not x128A4 as it's not widely available (read: vapourware until I see one for real).

With the xmegas, use one of the USARTs in SPI mode - you'll get the benefit of double-buffering and DMA, if you need it whereas the ordinary SPI peripheral needs to be reloaded at every byte in the ISR.

-- Damien

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

The industrial version of the MCP2515 works from 2.7 to 5.5 volts Vcc which makes it well suited to the 3.6 volt maximum Vcc Xmega. However, with the exception of the SN65HVD230, SN65HVD231 and SN65HVD232 CAN transceiver chips that are 3 to 3.6 volt Vcc chips, most CAN bus interfaces are setup to run with 5 volt Vcc supplies. The ISO1050, TJA1041, TJA1041A and TLE6250 V33 CAN transceiver chips have built in logic level converters from 3.3 volt to 5 volt CAN bus interfaces (two power sources are required).

So you have some choices to make. You could use logic level converters between the lower voltage Xmeag and MCP2515 at 5 volts (probably only if you cannot find a suitable lower voltage interface CAN transceiver chip), or use dedicated 3.3 volt CAN transceiver chips with only one single power supply Vcc source (only if your CAN bus physical layer is compatible with these chips), or use CAN transceiver chips with built in logic level converters. I would start with the CAN bus physical layer standard you decide to use. This will narrow your choices on how to deal with the rest of the voltage difference problems.

There are lots more 5 volt only CAN transceiver interface chips, but logic level converters in the CAN bus signal path add propagation delay to this critical signal path. So external logic level converters between the CAN controller and CAN transceiver chip will impact the CAN bus maximum length which is only really a problem at the very highest CAN baud rates. The specialized CAN transceiver chips with built in logic level converters already meet a specified CAN baud rate / CAN bus length performance based on their SAE, NMEA or ISO standard (see their data sheets and application notes).