Jump to content

    

lead_seller

Участник*
  • Posts

    53
  • Joined

  • Last visited

Everything posted by lead_seller


  1. У вас передающее устройство не может протестировать шину. Причины могут быть разные - банально переполюсовано второе устройство, либо оно вообще не настроено, и клинит шину. Скорее всего второе. Проверьте включена ли КАН периферия на всех устройствах, и правильно ли настроены временные параметры.
  2. Спасибо за информацию. Действительно начал вчитываться в доступное, там расписывается алгоритм арбитража именно в Arbitration field. Не подскажите, где можно посмотреть именно по коллизиям вне поле арбитража? К сожалению доступа к ISO 11898 не имею, а общедоступные статьи описывают только арбитраж в поле заголовка пакета.
  3. Stuff error - это ошибка стаффинга. Возникает она в случае, если передающее устройство передает больше чем 5 одинаковых бит. В стандарте CAN заложено прореживание последовательностей из 5 одинаковых бит, противоположными битами. Например, если вы передаете 0xFF ну или 0b1111 1111, то в шину будет передано 0b111110111. Соответственно, либо к Вам приходит сообщение, которое нарушает этот стандарт (а это может происходить из-за разницы в скоростях приемник-передатчик), либо Ваша шина находится в доминантном состоянии, что расценивается как непрерывная передача бита "1". Посмотрите, что происходит на шине, при включении Вашего приемника. И посмотрите, что происходит на ногах CAN_RX и CAN_TX драйвера. Попробуйте поотправлять сообщения при подключенном драйвере, но отключенной шине. При включении любого CAN-приемника в сеть, Вы должны увидеть прямоугольный импульс - это проходит тестирование шины. Так же, при начале передачи каждого пакета вы увидите переход из рецессии в доминанту - это занятие линии.
  4. А чем проигрыш арбитража отличается от коллизии в CAN? При учете того, что с шины уходит тот передатчик, который из-за коллизии не может установить передаваемое состояние. При это данные, передаваемые выигравшим передатчиком, не искажаются. Да, внимательно перечитал старт темы, вношу правку - я расписывал про коллизию и арбитраж на MAC уровне CAN. ТС же говорил о коллизии на уровне протокола, когда на шине будут работать два устройства с одинаковым адресом. Такую коллизию поймать средствами MAC-уровня невозможно, это должно решаться как раз на протокольном уровне.
  5. После конца фрейма - 1.5 байта, перед началом следующего 2 байта промежутка. Отсюда и набегают те самые 3.5 байта. Намного проще не завязываться на эти самые байты, а сделать регулируемый разрыв пакетов в сервере, и соответственно его же настроить на клиенте. Как собсно в большинстве модбас устройств и делается.
  6. Вообще в CAN коллизия ошибкой не является и не ведет к порче данных. Передатчик, проигравший арбитраж, перестает передавать и ждет освобождения шины, после чего передает свое сообщение. Ошибкой может стать блокировка шины, когда на шине образуется доминанта, и передатчики не могут запустить передачу. Тогда формируются ошибки шины связи.
  7. Вообще, насколько помню EIA/TIA-485, официальное ограничение на дальность - 1,2 км. Дальше на свой страх и риск. Из собственной практики - 3 - 3.5 км на нормальной витухе при скорости 9200, и 2.5-3 км. на утопленный и счаленный в нескольких местах шахтный кабель неизвестного происхождения. Но, повторяюсь, на свой страх и риск - стандарт не одобряет. Единственно - нормальная терминация длинной линии, заземление экранов кабеля, ну и защита приемо-передатчиков.
  8. В стандарте CAN 2.0B, если не изменяет память, есть система TimeStamp. Позволяет маркировать сообщения TimeStamp ом - меткой времени. Этот штамп можно использования в протоколе передачи данных.
  9. В связи с переездом в РФ ищу работу инженера-электроника/программиста ПО микроконтроллеров Ключевые навыки и опыт: - Семейства микроконтроллеров: C51, AVR, AVR32 (ограниченно), PIC12-PIC24, ARM (STM32F0 - STM32F4, STM32W, LPC210x), TI CC2530 (ограниченно) - Среды программирования: uVison KEIL (C51, ARM); WinAVR+AVRStudio, CodeVision (AVR) и др. - Интерфейсы: наплатные: I2C(TWI), I2S, SPI, 1-Wire Fieldbus: RS232/485 (Modbus,DBUS) /422, CAN, Ethernet, USB - Пакеты САПР: Altium Designer/PCAD, SolidWorks, AutoCAD - Опыт разработки аналоговых цепей, для работы с датчиками физических величин (концентрация газов, давление, температура) - Разработка блоков питания/ИБП мощностью до 100 Вт, для специфических условий применения - Разработка многослойных ПП (до 4 слоев), включая платы для радиопередатчиков на частотах 2.4ГГц (для RF SoC STM32W и CC2530) с применением наплатных и дискретных чип-антенн, плат с использованием HF RFID меток - Опыт разработки взрывозащищенного и искробезопасного оборудования для применения в условиях угольных шахт и других взрывоопасных сред - Опыт внедрения и шеф-монтажа распределенных систем автоматизации (системы комплексной автоматизации и безопасности угольных шахт). Наладка, определение неполадок и их устранение в ходе монтажа и эксплуатации оборудования систем и каналов связи. - Опыт работы ведущим инженером и сопровождения электронных устройств на всех этапах их жизненного цикла. - Опыт управления группами инженеров и монтажно-наладочным персоналом. Для связи: bogdano[email protected] С полным опытом работы и другой информацией можно ознакомиться по адресу: http://hh.ru/resume/4b5df3f2ff020c8f430039ed1f61316770374c
  10. У TJA роль терминальных резисторов выполняют два резистора, которые цепляются на спец. ноги. При этом номинал этих резисторов подбирается в зависимости от количества устройств на шине. В моей практике прекрасно уживались MCP и TJA. При этом TJA со своей обвязкой прекрасно работали в качестве терминаторов линии. Проблемы с Fault-safe CAN на скорости 125 кб/с могут возникать не из-за совместной работы MCP и TJA, а из-за ограничения скорости в 100 кб/с для Fault-safe драйверов.
  11. не знаю, актуально еще или нет. Это у Вас не автогенерация, а срывающееся тестирование линии. При старте передаче CAN устройство в первый квант времени выставляет доминанту на линии и проверяет скорость ее установления на линии. Если скорость не удовлетворяет устройство, оно начинает гнать вот такой меандр, в надежде что параметры линии улучшатся. Возникает такая ситуация при большой емкости линии - скорее всего превышена максимальная длина сегмента для выбранной Вами скорости. Опять же, репитеры у вас взяты физические, фактически они лишь усиливают сигнал, при этом не отправляя подтверждений передающим устройствам, вполне возможно Ваша проблема связана именно с этим. Попробуйте в обоих сегментах, разделенных репитером установить по CAN-устройству.
  12. http://cq.cx/ladder-ru.html Посмотрите в сторону этого. Оно и полностью сишный код генерит для контроллеров и есть исходники исполняющей машины, так что вполне можно вставить отдельно в свой проект.
  13. С атмеловским CAN не работал, но общие размышления подкину. Посмотрите в сторону прерываний модуля CAN. Вполне возможно, что у Вас есть прерывание проигрыша арбитража, или вообще ошибок на линии. В таком случае, периферия контроллера может ожидать обработки этого прерывания, или хотя бы сброса флага этого прерывания. А вообще - скорости 100 кб, и тем более 500 кб это не такие уж и маленькие скорости для CAN, может быть проблема в длине линии передачи?
  14. MCP2551 - это дравер физического уровня HS-CAN. К нему нужен еще сам приемо-передатчик - либо внешний, вроде того же MCP2515, либо внутренний - сейчас у большинства производителей микрокоонтроллеров есть камни со встроенным CAN передатчиком (у PIC в 18 серии что-то было, у ST CAN есть в сериях старше 103-ей). На мой взгляд удобней внутренний - у того же STM в их stm32f103 серии очень вменяемая и удобная CAN-периферия.
  15. ST-LINK/V2

    Попробуйте поотключать остальные устройства от USB. У меня были проблемы с одновременно подключенным PICKit и устройством на FT232. Вытаскивал одно из них - все начинало работать.
  16. К сожалению, требование на 70 мА не потолкометром померяны, а выданы представителями сертификационного центра, который будет давать заключение. А за стандарт - спасибо, почитаю, сравню с нашим (Украина) хотя по идее разницы большой быть не должно. Вопрос с ограничителем пока отодвинулись на задний план.
  17. С удовольствием так бы и сделал. Но как такового стабилизатора нет. Есть 12В из них обратноходовым преобразователем получаются 3 канала питания - 3.3В, 5В, 5В. Ограничение необходимо на каждый канал по отдельности.
  18. Да связано с безопасностью. Угольная шахта. По КПД требования не стоят в явной форме, но как всегда есть приписка мелким шрифтом. Шахтный блок питания 12В 1,5А (18 Вт) имеет размеры 50х40х30 см. И вес - 60 кг с аккумулятором. Про цену промолчу. Поэтому неявно, но требования к КПД есть. To Alexashka Спасибо за ссылку - посмотрел, интересная штуковина, как-нибудь закажу поэкспериментирую. Но терзают сомнения - по стандарту на искробезопасные цепи в цепях искрозащиты открытые токоведущие поверхности (например выводы компонентов) должны располагаться не менее чем в 1.5мм друг от друга. Все что расположено ближе при экспертизе будет считаться закороченным, и вот в таком вот закороченном варианте будет проверяться теоретическая работоспособность схемы защиты.
  19. Да требования аховые, согласен. Собсно тема то не для начинающих, но в силовом разделе похожего раздела нет, вот здесь и открыл. Требования берутся из требований на искробезопасные цепи РО Иа. А такой низкий ограничительный ток из-за шины связи. Количество устройств подключенных к шине связи определяется максимальным током, который в эту шину могут выдать все подключенные устройства если одновременно сойдут с ума. А максимальный ток определяется по ограничителю на выходе источника питания. Соответственно чем сильнее ограничим источник питания тем больше устройств на шину сможем навесить.
  20. На входе 3.3 В (+небольшой запас) на выходе 3.3В при токе меньше 70мА и 0 при токе больше 70 мА. При этом следует учесть дублирование - например, классическая схема на биполярнике и FET ключе не проходит, потому что токоизмерительный резистор получается соизмерим с нагрузкой, а если дублировать то и вовсе больше. UPD: Исправление, не 0 при токе больше 70 мА, а при превышении тока более 70 мА он стабилизируется на этой отметке.
  21. Кто-нибудь подскажет схемку токового ограничителя на ток 50-70 мА при входном напряжении 3.3В. Желательное требование - минимум компонентов, таких каналов 3 шт. + дублирование самих ограничителей. Область применения - создание искробезопасного выхода 3.3В для источника питания. Заранее спасибо.
  22. STM32F105RB RTC стартовало без проблем с noname кварцем и обвязкой конденсаторами 22пФ. 20 опытных образцов - полет нормальный.
  23. Убивает сваленность в кашу даташитов, аппнотов, примеров и кода для скачки. И самый финиш - 2 часа убил на поиски ссылки для скачивания Эмберовского ZigBEE стэка для W-серии (при это полгода назад его находил на их сайте) и ТАДАМ - стэка больше на сайте нет - потому что ST и Ember разругались. У самих ST об этом ни сном ни духом не написано. Узнал из стороннего источника. И кстати USB библиотеки для 103-серии куда то пропали.
  24. Во первых чипы могут попадать под ограничения на экспорт из США систем с алгоритмами криптографии. У STM32W108 на борту стоит аппаратный ускоритель AES. Вторая причина может быть в лицензиях - ST лишилась лицензии на Эмберовский ZigBEE стэк и соответственно в вальгалу отправились чипы с маркировкой STM32W108HBU61 (последняя цифра маркировки обозначает лицензию на радиостэк, включенную в стоимость камня). Возможно Дигикей осторожничает и не хочет продавать вообще всю серию STM32W108HB. Это инфа от наших поставщиков, которые тоже пытались выкупить эти камни у Дигикея. UPD: Сам Дигикей четкого ответа не дает.
  25. ST хранит гордое молчание на запросы. У диджикея они не складе, а в бэкордере, никакой информации по срокам и суммам предоставить не могут. Да и остальные поставщики не особо радуют.