Перейти к содержанию
    

Petka

Свой
  • Постов

    1 438
  • Зарегистрирован

  • Посещение

Сообщения, опубликованные Petka


  1. ... да и само требование автономности ставит под вопрос необходимость их присутствия на плате (тратят драгоценную энергию на нагрев окружающей среды), вот и появляется идея снижения питания всего устройства и подключение индикатора без резисторов.

    ...

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

  2. Всем кто работал с дисплеями Futaba M162MD05AJ помогите: подключил вместо LCD дисплея Winstar WH1602 дисплей Futaba и не работает- на экране появляется "белиберда". Подключение через 4-Bit Interface Using M68 процессор atmega8. Может как то по другому надо проводить инициализацию дисплея в отличие от WH1602? Кто знает пожалуйста подскажите!

    Работал с M242SD04A. Насколько помню там всё аналогично, кроме таблицы знакогенератора. Задайте вопрос конкретнее.

  3. Хотя впечатление такое что просто пластмасса с ножками...

    Посмотрите на маркировку под увеличением. Все ли микросхемы одинаковые, особенное внимание уделите метке "1 пин". Она должна быть на всех микросхемах одинаковой глубины и "диаметра". Что написано на брюшке? Кружок с надписью "TAIWAN"? Можете попробовать сошлифовать пластмассу, есть ли там хоть какой кристалл? Даже есть есть кристалл, то это ещё может быть просто банальная перемаркировка. Звонятся ли защитные диоды на пинах к питанию? На ресете ИМХО не должны звониться.

  4. Похоже столкнулся с подделкой.

    ...

    Может конечно есть некоторые особенности программирования именно tiny15?

    tiny26 и Меги шьются этим программатором нормально.

    Я где-то уже писал что нам встречались меги у которых фузы отличались от значений по-умолчанию. Что привело к невозможности их программирования в схеме.

    Попробуйте подать на вывод XTAL1 меандр 1МГц. Понизьте частоту ISP программирования до 100КГц и попробуйте ещё раз считать сигнатуру.

    P.S.

    Под рукой нет даташита. Там вообще есть XTAL1?

  5. Здравствуйте.

     

    Возникла такая ситуация:

    После сборки устройства, согласно how to, решено было подготовить его к работе. Замкнул х2 - х4. Прошивал avrdude по команде :

    avrdude -p atmega168 -c stk500_by_p -P \\.\com4 -i 10 -B 10 -b 9600 -U flash:w:mega168.hex   -U hfuse:w:0xDC:m -U lfuse:w:0xD7:m

    ...

    После этого я отключил устройство перемкнул перекнул перемычки х2-х3 и подключил снова,.. устройство не моргнуло 6 раз и "зайти" на него не получилось (putty com4)

    Судя по логам AVRDUDE фузы прошились. Однако не видно прошивалась ли основная flash. Сколько времени шла заливка в AVRDUDE? Если несколько секунд, то скорее всего не прошита флэш. Если прошивалось около получаса, то флэш зашита успешно. Тогда вероятнее всего не завёлся кварц на контроллере. Если есть осциллограф - проверьте есть ли на XTAL1 генерация. Проверьте номиналы конденсаторов на кварце. Они должны быть около 12-22 ПИКО Фарад. Можете ради теста вообще снять эти два конденсатора и посмотреть, не "мигает" ли контроллер?

    Далее FUSE.. Собственно вопрос: hfuse:w:0xDC и lfuse:w:0xD7 - это предустановка должна была зашиться или нет?

    .. В ponyprog'е везде стояли галочки (при этом RSTDISBL и SPIEN были недоступны) я выставил таким образом:

    ....

    Если уж вы решились на сборку AVR программатора, то рекомендую ознакомиться с разделом Memory Programming в даташите на ваш AVR. Там есть подраздел Fuses. В нём максимально детально описаны фузы, что они обозначают, какие они имеют значения по-умолчанию и подобное. Будут вопросы - спрашивайте. К калькуляторам фузов рекомендую относиться с настороженностью. Особенно опасны фузы RSTDISBL и SPIEN - если из значение отлично от умолчательного, то дальнейшее программирование через SPI - невозможно.

     

  6. Скажите а с кварцем 16MHz программатор будет нормально работать?

    Будет, но не на скорости 115200. Здесь на этот вопрос уже отвечал, посмотрите FAQ.

     

    ...понадобилось запрограммировать Atxmega, и опять проблема, вычитал, что нужен другой программатор

    , поддерживающий протокол PDI. Нельзя ли ваш приспособить для этого.

    Теоретически можно. Только есть ряд моментов: тот софт, которым вы будете программировать сможет работать с программатором, работающим через COM порт? Если нет, то смотрите в сторону ucGozilla от protoss.

  7. Пример размещен на www.atmel.com, так что если вдруг вся партия разом сдохнет, есть к. отпущения для предъяв :)

    В документации на КОНКРЕТНЫЕ чипы указана схема строения GPIO выводов. В этой схеме отсутствуют специальные токоограничивающие элементы. Есть только паразитное сопротивление открытого канала КМОП транзистора. Нижняя граница этого сопротивления не нормируется производителем. По этой причине использование этого паразитного сопротивления - чистое радиолюбительство. Ещё раз: фраза про возможность прямого подключения светодиода обозначает то, что нет необходимости в других АКТИВНЫХ компонентах. Тем более, что существуют и широко распространены светодиоды со встроенными токоограничительными резисторами. Отсутствие токоограничения сродни хождению по минному полю. Большие сквозные токи могут приводить к внутричиповым наводкам, просадкам питания. Если в чипе используются аналоговые входы (АЦП, компаратор, XTAL) то это может катастрофически сказаться на работе устройства в целом. Будете потом ловить глюки вида: ваш терморегулятор при температуре 88 градусов (все сегменты индикатора горят) не отключает а наоборот включает нагрев.

  8. Ребят, хочу прошить программатором (by petka) память FM25CL64 можно ли это сделать им. и кто нибудь может скинуть схему адаптера или обьяснить на словах какую обвязку нужно сделать (в даташите не нашел)

    Нет, программатор не поддерживает ничего кроме микроконтроллеров AVR. Таковы ограничения протокола stk500v2.

  9. Вывод: При разработке устройства всегда оставлять возможность перепрограмирования устройства в "схеме"

    Возможность перепрограммирования в схеме есть, но это сделать не получится. По причине отсутствия внешней генерации на плате.

  10. В последнее время всё чаще слышу, что "атмел" реализует чипы (будь то МК или флешки) с фьюзами, отличными от значения "по умолчанию".

    Подтверждаю.

    Попались две серии AVRок с фузами, прошитыми на внешний генератор. В устройстве предполагалось использовать внутренний RC. В итоге сотни собранных устройств, которые невозможно прошить "в схеме". Уроды. :maniac:

  11. Ну так я там ещё вчера и такой вариант привёл.

    Уже заметил.

    Только

    1) По крайней мере та версия, что у меня (avr-gcc (GCC) 4.3.4), С-шную хвостовую рекурсию при -Os..-O2 только в цикл превращает, но не разворачивает, для разворачивания нужно -O3 или ключами баловаться. А С++-ная на шаблонах при любых ключах копиляции разворачивается в линейный код.

    А вот это, кстати, хорошо. Пишешь просто код, который тебе нужен, а если нужна мега оптимизация по скорости просто включаешь её в компиляторе. ИМХО код на шаблонах в этом смысле менее гибок получился.

    2) И я там, и Вы тут ошибку сделали :-) — выходит восемь сдвигов и девять выводов в порт :-)

    Ага. =). Иногда в разные головы приходит одно решение.

    P.S.

    Тему лучше всё-таки разделить и часть перекинуть в OpenSource раздел.

  12. Посмотрел по ссылке. Красиво. И реализация, и результат. :a14:

     

    :bb-offtopic:

     

    Можно проще и на чистом си:

    inline void unroll_out(uint8_t count, uint8_t value)
    {
        PORTB = value;
        value <<= 1;
        if(count) unroll_out(count-1, value);
    }
    
    void foo(uint8_t v)
    {
        unroll_out(8, v);
    }

     

    Результат:

    00000014 <foo>:
      14:    88 bb           out    0x18, r24; 24
      16:    88 0f           add    r24, r24
      18:    88 bb           out    0x18, r24; 24
      1a:    88 0f           add    r24, r24
      1c:    88 bb           out    0x18, r24; 24
      1e:    88 0f           add    r24, r24
      20:    88 bb           out    0x18, r24; 24
      22:    88 0f           add    r24, r24
      24:    88 bb           out    0x18, r24; 24
      26:    88 0f           add    r24, r24
      28:    88 bb           out    0x18, r24; 24
      2a:    88 0f           add    r24, r24
      2c:    88 bb           out    0x18, r24; 24
      2e:    88 0f           add    r24, r24
      30:    88 bb           out    0x18, r24; 24
      32:    88 0f           add    r24, r24
      34:    88 bb           out    0x18, r24; 24
      36:    08 95           ret

  13. Прошил программатор, и диод мигает 6 раз секунд за 10, понимаю что работает на частоте 1 МГц, но уже не пускает перепрошить в Pony, что делать помогите

    Переставить перемычку в режим программирования и прошить фузы в Пони на внешний кварц.

  14. Да-да-да, многим это нравится и на сайте FTDI уже пару лет как появилось «наши драйвера позволяется использовать только с нашей продукцией» :-)

    Да, но стоит учесть наличие свободных драйверов для чипов FTDI.

  15. ...

    И почему использование управляющих последовательностей не приводит к буферизации вывода?

    ...

    newlib - достаточно "взрослая" библиотека. Для увеличения производительности она буферизует вывод, в том числе и на stdout (насколько я помню stderr не буферизуется для удобства отладки). Содержимое буфера скидывается либо по fflush как было сказано выше, либо по символу перевода строки "\r\n".

    По поводу yagartoo - она уже давно умела нормально собирать данный функционал.

     

  16. Какие нужно вносить настройки при использовании данного программатора в программу AVRStudio?

    stk500v2

    работает ли он с программой SinaProg? Какой в ней выбирать программатор, STK500 или другой?

    SinaProg это графическая оболочка для avrdude. avrdude умеет работать с этим программатором. Для этого надо в настройках выбрать тип программатора stk500v2

     

     

    Заменил Atmega48 на 8. Все заработало. Подскажите пожалуйста начинающему в осваивании программы AVRStudio4, как ей поправить неправильно выставленные фузы. Если это возможно, объясните поподробнее что где выставить. СПАСИБО за помощь и хороший программатор.

    Сначала надо вдумчиво прочитать и понять раздел "Memory programming -> Fuse bits" datasheet на ваш контроллер avr.

    Там содержится самая достоверная информация о всех возможных значениях Fuse bits и даются ссылки на другие разделы даташита, где описаны эти значения. После прочтения этого обычно вопросов с фузами не остаётся.

     

    .

    Спасибо, Дяденька, что научили нас Истине!

    Оффтоп:

    IAR и Кейл являются коммерческими и якобы профессиональными инструментами, однако в них используется компилятор, годный только для MMU-less микроконтроллеров.

    Попробуйте ими собрать Linux, Qt, софт для QNX, VxWorks, LynxOS, Symbian. Зачем, тогда пользоваться инструментом, опыт при использовании которого вряд-ли пригодится при создании серьёзных коммерческих систем? В этом плане использование AVRStudio + gcc гораздо более перспективно.

×
×
  • Создать...