реклама на сайте
подробности

 
 
> Калибровка Tiny13 и софтовый COM-порт на ней
sbw
сообщение Dec 18 2007, 14:53
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 5-10-07
Из: Харьков, Украина
Пользователь №: 31 107



Стоит задача реализовать софтово COM-порт (только передачу) на Тини13.
Столкнулся с тем, что не смотря на автозагрузку заводского калибровочного байта, некоторые процессоры выдают такую частоту в ком-порт, какую компьютер не принимает. То есть с одного прошитого процессора данные в терминалке на экран выводятся, а с другого - нет, или не все, или с мусором.
По даташиту точность заводской калибровки - порядка 10%, видимо этого недостаточно.
В аппнотах описана процедура калибровки с подачей внешней частоты 32кгц, но не понимаю, как это применить к авреалу.
Посоветуйте что-нибудь.
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
=GM=
сообщение Dec 19 2007, 12:03
Сообщение #2


Ambidexter
*****

Группа: Свой
Сообщений: 1 589
Регистрация: 22-06-06
Из: Oxford, UK
Пользователь №: 18 282



Цитата(sbw @ Dec 18 2007, 14:53) *
Стоит задача реализовать софтово COM-порт (только передачу) на Тини13. Столкнулся с тем, что не смотря на автозагрузку заводского калибровочного байта, некоторые процессоры выдают такую частоту в ком-порт, какую компьютер не принимает. То есть с одного прошитого процессора данные в терминалке на экран выводятся, а с другого - нет, или не все, или с мусором.
По даташиту точность заводской калибровки - порядка 10%, видимо этого недостаточно.
В аппнотах описана процедура калибровки с подачей внешней частоты 32кгц, но не понимаю, как это применить к авреалу

Для 10-битных пакетов точность разности частот приёмника и передатчика должна быть не хуже ±(0,5/9,5)=0,053 т.е. порядка ±5%.

Если у вас есть точные 32 КГц, то можно применить алгоритм измерения частоты, только оценивать не входную частоту 32 кГц, а тактовую частоту процессора, думаю 10-50 мс должно хватить на оценку. Ну а зная тактовую, можно настроить длительность одного бита.

Как вариант, можно ещё посылать с ПК байт 0х55 время от времени и по длительности нуля и единицы также оценивать тактовую частоту проца.


--------------------
Делай сразу хорошо, плохо само получится
Go to the top of the page
 
+Quote Post
sbw
сообщение Dec 19 2007, 14:18
Сообщение #3


Участник
*

Группа: Участник
Сообщений: 39
Регистрация: 5-10-07
Из: Харьков, Украина
Пользователь №: 31 107



Цитата(=GM= @ Dec 19 2007, 14:03) *
Как вариант, можно ещё посылать с ПК байт 0х55 время от времени и по длительности нуля и единицы также оценивать тактовую частоту проца.


Нет, точных внешних частот без серьезной переделки программатора нет. А вот по поводу идеи подавать посылку с ком-порта компьютера (допустим, это возможно): достаточно ли будет подачи одного байта '$55' ? Или может лучше '00', и оценивать длительность "нулей"? Какую имеет смысл установить скорость передачи этого байта, поменьше? Например, 1200 или меньше? Я так понимаю, что чем длинее посылка - тем выше точность. И, как я понимаю, нельзя рассчитывать на длительность передачи нескольких байт, компьютер может быть неожиданно занят чем-то другим и увеличить паузу между передаваемыми байтами, да?

Пока что я склоняюсь к мысли поставить на плату программатора еще один процессор с кварцем, который бы начинал генерить 100-гц импульсы по ноге MISO через 1с после ресета программируемого проца и до момента проседания в ноль ноги SCK (то есть, если после ресета начинается прошивка программируемого процессора, чтобы этот генератор отрубился и не мешал, и перестал генерить после того, как программируемый процессор решил, что он откалибровался и ему хватит, можно работать). Как вам идея?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th July 2025 - 22:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.01387 секунд с 7
ELECTRONIX ©2004-2016