|
Вопросы по Spartan 3e, Нужна помощь...очень |
|
|
|
Sep 5 2011, 19:47
|
Группа: Участник
Сообщений: 13
Регистрация: 5-09-11
Пользователь №: 67 019

|
Доброго времени суток всем! Надеюсь не перевелись еще хорошие люди на страницах рунэта Нужна помощь, сижу голову ломаю не первый день, прочитал (наверное уже мегабайты) статей, так что глаза в мозолях Ситуация такая- имеется ПЛИС Spartan 3e. Необходимо запрограммировать его так, чтобы он был как бы переходником. Подключаешь через USB-шник его к ПК, и комп определяет его как новое устройство, с другой стороны, чтобы комп еще определял устройство, подсоединенное через Com порт, к ПЛИСу(любой из SPI, UART, I2C).
Пока я понял вот что. Получается мне надо: 1.написать дрова на него (я так понял, на С/С++ можно через Borland C++ наверное оптимальнее всего) 2.запрограммировать саму эту штуковину и на USB и на COM порт (код надо на VHDL). Вот тут не совсем понятно- получается можно либо просто кодом делать(тогда отладку можно будет сделать прямо без платы), либо нужна схема проектируемого устройства, которую прога (не знаю какая лучше) потом переведет уже в код. В этом, как Вы уже поняли, я новичок. Буду неимоверно благодарен, если кто передаст знания молодому поколению, даст какие- нибудь советы, статьи там или подскажет что- нибудь.  В особенности со схемой. Дело очень важное. Я нарыл тут какую то схему- она подойдет мне или нет?
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 6 2011, 08:51
|
Местный
  
Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87

|
Не совсем понятна, задача. Все можно реализовать, как Вам уже сказали без использования ПЛИС, из вашей же схемы один CY7C68013A - может потянуть все упомянутые задачи. Собственно это 51 микроконтроллер с USB 2.0 контроллером на борту, и реализовать с другой стороны UART, I2C или SPI это уже чисто программная задача. Реализовать USB, чисто средствами ПЛИС, даже используя внешний приемопередатчик (есть такие), достаточно сложная задача, и требует достаточно больших ресурсов матрицы, хотя и решаемая. Что касается схемы, то да эта схема работоспособная (похоже она от программатора USB - JTAG). Я сам достаточно часто использую такую связку CY7C68013A + XILINX (Spartan 3, Spartan 3e), но уменя матрица занимается управлением сбором и буферезацией данных для разнообразных оптических многоэлементных линеек и матриц, а CY7C68013A - интерфейс с РС.
|
|
|
|
|
Sep 6 2011, 15:22
|
Группа: Участник
Сообщений: 13
Регистрация: 5-09-11
Пользователь №: 67 019

|
Большое человеческое спасибо, за Ваше потраченное время, на мои вопросы. Цитата(Apast @ Sep 6 2011, 12:51)  Собственно это 51 микроконтроллер с USB 2.0 контроллером на борту, и реализовать с другой стороны UART, I2C или SPI это уже чисто программная задача. Что касается схемы, то да эта схема работоспособная (похоже она от программатора USB - JTAG). да, Вы правы, схема от программатора JTAG. Суть вопроса вот в чем. Мне сказали, что есть, собственно, сама ПЛИС. есть переходник USB на нее. нужно сделать так, чтобы когда я подключал ее к компу, а к ней ЧТО ТО через Com порт, то комп определял это ЧТО ТО. В общем,как я понимаю, чтобы были организованы протоколы USB на выходе, а SPI(UART,I2C) на входе. То есть запрогать ее на USB, и еще ножки на Com. Но для этого(как я опять же предполагаю) необходима схема ее работы, чтобы уже по ней и составить код на VHDL. Вот сижу убиваюсь над самоучителем Может еще есть какие мысли? или разъясните насчет схемы? правильно я понимаю- ПЛИС будет делать то, на что ее запрограммируешь, то есть можно как бы составить схему ее работы?
|
|
|
|
|
Sep 7 2011, 01:31
|
Местный
  
Группа: Свой
Сообщений: 224
Регистрация: 22-06-04
Из: Новосибирск
Пользователь №: 87

|
Цитата(Женя @ Sep 6 2011, 19:22)  Может еще есть какие мысли? или разъясните насчет схемы? правильно я понимаю- ПЛИС будет делать то, на что ее запрограммируешь, то есть можно как бы составить схему ее работы? Да вы правильно понимаете, можно представить ПЛИС как набор неких элементов из которых можно составить необходимую вам схему, в том числе на ней можно реализовать контроллер UART. А вот дальше все сложнее, вам нужно разобраться с принципами работы USB шины, там есть понятие ренумерации устройств. Т.е. устройство в момент подключения (или будучи уже подключено и определено в системе определенным образом) "заставляет" систему вычитывать параметры идентифицирующие устройство из него же самого. Т.е. в первый момент ваше устройство онределяется ситемой, предположим, как переходник USB-UART. Дальше уже само устройство под управлением встроенного софта (или "железного" алгоритма) должно определять подключения чего-то через UART (методом опроса, запроса и т.д.) и выполнять ренумерацию (переподключение) уже с параметрами другого устройства подключенного по UART. Возможно немного запутанно - но это так. Еще учтите что при любом изменении типа устройства на USB, будет запрашиваться драйвер под эти параметры.
|
|
|
|
|
Sep 7 2011, 12:14
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата а к ней ЧТО ТО через Com порт, то комп определял это ЧТО ТО. Это банальный переходник USB->COM Цитата чтобы были организованы протоколы USB на выходе, а SPI(UART,I2C) на входе. Это опять же переходник USB->SPI/I2C. Осталось понять, как должны были быть связанны 1 и 2, т.к. COM это никоим боком не SPI и не I2C. Как вы собирались подключать SPI/I2C к COM?
|
|
|
|
|
Sep 7 2011, 18:05
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(Женя @ Sep 5 2011, 23:47)  Доброго времени суток всем! Надеюсь не перевелись еще хорошие люди на страницах рунэта Нужна помощь, сижу голову ломаю не первый день, прочитал (наверное уже мегабайты) статей, так что глаза в мозолях... Первым делом надо отделить мух от котлет. Если надо сделать быстро работоспособное устройство - то можно купить за 100 рублей китайский переходник COM-USB или взять кипарис CY7C68013A или какой-нибудь PIC c USB илм FTDI м быстро на нём сваять девайс. Если вы студент и это задание на курсовую или диплом - то приготовьтесь много читать и думать. Знания у вас нулевые и в VHDL и в написании "драйверов на Borland С++", а сделать нужно много.
|
|
|
|
|
Sep 7 2011, 18:57
|
Группа: Участник
Сообщений: 13
Регистрация: 5-09-11
Пользователь №: 67 019

|
Цитата(XVR @ Sep 7 2011, 16:14)  Осталось понять, как должны были быть связанны 1 и 2, т.к. COM это никоим боком не SPI и не I2C. Как вы собирались подключать SPI/I2C к COM? Уже прочитал несколько статей про протоколы. Спасибо за замечание, понял ошибку свою. Цитата(VladimirB @ Sep 7 2011, 22:05)  Если надо сделать быстро работоспособное устройство - то можно купить за 100 рублей китайский переходник COM-USB или взять кипарис CY7C68013A или какой-нибудь PIC c USB илм FTDI м быстро на нём сваять девайс.
Если вы студент и это задание на курсовую или диплом - то приготовьтесь много читать и думать. Знания у вас нулевые и в VHDL и в написании "драйверов на Borland С++", а сделать нужно много. Да, Вы правы. Студент. И, опять же Вы правы. знания в этом нулевые. но мне это очень интересно. и я уже многое читаю сижу. прихожу с учебы- и опять за это дело сажусь. Задание именно сделать это все на Spartan 3e. Схемы может, или прошивки, если есть готовые, может кто подкинет? И еще- какой интерфейс легче всего описать? UART, SPI, I2C или RS232? мне любой из этих можно. или они одинаковые практически? Для отладки сказали нужно, чтобы с 2х сторон компы подключил, и передался пакет данных с одного компа на другой омайгад...как же плохо быть пустоголовым в чем- то(это я о себе)...жаль нельзя как в фильмах, подключился к компу и в мозг перегнал себе знания эх...2 недели...
|
|
|
|
|
Sep 7 2011, 19:23
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(Женя @ Sep 7 2011, 22:57)  ... Да, Вы правы. Студент. И, опять же Вы правы. знания в этом нулевые. но мне это очень интересно. и я уже многое читаю сижу. прихожу с учебы- и опять за это дело сажусь. Задание именно сделать это все на Spartan 3e. ... 2 недели мало. Для работы с ПЛИС люди годами мозг себе напильником затачивают. А вообще вы узнайте поточнее в каком виде "есть ПЛИС и переходник USB для неё" и что они из себя представляют. Может вам повезло и это готовая отладочная плата, а может набор микросхем в пакетике. HDL ядра COM-порта (UART) имеются в большом количестве на Opencores.org также есть хорошее ядро UARTa в исходниках для пикоблейза от Кена Чапмана на сайте xilinx.com. Но по опыту: студент уже не торт пошёл нынче и может даже самую простую задачу по вставлению готового ядра в проект загубить на корню.
|
|
|
|
|
Sep 7 2011, 22:03
|
Группа: Участник
Сообщений: 13
Регистрация: 5-09-11
Пользователь №: 67 019

|
Цитата(VladimirB @ Sep 7 2011, 23:23)  2 недели мало. Для работы с ПЛИС люди годами мозг себе напильником затачивают. А вообще вы узнайте поточнее в каком виде "есть ПЛИС и переходник USB для неё" и что они из себя представляют. Может вам повезло и это готовая отладочная плата, а может набор микросхем в пакетике. Мне повезло) есть ПОЛНОСТЬЮ готовая плата, со всеми разъемами и переходниками. задача просто ее запрогать и написать драйвера на компьютер. Чтобы это было примерно вот как: Картинка внизу. Допустим выбран протокол SPI. Пристыковали комп кидаем пакет- он преобразуется в USB это все загоняется в буфер. затем из буфера идет пакет в преобразователь SPI и вот этот пакет чтобы конечный был в SPI. и подавался на выход Tx. Вот может кто подскажет схему этого всего? а то я нашел великое множество этих схем уже, но не знаю какая куда годится И еще вопрос. разъясните пожалуйста. допустим я нашел схему контроллера- преобразователя интерфейса USB->SPI. могу ли я использовать схему эту для прогания моего Спартана 3е? или нужна схема именно под спартан, так как ножки разные? Еще где то прочитал, что на спартаны UART реализовать не получится, так ли это??
Эскизы прикрепленных изображений
|
|
|
|
|
Sep 8 2011, 08:16
|
Гуру
     
Группа: Свой
Сообщений: 3 123
Регистрация: 7-04-07
Из: Химки
Пользователь №: 26 847

|
Цитата Вот может кто подскажет схему этого всего? У вас же есть готовая плата. Вот ее схему и берите. Цитата могу ли я использовать схему эту для прогания моего Спартана 3е? У вас там (насколько я понял) кроме Спартана еще и Кипарис стоит. Если все это будет в той схеме, что вы нашли - то скорее всего ее можно будет адаптировать под вашу плату. Цитата или нужна схема именно под спартан, так как ножки разные? Ножки у Спартана можно засунуть куда угодно (ну почти куда угодно), так что это не проблема Цитата Еще где то прочитал, что на спартаны UART реализовать не получится, так ли это?? Нет, не так. UART довольно примитивный интерфейс. Вот RS232 реализовать только на Спартане не получится - поплохеет ему от +/- 12В
|
|
|
|
|
Sep 8 2011, 11:17
|
Знающий
   
Группа: Свой
Сообщений: 614
Регистрация: 12-06-09
Из: рядом с Москвой
Пользователь №: 50 219

|
Цитата(Женя @ Sep 8 2011, 02:03)  Мне повезло) есть ПОЛНОСТЬЮ готовая плата, со всеми разъемами и переходниками. задача просто ее запрогать и написать драйвера на компьютер. Дык вы можете по человечески рассказать людям, что за плата, что на ней стоит, выложить её схему или фото или название. А то постов в теме уже много, а телепаты всё не могут угадать, что у вас есть.
|
|
|
|
|
Sep 8 2011, 19:27
|
Группа: Участник
Сообщений: 13
Регистрация: 5-09-11
Пользователь №: 67 019

|
Цитата(VladimirB @ Sep 8 2011, 15:17)  Дык вы можете по человечески рассказать людям, что за плата, что на ней стоит, выложить её схему или фото или название. А то постов в теме уже много, а телепаты всё не могут угадать, что у вас есть. Плата сама внизу Немного не понимаю- когда я пишу драйвер для USB- то это как бы универсальный драйвер? Просто я нашел тут способ прямо пошаговый как драйвер и ПО забацать. http://www.fpga-cpld.ru/build.html Подскажите, Способ, который описан тут, подойдет мне для моего Spartan 3e? и вот на этом же сайте есть как с помощью схемы запрогать сам ПЛИС. http://www.fpga-cpld.ru/sapr1.htmlРазъясните пожалуйста, Если стоит цель ИЗ ПЛАТЫ СДЕЛАТЬ ПРОСТО ПРЕОБРАЗОВАТЕЛЬ ИНТЕРФЕЙСА USB-> UART(либо SPI,либо IIC), то КАКИЕ ИМЕННО шаги мне надо сделать? а то я уже совсем запутался. Мне нужна схема(так как VHDL я только начал учить)-это я знаю точно НО! Схемы мне нужно 2? для самого интерфейса USB, и еще одна, которая переводит USB-> UART? Все запчасти (переходники и тому подобное) уже ВСЕ ЕСТЬ. и все собрано. Задача только запрогать ПЛИС, написать( ИЛИ найти) драйвер и ПО. Задача должна быть не особо сложная, так как Человек, кто давал задание должен понимать, что я в этом новичок. Тут еще нашел схему(она подойдет для примитивного подключения просто на USB?) От выполнения этой задачи зависит ближайший год моей жизни (учусь ведь я в институте) =)
Эскизы прикрепленных изображений
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|