Aleksandr_KPI 0 14 октября, 2011 Опубликовано 14 октября, 2011 · Жалоба Здравствуйте. Подскажите, как реализован ЦАП в ПЛИС. Стоит задача преобразовать данные из IP-Core генератора, который синтезирует функцию синуса в виде кодов во времени, в ШИМ последовательность и выдать ее через одну ногу ПЛИС. Конкретно реализовать нужно дельта-сигма ЦАП. Подскажите алгоритм работы. Заранее благодарю. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
V_G 8 14 октября, 2011 Опубликовано 14 октября, 2011 · Жалоба Термин "дельта-сигма" чаще относится к АЦП, а не к ЦАПам. Хотя внутри этого АЦП есть точка, из которой можно отфильтровать аналоговый сигнал. В общем-то в этой точке как раз присутствует что-то похожее на ШИМ (относительное содержание единиц в фиксированном промежутке времени пропорционально уровню аналогового сигнала, как и в обычной ШИМ). А ШИМ реализуется с помощью счетчика и цифрового компаратора, сравнивающего выходы счетчика с кодом, который нужно преобразовать в аналоговый вид. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Koluchiy 0 14 октября, 2011 Опубликовано 14 октября, 2011 · Жалоба Делали такую лабораторку в Бауманском :). Кажется, даже на графическом вводе, но тут могу врать :). Алгоритм очень простой - согласно амплитуде выдаете период соответствующей скважности. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_pv 52 14 октября, 2011 Опубликовано 14 октября, 2011 · Жалоба Алгоритм очень простой - согласно амплитуде выдаете период соответствующей скважности. Это просто ШИМ будет. Aleksandr_KPI, полагаю, имел ввиду что-то вроде этого. E[i] = E[i-1] + X[i-1] - Y[i-1] * FS; Y[i] = E[i] > X[i] ? 1 : 0; где FS - диапазон изменения данных X(не сильно быстро меняющихся за время t - t[i-1]), Y - однобитный выход. E - переменная где накапливается интеграл разницы между входом и выходом ЦАПа. Радость от сигма-дельта модулятора по сравнению с ШИМом, в переносе ошибок квантования в более высокочастотную область. то есть, например если надо вывести число 127 при 8 разрядах входных данных, то на выходе будет чередование 0 и 1 с максимальной частотой, в случае ШИМа для 8 бит это всегда будет сигнал с частотой в 256 раз меньше, соответственно и фильтровать сложнее. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 15 октября, 2011 Опубликовано 15 октября, 2011 · Жалоба Алгоритм очень прост. Регистр задания(управляющего воздейсвия), сумматор, аккумулятор. По тактовой управляющее воздействие суммируем к аккумулятору. Переполнение и есть выходной сигнал. Перенос с сумматора и есть нужный выход. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Tiro 0 15 октября, 2011 Опубликовано 15 октября, 2011 · Жалоба Здравствуйте. Подскажите, как реализован ЦАП в ПЛИС. Стоит задача преобразовать данные из IP-Core генератора, который синтезирует функцию синуса в виде кодов во времени, в ШИМ последовательность и выдать ее через одну ногу ПЛИС. Конкретно реализовать нужно дельта-сигма ЦАП. Подскажите алгоритм работы. Заранее благодарю. Посмотрите приложенный документ, там вначале коротко и с картинками рассказывается про однобитные АЦП/ЦАП. А дальше про более сложные, в том числе и про сигма-дельта преобразователи. chap14_slides.pdf Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 15 октября, 2011 Опубликовано 15 октября, 2011 · Жалоба Не надо путать ШИМ и сигма-дельта модулятор. Делал сигма-дельта (2-го порядка, более высокий порядок - может неустойчиво получиться и будут ограничения по амплитуде входного сигнала) ЦАП на лапе MOSI SPI порта микроконтроллера. Очень красивый синус вышел после фильтрации. Материал брал в Матлабовском Централе: http://www.mathworks.com/matlabcentral/fileexchange/19 - тулбокс для разработки сигма-дельта модуляторов и анализа чего получилось. Ищите в архиве файл "OnePageStory.pdf" - там описано как просто сделать сигма-дельта модулятор 1-го и 2-го порядка. delsig.zip Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Aleksandr_KPI 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба Всем спасибо за ответы ))). Алгоритм очень прост. Регистр задания(управляющего воздейсвия), сумматор, аккумулятор. По тактовой управляющее воздействие суммируем к аккумулятору. Переполнение и есть выходной сигнал. Перенос с сумматора и есть нужный выход. Возникли вопросы. К примеру я имею ряд чисел выдаваемых генератором, по каждому такту опорной частоты (CLK) : 512, 512, 537, 537, 562, 562, 587, 587 ...., числа имеют диапазон от 1 до 1023. 1) Если суммировать числа по CLK, то какой величины должен быть аккумулятор? 2) Как выбирается его разрядность? 3) При переполнении двоичного аккумулятора на выходе появляется единица, а как быть с остатком. К примеру десяти разрядный аккумулятор переполнился значением: 11001001011, что дальше? Его обнулить или добавлять следующий число к 1001001011. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hobgoblin 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба В дельта-сигма модуляторе помимо аккумулятора имеетсяеще отрицательная обратная связь (ООС) от квантователя (знак (MSB) результата последнего интегратора). Из-за нее при грамотно построенном модуляторе бесконечно сигнал в интеграторах, даже при высоком порядке модулятора, нарастать не будет. Разрядность аккумулятора обычно выбирается путем моделирования - смотрится максимальный размах сигнала. Я делал в железе только модуляторы высокого порядка - там запас в первом интеграторе берется 4-5 бит, а в каждом последующем интеграторе - обычно на один бит меньше, чем в предыдущем. В закромах есть полезная книга "Understanding Delta-Sigma Data Converters" - в ней есть глава про сигма-дельта ЦАПы. Написано весьма понятно, и есть даже готовый пример ЦАПа пятого порядка. Небольшая поправка - в обратной связи будет +1 или -1, в зависимости от того, положительный или отрицательный результат в интеграторе, а MSB результата будет выдаваться на выход модулятора. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SIA 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба В закромах есть полезная книга "Understanding Delta-Sigma Data Converters" - в ней есть глава про сигма-дельта ЦАПы. Написано весьма понятно, и есть даже готовый пример ЦАПа пятого порядка. Что-то я этого на ftp ("в закромах") не нахожу, может уточните названия ? Нужен респектабельный пример для студентов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
MaslovVG 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба К примеру я имею ряд чисел выдаваемых генератором, по каждому такту опорной частоты (CLK) : 512, 512, 537, 537, 562, 562, 587, 587 ...., числа имеют диапазон от 1 до 1023. 1) Если суммировать числа по CLK, то какой величины должен быть аккумулятор? 2) Как выбирается его разрядность? 3) При переполнении двоичного аккумулятора на выходе появляется единица, а как быть с остатком. К примеру десяти разрядный аккумулятор переполнился значением: 11001001011, что дальше? Его обнулить или добавлять следующий число к 1001001011. 1. Суммирование желательно производить не на тактовой выдающей задание а на существенно большей, в идеале на CLK*2**(разрядность аакумулятора) 2.Акумулятор должен быть больше либо равен самому большому числу задания. отсюда выбирается его разрядность. В вашем случае 10 бит 3 Остаток остается в аккумуляторе и к нему происходит следующее суммирование Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
hobgoblin 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба Что-то я этого на ftp ("в закромах") не нахожу, может уточните названия ? Нужен респектабельный пример для студентов. BOOKS/ADC&DAC/Delta-Sigma%20Data%20Converters%20(Norsworthy,Schreier,Temes-1997).pdf Я ошибся книги Understanding Delta-Sigma Data Converters там нет, но я имел в виду именно ту книгу, которая указана выше. Если кому нужна Understanding... могу залить куда-нибудь. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SIA 0 17 октября, 2011 Опубликовано 17 октября, 2011 · Жалоба Термин "дельта-сигма" чаще относится к АЦП, а не к ЦАПам. Хотя внутри этого АЦП есть точка, из которой можно отфильтровать аналоговый сигнал. В общем-то в этой точке как раз присутствует что-то похожее на ШИМ (относительное содержание единиц в фиксированном промежутке времени пропорционально уровню аналогового сигнала, как и в обычной ШИМ). Так модулятор сигма-дельта ЦАП и представляет собой не что иное, как полностью цифровую модель "входной части" сигма-дельта АЦП, сделанную именно для получения этого самого малоразрядного потока. BOOKS/ADC&DAC/Delta-Sigma%20Data%20Converters%20(Norsworthy,Schreier,Temes-1997).pdf Я так и думал. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
sysel 0 18 октября, 2011 Опубликовано 18 октября, 2011 · Жалоба Если кому нужна Understanding... могу залить куда-нибудь. Мне нужна. Залейте, пожалуйста куда-нибудь или мне на почту: duhn(coбaка)visom.ru Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DevL 0 18 октября, 2011 Опубликовано 18 октября, 2011 · Жалоба BOOKS/ADC&DAC/Delta-Sigma%20Data%20Converters%20(Norsworthy,Schreier,Temes-1997).pdf Я ошибся книги Understanding Delta-Sigma Data Converters там нет, но я имел в виду именно ту книгу, которая указана выше. Если кому нужна Understanding... могу залить куда-нибудь. тоже интересно. можно попросить Understanding залить на FTP? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться