Отправлено: 12.01.09 19:13. Заголовок: Пётр пишет: Что-то ..
Пётр пишет:
цитата:
Что-то в последнее время скорость вообще упала и бывают замирания. Так что для меня и 3 Мб скачать целая проблема, на говоря о почти 40, поэтому и писал чтобы в архиве было бы только самое необходимое, а иначе просто не скачаю...
А ReGetom тоже не получается он же докачивает при обрыве. А может это из-за файлообменника filemaster или везде так качает. Я могу на почту отправить.
Пост N: 994
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
3
Отправлено: 12.01.09 19:34. Заголовок: Скорее всего что-то ..
Скорее всего что-то на линии или у провайдера, так как низкая скорость (порядка 1Кб/с) везде, да ёще временами вооще становится почти нулевой. Доходит до того, что IE пишет, что не может отобразить станицу. Вот после это Нового года началось...
Пост N: 619
Зарегистрирован: 14.01.07
Откуда: Россия, Лиски
Рейтинг:
2
Фото:
Отправлено: 12.01.09 21:33. Заголовок: Пётр пишет: Скорее ..
Пётр пишет:
цитата:
Скорее всего что-то на линии или у провайдера, так как низкая скорость (порядка 1Кб/с)
У меня, когда был низкоскоростной интернет, была такая же проблема. Помогло уменьшение скорости обмена почти в два раза. Поставил 23кбит/с и страницы стали гораздо быстрее открыватся. На диске, прилагаемом к модему, нашёл программку которая скорость меняет. Это всё из за плохих линий. Чем больше скорость, тем больше ошибок. И та и другая стороны переспрашивают друг друга, отправляют повторно данные, вот и падает среднее значение скорости.
Пост N: 997
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
3
Отправлено: 12.01.09 22:25. Заголовок: igor пишет: Это всё..
igor пишет:
цитата:
Это всё из за плохих линий.
Да в том то и дело что линия хорошая. Два года назад заменили старую на новую, цифровую. Когда по телефону разговариваю, то никаких посторонних звуков или шумов нет, но почему связь плохая не могу понять. Ничего, скоро на ADSL перейду... Хотя я ещё в начале сентября подал заявку, но провайдер не очень спешит...
Отправлено: 12.01.09 23:06. Заголовок: Я все-таки загрузил ..
Я все-таки загрузил [url=http://gogan.programist.ru/MPLAB-C18-Student Edition-v3.22.rar]сюда[/url] может получиться скачать. Не знаю, устанавливал ли ты его в MPLAB, но на всякий случай напишу, чтобы лишний раз по документациям не бегать. 1) Значит, после установки этого компилятора на диске C появится папка MCC18. 2) Запусти проект из папки Cdc 3) Нажми в меню пункт Project -> Set Language Tool Locations (для подключения этого компилятора в MPLAB) 4) Теперь на крестик у надписи Microchip C18 Toolsuite и на крестик у Executables 5) Теперь нужно выбрать 3 составляющих компилятора из папки bin по адресу C:\MCC18\bin и 1 состовляющее из папки mpasm C:\MCC18\mpasm. Ориентируйся по названиям в скобках. 6) Если после этого не скомпилируется зайди в Project ->Build Options… -> Project там найди место где объявлен путь к INCLUDE файлам. Добавь к тому месту путь C:\MCC18\h. Если нет специальной кнопки для добавления, припиши эту строчку (C:\MCC18\h) к имеющейся там C:\MCHPFSUSB\fw\CDC через точку с запятой тоесть так: C:\MCHPFSUSB\fw\CDC; C:\MCC18\h 7) После этого должно скомпилироваться. HEX должен находится в папке Cdc\_output
Отправлено: 13.01.09 17:02. Заголовок: Пётр пишет: Да кста..
Пётр пишет:
цитата:
Да кстати, это полная версия
Нет, это где-то на 60 дней, а потом всё. Я пытался установить, как бы полную, но она не устанавливается. Но у меня получилось извлечь из полной с помощью распаковщика EXE файлов uniextract15.exe папку Bin. И если эту папку поставить вместо той, которая находится в не полной то ограничения исчезают.
Пост N: 1002
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
3
Отправлено: 18.01.09 12:32. Заголовок: При компиляции, MPLA..
При компиляции, MPLAB v7.52 выдал следующее сообщение Скрытый текст
Clean: Deleting intermediary and output files. Clean: Deleted file "D:\cdc\cdc.mcs". Clean: Done. Executing: "C:\Program Files\MCC18\bin\mcc18.exe" -p=18F2550 "main.c" -fo="main.o" -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa- MPLAB C18 v3.22 (demo) Copyright 2000-2008 Microchip Technology Inc. Days remaining until demo becomes feature limited: 60 D:\cdc\main.c:151:Error [1105] symbol 'ADCON1' has not been defined D:\cdc\main.c:151:Error [1101] lvalue required D:\cdc\main.c:161:Error [1105] symbol 'UCFG' has not been defined D:\cdc\main.c:161:Error [1101] lvalue required D:\cdc\main.c:188:Error [1105] symbol 'UCFGbits' has not been defined D:\cdc\main.c:188:Error [1151] struct or union object designator expected Halting build on first failure as requested. BUILD FAILED: Sun Jan 18 11:29:46 2009
Отправлено: 18.01.09 13:43. Заголовок: Он наверное не смог ..
Он наверное не смог найти вот этот путь C:\MCHPFSUSB\fw\Cdc. Если ты используешь только папку Cdc. Если у тебя Интернет наладился, то лучше скачай весь архив http://www.filehoster.ru/files/ca6353 и установи, как следует а папку Cdc удали
Отправлено: 18.01.09 20:07. Заголовок: Я задержался. Этот ф..
Я задержался. Этот файл находится в папке компилятора c:\mcc18\lib. Впиши его в поле Library Path. Пиши маленькими буквами, он вроде бы чувствителен к этому. http://s39.radikal.ru/i085/0901/96/63f757198521.jpg
Отправлено: 19.01.09 20:01. Заголовок: Сегодня получил книж..
Сегодня получил книжку Яценкова В. С. По существу это даташит на PIC18F2455/2550/4455/4550 переведенный на русский язык даже картинки те же. Первые впечатления очень хорошие. Вчера только убил весь день на перевод английского даташита а сегодня получил его русскую версию.
В главе 4 затронуты некоторые аспекты практического программирования. Спецификация CDC USB даже есть блок схемы. Судя по всему, там рассматривается тот проект, который нам удалось скомпилировать. А главное там все на русском!
Позавчера и раньше на день стал разбираться в этом Си проекте. Сначала все пошло как по маслу. Разобрался в файлах user.c и main.c в целом стало ясно, откуда ноги растут. Но как только дошел до дескрипторов и конечных точек так сразу забуксовал. А если конкретно то строка if(ep0Bo.Stat.PID == SETUP_TOKEN) в файле usbctrltrf.c в функции USBCtrlEPService совсем оказалась непреодолимой. До неё все более-менее, а как на неё наткнулся с тех пор не шагу вперёд. Вот поэтому мне и не нравятся эти языки высокого уровня. На ассемблере все четко, а здесь наворотили своих синтаксисов. Например, этот SETUP_TOKEN толи это константа толи переменная какая-то толи ключевое слово языка Си. Толи флаг какой-то. Во всем проекте она нигде не объявляется и используется только здесь. На ассемблере таких обломов бы небыло.
Спросил на микрочиповском сайте, но там никто перед тобой распинаться не будет. Там тебе просто укажут путь на фирменную документацию. Если не получится разобраться в Си проекте, в крайнем случае, надо на HEX навалиться. Мне кажется, там сложных и мудреных алгоритмов быть не должно.
Пост N: 1011
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
3
Отправлено: 19.01.09 20:19. Заголовок: Гоша Александрович п..
Гоша Александрович пишет:
цитата:
SETUP_TOKEN
99% что это что-то типа дискриптора. Это константа. Не нужно думать что на ASMе проще было. Там тоже была-бы на первых порах путаница. Правда, мы ASM намного лучше знаем чем Си и поэтому проще было-бы разобраться, хотя кто знает... Всё дело что тут не обойдёшся банальной конфигурацией модуля, тут ещё нужно вести активынй дииалог с компом, принимая дискрипторы и соответсвующим образом реагируя на них. Именно то, что пока не нашёл толкового описания этих дескрипторов и тормозит мои разборки с USB.
Гоша Александрович пишет:
цитата:
Мне кажется, там сложных и мудреных алгоритмов быть не должно.
Дескрипторы и процую лабуду выковыривать сложно будет...
Отправлено: 25.01.09 00:18. Заголовок: Оказывается у Павла ..
Оказывается у Павла Агурова есть вторая книжка. Называется «Практика программирования USB». Судя по оглавлению, там много внимания уделяется CDC классу. Вначале дается спецификация USB с описанием всех подробностей вплоть до запросов и дескрипторов. Я ее скачал из интернета бесплатно, откуда именно не сохранил в памяти. По-моему с сайта «самоучка», но откуда именно не знаю. Если не найдете, могу слить на обменник.
В исходникак будет намного проще разобраться, если будем иметь представление о том, что вообще на шине происходит.
А вообще я сейчас уже много всяких статей прочитал и в целом картина проясняется. Я теперь знаю что такое пакеты, транзакции и кадры, но до практической пользы еще далеко. Приблизительно как до луны.
Отправлено: 27.01.09 21:17. Заголовок: Прочитал раздел Спец..
Прочитал раздел Спецификация USB до дескрипторов и, по-моему, все прекрасно понятно, но читается тяжело. Первое что пришло на ум это как правильно заполнить дескрипторы для CDC устройства. Сейчас стал рисовать блок схему проекта и обнаружил эти дескрипторы в файле usbdsc.c. Там они как на ладони – расписанные и заполненные. Если разберемся, как это сооружение работает, то сможем сами модифицировать эти дескрипторы добавлять интерфейсы и конечные точки правда на низкоскоростных устройства больно не размахнешься.
Почитал книжку Яценкова про USB модуль. Так вроде когда читаешь все понятно на локальном уровне. А целиком картина все равно, что-то не строится. Нужно еще почитать спецификацию CDC в книжке Агурова там описываются специальные дескрипторы для CDC устройств. Может картина прояснится.
Придется отложить занятия с USB, все-таки заставили меня заниматься с К573РФ5. Чтобы время не терять даю свои наработки. То есть файл ASM (результат дизассемблирования с доработками), который можно вместо микрочиповского Си проекта использовать. Как только разберусь с РФ, попробую в этом ASM разобраться. Когда есть ASM про Си можно забыть! http://www.filehoster.ru/files/cd5919
Пост N: 975
Зарегистрирован: 26.12.06
Откуда: Россия, Заозерск, Мурманской обл.
Рейтинг:
4
Отправлено: 09.03.09 00:00. Заголовок: Гоша Александрович п..
Гоша Александрович пишет:
цитата:
И эту тему для меня закрыли.
Естественно! Там проходит только вылизывание одного места.
Пётр пишет:
цитата:
нас не уважают.
Там не нас не уважают. Там образовалась "своя" самовосхваляющая каста. Одна команда высокомерных и самоуверенных "знатоков Си". Есть конечно и толковые, но их можно пересчитать по пальцам. Ну а правду они уж точно не переносят.
Однозначно! Ну взять к примеру эту тему http://www.microchip.su/showthread.php?t=5280 Естественно, никто не обязан за него прогу писать, но хотя-бы растолковали в чём он заблуждается. Я так понял что andrey-ka думает что можно взять любую прошивки и "запихнуть" её в МК, и сразу получится всё что ему нужно, но он похоже что не подозревает, что прошивка это программа, которая должна быть "заточена" под даную схему и выполнять конкретную функцию. Они это ему объяснять похоже и не собираются
Пост N: 1244
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 09.03.09 22:11. Заголовок: Пётр пишет: хотя-бы..
Пётр пишет:
цитата:
хотя-бы растолковали в чём он заблуждается
боюсь в данном случае объяснять бесполезно. Человек полный ноль и сам не знает чего он хочет. Проспал весь семестр, проснулся, услышал слово "прошивка" и вот оно спасение: ПРОШИВКА нужна. Ему это не нужно и не интересно, просто в данный момент припёрло, вот и весь ограниченный интерес.
Отправлено: 30.03.09 19:31. Заголовок: Сегодня закончил пис..
Сегодня закончил писать с вою первую статью про USB. Статья получилась маленькая но, по-моему, емкая. Надеюсь, что найдутся люди кому она пригодиться. По ходу дела постараюсь ее дополнять. Причем не только статью, но и файлы этой статьи. Это как бы для затравки. http://startusb.narod.ru/USB.html
Когда контроллер покупать будешь, не забудь для полного комплекта захватить еще книжку В. С. Яценкова «Микроконтроллеры Microchip c аппаратной поддержкой USB».
Пост N: 789
Зарегистрирован: 06.05.07
Откуда: Россия, Липецк
Рейтинг:
4
Отправлено: 30.03.09 23:56. Заголовок: ОК. Сейчас займусь..
ОК. Сейчас займусь. Дам ссылку на главную страницу сайта. Пожелания и т.п. 1. Востребованность сайта определяется тем, что реально нужно людям. 2. Кроме USB (востребовано), в перспективе, может быть и еще что-то. Вам и карты в руки. На нем можно разместить всяческую информацию, в том числе и ту, которая наработана ранее, и ту, которая будет наработана в будущем. Вы - автор (это святое), и это только в Вашей компетенции. Игорь, на счет этого я спокоен, так как знаю Ваш потенциал и Ваше отношение к делу. 3. Ваш сайт - Ваш "ребёнок". Заботьтесь о нём. А он, когда вырастет, позаботится о Вас. 4. Обязательно взаимодействуйте с Виталием и Петром. Помогайте друг другу. Вы в одной "связке и одной крови". Это многое значит, и именно это есть реальная сила. Было бы отлично, если бы к Вам присоединились и другие люди. Жизнь покажет. 5. Если будут какие-то сложности, то помогу чем смогу. 6. Семь футов под килем и в добрый путь! От души. У Вас получится. Не сразу. Со временем. "Москва не сразу строилась".
Пост N: 227
Зарегистрирован: 27.04.07
Откуда: Россия, Воркута
Рейтинг:
0
Фото:
Отправлено: 31.03.09 11:29. Заголовок: Гоша Александрович п..
Гоша Александрович пишет:
цитата:
Сегодня закончил писать с вою первую статью про USB.
Статья стоящая, у меня сразу руки зачесались. Но пока в наличии нет такого контроллера. Буду думать о приобретении. Игорь, а в обменник ты не думал помещать данную статью?
Отправлено: 31.03.09 17:00. Заголовок: Спасибо конечно, но ..
Спасибо конечно, но все относительно. Пока наработок нет, поэтому выкладывать нечего, но потом видно будет. Может что-нибудь и появится. А из мухи слона раздувать что-то не хочется. Sergey Roslik пишет:
цитата:
Игорь, а в обменник ты не думал помещать данную статью?
Сейчас попробую вторую часть написать. Если получится, то можно в объменник попросить.
Пост N: 1
Зарегистрирован: 10.06.09
Откуда: Украина, г.Донецк
Рейтинг:
0
Отправлено: 11.06.09 08:46. Заголовок: по поводу USB
Добрый день всем! Вот ссылка http://www.gamma.spb.ru/articles.php?i=29. Может кому то поможет. Статья об AN956 от микрочипа готовый пример использования USB CDC. К сожалению пример на Си, но принцип то, тот же.
Пост N: 104
Зарегистрирован: 05.03.07
Откуда: Россия, Шуя
Рейтинг:
1
Отправлено: 11.06.09 15:24. Заголовок: В этой теме уже обсу..
В этой теме уже обсуждали эту замечательную статью. Даже удалось переделать C программу на ассемблер. Здесь http://www.startusb.narod.ru/ есть несколько слов об этом.
Пост N: 1251
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 24.07.09 20:28. Заголовок: А мне кажется что оч..
А мне кажется что очень перспективен HID класс USB устройств. Работать несложно и драйвер не нужен. Например, программатор PICkit 2 является HID устройтвом. Со стороны компа вроде тоже не сложно работать с такими устройствами. Для примера, вот простая программа, которая определяет когда к компу подключён PICkit 2http://www.filehoster.ru/files/de2884
Пост N: 112
Зарегистрирован: 05.03.07
Откуда: Россия, Шуя
Рейтинг:
1
Отправлено: 24.07.09 22:09. Заголовок: Пётр пишет: Работат..
Пётр пишет:
цитата:
Работать несложно
Точно не сложно, но надо разбираться. Было бы здорово увидеть описание и рабочий пример. А что касается CDC то тот драйвер для МК, который я описал в своей статье, просто покорил меня сваей надежностью. С тех пор совершенно никаких проблем не было с передачей данных. Что будет с HID нужно пробовать.
Пост N: 1550
Зарегистрирован: 12.02.07
Откуда: Argentina, Lincoln
Рейтинг:
4
Награды:
Отправлено: 31.10.09 01:37. Заголовок: Книга "USB в эле..
Книга "USB в электронике" (+ CD) "В книге показано, как с помощью специализированных микросхем USB без интегрированного микроконтроллера создавать различные системы управления и устройства. Рассмотрены основы USB, аппаратное обеспечение (микросхемы, флэш-модули и др.), установка драйверов и разработка программ на Visual Basic. Приведены практические примеры различных устройств от простых (светофор, аварийная сигнализация, устройство для наблюдения за уровнем воды в аквариуме и др.) до более сложных (тестер дистанционного управления, устройство записи памяти EEProm, аналогоцифровой преобразователь и др.) Показано, как разработать универсальный интерфейс USB-I2C, осуществить Flash-программирование АТ89LР-микроконтроллера через SPI/ISP-интерфейсы и многое другое. На компакт-диске находятся примеры программ на языке Visual Basic, описания и спецификация электронных компонентов, а также специализированные драйверы и утилиты. Для профессиональных инженеров-электронщиков и радиолюбителей. Информация о Книге: Автор: Хульцебош Ю. Издательство: БХВ-Петербург Серия: Электроника Год издания: 2009 Страниц: 224 ISBN: 978-5-9775-0324-2 Формат: DjVu Качество: отличное Размер: 86,11 МБ" скачать можно здесь: http://rapidshare.com/files/299208230/USB_v_electronike.rar
Пост N: 1394
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 14.03.10 19:23. Заголовок: Немного поэксперимен..
Немного поэкспериментировал с USB.... Кое-что получилось. А получилось HID устройство, умеющее пока-что лишь мигать светодиодом и сообщать компу о нажатии на кнопку. Правда, прога для ПИКа написанна на бейсике, впрочем, для компа тоже. До ассемблера дело позже дойдёт. Если интересно, могу выложить наработки.
Пост N: 1396
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 14.03.10 21:23. Заголовок: Вот архив с файлами ..
Вот архив с файлами http://depositfiles.com/files/hi0xi2xic Там есть всё. Схема (извиняюсь за качество), демо-прога с исходником для компа и прошивка для ПИКа.
Скачал - посмотрел. Так интенсивно на USB навалились, точно придётся 18-ю серию начинать осваивать, а то всё 628 да 628
Пётр, а в mikroBasic 7.002 добавлена возможность свои асм вставки подключать или нет? Раньше вроде не было такой возможности, может появилась? Какие с ним вообще, нововведения - развитие компилятора есть?
Всё таки неплохо бы свои собственные куски кода в библиотеки структурировать, может что-то в этом направлении в mikroBasic появилось...
Пост N: 625
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 15.03.10 00:42. Заголовок: У меня 5-я версия ес..
У меня 5-я версия есть, скачал как-то посмотрел пару примеров и забыл про него. Всё таки надо что-такое "высокого уровня язык" в расчёте на рaботу с более мощными МК. Только хочется чтобы минимализм сочетался с удобством программирования, как в PureBasic. Да ещё информации базовой по компиляторам этим на русском нет - это наверное главный минус. Хотя специально инфу не искал ещё - может и появилось где-то внятное описание.
Пост N: 1399
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 15.03.10 00:48. Заголовок: Я пару лет назад, ег..
Я пару лет назад, его по справке учил, а потом понял, что асм всё же луше и забросил этот бейсик. Но для задач, связанных с USB, лучше использовать язык высокого уровня!
Пост N: 1400
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 15.03.10 01:02. Заголовок: В том то и дело, что..
В том то и дело, что используя этот бейсик, я могу с помощью пары строк кода, создать полноценное USB HID устройство! А сколько мне бы понадобилось времени и знаний чтобы это сделать на асме? Ладно время, знания нужны!
PS. Очередной раз убеждаюсь что создание программы для компа, задача намного проще, чем для контроллера. Скажем, работа с HID устройствами со стороны компа, осуществляется довольно легко, правда, в основном, благодаря ресурсам ОС.
Пост N: 96
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 26.03.10 20:11. Заголовок: Всем привет. Пр..
Всем привет. При наличии времени понемногу занимаюсь вопросом использования USB для передачи данных на PIC18F2550. За основу взял вставку Игоря Батова, ему спасибо за работу. Не скажу, что разобрался на 100%, но структура, прерывания, взаимодействие модулей понятна, вопрос дескриптора пока не изучал, но подошел близко. Есть кое -какие наработки. Кое-что сделал по своему, особенно это касается встречных потоков данных. 1. Для использования PIC18F2550, достаточно помимо первых двух строк LIST P=18F2550 #INCLUDE <P18F2550.INC> закомментировать параметр в конфигурационном регитсре 4L: ; CONFIG ICPRT = OFF ; Только для 4455 и 4550 В программном плане для перехода на 2550 неувязок больше нет. 2. Устранено некорректное использование команды MOVLW (транслятор выдает предупреждение). Раздел "Обсуждение"Самоучителя.....", тема "Разное". Вставка содержит такое применение в девяти местах. 3. Только сегодня нашел интересную ссылку на документик, где очень хорошо описаны дескрипторы. http://microsin.ru/content/view/1107/44/ (1108 и 1109). Сколько искал, лучшего не попалось. Может кому пригодиться. 4. Хочу высказаться насчет книги Яценкова "Микроконтроллеры Microchip с аппаратной поддержкой USB", научились люди зарабатывать, почти, что голый перевод datasheet на PIC 2455/2550/4455/4550, да и то неполный и минимум пояснений, вот и готова книга, зато цена какая. Переведи документ и издавай книгу. Ну да ладно и за перевод спасибо, хотя деньги за его организаторские способности я заплатил, сейча она есть в инете в полном объеме. 5. И последнее, я пообщался письмом с Игорем Батовым по поводу его вставки, он ответил, что тема USB в данный момент его не интересует, поэтому вспоминать и тратить время на эту тему автор, по всей видимости не будет. Исходя из этого дополнимтельную тему я открывать не стал, а решил продолжить уже существующую. Кому интересно можно пообщаться. Успехов.
Пост N: 1409
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 26.03.10 20:27. Заголовок: Игорь Батов сейчас з..
Игорь Батов сейчас занят созданием своего USB программатора для PICов.
PS. Я пока что увлёкся не CDC, а HID устройствами, т. к. есть некоторые приемущества, скажем, при этом не создаётся виртуальный COM порт, а устройство опознаётся прогой на компе по уникальным идентификаторам - PID и VID что позволяет сделать однозначный вывод "свое" это устройство или нет. Скорость потока, может достигать 64КБайт/с. Устанавливать драйверы не нужно, т. к. при этом используется стандартный HID драйвер операционной системы.
Например, HID устройством является программатор PICkit2.
Пост N: 637
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 26.03.10 21:26. Заголовок: nik_nik Спасибо за ..
nik_nik Спасибо за ссылку - очень хорошая статья! Вот что-то наподобе бы и нам, только относительно асма и PureBasic. Пётр наверное смог бы при желании разжевать весь этот процесс, относительно HID устройств... У самого лежит 2550 и 4550 по одному экземпляру - всё своего часа дожидаются.
Пост N: 1410
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 26.03.10 22:29. Заголовок: Со стороны компа (Pu..
Со стороны компа (PureBasic), нет проблем с работой с HID устройствами. Со стороны PICа, я ещё не разбирался на уровне ASMа. На MicroBasic пример выложил выше. А вообще, я сейчас немножно побаловался с софтовой реализацией USB, правда не на PICе у него не хватает скорости. Получилось это http://purebasic.mybb.ru/viewtopic.php?id=46
Пост N: 97
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 27.03.10 08:45. Заголовок: Да, HID устройства т..
Да, HID устройства тоже привлекают и скорость хорошая, в переводе на килобиты 480.000, для многих практических приложений хватит без проблем. Еще один документ есть usb_rus11.rar, удовлетворительный перевод спецификации USB1.1, я думаю без труда найдете в инете. если что пришлю на ящик. Но я хочу отметить, что Игорь большую (ударение на о) часть сделал, перелопатил ячейки памяти на Си и получил работающий asm код и описал основную часть. Можно в чем-то с ним не согласиться и даже поспорить, но основа на чем можно творить и экмпериментировать дальше есть. С точки зрения транзакций описал только для нулевой конечной точки. Нет описания подпрограмм получения и отправки данных относительно третьей конечной точки. Это я могу сделать, но нет пока времени, да и заинтересованных в USB среди наших коллег пока мало, а так как у меня это хобби, то тратить время для того, чтобы просто описать не хочется. В любом случае, кому надо, надо начинать читать спецификации, которые доступны и пока не уляжется в голове основа, кажется что всего много и непонятного. С точки зрения практического понимания поступления и обработки прерывыаний мне очень помог созданный по типу FIFO буфер для спец регистров USTAT и UIR на 8 шагов, которые я вывожу на дисплей. И еще могу добавить, что у меня организован поток данных в комп и независимо навстречу из компа в МК, не использую кнопки для чтения и отправки в МК (т.е. у меня нет прерывания от порта), поэтому, чтобы рабочая точка не зависала, я закомментировал команду SLEEP в ПП МЕТКА222. Естественно,что Программа Петра Высочанского не могла мне обеспечить передачу потоков, поэтому сын Ростислав мне сделал программу на Си. При помощи этой программы идет прием и отображение потока в комп и независимо от этого можно набирать и отправлять какое угодно количество байтов в МК( как правило до 64 байтов) или многократно в быстром режиме отпралять набранные данные. Если будет интерес к программе, могу выложить в обмен. Мне было интересно провоцировать встречные потоки и как это дело разруливает USB. Могу отметить, что разруливает хорошо, но организованный порядок приема и отправки данных (в основном приема) дал сбой (в зависимости от скорости, сбоя добиться можно элементарно, но это не тот случай). Тонкости этого момента можно разрулить, но этот сбой я исключил изменив порядок приема данных. Сейчас анализ завершения транзакций In и Out по 3 конечной точке у меня производиться в ПП обработки прерывания , если данные пришли, то сразу определяется количество и производитиься их чтение. Успехов.
Пост N: 638
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 27.03.10 10:10. Заголовок: По моему главное - п..
По моему главное - понять что должен делать контроллер в ответ на определённые запросы компа, с учётом конечно типа устройства(CDC или HID). То есть описание побайтно(побитно) пакетов, которые МК принимает и что должен выдать при определённом запросе обратно в комп. Если это понять - то потом возможно делать всё что угодно с USB. Описание всего процесса стало бы хорошим заделом на перспективу. Пока же, в основном, как с "чёрным ящиком" всё выглядит - что-то оно делает, но что...
Пост N: 98
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 27.03.10 16:01. Заголовок: Я думаю, что целью я..
Я думаю, что целью является не просто изучить протокол USB. Так как модуль USB в PIC реализует функцию USB2.0, то все запросы ( в том числе и сбойные ситуации) и ответы описаны в спецификациях и прочих документах и описаниях. И описывать описанное, причем неоднократно и по разному, нет смысла. Ведь многое из того. что передается и принимается модулем USB является его внутренним делом и пользователя не затрагивает никак ,например: пакеты ACK, NAK, STALL, код CRC, синхронизация чередования пакетов с данными DATA0/DATA1, а также исправление и повторение и др. В курсе организации обмена информацией надо быть, другое дело кому и что надо и на сколько глубоко. А от Pica нужен порядок взаимодействия ядра МК с ядром модуля USB, какая и куда передается информация во время инициализации, при приеме и передаче пользовательской информации и как этим воспользоваться. Есть желание создать обобщающий рисунок взаимодействия потоков информациии и железа (ячеек памяти), но когда это произойдет жизнь покажет. Философией больше заниматься не хочется, потому что зависит от целей и задумок индивидума и это правильно, у каждого свои цели , а с практической точки зрения, что знаю, поделюсь.
Пост N: 99
Зарегистрирован: 27.08.07
Откуда: Россия, Москва
Рейтинг:
0
Отправлено: 27.03.10 18:57. Заголовок: Решил добавить, вдру..
Решил добавить, вдруг неправильно поймете, когда будете читать документацию. Некоторые пакеты, про которые я упомянул в предыдущем сообщении, микроконтроллер позволяет отслеживать, например ошибку контрольной суммы CRC, смотрите регистры прерываний по состоянию UIR и по ошибке UEIR. Но , например прерывания по ошибке, регистр UEIR, они больше информационные и их можно либо не учитывать, запрещая прерывания, либо просто сбрасывать флаг , потому что случайные сбои модуль USB с хостом сами разрулят. Конечно если у вас на линии одни помехи, то вам возможно придется и их анализировать. А вот с пакетом STALL вышла ошибка, он говорит о серьезном сбое, вплоть до переинсталляции устройства.
Пост N: 639
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 27.03.10 22:24. Заголовок: Вот такой вопрос сфо..
Вот такой вопрос сформировался - возможно на него ответ найдётся.
Какой необходимый объём программы (пользовательской) в МК нужен, чтобы PIC при подключении к компу определился как USB устройство и просто работала поддержка подключения, то есть чтобы хост не отключил его из-за отсутствия активности на шине ?
Ответив на него - определяем необходимый минимум своей программы в МК, поддерживающей USB. Всё остальное уже как надстройку можно добавить.
Пост N: 668
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 25.04.10 18:12. Заголовок: Собрал простую тесто..
Собрал простую тестовую схему на PIC18F2550, АСМ вставка и просто приём байта из компьютера в МК. Принятый байт выводится в PORTB на светодиоды.
Передаю один байт в контроллер, но почему-то после нескольких нормально принятых байтов контроллер виснет. Пока не пойму в чём дело, то ли по питанию где-то сбой, или что-то ещё.
Не самый лучший вариант, когда сначала вызывается подпрограмма RX_DATA, а потом уже в результате её работы выставляется флаг наличия данных, который можно проверить. В обычном USART наоборот сделано. Сначала принят байт, потом выставляется флаг, который можно периодически проверять. Сейчас же сижу и гадаю, то ли программа в RX_DATA где-то подвисает, то ли сам контроллер в "аут" уходит.
Пост N: 670
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 25.04.10 21:38. Заголовок: Насчёт отладчика не ..
Насчёт отладчика не знаю - корректно ли включать одновременно два usb разъёма в одно устройство. Не задействовал его. Конфликт какой-нибудь по питанию не получится при таком включении.
Конфликт какой-нибудь по питанию не получится при таком включении
Если подключать к одному компу, то всё будет ОК. Другое дело, что отладчик останавливает работу проги, а значит могут быть сбои в работе USB - комп ждать не будет, он шлёт инфу и требует ответы на неё!
Пост N: 672
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 26.04.10 15:35. Заголовок: С отладчиком ничего ..
С отладчиком ничего не выходит, каша какая-то, usb встаёт.
В прерывании по ошибке usb вывел байт из UEIR на светодиоды. Вышло аж 4 флага ошибок биты: 0 - проверка PID не пройдена 1 - пакет токена отвергнут из-за ошибке по CRC5 3 - поле данных не является целым числом байтов 7 - обнаружена ошибка битового заполнения
Причём флаги появились не сразу а по одному. Сначала 3-й, потом остальные 1,0,7. Иногда ошибка загорается просто при подключении устройства, а иногда появляется после передачи в МК нескольких байт. Похоже нужно что-то думать, как эти ошибки обработать, чтобы восстанавливалась работоспособность связи. Что тут можно сделать? Может это наводки какие на линииях данных. Интересно зашунтировать их на землю можно, например резисторами килоом по 100.
Пост N: 673
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 26.04.10 16:02. Заголовок: Пётр пишет: Может ч..
Пётр пишет:
цитата:
Может частота кварца не соответствует требуемой?
Может и такое быть наверное. Кварц обычный на 20 МГц. Резисторы на 100 кОм на линиях данных не помогли - теперь ошибки сразу при включении, шунтирование линий данных не подходит.
Пост N: 779
Зарегистрирован: 19.07.07
Откуда: Россия, Челябинская обл.
Рейтинг:
0
Отправлено: 06.12.10 20:14. Заголовок: Пётр Вопрос появился..
Пётр Вопрос появился. Есть ли возможность в компиляторе СИ или BASIC создать объектный файл для линкера MPASM? Объектный файл может содержать всё для поддержки USB, а в проект его интегрировать при помощи заголовочного файла можно. Как такая мысль?
Пост N: 1549
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 24.12.10 22:04. Заголовок: igor пишет: Для Atm..
igor пишет:
цитата:
Для Atmega программу сам писал?
Да. Писал на бейсике, там не сложно.
Кстати, запустил самописный сервер на своём компе здесь была ссылка Для теста использовал файлы сайта Евгения Александровича (открытую часть). Работает с флешки.
Сейчас на компе запущено 2 сервера, один для термометра, а другой для сайта.
Пост N: 1550
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 24.12.10 22:13. Заголовок: igor пишет: Когда в..
igor пишет:
цитата:
Когда всё успеваешь?
На это много времени не надо. Сервер для USB термометра написал за 1 час. А сервер с поддержкой HTML страничек (поддерживает докачку файлов и многопоточное скачивание файлов) - за несколько вечеров.
Пост N: 1552
Зарегистрирован: 12.01.07
Откуда: Приднестровье
Рейтинг:
4
Отправлено: 24.12.10 22:45. Заголовок: Возможно кажется что..
Возможно кажется что все это сложно, но на деле (если не смотреть в целом, а рассматривать по частям), то все относительно просто. И я не считаю что сделал что-то выдающееся, т. к. это не потребовало много знаний.
Все даты в формате GMT
3 час. Хитов сегодня: 8
Права: смайлы да, картинки да, шрифты нет, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет