|
|
  |
прием данных из АЦП в ПК по USB |
|
|
|
Jun 20 2010, 22:10
|
Участник

Группа: Участник
Сообщений: 16
Регистрация: 20-06-10
Пользователь №: 58 043

|
Здравствуйте. Я вот хочу замутить девайс: звуковой АЦП + ЮСБ. Нужно для качественной оцифровки аудиосигналов. Начал с поиска качественного АЦП. Остановился на WM8785 24@192кГц. При внимательном изучении даташита обнаружил неприятный факт: тактовый сигнал BCLK оцифрованых данных соответствует тактовой частоте самой имс, т.е. 40 МГц!! Ну что ж CY7С68013 сразу в топку - дорого и не понятно. Взору пал ARM7. Но где то слышал, что он не потянет такой поток. Поэтому пришлось искать другой АЦП. Номенклатура большая а доступных ФИГ. Остановился на pcm1803. Частота BCLK 6 МГц. Хочу использовать с AT90USB. Тактовая частота у нее 16 МГц, а пропускная способность ЮСБ - 12Мбит, что с запасом - 24*92000. Собственно вопрос - испльзовал ли кто AT90USB для таких целей, и потянел ли она? После выбора pcm1803 давит жаба - очень желательно 192 кГц, но не могу найти доступную в Украине. Может кто знает ?
|
|
|
|
|
Jul 21 2010, 08:33
|
Участник

Группа: Участник
Сообщений: 49
Регистрация: 28-09-09
Пользователь №: 52 622

|
Цитата(SancheSZ @ Mar 5 2008, 23:11)  Помогите выбрать микроконтроллер для следующей задачи:
необходимо по сигналу готовности данных принимать принимать данные из 8-10 разрядного АЦП с частотой порядка 10 Мегавыборок в секунду и без какой-либо обработки отправлять их в комп по USB, где приложение будет тупо этот поток сбрасывать на диск. Таким образом необходимая скорость передачи данных 10-15 МБ\сек.
Сам приматриваюсь к Cypress FX2.
Возможно ли на нем реализовать подобный обмен? Ситема: АЦП - FPGA - USB (68013). Работаю в режиме AsincSlaveFifo. Данные от АЦП постоянно пишу в 68013. Использую 2 ENDPOINT , один на передачу, другой - на прием. Прием - изменение параметров сбора. При получении прерывания сбор прекращаю установкой сигнала PKTEND, чтобы закончился пакет . При приеме от 68013 по IRQ (знаю, что придет 4 байта), прекращаю передачу в 68013 ,изменяю адрес FIFO, читаю .... Возникла проблема: посланный код получаю лишь по второй посылке. Т.е первое чтение - предыдущее значение, второе - правильный код. Может кто подскажет?
|
|
|
|
|
Jan 24 2011, 18:10
|
Группа: Новичок
Сообщений: 3
Регистрация: 2-02-09
Пользователь №: 44 270

|
Осваиваю CY7C68013A Требуется выдача/приём из/в ПК в FPGA со скоростью 60 МБит/с (либо выдача либо приём). Насколько я понимаю необходимо сделать большой буфер на EP2 (4*1024) и слать туда данные, а на устройстве организовать SLAVE FIFO Попробовал проект Archive.rar из http://electronix.ru/forum/index.php?showt...st&p=403476. Насколько я понял там используется GPIF для приёма данных. Хотелось бы сделать что-то подобное. Для начала я хотел использовать пин IFCLK как выход - записываю в IFCONFIG 0xA3 - на пин IFCLK ничего не появляется - почему?
|
|
|
|
|
Jan 29 2011, 18:48
|
Группа: Участник
Сообщений: 12
Регистрация: 25-11-10
Из: Москва
Пользователь №: 61 185

|
Цитата(gumanoid @ Jan 24 2011, 21:10)  Осваиваю CY7C68013A Требуется выдача/приём из/в ПК в FPGA со скоростью 60 МБит/с (либо выдача либо приём). Насколько я понимаю необходимо сделать большой буфер на EP2 (4*1024) и слать туда данные, а на устройстве организовать SLAVE FIFO Попробовал проект Archive.rar из http://electronix.ru/forum/index.php?showt...st&p=403476. Насколько я понял там используется GPIF для приёма данных. Хотелось бы сделать что-то подобное. Для начала я хотел использовать пин IFCLK как выход - записываю в IFCONFIG 0xA3 - на пин IFCLK ничего не появляется - почему? При ваших скоростях подойдет любой буфер (любая конфигура буферов кроме EP2 (4*1024)). Слать туда-сюда надо 2 ендпоинта: один IN, другой OUT. Вам подойдет 5ая конфигурация буферов ФИФО из описания CY7C68013A. Скачайте с сайта Cypress AN61345 и приложения к нему, там все подробно изложено и используется как-раз 5 конфигурация. В прошивке контроллера не забудьте правильные VID PID прописать, иначе примеры не работают со Streamer.exe.
Сообщение отредактировал Силаев - Jan 29 2011, 18:52
|
|
|
|
|
Feb 7 2011, 13:21
|
Группа: Новичок
Сообщений: 3
Регистрация: 2-02-09
Пользователь №: 44 270

|
насчёт того что не работает IFCLK: я использую микросхему в 56-ти выводном корпусе и 21 нога у неё по даташиту RESERVED. поскольку макет делал сам, глядя на это RESERVED оставил ногу в воздухе... и уж после того как собрал ещё один макет со второй такой же микросхемой и получив те же результаты - я заострил на этом внимание и поглядев схему evalution board повесил ногу через 10к на корпус - после этого заработало. (на выходе ifclk имеется частота) на данный момент получилось: Slave FIFO + EP2 OUT Bulk (512k*4) - вижу данные на выходах, вижу флаги фифо. пока разбираюсь что за данные (и готовлю проект для ПЛИС), но при отправке большого файла через CyConsole глядя на флаг EP2Empty - вижу что он периодически возникает - то есть данные выдаются быстрее (частота выдачи 30 МГц), чем они приходят. Почему передача данных не успевает? CyConsole не предназначена для потоковой передачи? или что то не так в железе? Сейчас скачаю AN61345 - посмотрю какая там будет скорость. P.S. Да, и микросхема греется, но терпимо - градусов под 60 - это нормально?
Сообщение отредактировал gumanoid - Feb 7 2011, 13:24
|
|
|
|
|
Feb 8 2011, 11:03
|
Группа: Новичок
Сообщений: 3
Регистрация: 2-02-09
Пользователь №: 44 270

|
на сайте cypress про AN61345 написано "The document Implementing an FX2LP-FPGA Interface - AN61345 is currently being reviewed and updated." Может кто нибудь, у кого есть выложит сюда?
|
|
|
|
|
Feb 14 2011, 08:50
|
Группа: Участник
Сообщений: 12
Регистрация: 25-11-10
Из: Москва
Пользователь №: 61 185

|
Цитата(gumanoid @ Feb 7 2011, 16:21)  на данный момент получилось: Slave FIFO + EP2 OUT Bulk (512k*4) - вижу данные на выходах, вижу флаги фифо. пока разбираюсь что за данные (и готовлю проект для ПЛИС), но при отправке большого файла через CyConsole глядя на флаг EP2Empty - вижу что он периодически возникает - то есть данные выдаются быстрее (частота выдачи 30 МГц), чем они приходят. Почему передача данных не успевает? CyConsole не предназначена для потоковой передачи? или что то не так в железе? Сейчас скачаю AN61345 - посмотрю какая там будет скорость. P.S. Да, и микросхема греется, но терпимо - градусов под 60 - это нормально? В AN61345 можно посмотреть скорость на прием из контроллера. Потребуется запустить Control Center и Streamer. В Streamer выбрать EP6 на прием, нажать старт. В Control Center выбрать тоже EP6. Во время работы Streamer можно жать Transfer Data в Control Center. Там можно контролировать целостность данных визуально. Поле должно заполняться значениями счетчика 00...FF без сдвигов. Если по USB подключен только FX2LP то у меня скорость до 40МБ/сек. Запускал передачу со счетчика на 10 часов. Сбоев нет. Температура FX2LP не чуствуется пальцем. Возможно у вас старая версия FX2 без LP, он грелись сильно. Или реализован не чистый SlaveFifo, что-то занимает процессор контроллера и он греется. ДЛя отладки хорошо вывести все сигналы интерфейса с ПЛИС на быстры логический анализатор. Я отлаживал на 4 канальном осциллографе. Каналов не хватало для удобной работы.
|
|
|
|
|
Jan 8 2014, 13:33
|

Участник

Группа: Свой
Сообщений: 60
Регистрация: 19-04-10
Из: Москва
Пользователь №: 56 743

|
Цитата(gumanoid @ Feb 7 2011, 16:21)  P.S. Да, и микросхема греется, но терпимо - градусов под 60 - это нормально? микросхема CY7C68013A 56-Pin SSOP slave_fifo внешняя синхронизация ep6 (4*512) ep2 (4*512). грелась когда буфер заполнен единицами под 60 градусов, даже если передача не идёт. Не знаю какая у них там логика работает, но решилось привязкой SLOE к работе SLWR и SLRD. Может пригодится кому
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|