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

=AK=

Свой
  • Постов

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

  • Посещение

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

    5

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


  1. Дык, какие могут быть проблемы? Неужто в Маузере нет ничего подходящего? Помнится, там было полно недорогих звуковых ОУ от NJR
  2. Нет мажоритарного голосования, я хотел получить триггер, который взводится по трем 1 и сбрасывается по трем 0. В списке должны быть все сигналы, изменение которых сказывается на процессе. Детское объяснение: иначе Квартус ругается :) Что такое 1V0? Почему присваивается flt[0]=0 ? Я не понял, почему это должно происходить?
  3. Пытаюсь делать тривиальный фильтрик на входе UART-а, чтобы короткие выбросы не вызывали ложного срабатывания. Фильтр делаю на сдвиговом регистре flt, первые два каскада используются для подавления метастабильности, последние 3 каскада сравниваю на все 0 или все 1 и, соответственно, взвожу или сбрасываю бит результата shr(0), который затем вдвигаю в другой сдвиговый регистр shr process(clk16x,Rxd) variable flt :unsigned(4 downto 0); variable shr :unsigned(3 downto 0)l begin if rising_edge(clk16x) then flt(0) := Rxd; flt := flt sll 1; if flt(4 downto 2) = "000" then shr(0) := '0'; elsif flt(4 downto 2) = "111" then shr(0) := '1'; end if; shr := shr sll 1; end if; end process; Проверяю на симуляторе - полные дрова, не работает, не фильтрует ни фига. Почему? Переделал подубовее, ввел внешний сигнал filtered, и во второй регистр вдвигаю уже его process(clk16x,Rxd, filtered) variable flt :unsigned(4 downto 0); variable shr :unsigned(3 downto 0)l begin if rising_edge(clk16x) then flt(0) := Rxd; flt := flt sll 1; if flt(4 downto 2) = "000" then filtered <= '0'; elsif flt(4 downto 2) = "111" then filtered <= '1'; end if; shr(0) := filtered; shr := shr sll 1; end if; end process; Проверил на симуляторе - все ОК, работает. Это я чего-то не понимаю, или симулятор глючит?
  4. Вообще-то любой подойдет. Лучше использовать таймер и узел Capture Comparator, который выдает заданную частоту аппаратно. Тогда из всего программирования надо только настроить железо. Если такого узла нет, то проще всего выдавать заданную частоту на программных задержках.
  5. Умный дом.

    Например, вот так RS485 | |--master | |--slave | |--slave | ... | |--slave
  6. Умный дом.

    Хорошее описание некоторых популярных ИК протоколов http://www.xs4all.nl/~sbp/knowledge/ir/ir.htm По поводу интерфейса все намного сложнее. Надо сначала определиться с логикой обмена: 1. Мастер-слэйв, логическая звезда. В сети есть только один мастер, все остальные - слуги. Разговор всегда происходит между мастером и одним из млуг, слуги между собой сами разговаривать не могут. Мастер по очереди опрашивает всех слуг. Если у слуги есть новая информация (например, нажата кнопка), мастер получает ее, затем по своим таблицам смотрит кому она нужна, и рассылает исполнительным механизмам. Достоинства: простая реализация; отсутствие столкновений, легкои надежно делается на RS485 Недостатки: для получения хорошего времени реакции скорости обмена должны быть довольно большими (порядка 100кбит/сек); центральный мастер является критическим звеном, если мастер помрет - ничего работать не будет. 2. Peer-to-peer В каждый момент времени в сети есть один координатор. Координатор по очереди срашивает остальные узлы "тебе нужно управление?". Если да, то узел получает от координатора управление (токен) на какое-то время. После этого узел сам передает другим узлам информацию, по окончании обмена рапортует координатору. Если координатор помирает, то остальные узлы рано или поздно это обнаруживают по отсутствию опроса. После этого они "договариваются между собой" и назначают нового координатора. Достоинства: отсутствие столкновений, легко и надежно делается на RS485; обмен может быть ускорен по сравнению с (1), особенно если надо обмениваться большими пакетами; надежность выше, т.к. обмен не зависит от работоспособности одного узла. Недостатки: довольно сложно реализовать, много возни; скорости обмена все равно должны быть довольно большими, чтобы координатор мог быстро передать токен. 3. Анархия - мать порядка (CSMA) Координатора нет, мастера нет. Кому надо что-то передать - захватывает интерфейс и передает, после этого замолкает. Проблема возникает в тот момент, когда нескольким узлам взбредет передавать в одно и то же время. RS485 для этого не подходит, т.к. не приспособлен для работы со столкновениями. Здесь напридумывано много вариантов, например 3.1. "По фигу, рано или поздно пробьемся" Узел тупо передает свое сообщение и ждет подтверждения приема. Если ответа нет, исполняется псевдослучайная задержка, и передача повторяется. Надежда на то, что два столкнувшихся узла сделают разную задержку. Это вариант довольно гнилой, зато относительно простой. 3.2. Обнаружение столкновений (CSMA/CD) Узлы "слушают" линию во время передачи и обнаруживают, что произошло столкновение. В этом случае происходит "разборка" тем или иным способом, один передает, другой встает в очередь. Примерно так работает LON 3.3. Избегание столкновений (CSMA/CA) Линия работает по принципу "монтажного ИЛИ", один уровень "сильнее" другого. Узлы "слушают" каждый бит во время передачи и обнаруживают, что кто-то передает "сильный" уровень, в то время как они сами транслируют "слабый" уровень. После этого они тихо отцепляются от линии и не мешают "более старшим ребятам" разговаривать (первые биты в пакете задают приоритет). Последний вариант - самый интересный. Так (или примерно так) работают CAN, EIB, C-Bus. При этом физическая скорость обмена может быть очень низкой (в C-Bus, например, всего 5 кбит/сек), а реактивность получается очень высокой, особенно если информация передается не одному узлу (как в том же LON в обычном режиме), а сразу всем, широковещательно (как в EIB, C-Bus и в кривовато реализованном широковещательном режиме LON).
  7. Навороченно как-то получится. Если есть бустер для старта, то почему этот бустер не может работать как основной преобразователь, нерегулируемый? Сделать задающий на 555, потом D-триггером поделить частоту и получить симметричные прямой и инверсный сигналы. Далее обычной логикой "вычесть" из них импульсы 555, чтобы получить гарантированную "мертвую зону". Немного разогнать по мощности (той же логикой), и драйвить этим два NPN транзистора, классический пуш-пулл с двумя первичными обмотками. Достаточно широкая "мертвая зона" позволит использовать довольно медленные транзисторы.
  8. Ведь особая стабильность 32кГц не нужна, она влияет только на высоту звука в звуковой индикации, верно? Тогда можно использовать почти любой генератор. Я бы взял какой-нибудь дешевый мелкоконтроллер со встроенным RC-генератором (хотя бы PIC), и сформировал бы частоту при помощи PWM-выхода, если он есть, или даже чисто программно, если узла PWM нет.
  9. У них два. Есть и свой ISE симулятор, и Моделсим. Надо попробовать пошарить по меню и настройкам... Признаться, я в эту сторону даже не копал, т.к. мне сказали, что в Квартусе функц. симуляция возможна только в платной версии при помощи Моделсима, я и поверил...
  10. Спасибо. Все-таки я что-то не понимаю. Алтера описывает типичный процесс так, как показано на рисунке 1-1 в документе Q51015-5.1.1 "Quartus II Incremental Compilation" (хотел приклеить рисунок, но че-то форум глючит). Там показано, что Timing Analyser запускается в самом конце компиляции, после фиттера и ассемблера. И действительно, Квартус именно в таком порядке и компилирует проект. Исполнение фиттера у меня сейчас занимает 35 минут. У Зайлинкса симулятор запускается независимо от компиляции. Выбрал любой исходник в проекте, и просимулировал его. Или встроенным ISE симулятором, или же Зайлинговской версией Моделсима (последний тоже дается к Веб Эдишн). Еще и тестбенч автоматически сгенерировал, нажав один раз на кнопку. А в Квартусе я что, должен плодить маленькие проектики под каждый модуль, который хочу отладить? Настраивать их, компилировать в какой-нибудь неважно-какой чип, и тогда уж только смогу рассматривать времянку? Или же, назначая top level на какой-то из файлов текущего проекта, я таким образом как-то (неявно?) даю Квартусу знать, что он не должен исполнять фиттер и ассемблер? Моделсим в принципе должен был бы позволить делать в Квартусе то же самое что и в ISE. Но Алтера дает Моделсим только в платной версии Квартуса. Правда, говорят что ISE симулятор не всегда правильно компилирует заданный кусок. Я так понимаю, что у симулятора есть свой "усеченный" компилятор, и он имеет отличия от "основного" компилятора ISE. В этом смысле у Квартуса все "бронебойнее", т.к. используется один и тот же компилятор. Однако до поры мне фиттер и ассемблер нафиг не нужны, как бы их вырубить?
  11. При попытке добавления рисунка появляется такое сообщение: Произошла ошибка при загрузке файла, в связи с тем, что директория 'uploads' имеет неправильные атрибуты. Если Вы получили эту ошибку, просим Вас обратиться к Администратору форума и сообщить об этой ошибке. Несколько дней назад все работало ОК.
  12. Если уровень помех действительно очень велик, то входной буфер может из-за них перегружаться, да и активный фильтр тоже. Я бы поставил полосовой LC фильтр на входе, до буфера. Еще такая мысль: что если в кабель гнать не 32 кГц, а 32768 Гц? Тогда можно было бы попробовать использовать в качестве фильтра часовой кварц, что было бы проще, чем возиться с гираторами.
  13. I2C slave device на PIC16F84A

    Полноценный слэйв? Разве это возможно? Для слэйва времянка слишком строгая, программа не успеет. Мастера можно написать без проблем, а для слэйва лучше юзать что-нибудь вроде PIC16F74
  14. Full Speed USB Solutions http://www.microchip.com/stellent/idcplg?I...USB%20Solutions Communication Device Class (CDC) firmware http://www.microchip.com/stellent/idcplg?I...&param=en022625 The Communication Device Class firmware is the most direct way or migrating a serial port (legacy) application to USB. In fact this firmware provides direct emulation of a serial port on PC running Windows 2K and Windows XP. As the PIC18F4550 is attached to the PC, a virtual COMx port is created. All PC software using a COM1-4 port will work without modifications with the virtual COM port if only at a much higher speed (approx 1Mbit/s) Microchip Custom Driver http://www.microchip.com/stellent/idcplg?I...&param=en022629 Microchip Custom Driver is the ultimate solution for the more advance users. It allows full flexibility and configurability to allow the use of all data transfer modes (control, interrupt, bulk, isochronous) defined in the USB 2.0 specs and provides the highest bandwidth. It requires a deeper understanding of the internal workings of the bus as well as the development of custom interfaces (Windows code development) on the PC.
  15. Непонятно, почему "увеличение толщины намотки в 4 раза"? Ленту же можно взять в 4 раза тоньше, чем толщина медного слоя. Tогда в той же толщине будет столько же витков. Геометрия катушки не изменится, и кол-во витков останется как в медной.
  16. Правильно ли я понимаю, что для Квартуса симулятором является Моделсим, который входит только в покупную версию, но исключен из Веб Эдишн? А у Зайлинкса ISE симулятор входит в состав Веб эдишн, и дается бесплатно. Конечно, в Квартусе можно посмотреть времянки после того как проект скомпилирован. Но меня сейчас стало сильно напрягать время компиляции проекта, по полчаса и более. Хотелось бы отлаживать логику по кускам, для каждого узла по отдельности. Квартус этого не позволяет (или я не знаю как?), а ISE - позволяет, просто и удобно. Возникла нехитрая мысль поставить ISE и отлаживать логику на нем, а готовые куски переносить в Квартус. Кайф в том, что все легально, никакого ворованного софта. Или есть другие варианты?
  17. Если деталь можно заменить идеальным трансформатором - тогда это настоящий трансформатор. "Трансформатор" флайбэка одним только идеальным трансформатором заменить нельзя. Его можно заменить идеальной катушкой индуктивности, параллельно которой включена первичная идеального трансформатора.
  18. Амплитуда импульсов драйвера 15В. На трансформаторе это напряжение будет видно как двойная амплитуда, от пика до пика. Амплитудное напряжение будет зависить от скважности: для короткого полупериода амплитуда больше (зато действует недолго), для длинного меньше. При скважности 2 амплитуда + и - импульсов становится равна. Очевидно, это и будет самым "плохим" режимом для первички трансформатора. То есть, надо считать для двуполярного прямоугольного сигнала амплитудой 7.5В и длительностью + и - импульсов по 50 мкс (частота 10 кГц) Форма тока в первичной треугольная (если нет насыщения) и тоже двуполярная. в конце + импульса ток достигает максимума i+, в конце - импульса ток достигает максимума i-. Cоответственно, ровно в середине каждого импулса ток равен 0, в этот момент направление тока в первичке меняется на противоположное. Значит, чтобы посчитать амплитуду тока в первичке, надо посчитать, насколько изменится ток в ее индуктивности L, если к ней в течении 25 мкс (т.е. четверти периода) приложено напряжение 7.5 В (т.е. половина напряжения источника)
  19. Дело даже не в пользователяx Specctr'ы, а в том, что многие EDA умеют экспортировать PCB в DSN формате. Нынешний PCAD ASCII импорт-экспорт сужает круг EDA, которые могут работать с ТопоР-ом (про PDIF уж и не говорю).
  20. Идеальный трансформатор имеет бесконечно большую индуктивность первичной обмотки. Поэтому ее Z равен бесконечности, ток через нее не течет, никакой энергии в магнитном поле не накапливается. Реальный "обычный" трансформатор имеет конечную индуктивность, но все же она должна быть достаточно велика, чтобы можно было в эквивалентной схеме без большой погрешности заменить его идеальным. Дроссель - это катушка индуктивности, работающая в режиме заметной магнетизации. Настолько заметной, что, в отличие от трансформатора, пренебречь ею нельзя. Количество обмоток роли не играет. "Трансформатор" флайбэка - это двухобмоточный дроссель. Заменить этот двухобмоточный дроссель идеальным трансформатором нельзя, флайбэк работать не будет.
  21. Прочие элементы гораздо ближе по характеристикам к "идеальным", Поэтому в эквивалентных схемах как правило резистор заменяется резистором же, конденсатор - конденсатором. Исключение составляют разве что индуктивности (и то, если не входят в насыщение, то чаще всего все ОК) и трансформаторы. Зато уж "обсасываются" трансформаторы и дроссели в соответствующих институтских курсах гораздо тщательнее других, поневоле запомнишь. А источники всегда замещаются не "напрямую", а эквивалентной схемой.
  22. "Боже мой, в чьем лоне нет противоречий, пролей дождем в мое сердце кротость, чтобы терпеливо переносить мне таких людей. Они говорят со мной так не потому, что вдохновлены свыше и увидели в сердце слуги Твоего то, что говорят, а потому, что они гордецы; они не знают мысли Моисея, они любят свою собственную, и не потому, что она истинна, а потому, что она их собственная. Иначе они бы в равной степени любили и чужую, истинную мысль, как я люблю слова их, когда они говорят истину, - люблю не потому, что это их слова, а потому, что это истина, а раз это истина, то она уже не их собственность" (с) Августин Говорите, умеете признавать свои ошибки?
  23. 40 мА - это, как я понимаю, макс. нагрузочный ток. К макс. току через защитные диоды он отношения не имеет и иметь не может, т.к. ток нагрузки не течет через защитные диоды.
×
×
  • Создать...