Trimming accuracy over temperature for SCI

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 

Trimming accuracy over temperature for SCI

1,004 次查看
rdazcal
Contributor III

Greetings,

 

Researching a bit in the forum I found out that this is a question that has been brought up several times.

 

Perhaps trimming accuracy over supply range and temperature should be described in the datasheet of each component, since I'm not sure it is the same for every MCU.

 

I found very useful information in the AN2496 and the AN2498, although it seemed to me that some info about accuracy didn't mach between the App Notes (maybe it's because they are about different MCUs).

 

I am using the MC9S08LC36 MCU and I need to establish a serial communication that will hold for a temperature range from 0ºC to 70ºC. I am using an external crystal but I would love to use the internal clock, if possible.

 

I don't wish to calibrate each individual MCU, so I would use the factory value that should come in the flash memory in a specific address.

 

But if I understand correctly, this will give me only 7% accuracy over temperature change (AN2498, page 2, second paragraph). So that is not good enough for serial communication, which I understand should be limited to 3%... am I correct?

 

I thank you in advance.

标签 (1)
0 项奖励
回复
3 回复数

500 次查看
bigmac
Specialist III

Hello,

 

For the device you are using, the datasheet stipulates the following worst case figures for stability of the trimmed internal reference associated with the ICG module.

Vdd = 1.8 to 3.6 volt, at constant temperature: +/-2 % (typically +/-0.5 %)

Vdd = 3V +/-10 percent, -40C to +85C:  +/-2 % (typically +/-0.5 %)

The deviation over the temperature range 0C to 70C should be significantly lower.

 

For the SCI, my understanding is that the maximum allowable baud rate error between both ends is about 4 percent.  This figure should be easily met if only one end of the data link is subject to the above potential errors.  If both ends of the link may potentially shift in opposite directions, the use of the internal reference is a little more questionable.  You also need to consider any initial baud rate error because the bus frequency is not an exact multiple of 16 times the required baud rate.

 

When you say that you wish to rely on the factory trim value, I cannot understand why you would not re-calibrate the trim value during normal insitu programming, under known voltage and temperature conditions, and with your specific PCB layout.  You would need to do this anyway, should the programmer do a mass erase prior to programming, or  should you ever upgrade the firmware.

 

Regards,

Mac

 

0 项奖励
回复

500 次查看
rdazcal
Contributor III

Thank you Bigmac!

 

I was looking like crazy for App Notes in the site and I didn't realize I had this information in the Appendix A of the datasheet.

 

I had also not realized the TRIM value could be set at programming time, that is better indeed.

 

The problem is, as you've mentioned, that both of the data links will be subject to the same temperatures changes (the SCI is being used to communicate with a GPRS modem). In that case, I could have situations (although rare) in which my MCU won't be able to communicate with the modem, right?

 

I forgot to mention that the communication is at a 9600 baud rate.

0 项奖励
回复

500 次查看
peg
Senior Contributor IV

Hello rdazcal,

 

I use the internal oscillator and 9600 baud comms all the time and don't have any issues. One thing that I have noticed is that if I reprogramme running devices in-situ the trim value calculated under these conditions is ALWAYS either the same of 1 greater than originally. This I put down to the fact that the device is trim calculated a few seconds after power on at room temperature. When it is reprogrammed on-site it has been running in its small enclosure which is then in an electrical enclosure that is generally running at about 35 degrees. It most often recalibrates with a value that is one more than original. I have never noticed anything other than the same or one more (very occasionally two more).

So if you want to be very careful you could add some to the calculated value when you transfer the value from the NV register into the working one. This would be to approximate the value required at a mid temperature range temperature.

0 项奖励
回复