Kavka писал(а):Lynatik, идите на opencores.org, регистрируйтесь там и ищите то что вы под себя сможете переделать... Тут вам вряд ли кто сможет растолковать как работает USB, да и не будет.
А похожий сайт, только русский подсказать не можете? А то что то копался я там, так и не нашел(
Немного не понимаю- когда я пишу драйвер для USB- то это как бы универсальный драйвер? Просто я нашел тут способ прямо пошаговый как драйвер и ПО забацать.
Разъясните пожалуйста, Если стоит цель из платы сделать просто преобразователь интерфейса USB-> UART(либо SPI,либо IIC), то КАКИЕ ИМЕННО шаги мне надо сделать? а то я уже совсем запутался.
Мне нужна схема(так как VHDL я только начал учить)-это я знаю точно
НО! Схемы мне нужно 2? для самого интерфейса USB, и еще одна, которая переводит USB-> UART?
Все запчасти (переходники и тому подобное) уже ВСЕ ЕСТЬ. и все собрано. Задача только запрогать ПЛИС, написать( ИЛИ найти) драйвер и ПО.
Задача должна быть не особо сложная, так как Человек, кто давал задание должен понимать, что я в этом новичок.
Тут еще нашел схему(она подойдет для примитивного подключения просто на USB?)
От выполнения этой задачи зависит ближайший год моей жизни (учусь ведь я в институте) =)
Jack_A, Снимаю шляпу, хоть ее и не ношу
Автору
В основе последовательных интерфейсов лежат например такие сдвиговые регистры. Единственно, для того или иного протокола, необходимо иногда чтото в них добавить.
Например, рассмотрим UART. Зададимся следующими требованиями: число передаваемых информационных бит 8, старт-бит логическим нулем, стоповый бит логической 1, и количестве одного, дополнения информационных бит до четности\нечетности нет.
Для построения потребуется разработать узел синхронизации, узел приемника и узел передатчика.
Узел передатчика можно реализовать на базе двух 74165 - каждая из которых является сдвиговым регистром с параллельной записью.
Нарастив каскадно, записываем в старший бит (самый поздний по выходу из регистра) уровень 1, в самый младший уровень 0, в промежуточные биты записываем данные.
Далее, работа возлогается на схему синхронизации, задача которой формировать сдвиги данных в соответствии с выбранной скоростью передачи.
Почти аналогично решается задача приема. Для нее необходимо применить 74164 а также продумать схему запуска синхронизации. Последняя должна выполнять роль детектора старт-бита.
В общих словах я написал. Куда смотреть, тоже наверное понятно. Делайте, разбирайтесь, а мы поможем.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Meteor писал(а):Jack_A, Снимаю шляпу, хоть ее и не ношу
Да ладно, надевайте, простудитесь ненароком
Я MAX232 не применяю не из-за нелюбови к нему ( валяется где-то пару штук ), а потому, что с тех пор как один умелец, дышлом ему поперек, спалил мне комп, подключив через этот программатор (910) свое у.....ще, в котором на корпусе фаза сидела, ( МАХ меня бы тут не спас ) , я связь с компом через RS делаю исключительно на опторазвязках. Ну нет у меня лишних компов, нету!
Комп тогда слегка реанимировали ненадолго, применив мультикарту ( тогда они еще в ходу были ), а микросхема программатора AT90S1200 просто испарилась.
Jack_A писал(а): Да ладно, надевайте, простудитесь ненароком
Спасибо у нас еще не холодно
Я то грешным делом подумал "ща РС232 на выходах спартана как намалюют"
А транзисторы - это дело известное.
Сам тоже не люблю делать гальванически связанные устройства
Но это оффтоп уже.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Meteor писал(а):
Автору
В основе последовательных интерфейсов лежат например такие сдвиговые регистры. Единственно, для того или иного протокола, необходимо иногда чтото в них добавить.
Скажите, а в основе USB тоже такая начинка? он же тоже последовательный
Meteor писал(а):
Например, рассмотрим UART. Зададимся следующими требованиями: число передаваемых информационных бит 8, старт-бит логическим нулем, стоповый бит логической 1, и количестве одного, дополнения информационных бит до четности\нечетности нет.
Для построения потребуется разработать узел синхронизации, узел приемника и узел передатчика.
Узел передатчика можно реализовать на базе двух 74165 - каждая из которых является сдвиговым регистром с параллельной записью.
Нарастив каскадно, записываем в старший бит (самый поздний по выходу из регистра) уровень 1, в самый младший уровень 0, в промежуточные биты записываем данные.
Далее, работа возлогается на схему синхронизации, задача которой формировать сдвиги данных в соответствии с выбранной скоростью передачи.
Почти аналогично решается задача приема. Для нее необходимо применить 74164 а также продумать схему запуска синхронизации. Последняя должна выполнять роль детектора старт-бита.
В общих словах я написал. Куда смотреть, тоже наверное понятно. Делайте, разбирайтесь, а мы поможем.
Хоть становится теперь мне понятны некоторые вещи)
только...74165 и 74164- это же сдвиговые регистры? прочитал про них, только не до конца понял- можете на пальцах объяснить?
Блин....неужели это и впрямь такое сложное задание? Просто тот, кто давал задание мне, вроде понимает, что я в этом пока что(именно "пока что"- потому , что желание сидеть с этим есть) очень мало соображаю(начало 3го курса как никак еще только) =(
эх...сижу вот читаю 2 книжки параллельно почти. Основы VHDL и основы схемоты. И еще на сайтах зависаю.
объясните пожалуйста(желательно развернуто)- почему я не могу взять, к примеру схему отсюда http://trol.0fees.net/sch/usb2uart/index.php
или отсюда http://aes.at.ua/publ/usb_uart/12-1-0-308 и вместо самого контроллера (прямоугольника посередине) взять от спартана(сравнив ножки, и подключив те же, что и на сайтах, а остальные оставить пустыми) ?
от спартана вот эту (файл прикреплен)
или еще - Мой код будет координально отличаться, от того, что на этом сайте? (я конечно понимаю, что USB интерфейс сложнее будет. но в Общем ?)
Стандарт RS232 оговаривает следующие напряжения на линиях:
от +3 до +12 В логический нуль;
от минус 3 до минус 12В логическая единица.
Спартан имеет питание 2,5 и 3,3 В. Его выводы не терпят повышенного напряжения, равно как и отрицательных уровней (смотрите документацию - там оговорены допуски). Таким образом, соединив однажды "ноги " спартана с СОМ портом, теряем спартан (частично или полностью).
Что касается второй схемы, то насколько я понял задание, именно подобную "штуку" и надо соорудить.
Уточните у преподователя. На отладочнике есть и COM порт и USB, может он желает чтоб вы принимали данные с киприотвского преобразователя и выкидывали их в преобразоатель СОМ порта?
ЗЫ. Возможности отладочника можно посмотреть тут
PPS Увас схема не спартана а киприотовского преобразователя.
Логика работы останется приблизительно такой же как и там : сдвиг, проверка на условия, принятие решения, сдвиг...
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Meteor писал(а):USB последовательный протокол, только хитрее чем UART и прочие.
Стандарт RS232 оговаривает следующие напряжения на линиях:
от +3 до +12 В логический нуль;
от минус 3 до минус 12В логическая единица.
Спартан имеет питание 2,5 и 3,3 В. Его выводы не терпят повышенного напряжения, равно как и отрицательных уровней (смотрите документацию - там оговорены допуски). Таким образом, соединив однажды "ноги " спартана с СОМ портом, теряем спартан (частично или полностью).
Благодарю за объяснения. Все понятно
Meteor писал(а):
Что касается второй схемы, то насколько я понял задание, именно подобную "штуку" и надо соорудить.
Уточните у преподователя. На отладочнике есть и COM порт и USB, может он желает чтоб вы принимали данные с киприотвского преобразователя и выкидывали их в преобразоатель СОМ порта?
Не, ту схему я сам нашел.видимо не то, что надо.
Подходил и уточнял у преподавателя. дословно как мне было сказано -"Есть ПЛИС Spartan 3e.Полностью собранная со всеми переходниками и тому подобным. Написать только ПО, драйвер, и саму ее логику так, чтобы она работала, как преобразователь интерфейса из USB в UART(SPI,I2C). Можно описывать логику либо кодом на VHDL, либо с помощью схем"(вот для этого я и ищу схему) и нарисовали примерно то, что во вложенном файле
Евгений, я настоятельно рекомендую уточнить у преподователя его идею ибо
на отладочной плате все разъемы для стыковки с ПК (USB, COM и пр) соединены со спартаном через микросхемы преобразователей.
Например USB соединен со спартаном через CY7C.... Напрямую от спартана сигналы на разъем не подать. Отсюда напрашивается вывод - преподаватель желает чтоб вы реализовали "перемычку" между CY7C... и преобразователем UART-COM, реализованным на каком - нибудь ADM3232.
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже
Неплохо было бы ознакомиться с темой, к тому же такой маленькой.
shista, 7 постов вверх.
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Опять же не густо. как понял- по словам- есть шнур с 2х- сторонним USB- входами. Один конец тыркаем в комп. другой- в ПЛИС. с другой стороны в какой- либо из портов ПЛИС подключаем устройство (к примеру монитор), и необходимо, чтобы комп наш определял этот монитор, ну, и пакеты еще можно было передавать. По словам человека того- это не сверхсложное задание...
Lynatik писал(а):Сегодня был очередной поход.
...По словам человека того- это не сверхсложное задание...
Может еще есть какие нибудь подсказки мне?
Подсказка №1
Я давал ссылку - поискать там
Подсказка №2
На сайте производителя (та же ссылка) есть примеры.
Подсказка №3
На том же сайте есть примеры для других отладочников на базе спартана. Там точно кое-что есть
Ну и на правах общего гундежа - я не понял вашего преподоателя если он на ходу меняет задания, то USB-SPI, то теперь USB-монитор..
Или я не понял вас. ну да пес со мной - рулите по ссылкам. там есть примеры работы с монитором и уартом
Загружая на вход компьютера "мусор", на выходе получим "мусор^32".
PS. Не работаю с: Proteus, Multisim, EWB, Micro-Cap... не спрашивайте даже