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

DmitrijStepin

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

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

  • Посещение

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


  1. Здравствуйте! Необходимо установить беспроводную связь между двумя модулями на расстоянии до 500м. Одним из основных требований является работа в диапазоне частот, нетребующих лицензирования. Остановился на longe-range Bluetooth модуле BT730 от Laird. Так как перехожу от RS485 интефейса к беспроводной связи, то хотелось, чтобы протокол обмена данными в целом остался похожим на Master/Slave, как в RS485. Насколько я понял из Wikipedia, в Bluetooth тоже один главный модуль (Master) и до семи подчиненных модулей (Slave). Каждый модуль должен отсылать два байта данный несколько раз в секунду. Или в ответ на два байта с Master модуля Slave модуль отсылат свои два байта. В спецификации BT730 указано, что возможна реализация нескольких профилей: Serial Port Profile (SPP), Dial Up Networking (DUN), FTP Client plus partial support for Headset (HSP), and HandsFree (HFP). Какая между ними разница? Какой из профилей лучше подходит для данного применения? Serial Port Profile (SPP), исходя из названия? На сайте Laird есть файл, в котором подробно описаны АТ команды для интерфейса host микроконтроллера с BT730. Но в этом описании нет конкретных примеров, какие именно АТ команды и в какой последовательности использовать. В этом заключается главная проблема, т.к. впервые столкнулся с Bluetooth. Есть ли примеры по запуску модулей в том или ином режиме? С уважением, Дмитрий
  2. Что мне известно на данный момент из технических требований, это то, что отдельные I/O модули, расположенные на всей территории объекта, должны иметь разъем RJ-45, а также на объекте уже проложена оптика. И в некоторых местах стоят "разветвлители" также с оптическими выходами. Т.к. к разъему RJ-45 подключается медный провод (витые пары), то где-то между оптическими и электрическими сигналами должен стоять преобразователь сигналов. На сколько я понимаю, таким преобразователем может быть свитч, работающий на оптику, но уже с электрическими выходами. На I/O модулях планируем ставить ARM микроконтроллер с Ethernet портом и внешней PHY микросхемой, которая непосредственно подключается к разъему RJ-45. На данный момент оптический выход у I/O модулей не хочу ставить, т.к. на данный момент являюсь новичком в этой теме. Такой подход выглядит более универсальным. Для чего нужны 2 порта у свитча? При выходе из строя I/O модуля свитч сам не будет блокировать / локализовать неисправность только на данном участке? У меня такое представление, что каждый модуль по своей витой паре подсоединяется к свитчу, у которого должен быть общий оптический выход для подсоединения к оптике. Есть ли какие-то основные вопросы, которые необходимо уточнить по топологии / архитектуре проложенной опической линии, от которых зависит дальнейшая разработка?
  3. Здравствуйте! Требуется обмениваться данными между устройствами на расстоянии до 2-3км. Опыт предыдущих систем сбора данных показывает, что влияние шумов очень велико в случае использования, например, интерфейса RS-485 на расстоянии до 1км. К тому же общую шину данных часто прокладывают с большими ответвлениями из-за экономии кабеля, и волновое сопротивление кабеля не соответствует нормам. Радиосвязь не годится, т.к. на объектах много металлических конструкций, помещений. Поэтому рассматривается возможность применения оптического интерфейса, с которым раньше не прходилось сталкиваться. Плюс, на некоторых объектах уже проложена оптика для других целей. Поэтому было бы разумно использовать уже проложенную оптику и не тянуть свои провода, если это вообще возможно. Подразумевает ли использование оптики применение Ethernet на каждом отдельном устройстве? Насколько я понимаю, многие ARM микроконтроллеры, у которых есть встроенный модуль Ethernet, подключаются к внешней PHY микросхеме, которая непосредственно выдает пакеты данных в сеть или принемает их. Но это электрические сигналы. Может есть аналагичные PHY, которые выдают оптические сигналы? Можно ли различные модули подключать к общей оптической шине, как в случае интерфейса RS-485? Все устройства должны отсылать данные в РС и получать от него команды. В этом случае необходимо использование TCP/IP протокола? Возможно, выше перечисленные вопросы примитивны, но прежде не приходилось иметь дело как с оптикой, так и TCP/IP (Ethernet). Дмитрий
  4. Две линии тянуть не хотелось бы из-за высокой стоимости проводов, т.к. данная система используется в противопожарных системах. По нормам нужно использовать огнестойкие кабеля. Вами предлагаемый подход предусматривает использование двух портов на каждом модуле: один для основной шины, а второй - для резервной? Отключать модули от Мастер модуля нельзя при обнаружении неисправности кабеля. Они должны оставаться в системе. Принцип должен быть такой: если в "основном" пути для некоторых модулей обнаружена неисправность кабеля, то они начинают опрашиваться по "резервному" пути. Повреждение основной линии должно быть устранено по возможности быстрее. По идее в нормальном режиме работы нужно опрашивать модули как по основной шине, так и по резервной поочередно, чтобы не получилось так, что при переключении на резервную шину она не была неисправной тоже. По мере усложнения системы все больше склоняюсь к использованию CAN вместо RS485. Но это только планы на будущее. Сейчас использую RS485. Использование CAN не решит данную проблему. Для CAN и RS485 подход к решению этой проблемы должен быть похожий. Система должна оставаться всегда реального времени, потому что по нормам в противопожарных применениях максимальное время определения тех или иных событий в системе не должно превышать одну минуту. Каким образом отключается неисправный сегмент при обнаружении КЗ или обрыва?
  5. Здравствуйте! Есть необходимость сохранения передачи данных в шине RS485 при обрыве кабеля или коротком замыкании. Допустим, если на каком-то сегменте произошло короткое замыкание, то этот сегмент нужно отключить от остальной шины. Но другие модули, которые следуют за поврежденным участком, не должны отключиться от главного опрашивающего устройсва (Master). Для этого рассматриваю использование замкнутой петли. На Мастер плате предусмотрено использование двух портов. Один порт является началом шины, а второй - концом. Если данные не приходят с Slave модулей по одной шине в случае какой-либо неисправности, то эти модули начинают опрашиваться по второму порту. Хочу узнать, является ли такое решение рациональным и самым простым. Так по идее даже возможно увеличить длину шины. Использование только одного порта для создания замкнутой петли не годится. Так? Какие устройства используются в качестве детекторов короткого замыкания в шине RS485. Слышал, что такие есть, но не приходилось использовать их раньше. Возможно, сможете посоветовать что-то еще. По крайней по такому принципу делают системы. С уважением, Дмитрий
  6. Интересная идея, но сравнительно большой ток не могу позволить, мах 5-10мА, что тоже достаточно. В таком случае тоже лучше использовать дифференциальный вход? Питание входной цепи тоже желательно делать от 24В, чем от 5В? Но со стабилитронами могут возникнуть дополнительные неудобства при монтаже, например, неправильная полярность. Действительно, изобретать велосипед не хочется.
  7. Схему с подобными уровнями используем сейчас. В данный момент с помехами боремся программным путем, что ведет к задержке определения уровня. Хотелось бы на железном уровне схему сделать более помехоустойчивой. Поэтому хочу использовать диф. вход. Конечно, программная фильтрация тоже останется для дополнительной надежности. На реальных объектах с длинными проводами пики шумов превышают +/-5В. Поэтому single ended вход уже не справляется. На диф. входе эти синфазные шумы должны существенно скомпенсироваться.
  8. АЦП нужно, т.к. кроме замкнутого и разомкнутого состояния опрашиваемого контакта нужно также детектировать обрыв и короткое замыкание кабеля. Это уже 4 состояния нужно определять. Короткое замыкание кабеля не должно определяться как замыкание контакта, а обрыв - как размыкание. В этом вся суть. Иначе, конечно, использовал бы обычный цифровой вход. Длина кабеля может достигать нескольких десятков метров или больше, поэтому шумов предостаточно. Поэтому нужен диф. вход. Почему изображенный вход не является дифференциальным?
  9. Здравствуйте! Нужно сделать дифференциальный вход для последующей подачи сигналов на дифференциальный вход АЦП. Диапазон входных напряжений АЦП от 0 до 5В. Сама входная цепь работает от 24В. Прикинул схему, изображена ниже. Какие будут ваши замечания и дополнения? Просится еще фильтрующий конденсатор между входами АЦП. Является ли такая схема, действительно, дифференциальной? Мне кажется, что да. Не хотел бы делать питание входной цепи от +5В, т.к. уровень шумов может быть сравним с этим значением и даже выше. Резистор R5 - контакт.
  10. Здравствуйте! В данный момент рассматриваю варианты реализации светодиодного освещения небольших помещений (высота примерно 2.2 м, площадь около 40-50 м2). Нужно сделать более менее равномерное освещение 250 lumen/m2. Допускается использование нескольких осветительных модулей для получения более равномерного освещения. Но цена критична, поэтому их должно быть по возможности меньше. Есть следующие вопросы: 1) Какие светодиоды лучше всего подходят для данного применения, учитывая легкость монтажа, стоимость и конструктивную часть? Цвет светодиодов белый (pure white). Светодиоды не должны быть слишком яркие, чтобы не слепить глаза. Может есть какие-то дешевые матрицы светодиодов? Или светодиоды на лентах... Конструктивная часть должна быть по возможности простой и дешевой. 2) Как ориентировочно расчитывается параметр 250 lumen/m2? Потребляемая мощность доджна быть как можно ниже. Также предусмотрена функция диммерирования, но я так полагаю, что данная цифра соответсвует 100%. 3) Для питания светодиодов будут использоваться AC-DC преобразователи с выходным напряжением не более 30VDC. Есть как обычные блоки питания, так и специализированные LED driver (например, DLG50PS24 от XP Power). В чем их принципиальное различие? Дмитрий
  11. Возник вопрос по TBU (CDSOT23-SM712). У него 3 контакта: Line In/Out, NU, Line Out/In. NU не используется? Относительно чего TBU измеряет напряжение Vreset? Еще вопрос по монтажу TBU. Из даташита видно, что контакты находятся снизу. К ним можно подлезть паяльником? На рисунке с боку видны металлические контакты. Или для ручного паяния на площадках нужно ставить переходные отверстия?
  12. Этот предохранитель по параметрам мало отличается от того, который я ранее выбрал. Также само максимальный ток не должен превышать 3А. По графику из даташита видно, что такой ток не должен быть дольше 0.2 секунды. Без дополнительного резистора пики тока будут около 30А. Поэтому, вероятно, он сразу выйдет из строя.
  13. На входе импульсника напряжение не должно превышать 36V. Потребляемый ток не превышает 150mA в нормальном рабочем режиме во всем диапазоне входных напряжений питания (18-36VDC). Пока остановился на таком TVS: 1.5SMC36CA (Breakdown Voltage = 34.2...37.8V, Clamping Voltage max = 49.9V). А один из самых быстрых PTC, что удалось мне найти для моего случая, является CMF-RL10-0 (Hold current max = 150mA, Trip current = 300mA, Current max = 3A, Voltage max = 220V, Time to trip = 0.45s). Как я понимаю, максимальный ток для PTC не должен превышать 3А. Его сопротивление в нормальном состоянии 10 Ом, поэтому пики токов могут достигать 30А. Не ставить же ограничивающий ток резистор, т.к. в нормальном рабочем режиме на нем будет большое падение напряжения. Даже относительно маленькое время срабатывания 0.45 сек не сравнимо с временем срабатывания, например, TBU.
  14. Вы под самовосстанавливающимся предохранителем имеете в виду PTC resettable fuse, который идет в связке с TVS? Допустим, импульсники на входе выдерживают 40В мах. Значит, TVS должен открываться до 40В. Меня смущает длительное время срабатывания PTC предохранителя. Оно может составлять 10 секунд и больше. Тогда вся мощность будет рассеиваться на TVS. Он так долго не протянет, сгорит. Может надо ставить ограничивающий ток резистор, чтобы пики тока не превышали допустимое значение для TVS.
  15. Это из-за большого начального тока или потому, что параметр TBU Vreset = 16В меньше напряжения питания 24В? Или просто защита для питания делается по-другому. Делать на рассыпухе (тиристоры, симисторы и т.д) не хотел бы. Как вариант схемы на дискретных компонентах приложен. Очень громоздко. От обратной полярности спасет диод. Есть ли что-то готовое на подобии защиты для RS485?
  16. Как раз и используем SN65HVD1780 в сочетании с цифровыми изоляторами. Но нужна защита и от попадания на шину сетевого напряжения. SN65HVD1780 относительно дорогой. Если будет защита на базе твс, тбу и разрядников, то можно будет ставить более дешевые стандартные трансиверы.
  17. Нашел документ по защите RS485, в котором описано сочетание трех компонентов: 1) GDT, 2) TBU, 3) TVS. Документ приложен. Думаю, что его можно взять за основу. По идее для питания 24VDC нужно делать подобную защиту. bourns2030.pdf
  18. Спасибо всем за ответы и предложенные варианты! Надо ознакомиться с TBU серии СА. Как я понимаю, TBU контролирует ток в линии. Как только ток в линии превышает определенный порог Itrigger (Current required for the device to go from operating state to protected state), транзисторы закрываются до тех пор, пока напряжение не упадет до Vreset (Voltage below which the triggered TBU™ device will transition to normal operating state), около 15-20V. Время срабатывания TBU tblock = 1мкс (Time for the device to go from normal operating state to protected state). Если не ошибаюсь, TVS должен стоять между TBU и интерфейсной микросхемой, чтобы создать большой ток при попадании высокого напряжения на TBU. Напряжение пробоя TVS должно быть допустимым для сохранения работоспособности интерфейсной RS485 микросхемы. И при такой комбинации (TVS + TBU ) к линии может быть подключено сетевое напряжение постоянно, если правильно выбран параметр Vrms (Continuous A.C. RMS voltage), больше 250V? И они будут постоянно то включаться, то выключаться, но ничего не испортиться? Ничего не будет перегорать, просто интерфейсная микросхема не будет пересылать данные? Я правильно понял? Немного не в курсе насчет разрядников. Для чего они нужны? 3. Скорость передачи данных от 9600 до 115200 5. Желательно, чтобы все сохранилось в прежнем виде
  19. Здравствуйте! Модули с RS485 интерфейсом питаются от 24VDC. У интерфейсных микросхем есть встроенная защита от попадания на входы А и В напряжения питания 24VDC при неправильной коммутации или повреждении кабеля. Но есть также необходимость защитить шину RS485 и блоки питания на модулях от попадания / подключения сетевого напряжения 230VAC. Так как модули могут находиться на большом расстоянии друг от друга, то такую защиту надо делать на каждом модуле. Хотел бы посоветоваться насчет оптимальных и эффективных схем защиты. Пока ориентируюсь на двунаправленные защитные диоды (TVS - Transient Voltage suppressor) в сочетании с быстрыми предохранителями. Но не уверен, что предохранители смогут достаточно быстро перегорать, т.к. TVS могут выдерживать большие импульсы тока в течение порядка 10мкс. Может нужно ставить последовательно резисторы маленьких номиналов, но шину RS485 для передачи данных тоже нельзя портить. Какие есть еще предложения? С уважением, Дмитрий
  20. TMS570LS20216, SCI2

    Добрый день! Начал разбираться с ARM Cortex-R микроконтроллером TMS570LS20216 от Texas Instruments (серия TMS570LS20x/10x). Использую кит TMDX570LS20SUSB. Программу пишу в CCS, а конфигурацию - в HalCoGen. Сейчас застрял с SCI (Serial Communication Interface, UART mode). Выбрал SCI2 модуль. В начале сконфигурировал SCI2 для отсылки данных без использования прерываний (polling mode). Тут все работает. Следующим этапом попытался добавить TX high level прерывание для отсылки данных и RX high level прерывание для приема отсылаемых байтов для SCI2. Выводы LIN2TX и LIN2RX соединены между собой снаружи. Первый отсылаемый байт отправляется с main (), а последующие байты - с подпрограммы прерывания TX INT. Для этого в (HalCoGen – приложение для графической конфигурации контроллера) разрешил прерывание TX INT (high level) и RX INT (high level) для SCI2, в VIM (Vectored Interrupt Manager) модуле разрешил 49-ый канал прерываний (LIN2 high). В приложенном проекте отсылается пакет из 10 байтов. TX INT функционирует нормально, а вот с приемом данных по RX INT проблемы. Вижу, что данные не принемаются. В чем может быть проблема? Такое ощущение, что RX INT не разрешен. Предполагаю, что одновременно можно использовать и TX INT, и RX INT прерывания одинакового уровня, как и еще несколько других прерываний, относящиеся к SCI2. У всех этих прерываний разные приоритеты. Если даже несколько прерываний появились одновременно, то с начала обрабатывается прерывание с большим приоритетом, а далее в порядке уменьшения приоритета. В результате ни одно из прерываний не должно пропасть. Я прав? И в чем может быть ошибка? С уважением, Дмитрий SCI.zip
  21. Здравствуйте! Столкнулся с такой проблемой, что для разрабатываемой противопожарной системы требуется соответствие стандарту SIL2. Насколько мне объяснили, нужно использовать 2 микроконтроллера для взаимной проверки. Как это можно реализовать? На сайте Texas Instruments нашел серию ARM контроллеров для safety-critical systems (TMS570LS Family). Вот ссылка на сайт: http://www.ti.com/lsds/ti/microcontroller/...ng_started.page Это двуядерные микроконтроллеры (dual-CPU lockstep architecture). Вот, что написано насчет стандартов: Developed to the requirements of the ISO 26262ASIL D and IEC 61508 SIL-3 safety standards and qualified to the AEC-Q100 automotive specification this ARM® Cortex™-R4F-based family offers several options of performance, memory and connectivity. Можно ли использовать такие микроконтроллеры, не беспокоясь больше о соответствии стандарту? Программу придется писать одну, а компилятор сам продублирует код на два ядра и будет выдавать флаги неисправностей? У других производителей микроконтроллеров тоже есть подобные решения? Сам в основном работаю с MSP430 от Texas Instruments и Mega, Xmega от ATMEL. В принципе ресурсов Xmega вполне достаточно для реализации нужного функционала, но все упирается в сертификат, без которого систему никуда не поставишь. Какие могут быть дополнительные требования помимо микроконтроллера? Например, контролю дискретных входов и выходов или использованию внешних микросхем памяти .... Используются дискретные входы на оптопарах и дискретные выходы на реле, а также используются аналоговые входы. Из внешних памятей используются FRAM или microSD card. С уважением Дмитрий
  22. Возник такой вопрос, где хранить переменную, указывающую на следующий сектор, в который буду записываться последующие данные? Это на случай пропадания питания. Сейчас память сделана на FRAM и небольшая часть памяти выделена для хранения переменных. С FRAM проблем не возникает, т.к. можно записывать данные практически бесконечное количество раз. В SD карту можно записывать не более 100 000 раз. 512 байтов данных для записи следующего сектора SD карты будут появляться каждые 64 секунды. Следовательно адрес для следующего сектора тоже нужно обновлять каждые 64 секунды. Такими темпами можно записывать 64 секунды * 100 000 = 6 400 000 секунд = 75 суток, что не достаточно. Как быть в этом случае? Проще всего использовать резервное питание и хранить все переменные в RAM микроконтроллера. И записывать переменные в энергонезависимую память (SD карта или EEPROM микроконтроллера) только при уменьшении напряжения батареи до минимального допустимого значения.
  23. Спасибо! Про подтягивающие резисторы я знаю. Планировал использовать внутренние pull-up резисторы микроконтроллера. Посмотрю в каталогах конкретную micro SDcard. Для инициализации карты нужно точно 400kHz? Могу установить такие самые близкие частоты для SPI clock: 460.8kHz и 230.4kHz. Если инициализировать карту с частотой 230.4kHz, то будет нормально?
  24. Хорошо, значит только блоки размером 512 байт. Можно и так выкрутиться. В моем случае минимальный интервал записи равен 1 секунда. Буфер тоже можно предусмотреть на некоторое количество данных. По пинам у меня нет точной информации. Есть два варианта для microSD (SPI mode) из двух источников. Первый вариант: 1 - NC 2 - nCS 3 - DI 4 - VDD 5 - CLK 6 - VSS 7 - DO 8 - NC/nIRQ Второй вариант: 1 - nCS 2 - DI 3 - VSS 4 - VDD 5 - CLK 6 - VSS 7 - DO 8 - NC/nIRQ Не сходятся первые три вывода.
×
×
  • Создать...