Forums » Software Development »
L138 UART and DSP
Added by Andrew Holt about 13 years ago
Hi,
For the project that I am currently engaged in we have a remote ADC device that feeds data down a fibre optic link into a UART.
I want the UART to be read by the DSP which will then perform a variety of manipulations and calculations.
So, having set the scene, my questions are:
How do I allocate peripheral device to the DSP ?
What is the fastest baud rate I can run the UARTS at (a list would be good)
Thanks,
Andrew
Replies (1)
RE: L138 UART and DSP - Added by Michael Williamson about 13 years ago
Hi Andrew,
With the MityDSP-L138F, you have two options for UARTs: you can use one of the three UARTS provided on the OMAP-L138 processor, or you can use one or more UART cores (made available by Critical Link) instantiated in the FPGA.
Currently, we have not had to configure an application where the DSP directly controlled the OMAP-L138F UARTs. The ARM, by default, is the master for those peripherals. We have evidence that these UARTS can run as fast as 921600 BAUD, but have not done extensive testing on quality of data at these rates (normally they only from 115200 BAUD). From Linux, the ARM UART driver may start to drop data at those rates. High speed data collection via UART is not a typical configuration we run into... :^)
To have the DSP control an OMAP-L138 based UART, you might check the TI E2E site for some guidance, as this is not really a problem specific to our SOM and there are a lot of guys on that site that may have some experience doing this. The TI OMAP-L138 PSP might include DSP/BIOS drivers for the UART (perhaps for the 6748 processor, which is the same as the OMAP-L138 sans the ARM). I will advise you, though, that TI typically recommends that you plan for the ARM to control all peripherals and use the DSP as a pure coprocessor, communicating to it using DSPLINK directly, or using stuff like the C6EZRun framework. If you want the DSP to control the UART, you will need to modify the kernel to ensure the ARM does not try to control it in the board-mityomapl138.c initialization routines.
If you choose to use an FPGA instantiated UART from Critical Link, we do supply a DSP C++ control API that has been proven to work at rates up to 921600 BAUD (we have not tried to run faster, it might). For that route we could probably help out a bit.
-Mike