Перейти к содержанию
    

Кто- нибудь заморачивался с USB 1.1 - с opencores

Вот набрёл на данное ядро. Выкачал (usb1_funct вместе с USB-1.1 phy и generic_fifos ) Всё это собралось в кучу и компильнулось в Xilinx ISE (на Spartan3 - 400 12%). Как я понял, автор этого ядра rudi (Rudolf Usselmann ) уже имел опыт созданмя USB (его же проект USB2 на opencores, правда этот проект заточен под 32- разрядный процессор.), а это его ядро - выдержки из старого.

В общем, на первый взгляд соблазнительная вещица и на халяву.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я уже месяца три все собираюсь "испытать" и разъем к "стартеру" припаял и книжку купил (даже половину прочитал :)). А в качетве аналогового дифиренциального приемо-передатчика что-то собираетесь использовать (или на прямую к FPGA), меня это больше всего смущает.

Кстати, 12% от Spartan3-400 это с фифошкой?

Изменено пользователем 3.14

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Как я понял, в самом ядре используется три одинаковых фифошки, которые скачиваются с опенкорок. Затем к ним надо пристегнуть блочное ОЗУ (от третьего спартана). Вот это всё занимает 12%. С внешним интерфейсом я ещё не разбирался. Понял только, чно он тоже заточен под фифо и тоже мозно использовать блочные ОЗУ.

Вот исходники, собранные в кучу. Я мог некорректно заинсталлировать блочное ОЗУ (до симулятра ещё время не дошло) в модуле generic_fifo_sc_a.v.

Ещё автор забыл прописать `include "usb1_defines.v" в модуле usb1_pl.v ( это я поправил)

usb11.zip

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Насколько я знаю, все подобные корки для fpga используют в качестве PHY-интерфейса т.н. UTMI чипы - например cypress cy7c68000. Функциональность и интерфейс UTMI стандартизированы как часть полного стандарта USB.

 

С корками от opencores дело иметь не советую - там очень много недоработок, возиться имеет смысл только для самообразования. На фтп лежат декриптованные IP от ментора, там есть и usb.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Выкачал корки. Решил поразбираться с самой простой, а именно musblsfc

"Ё Conforms to USB 1.1 and USB 2.0

low-speed function specification

Ё Configurable for 1 or 2 endpoints

in addition to Endpoint 0

Ё Configurable endpoint direction

Ё 8-byte FIFOs for each endpoint

Ё PVCI1-compatible CPU Interface

Ё Synchronous RAM Interface for

FIFOs

Ё Supports Suspend and Resume

signaling

"

 

Там вроде ещё программа для микроконтроллера под эту корку есть

(на сях писаная).

Временные диаграммы обмена данными с процом вроде не страшные

(смахивают на WISHBONE).

Не знаю даже с чего начать.

Ну, допустим, прикручу временную диаграмму к процу (Cygnal) чтобы он реально модифицировал регистры модуля.

Для выхода на разъём требуются пять буферов (из них два с Z- состоянием ,третий с дифференциальным входом, оставшиеся два обычные повторители) . Может порекомендуете микросхемку.

Остаётся самое мутное: создание драйвера под винды.

И как это всё отлаживать??

 

p.s. Книжицу по USB я ещё весной приобрёл и тоже наполовину прочитал, только от этого не легче.

Изменено пользователем Yra

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. я бы начал с "обычного" контроллера USB типа CY7C68013

2. "на нем бы сьел собаку" :smile3046:

3. затем в USB корке заменил ID на ID от cypress(драйвер не писать и т.д.)

4. и потом уже отлаживал "это ВСЁ"

 

p.s. книжицу про USB всё таки дочитал бы до конца ;)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Ещё автор забыл прописать `include "usb1_defines.v" в модуле usb1_pl.v ( это я поправил)

 

Ядро в принципе рабочее, но ошибок внутри много. Как базис для разработки своего контроллера, использовать в самый раз. Ошибки от протокольных, неправильно регламентируется длина пакетов в Low Speed, неправильно вычисляется Bitstaffing если надо вставить бит непосредственно перед EOP и тп., до аппаратных криво работает подстройка частоты, может из за расхождения оцифрованных rxd, rxdp и rxdn зависать. вообщем, использовать можно, но дорабатывать и тестировать придется.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1. я бы начал с "обычного" контроллера USB типа CY7C68013

2. "на нем бы сьел собаку" smile3046.gif

3. затем в USB корке заменил ID на ID от cypress(драйвер не писать и т.д.)

4. и потом уже отлаживал "это ВСЁ"

 

p.s. книжицу про USB всё таки дочитал бы до конца wink.gif

 

 

Для этого обычного контроллера нужна обычная отладка (и сам контроллер, который возможно не подходит для конкретного приложения потому, что там не достаёт чего-то другого). В наличии же ПЛИС+другой контроллер без USB.

К томуже у каждого семейства контроллеров USB со своими интерфейсами. Тут же хочется построить проект так, чтобы смена

семейства (допустим с 8 на 16- ти разрядную архитектуру не тянула за собой полный передел программной части и судорожные поиски контроллера у USB на борту)

Насчёт книжицы - зачем мне изучать таблицу Cygnal - овских процов (в которых даже нет USB) и другую воду, которой изобилует вторая половина. К томуже без практики всё это быстро забывается.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

......................

 

Для этого обычного контроллера нужна обычная отладка (и сам контроллер, который возможно не подходит для конкретного приложения потому, что там не достаёт чего-то другого). В наличии же ПЛИС+другой контроллер без USB.

К томуже у каждого семейства контроллеров USB со своими интерфейсами. Тут же хочется построить проект так, чтобы смена

семейства (допустим с 8 на 16- ти разрядную архитектуру не тянула за собой полный передел программной части и судорожные поиски контроллера у USB на борту)

Насчёт книжицы - зачем мне изучать таблицу Cygnal - овских процов (в которых даже нет USB) и другую воду, которой изобилует вторая половина. К томуже без практики всё это быстро забывается.

а вы бы посмотрели на CY7C68013 повнимательнее, вы ж не смотрели ;) , может он вам как раз очень хорошо подходит <_<

про книжицу, имелось ввиду книжку про USB, а не - "изучать таблицу Cygnal - овских процов (в которых даже нет USB) и другую воду"

 

p.s. а какими вещами ваш контроллер занимается, если не секрет?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллер то хороший, но от Cygnal С8051F120 ради него я не откажусь. Как по шагам отлаживать программу мне тоже непонятно (JTAG - выводов я у него не увидел не через USB-ли ?), память программ заливается с внешней флешки и всего 8K.

Опять же, при переезде на другое микропроцессорное ядро не хотелось бы перелапачивать весь код. Поэтому по возможности буду стараться всю периферию реализовать в ПЛИС. Т.К. у всех производителей периферия вся по- разному управляется.

Изменено пользователем Yra

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Контроллер то хороший, но от Cygnal С8051F120 ради него я не откажусь. Как по шагам отлаживать программу мне тоже непонятно (JTAG - выводов я у него не увидел не через USB-ли ?), память программ заливается с внешней флешки и всего 8K.

Опять же, при переезде на другое микропроцессорное ядро не хотелось бы перелапачивать весь код. Поэтому по возможности буду стараться всю периферию реализовать в ПЛИС. Т.К. у всех производителей периферия вся по- разному управляется.

CY7C68013A

Software: 8051 code runs from:

-Internal RAM, which is downloaded via USB

-Internal RAM, which is loaded from EEPROM

-External memory device (128-pin package)

-16 KBytes of on-chip Code/Data RAM

 

GPIF (General Programmable Interface)

-Allows direct connection to most parallel interface

-Programmable waveform descriptors and configuration registers to define waveforms

-Supports multiple Ready (RDY) inputs and Control (CTL) outputs

 

Four integrated FIFOs

-Integrated glue logic and FIFOs lower system cost

-Automatic conversion to and from 16-bit buses

-Master or slave operation

-Uses external clock or asynchronous strobes

-Easy interface to ASIC and DSP ICs

-Available in commercial and Industrial temperature grade (all packages except VFBGA)

 

отладка возможна через USB, в keil-е

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

отладка возможна через USB, в keil-е

Можно подробнее, как в Кайле отлаживаться через USB?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

отладка возможна через USB, в keil-е

Можно подробнее, как в Кайле отлаживаться через USB?

тут читайте

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Можно подробнее, как в Кайле отлаживаться через USB?

тут читайте

Не нашел там ничего про отладку через USB.

 

http://www.keil.com/uvision2/monitor.htm

The Target Monitor is a program (provided by Keil) that you configure, compile, load, and run on your target hardware. It communicates (usually via the serial port) with the µVision debugger and allows you download and debug your programs in real time.

 

http://www.keil.com/c51/mon51.htm

MON51 communicates with the µVision Debugger using one of the PC's COM ports.

Hardware Requirements

* 5 Kbytes Code Space for MON51

* 256 bytes of XDATA memory

* Serial port for the PC interface

* Serial Interrupt

 

http://www.keil.com/support/docs/2325.htm

QUESTION

I have the EZ-USB Evaluation Board. The green light is on , but I can not communicate to the Keil uVision target debugger. Why?

ANSWER

The RS-232 cable connects to the RS-232 connector near the USB connector for Keil uVision debugging for all EZ-USB boards Versions 1.0 and later.

 

Вы сами через USB отлаживались, или абcтрактно-умозрительно ляпнули?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...