Uart baud rate converter(9600-115200bps)

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
ViTa_297566
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

1. I have a application in which I require baud rate converter. Data on rx pin of 9600 baud is to send on tx pin of 115200 baurd & data on rx pin of 115200 uart is to send on tx of 9600 baud.

   

2. Data is bidirectional & around 250KB-500KB in one go & no data should be lost.

   

3. Is there any programmable digital peripheral which can do it which can assure data safety.

   

Or I have to do it software programming only, like make two uart, & in their receive interrupts, send data to each other uart?

0 Likes
4 Replies
Bob_Marlowe
Level 10
Level 10
First like given 50 questions asked 10 questions asked

An UART with RX and TX shares the same clock, parity and other settings. To use different baud rates you will need to use two UARTs connected via an internal buffer and preferably interrupt driven.

   

You are here in a PSoC5 forum, but I can assure you that this job can be done using a PSoC4. Get hands on a CY8CKIT-043 and start designing, within half a day your work is done!

   

 

   

Bob

0 Likes
HeLi_263931
Level 8
Level 8
100 solutions authored 50 solutions authored 25 solutions authored

Problem will be when the 115kbaud side sends 500kbyte worth of data, and it should be send out to the 9600 baud side - this is 100 times slower. You would need to buffer nearly all of the data, and even a PSoC5 hasn't got enough memory for it.

   

When you can do flow control, you can stop the sender whenever the buffer is about to overflow. I think you could do this in hardware using a DMA (not in all PSoC4 devices) and some other logic. But its easier to do this in software.

0 Likes
odissey1
Level 9
Level 9
First comment on KBA 1000 replies posted 750 replies posted

The CY8CKIT-044 PSoC 4 M-Series Pioneer Kit has 1Mbit FRAM (=128kB), which can be used to make a circular buffer. If you can ease the specs on the amount of data transferred in one batch from 115kBd to 9.6kBd UART, then it can be accomplished.  

0 Likes
ViTa_297566
Level 2
Level 2
10 replies posted 5 replies posted 5 questions asked

Thanks for info.
I have made a circular buffer, & data from 115200 baud now comes in chunk, so that entire data is not to be taken into buffer.

0 Likes