Jump to content

    

vgo1

Участник
  • Posts

    27
  • Joined

  • Last visited

Reputation

0 Обычный

About vgo1

  • Rank
    Участник
    Участник
  1. Алгоритм Брезенхема более или менее ровномерно распределит периоды включённого состояния ТЭН-ов в общем количестве периодов цикла регулирования и заметно снизит моргание. Алгоритм красивый и простой, я сам когда то его реализал на MEGA8 для получения линейной интерполяции.
  2. После того как поймали RXSTPI. сделайте 8 последовательных считываний из UEDATX и сохраните эти данные чтобы потом анализировать. Только после того как прочли 8 байт, сбросте RXSTPI. Это аппаратно иницирует ACK, программно ничего делать не нужно. Внимательнее прочтите даташит, вся информация оттуда. Забыл спросить зачем вовремя SETUP-а устанавливаете бит STALLRQ ? Если не ошибаюсь, это делается когда вы от хоста получаете не поддерживаемую вашим устройством команду. Аппаратура у вас вроде в порядке, так что изучайте даташит и 9-ый раздел спецификации.
  3. После того как вы сделали atach, шина должна сбросить ваше устройство. Дождитесь EORSTI а не SOFI (while((UDINT & 0x08) != 0x08)), потом сконфигурируйте endpoint0 ещё раз. Шина может сбросить устройство ещё раз. Опять дождитесь EORSTI и снова конфигурируйте endpoint0. После этого уже можете дожидатся RXSTPI. Дальше согласно спецификации шины. Не забудте сразу после получения флага EORSTI его сбросить. Еще прислушайтесь к советам kovigora, он мне здорово помог с USB.
  4. Почему биполярный включать сложнее чем униполярный? Я пользуюсь парой L297 L298 и все становится очень-очень просто.
  5. FPGA это программируемая логика (ПЛИС). Состоит из большого количества логических элементов(от десятков тысяч до десятков милионов) из которых уже сделаны готовые модули(ячейки и массивы памяти, умножители, конфигурируемые логические блоки, размещенные по периметру кристалла блоки ввода-вывода, итд) и матрицы соединений, которая соединяет эти модули согласно вашему проекту. Упрощенно вся система состоит из FPGA, конфигурационной памяти и тактового генератора. В конфигурационную память пишется проект. При каждом включении начинается процесс конфигурирования и информация закачивается в FPGA. Согласно этой информации происходят соединения и настройки вводов-выводов. После этого FPGA переходит в рабочий режим. Проект пишется на языке описания аппаратуры(я писал на VERILOG-е, говорят он похож на Си). Писать проект значит описать свою схему согласно правилам этого языка. Потом идут этапы отладки программы и прошивки конфигурационной памяти. Они похожи на те же действия для мк. Прелесть FPGA в том что вычисления можно организовать параллельно, в отличии от последовательного выполнения команд м мк. Отсюда и хорошее быстродействие. Если заинтересовал, начинайте учится. У меня от начала изучения языка до работы с живым FPGA(Spartan-3) заняо около 5 месяцев.
  6. Я с помощя корреляции идентицировал частоты АОН, DTMF и ответ станции. Атмеловский мк ATmega8 работаящий с кварцем 16МГц успевал. Чтобы ускорить расчеты пользовался таблией заранее расчитанных значений синусов(256 значений). Но от аналогового (или на переклячаемых конденсаторах)фильтра на входе АЦП вам наверное не уйти. После фильтрации можно взять частоту дискретизации намного раз меньше(зависит от частоты среза) и ваш oversampling станет ненужным.
  7. С ресетом ничего не заметил. Как в даташите сказано выжидаю 100мс (по максимуму) после подачи питания потом начинаю инициализацию. Все идет нормально.
  8. И на то спосибо, если после сурового подхода откликнулись. Система не работала по моей оплошности. Вместо команды $a0 посылал команду $0a. Данные не загружались, поэтому и не шла передача Извиняюсь за человеко-часы потраченные на мою тему.
  9. Вопрос был довольно конкретный/Кто то работал с трансивером nRF24L01+ ? /. Отвечать надо просто да или нет/ true или false, 1 или 0/, а не делать ля-ля.
  10. AVR тут ни причем /если не считать что управляю этим модулем с помощю ATmega8/. Этот вопрос я разместил в разделе Rf & Microwave Design, но никто не откликнулся. Вот и решил попытать счастье в более родном мне разделе.
  11. Здравствуйте уважаемые форумчане. Кто то работал с трансивером nRF24L01+ ? Инициализирую регистры, загружаю данные, в регистре CONFIG ставлю бит PWR_UP, через задержку 5мс даю положительный импульс CE 20мкс. По даташиту должна начинатся передача. После успешной передачи ставится одно прерывание, после нескольких безуспешных попыток /я поставил это число 3/ ставится другое прерывание. Я на соответствующей ножке прерывания не вижу. При чтении пегистра STATUS биты прерываний также обнулены. По моему у меня дело до передачи не доходит. Подскажите что делаю неправильно.
  12. Здравствуйте уважаемые форумчане. Кто то работал с трансивером nRF24L01+ ? Инициализирую регистры, загружаю данные, в регистре CONFIG ставлю бит PWR_UP, через задержку 5мс даю положительный импульс CE 20мкс. По даташиту должна начинатся передача. После успешной передачи ставится одно прерывание, после нескольких безуспешных попыток /я поставил это число 3/ ставится другое прерывание. Я на соответствующей ножке прерывания не вижу. При чтении пегистра STATUS биты прерываний также обнулены. По моему у меня дело до передачи не доходит. Подскажите что делаю непражильно.
  13. Вы наверо держите постоянным величину приращения а не число приращений.
  14. Если скорость контроллера позволяет, конечно будет правильно питать его от 3.3В. Обычно максимального быстродействия AVR-ы достигают при питании 5В.