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
How do i interface with the processor and acheive 10 Mbps?
Started by ●January 22, 2009
Reply by ●January 22, 20092009-01-22
On Jan 22, 1:15=A0am, gvivek2...@gmail.com wrote:> 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)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 by ●January 22, 20092009-01-22
gvivek2004@gmail.com wrote:> 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? >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.> 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) >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 by ●January 22, 20092009-01-22
<gvivek2004@gmail.com> wrote in message news:11e983af-3a5b-4cb6-bd5c-fdf2aa597d2f@f40g2000pri.googlegroups.com...> 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.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.... Meindert
Reply by ●January 22, 20092009-01-22
In article <11e983af-3a5b-4cb6-bd5c- fdf2aa597d2f@f40g2000pri.googlegroups.com>, gvivek2004@gmail.com says...> 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).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.> > 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 >Mark Borgerson
Reply by ●January 22, 20092009-01-22
gvivek2004@gmail.com wrote:> > 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?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) [page]: <http://cbfalconer.home.att.net> Try the download section.
Reply by ●March 9, 20092009-03-09
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. -vivek