PS / 2 loses the release key code when running in parallel with UARTA

We migrate from PXA300(under WCE5) to VF50(under WCE6). In our project we intensively use UART to communicate with external measurement sensor on bounds 230400, 460800 and more.

On VF50 we faced in fact that PS/2 loses the release key code when running in parallel with UARTA. Most likely this effect appears at a UART speeds 230400, 460800. At a speed of 921600 we did not manage to run the UART. At 115200 this effect is not so often.

In our old project release (on PXA300 with WCE5) we use UART on 921600 bound and all working good (PS/2 too).

thank you in advance


I see there are 2 questions inside 1 post, please next time create 2 different posts on the community.

About baud-rate: VF50 module does not support baud-rate above 460800, after that we cant calculate proper values any more considering the available clocks.

About PS2: I would assume that trafic on UART is quite high? So interrupt from UART has proirity over PS2 and PS2 will lose data. Do you use DMA on UART? We could try increasing priority of PS2 over UART but it may be that UART will lose data because of this.

Thank you for the answer.
With use DMA on UART, there is no data loss in PS2 and everything seems to work well, but only in case that I set large interval timeouts in COMMTIMEOUTS structure. This somewhat reduces the total transmission rate.

If I do not use DMA I can set small interval timeouts in COMMTIMEOUTS structure and I can achieve a higher total speed, rather than using DMA. But in that case I have PS2 data loses.

Can I regulate the priorities of UART and PS2? I see that I can regulate UART thread params through the registry, but I don’t know appropriate settings for PS2. What is priorities default settings on this interfaces?

I updated documentation and added information about priority.

Thank you.


Did you manage to tweak settings for you?

Hello, sorry for some delay with report. Yes, I tried to tweak this settings, but it did not help. Only the use of DMA solved the problem.