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

rloc

Модератор
  • Постов

    3 197
  • Зарегистрирован

  • Победитель дней

    12

Сообщения, опубликованные rloc


  1. DRC проходит, но при компиляции ругается:

    ERROR:HDLParsers:850 - "F:/PLLPROJ/test/ADCUNIT.vhd" Line 83. Formal port DRIVE does not exist in Component 'OBUFTDS'.

    ERROR:HDLParsers:850 - "F:/PLLPROJ/test/ADCUNIT.vhd" Line 85. Formal port SLEW does not exist in Component 'OBUFTDS'.

    Читаю описание на примитив, все в норме. Убираю строки DRIVE и SLEW - все компилится.

    В чем может быть проблемма?

    Spartan 3, ISE 8.2.03

     

    Посмотрел в описании, для 'OBUFTDS' только один аттрибут доступен - IOSTANDARD. Ошиблись немного, посмотрели на 'OBUFT'

  2. почему-то в России хаить все мастера :wacko:

    У меня почему-то от Expedition осталось больше негативных эмоций. Очень много проектов пришлось "похоронить" из-за неисправимых ошибок в cdb-базах. Верны ли слухи о том, что в грядущем релизе от них избавятся?

    Не сомневаюсь, что чаще всего ошибки связаны с неумелыми действиями самого пользователя и отступлением от документации. В новом релизе прежде всего хотелось бы видеть средства, позволяющие каким-то образом диагностировать, исправлять и защищать проект от непредвиденных ошибок. В крайнем случае, все файлы проекта должны быть в текстовом виде, чтобы иметь возможность самостоятельно исправлять их. В этом смысле переход с DC на DxD, я считаю правильным направлением.

  3. да такой шум с 30% электронной перестройки точно не получить :(

    Посмотрите на такой VCO DCYS100200. Октавный диапазон изменения и шумы не хуже -105dBc/Hz на 10kHz.

    я б на вашем месте сделал три VCO c переключением, а резонатор можно и микрополосковый сделать, а еще лучше делать гуны на 500-800 мег а потом умножить на 3, но для всего этого Вам будут нужны очень хорошие варикапы, конечно лучше использовать два с общим катодом или одиночный но не с резким переходом, кстати я тут не так давно делал гун на 700-780 мег и выжал шум -113...-115 dbc/Hz на 10 Кгц в зависимости от варикапа, и у этих гунов вобще почти никакого резонатора не было так smd катушечка одна размера 0803 :rolleyes: а вот на 2...2.5 гига делать такие малашумящие генераторы гараздо сложнее по-этому, как мне кажется, надо делать с умножением.

    При умножении на 3, фазовые шумы станут на 9.5dB хуже и требования выполнятся с натягом, и это при том, что придется еще несколько ГУН'ов делать. У вас скорей всего варикап был включен только частично (<12%) и своей добротностью не гробил фазовые шумы, плюс та самая катушка 0805 имела на данных частотах хорошую добротность. Микрополосковые линии обладают очень низкой собственной добротностью (~50-70), на них даже на одной частоте не получишь хороших фазовых шумов, если только не делать систему из нескольких взаимосвязанных линий.

    Я все ждал, к чему приведет обсуждение коаксиального резонатора с воздушным диэлектриком, но не выдержал. Без сомнения у него добротность очень высокая, но как только подключите к нему варикапы, вся добротность угробится. Предлагаю сначала определиться с варикапами, и потом, исходя из их добротности на нужных частотах, выбирать сам резонатор, чтобы одно другого не портило. Или же изначально строить систему с переключаемыми ГУН'ми/емкостями/механической перестройкой.

    Этот вариант тоже рассматривался- разбивка на поддиапазоны, но не с отдельными VCO, а с коммутацией длины резонатора на полужестком кабеле путем переключения варикапов в проводящее состояние (прямая поляризация, варикап работает в качестве pin диода).

    Интересная идея.

  4. Уважаемые форумчане , посоветуйте, пожалуйсто, конкретную микросхему SRAM памяти, обладающую следующими характеристиками: ёмкость в несколько килобайт памяти, низкое потребление, последовательный интерфейс, частота шины не менее 4 МГц. P.S.: Она будет использоваться в качестве кольцевого буфера. Также, хочу обратить внимание, что она будет применяться в устройстве,работающем автономно на протяжение долгого времени,т.е. фактор малого потребления данной микросхемы очень важен.

    Посмотрите здесь www.ramtron.com

  5. Помогите выбрать технологию для резонатора малошумящего VCO в диапазоне 1.5- 2.5 ГГц с перестройкой 30%. Какой резонатор будет иметь наибольшую добротность?

    1- микрополосок

    2- продвинутый микрополосок как в генераторах от Synergy microwaves

    3- посеребренный пруток над проводящей поверхностью

    3а- посеребренная прямоугольная в сечении скоба над проводящей поверхностью

    4- коаксиальный из медной трубы

    5- коаксиальный диэлектрический (керамика)

    6- коаксиальный из отрезка полужесткого кабеля.

    Хочется не особо разгонятся с габаритам и весом и иметь возможность подстройки частоты.

    Очень рад слышать, что кто-то интересуется такими вещами. Я очень много интересовался всевозможными вариантами резонаторов, и на этом основании могу сделать следующие выводы:

    Для такого диапазона перестройки частоты, вам придется отказаться от любых диэлектрических резонаторов. Очень у них маленький диапазон перестройки частоты. Нужно строить систему из связанных линий. С точки зрения добротности лучше всего делать на отрезках коаксиальных линий (можно посеребренных) с тефлоновым диэлектриком, но сделать систему из нескольких взаимосвязанных линий очень сложно, из-за того что в процессе перестройки частоты нужно будет подстраивать связи (отдельные емкостные) между резонаторами для сохранения добротности. Самое оптимальное решение - на связанных линиях типа stripline, они более высокодобротные, чем microstrip. Ulrich Rohde из Synergy написал очень много статей и столько же патентов по этой тематике, рекомендую обратиться к его публикациям. Сразу скажу, что самому повторить то, что сделал этот человек - задача не из легких.

    Ах да, совсем забыл, вы не включили ЖИГ, если не смущает цена и потребление, то тоже неплохой вариант.

  6. Возник вопрос - насколько щипетильно нужно подходить к выбору R и C ?

    Что может повлечь за собой неточность выбора этих элементов?

    Зачем такая точность нужна?

    Точность здесь не нужна, у таких резисторов более высокая температурная стабильность. По этой самой причине и по причине отсутствия зависимости от напряжения, конденсаторы нужно брать только из серии NP0, а не X7R и подобные. Небольшой разброс параметров допустим, думаю процентов 10%.

     

    А посчитать разброс частоты среза(полосы фильтра или что там Вам надо?) фильтра в зависимости от разброса номиналов - не пробовали?

    Это же элементарный курс радиоэлектроники плюс минимальный набор знаний по теории измерений и теории ошибок...

    По моему считается в течении 2-х-3-х часов даже на бумажке с логарифмической линейкой...

    А если есть маткад - то и..... даже не знаю за сколько - при условии что речь идет о конкретной схеме ФНЧ

    Не все так просто, и логарифмической линейки мало. Полный расчет ведется из условий минимизации интегрального уровня фазовых шумов, скорости установления, точности и стабильности частоты, причем все эти параметры еще зависят от частоты и крутизны вольт-частотной характеристики ГУНа. Существует достаточно много программ по расчету PLL, но в данном случае их использовать не удастся, потому как очень много неизвестных параметров. Изменение параметров RC элементов может привести в лучшем случае к росту джиттера тактового сигнала, в худшем - к самовозбуждению (очень часто это проявляется в том, что частота начинает свипировать в некотором диапазоне). Могу порекоментовать скурпулезно следовать рекомендациям даташита и если вы находитель на этапе конструирования ПП, то уделить много внимания экранировке, разделению цепей питания и земли этой части (как обычно разделяют цифровую и аналоговую цепи).

  7. Дело в том, что ошибка возникала при выполнении обоих условий (наличее в проекте PMCD и Keep Hierarchy = YES), т.е. у если Keep Hierarchy = No и впроекте есть PMCD MAP проходил без ошибок.

    Если почитаете внимательно ссылочку, которую я дал, то там как раз и написано, что чаще всего такие ошибки возникают при смене опций. Причем, в зависимости от того, на какой строчке процесс остановился, они рекомендуют разные способы решения.

    Переход на другую версию софта, пока неприемлем.

    Хотелось бы знать, почему?

    В принципе это уже непроблема, проект и без PMCD отлично работает, но осадок неприятный остался.

    Интересно, какие задачки будут решаться в такой микросхеме? Случайно не сигнальная обработка (фильтрация, децимация, интерполяция)?

  8. Захотелось сделать "умную периферию" в ПЛИС (ну чтобы там мат. ожидание посчитала, вела обслуживание низкого уровня на какой-нибудь шине и тому подобное.. в общем неважно) Смысл такой чтобы в ПЛИС поместить микроконтроллерное ядрышко, прицепить к нему периферийку написать программку порядка пол килобайта кода.

    Боюсь, что лучше PicoBlase'а по размерам и быстродействию Вам не найти. Разработчики из Xilinx очень хорошо потрудились над этим ядром и оптимизировали под свою архитектуру. Трудности с написанием программы на ассемблере, тем более 0.5кБ, никак не соизмеримы с трудностями по отладке не проверенных ядер.

  9. Using target part "4vsx55ff1148-11".

    Не слабый кристалл Вы используете.

    То, что отсутствие описания ошибки это бага софта понятно.

    Рекомендую прочитать следующую страничку 8.1i MAP - Master Answer Record for MAP application crashes

    Цитата:

    Often crashes are triggered by unexpected and invalid circuit configurations.

     

    Если Вы думаете, что ошибка связана с PMCD, то возможно Вы не правильно сконфигурировали этот блок, заодно посмотрите и все остальные. Очень часто в таких случаях проще поставить более новую версию.

  10. Схема такой защиты строится не на одном стабилитроне, а на диодах и стабилитроне. Стабилитрон кроме собственной большой емкости, вблизи напряжения стабилизации имеет довольно значительный ток утечки.

    Классическая схема, можно взять микросхему типа CDSOT23-SRV05-4

     

    Есть еще один вариант - аттенюатор (резистивный делитель) + усилитель, если чувствительность компаратора позволяет, то можно и без усилителя (очень часто применяется в высокоскоростных дифференциальных схемах)

  11. скос это в смысле потеря работоспособности импульса или рассинхронизация?

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

  12. Шаг можно и менее.

    Цифровые потенциометры вряд ли подойдут.

    Если только есть такие, у которых ppm не более 100.

    Уточните пожалуйста, для каких целей (очень много различных параметров: максимальная частота, обычный/дифференциальный, шум и т.д.)

    Здесь уже смотрели www.analog.com?

    Я применял AD8370, своим характеристикам полностью соответствует.

    Да и цифровые потенциометры у них замечательные 35ppm

  13. Признаю свою ошибку, спасибо Всем за помощь. Подтверждаю, ограничение разрядности коэффициентов приведет к искажению АЧХ.

    Предлагаю всем помочь автору разобраться с его вопросами. :beer:

     

    Я очень самокритичен, прошу модератора сдвинуть мой уровень репутации на один уровень ниже. :)

  14. Разница будет. Но будет она в степени приближения К к теоретически посчитанному. И выразится не в С/Ш выходного сигнала, а в степени приближения результирующей АЧХ к образцовой. А это очень разные вещи. 8-р коэффициентов может вполне хватить для выполнения ТЗ, хотя данные могут быть и 24р.

    Да, хороший мозговой штурм получается, даже автору вопроса не успеваю отвечать. Перейдем к более сложным примерам. Попробуйте синтезировать некоторый ФНЧ с коэффициентом усиления = 1 и ограничить его по разрядности. Далее подайте чистый синусоидальный сигнал (в плавающей арифметике) на этот фильтр с такой частотой, чтобы сигнал попал в полосу фильтра. С учетом того, что изначально фильтр мы брали с коэффициентом усиления = 1 (можно даже специально так рассчитать фильтр, чтобы на нужной частоте фильтр имел коэффициент передачи точно равный 1) и он идеальный (вообще без всяких шумов), то на выходе мы должны получить точно такой же сигнал, с точно такой же мощностью. Понятно, что ограничение разрядности коэффициентов фильтра приведет к некоторому искажению нашего сигнала, не говоря уже об искажении АЧХ. Это и есть ухудшение отношения сигнал-шум. Приведите мне пожалуйста аналитическую формулу, которая показала бы (для общего случая), на сколько ухудшиться сигнал на выходе фильтра. И потом, ради эксперимента, попробуйте уменьшить разрядность коэффициентов до 5, 4, 3, 2. Для того примера, что я привел, посчитать будет несложно - мощность шума будет равна разности входной и выходной мощности сигнала.

  15. И что? Никакого шума к сигналу проходящему через фильтр это не добавляет. Покажите источник шума. Покажите непроходимую границу между умножением на число, где вы соглашаетесь что шума нету, и фильтром.

    Источник шума - квантователь. Если мы возмем любой учебник по аналого-цифровой обработке сигналов и посмотрим как определяются шумы квантования, то увидим -20*log(2^N) дБ

    Не знаю, как на пальцах объяснить, но попробую.

    Возмем для примера такие коэффициенты: 10101.0101b (неокругленный коэффициент) и 10101.0000b (округленный коэффициент), и умножим их на 1.0000b (входное число), в лучшем случае мы должны были получить после умножителя 10101.0101b, а за счет округления получили 10101.0000, небольшая разница - 0.0101 (шум)

  16. Что за теория такая загадошная? В первом классе умножение учил - ничего не слышал. Какой С/Ш у числа 128? И почему он больше, чем у числа 1280?

    Я не говорю, что у числа есть сигнал-шум. При расчете в Матлабе, мы получаем коэффициенты в плавающей арифметике. При приведении этих коэффициентов к целым числам, мы тем самым откидываем младшие разряды, что условно можно считать квантованием по амплитуде. Теперь посчитайте, какая разница (еще раз повторяю в общем случае) будет между арифметикой с плавающей точкой (double если так будет угодно) и целочисленной, скажем 16 бит, 14 бит, 12 бит и т.д.

    ;О) Есть такой фильтр "среднее арифметическое". Неплохой ФНЧ, кстати. Многие фильтры, в конце концов, при определённых условиях, вырождаются имана в него. У него коэффициенты равны 1/N. Где N - его длина. Дык вот, для 8-тапового фильтра, разница между 0,125 и 0,1250000 никакая. Ну, к примеру, 0х20 и 0х2000. Можете проверить с калькулятором. ;О)

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

  17. Вам правильно mse написал. Разрядность коэффициентов FIR фильтра определяется только требованиями к АЧХ, например при недостаточной разрядности невозможно боковые лепестки сделать ниже. Возьмите FIR фильтр скользящее среднее там коэффициенты вообще однобитные, и ни к какому ухудшению сигнал/шум это не приводит.

    Мы рассматриваем общий, а не частный случай.

  18. Немного не то. Разрядность коэффициентов должна быть такой, чтобы удовлетворять требованиям к АЧХ фильтра.

    В ряде случаев разумный подход сильно упрощает жизнь. ;О)

    Я считаю, что разрядность коэффициентов должна быть такой, чтобы не ухудшать отношение сигнал-шум входного сигнала. Как известно из теории, при умножении результирующий сигнал-шум получается

    SN1*SN2/(SN1+SN2) (при больших SN, само SN - в разах по напряжению).

    Если мы берем коэффициенты 12-битной разрядности и данные 16-битной, то на выходе в общем случае мы получаем отношение сигнал-шум соответствующее 12-битной разрядности (если у нас только шумы квантования). Смысл брать 16-битные данные пропадает, а меньшая разрядность коэффициентов может пригодиться в случаях, когда сигнал-шум определяется не шумами квантования, а просто очень высоким уровнем шума.

    Теоретически, при ограниченных и достаточно небольших порядках FIR, можно так подобрать коэффициенты, чтобы они не ухудшали отношение сигнал-шум, но с требованиями к АЧХ это никак не связано.

     

    Я вотчто имел ввиду, что, если 16*16 на умножителе 18х18, то, что считать MSB 35-й и снимать тогда данные с (36-2 downto 36-18-1) и оперировать тогда уже расширенными битами и на основе этого acc рассчитывать (хотя не понимаю зачем использовать ненужные 35-32 е биты), или 31-ый и снимать данные с (32-2 downto 32-16-1) ???

    И почему реккомендуют брать 2-ой MSB ? Для увеличения точности ?

    Для увеличения точности рекомендуют обычно брать не дополнительные MSB, а дополнительные LSB, т.е. скажем вместо (31 downto 16) => (31 downto 14), в идеальном случае все разряды (31 downto 0)

  19. Может мы в терминах немного расходимся (в смысле 16 бит = 15 downto 0), но мне кажется, что надо при 16*16 брать (36-5-1 downto 36-16-5), т.е. (30 downto 15) брать 2 -ой MSB.

    В терминах мы не расходимся. (15 downto 0)*(15 downto 0)=(31 downto 0), но никак не (30 downto 0).

    Берем старшие 16 разрядов и получаем (31 downto 16).

  20. Тут я не совсем согласен: например, нужно перемножить 2 16-битных числа с помощъю 18х18 - умножителеей. Т.е. мы рассширяем 2х16 бит до 18 и получаем 36 битный результат. Теперь нужно получить из 36 опять 16-битный результат. Получается старший значимый бит (для 16х16) = 35-(36-32+1)=30-бит - это второй знаковый бит для умножения 16х16. А у Вас получается для 16x16 дополненых до 18 "36-2-1"=33 - Это как ?

    Я предполагал умножение 16*18, прошу прощения если не правильно понял вопроса. Если нужно 16*16 (знаковое расширение старших бит до 18*18), то берутся разряды с 36-4-16 по 36-4-1.

  21. Внимательно перечитайте то, что вы обозвали ерундой.

     

    Пусть имеем два знаковых, для простоты трехразрядных, числа. Разрядность произведения - 3+3=6 разрядов. А мы хотим 5. Но хотеть не вредно...

    Минимальное трехразрядное число --- это (-4) (100 в двоичной форме). Произведение (-4)*(-4)=16. В двоичном виде знаковое 16 имеет вид 010000, т.е. 6 разрядов, как и положено. И где здесь два одинаковых старших разряда, я вас внимательно спрашиваю? :)

    Чуть выше шла речь, как перемножить 16*18, имея 18*18 умножитель, т.е. разница этих двух разрядностей составляет 2, у Вас - (3+3)-5=1. Пример некорректный. Подразумевалось, что 16*18 -> [33:0] и два старших разряда 34, 35 будут равны 33 разряду, и их можно откинуть. Либо 16*18 -> [35:2], тогда два младших разряда 0,1 равны 0 и их тоже можно откинуть.

  22. Ещё вопросик: если реально входные данные у меня 16-битные, но расширенные до 18 (для умножителя), то, например, результат (значимый) их умножения считать 32-битным, хотя он будет по сути 36 битным. И во всех приведённых Вами формулах для рассчёта выборки бит (с аккк или умножителя) входные данные иметь ввиду 16 бит ?

    Из умножителя 18x18 можно сделать умножитель любой разрядности, хоть 2*3 (в меньшую сторону по разрядности конечно), и как Вы думаете значимыми будут 36 бит? Как ни старайтесь, но разрядность на выходе не получите больше, чем Nвход+Nкоэфф (значимую).

    Может не стоит FIR на FPGA городить, раз такие сложности?

  23. Это будет всегда, кроме одного случая: когда перемножаются два минимальных числа. Если один из множителей никогда не принимает своего мимнимально возможного значения, то таки да, два старших разряда будут одинаковы.

    Какую-то ерунду Вы пишите.

    1*(-1) = -1 два старших разряда = 1

    1*1 = 1 два старших разряда = 0

  24. Спасибо за ответ, но, если взять просто умножитель 18x18 (без всяких аккумуляторов), в котором 16-бит данные расширены до 18 и 16-бит коэф (умноженные на 2 ^15) тож до 18. На выходе получим 36 бит и нужно забрать 18 бит. Как прально это сделать ?

    Если данные 16 бит, и на выходе Вы хотите получить 18 бит, то можно поступить двумя путями:

    1) дополнить 16 бит недостающими 2 разрядами, т.е. D(17)=D(16)=D(15), где D(15) - это старший бит (MSB) данных, а после перемножения взять биты с 36-18-2 по 36-2-1

    2) сдвинуть 16 бит на 2 в сторону старших бит, а младшие 2 бита обнулить, после перемножения взять биты с 36-18 по 36-1, т.е. старшие 18 бит.

    Да и ещё поясните пожалуйста, что значит "данные надо округлять а не отсекать" ? Разницу для процов я понимаю, а вот для ПЛИС ,,,

    В самом простом случае нужно к вашему числу добавить +0.5 и отсечь лишние биты (и для положительных и для отрицательных чисел). Поясняю на примере: если нужно получить 18 бит, то сначала берете на один младший бит больше, т.е. 19 бит, добавляете 1 и отсекаете этот младший бит. Делать это надо на выходе фильтра, используя, скажем, дополнительный сумматор. Сам аккумулятор нужно постараться сделать с достаточно большой разрядностью, чтобы можно было не округлять, подаваемые на него данные.

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