Author Topic: MPU for ethernet <====> 8 uart channels  (Read 2396 times)

0 Members and 1 Guest are viewing this topic.

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
MPU for ethernet <====> 8 uart channels
« on: October 08, 2019, 10:20:44 pm »
I need to read/write up from/to eight uart channels @ 115200 bps constantly and the only resource I can export from the router is a (thank god there is not used fourth Lan) ethernet 10/100. There is nothing else.

So I need to develop/find something. Any suggestion? What would you use?
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Re: MPU for ethernet <====> 8 uart channels
« Reply #1 on: October 08, 2019, 10:38:19 pm »
Possibly Nuvoton M487 series ? - shows Ethernet and 6 LPUARTS and 2 USCI, in the summaries, so you could see if the pin map allows 8 UARTs ?

Maybe more choice, I see
Communication Interface
    -   Up to 6 low power UART interfaces (17 Mbps), including 2 LIN interfaces
    -   Up to 3 ISO-7816 interfaces (3.4 MHz), supporting full duplex UART mode
    -   Two USCI interfaces, supporting configurable UART/ SPI/ I²C


and an Eval board  https://direct.nuvoton.com/en/numaker-pfm-m487
« Last Edit: October 08, 2019, 10:41:45 pm by PCB.Wiz »
 

Online langwadt

  • Super Contributor
  • ***
  • Posts: 4427
  • Country: dk
Re: MPU for ethernet <====> 8 uart channels
« Reply #2 on: October 08, 2019, 10:53:02 pm »
I believe there is an stm32f7 with 8 uarts and ethernet
 

Offline SiliconWizard

  • Super Contributor
  • ***
  • Posts: 14472
  • Country: fr
 
The following users thanked this post: legacy

Offline Gribo

  • Frequent Contributor
  • **
  • Posts: 629
  • Country: ca
Re: MPU for ethernet <====> 8 uart channels
« Reply #4 on: October 08, 2019, 11:25:58 pm »
If you want a ready made terminal server, there are few out there, Digilent and Lantronix come to mind.
If you want to develop, There are the MSP432E401 and 411 from TI - Built in PHY makes the board a breeze to design.
I am available for freelance work.
 

Online NiHaoMike

  • Super Contributor
  • ***
  • Posts: 9018
  • Country: us
  • "Don't turn it on - Take it apart!"
    • Facebook Page
Re: MPU for ethernet <====> 8 uart channels
« Reply #5 on: October 08, 2019, 11:56:21 pm »
If low volume, Raspberry Pi or similar SBC plus some USB to serial converters.
Cryptocurrency has taught me to love math and at the same time be baffled by it.

Cryptocurrency lesson 0: Altcoins and Bitcoin are not the same thing.
 

Offline ebclr

  • Super Contributor
  • ***
  • Posts: 2328
  • Country: 00
Re: MPU for ethernet <====> 8 uart channels
« Reply #6 on: October 09, 2019, 12:21:53 am »
If you want to solve a single user  problem, Don't reinvent the wheel just buy it

http://www.icpdas.com/products/PAC/i-7188_7186/i-7188e8.htm

If you want to reinvent the wheel, this will help

http://wch.cn/products/CH438.html

 
The following users thanked this post: legacy

Offline Morgan127

  • Contributor
  • Posts: 27
  • Country: se
Re: MPU for ethernet <====> 8 uart channels
« Reply #7 on: October 09, 2019, 05:55:51 pm »
I think the easiest you could to to solve this is to use Instant-SoC on a FPGA. Instant-SoC is as easy as programming any MCU.
You simply define eight UARTs as C++ objects and then use them. The tool creates the VHDL code (a RISC-V core, memories, and peripherals).
Define one in and one out stream and connect them to an Ethernet Core with TCP.
I can recommend to use the Arty A7 board from Digilent.
 
The following users thanked this post: legacy, drussell

Offline MT

  • Super Contributor
  • ***
  • Posts: 1616
  • Country: aq
Re: MPU for ethernet <====> 8 uart channels
« Reply #8 on: October 09, 2019, 07:51:39 pm »
I need to read/write up from/to eight uart channels @ 115200 bps constantly and the only resource I can export from the router is a (thank god there is not used fourth Lan) ethernet 10/100. There is nothing else.

So I need to develop/find something. Any suggestion? What would you use?
STM32H750VBT have 9UART's and ETH.
 
The following users thanked this post: legacy

Offline Jeroen3

  • Super Contributor
  • ***
  • Posts: 4078
  • Country: nl
  • Embedded Engineer
    • jeroen3.nl
Re: MPU for ethernet <====> 8 uart channels
« Reply #9 on: October 09, 2019, 08:07:01 pm »
 
The following users thanked this post: nctnico

Offline lty1993

  • Supporter
  • ****
  • Posts: 37
  • Country: us
    • LTY's Space
Re: MPU for ethernet <====> 8 uart channels
« Reply #10 on: October 10, 2019, 08:41:20 am »
IMXRT1020 should be a good choice for this task.
 
The following users thanked this post: legacy

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: MPU for ethernet <====> 8 uart channels
« Reply #11 on: October 10, 2019, 10:44:45 am »
The TI Tiva "connected" launchpad has an ethernet and 8 uarts (and is very cheap.) http://www.ti.com/tool/EK-TM4C1294XLI bought one a while ago with this sort of thing in mind, and then I decided that I really didn't want to do that any more.  :-(I didn't get as far as making sure that you can use all 8 uarts and the ethernet at the same time :-(

Note that what you're trying to do is relatively difficult, especially if you don't have any underlying packet structure.  (well, less difficult if you have continuous data and don't care as much about latency as dialup gamer.)  You want a zero-copy DMA for performance, but DMA is pretty ill-matched when it comes to async reception.  When we did it back in the 68EC030 days (cisco-2500), we used Very Smart UARTs (Cirrus 24xx), and I don't think they exist any more.  Later platforms used FPGAs for UARTs (and/or went direct from modem to memory), but I lost track of whether the FPGA designers did a good job, or whether we just threw more CPU at the problem.
I'm not sure how a modern CPU, at ~5x the clock rate, will do with more conventional UARTs.
I'm not sure how good a job modern "async servers" do.  In the old days, "statistically necessary" performance for "terminal users" was far lower than theoretical max throughput, and then PPP/ARAP/XRemote/etc showed up with 115kbps external modems and the "good" vendors got serious about performance.  But shortly thereafter, "internal modems" were the big deal (telco T1 to 24 user ports, or T3 to 672 ports) and async was neglected.  I'd be worried that "modern" async server vendors have been "slacking." :-(  (to be fair, I think the modern servers are also a fraction of the price of the old generation.)

 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Re: MPU for ethernet <====> 8 uart channels
« Reply #12 on: October 10, 2019, 09:16:34 pm »
I'm not sure how a modern CPU, at ~5x the clock rate, will do with more conventional UARTs.
That may come down to their FIFO size, and if the OP uses Hardware Handshake.
You can still buy external UARTS, even up to octal models, but they are now niche products, with fairly high prices.

Note that what you're trying to do is relatively difficult, especially if you don't have any underlying packet structure. 
Yes. The baud rate is not a deal breaker, but running 8 duplex buffers, and re-packeting for Ethernet, is going to need some care in selecting buffer sizes, & SW, and it not looking easy to test if there is no hardware handshake.
The OP may have known/defined coms channels this needs to manage, and other combinations can be skipped in testing.

« Last Edit: October 10, 2019, 09:21:01 pm by PCB.Wiz »
 

Online nctnico

  • Super Contributor
  • ***
  • Posts: 26906
  • Country: nl
    • NCT Developments
Re: MPU for ethernet <====> 8 uart channels
« Reply #13 on: October 10, 2019, 09:48:05 pm »
Note that what you're trying to do is relatively difficult, especially if you don't have any underlying packet structure. 
Yes. The baud rate is not a deal breaker, but running 8 duplex buffers, and re-packeting for Ethernet, is going to need some care in selecting buffer sizes, & SW, and it not looking easy to test if there is no hardware handshake.
The OP may have known/defined coms channels this needs to manage, and other combinations can be skipped in testing.
Back in the old days memory was expensive. Nowadays a small Linux system can easely buffer several megabytes per port and keep up with 8 UARTs. With todays hardware handling and transferring data from a relatively small amount of UARTs is a piece of cake. Ofcourse you'll need to read the buffers faster than they fill but there hardly isn't a realtime constraint.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline westfw

  • Super Contributor
  • ***
  • Posts: 4199
  • Country: us
Re: MPU for ethernet <====> 8 uart channels
« Reply #14 on: October 11, 2019, 12:05:35 am »
Quote
a small Linux system can easely buffer several megabytes per port
Memory is not the problem.  1MB at 115.2kbps is over 80s of buffering, BTW.  Which would be unacceptable for most cases.
A linux system with 8port of serial card might be a pretty good solution, though.
I'd be extremely curious as how well linux + 8x cheap USB/Serial modules would work.  (and there are some USB/quad-uart chips like the CP2108 and FT4232H.  Though I'm pretty sure that they're not the "sweet point", price wise.)
 

Offline PCB.Wiz

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: au
Re: MPU for ethernet <====> 8 uart channels
« Reply #15 on: October 11, 2019, 01:13:12 am »
Quote
a small Linux system can easely buffer several megabytes per port
Memory is not the problem.  1MB at 115.2kbps is over 80s of buffering, BTW.  Which would be unacceptable for most cases.
A linux system with 8port of serial card might be a pretty good solution, though.
I'd be extremely curious as how well linux + 8x cheap USB/Serial modules would work.  (and there are some USB/quad-uart chips like the CP2108 and FT4232H.  Though I'm pretty sure that they're not the "sweet point", price wise.)


One benefit of FT4232 is less messing about with low-level drivers, and I see DK & Mouser have a USB-COM232-PLUS4 well stocked. that includes  RS232 buffers and 4 DB9 connectors,
- just 2 would be needed for 8 UARTS.

The OP has not said now any of these they need  ? If it is just 1, even the boxed solution someone linked above would be valid.
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: MPU for ethernet <====> 8 uart channels
« Reply #16 on: October 11, 2019, 12:03:03 pm »
Back in the old days memory was expensive.

In the far 1992, I bought a quad uart module for a BBS server (before the internet, there was BBS). It was an ISA 16bit bit card with four advanced UART chip able to handle up to 128Kbyte of buffer each.

It has 4x128Kbyte for buffering, implemented with fast-static ram, it also has switches to manually assign the address and interrupt, so you don't have to fight with obscure firmware (like PCIbios-shit?) to dynamically "plug and pray" anything. I really loved it, but it cost something like 250 euro, converting "lira" into "euro".

Nowadays a small Linux system can easely buffer several megabytes per port and keep up with 8 UARTs.

Currently, I have fixed(1) a couple of Quad 16950 UART miniPCI modules made by Oxford Semiconductor. Two modules give me 8 UART ports, and I can allocate 4Mbyte of ram as a buffer. This works great even on an old MIPS32 router made in 2005 (which is, anyway, what my customer actually uses at the moment), but it's not the kind of stuff I would replace with modern "low cost" USB-quad-uart because everything I have tried has sucked great.


(1) they are "PCI_IO_legacy(2)", it means you cannot reprogram the PCI-BAR because the base_size always return 0x00, and this means the device only consumes fixed resources at fixed addresses.

It's not a problem when you install one quad-UART module, but when you install two quad-UART modules their address have a conflict. Anyway, I workaround-ed this problem in hardware by adding an offset to the address line. It's ugly to see, but it works.


(2) currently deprecated in modern Linux kernel  >= v5.*
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: MPU for ethernet <====> 8 uart channels
« Reply #17 on: October 11, 2019, 12:09:57 pm »
The OP has not said now any of these they need  ? If it is just 1, even the boxed solution someone linked above would be valid.

The purpose of this topic is evaluating different modern solutions, since (and as my nickname indicates) I am really tempted to recycle an old 332 chip, and force its TPU engine (it's a built-in co-processor) to provide 8 UART channels. This would be technically good, and I already have written the software, but ... the 332 chip is deprecated since 2007.

It's time to update  :D
 

Offline legacyTopic starter

  • Super Contributor
  • ***
  • !
  • Posts: 4415
  • Country: ch
Re: MPU for ethernet <====> 8 uart channels
« Reply #18 on: October 11, 2019, 12:15:50 pm »
FT4232H.  Though I'm pretty sure that they're not the "sweet point", price wise.

Never tried these, so  I have ordered a couple of samples.
The price is not a constraint  :D
 

Offline Gribo

  • Frequent Contributor
  • **
  • Posts: 629
  • Country: ca
Re: MPU for ethernet <====> 8 uart channels
« Reply #19 on: October 11, 2019, 10:36:18 pm »
NXP Still makes the 68332. I have a customer that is very fond of it and uses it in several designs.
I am available for freelance work.
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf