ecos-rtos.in.ua 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Собственно вопрос Как сигнал от 10 битного АЦП передать к 8 битной sdram памяти с максимальной скоростью? Лишние два разряда АЦП терять не хочется, но с другой стороны хочется максимальной скорости передачи, так как память и так узкое место. Можно ли эти данные как-то сжать? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
BIK14 5 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Собственно вопрос Как сигнал от 10 битного АЦП передать к 8 битной sdram памяти с максимальной скоростью? Лишние два разряда АЦП терять не хочется, но с другой стороны хочется максимальной скорости передачи, так как память и так узкое место. Можно ли эти данные как-то сжать? Все зависит от типа оцифровываемого сигнала. Что за сигнал? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysmaster 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Можно попробовать сжать если перед ацп поставить управяемый усилитель или цифровой потенциометр,динамически управляя диапазоном можно передавать 8бит,в низкочастотных применениях это использовалось ещё в советских разработках на к572пв1 Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
IceS 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба ставить логику и упаковывать данные перед записью, имеется в виду следующее: 1 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем, 2 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем, 3 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем, 4 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем, итого запомненных у нас 8 бит, вот их теперь тоже пишем в память. Но! так с памятью лучше не работать (как писалось выше - узкое место) - лучше поставить еще одну микруху памяти, а этот алгоритм использовать при передаче данных "наружу" Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
slog 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Я бы упаковал 4 выборки АЦП в одно слово 40 байт и сохранил бы в память 5 байт. Какой обьём памяти и скорость надо? Если будет достаточно встроенной в FPGA то там нет проблем сделать и память двухпортовую и с разной разрядностью по входу и выходу, и работает на сотнях мегагерц. А варианты со сжатием это слишком сложный путь для такой проблемы. Да и цены на память уже не те, сейчас можно ставить 16-ти разрядные чипы, если это возможно конструктивно. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
VCucumber 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Можно ли эти данные как-то сжать? Зависит от. Для звука и подобных можно попробовать нечто подобное u-law/a-law, для 10бит можно и таблично. http://www.open.ge/el/?base=&view=0&am...wiki/A-law' Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ecos-rtos.in.ua 0 1 июля, 2008 Опубликовано 1 июля, 2008 · Жалоба Спасибо за ответы Уточняю ситуацию У меня есть плата на которой стоит FPGA (Spartan3e-250), SDRAM mt48lc8m8a2-7e (по документации максимальная частота 143МГц) . На ней есть разъем (40 выводов) к которому я хочу подключить платку расширения с АЦП (2 канала, 10 бит, максимальная скорость оцифровки 105 МГц). Реально ли затолкать эти данные в память без потерь на близкой к максимальной скорости оцифровки (100 МГц)? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
EvgenyNik 0 2 июля, 2008 Опубликовано 2 июля, 2008 · Жалоба Я бы взял частоту 250МГц (меандр): поделил на 2 - получил 125МГц для SDRAM, поделил (250МГц) на 2,5 (пользуясь скважностью меандра) - получил 100МГц для АЦП. При таком соотношении можно на 100МГц (укладываемся в 105МГц) получать 10-битные данные с АЦП и складывать на 125МГц (опять-таки, укладываемся в 143МГц) 8-битные слова в ОЗУ пакетами по 40 бит. Между приемом данных с АЦП и записью в ОЗУ надо будет сделать буфер и простенький конвеер на 4/5 стадий АЦП/ОЗУ. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ecos-rtos.in.ua 0 2 июля, 2008 Опубликовано 2 июля, 2008 · Жалоба Я бы взял частоту 250МГц (меандр): поделил на 2 - получил 125МГц для SDRAM, поделил (250МГц) на 2,5 (пользуясь скважностью меандра) - получил 100МГц для АЦП. При таком соотношении можно на 100МГц (укладываемся в 105МГц) получать 10-битные данные с АЦП и складывать на 125МГц (опять-таки, укладываемся в 143МГц) 8-битные слова в ОЗУ пакетами по 40 бит. Между приемом данных с АЦП и записью в ОЗУ надо будет сделать буфер и простенький конвеер на 4/5 стадий АЦП/ОЗУ. Спасибо за совет, попробую. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
stells 12 6 июля, 2008 Опубликовано 6 июля, 2008 · Жалоба Можно попробовать сжать если перед ацп поставить управяемый усилитель или цифровой потенциометр,динамически управляя диапазоном можно передавать 8бит,в низкочастотных применениях это использовалось ещё в советских разработках на к572пв1 можно и еще проще сделать - передавать старшие 3 разряда только тогда, когда они изменяются (3 старших разряда + признак старших при их изменении, все остальное время 7 младших разрядов + признак младших) - вот вам и динамическое сжатие, но тут все зависит от того, что за сигнал Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
yuri_d 0 6 июля, 2008 Опубликовано 6 июля, 2008 · Жалоба Я бы взял частоту 250МГц (меандр): поделил на 2 - получил 125МГц для SDRAM, поделил (250МГц) на 2,5 (пользуясь скважностью меандра) - получил 100МГц для АЦП. При таком соотношении можно на 100МГц (укладываемся в 105МГц) получать 10-битные данные с АЦП и складывать на 125МГц (опять-таки, укладываемся в 143МГц) 8-битные слова в ОЗУ пакетами по 40 бит. Между приемом данных с АЦП и записью в ОЗУ надо будет сделать буфер и простенький конвеер на 4/5 стадий АЦП/ОЗУ. Так работать не будет. У Вас получился темп данных с АЦП в 1000 Мбит/c. При 125 МГц у памяти получим 100% загрузку пропускной способности её шины (125 МГц * 8 бит = 1000 Мбит/c). Но SDRAM это не статика. Для её работы обязательно нужно проводить регенерацию, открывать и закрывать банки. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться