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

xvr

Свой
  • Постов

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

  • Посещение

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

    2

Весь контент xvr


  1. Вот это не факт :( У PCI LPT нестандартные адреса, iMPACT может не захотеть с ними работать, нужно проверять. API есть и оно реализованно в самом iMPACT'е (и драйверах). Проблема в том, что оно закрытое и никакие сторонние драйвера и шнурки работать с ним не будут (т.к. фирма XILINX его никому не давало) Расковыряли только формат обмена с сервером програмирования. Кстати, вместо прямого програмирования из iMPACT'а можно просто сгенерировать им прошивку для JTAG (он поддерживает форматы SVF и STAPL) а потом загрузить ее отдельным загрузчиком через любой USB кабель, который найдется по доступной цене.
  2. Угу, вам нужен USB кабель, который сможет понять iMPACT - это Platform USB Cable и Platform USB Cable II. Первый стоит $200, второй $225, что раза в 4 больше, чем ваш design kit :( Я не в курсе, можно ли найти их клоны, но то, что с любыми переходниками LPT-USB ваш кабель не заработает - абсолютно точно :crying: Существует (в сорцах) аналог iMPACT сервера для удаленного програмирования, его наверное можно заточить под LPT-USB переходник.
  3. Может я ошибаюсь, но по сообщениям об ошибках у меня сложилось впечатление, что вы пытаетесь вызвать функции SendByte и SetBRate из прерывания и из основной программы. Так же, судя по именам функций, они напрямую работают с UART'ом. Если я прав, то это все будет работать до тех пор, пока основная программа и прерывание не попытаются ОДНОВРЕМЕННО отправить байт в UART. А они попытаются, т.к. передача байта (если он передается не на 10 MHz :) ) вещь довольно длинная, вероятность попасть в нее относительно велика. Пока только на компиляторные, следующие грабли будут называться 'работа с одним физическим ресурсом из параллельных потоков вычислений без должной синхронизации'
  4. При управлении ТЭНами вполне можно обойтись без фазового управления симисторами (да оно и не получится с оптопарами, срабатывающими при переходе через 0), т.е. достаточно открывать симисоры на целые полупериоды сети. При таком управлении форму напряжения на нагрузке наблюдать совершенно не обязательно. Достаточно наблюдать форму сигнала на светодиоде оптрона. Осцилограф нужен для отладки цифровой части. Скажите, вам когда нибудь приходилось отлаживать устройства на микроконтролерах (причем одновременно железо и программу)? Не желаю, я уже писал, что не надо доводить до обсурда. Теоритически, его тоже было бы неплохо изолировать, но практически это очень накладно (да вы и сами в курсе). Еще раз, по буквам, для тех кто в танке: Я предлагал использовать ТРАНСФОРМАТОРНОЕ ПИТАНИЕ УПРАВЛЯЮЩЕЙ части (читай - микроконтролера и оптрона), больше ничего. Все остальное - плод вашего воображения. Пардон, вопросов не видел, видел явные издевательства. Видимо я не правильно понял тот цирк, который вы тут устроили, еще раз прошу прощения. Пока я видел интерпретации только с вашей стороны, начинающие как раз поняли все правильно. А вот это уже не соотвествует действительности. Еще раз, по буквам, для тех кто в танке: Мое предложение использовать трансформаторное питание управляющей части было дано для НАЧИНАЮЩЕГО и для устройства в ЕДИНИЧНОМ ЭКЗЕМПЛЯРЕ. Предлагаю эту дискуссию закрыть, так как выясняется что и устройство не в единичном экземпляре и всплыли более другие требования (упоминалась сертификация) Если будут вопросы и замечания по существу, а не для того, что бы блеснуть эрудицией - милости просим, можно поговорить еще :beer:
  5. Да ну?! Флаг вам в руки и барабан на шею :1111493779: Т.е осцилограф при отладке таких приборов не нужен, я правильно понял ваш пассаж? И создавал и отлаживал. Покажите место, где здесь написано про включение в состав устройства 'изолирующего трансформатора'? Здесь речь идет ИСКЛЮЧИТЕЛЬНО про силовой трансформатор для питания устройства.Уточнение специально для вас - для питания УПРАВЛЯЮЩЕЙ части устройства, симистор и ТЭНы к ним не относятся. Пока я наблюдаю, как вы умудряетесь переводить стрелки и ставить все с ног на голову. Это не демагогия, это именно то, что я имел в виду с самого своего первого поста. Если до вас это до сих пор не дошло, то я умываю руки. Автор не спрашивал советов по профессиональной ориентации, он спрашивал, как ему сделать устройство. Вы ему посоветовали как сделать себе электрический стул. А я лично вам посоветовал бы повнимательней читать то, на что отвечаете, прежде чем давать идиотские советы.
  6. Не надо доводить до абсурда. Семистор изолировать не надо, и руками к нему лезть тоже не надо, и осцилографом в него тыкать тоже не надо. Все остальное может потребовать подключения осцилографа и программатора, и изолирование ВСЕГО ОСТАЛЬНОГО не потребует больших накладных расходов, поэтому это все изолировать надо. Этого я не говорил, видимо это ваши рекомендации :) А у меня к вам один - вы разницу между РАЗРАБОТКОЙ и ЭКСПЛУАТАЦИЕЙ устройства понимаете? Я не предлагал использовать изолирующий трансформатор ВО ВРЕМЯ ЭКСПЛУАТАЦИИ - это ваши домыслы. И вообще меня несколько утомило переливание из пустого в порожнее, поэтому главный вопрос - Вы порекомендуете НАЧИНАЮЩЕМУ делать ЕДИНИЧНОЕ устройство, требующее отладки, гальванически связанным с сетью?
  7. Это - часть девайса. "сам девайс" - это все вместе. И это 'все вместе' должно быть изолированно от сети. Исключительно из соображений безопасности. Надо "ставить трансформатор" (т.е. включать трансформатор в состав устройства), а если этого не сделано - то нужно будет "использовать изолирующий трансформатор при отладке". Насколько я понимаю, автору темы нужно устройство в единичном экземпляре, поэтому НЕТ НИКАКОГО СМЫСЛА делать его бестранформаторным, т.к. трансформатор все равно понадобится при отладке.
  8. Трансформатор для того, что бы отвязать САМ ДЕВАЙС от сети, подключение его к PC или еще куда совершенно не важно. Отладка любого устройства, гальванически связанного с сетью требует особых мер. В частности развязывающего трансформатора (220->220) ПРИ ОТЛАДКЕ. Подключение чего либо дополнительного (типа осцилографа или программатора) к связанному с сетью (без трансформатора) устройству может привести к различного рода пиротехническим эффектам.
  9. Можно попробовать сделать DSS, ресурсов должно хватить, но может не хватить быстродействия :( (Verilog, 8ми разрядный DSS,минимальный коэфициент деления - 2) module DSS(input clk, input [6:0] freq, output f_out); reg [7:0] cnt = 8'b0; always @(posedge clk) cnt <= cnt + {1'b0,freq}; assign f_out = cnt[7]; endmodule
  10. Сильно :) Функция nextCRC16_D8(Data,CRC) Data - входной байт данных CRC - Текущее состояние регистра-накопителя CRC Возвращает новое состояние для регистра-накопителя CRC signal CRC : STD_LOGIC_VECTOR (15 downto 0) := x"FFFF"; CRC_counter : process (clk,reset_CRC) begin if reset_CRC = '1' then CRC <= x"FFFF"; elsif clk'event and clk='1' and SLD = '1' then CRC <= nextCRC16_D8(data,CRC); end if; end process CRC_counter;
  11. Если достаточно только принимать данные из PC - то тогда да. Однако это не устраняет необходимости поставить трансформатор, если конечно автор не планирует покончить жизнь самоубийством путем подключения себя в розетку посредством своего прибора :cranky:
  12. Не хватит - откуда будет браться питание для TX канала (передача в PC)?. Питание от порта PC не является хорошим решением - придется в RS232 шнуре тащить дополнительные провода. Существует, разной степени кривизны :( Полноценные опторазвязанные RS232 либо довольно сложные либо используют специальные гальванически изолированные RS232 приемопередатчики, а они весьма не дешевы :07: В такой ситуации нужно трансформаторное питание, опторазвязка на RS232 уже будет излишней. Для успокоения совести можно взять RS232 драйверы с ESD защитой.
  13. Одного оптрона не хватит, понадобится согласование уровней, питание для передающей части и т.д. Кроме того, для начинающего собрать выпрямитель и стабилизатор (1 диодный мост, 2 конденсатора и стабилизатор + трансформатор) проще, чем оптронную развязку. Для ее расчета нужно как минимум знать закон Ома :) И самое главное - для начинающего лучше не пытаться делать схемы, гальванически связанные с сетью - убъется сам и для родных устроит электрический стул
  14. Поставить маленький трансформатор (со стабилизатором) будет проще, чем гальванически развязывать RS232. Бестрансформаторное питание имеет смысл только если нужны очень маленькие габариты.
  15. В таком случае придется завести сигнал с сети, например завести напряжение со вторичной обмотки трансформатора после выпрямителя но до емкости стабилизатора (можно отдельным диодом), конечно если используется трансформаторное питание микроконтролера (а оно должно быть таким, если предполагается удаленное управление например через RS232)
  16. Микроконтролеры существуют и 'на советском' уровне :) Каких именно? И что же именно не подошло? Поверьте, телепатов здесь нет :1111493779:
  17. Выкинуть, однозначно! Берете симистор, для управления им берете какой нибудь оптосимистор с схемой коммутации при переходе через нуль (например MOC3041/MOC3042/MOC3061/MOC3062/MOC3063), для управления оптосимистором - 8ми ногий микроконтролер. Если инерционность ТЭНов позволит включать/выключать их с большим периодом (в несколько секунд), то даже можно не привязывать моменты включения и выключения нагрузки к сетевому питанию (будет хуже точность)
  18. Он собственно и вледеет. Temic'овские чипы Atmel до сих пор выпускает, но не все :( U2550B1 похоже в их число не входит
  19. Советую добавить показ временной сетки (в тиках или mks) на осцилограмме. Так же приходит на ум какая-нибудь внешняя прилада для экспериментов с обработкой принятых данных для оперативных экспериментов с кодированием и пр. Например в виде внешней программы, читающей последовательность через поток ввода (или параметр) и выдающая обработанное значение на вывод в виде текста или такой же последовательности.
  20. Меня смутило то, что на импульсы визуально разной длинны (для разных клавиш) он показывал одно и тоже значение Алгоритм такой: Ждать тишины > 32х интервалов Ждать начала посылки Отсчитать пол-интервала, с этого места начать непрерывно считывать сигнал с IR датчика с заданным интервалом (около 23h по IgorPlug2) Считанные биты обрабатываются следующим образом: Первые 3 бита должны быть 1 (есть сигнал с IR входа) - Стартовый маркер Далее биты складываются в байты (по 8 битов) начиная со старшего бита в байте, т.е. бит 7, бит 6, бит 5 ... бит 0, всего 2 байта 1й байт из этих 2х - кон нажатия/отпускания клавиши 2й байт - номер клавиши + 128 (старший бит установлен) Если протокол не соблюдается (стартовые биты не все 1 или код нажатия/отпускания не правильный или старший бит в номере клавиши не установлен), посылка игнорируется и все начинается сначала Оригинальная программа все это игнорирует 072 - Стартовый импульс 023 026 023 04B 023 026 023 - 01011010 - 5A - Нажатие 025 049 025 049 06E - 10010011 (1) - Клавиша с номером 19 - ESC 071 - Старт 023 026 023 026 091 - 01010000 - 50 - Оттускание 026 023 026 048 026 023 04A - 10100101 (1) - Клавиша с номером 37 - PrtScr Остаток посылки будет проигнорирован
  21. Я не смог освоить эту крутую программу :05: Видимо получить от нее длинну посылки невозможно, а одного вида импульсов недостаточно В сорце импульсы принимались просто по длительности. Начало посылки выделялось по паузе (более 32х интервалов) и импульсу длинной 3 интервала (т.е. код 07). Затем заводился таймер, который сэмплировал значение с входа приемника каждый интервал. Все захваченные биты складывались в байты, которые анализировались, как я писал раньше. Длинна интервала - 800 mks Коды повтора похоже игнорировались
  22. Алгоритм работы программы: Посылка с IR: 3 байта (старшим битом вперед) 1) 07 - Синхронизация 2) 50 - Отпускание клавиши / 5A - Нажатие 3) xx - Номер клавиши (>=80) В PC отсылаются коды (по порядку): E0 - Если клавиша принадлежит расширенному набору (см. ниже) F0 - Для отпускания клавиши xx - Скан код Таблица скан кодов лежит в файле keys.h (первый столбец - скан код, второй - признак расширенного набора) Если скан код равен 0 - клавиша игнорируется
  23. С программа уже и есть алгоритм :) :bb-offtopic: Едут 2 ковбоя по прерии, вдруг на обочине дороги зашевелились кусты. Один ковбой хватается за пистолет. Второй - Не беспокойся, это неуловимый Джо! - А что, его так трудно поймать? - Нет, просто он никому не нужен. Так вот, такая программа - это тот самый неуловимый Джо :08: И что она выдаст для программы тысяч на 10 строк? А программу на 100 строк проще понять по тексту. Сто раз уже говорили, ключ -s выдаст ассемблер, вполне готовый к компиляции Разничу между листингом (.lst) и ассемблером (.s) надо объяснять? А может вы не там спрашиваете - получать из C программы Ассемблер, что бы разобраться с алгоритмом - это занятие для настоящих мазохистов :cranky: Там и надо искать, а здесь люди предпочитают работать, а не создавать себе трудности, которые потом героически преодолевают PS. Если программа на C небольшая, то бросили бы ее сюда вместе с вопросами, на которые хотите получить ответы - это будет быстрее, чем поиск мифических конверторов с С на Асм.
  24. Еще раз: смотри http://electronix.ru/forum/index.php?s=&am...st&p=120223 - там рассматривается именно этот вариант Генератор ПОЛНОСТЬЮ случайный (не псевдо!) Тогда смотри вышеупомянутую тему с самого начала - это оно и есть :1111493779:
  25. Для Spartan II E эта информация была в AppNote по загрузке через JTAG (не помню ни номера ни названия). Для III E она тоже есть, но более скудная.
×
×
  • Создать...