Мелкие вопросы по МК и ПЛИС.

Если ваш вопрос не влез ни в одну из вышеперечисленных тем, вам сюда.
Ответить
Первый раз сказал Мяу!
Аватара пользователя
Сообщения: 26
Зарегистрирован: Пн июл 14, 2008 08:39:41
Откуда: Москва

Сообщение Chabrez »

asteroid7
Это да. Но и сложность там на порядок выше, причем программный код как правило пишут сразу несколько человек, что неминуемо приводит к рассогласованности разных частей кода. Но это и правда философия :)
Семь раз отмерь - один раз подай напряжение
Контактная информация:
Реклама
Мудрый кот
Аватара пользователя
Сообщения: 1867
Зарегистрирован: Ср янв 23, 2008 22:11:54
Откуда: Калининград

Сообщение GRAF »

Скажите, что не так в коде?
Мне нужно было сдвинуть фазу сигнала на порте PB1 на +120 град. отн-но порта PB0. Запустил симуляцию в VMLAB, там наоборот фаза PB0 сдвинута на +120 град. отн-но PB1 :roll:

Код: Выделить всё

#include <avr>
#include <avr> 
#include <avr>




void main()
{

unsigned int i=10;

DDRB =  (1<<DDB1) | (1<<DDB0);


   while(1)
   {
   PORTB=_BV(PB0);
   _delay_ms((2*i)/3);
   PORTB=_BV(PB1);
   _delay_ms(i-((2*i)/3));
   PORTB=~_BV(PB0);
   _delay_ms(2*i/3);
   PORTB=~_BV(PB1);
   _delay_ms(i-((2*i)/3));
   }

}
Реклама
Открыл глаза
Сообщения: 42
Зарегистрирован: Чт янв 22, 2009 12:16:55

Сообщение rush »

Подскажите пожалуйста. правильно ли я настроил таймер? :) контроллер - ATtiny13, частота 4мгц

Код: Выделить всё

// Timer/Counter 0 initialization
// Clock source: System Clock
// Clock value: 500.000 kHz
// Mode: CTC top=OCR0A
// OC0A output: Disconnected
// OC0B output: Disconnected
TCCR0A=0x02;
TCCR0B=0x02;
TCNT0=0x00;
OCR0A=0x7D;
OCR0B=0x00;

// Timer/Counter 0 Interrupt(s) initialization
TIMSK0=0x04;

ub2msbr = 1550000;

interrupt [TIM0_COMPA] void timer0_compa_isr(void)
{
   if (ub2msbr)
   {
      ub2msbr--;
   }
}
по моим расчетам он должен отсчитать 3100 миллисекунд до обнуления переменной ub2msbr. если не правильно подскажите как сделать чтоб было правильно :))
Открыл глаза
Сообщения: 42
Зарегистрирован: Чт янв 22, 2009 12:16:55

Сообщение rush »

обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо :)
Реклама
Эиком - электронные компоненты и радиодетали
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

rush писал(а):обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо :)
Вход/выход с открытым стоком. На тини13 реализуется с помощью записи в PORTB нулей и управления регистром DDRB. Когда в соответсвующем бите регистра DDRB - 1 - соответсвующий вывод (в данном случае выход) "притянут" к земле, когда в соответсвующем бите регистра DDRB - 0, вывод "отпущен" и может считаться входом. Обычно в таких случаях пользуются внешней "подтяжкой" вывода к + питания. В состоянии когда в DDRBn - 0 напряжение на выводе естественно зависит от того что к нему подключено. Думаю со схемой было бы понятней, но рисовать лень
Реклама
Открыл глаза
Сообщения: 42
Зарегистрирован: Чт янв 22, 2009 12:16:55

Сообщение rush »

smac писал(а):
rush писал(а):обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо :)
Вход/выход с открытым стоком. На тини13 реализуется с помощью записи в PORTB нулей и управления регистром DDRB. Когда в соответсвующем бите регистра DDRB - 1 - соответсвующий вывод (в данном случае выход) "притянут" к земле, когда в соответсвующем бите регистра DDRB - 0, вывод "отпущен" и может считаться входом. Обычно в таких случаях пользуются внешней "подтяжкой" вывода к + питания. В состоянии когда в DDRBn - 0 напряжение на выводе естественно зависит от того что к нему подключено. Думаю со схемой было бы понятней, но рисовать лень
Спасибо за ответ, но у меня возник еще один вопрос по притяжке когда DDRB=0. В основном в процессе работы контроллера ножка является высокоомным входом и к ней подключается выход декодера. В даташите к декодеру написано что на выходе должна быть 1 по умолчанию, но у меня он почемуто постоянно равен 0. Пробовал в настройках порта задать внутреннюю подтяжку, но это не помогло, да и в даташите явно указано, что ножка должна быть высокоомным входом. может быть внешняя притяжка о которой ты говорил поможет это исправить?! я так понимаю это делается через резистор подключенный к + питания, но как расчитать этот резистор??? :) и по таймеру подскажите пожалуйста. вопрос чуть выше этого поста))
Реклама
Мучитель микросхем
Сообщения: 459
Зарегистрирован: Вс июн 01, 2008 12:16:38

Сообщение smac »

rush писал(а):В даташите к декодеру написано что на выходе должна быть 1 по умолчанию, но у меня он почемуто постоянно равен 0.
Ничего не понятно, сылку на даташит и схему подключения в студию!
rush писал(а): я так понимаю это делается через резистор подключенный к + питания, но как расчитать этот резистор???
Правильно понимаете, номинал резистора сильно зависит от того что вы хотите получить, также номинал может быть оговорен в документации (в общем нужно смотреть что требуется). Общие рекоммендации - ток через резистор при подаче на него напряжения питания не должен превышать допустимого тока через вывод микросхемы.
rush писал(а): :) и по таймеру подскажите пожалуйста. вопрос чуть выше этого поста))
Код не очень хорошо оформлен, цифры там, где должны быть имена регистров (TIMSK0, OCR0A), да и считать лень, может кто-то еще посчитает. Посмотрите вот это где-то с середины страницы http://www.radiokot.ru/forum/viewtopic. ... ht=#179988 там подробно объяснен расчет таймеров.
Встал на лапы
Аватара пользователя
Сообщения: 86
Зарегистрирован: Вт дек 02, 2008 18:48:17
Откуда: Челябинск

Сообщение p911 »

мне в наследство достался вот такой вот программатор...но на нем нет ни одной опознающей надписи...помогите плиз опознать программатор....желательно ссылку на сайт производителя..или хотябы название проги для работы с ним
Вложения
P2221266.JPG
(64.32 КБ) 459 скачиваний
P2221265.JPG
(65.36 КБ) 478 скачиваний
А каму сейчас легко?
Контактная информация:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

p911 писал(а):...желательно ссылку на сайт производителя...
Что-то он не похож на фирменный - обычный, типовой корпус, плата адаптера к верхней части - "пришуруплена". Если бы нутро было видно на фото, кто-нибудь мог бы его узнать, а так - ЗИФы и кроватки на всех программаторах одинаковые.
Вымогатель припоя
Аватара пользователя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Народ, выручайте!
Собрал не так давно свой первый программатор. STK200+/300 (по схеме http://radiokot.ru/lab/controller/29/)
Сегодня только сделал удлинитель и подключил к компу. Дрова DLportIO (полная версия) стоят.
После первого подключения загорелся диод "питание". Оставил на пару минут включённым в комп - диод начал плавно тухнуть. Последующие пробы показали, что диод загорается, когда штекер удлинителя соединяю с программатором (когда не все контакты вошли друг в друга).
При попытке что-то прошить - avreal пишет, что якобы не видит программатор.

Как убедится, что прогромматор всё же найден компом и чем проблемы вызваны такие меня? ... :cry:
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

Именно программатора не видит? Если так, то проверь наличие перемычек на DB25, а если не видит мелкоконтроллера, то общая последовательность проверок подлиннее, для начала:
- проверь монтаж
- проверь наличие перемычек на DB25
- проверь наличие сигнала на выводах DB25, затем на входах 244-й (1,2,4,6,8,11,13,15,17,19)
- проверь наличие сигнала на выходах 244-й (18,16,14,12,3,5,7,9)

P.S. Сигналы, разумеется, нужно проверять во время попыток программирования - это происходит быстро, если не виден кристалл, то за пару секунд, если не виден программатор, то еще быстрее.
Вымогатель припоя
Аватара пользователя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Начал проверять свой самодельный удлинитель - нашёл кучу ошибок в нём (уже обрадывался, что это в нём была проблема) - переделал, подключил к компу - и интересное было: пару секунд мигали светики питания и программирования, затем обое потухли.

Попробывал что-то прошить в тини26 - пишет всё ту же басню:
Command: +attiny26 -! -p1 -as -ew output\hexfile.hex -n
Atmel STK* adapter not found, but forced by '-!'
Can't resync

Reset pin released
Adapter disabled
Если что-то менять в настройках порта ЛПТ, то загорается светик "питание" и продолжает гореть.

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

Каким образом проверяется сигнал на ногах 244 и DB25? Тестером: минус на землю и плюс искать на ногах?

=====

Сделал, как понял (минус тестера на землю - плюс на нужные ноги 244):
Питание 1-й ноги в холостую - 3.85V; во время программирования - падает до, примерно, 2V.
2-я: 3,75 - 2,5 В
4-я: 3,75 - 3,0 В
6-я без изменений
8-я: 0,04 - 0,05 В
.... и так далее. тоб-то, как я понял, сигнал есть ...

Попробовал я поставить ключ -аа (автоматический выбор адаптера) - пишет, что не нашёл известного адаптера... Оч интересно ...

ЗЫ. Так же иногда бывает, что после пробы прошить - программатор выключается (светик "питание" не горит) и тогда наблюдается картина, что скачёк напряжения на ногах 244 идёт от 0,04 (приблизительно) до 3,75 В при потытке заново прошить.
================

Продолжение темы ТУТ
Прорезались зубы
Аватара пользователя
Сообщения: 236
Зарегистрирован: Вт дек 25, 2007 17:23:13
Откуда: Украина, Севастополь

Сообщение Dancer »

Пожалуйста, сделайте фото платы программатора со стороны дорожек и со стороны элементов, фото удлинителя и платы расширения.
Вымогатель припоя
Аватара пользователя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Панелька для Тини26 есть на самом программаторе, так что дополнения я не фоткал.
Изображение Изображение Изображение Изображение

Уже глаза болят смотреть на программатор в поисках возможных ошибок ...
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

DataLife писал(а):Начал проверять свой самодельный удлинитель - нашёл кучу ошибок в нём...
Вот именно поэтому нет никакого смысла разглядывать фотографии платы - ни сухпая, ни КЗ на фотографии не разглядеть. Нужно просто прозванивать кабель и проверять по схеме прохождение сигналов.
Вымогатель припоя
Аватара пользователя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Yellow Tiger писал(а):Вот именно поэтому нет никакого смысла разглядывать фотографии платы - ни сухпая, ни КЗ на фотографии не разглядеть. Нужно просто прозванивать кабель и проверять по схеме прохождение сигналов.
Прозвонка кабеля дала положительные результаты - всё гут. После кабеля на плату идут сигналы.
Сверлит текстолит когтями
Аватара пользователя
Сообщения: 1148
Зарегистрирован: Вт июл 08, 2008 12:24:17

Сообщение Yellow Tiger »

DataLife писал(а):После кабеля на плату идут сигналы.
Ну, и что же помешало продолжить изыскания?
Питание на буфере пристутствует? Порядок сигналов на ногах 244-й не перепутан? Сигналы на выход проходят?
Вымогатель припоя
Аватара пользователя
Сообщения: 601
Зарегистрирован: Пт фев 13, 2009 20:58:13
Откуда: Донецк

Сообщение DataLife »

Можете поздравить меня :) Программатор работает! Но, не через avreal, а через CodeVision.
Проблема уже в другом))))

Дабы не создавать новую тему, спрошу тут:
Как узнать, запорол я контроллер, или нет???))))
Короче, как было... Подключил я программатор, панельку, питание, контроллер... Выбрал в CodeVision Chip programmer свой уже готовый из обучения .hex файл и залил во флеш... Не знаю зачем (для того, чтоб было, наверно) залил его же и в EEPROM. Всё хорошо залилось... Даже на радостях, что всё таки работает - сделал эту процедуру несколько раз (ну не дурной ли?).

Теперь при попытке прошить Tiny26 прога пишет уже знакомую мне строчку, что типа или: программатор не запитан, не тот порт, не те настройки, ну или чип "сломан"...

Как это проверить?
Нужно ли после нажатия на кнопочку "Program all" нажимать "Reset Chip"?
Если ДА, то если этого не делал, а просто отключал от компа - это смертельно для тиньки? :cry:
Только те, кто предпринимают абсурдные попытки, смогут достичь невозможного.
Модератор
Аватара пользователя
Сообщения: 4517
Зарегистрирован: Пн апр 03, 2006 11:43:25
Откуда: Санкт - Петербург

Сообщение Aheir »

А не надо новую тему. Можно часть спросить в теме про CVAVR, коли уж им шьете (вижу, что эту тему Вы нашли). А можно посмотреть темы про прошивку МК, коих - масса на форуме. Не стоит захламлять собственную тему.

По существу. Если не трогали фьюзы при прошивке, может и действительно камень навернулся, если трогали - есть варианты. Ну а hex в ЕЕПРОМ шить точно бесполезно.
Reset жать не обязательно, МК самостоятельно сбрасывается после прошивки.
Оптимизм х (Опыт + Знания) = const
Контактная информация:
Друг Кота
Сообщения: 4435
Зарегистрирован: Сб мар 07, 2009 20:44:36

Сообщение Arlleex »

Народ, а можно ли перепрограммировать AVR МК?

Какие можно перепрограммировать?
Не умеешь - не берись, но не взявшись не научишься...
Ответить

Вернуться в «Разные вопросы по МК»