ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Воскресенье
21 июля
40493 Топик полностью
ReAl (30.09.2005 12:47, просмотров: 1) ответил FDA на Мне нужно обеспечить скорость 2400 бод, 8 бит данных, 1 стоповый бит, без контроля чётности! Диапазон температур: от -10 до + 50 C. Так никто и не сказал, а как загрузить калибровочную константу для 8 МГц?
Прошиваешь AVR программой, которая лупит в UART непрерывно байт 0x55. Стоповый бит - один. Делаешь это при средней температуре из диапазона. Меряешь частотомером что выходит. Из программы опрашиваешь кнопки, по которым меняешь содержимое регистра OSCCAL пока не добъёшься минимального отклонения частоты. По ещё одной кнопке куда-то выдаёшь этот osccal_value (пишешь в EEPROM, например). Если не повезёт, то эту операцию придётся проводить с каждым устройством - рабочая программа должна будет при запуске брать из EEPROM это значение и писать в регистр OSCCAL. Если повезёт - то можно обойтсиь следующим: для данного кристалла вычислтьт разность между полученным osccal_value и тем, что из него читает программатор. Эту разность использовать для коррекции osccal при записи его avreal-ом во все кристаллы. Везение может ограничиваться партией контроллеров. "повезёт/не повезёт" может зависеть и от того, насколько близко к пороговому отклонению частоты (условно 3%) ты будешь подходить на -10 и +50 градусах.