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

=AK=

Свой
  • Постов

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

  • Посещение

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

    5

Весь контент =AK=


  1. Дык, можно ведь и RS232 развязать, тогда трансформаторное питание не нужно.
  2. Наличие или отсутствие растяжек никак не влияет на работу правильного протокола, поэтому "улучшить его работу" растяжками невозможно. "Чувствительность" к наличию растяжек есть полная гарантия того, что протокол плохой. Растяжки не уменьшают количество битых пакетов, если протокол правильно реализован. Чтобы получился битый пакет, в плохом протоколе помеха должна пересилить растяжки, а в хорошем - пересилить работающий выход передатчика. Я писал, что нужно два элемента: - "Задержка перед отправкой пакета", когда передатчик включен, но данных не передает. Длительность паузы - порядка 2-3 байт-интервалов. - Гарантия малых пауз между соседними байтами в пакете. Если приемник видит большую паузу между байтами, текущий пакет немедленно выбрасывается как ложный, а приемник мгновенно приводится в состояние готовности к приему нового пакета. При этом ложные помеховые пакеты, прием которых начался в паузе между настоящими пакетами, будут выброшены за время паузы в начале настоящего пакета. Соответственно, помеха не в состоянии испортить пакет данных, вне зависимости от наличия или отсутствия подтяжек.
  3. Насчет "смысла" - это к автору топика. Бог его знает, что ему нужно. Если нужна "честная" частота, то без PLL не сделаешь. Но он-то не этого просит. Он просит рассказать, как можно в схематике сделать то, что можно сделать в VHDL. PLL и к схематику, и к VHDL относится одинаково фиолетово. Но может, ему годится "дерганная" частота, то положение фронтов не играет рояли, главное иметь нужное кол-во фронтов за заданное время, кто его знает. Но опять, нефиг противопоставлять схематик и VHDL, и там и там это делается одинаково.
  4. Скажем, нужно вам, чтобы на выходе мультиплексора за 8 интервалов тактовой 80 МГц было 7 импульсов. То есть, 6 импульсов частотой 80 МГц и один импульс частотой 40 МГц. Ставите счетчик на 8, который клокается от 80 МГц. На его выходе ставите компараторы, которые сравнивают с 0 и с 6. Когда счетчик досчитает до 6, устанавливаете триггер, выход которого управляет мультиплексором. После этого на выходе мультиплексора пойдет 40 МГц. Когда счетчик переполнится и станет равным 0, сбрасываете триггер, после этого на выходе мультиплексора идет частота 80 МГц.
  5. Так же, как в VHDL. Поставить делитель 80 МГц на 2, получится 40 МГц. Поставить мультиплексор, который будет переключать сигнал между 80 МГц и 40 МГц. Поставить автомат, управляющий мультиплексором, который будет обеспечивать на выходе мультиплексора нужную вам смесь импульсов частоты 80 МГц и 40 МГц, чтобы в среднем, за большой интервал времени, получалась частота 64 МГц (то есть, 80 Мгц : 1.25)
  6. Некратным 2? Можно. Можно и на 3 делить, и на 5, нет проблем. Можно даже на дробное число делить, например, так: сначала делим на 2, потом на 3, потом опять на 2, и т.д. Только к "схематике" или "VHDL" это не имеет отношения. Если хочется такое сделать, то можно и в схематике сделать, и в VHDL.
  7. Из стандартов. На Сахаре, помнится, были основные стандарты на качество электрической энергии. Изучайте.
  8. Это не имеет отношения к тому требованию, которое я упомянул, и не играет ровно никакой роли. Хоть бы было даже 60 секунд. Все равно, за 24 часа устройство обязано иметь постоянной составляющей не более 5 мА, если я правильно помню. То есть, через нагрузку должно пройти одинаковое количество положительных и отрицательных полуволн сетевого.
  9. Решение заманчиво своей простотой, но в нем есть подвох. Без привязки микроконтроллера к сети трудно гарантировать отсутствие постоянной составляющей в токе нагрузки. Которая за 24 часа не должна превышать 5 мА, если склероз не подводит.
  10. У вас каждый оптрон жрет по 10 мА ни за понюх табаку, а вы на спичках пытаетесь экономить. Замените хотя бы ISO2 на обычный транзисторный оптрон (заодно Q1 можно будет выбросить, если грамотно включить), потребление уменьшится на 10 мА при прочих равных. Вы же, надеюсь, не дергаете сигнал прием/передача с частотой 1 МГц? :( С двойным экраном? Один из фольги, второй из медной плетенки? Тогда ладно... :) А то мы как-то проверяли кабели пятой категории на излучаемые помехи. И практически никакой разницы между неэкранированным и дешевым экранированным (экран из фольги) не обнаружили.
  11. В самом примитивном и грубом варианте варианте - соединив один из портов микроконтроллера, настроенный на ввод, с фазой 220В через резистор 1 МОм. Это не совсем честный прием, но с каким-нибудь "дубовым" мелкоконтроллером (с младшими PIC-ами, ST6, и т.п.) работать будет надежно. Более честно будет, если вы порт соедините с сетью через защитно-согласующую цепочку. Например, такую: Диоды можно заменить на сдвоенный BAV99 или BAV199. Резистор R1 должен выдерживать 300В, т.е. быть в крпусе размера 1206. Кондер (емкостью 100...1000 пФ) ставить не обязательно. Если симистор включать в течении примерно 0.5 мс после перехода сети через 0, то помех будет меньше. Намного меньше. В результате ни само это устройство не будет глючить, ни другие устройства. А по теплу-то как раз от этого выигрыша не будет никакого.
  12. Есть, но они вам не подойдут. Например, можно поставить связку UTMI+FPGA и купить USB-шное IP для FPGA. Вариант на Cypress FX2 самый разумный: и дешево, и скорость отличная.
  13. Включаете последовательно с нагрузкой симистор. Для управления нагрузкой включаете и выключате симистор на целые периоды сетевой полуволны. То есть, за 20 периодов сетевого (это 400 мс) включаете симистор на 12...18 полных периода (60%...90% мощности), остальное время держите симистор выключенным. Управление симистором делаете от какого-нибудь дешевого восьминогого микроконтроллера.
  14. Надо думать, что сдох за счет дуги между контактами в момент выключения. Размыкать 30 А, даже "резистивные", это задачка та еще. Я бы посоветовал включить контактор (один) и IGBT параллельно. Контактор должен замыкаться первым, чтобы брать на себя всю нагрузку и ударные токи. Вскоре вслед за ним должен включаться IGBT. Размыкаться должны в обратном порядке: сначала размыкается контактор, а потом выключается IGBT. Снабберы надо будет поставить обязательно. И материал контактов у контактора должен быть правильно подобран. Момент включения тоже опасный. В идеале в самый начальный момент должны замкнуться контакты из вольфрама. Он тугоплавкий и высокоомный, поэтому хорошо держит ударные токи (емкостная составляющая нагрузки). Вслед за ним должны замкнуться низкоомные контакты. Не знаю как у контакторов, а среди реле существуют определенные типы, у которых контакты сделаны парными (в виде пружинистой "вилки"), одна пара контактов вольфрамовая, другая - из серебряного сплава, причем вольфрамовые контакты подогнуты так, что замыкаются первыми.
  15. Три перемычки работают примерно так же, как сплошная перемычка полной ширины. Вплоть до частот, у которых длина волны становится сопоставимой с расстоянием между перемычками, т.е. примерно до гигагерца. Если вы перерывы между перемычками зальете землей, то практически ничего не изменится. По сути вы просто уменьшили степень разделения аналоговой и цифровой земель.
  16. В неактивном канале нужное вам состояние на входе UART-а обеспечивается подтягивающими резисторами. Предположим, вы поставили резисторы по 1к, т.е. один резистор тянет на +5, другой - на землю. Какой мощности должна быть наведенная помеха для того, чтобы на входе UART-а появился ложный "старт"? В первом приближении, помеха должна иметь можность 5В^2/2k=12.5 мВт (у автора топика с его 47к подтяжками будет еще меньше, но это не суть важно). После этого ваша софтинка примет помеховый сигнал за истинный, поскольку вы надеетесь на резисторы и на то, что такой помехи не будет. Начнется ложный прием, а пришедший вслед за этим настоящий пакет данных будет испорчен. Теперь оценим, какой мощности должна быть помеха, которая "испортит жизнь" правильному протоколу, такому, как Modbus RTU и т.п. Правильный протокол не делает никаких предположений о состоянии линии связи в паузах. Зато он требует, чтобы в начале каждого пакета включенный передатчик держал пасивное высокое состояние на линии в течении определенного времени, которое должно быть существенно больше, чем байт-интервал. Еще такой протокол требует, чтобы во время передачи пауза между соседними байтими в пакете была определенной и достаточно маленькой. Предположим, наведенная помеха в паузах запускает ложный прием. Однако ложный пакет будет отвергнут, поскольку очень маловероятно, что она выдает помеховые импульсы в нужном темпе (чтобы выполнялось требование о малой паузе между байтами) и что CRC помехового пакета будет правильным. Предположим, наведенная помеха запускает ложный прием незадолго до начала истинного пакета. Однако включенный передатчик своим выходом задавит помеху, а длинная пауза в начале передачи заставит приемник выбросить помеховый пакет, поскольку за время действия паузы не приходит новых байтов - не выполняется условие малой паузы между соседними байтами. Теперь оценим, какой мощности должна быть помеха, чтобы испортить настоящий пакет данных в таком протоколе. Работающий передатчик RS485 обязан уметь выдавать на линию не менее 60 мА тока (реально выдает раза в два больше). Мощность помехи, необходимая для того, чтобы пересилить выход передатчика, должна быть 5В*60мА=300мВт. Почти в 20 раз больше, чем с резисторами. Вот настолько и будет лучше помехоустойчивость правильного протокола по сравнению с дешевыми самопалами, которым нужно, "чтобы при неактивном канале было НЕАКТИВНОЕ логическое состояние" (с). Разница в десятки-сотни раз. :) Добавьте к программам протоколы, у которых "срывает крышу" от всяких несуразиц в канале.
  17. Имейте ввиду, что оптрон инвертирует сигнал. Однако, даже если бы он не инвертировал. Объясните, почему, собственно, на входе UARTа вам хочется в паузах между пакетами видеть высокий уровень, а не низкий. Зачем?
  18. Хм... Вы в курсе, что ULN2803 имеют выходы с открытым коллектором, т.е. ток нагрузки втекает в выходы, а то, что у вас нарисовано на выходе 245-х дает вытекающий ток? Странные у вас "замены". Приемники RS485 всегда имеют петлю гистерезиса (т.е. являются триггерами Шмитта). Поэтому для них принципиально не существует "нестабильных состояний", их выход стабильно находится или в 0, или в 1. Я догадываюсь, что говоря о "нестабильных состояниях" вы на самом деле имели ввиду "неопределенные состояния". Действительно, когда все приемопередатчики RS485 находятся в режиме приема, и разность напряжений между сигнальными линиями мала, на выходе любого приемника может быть как 0, так и 1, заранее сказать нельзя, что именно. При этом даже малая помеха, наведенная на линию связи, способна вызвать переключение и инициировать начало прииема ложного пакета данных. Для определенности и уменьшения влияния помех предпочтительно использовать приемопередатчики с так наз. failsafe фичей. Читайте аппноту TI Interface Circuits for TIA/EIA-485 (RS-485), там это подробно разобрано начиная со стр. 2-5. Обратите внимание на рекомендуемые номиналы резисторов подтяжки. Навешивая подтягивающие резисторы или используя failsafe приемники, вы не избавляетесь от неопределенности сигнала на входе UARTа в паузах между пакетами. Эта неопределенность уменьшается, но не исчезает. При мало-мальски мощной наведенной помехе вы опять получите на входе UART-а то, что вам не хотелось бы видеть. Вообще же требование на наличие failsafe (самопального или встроенного) является верным признаком того, что или используется дурной самопальный протокол обмена, или же нормальный протокол реализован программистом с грубыми ошибками. В любом случае помехоустойчивость обмена будет примерно в сотню раз хуже, чем могла бы быть, если бы, например, был использован грамотно реализованный Modbus RTU. Хорошему протоколу совершенно по барабану, каково состояние приемников, когда на линии нет драйвера.
  19. Угу. Странно было видеть, что в своем исходном посте вы преподносите это как открытие, как удивительное и мало кому известное откровение. Следующий шаг. В своем исходном посте вы особо выделяете и все время подчеркиваете, что речь идет о БП компьютера. Создается впечатление, что БП компьютера в этом смысле является чем-то особым, выдающимся. Так ли это? Какое напряжение вы ожидаете увидеть между землей и вторичной если возьмете обычный трансформатор 220В 50Гц? А если возьмете маломощный импульсный блок питания, тапример, так наз. "plug pack" (т.е. маломощный БП, совмещенный с сетевой вилкой)? Как вы думаете, может ли "обидеться" схема, если вместо БП компьютера используется любой другой БП (конечно, при прочих равных, т.е. при отсутствии заземления)? Судя по тому, что проц может управлять их направлением, они используются и как входные буферы, и как выходные драйверы типа "с открытым эмиттером". Особой науки в этом нет, просто надо схемы научиться читать.
  20. Да. Пожалуйста, не останавливайтесь на полдороги. Недоговоренности могут привести к ошибкам. Я дал ссылку на статью, которую, насколько я могу судить, автор схемы не читал, но которую ему, как мне кажется, полезно было бы прочесть. Объясните, каким таинственным образом моя рекомендация почитать статью связана с тем, прошли ли мои изделия испытания на 4 группу или нет? Пока что речь идет о том, что устройство и на 1 группу не тянет, поскольку зависает даже при очевидном отсутствии внешних помех.
  21. Хм... А сколько там, по-вашему, ДОЛЖНО БЫТЬ, в незаземленном варианте-то? И какое сопротивление было у мультиметра, котрым вы намеряли эти 110 В? Некоторые моменты в схеме позволяют уверенно утверждать, что автор схемы не читал статью "Помехоустойчивые устройства"
  22. Вам виднее. Стороннему наблюдателю невозможно понять, зачем вы их разъединяли. DC-DC наверняка сам дает грязноватое аналоговоe питание, которое надо подфильтровывать на месте, рядом с АЦП. Заодно отфильтруется тот довесок, который к нему может прицепиться по дороге.
  23. Трудно сказать, будет от такого изменения лучше или нет. Скорей, станет хуже, поскольку земли (цифровой+общей) части будут соединяться с аналоговой землей "сквозь" импульсный БП, за счет этого разбаланс земель может увеличиться. Я бы, пожалуй, наоборот, постарался "изолировать" полуостров DC-DC как можно более, чтобы его собственные помехи бегали по своему полигону и никому не мешали. И источник тактовой тоже бы слегка отделил от всего остального. А вот цифирь с аналогом соединил бы покороче, поскольку быстрые цифровые сигналы, соединяющие АЦП с цифровой частью (если они есть) надо вести поверх земли (их нельзя вести через зазоры в земляном полигоне), и одновременно их нехорошо делать длинными.
  24. Там не говорится, что их "желательно подключить к земле". На фиг.12 приводится два примера использования переходных отверстий, причем в обоих примерах неиспользуемые ножки микроконтроллера (по тем или иным причинам) подключены к земле. По-хорошему эту фразу про неиспользуемые выводы можно было вообще из статьи исключить. TI для MSP430 прямым текстом рекомендует, что неиспользованные выводы лучше никуда не подключать, а сконфигурировать на вывод. А вообще-то всегда считалось признаком хорошего моветона сконфигурировать неиспользуемые выводы как входы и заземлить их. Доводов за и против каждого из этих двух решений можно привести тучу, но все они довольно легковесны и одинаково умозрительны. Все решает разработчик, как ему удобнее, какие из возможных соображений "за" и "против" он сочтет более важными для своего случая.
  25. У Imsys есть статья, обсуждающая архитектуру процессоров. Там можно найти много интересного. Например: CEO of MIPS Technologies now admits that the RISC revolution has been a mistake. He says it built on a balance between CPU and memory speeds, but unfortunately that balance was transient. The main problem with RISC is that its clock frequency is assumed to be the maximum frequency the arithmetic/logic unit (ALU) can handle, and that memory accesses need to match this frequency. The increasing “speed gap” must be bridged by increasing the size of the cache. The cache consumes more silicon area and power than the processor core itself. Thus, this is a RISC disadvantage that grows with time.
×
×
  • Создать...