ЭФО предлагает со своего склада новую серию преобразователей интерфейсов USB UART компании FTDI FT232RNL-REEL

Конвертер USB-I2C на ATtiny. Часть 2

Till Harbaum

Окончание
Начало читайте здесь:

Часть 1. Железо

Выбираем схему BMS для заряда литий-железофосфатных (LiFePO4) аккумуляторов

Компиляция прошивки

ATtiny45 достаточно новый микроконтроллер, и не все звенья цепи разработки поддерживают его в текущих версиях. Последние утилиты (компоновщик и ассемблер) и avrdude (программатор) новые микросхемы поддерживают, но GCC не поддерживает. Для GCC-4.1.0 требуется патч, чтобы он поддерживал некоторые AVR микросхемы, включая ATtiny45. Патчи для поддержки новых AVR устройств можно получить здесь.

Загрузка прошивки в контроллер

Если вы знакомы с программированием для Atmel, то вероятно знаете, что делаете. Makefile в каталоге i2c-tiny-usb/firmware/Makefile предполагает, что для программирования Attiny45 вы используете программатор STK500. Для программирования используется режим высоковольтного последовательного программирования (HVSP), задействованы все 6 конфигурируемых пользователем контактов микроконтроллера. Для программирования подойдут программаторы STK500, AVR-Doper и AVR Dragon, так как они поддерживают этот режим.

Имеются две версии прошивки, использующие различные программные реализации USB для AVR. Если вы не уверены в выборе прошивки, используйте скомпилированный файл firmware.hex, поставляемый с исходным кодом.

Устранение неисправностей

Проблема:
Устройство как будто бы работает хорошо, корректно определяется Linux, но я получаю различные сообщения об ошибке, когда пытаюсь работать с устройством с помощью тестового приложения.
Решение:
Во первых, проверьте, что драйвер ядра не загружен, когда вы используете тестовое приложение на основе libusb. Драйвер ядра может быть установлен по умолчанию. Команда rmmod i2c_tiny_usb удалит его. Также проверьте, что вы используете тестовую программу под пользователем root, так как обычные пользователи могут не иметь необходимых прав доступа к устройству i2c_tiny_usb.

Проблема:
Устройство не определяется правильно. Linux в системном журнале сообщает об ошибке типа «устройство не приняло адрес».
Решение:
USB интерфейс вообще не работает. Проверьте, правильно ли прошит микроконтроллер, и правильно ли установлены fuse биты. Другая причина может быть в том, что стабилитроны слишком медленные (см. следующую проблему).

Проблема:
Устройство не определяется правильно. Linux в системном журнале сообщает об ошибке типа «ошибка чтения дескрипторов, error -71».
Решение:
Устройство работает частично, и передача по USB ненадежна. Причиной этого часто бывают медленные стабилитроны, рассчитанные на большой ток. В предыдущий список деталей я поместил два таких стабилитрона. У таких стабилитронов часто более толстые выводы. Попытайтесь просто удалить стабилитроны и устройство заработает, если конечно ваш компьютер поддерживает напряжение 5 В на линиях данных USB. Также может помочь использование USB хаба между устройством и ПК. Иначе же вам потребуются быстрые стабилитроны (как в текущем списке деталей).

Использование устройства с Nokia N800

Устройство i2c_tiny_usb работает на различных компьютерах. Один из наиболее интересных Nokia N800. Вам потребуется задействовать режим USB хоста на вашем N800, чтобы использовать с ним i2c-tiny-usb.

Конвертер USB-I2C на ATtiny

Демо приложение (включенное в i2c-tiny-usb архив) можно легко установить на N800 с репозитория harbaum.org, используя кнопку «Instal»” ниже. После того, как оно будет установлено, его можно запускать из дополнительного меню. Текущий выпуск содержит файл правил udev, разрешающий доступ пользователей к i2c-tiny-usb, и таким образом не требуя более привилегий пользователя root. Ниже представлен снимок экрана моего N800 c i2c-tiny-us, оборудованным термодатчиком DS1621.

Конвертер USB-I2C на ATtiny

Демо программа i2c_usb в настоящий момент поддерживает две микросхемы – клиента I2C: датчик температуры DS1621 и параллельный порт PCF8574 (подключите к нему несколько светодиодов и посмотрите что будет). Поддержку других чипов также легко реализовать, просто используйте вышеприведенный источник.

Установить

Загрузки

Ссылки

harbaum.org

Перевод: [IMG]/i/Image/wand.gif[/IMG] по заказу РадиоЛоцман

На английском языке: I2C-tiny-USB. Part 2

Электронные компоненты. Бесплатная доставка по России
Для комментирования материалов с сайта и получения полного доступа к нашему форуму Вам необходимо зарегистрироваться.
Имя