termostat: Все сообщения за 23 Января 2009 года

 
ПнВтСрЧтПтСбВс
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31

termostat

аксакал

Serge77> Но есть проблема, над которой бьюсь не первый день. При передаче данных на компьютер теряются некоторые байты,

ИМХО вообще не правильно делать связь с ПК или другим устройством без кварцевой стабилизации частоты МК.
Тут наверно и калибровки внутреннего генератора нет ?

termostat

аксакал

termostat>> Тут наверно и калибровки внутреннего генератора нет ?
Serge77> Калибровка есть, калибровочный байт записал.
Serge77> Самое противное, что иногда всё-таки передаёт правильно.

Возможно правильно передают будучи на краю, на пределе ошибки и переодически выходит за этот предел. Какова скорость порта и частота такта ? Можно в мастере CVAVR проверить какова ошибка даже при точной частоте.

Изменением калибровочного байта можно установить частоту передачи точно в ту что на ПК. Проще это сделать временно подключив передачу данных с ПК на МК - и чтоб МК подобрал калибровку для точного совпадения частот.

Методы калибровки есть в апноутах Atmel - список у меня на стр 7 внизу. AVR054: Run-time calibration of the internal RC oscillator (17 pages, revision B, updated 02/06) This application note describes how to calibrate the internal RC oscillator via the UART.

Возможно и звуковой картой ты можешь проверить частоту передачи с МК - передать МНОГО байтов непрерывно и в звуковом редакторе посмотреть длину посылки, потом посчитать.
Это сообщение редактировалось 23.01.2009 в 09:38

termostat

аксакал

Serge77> Порт 4800 8N1 МК внутренний RC генератор 1.6 МГц.

Мастер CVAVR показывает ошибку скорости для такой комбинации 0.8 %

Serge77> Я хочу отработать простейшую схему, которая будет работать у любого человека сразу после сборки.

Для этого кварц нужен или керамический резонатор и желательно UART "железный" а не програмный. Т.е. взять самый дешовый МК подходящий - наверно ATmega8 - он ведь и в копусах миниатюрных бывает.

У нас 1 $ в розницу стоит в "Тенрон" например.

Вот еще - Симметрон symmetron.ru Розн. ATMEGA48-20AU Atmel 35,5 руб. (около 1.2 $)

Serge77> В книжке написано, что с калибровочным байтом точность частоты 1%. Разве этого недостаточно?
добавить 0.8 % - вот уже и 1.8 %
Это сообщение редактировалось 23.01.2009 в 10:48

termostat

аксакал

Serge77> А как? Как МК узнает, что на комп всё пришло правильно?

Если кнопочку добавить на свободную ногу то можно включать калибровку.

Нажал кнопку и МК начинает слать пару символов постоянно начиная с заведома маленькой скорости и постепенно увеличивая скорость передачи. Когла вы увидите что ПК начал правильно принимать данные - надимаете кнопку, далее МК и дальше увеличивает скорость, когда опять пойдут ошибки вы снова нажимаете кнопку. МК расчитывает среднее значение между нажатиями кнопки - это и будет оптимальная скорость передачи.

Тини15 реальный СТАРЫЙ отстой без оперативной памяти и по-моему с производства снятый.

Тини13 это правильно! Он с оперативкой и компиляторами Си поддерживается и стоит от 14 рублей у нас.

termostat

аксакал

Serge77> На меге8 у меня уже схема готова:
Serge77> Serge77 - Моя ракетная мастерская - Простой записывающий высотомер
Serge77> Но хочется поминиатюрнее,

ДЫК ! У тебяж плата ПУСТАЯ !


Размести датчик в низ и верх платы отреж - вот и мини будет. А если еще МК на другую сторону платы поместить то еще меньше выдет.

ОПТИМИЗАЦИЯ - кризисная.

termostat

аксакал

Serge77> А на Тини13 него напрямую пойдёт программа с тини15, без переделки ?

Возможно. Легко проверить в PROTEUS. Давай твою прошивку - проверю. В любом случае те кто знает АСМ смогут помочь подправить. Только у Тини13 нет такой частоты - там 9.6 и 4.8 Мгц вроде. и 128 kHz еще.

termostat

аксакал

Serge77> Значит надо всё переделывать. Всё-таки сначала попробую справиться с тем, что есть.

Ни секунды не сомневаюсь в том что справишься.

Но я советую твою плату переделать и можешь ОУ выкинуть раз тут ты без него делаешь.

termostat

аксакал

Это ИСХОДНИК ! прошивка .hex

Дак ты и сам можешь в том в чем ассемблишь указать другой проц. Я попробую вечерком.

Папку проекта в VMLAB заархивируй лучше.


Вот в АВР Студии сассемблили для Тини15 нормально, а потом заменмл на Тини13 заголовок - вот такая кучка ошибок. Просто надо заменить названия регистров для начала

Это сообщение редактировалось 23.01.2009 в 11:30

termostat

аксакал

Обломался я - тини15 имеет 2 таймера ! а в тини13 только 1. Потому прогу надо полностью переделывать так как она с 2 таймерами работает.

Не нравится мне тини15 ! Она у нас долроже в 1.5 раза чем атмега8 - http://efind.ru/.../?c=asis&stock=1&r=0&search=attiny15+

termostat

аксакал

termostat>> Обломался я - тини15 имеет 2 таймера ! а в тини13 только 1. Потому прогу надо полностью переделывать так как она с 2 таймерами работает.

Piroman> в программе используетсЯ только один таймер

А на скриншоте регистры 2 таймеров. или Таймер 0 там просто так ? Я просто как увидел ркгистры двух таймеров сразу в дш тини15 полез и убедился что там их 2.

в начало страницы | новое
 
Поиск
Настройки
Твиттер сайта
Статистика
Рейтинг@Mail.ru