подключение к USB

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Почитайте тогда про декодер. В зависимости от двоичного кода он выставляет лог. 1 (или 0 в зависимости от типа) на выходе с номером равным значению кода и лог. 0 (соотв. лог. 1) на остальных выводах. Этот сигнал можно использовать для коммутации лампы подключенной к этому выходу. Но наверное лучшим решением при большом числе ламп и их одновременной засветки будет поставить драйвер светодиодов, например что-нибудь типа 24-канального TLC5951 или какой-либо менее навороченный с I2C/SPI интерфейсом, например PCU9656. Они также содержат регулировку яркости по каждому каналу.

Насчет литературы на русском по МК семейства C8051 могу порекомендовать 2 книги:
http://www.ozon.ru/context/detail/id/3795608/
http://nnm.ru/blogs/lashch/x51-sovmesti ... my-cygnal/
Еще здесь на форуме есть тема
http://radiokot.ru/forum/viewtopic.php?f=20&t=59015
Ну и не стесняйтесь спрашивать, мы тут поможем чем сможем.
Реклама
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Большое спасибо! На озоне книжку заказал, завтра заберу. А вы не знаете, в proteus эти МК есть? у меня по запросу "0851" выдает фирмы philips, atmel, generic
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Обе книжки я где-то встречал в сети для скачивания, можно полистать перед тем как покупать. С Протеусом не работаю.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Ser60, а какие еще программаторы, кроме описанных в статье про программатор из Toolstick-ek подходят для прошивки C8051F320? Просто оказалось что достать их в Питере достаточно сложно.
Контактная информация:
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Недавно я прочитал, что фирма прекратила выпуск Toolstick-EK, но на складах они еще кое-где есть. Я сам пользуюсь штатным USB программатором/отладчиком
http://www.silabs.com/products/mcu/Pages/USBDebug.aspx
Из самодельных посмотрите здесь:
http://silabs.org.ua/sp_ru.htm
Но я их не пробовал.
Реклама
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Спасибо, сейчас буду собирать программатор на LPT и контроллер думаю F340 взять, у него ног больше. А те примеры что приведены в вашей статье пойдут с заменой заголовочного файла C8051F380_defs.h на C8051F340_defs.h и USBX_F38X.LIB на USBX_F34X.LIB или надо еще что то изменять? И чем отличаются контроллеры F340-GQ от F340-GQR?
Контактная информация:
Реклама
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

В зависимости от компилятора может потребоваться раскомментить вызов первой функции у меня в программе. Я пользвался Keil и запуск USB clock находится в его start up коде. Согласно ДШ f340-GQR не существует. В любом случае, думаю это несущественно. Дайте знать как получится (или нет) запрограммировать МК.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Хорошо, по результатам отпишусь, а про F340-GQR вот, http://www.megachip.ru/item.php?item_id=1044171 причем F340-GQ отсутствуют, а GQR аж 700 шт :)
Контактная информация:
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Еще появился вопрос: на схемах программатора у разъема программирования замкнуты ноги Vio и C2CK через резистор более 4,7 кОм но почему то уже на программируемом устройстве. Зачем? можно же прямо на плате замкнуть, или это надо что бы определить наличие устройства? и еще я правильно понял что C2DAT надо подключить к ноге P2.7 а GND соответственно к земле и все?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Я тоже не вижу смысла в этом резисторе если делать схему с нуля. Вероятное обьяснение - программатор предназначался к использованию с какой-то готовой target board, где резистор подтяжки пина reset уже установлен. Однако, если делать по первой схеме, то в общую точку R1 и R2 надо завести питание 3.3в.

Для программирования F340 к нему надо подключить землю, reset и C2DAT (к выводам 13 и 14, соответственно). Кроме того, надо подключить питание как показано на рис. 8.4 в ДШ.

Мой Вам совет - разоритесь на нормальный программатор для C8051. Контроллеры классные, меня потом не раз вспомните.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

чего то я посмотрел на все это, пожалуй я действительно разорюсь на нормальный программатор... :))
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Очень мудрое решение. Насчет Toolstick-EK, я думаю их выпуск прекращен из-за выхода в свет серий F37x и F39x пару месяцев назад. Oни разработаны на замену старой серии F30x, МК которой размещен на плате Toolstick-a, и которая уже после новых не столь интересна. Я попробова F39x, впечатления очень положительные. С интересом обнаужил что в этих новых сериях (среди всего прочего) помимо стандартной возможности перенаправить выводы периферии практичеки на любые выводы корпуса, Силлабы поши дальше и заложили возможность менять порядок выводов корпуса на I2C шине (напрямую или крест-накрест). Это очень удобно при разводке плат в радиолюбительских условиях. Такого гибкого коммутатора ресурсов нет ни в одном другом МК. Ну и вообще...
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Да я вообще дальше планирую на STM32 перейти, тем более что STM32LDiscovery уже лежит, пылиться :)
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Но если так, то я тогда не понял зачем Вы сейчас собираетесь покупать программатор для одного проекта на F320? Почему сразу не перейти на STM32?
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Проблема в том, что у этого проекта очень сжатые сроки: необходимо что бы этот тренажер "работал" (на компьютер выводилось положение кнопок и с него управлялись лампочки) к апрелю. Я вполне адекватно понимаю, что с моим багажом знаний такое на STM32 не осилить. По-этому я и выбрал контроллер, на который уже расписан пример. А из дальнейших проектов у меня пока брежжит впереди велокомпьютер с сенсорным жк дисплеем и кучей функций, и я боюсь что C8051 мне уже может нехватить
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Понял. Но и на проект "обычного" велокомпьютера Вам C8051 хватит с огромным запасом, если, конечно, не собираетесь на этом дисплее видео показывать или производить навигацию по GPS или типа того.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Сегодня полез в configuration wizard 2, выбрал там контроллер F340, и нашел, что у него можно настроить только 4 ШИМа, есть ли возможность сделать пятый ШИМ без использования внешних преобразователей? И еще: Вы в вашей статье приводите примеры на C++ а у Гладштейна в той книге, которую Вы мне порекомендовали, разобраны примеры на ассемблере, а я не очень дружу с ним, не могли бы посоветовать, как лучше портировать примеры, которые там даны?
оффтоп:
Спойлера с велокомпьютером Вы почти угадали, я хочу сделать его с сенсорным экраном, возможностью открытия картинок с microSD карты запись картинки с 2х видеокамер и параметров езды, отображение картинки с одной из камер на экран во время движения плюс проигрывание музыки или радио и возможность записывания радиоэфира на карту памяти,
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Я полагаю, что Вы не туда посмотрели для конфигурации PWM. Именно, в F340 есть 4 таймера, но в противоположность большинству МК PWM организуется не на них. Помимо таймеров в F340 там есть еще блок PCA с каналами формирования 8- или 16-битной ШИМ PCA0 - PCA4, как раз то, что Вам нужно. Блок PCA4 совмещен с Watchdog таймером, но его можно отключить и появится возможность для генерации ШИМ на 5-м канале.

Строго говоря, у меня в статье софт для МК написан на С, а не на С++. Но скорее всего, Вы и имели в виду С. Однако, куда Вы хотите портировать ассемблерный код из книги? Если в С, то для приведенных там примеров переделки минимальны. Именно, везде для настроек регистров используйте С-шный оператор присваивания "=" вместо команды "mov", и замените условные переходы на "if"-конструкции и циклы, например, на "while"-конструкции. А лучше, изучите АСМ - будет гораздо полезнее. Он там достаточно простой.

Проект для велокомпьютера выглядит грандиозно.
Открыл глаза
Сообщения: 61
Зарегистрирован: Вт авг 14, 2012 21:13:42
Откуда: Санкт-Петербург

Сообщение PetrB09 »

Ser60 писал(а):Но скорее всего, Вы и имели в виду С
Да, прошу прощения, перепутал :oops:
С конфигурацией ШИМ разобрался, спасибо,
А еще возник вопрос: Вы в статье написали, что максимум можно передать 63 байта. Я правильно понимаю, что можно в 1 байт запихать положение 8 кнопок, или 8 лампочек? и что на каждый 8 битный ШИМ нужен отдельный байт?
Контактная информация:
Друг Кота
Аватара пользователя
Сообщения: 3784
Зарегистрирован: Ср дек 24, 2008 09:58:58

Сообщение Ser60 »

Какую статью Вы имеете в щиду? Если про USBXpress, то передавать массив можно любой длины, деля его на куски. Там в апноутах фирмы есть соответствующие примеры. Если-же про HID, то длина пакета - это стандард протокола. Можно, конечно, передавать и более длинные сообщения, опять-же деля их на куски.

Да, в один байт можно запихать инфу о 8 кнопках или лампах. Про ШИМ не совсем понял вопрос. Если Вы имели в виду как управлять скважностью каналов Шим, то да - на каждый канал там в МК есть регитср отвечающий за скважность ШИМ в этом канале.
Ответить

Вернуться в «Интеграция с ПК»