1. Скачайте и установите программу Flip. Последнюю версию можно легко найти на сайте Atmel, воспользовавшись поиском по слову Flip. Можете воспользоваться ссылкой [3]. В результате на компьютере появится папка с программой (например, C:\Program Files\Atmel\Flip 3.3.2\), а по кнопке Start будут доступны ярлыки для запуска. Если запустить программу через ярлык (например "Flip 3.3.2"), то получится что-то наподобие этого:
Теперь можно подключить плату userial к компьютеру по USB, и установить драйвер USB Flip.
2. При первом подключении только что собранной, непрошитой платы userial к компьютеру загорится на плате userial зеленый светодиод PWRLED,и система Windows обнаружит новое устройство USB bootloader-а Flip. Если это произошло, значит Ваша плата userial аппаратно исправна и собрана правильно (см. скриншоты).
Теперь нужно установить драйвер. На первый вопрос Мастера установки драйвера отвечаем, что не нужно в этот раз подключаться к Windows Update для поиска драйвера:
Указываем, что драйвер будет лежать в специально указанной папке:
Кнопкой Browse указываем папку usb в каталоге, куда установлена программа Flip:
Далее снова жмем Next и начинается установка драйвера:
В процессе установки может получиться так, что у Вас уже установлена на компьютере библиотека libusb, тогда Мастер запросит Вас - перезаписывать ли уже имеющиеся в каталоге драйверов Windows файлы? Если не знаете, что отвечать, можно нажать на кнопку Yes (файлы будут перезаписаны новыми версиями, как в моем примере):
И, наконец, процедура установки успешно завершится:
3.Теперь можно прошить плату прошивкой userial. Это совсем просто. Скачиваем прошивку (см. ссылки [1]). Скомпилированная прошивка на кварц 16 МГц находится в файле userial\userial-firmware-v1.9\userial.hex. Запускаем программу Flip, в меню выбираем тип программируемого устройства (Device -> Select...):
Из списка выбираем чип AT90USB647:
Выбираем тип подключения Settings -> Communication -> USB:
Для подключения к плате userial жмем кнопку Open:
В результате программа подключится через USB к бутлоадеру в чипе AT90USB647, и на экране отобразится информация о программируемом устройстве (тип чипа, размер доступной для записи памяти, сигнатура чипа и проч.):
Укажем файл прошивки userial.hex, который будем загружать через меню File -> Load HEX File...:
Останется нажать на кнопку Run, и начнется процесс записи чипа. Сначала стирание (стоит галка Erase), потом запись прошивки userial.hex в память flash чипа AT90USB647 (стоит галка Program), а затем будет произведена проверка того, что записалось (стоит галка Verify). Итак, жмем кнопку Run:
После окончания процесса нажмем на кнопку Start Application, и запустится firmware userial в чипе AT90USB647. При этом на плате userial один за другим загорятся желтые светодиоды - сначала LED1 (он слева на фото), а затем LED2 (он справа на фото). Windows обнаружит новое устройство, и запросит драйвер.
Драйвер userial - это просто информационный файл виртуального COM-порта userial.inf, который находится в папке userial-firmware-v1.9 архива по ссылке [1] (там же, где и прошивка userial.hex). На скриншотах проиллюстрирована процедура инсталляции драйвера.
Может случиться так, что обнаружится несколько inf-файлов, подходящих для платы userial. В этом случае выбираем именно наш файл userial.inf:
В ответ на предупреждение о том, что драйвер не прошел тест на совместимость с Windows XP, нажимаем кнопку Continue Anyway (установить все равно):
После непродолжительной процедуры установки в системе появится новый виртуальный COM-порт (в моем примере COM15):
Плата userial готова к работе.
Комментарии
окружающим миром по i2c шине, необходимо скормить ему несколько команд. Пример команды в HEX:
S 36 04 00 00 00 00 P
Здесь:
"S" и "P" - старт, стоп
36 - байт адрес
04 - байт суб адрес
00 00 00 00 - 4 байта данные.
Нужно также обеспечить частоту 100 КГц шины i2c. Есть также вопросы:
1. Какая рабочая частота I2C моста userial?
2. Какое ПО с ним работает? Простые портовые терминалы вряд ли устроят...
У нас была попытка реализовать передачу по средствам этой поделки:
http://nauchebe.net/2010/09/adapter-i2s-som-port-kompyutera/#more-11346
Однако это ПО способно передать только 3 байта данных, и частота, задаваемая в настройках COM-порта, не совсем то что надо... Учитывая все вышеизложенное - возможно решить задачу по средствам предлагаемого Вами моста userial? Прошу по возможности ответить подробнее.
microsin: по умолчанию с userial работает ЛЮБОЕ ПО, которое понимает, что такое COM-порт. Если такие программы почему-то Вас не устраивают, Вы можете написать собственное ПО, так как работать с COM-портом для программиста довольно легко. Подробнее, чем рассказано в доке на userial (раздел [Ссылки], см. ссылку 4) - я ни за что не расскажу, потому что у меня все равно другой информации нет, только оригинальная дока. Могу сказать одно - проект userail полностью открыт - и исходный код, и схема, и печатная плата, и документация на userial, и даташит на применяемый чип AT90USB647 - все в свободном доступе. Поэтому, если Вас вдруг что-то не устраивает, то Вы можете допилить это неустраивающее под свои нужды. Например, доделать firmware так, чтобы частота работы I2C была строго как Вам надо, 100 кГц, не меньше и не больше.
Поэтому изучите даташит на чип AT90USB647, доку userial, изучите его исходный код, изучите Ваше техзадание и Ваши возможности. Тогда станет ясно, пригодится Вам userial, или не пригодится. Извините, если ничем не помог, я наверное еще бОльший чайник, чем Вы.
microsin: напишите в почту (см. Контакты) - так проще общаться, и я не хотел бы загромождать статью комментариями.
2. Чем можно программировать этот микроконтроллер ?
microsin:
1. В моем WinAVR версии 20080610 есть такой заголовок - iousb647.h, и наверняка он есть и у Вас, так как мой WinAVR старее Вашего. Имейте в виду, что этот заголовочный файл нельзя напрямую включать оператором include, а только через диспетчер заголовков avrio.h.
2. Запрограммирова ть AT90USB647 можно легко всеми возможными стандартными средствами, начиная с бутлоадера DFU/Flip, см. даташит на микроконтроллер .
microsin: похоже на искусственное программное ограничение. Посмотрите, может в документации на userial что-то есть по Вашему вопросу, я не знаю ответ. Если не найдете, то смотрите исходники userial.
microsin: заводское состояние я Вам только что указал. Если надо состояние битов по их именам, то откройте даташит на чип AT90USB647, там все подробно разжевано. Здесь больше на Ваши комментарии отвечать не буду, пишите на почту.
microsin: фьюзы никак не должны быть запрограммирова ны, их трогать не надо, у них должно быть заводское состояние по умолчанию - 0x5E LOW FUSE BYTE, 0x9B HIGH FUSE BYTE, 0xF3 EXTENDED FUSE BYTE.
ПК обнаружил устройство, драйвер установлен. Я прошил устройство прошивкой userial.hex, и нажал "Start Application", - но ПК ничего не нашел.!
У меня кварц на 12 МГц (к сожалению, на 16 у меня нет, и в магазине тоже нет!). Подскажите пожалуйста: в папке userial-firmware-v1.9 - есть исходники? если да, то с помощью какой программы можно открыть их и откомпилировать проект под 12 МГц?
microsin: не уверен, что можно поменять настройки интерфейса USB под кварц 12 МГц - изучите предварительно даташит на чип AT90USB647. Компилировать исходники из папки userial-firmware-v1.9 нужно с помощью утилит make и gcc (входят в пакет WinAVR).
microsin: либо драйвер не подсунули, либо ножки микроконтроллер а USB D+ и D- перепутали.
microsin: не прощу. Файл с расширением .a90 обычно и есть hex - откройте этот файл и посмотрите, что внутри. А вообще-то Вы похоже не тот файл скачали. Нужно было скачать другой файл, 64X-usb-boot-1-0-0.a90. Процесс по шагим:
1. Вбиваете в Google название чипа AT90USB647, и по первой же ссылке попадаете на сайт Atmel с описанием чипа.
2. На странице с описанием чипа ищите AT90USB64x USB Bootloader v1.0.0, там указана ссылка для закачки - http://www.atmel.com/dyn/resources/prod_documents/64X-usb-boot-1-0-0.zip.
3. Закачиваете, распаковываете. В архиве лежит один-единственный файл 64X-usb-boot-1-0-0.a90, это и есть бинарник бутлоадера (в формате HEX), который надо прошить Вашим любимым программатором. Если не можете подсунуть программатору файл с расшиоением .a90, просто переименуйте расширение на .hex - и прошейте.
Как альтернативу можно использовать также бутлоадер LUFA, он доступен в двух вариантах - DFU и CDC. Бенефит этих бутлоадеров в том, что на них есть исходники, поэтому их можно коцать и калечить как угодно в свое удовольствие.
microsin: убедитесь, что у Вас в AT90USB647 цел USB-бутлоадер. Для этого перепрошейте его с помощью Вашего программатора. Бинарник бутлоадера для чипа AT90USB647 можно найти на сайте Atmel. Далее действуйте, как написано в статье. После процедуры инициализации бутлоадера установите для него драйвер, и затем используйте вместе с программой Flip. В принципе, если у Вас есть программатор, то бутлоадер Вам не нужен, хотя его использование может оказаться удобным в случае отсутствия под рукой программатора.
RSS лента комментариев этой записи