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

VladimirYU

Свой
  • Постов

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

  • Посещение

Весь контент VladimirYU


  1. Конечно зависит, например, несколько различных функциональных узлов могут быть подключены к одним и тем же выводам МК, а выбор устройств выполняется сигналами CS (chip select). В постейших случаях может оказаться достаточно просто деактивировать выводы портов ( оставить в 3 состоянии, как после сброса) или если позволяет схемотехника, наоборот записмать в них 0 или 1. Это уже обсуждалось в данной теме.
  2. Что Вы понимаете под "коротнуть питание". Если есть возможность поставте внешний супервизор для сброса DS1813 или что-нибудь подобное и отключите внутренний BОD, проверьте что у вас с "собакой". Проверьте фузы. Установите внешний кварц с конденсаторами, в фузах включите внешний осциллятор и CKOPT. Посмотрите генерацию "rail to rail". Чудес не бывает, эти МК используются тасячами. Вероятность, что Вы налетели на производственый брак, конечно, есть, но ваши МК даже разных моделей а поведение одинаковое. Упрстите для начала программу, чтобы убедиться в устойчивом функционировании самого МК. Промойте плату тщательно. Исходник Ваш почемуто не читаеся. Выложите еще раз.
  3. А может в сторону сигма-дельта АЦП посмотреть, например AD, там апнотов для измерения термопар предостаточно. Немного другой подход и ИУ не нужен вообще. 2% на AD7715 + ATmega16 получал без без проблем. Лепить на рассыпухе.... дайте нам эпоксидки и старых трусов, а текстолит мы и сами сделаем.
  4. 2VladimirYU: Расстояние до 1-2 м, скорость до 19,2К Потянет напрямую, как написал Dog Pawlowa.
  5. Владимир_КПИ Еще одна рекомендация Port A has an alternate function as analog input for the ADC as shown in Table 22. If some Port A pins are configured as outputs, it is essential that these do not switch when a conversion is in progress. This might corrupt the result of the conversion. Стр 57.
  6. Так вот и получается, что узкое место не внешний интерфейс VNC1L, а внутрення реализация обмена с USB учтройствами. Тогода получается, что использование FIFO серьезного выиграша не дает, зато занимает 12 ног контроллераю. Можно ли сделать такой вывод? А кстати, что можно сказать про SPI, кроме того что он внешне какой то кривой?
  7. Вроде запустил VNC1L c FIFO, впечатления такие, одним словом ТОРМОЗ. Максимум, чо удается выжать примерно 130-150 кБ/сек. Одна команда так и не заработала CD ( change directory). Квитирование странное, иногда при записи в файл вдруг ни стого ни с сего возникает запрет на запись и требуется чтение (вычерпывание) буфера, только после этого можно продолжать запись иначе полный "висяк". Допускаю, что у меня тоже не все сделано гладко, но работает. МК ATmega128. Перехожу к написанию библиотеки под UART. У кого какие впечатления, очень интересно обсудить ньюансы и возможные грабли.
  8. ИМХО любое отклонение от DS сознательно заложенное в разработку мягко говоря не очень хороший тон. Полученный на одном экземпляре положительный результат не дает ни уверенности, ни "юридической" чистоты изделия. В документации ATMEL, по крайней мере на бумаге, фигурируют МК с буквой L (ATmega128L) у них питание от 2.7В. Правда не знаю есть ли они "живьем".
  9. Покажите как включен UART.h какие скобки <> или "".
  10. -l[+]# -l# Установить уровень защиты # = 1 (LB2=1,LB1=0) или 2 (LB2=0,LB1=0) -l+# То же самое, только lock биты прошиваются до зашивки fuses (необходимо для включения BODEN и залочки 90s4433 в одном цикле подачи питания)
  11. В Вашем случае это не так важно. Если CKOPT = 0 ( запрограммирован) имеете полный рамах сигнада (rail no rail) это необходимо для частот от 8 до 16 МГц, если CROPT = 1 (незапрограммирован) то при ваших CKSEL от 1 до 8 МГц.
  12. проблема с MEGA1280

    А чем она у тебя ночью занимается :) Немного подробней, пожалуйста. Верификацию программы делали?
  13. Не занимался лично сравнением всех вариантов, но для МК вариант п.2 как то привычней. Но это ИМХО, поэтому не настаиваю.
  14. Согласен с п2. дополнительно только программно записать туда 0. В AVR это наиболее приемлемый вариант.
  15. Грубо говоря, четыре компаратора в одном корпусе решат проблему.
  16. А расстояние? Если в пределах одного прибора (платы), то как предложил Dog Pawlowa, если больше, то не помешал бы RS232 трансивер на каждый контроллер.
  17. AT90PWM3, 10 битный ЦАП на борту, стоит 4$, сам МК ориентирован на Motor Control.
  18. К сответу уважаемого Igor Kossak можно добавить, что имеет смысл посмотреть в сторону ATMEL.COM. Тем более опыт у Вас немалый, поэтому описания имеющихся средств разработки и отладки вам должны быть понятными. А на конкретные вопросы Вам на форуме ответят.
  19. Как и любой таймер при переполнении. Поэтому программа должна постоянно сбрасывать его счетчик командой WDR. Если по какой-либо причине программа где-то "заблудилась" и этого не сделала, происходит сброс МК и полная переинициализации. Анализируя специальный регистр можно лпределить причину вызвавшую сброс. Но лучше все-таки почитать об этом самому в DS на конкретный МК. Как я уже отмечал, если говорить об AVR, то из личного опыта рекомендую сконфигурировать их на выход и записать туда 0.
  20. [2.3 Константы Целая константа, например 1234, имеет тип int. Константа типа long завершается буквой l или L, например 123456789L: слишком большое целое, которое невозможно представить как int, будет представлено как long. Беззнаковые константы заканчиваются буквой u или U, а окончание ul или UL говорит о том, что тип константы - unsigned long. Константы с плавающей точкой имеют десятичную точку (123.4), или экспоненциальную часть (1е-2), или же и то и другое. Если у них нет окончания, считается, что они принадлежат к типу double. Окончание f или F указывает на тип float, а l или L - на тип long double. Целое значение помимо десятичного может иметь восьмеричное или шестнадцатеричное представление. Если константа начинается с нуля, то она представлена в восьмеричном виде, если с 0x или с 0X, то - в шестнадцатеричном. Например, десятичное целое 31 можно записать как 037 или как 0X1F. Записи восьмеричной и шестнадцатеричной констант могут завершаться буквой L (для указания на тип long) и U (если нужно показать, что константа беззнаковая). Например, константа 0XFUL имеет значение 15 и тип unsigned long. K&R. Может проще так.
  21. Про биты в даташитс на соответствующий контроллер, про avreal32 на сайте автора. http://www.ln.ua/~real/avreal/index.html Для реализации сброса контроллера в случае его зависания по какой-либо причине, например, бесконечный цикл. Это один из механизмов самовостановления работоспособности устройства, и поиска фатальных программных ошибок. Если кратко.
  22. Я бы скзал обязательно не запретит прерывания. Компилятор не имеет права решать за программиста, ИМХО.
  23. Иногда бывает полезно неиспользуемые ноги портов привести в строго определенное сосотояние. Например сконфигурировав их на выход и записать туда нули.
  24. Не удается связать МК ( ATmega128) и VNC1L в составе VDIP2 по FIFO. Джамперами выбрал тип интерфейса FIFO, подсоединил все линии FIFO D0...D7, RXF,TXE, RD, WR, завел внешний RESET от МК к VNC1L. Прописал все основные функции, и вот результат. Хочу прочитать STARTUP, но после инициализации VNC1L ( светодиодами поморгала) на линии RXF gjcnjzyyj постоянно 1, т.е. согласно даташиту читать нельзя, устройство не готово. Чего то я не понимаю, даташит перелопатил, но видимо уже глаз замылился. Буду рад любому конструктивному совету.
×
×
  • Создать...