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

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

Сообщение Chabrez »

asteroid7
Это да. Но и сложность там на порядок выше, причем программный код как правило пишут сразу несколько человек, что неминуемо приводит к рассогласованности разных частей кода. Но это и правда философия :)
Семь раз отмерь - один раз подай напряжение
Аватара пользователя
GRAF
Мудрый кот
Сообщения: 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));
   }

}
rush
Открыл глаза
Сообщения: 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. если не правильно подскажите как сделать чтоб было правильно :))
rush
Открыл глаза
Сообщения: 42
Зарегистрирован: Чт янв 22, 2009 12:16:55

Сообщение rush »

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

Сообщение smac »

rush писал(а):обьясните пожалуйста что такое "open drain output/input" и как это реализовать на ATtiny13. заранее спасибо :)

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

Сообщение smac »

rush писал(а):В даташите к декодеру написано что на выходе должна быть 1 по умолчанию, но у меня он почемуто постоянно равен 0.

Ничего не понятно, сылку на даташит и схему подключения в студию!

rush писал(а): я так понимаю это делается через резистор подключенный к + питания, но как расчитать этот резистор???

Правильно понимаете, номинал резистора сильно зависит от того что вы хотите получить, также номинал может быть оговорен в документации (в общем нужно смотреть что требуется). Общие рекоммендации - ток через резистор при подаче на него напряжения питания не должен превышать допустимого тока через вывод микросхемы.

rush писал(а)::) и по таймеру подскажите пожалуйста. вопрос чуть выше этого поста))

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

Сообщение p911 »

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

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

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

Сообщение DataLife »

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

Как убедится, что прогромматор всё же найден компом и чем проблемы вызваны такие меня? ... :cry:
Аватара пользователя
Yellow Tiger
Сверлит текстолит когтями
Сообщения: 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. Сигналы, разумеется, нужно проверять во время попыток программирования - это происходит быстро, если не виден кристалл, то за пару секунд, если не виден программатор, то еще быстрее.
Аватара пользователя
DataLife
Вымогатель припоя
Сообщения: 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 В при потытке заново прошить.
================

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

Сообщение Dancer »

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

Сообщение DataLife »

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

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

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

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

Сообщение DataLife »

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

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

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

Сообщение DataLife »

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

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

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

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

Сообщение Aheir »

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

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

Сообщение Arlleex »

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

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

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