Jump to content

    
Итересен переходник с USB на RS232.

Самый простой и дешевый вариант такого переходника - Cygnal CP2101 USB to UART Bridge Controller. Если для FTDI надо внешний кварц, EEPROM и еще горсть мелочевки, то для CP2101 не нужно НИЧЕГО (ну кроме пары фильтрующих кондеров :D ). И все это в корпусе MLP-28 5x5 мм! И еще стабилизатор 3,3 В 80 мА впридачу! И по цене меньше чем FTDI (~ $3). Правда драйвера Cygnal (сорри, теперь уже Silicon Labs) просто так не дает, надо кит за баксов 50 купить. Но это небольшая проблема - если кому драйвера надо, могу куда-нибудь залить/намылить. Единственное, правды ради хочу сказать, чип несколько менее гибкий, чем FTDI.

Share this post


Link to post
Share on other sites

Подскажите кто знает... :huh:

Мне нужно написать программку на CY7C67хх,

EZ-USB Development Tools V2.61.700 потдетживает эту серию контроллеров?

 

И вообще что поддерживыает серию контроллеров enCoRe и M8?

 

Игде можно найти?

 

Знаю что некоторые контроллеры с архитектурой 51 поддерживаются uVisio.

 

Зарание Спасибо!!!

Share this post


Link to post
Share on other sites

Здраствуйте!

 

Ктонибудь делал на CY7C68013 что нибудь?

Если да то интересно какую скорость удалось достичь, и какая при этом была загрузка процессора?

 

Замучился с драйвером CyUSB.sys в изохронном режиме передачи данных.

Думую стоит попробовать более провереный балк, но не уверен что здесь собака зарыта. Самому писать драйвер влом, хотя всё может быть.

Share this post


Link to post
Share on other sites
Ктонибудь делал на CY7C68013 что нибудь?

Если да то интересно какую скорость удалось достичь, и какая при этом была загрузка процессора?

Про изохронную передачу не знаю, а вот про Bulk могу сказать вот что.

На сайте Cypress есть такая информация:

 

Using Bulk endpoints Fx2 can perform a data rate of 20 MBps on PCI Host Controllers

5 packets per microframe

5 packet *512 Bytes/Packet per microframe

2.5 Kbytes per microframe

8 microframe * 2.5 K Bytes per Frame

20,000 KB per second

20 MBps (about twice this speed on Motherboard based Host Controllers such as ICH4)

 

Конечно не все так хорошо, но это похоже на правду.

 

Я как-то пробовал такую штуку:

FX2 (без внешней периферии), EP2 - IN, 512 byte, quad buffering.

Внутренний 8051 - тупо крутил цикл проверяя не свободно ли EP2 FIFO и если оно оказывалось вычитанным, то снова "взводил" его записью в регистры EP2BCH и EP2BCH.

 

Могу сейчас наврать но было что-то вроде:

if(!(EP2468STAT & bmEP2FULL)) {

SYNCDELAY;

EP2BCH = 0x02;

SYNCDELAY;

EP2BCL = 0x00;

}

 

В свою очередь на PC программа + синхронный драйвер (аналогичный ezusb.sys) опять же тупо в цикле вычитывали данные.

Приоритет потока я не поднимал, драйвер за один раз запрашивал передачу 32 Kбайт.

 

Дело было давно но получилось что-то вроде:

 

P3 900 MHz + PCI USB2.0 Host (Tekram) в районе 15 MByte/sec

 

P4 2.4 GHz + ICH4 на маме - чуть ли не 30 MByte/sec

 

Загрузка процессора, если мне не изменяет память была в районе 30%

(Тут могу наврать, но помню что я сильно обрадовался :)

 

Видимо если написать нормальный драйвер то можно скорость передачи

FX2->PC несколько увеличить.

Share this post


Link to post
Share on other sites

Кто нибудь делал на CY7C68013 что нибудь?

Если да то интересно какую скорость удалось достичь, и какая при этом была загрузка процессора?

 

Использую CY7C68001 - то же но без встроенного процессорного ядра.

Получается без напряга 15 Мбайт/с при загрузке ЦП PENTIUM-M 1.5 несколько

процентов. Думаю можно больше, просто мне не надо.

 

Замучился с драйвером CyUSB.sys в изохронном режиме передачи данных.

Думую стоит попробовать более провереный балк, но не уверен что здесь собака зарыта. Самому писать драйвер влом, хотя всё может быть.

 

Лучше пользуйте USBIO .

Share this post


Link to post
Share on other sites
Использую CY7C68001 - то же но без встроенного процессорного ядра.

Получается без напряга 15 Мбайт/с при загрузке ЦП PENTIUM-M 1.5 несколько

процентов. Думаю можно больше, просто мне не надо.

 

Лучше пользуйте USBIO .

1,5% это внушает, но мне необходима импульсная передача (передача-пауза-передача...). А что такое USBIO? Если имеется ввиду работать напрямую с портами ввода вывода то я думую это лишнее, а если есть драйвер с помощью которого можно обратиться к USB то хотелосьбы получить подробную справку.

Пока мне известен только один такой общий драйвер это драйвер HID

учтройств, но он мне подходит по скорости.

Share this post


Link to post
Share on other sites
А что такое USBIO? Если имеется ввиду работать напрямую с портами ввода вывода то я думую это лишнее, а если есть драйвер с помощью которого можно обратиться к USB то хотелосьбы получить подробную справку.

http://www.thesycon.de

crack искатить в конфе на телесистемах.

Share this post


Link to post
Share on other sites

2 qlock17

Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены.

Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь 

Заранее спасибо

 

А как это вам удалось сделать размер пакета 1024 в BULK режиме? В мануале написано что такое возможно только в ISOCHRONOUS. Что касается вашего глюка, то очень похоже на сбои по питанию или наводки по IFCLK (или по SLWR - если асинхронный режим). Еще полезно перед началом работы ресетить FIFO столько раз, чему равна буферизация, т.е. в вашем случае 4.

Вы каким драйвером пользуетесь. С новым драйвером от Cypress - CyUsb.sys не работали? Не могу с его помощью засатавить свой девайс заснуть, хотя вроде средства для этого есть. Может кто еще сталкивался?

Share this post


Link to post
Share on other sites
2 qlock17

Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены.

Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь 

Заранее спасибо

 

А как это вам удалось сделать размер пакета 1024 в BULK режиме? В мануале написано что такое возможно только в ISOCHRONOUS. Что касается вашего глюка, то очень похоже на сбои по питанию или наводки по IFCLK (или по SLWR - если асинхронный режим). Еще полезно перед началом работы ресетить FIFO столько раз, чему равна буферизация, т.е. в вашем случае 4.

Вы каким драйвером пользуетесь. С новым драйвером от Cypress - CyUsb.sys не работали? Не могу с его помощью засатавить свой девайс заснуть, хотя вроде средства для этого есть. Может кто еще сталкивался?

Несмотря на то что я отказался от использования изохрона мне былобы интересно увидеть пример работы с этим типом конечнойт точки драйвера CyUSB.sys. Когда драйвер жрёт 60-70% процессорного времени на скорости 3,3 МБ/сек и передаёт испорченые данные на остальное можно уже не смотретть.

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

Share this post


Link to post
Share on other sites
Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены.

Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь ;)

Заранее спасибо

Добрый день.

Такой глю кнаблюдаеьтся сразу после инициализации, пока от внешнего хоста не придет информация, что устройство подхвачено драйвером ОС.

у самого на CY7C680001 флаги стоят в состоянии, как попало.

Share this post


Link to post
Share on other sites

Вопрос: Кто использывал CY7C680000?

 

Стоит ли на него закладыватся? Или сразу взять CY7C68013. Один раз помучатся и разобратся...

Share this post


Link to post
Share on other sites
Столкнулся с проблемой при сопровождении устройства на CY7C68013. Бывает неопознанный глюк: флаг переполнения FIFO уходит в 0 (FIFO full) и FPGA перестает качать данные в USB-чип. Причем глюк носит случайный характер. То он всплывает, когда писишная программа только инициализирует устройство и никаких данных со стороны FPGA еще не идет, то выскакивает в момент передачи данных. Конфигурация чипа следующая: FIFO в режиме Slave, AUTO IN mode, размер пакета 1024 байта, буферизация quad, режим передачи данных bulk. Используется только Endpoint2, остальные отключены.

Если кто-нибудь сталкивался с подобным глюком - поделитесь информацией. Я в долгу не останусь ;)

Заранее спасибо

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

 

 

 

 

Интересно а кто нибудь делал одноврменно с каналом передачи данных Slave FIFO <-> FPGA интерфейс заливки прошивки ПЛИС от CY7C68XXX к FPGA? И вообще возможно ли это?

Share this post


Link to post
Share on other sites

Если кто еще использует чипы от FTDI (после такой рекламы CP2101 и CY7C68013), скажите: их драйвера можно как-то устанавливать автоматически (ну, к примеру из своего дистрибутива, так, чтобы они уже прописывались в Windows)? Куда что в реестре надо записать, что кинуть в Windows/System и так далее? Вообще, это в принципе возможно? А то не солидно всем потребителям объяснять: "Когда воткнете кабель, запустится мастер установки нового оборудования, поставьте галочку там-то и там-то и укажите путь к драйверам, а если мастер у вас почему-то не запустился, то возможно несколько вариантов...". Не все пользователи от этого в восторге.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this