How do i interface with the processor and acheive 10 Mbps?

I found that many RS485 transceivers can transmit data at the rate of

10 Mbps. My application requires that speed to communicate for a short distance (2 feet or 0.5 metres or so).

Processors have UART which can transmit at 115kbps and not more. How do i acheive 10Mbps when the normal 32 bit processors could transmit at only 115kbps?

I found one application note "AN3884-how fast can u go with RS485.pdf". (at MAXIM site) But the application note does not address this issue.

How do i interface with the processor and acheive 10 Mbps? (since they do not have a 10Mbps capable UART)

thanks and best regards, vivek

Reply to
Loading thread data ...

Buy a standalone/external UART of the require performance, and attach it to your CPU in a manner similar to how you'd attach any other external logic device to the processor. Exar makes several chips which appear to meet your requirements. The X16M598, for example, needs a byte wide interface with 256 addresses to supply eight UART capable of 15Mbps operation, and supports both Motorola and Intel style busses. And the UARTs are even 16550 compatible...

Reply to

Why do you think UARTs are limited to 115 kbps? That's a limitation of the UART and clock crystal originally used in PC's, and has absolutely nothing to do with either standalone UART devices or microcontroller UARTs. I've happily run UARTs on a ColdFire at over 2 Mbps, for example.

The very high speed RS-485 links are often used for specific protocols using ASICs rather than general purpose UARTs. Profibus is an example.

Reply to
David Brown

Why do you think that? The UART speed on any micro is simply a function of clockspeed and divisor factor. Run an AVR micro at 20MHz and you can get baudrates up to 2.5Mbps....


Reply to
Meindert Sprang

Have you considered using an SPI link instead of a UART? Many microcontrollers have SPI ports capable of 10MBits or better. With the proper driver, connectors and cables, you ought to be able to run SPI signals 2 feet or so.

Mark Borgerson

Reply to
Mark Borgerson

That's 100 nS per bit. RS485 is a physical specification (as is RS232), not a format specification. ASCII specifies 8 bits of the data format. UARTS for asynchronous serial specify the rest.

You will have to build your own UART. Receiving will require clocks of 40 Mhz or higher, so you might as well use the same clock for transmitting. The clock period is critical - the two ends have to agree to about 2 or 3%.

Or you can use other protocols.

 [mail]: Chuck F (cbfalconer at maineline dot net) 
 Click to see the full signature
Reply to

The maximum speed with internal UART is around 2.5 Mbps. If i use an external UART, i will have to handle quite a lot of interrupts and there will be no processor queue also.

i think using flexray would be a good option to me. It gives 10 Mbps speed. Though It requires 4 wires and my existing rdesign requires only two wires, i still think i could use only 2 wires to transmit the data. I think the other 2 wires are back up for safety critical applns like car braking etc..

Are there any other protocol alternatives?

Thanks for the good discussion.


Reply to

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.