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

Если не затруднит просветите в чем разница между 910 и STK 500

 

2 prottoss а когдаже будут светодиоды, уже так хочется собрать в корпус.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наваял тут программатор USB, совместимый по командам с AVR910 ISP Programmer. Довольно шустро работает и не надо драйверов, т.к CDC-класс... Если кто повторит, интересно почитать мнение

Посмотрел на схему и вижу: Mega8-16, напряжение питания 3,5 В, частота 12 МГц... Как я понял, при таком питании максимальная гарантированная частота 8 Мгц, или я не прав?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 prottoss а когдаже будут светодиоды, уже так хочется собрать в корпус.
До конца недели будут точно. Блочный режим уже написан, что подняло скорость программирования примерно раза в 1,5 - 2 (оценивал визуально). SPI работает на четырех фиксированных частотах, в зависимости от тактовой частоты МК - clock/8 ../16.. /32.. /64 в - это для AVR. Для 89S частота будет clock/128

 

Наваял тут программатор USB, совместимый по командам с AVR910 ISP Programmer. Довольно шустро работает и не надо драйверов, т.к CDC-класс... Если кто повторит, интересно почитать мнение

Посмотрел на схему и вижу: Mega8-16, напряжение питания 3,5 В, частота 12 МГц... Как я понял, при таком питании максимальная гарантированная частота 8 Мгц, или я не прав?

даташит ATmega8 Complete, Раздел ATMega8 Typical Characteristics ->Active Supply Current (Page 247 Figure 119 Active Supply Current vs Frequency (1 - 20 MHz))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Однако немного схитрили ребята, я еще пока разбираюсь, но что то там с HIDом завязано, а это похоже, что дрова надо ставить, или я не прав?

1) HID хорош как раз тем, что это стандартный класс, для которого свои драйверы не нужны.

Можно и на ХИД-классе сделать, а под девайс написать свой драйвер, благо опыт небольшой есть, но хочется, чтоб без разных дров все работало.
Думал, что это опечатка (и имелся в виду не драйвер, а свой софт уровня приложения), но похоже, что это другое.

HID'у драйверы не нужны, так как используется стандартный системный. Но вот чтобы работать с устройством HID, для которого система уже предоставляет свой драйвер, нужно писать свою утилиту, работающую либо со стандартными системными устройствами (мышь, клавиатура, джойстик), либо со специфическим HID устройством, но по стандартному API.

 

Имелось в виду драйвер, который бы выступал в качестве виртуального СОМ-порта, и передавал данные на HID-устройство. Дело в том, что изначально устройство задумывалось, как совместимое со стандартным атмеловским софтом, который и ведать то не ведает про HID, да и из СОМ-портов то только всего два видит...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Имелось в виду драйвер, который бы выступал в качестве виртуального СОМ-порта, и передавал данные на HID-устройство. Дело в том, что изначально устройство задумывалось, как совместимое со стандартным атмеловским софтом, который и ведать то не ведает про HID, да и из СОМ-портов то только всего два видит...

Значит, в тот раз я понял правильно.

А в этот раз вопрос про драйвер для HID меня сбил с толку. Впрочем, CDC в данном случае выглядит интереснее. Беда лишь одна - он жрет процессорное время AVR (см. описание драйвера). Так что для простых вещей, завязанных на USB, это приемлемо. А вот как побочный интерфейс наряду с основной сложной функциональностью - увы...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

2 prottoss а когдаже будут светодиоды, уже так хочется собрать в корпус.
До конца недели будут точно. Блочный режим уже написан, что подняло скорость программирования примерно раза в 1,5 - 2 (оценивал визуально). SPI работает на четырех фиксированных частотах, в зависимости от тактовой частоты МК - clock/8 ../16.. /32.. /64 в - это для AVR. Для 89S частота будет clock/128

А может есть уже прикидки на каких ножках они будут стоять, а то я уже плату развел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Значит, в тот раз я понял правильно.

А в этот раз вопрос про драйвер для HID меня сбил с толку. Впрочем, CDC в данном случае выглядит интереснее. Беда лишь одна - он жрет процессорное время AVR (см. описание драйвера). Так что для простых вещей, завязанных на USB, это приемлемо. А вот как побочный интерфейс наряду с основной сложной функциональностью - увы...

Наверное, немного энтузиастов возьмутся делать на подобном драйвере виртуальный жесткий диск или еще что, требующее большой перекачки данных, но для малых устройств, ИМХО, отличное решение, тем паче на Си. Решающее значение имеет то, что в одном флаконе (корпусе) можно объединить USB и собственно функцию

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А может есть уже прикидки на каких ножках они будут стоять, а то я уже плату развел.

 

Спэшл фо ю: т.к. порт В безнадежно занят под ИСП, и как раз на нем два свободных ВВ, то РВ0(запись) и РВ1(чтение)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Наверное, немного энтузиастов возьмутся делать на подобном драйвере виртуальный жесткий диск или еще что, требующее большой перекачки данных, но для малых устройств, ИМХО, отличное решение, тем паче на Си. Решающее значение имеет то, что в одном флаконе (корпусе) можно объединить USB и собственно функцию

Решение-то отличное, но я же не об этом. А о том (см. документацию на драйвер), что при реализации CDC (и вообще bulk transfer) драйвер будет проводить внутри USB прерываний 90% процессорного времени AVR независимо от того, что он делает, так как хост будет поллить его до посинения. В итоге на собственно функцию останется только 10% времени CPU.

 

Имея требование обеспечить приоритет USB int0, мы ничего не сможем с этим сделать. Так что про time-critical функции можно легко забыть. Программатору это не критично, как и boot-loader'у, а вот другим применениям - даже очень. Единственным вариантом я вижу или отключать USB устройство, когда оно не нужно (использовать только для конфигурирования или сливания данных, а в остальном - работать автономно). Или не использовать такие интерфейсы, что обидно.

 

Workaround'а автор пока найти не смог, если это вообще возможно.

 

Дословно из переписки:

BTW: Bulk endpoints (as they are required for the CDC class) are not as useful as it seemed at first glance. The host polls them at the highest possible rate if there is nothing else to do. This consumes

90% of the AVR's CPU time in the USB interrupt. I have found no workaround for this.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

...при реализации CDC (и вообще bulk transfer) драйвер будет проводить внутри USB прерываний 90% процессорного времени AVR независимо от того, что он делает, так как хост будет поллить его до посинения. В итоге на собственно функцию останется только 10% времени CPU.
И, что ни каких путей управления управляющим потоком (извините за каламбур) нет?

 

И еще вопрос: bulk transfers могут быть 8, 16, 32, 64 байта..., для низкоскоростных устройств, и для драйвера, в частности, это тоже имеет место?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

И, что ни каких путей управления управляющим потоком (извините за каламбур) нет?

Я не смотрел новый драйвер в этом плане. Но если автор пока путей не видит, то боюсь, что действительно есть проблема. Можно, конечно, просто отвечать на все NAK, но работать при этом мы с USB не сможем.

 

И еще вопрос: bulk transfers могут быть 8, 16, 32, 64 байта..., для низкоскоростных устройств, и для драйвера, в частности, это тоже имеет место?

Не смотрел, надо смотреть код. Или спросить автора драйвера. Я спрашивать пока не готов, так как не "въезжал" в эту тему пока. Времени нет.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А может есть уже прикидки на каких ножках они будут стоять, а то я уже плату развел.

 

Спэшл фо ю: т.к. порт В безнадежно занят под ИСП, и как раз на нем два свободных ВВ, то РВ0(запись) и РВ1(чтение)

 

Как они должны быть подключены, анодом к мк через резюк или иначе.

Планируется индецировать соединение девайса с USB ?

И как заиметь свежую прошиву, насайте от 15.07.2006

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как они должны быть подключены, анодом к мк через резюк или иначе.

Планируется индецировать соединение девайса с USB ?

И как заиметь свежую прошиву, насайте от 15.07.2006

 

IMHO, лучше не тратить время на AVR910 программатор когда уже есть STK500 совместимый на полностью аналогичной схеме. AVRProg (AVR910) практически не обновляется, между вер1.37 и вер1.40 несколько лет прошло и будет ли следующая версия не известно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как они должны быть подключены, анодом к мк через резюк или иначе.

Планируется индецировать соединение девайса с USB ?

И как заиметь свежую прошиву, насайте от 15.07.2006

Светодиоды будут подключаться, скорее всего, анодом к МК, катодом через резистор 220 ... 330 Ом на "землю" . Кроме этого, планируется поставить опторазвязку, подключение оптронов по точно такому же принципу. Прошивка будет доступна так же на страничке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

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