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

vesago

Свой
  • Постов

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

  • Посещение

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


  1. На входе печатный разрядник, последовательно резистор омм на 100, параллельно входу супрессор типа p6ke6.8 диод к питанию, диод к земле, подтягивающий резистор - стандартная реализация. Разрядник лучьше у народа попросить в соответствующем формате. Или открыть любое устройство сигналлизации - ПКП или датчик и срисовать. Обычно это оголенный по периметру рядом с со входным контактом контур земли, а сам контакт ближе к контуру имеет заострения. Как правило дорожка от контакта к резистору в виде печатного дросселя для дополнительной защиты. Видел, когда от перенапряжения по входу супрессор открывался и сгорала эта дорожка или входной резистор. Мне кажется, что разрядник работает на коронном эфекте, когда напряженность на острых концах выше => пробивает на землю. Может и не так - физику окончательно забыл. Интересный момент. Как-то не работало по 1варе на приличном расстоянии. Добился уверенной работы подобрав праллельно входу резистор на землю.

  2. Чтобы начать работать с АРМ надо, наверняка программатор, который стоит много денег, и научиться паять SOIC и QMLNF...

     

    Я состряпал девайс на LPC2214 начиная со схемы и кончая прогой месяца за 3 с нуля. Девайс - сетевой контроллер доступа на 30000 человек. 8 метров памяти + периферийный авр. Сейчас вот на меге 128 бомблю - второй раз в жизни сталкиваюсь. На арме на порядок проще делать. Архитектура значительно дружественней. Ну и 32 битная направленность очень приятна. Программатора не надо - качнул с филипса флешер через 232 преобраз подключил txd rxd и балдеешь. Вся периферия работает четко и стабильно. Опять же проц на 60 мгц летает - сказка. Пишется в кейле ну или в яре. Кейл мне очень нравится. Имхо яр ему в подметки не годится.

  3. PORTD &= (1<<blabla)

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

     

    PORTD &= ~(1<<blabla);

    #define LED_DDR              DDRD
    #define LED_PORT             PORTD
    #define LED_PIN                PIND
    #define LED                       3
    #define LED_ON                 LED_PORT |= (1<<LED)
    #define LED_OFF                LED_PORT &= ~(1<<LED)
    
        if(system.led_timer == 0)
        {
          if((LED_PIN & (1<<LED)) == 0)
          {
            LED_ON;
          }
            else
            {
              LED_OFF;
            }
    
          system.led_timer = 0.1*(1000/SYSTEM_TICK);
        }

  4. Я думаю, что запрограммированный CKOPT не поможет осуществить шитье без внешней синхронизации. И данная проблема не из-за битого чипа. Не заню с чем это связано - может из-за кварцов-кондеров, может из-за авреала. Не всеж коту масленица. Я такое часто наблюдаю и поэтому сразу на плате предусматриваю подачу внешней синхронизации при программировании. А вообще как свободнее станет сделаю стк 500 на 2313.

  5. Во-первых,

    PORTD.1 = 1 эквивалентно PORTD |= ( 1 << 1 ); // ни в коем случае не PORTD = ( 1 << 1 );;

     

    :) Я имел ввиду общий подход. Я имел ввиду, что лучьше сразу писать стандартно и использовать конструкции вроде PORTD |= ( 1 << blabla ); PORTD &= (1<<blabla) if((PORTD & (...))!=0)и т.п. Во всех нормальных компиляторах и на всех платформах будет работать.

  6. В прекрасном будущем :) хочу забодать JTAG...

    А потом прога у меня есть, - просматриваю типа осцил. запоминающего. Очень помогает! Прогой могу поделится, она моя.

     

    Будьте так любезны vesago(собачка)rambler.ru :)

     

    С AVR знаком с пару месяцев - пришлось использовать как сопроцессор. Сначала попробовал IAR. После Кейла крайне не понравился. Дискомфортно. Поставил CVAVR. Игрушка какая-то. Вобщем вернулся в IAR. Сейчас уже пообвыкся, даже стал получать удовольствие. Чувствуется - вещь! Отлаживать пробовал в симуляторе студии. Но какая-то убогая она. Если надо алгоритм, то отлично и в яре можно. В студии, допустим, мне не представляется возможным отладить протокол усарта полноценно. TWI не прошел. Из яра когда инициализирую регистры сфр, фигню какую-то грузит, хотя работает првильно. В общем надо поскорее жтаг собирать. Протеус странная прога. Устройство на меге 128 в железе работает. В Протеусе вообще не дышит. Вроде и питание завел и прошивку подкрузил - не работает хоть тресни. А вообще из сред Кейл вне конкуренции имхо.

  7. Разница CodeVision и WinAVR в том, что один пакет это IDE, предназначенное для тех, кто не является профессиональным software engineer, а другой именно пакет утилит для профессионалов или тех, кто на пути в этом направлении.

    Как однако вы точно сказали. Недостаток PORTD.1 потом если надо код перегнать под другую платформу, менять больше придется. Приятнее когда PORTD=(1<<LED) - везде пройдет и понятнее имхо.

  8. Спасибо, большое, defunct. Запустился TWI. Мои выводы: TWI не переносит некорректных изменений TWCR. В моей версии в обработчике прерывания я крутил старты и стопы без добавления (1 << TWEN)|(1 << TWINT); Последнюю строку перед выходом из обработчика добавлял. Из-за этого проц просто зависал в обрботчике - ужас.

  9. Спасибо, ребята. А то я начал подумывать, что он у АВР вообще не работает. Сегодня попробую - взял у приятеля жтаг. От отчаяния чета не подумал, что неплохо бы посмотреть что получается в статусном регистре. Быстрее было бы наверное софтовый написать, да дело принципа. Разводку и прочее сперва проверил.

  10. К моему глубокому стыду не могу запустить мастера хоть тресни. Осциллографом не смотрел. У меня две платы на одной мега 128L(кварц 7.3 питание 3.3) на другой 168 (кварц 14.7). И там и там стоит FM31256. Проверяю на обоих. До этого эту микрушку пользовал в проекте на LPC2214. Там i2c очень похож. Я тамошний драйвер подогнал под регистры авр и вставил в проект - не прошло. Тогда воспользовался хардверным драйвером, любезно выложенным haker_fox. Тоже не идет. Валят ошибки буквально с посылки старта. Уж очень не хочется софтовый применять. Сразу скажу - фактически это мое первый опыт в авр. Скажите - вообще этот модуль нормально работает в указаных чипах? Надо ли ноги конфигурировать на ввод/вывод. Может он где дополнительно включается?

  11. На работе есть сетевой доступ. В этой системе связь между контроллерами по двум проводам - общий и сигнальный. Связь на километр на скорости 9600. Схема примитивная - вроде той, что выше приводилось. Сляпана на транзисторах. К компу подключается через конвертер тоже на рассыпухе. Я его ковырял через конвертер 485/232 адам. Питание общее, к сигнальному проводу подключал + 485, - в воздухе. Кажется это называется токовая петля. Наверное и вам надо вроде того сделать. Приятнее все-таки с уартом работать.

  12. Я кстати в кейле жтагом не шью. Заливаю через бутлодер, а мтлинком дебажу. Залить тоже не вышло. Разбираться не стал почему. По поводу точек останова. Как правило если поставить оную без бубнов, то процесс гарантированно не становится на ней. Надо остановить, поставить брэкпоинт, потом пройтись трохи по шагам, может пустить, потом стпорнуть и снова пройтись по шагам и только после этого запускать. Часто вылетает и приходится убивать все брэкпоинты. В общем дело это не тривиальное. Может из-за моей версии 1.6. А по поводу инструкции - если ты не тусуешься на электрониксесахаретелесистемах, то инсталяция мтлинка только на основе соответствующего даташита мне кажется довольно затруднительной. Хотя, конечно, наш бизнес вообще не для слабонервных. Хотел спросить - ULINK самопальный или покупной - как работает? Охота ради спортивного интереса попробовать состряпать типа того, что Елисеев любезно выложил.

  13. Как делал я: Сначала поставить соответствующий юсб драйвер и в устройствах должен появиться наш JLINK при подключенном мтлинке. Светодиод у последнего при этом мигать не должен. В опциях проекта дебуг выбрал юзе RDI интерфейс драйвер. Жмем сеттингс и указываем путь к длл установленых дров. В моем случае это JLINKRDI в вашем JLINKARM если я не ошибаюсь. Потом если все ок, можно из кела войти в настройки драйвера. Я ни чего не менял, только задержку при старте поставил. Вы можете поковыряться со скоростью. Вот собственно и все. Надо сказать, что как-то у меня жтаг отбросил копыта - поковырял я в нем. Чего я только не делал. Фирменная утилита - командер тоже кстати отлично видела девайс. Помог только снос и переустановка оси. Ось у меня XP SP2. Вообще конечно производителю не помешало бы накатать инструкцию по инсталяции и фак.

  14. Я работаю в кейле через RDI 3.20. С теми, что в кейле дровами плохо работало. Сейчас уже научился обращаться с мтлинком. Поставил задержку на старт 200 млс. Без нее бывает долго не соединялся. Возможно это из-за супервизора, который на 100 млс после подачи питания держит сброс. Остальное - по умолчанию. Чтоб брэкпоинт поставить сначала надо стопорнуть процесс, поставить, пройтись по шагам и уж потом запускать. Еще - виснет сабж, если с таргета сбросить питание. После этого надо выдернуть юсб кабель, затем снова вставить. Короче немного в бубен надо постучать. Но в общем - замечательная штука. Возможно, что в 5 версии по другому.

  15. Не поленился - подключил к своему девайсу мтлинк. К сожалению такого эффекта добиться не удалось. Пробовал и мышкой долбать по окну перефирии - все четка. Проект в карме. Маквижн как у всех. Пользую мтлинк 1.6. Дрова рди - последние. Проц LPC2214.

  16. В такоей связке мне кое-что не понравилось. Долго надо ждать если какая задержка. В яре все моментом. И еще - допустим инициализирую усарт. В студии смотрю - записал данные в один регистр, потом в другой. При записи в другой меняются данные и в первом. Хотя работает все правильно. Не всегда так, но частенько.

  17. Вперве применил КА когда надо было сделать контроллер двух турникетов. Теперь только на них все и делаю. Сами свитчи тоже люблю. ифы применяю редко. Код получается понятным, скоростным и сатбильным. Мне кажется для встроенных приложений это оптиамльное решение. Хотя по сравнениию с осью сложнее по началу - надо мышление приучить.

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