Re: MAX3100 Uart problems



Roger Hamlett wrote:
"Adrian Jansen" <adrian@xxxxxxxxx> wrote in message news:12oc7kikpks3ha2@xxxxxxxxxxxxxxxxxxxxx

Hi All,

Anyone else using the MAX3100 SPI UART ?

We seem to have a problem with some devices starting up at the default baud rate ( divisor 0 ) instead of the commanded baud rate ( divisor &hC0 ). Worse, it seems to be temperature related. Devices which start and accept the config command ok at room temp, refuse to start ok at 60 deg C.

Anyone else using these at this sort of temp range ?

The chips can be a pain.
There are a couple of 'oddities' that may be catching you. The code given in the data *** as an 'example', won't actually work to send data, unless some data is received. Great example... The internal oscillator, can be _very_ slow to start at higher temperatures. It is also fussy on crystals. I am now running the units using an external oscillator, and they are much more reliable like this. The SPI communications, seem to get a bit borderline at higher temperatures. Though the signal feeding the clock/data, were 'in spec' for their voltage levels, I found raising the 'high' level fractionally (with a pull up resistor), was necessary to ensure reliable operation.

Best Wishes


Thanks Roger.

We have around 100 of these in service now, and this only cropped up in a very small number, as usual, well after the initial product testing.

I too struggled with the code examples, and finally found how to get the beast to work. Yes they are tricky, but having got the details right, they seem to work fine on the uart side.

I use external oscillator, from the processor crystal at 3.6864 MHz.

Interesting about the SPI, but its really wierd that when transmitting the 16 bits of config data, at least the first 12 must work, to set the Rx and Tx enabled, and only the last 4 bits, which define the baud rate, get lost. I checked the SPI clock and data lines, and I am getting +5 volt rail-to-rail swings. Also the actual data transmission seems to be rock-solid. I never get garbage, or dropped characters. Either they start up and transmit correctly at the 4800 baud rate, or at the default 230 Kbaud rate. To me, that seems to prove that both the Uart system, and the SPI are working correctly. One unit I have switches abruptly from always correct startup below 55 degC to always incorrect ( 230 Kbaud ) at 60 degC.

Even odder is that these are in a device where the processor configs the UART during the boot phase, then switches out of the bootloader and into the main program, and that configs the uart again ( at the same baud rate ). And that config is the one that is wrong. But a second repeated config in the main program always gets the values correct. I found this out yesterday while playing around reading back the config, to see what was going on. I still dont know for sure what the first config in the booloader does at the high temp, but I will find out...




--
Regards,

Adrian Jansen adrianjansen at internode dot on dot net
Design Engineer J & K Micro Systems
Microcomputer solutions for industrial control
Note reply address is invalid, convert address above to machine form.
.


Quantcast