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

Как оптимально передать сигнал от 10бит АЦП

Собственно вопрос

Как сигнал от 10 битного АЦП передать к 8 битной sdram памяти с максимальной скоростью?

Лишние два разряда АЦП терять не хочется, но с другой стороны хочется максимальной скорости передачи, так как память и так узкое место.

 

Можно ли эти данные как-то сжать?

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


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

Собственно вопрос

Как сигнал от 10 битного АЦП передать к 8 битной sdram памяти с максимальной скоростью?

Лишние два разряда АЦП терять не хочется, но с другой стороны хочется максимальной скорости передачи, так как память и так узкое место.

 

Можно ли эти данные как-то сжать?

 

Все зависит от типа оцифровываемого сигнала. Что за сигнал?

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


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

Можно попробовать сжать если перед ацп поставить управяемый усилитель или цифровой потенциометр,динамически управляя диапазоном можно передавать 8бит,в низкочастотных применениях это использовалось ещё в советских разработках на к572пв1

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


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

ставить логику и упаковывать данные перед записью, имеется в виду следующее:

1 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем,

2 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем,

3 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем,

4 слово - старшие 8 бит пишем на прямую в память, а 2 младших запоминаем,

итого запомненных у нас 8 бит, вот их теперь тоже пишем в память.

Но! так с памятью лучше не работать (как писалось выше - узкое место) - лучше поставить еще одну микруху памяти, а этот алгоритм использовать при передаче данных "наружу"

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


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

Я бы упаковал 4 выборки АЦП в одно слово 40 байт и сохранил бы в память 5 байт. Какой обьём памяти и скорость надо? Если будет достаточно встроенной в FPGA то там нет проблем сделать и память двухпортовую и с разной разрядностью по входу и выходу, и работает на сотнях мегагерц. А варианты со сжатием это слишком сложный путь для такой проблемы. Да и цены на память уже не те, сейчас можно ставить 16-ти разрядные чипы, если это возможно конструктивно.

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


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

Можно ли эти данные как-то сжать?

Зависит от. Для звука и подобных можно попробовать нечто подобное u-law/a-law, для 10бит можно и таблично.

http://www.open.ge/el/?base=&view=0&am...wiki/A-law'

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


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

Спасибо за ответы

Уточняю ситуацию

У меня есть плата на которой стоит FPGA (Spartan3e-250), SDRAM mt48lc8m8a2-7e (по документации максимальная частота 143МГц) . На ней есть разъем (40 выводов) к которому я хочу подключить платку расширения с АЦП (2 канала, 10 бит, максимальная скорость оцифровки 105 МГц). Реально ли затолкать эти данные в память без потерь на близкой к максимальной скорости оцифровки (100 МГц)?

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


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

Я бы взял частоту 250МГц (меандр):

поделил на 2 - получил 125МГц для SDRAM,

поделил (250МГц) на 2,5 (пользуясь скважностью меандра) - получил 100МГц для АЦП.

При таком соотношении можно на 100МГц (укладываемся в 105МГц) получать 10-битные данные с АЦП и складывать на 125МГц (опять-таки, укладываемся в 143МГц) 8-битные слова в ОЗУ пакетами по 40 бит.

Между приемом данных с АЦП и записью в ОЗУ надо будет сделать буфер и простенький конвеер на 4/5 стадий АЦП/ОЗУ.

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


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

Я бы взял частоту 250МГц (меандр):

поделил на 2 - получил 125МГц для SDRAM,

поделил (250МГц) на 2,5 (пользуясь скважностью меандра) - получил 100МГц для АЦП.

При таком соотношении можно на 100МГц (укладываемся в 105МГц) получать 10-битные данные с АЦП и складывать на 125МГц (опять-таки, укладываемся в 143МГц) 8-битные слова в ОЗУ пакетами по 40 бит.

Между приемом данных с АЦП и записью в ОЗУ надо будет сделать буфер и простенький конвеер на 4/5 стадий АЦП/ОЗУ.

Спасибо за совет, попробую.

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


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

Можно попробовать сжать если перед ацп поставить управяемый усилитель или цифровой потенциометр,динамически управляя диапазоном можно передавать 8бит,в низкочастотных применениях это использовалось ещё в советских разработках на к572пв1

можно и еще проще сделать - передавать старшие 3 разряда только тогда, когда они изменяются (3 старших разряда + признак старших при их изменении, все остальное время 7 младших разрядов + признак младших) - вот вам и динамическое сжатие, но тут все зависит от того, что за сигнал

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


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

Я бы взял частоту 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 это не статика. Для её работы обязательно нужно проводить регенерацию, открывать и закрывать банки.

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


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

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

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

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

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

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

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

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

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

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