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

maksimp

Участник
  • Постов

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

  • Посещение

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


  1. Settings/Analysis & Syntesis/More Analysis

    там галки Removes redundant LCELL и Registers в положение Off

    Подозреваю что это не то. Нужно поставить Ignore LCELL Buffers в положение off, наверное это в том же меню.

  2. В описании оптопары 3ОТ127А указано, что выходное остаточное напряжение ≤1,2 В при Iвх опт=0,5 мА, Iвых опт=2,5 мА.

     

    - входное напряжение низкого уровня - не более 0,8В;

    1,2 В больше чем 0,8В - значит схема может не работать, не воспринимать открытый оптрон как логический 0.

    Лучше включить наоборот - как на картике.

    Или применить оптрон без составного транзистора на выходе - например АОТ128Б, резистор 100 кОм с базы на эмиттер ему тоже нужен.

    post-66023-1468008772_thumb.jpg

  3. Я занимаюсь своей дипломной работой

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

     

    То есть в общем виде мой вопрос прозвучит так: как на практике реализуется избыточное кодирование (в плане соотношения скоростей передачи на входе и выходе кодера) - с использованием какого-либо буфера (который, по идее, всё равно переполнится через несколько тактов?), с изменением ли скорости выходного потока, или каким-то другим методом?

    Так или иначе, скорость передачи на выходе кодера больше.

    На практике - посмотрите например как работают с NAND Flash. Но понятно, что скорость записи данных в микросхему памяти больше, чем передачи данных по USB при сохранении файла на флешку.

  4. Поискал, посмотрел, но не понял, каким образом можно сделать стабилизацию тока и его уставку в мостовой схеме.

    Понимаю, что переполюсовка делается при этом просто, что однозначно хорошо и правильно, понимаю, что возможно таким образом получить ноль тока в любом удобном месте, однако не понимаю, как сделать одним ЦАП точную уставку тока без применения "сферических одинаковых радиодеталей в вакууме". Не могли бы Вы чуть подробнее разъяснить идею?

    Боюсь просто не получится. Вероятно нужно включить резистор последовательно с нагрузкой для измерения тока. И АЦП сделать с гальваноразвязанным питанием, подключённым средней точкой к одному концу этого резистора. Цифровые сигналы на АЦП и обратно передавать через оптронные развязки.

     

  5. Пробовал заморочится с опто-симисторами, а именно с MOC3021. Сначала подключил ее без дополнительного симистора, прям с ее выхода коммутируя - результат - не гаснет сегмент до конца (не закрывается полностью симистор).

    У симисторов есть ограничение по скорости нарастания напряжения в закрытом состоянии, dU/dt. Если его превысить то симистор сам открывается даже без управляющего напряжения. Ваш мост на полевых транзисторах даёт очень крутые фронты и допустимый dU/dt симисторов превышается.

    Попробуйте сгладить прямоугольник RC или LC фильтром, чтобы не превышать dU/dt.

     

  6. Предложу еще один вариант, который не требует запрета прерываний и работает как с ОС, так и без нее:

    1) Копируете во временную переменную счетчик (пусть он будет 64-битный, а копирование идет по 32 бита).

    2) Копируете в еще одну временную переменную старшее слово счетчика

    3) Сравниваете старшую часть первой переменной со второй.....

    Чего-то не пойму принцип работы. Почему на шаге 2 именно старшее слово? Меняться начинает со старшего слова?

    Это если в пункте 1 скопировать сначала старшее слово, затем младшее.

     

    Более простой для понимания вариант, но не оптимальный.

    1) Копируете во временную переменную счетчик.

    2) Копируете в другую временную переменную счетчик.

    3) Сравниваете, если совпало то возвращаете, иначе всё сначала - то есть идти на шаг 1

     

     

  7. Глобальная задача такова - имеются катушки, генерирующие магнитное поле, магнитометр с разрешением 24 бита, стабилизация магнитного поля с точностью минимум 10 нТл. К сожалению, потребная точность регулировки по току сейчас неясна (без тестов на реальных катушках), поэтому я стараюсь сделать точность по максимуму. Чтобы получить требуемую точность по ТЗ - достаточно регулировки по току с разрешением 20 бит (с учетом погрешности +-2LSB). Необходимо регулировать магнитное поле либо ток в катушках (в зависимости от режима работы). При этом надо, чтобы можно было регулировать поле и вблизи нуля, причем иметь возможность отключить ток совсем без применение ключей или реле.

    Нужно делать двухполярную схему, то есть такую которая умеет делать магнитное поле как одного так и противоположного направления. У силовых транзисторов есть ток утечки, и в одно полярное схеме ему соответствует не такое уж маленькое магнитное поле. Для вас нужен то утечки не более 0.0035 мкА, такие гарантированно не бывают.

    И АЦП нужно питать двухполярно, например от -2.5 В и +2.5 В, чтобы ноль был на середине диапазона. Или о -1.7 В и 3.3 В.

  8. Чем можно заменить BAV199 и тому подобные приборы для изделий с приемкой? Вроде бы их производство не является запредельным хайтеком? Но пока ничего лучше, чем 2Д102А1 найти не удается :crying:

    Если достаточно тока прямого тока 5 мА и обратного напряжения 30 В, то 2П303Г в диодном включении: затвор - анод, соединённые вместе сток и исток - катод.

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

    Защелкивание - это следствие того что напряжение на входе меньше нуля или больше питания.

    Про длительность фронтов - это другая история, тут опасность не защёлкивания а неправильной работы, в некоторых случаях перегрева.

  10. Беда только в том, что этот ток указан при выключенном питании. А при включенном питании как правило указано, что напряжение на входах не должно выходить за пределы -0.3В и +Vcc+0.3V. Какие при этом токи могут течь через защитные диоды, наверное, вы догадываетесь.

     

    Дотошные люди (не я), бывалыча, посылали в тексуппорт компаний прямой вопрос: какой ток через защитные диоды допустим во включенном состоянии? Ответы (если были ответы), помнится, разнились в зависимости от компании и находились в диапазоне от 0.1 до 0.5 мА.

    Из описания 74hc14

    LIMITING VALUES

    In accordance with the Absolute Maximum System (IEC 60134); voltages are referenced to GND (ground = 0 V).

    SYMBOL PARAMETER MIN. MAX. UNIT CONDITIONS

    VCC supply voltage −0.5 +7 V

    IIK input diode current VI < −0.5 V or VI > VCC + 0.5 V − ±20 mA

    Никаких оснований полагать, что ток входных диодов указана для выключенного питания. Наоборот, явно указано что для случая VI > VCC + 0.5 V.

  11. Можно примерон так:

    Первую таблицу сохранить из Excel как csv или другой чисто тектовый формат.

    Программа на Питоне преобразует этот файл в другой тоже csv.

    Второй csv открываем в Excel и получаем выводы по периметру, как хочется.

    Программировать работу с текстом на Питоне умеренно сложно.

     

     

  12. По-поводу тактов: делали 20 пустых - никакого эффекта, увеличивая на 10 тактов довели число пустых до 100 - тоже нет результата :)

    Даиташит страница 8-7 - нужно 3192 пустых тактов.

  13. 2РМ - 2-ая модель Разъёма Малогабаритного

    2РМГ - 2-ая модель Разъёма Малогабаритного Герметичного

    2РМГД - 2-ая модель Разъёма Малогабаритного Герметичного для Длинных цепей

    2РМД - 2-ая модель Разъёма Малогабаритного для Длинных цепей

    2РМДТ - 2-ая модель Разъёма Малогабаритного для Длинных и короТких цепей

    2РМТ - 2-ая модель Разъёма Малогабаритного для короТких цепей

    ВД - Вилка Двухштырьковая

    Г - Гнездо

    ГИ - Гнездо Измерительное

    ГК - Гнездо Клеммное

    ГРПМ - Групповой Разъём Прямоугольный Малогабаритный

    ГРПМШ - Групповой Разъём Прямоугольный Малогабаритный Штырьковый

    ГРППМ - Групповой Разъём Прямоугольный Приборный Малогабаритный

    ЗМЗ - Зажим Малогабаритный Земляной

    ЗМП - Зажим Малогабаритный Приборный

    КП - Клемма Приборная

    МР - Малогабаритный Разъём

    МРН - Малогабаритный Разъём Ножевой

    ОНП-ВГ - Особая Ножевая Прямоугольная Вилка Групповая

    ОНП-КГ - Особая Ножевая Прямоугольная Колодка Групповая

    ОНЦ-БМ - Особый Ножевой Цилиндрический Байонет Малогабаритный

    ОНЦ-БС - Особый Ножевой Цилиндрический Байонет Специальный

    ОНЦ-ВГ - Особая Ножевая Цилиндрическая Вилка Герметичная

    ОНЦ-ВН - Особая Ножевая Цилиндрическая Вилка Негерметичная

    ОНЦ-РГ - Особая Ножевая Цилиндрическая Розетка Герметичная

    РГ - Разъем Групповой

    РД - Розетка Двухштырьковая

    РП - Разъём Прямоугольный

    РПМ - Разъём Прямоугольный Малогабаритный

    РС - Разъём Специальный

    РСГ - Разъём Специальный Герметичный

    РШ - Разъём Штырьковый

    РШАГ - Разъём Штырьковый Аксиальный Герметичный

    СНО - Соединитель Ножевой Особый

    СНП - Соединитель Ножевой Прямоугольный

    СНЦ - Соединитель Ножевой Цилиндрический

    СР - Соединитель Радиочастотный

    СРГ - Соединитель Радиочастотный Герметичный

    СШРГ - Соединитель Штырьковый Радиочастотный Герметичный

    Ш - Штепсель

    ШП - Штепсель Прямоугольный

    ШР - Штырьковый Разъём

     

  14. При тестировании взял такие значения: p1 = 800000000000000000, p2 = 800000000000000001. Тогда работает вариант

    Чтобы не терять точность в подобных случаях можно например так:

    Power = (p1>=p2) ? ((REAL64)(p1-p2)) : (-(REAL64)(p2-p1));

    Фактически нужно 65-битную промежуточную переменную, и результат (p1>=p2) как раз хранит дополнительный бит.

  15. привести пример, где важно не допускать таких островов

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

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

    post-66023-1392491672_thumb.png

  16. то есть между падающим фронтом и появлением данных проходит 12 нСек вместо 10, это в медленном пути, в быстром проходит 4.

    потому перенести выдачу данных на поднимающиеся фронты тоже не вариант, в надежде на задержку.

    4 нс это не проблема. Приёмник уже захватил данные по поднимающимуся фронту, держать данные ещё 10 нсек не обязательно.

    На графиках - верхняя пара - обычныое построение SPI. Красным отмечены моменты захвата данных

    Нижняя пара - то что предлагается. В любом случае захват будет до изменения данных, даже если там всего 4 нс.

    post-66023-1389035578_thumb.png

  17. тормозит именно SPI

    в частности из готового сдвигового регистра не получается вовремя доставить данные на выход, по падающему фронту регистр сдвигается, а к следующему поднимающемуся данные должны уже стоять, а так не выходит, не хватает 2-3 нСек...

    Можно сдвигать регистр не по падающему а по поднимающемуся фронту.

    Приёмник (внешний относительно ПЛИС) берёт данные по поднимающемуся фронту, и сдвигать регистр можно тут же, не ожидая ещё половину такта.

  18. Здесь есть тонкий момент. Отсчёты сигнала SCK регистрируются в определённые моменты времени, и MOSI тоже в те же моменты.

    Если SCK изменился между двумя отсчётами, то какое из значений MOSI использовать - до или после изменения SCK? В идеале годятся оба варианта, но запас по времени в одном случае до 5 нс и после 10 нс, а в другом наоборот.

    Если Спартан это умеет, можно ввести задержку на входной ноге MOSI на 2,5 нс (четверть периода 100 МГц) и использовать его отсчёт после фронта - это даст симметричный запас в обе стороны по 7,5 нс.

  19. не получится...

    Примерно так:

    // сохранённые значения входных сигналов соответствуют следующим моментам тактового сигнала c 100 МГц:
    //      +---------+          +---------+            +------
    //      |         |          |         |            |
    // -----+         +----------+         +------------+
    //    sck2      sck2n       sck1      sck1n        sck
    //              mosi2n      mosi1     mosi1n       mosi
    
    input c,sck,mosi;
    
    reg sck1n,sck2n,mosi1n,mosi2n,sck1,sck2,mosi1,fr;
    reg [7:0] data;
    reg [2:0] nbit;
    
    always @(negedge(c))
    begin
      sck1n <= sck;
      sck2n <= sck1n;
      mosi1n <= mosi;
      mosi2n <= mosi1n;
    end
    
    always @(posedge(c))
    begin
      sck1 <= sck;
      sck2 <= sck1;
      mosi1 <= mosi;
    
      if (sck1 & (~sck2n))
      begin
        data <= {data[6:0], mosi1};
        fr <= (nbit==7);
        nbit <= nbit+1;
      end
      else if (sck2n & (~sck2))
      begin
        data <= {data[6:0], mosi2n};
        fr <= (nbit==7);
        nbit <= nbit+1;
      end
    
      if (fr)
      begin
        fr <= 0;
        // байт принят в data
      end
    end

     

    Здесь данные с mosi берутся по переднему фронту sck.

  20. Расскажете как выделить 50 МГц клок на 100 МГц тактовой? Боюсь что для этого надо не меньше 200 МГц, а этого мне на 6 спартане добиться не удалось...

    Можно работать по обоим фронтам тактовой 100 МГц. Делал подобное. Наверное получится.

     

  21. По теории должна быть 320KHz в реальности 270KHz.

    Частоту задал резистором 1%. Сопротивление проверил.

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

    Частота определяется не только вашим резистором но и элементами внутри микросхемы. У них погрешность больше. Так что отклонение на 15% вполне нормально.

    Проблемы это не составляет.

  22. И снова здравствуйте!

    Полазил, покумекал... и родился вопрос. В слое питания платы Altera присутствуют замкнутые области (например, питание ядра ПЛИС), т.е. одно питание окружено другим. Меня учили, что делать так не хорошо и могут быть последствия в виде возникновения паразитных токов и т.п. Почему они так сделали? Я в своей плате пилил слой питания как только можно, чтобы избежать таких областей... но у них видимо все чисто работает, а у меня в слоях земли и питания пролазивают палки от частот PLL и DDS (ну может я измеряю не правильно, во всяком случае без внутренних PLL ПЛИС шумов гораздо меньше).

    Не делать земляные петли - это относится только к некоторым случаям. Когдя по земле текут возвратные токи разных цепей и нужно чтобы не было взаимного влияния. Тут не тот случай.

    Вы пишете "последствия в виде возникновения паразитных токов" - вы понимаете, каких именно паразитных токов?

    Использую промежуточным звеном DC-DC конверторы фирмы TRACO POWER (TEN5, TEN10, Мне рекомендовали ставить по входу модулей фильтрующие конденсаторы. Сам модуль огромный, ноги находятся глубоко под корпусом. Имеет ли смысл их ставить, они же должны быт как можно ближе ко входным ногам.. сверху например их очень не удобно располагать, разьве что снизу.

    Можно ставить рядом с модулем сверху. Модуль гораздо низкочастотней чем ПЛИС, и для него это вполне достаточно близко.

     

  23. Если подключить программатор и подать питание 24v , все будет работать.

    Если подключить питание и следом подключить программатор , то stm32 сгорает.

    Строго-настрого только так - сначала подключить программатор, потом подключить питание.

    Или поставить у разъёма куда программатор подключают защитные элементы - диоды, самовосстанавливающиеся предохранители, резисторы и т.д. - которые ограничат напряжение на контроллере до не более 5 В даже если на разъёме будет ~220 В.

  24. Как думаете что можно попробовать в данной ситуации.

    - Уточнить частоту генерации и проверить номинал резистора R46. Дело в том полупериод такого генератора как RC генератора примерно равен T/2=R*C, где R - это R46, по схеме 33 кОм, и C - ёмкость кварца, несколько пФ. С таким R46 частота должна бы быть существенно больше.

     

    - Выяснить на какой частоте на самом деле работал генератор с оригинальной прошивкой. Может быть, тоже как и у вас, не совпадает с частотой кварца.

     

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

     

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

    Вообще прогноз неблагоприяный. На ПЛИС и кварце кварцевый генератор не делается. У меня был такой же опыт. Частота генерации на 16 МГц кварце получилась 22 МГц.

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