??? 02/16/06 18:17 Read: times |
#110179 - It's because of the purpose Responding to: ???'s previous message |
Peter,
The reason one would leave all internal resources available, in a development environment, is so that those resources can be used in a development projetc. If you use an MCU that has two UARTs it may become necessary to use them both in your target application, and, in fact, you may have selected the MCU for just exactly that reason. I feel it would be a serious error to use the internal UART for development/debug, etc, if the target software relies on it, for, say, communication with other devices, though I seldom see that sort of thing myself. I've seen at least one comment in this thread indicating that the only purpose for which the internal UART is used in his system is for debug. I've seen that sort of thing quite a bit, but, if you need the UART, or UARTs, you can't debug your firmware if the tool you're using wants to use those resources. That, I suppose, is a good argument for a JTAG or other sort of emulation tool, but not all MCU's support those. Just as an example, my current background task (mine, not my MCU's) is using one UART in MODE 0 to sample a data pin. It also wants to sample another data pin, but at a different rate, so what I do is sample both at the same rate, but, since I hvae the bandwidth with which to do it, I save the faster-sampled data in an external SRAM buffer and only save the data pointer value at which I detect a transition on the other. That way I' have a table at the top of that buffer that points to the location in the data buffer corresponding to the transitions in the slowly sampled data. The actual sampling is occurring at the same rate and the same ISR handles both channels. Thank goodness, or, at least, Maxim, for the increased bandwidth due to the fact the MCU is a one-clocker. I think you must get my point. I need to be able to use both serial ports in order to get the job done. I have to have external memory anyway, so there aren't any extra pins required, aside from a chip select from the CPLD, which demuxes the address bus, and, if it weren't for the fact I have these one-clockers available, I'd be using some other MCU architecture because the job simply demanded too much processing bandwidth. The reason I have the extra external UART is because this circuit is my development platform. I had to build my own because even the MAXIM EVB for this MCU family didn't support all the available addressing schemes, notably, the page modes that the family supports, and without which one couldn't execute code from external memory at full speed. What's more, they don't provide access to both serial ports either. I prefer to buy rather than build a tool, but when the available tools are inadequate, there's no choice. RE |