Оссобенности использования микроконтроллеров различных производителей.

Тема в разделе "WASM.ELECTRONICS", создана пользователем a9d, 19 окт 2009.

  1. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Существует ли документация, или статья по подобной теме?
    Если нет то напишите, из своей практики, какие есть "особенности" у разных МК.

    Вот например сегодня часов пять провозился с atmega8535 в попытках использования PORTA и PORTC в качестве выхода. Пока не дошло, что для этого нужно запитать вывод AVCC. Хотя в книгах пишут, что этот вывод необходим для запитки аналоговой части МК и его можно не использовать.
     
  2. Pavia

    Pavia Well-Known Member

    Публикаций:
    0
    Регистрация:
    17 июн 2003
    Сообщения:
    2.409
    Адрес:
    Fryazino
    Особенности контроллера описываются в документации на этот контроллер.
     
  3. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Выдержка из даташита:
    Код (Text):
    1. AVCC is the supply voltage pin for Port A and the AID Converter. It should be externally connected to Vcc, even if the ADC is not used. If the ADC is used, it should be connected to Vcc through a low-pass filter.
    Тут написано, что он должен быть обязательно подключен. Даже если не используется АЦП. Но про PORTC не сказано ни слова. Также не написаны последствия если его не запитать.

    Официальная документация слишком сухая. Это все равно, что учить программирования по MSDN.
     
  4. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Появилась проблема с atmega8.
    При использовании выводов PD5(T1), PD6(AIN0), PD7(AIN1) выход.

    Если хотя бы на один из этих выводов подать 1 то прошивка вешаеться. Хотя я перед этим запретил все прерывания.

    cli();
    ACSR=1;
    GICR=0; //это уже от параннои
     
  5. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    Извиняюсь. Вопрос снимается.

    Подача напряжения на эти выводы приводила к просиданию напряжения во всей схеме. Этого вовремя не заметил((
     
  6. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    a9d
    А в доках про этот момент чётко сказано:
    AVCC is the supply voltage pin for the A/D Converter, Port C (3..0), and ADC (7..6). It
    should be externally connected to VCC, even if the ADC is not used. If the ADC is used,
    it should be connected to VCC through a low-pass filter. Note that Port C (5..4) use digital
    supply voltage, VCC.

    Если вы таким методом запрещаете прерывания, то неудиительно, что вешается:
    Analog Comparator Control and Status Register – ACSR
    Bits 1,0 – ACIS1, ACIS0: Analog Comparator Interrupt Mode Select
    0 1 Reserved
     
  7. a9d

    a9d New Member

    Публикаций:
    0
    Регистрация:
    26 апр 2006
    Сообщения:
    234
    Адрес:
    Zimbabwe
    2Black_mirror: Читайте внимательно даташиты и мои ответы.

    ACSR=1; Это отключить компаратор. На прерывания никак не влияет.
    cli(); запретить все прерывания.

     
  8. Black_mirror

    Black_mirror Active Member

    Публикаций:
    0
    Регистрация:
    14 окт 2002
    Сообщения:
    1.035
    a9d
    С компаратором я действительно промахнулся.

    А вот по поводу питания у меня есть такие соображения: Ноги у контроллеров обычно тонкие, если всю максимально потребляемую мощность подать через одну из них, то она просто сгорит. Кроме того прокладывать через весь контроллер шины питания смысла не имеет. Самому ядру нужно не так уж много, основные потребители - это выходные усилители, которые должны выдавать ток, порядка 10 мА. Еще аналоговую и цифровую часть обычно разделяют, чтобы они не сильно друг на друга влияли шумами. Так что если не подключить все выводи питания, то либо не будет работать часть функций, либо контроллер может просто сгореть.
    Я вот сталкивался с микросхемой W5100, которой для питания требуется 3.3 и 1.8 вольт. Преобразователь 3.3->1.8 стоит внутри микросхемы, но 1.8В выходит наружу, и на выводу требующие такого напряжения подаётся извне(на часть выводов через фильтр, на часть напрямую).