From: azraiyl on 12 Apr 2010 07:33 I've a 'Main' Board that needs to communicate with 4 other processors on other boards with at least 1 MiByte/s. A prefer to use the Adress/Data-Bus on the 'Main' Board. The 'other' processors support SPI, I2C, UART and have an A/D-Bus aswell. My first idea was to take a quad UART an put it on the 'Main' board. Problem is that they are all expensive. Any other idea? --------------------------------------- Posted through http://www.EmbeddedRelated.com
From: Rich Webb on 12 Apr 2010 08:14 On Mon, 12 Apr 2010 06:33:10 -0500, "azraiyl" <azraiyl(a)n_o_s_p_a_m.gmail.com> wrote: >I've a 'Main' Board that needs to communicate with 4 other processors on >other boards with at least 1 MiByte/s. A prefer to use the Adress/Data-Bus >on the 'Main' Board. The 'other' processors support SPI, I2C, UART and have >an A/D-Bus aswell. >My first idea was to take a quad UART an put it on the 'Main' board. >Problem is that they are all expensive. Any other idea? The satellite processors are on separate boards. How far are they separated from the main board and are they in the same enclosure? Is the data rate requirement for a sustained, full-duplex between each satellite processor and the main? LVDS comes to mind as a plausible physical layer. -- Rich Webb Norfolk, VA
From: D Yuniskis on 12 Apr 2010 10:03 azraiyl wrote: > I've a 'Main' Board that needs to communicate with 4 other processors on > other boards with at least 1 MiByte/s. A prefer to use the Adress/Data-Bus > on the 'Main' Board. The 'other' processors support SPI, I2C, UART and have > an A/D-Bus aswell. > My first idea was to take a quad UART an put it on the 'Main' board. > Problem is that they are all expensive. Any other idea? Are you expecting 1MB/s as your total throughput? Or, for each "link"? (i.e., as if star configured) Do the other processors ever have to talk to each other directly? Or, is everything Master-slave with the Master always the "Main Board"? Why can't you use the SPI/I2C channels? Can you rethink how you are encoding your data to use lower data rates? You could use USB host controller on the Main (easy to find MCU's with slave controllers built in). You could use *SCSI* controllers ("SCSI-1" will give you 5MB/s easily). Not sure if you can find any legacy products (e.g., 5380) for this :-( This also gives you some structure to the data stream (UARTS don't -- you have to impose structure on the "character stream") Likewise, you can use ethernet and probably strip out the magnetics with some passive trickery (since it is a real short haul and you know *exactly* how many nodes you have). You can also use an "analog" physical layer (drive a D/AC output to all nodes' A/DC inputs). But, this requires a lot of processing (unless you deal with everything in the time domain and keep your noise floor way down). Personally, I'd explore the USB route, first. You might be able to spec different processors (if it is early enough in the design stage) for your "slaves" and then just take the hit for an external host controller on the master (there are some MCUs with this ability but nowhere near as many as peripherals).
From: azraiyl on 12 Apr 2010 10:29 >The satellite processors are on separate boards. How far are they >separated from the main board and are they in the same enclosure? Less than 50 cm. More something like extensions boards. >Is the data rate requirement for a sustained, full-duplex between each >satellite processor and the main? Full-Duplex: Yes. Sustained: Depends on the extensions boards. Some have only 115200 Bits/s others have upto 1 MiB/s. >LVDS comes to mind as a plausible physical layer. They are close enough. I currently don't think LVDS is needed. --------------------------------------- Posted through http://www.EmbeddedRelated.com
From: azraiyl on 12 Apr 2010 10:36 >Are you expecting 1MB/s as your total throughput? >Or, for each "link"? (i.e., as if star configured) Optimally for each "link". >Do the other processors ever have to talk to each other >directly? Or, is everything Master-slave with the >Master always the "Main Board"? Most often only Master/Slave but there should be a possibility for asynchronous replies. >Why can't you use the SPI/I2C channels? Can you >rethink how you are encoding your data to use lower >data rates? Unfortunately the are all used on the processor. The main processor is currently an OMAP-L138. SPI, UART, I2C, McBSP: Everything is already used. Ethernet is not available (because of pinmultiplexing with McBSP). >You could use USB host controller on the Main (easy >to find MCU's with slave controllers built in). That's an idea. The processor has an USB port, I only need a USB hub. Software overhead on the "slave" processors is maybe a bit high. >You could use *SCSI* controllers ("SCSI-1" will give you >5MB/s easily). Not sure if you can find any legacy >products (e.g., 5380) for this :-( This also gives you >some structure to the data stream (UARTS don't -- you >have to impose structure on the "character stream") Noted. >Likewise, you can use ethernet and probably strip out the >magnetics with some passive trickery (since it is a real >short haul and you know *exactly* how many nodes you have). Ethernet is not availble for the current main processor (see above). >Personally, I'd explore the USB route, first. You might be able >to spec different processors (if it is early enough in the >design stage) for your "slaves" and then just take the >hit for an external host controller on the master (there >are some MCUs with this ability but nowhere near as many >as peripherals). I'm early in the design phase and therefore open to anything. --------------------------------------- Posted through http://www.EmbeddedRelated.com
|
Next
|
Last
Pages: 1 2 3 Prev: Trump: "China thinks we are dumb SOBs" Next: parity/stopbits issue on 16550 in vxWorks |