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

Ruslan1

Свой
  • Постов

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

  • Посещение

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

    3

Сообщения, опубликованные Ruslan1


  1. Здравствуте!

    Скажите, есть ли хоть какие-то варианты для TVS диодов размера 0603 для RF цепей антенны?

    Конкретно у меня  Simcom (SIM7600), рисуют такую цепочку:

    image.thumb.png.c56beb739d4fc4f4e278ac0eb0985593.png

     

    Ну и в рекомендациях только маленькие размеры (0402 и меньше), причем TVS на 4 V.

    А можно ли найти 0603?

     

  2. 2 hours ago, CADiLO said:

    Значит можно поздравить с тем что получилось.

    Заодно теперь сможете консультировать по MUX  :drinks:

    Спасибо. :)

    Немного некомфортно было, что нет прямых апнотов для этого модема, но это было скомпенсировано быстрой и внятной техподдержкой :friends:

  3. 1 hour ago, CADiLO said:

    Сюда заглядывали?

    AT+CATR Configure URC destination interface

    Спасибо, помогло! :)

    Ну вот, вроде бы я доволен.

    SIM7600. Соединение: LTE.

    - DLC0 - служебный.

    - DLC1: поднял ppp

    - DLC2: передача SMS (проверено, без проблем идет одновременно с ppp)

    - DLC3: прием SMS. Но еще не проверял. Посмотреть нужно, как с принятыми сообщениями от модема- сюда они пойдут или в DLC4, но это уже мелочи, решаемо.

    - DLC4: доступ к GNSS.

    Есть, конечно, что еще полировать, но вроде бы функционально все на месте и работает как я хотел.

  4. Нашел интересный эффект при работе в MUX режиме с GNSS в SIM7600:

    - если я обращаюсь в одном виртуальном канале к модулю (например, запрашиваю данные AT+CGPSINFO, или меняю установки) - то ответ получаю именно в этом же виртуальном канале, как и ожидалось.

    - Но вот если я говорю передавать мне данные периодически от модуля (например, командой AT+CGPSINFOCFG=1,1) - то он начинает передавать ответ во все разрешенные виртуальные каналы. То есть если у меня два канала- то я вижу два фрейма от модема, если у меня 4 канала- то я вижу четыре фрейма

    Этот множественный ответ ошибка или так задумано? Если задумано- то задумка плохая, из-за нее нельзя пользоваться автосообщениями, а нужно просто самому запрашивать командой, чтоб не мешать общению в других каналах.

    Поправка: при поднятом ppp  в DLC1 я не вижу NMEA фрейма для данного канала, a вижу только три фрейма (DLC2,3,4). То есть модем передает NMEA сообщение во все каналы, которые используются для обмена AT командами.

     

  5. не успел свои 5 копеек вставить.

    Вот у меня, например, было сложно в иституте с пониманием курса "физико-химические основы микроэлектроники". Реально тяжело и далеко от народа. На тройку сдать с первого раза считалось удачей.

     

    И вроде бы тоже основы, но на таком уровне, который я понять мог только частично. Хотя отдельно взятые физика / математика / электроника / органическая и неорганическая химии я понимал хорошо (да и сейчас, наверное, еще понимаю). А вот это ФХОМЭ  ну не укладывалось в голове и все тут. И незнание жить не мешает, просто иногда всплывает при встрече с однокурсниками за рюмкой пива, как нечто страшное и темное из нашего общего детства.

  6. 3 hours ago, CADiLO said:

    Когда механика начала уступать место электронике, то все так туда и перекочевало. Телефонное лобби наотрез отказалось принять маркировку с нуля.

    Ладно, с единицы я еще переживу, но с ходу 11011011 перевести в Hex, если число записано с младшими битами слева- это для меня уже высшая математика, мозги не поворачиваются :) 

  7. 17 hours ago, SII said:

    Что надо сделать захват и сохранение данных для издевательств над ними -- это очевидно, и вопрос не в этом был. Так что пока что начал читать умные книжки (в данном случае начал с "Цифровой обработки сигналов" Р. Лайонса из закромов), чтоб хоть что-то начать в теме понимать.

    Кстати, покажите сигнал (результат АЦП). Думаю, многие вопросы просто отпадут. Еще можно до кучи выложить файл с данными (типа csv) для этой же картинки.

  8. Дополз до мультиплексора SIM7600. Оставлю тут, вдруг кому сэкономит время:

    1. Документация.

    Конкретно для этого модема про  MUX режим апнота нет, но это неважно: у него GSM 07.10 Multiplexer Protocol, так что можно брать много где, и даже старенькое (сам протокол  1998 года). Мне понравился документ от Симкома: https://simcom.ee/documents/SIM900/SIM900_Multiplexer User Manual_Application Note_V1.3.pdf

    Тут еще  короче: https://programmer.help/blogs/gsm-serial-port-multiplexing-protocol.html

     

    Не понравилось, что там биты везде нарисованы младшими слева и считаются от 1 до 8. Но это не Симком придумал- так же и в стандарте, так что придется привыкнуть, просто не перепутайте!

    image.png.c86461c66abecd3e632c60bf5705a564.png

    2. Собственно посылки

    Вход в режим прост (настройки делаются заранее, но можно и в команде):

    AT+CMUX = 0

    Следует ответ "OK", и далее модем в  MUX режиме.

    Далее привожу примеры посылок "AT" и прием ответа  "ОК" по  первым двум виртуальным каналам (данные в UART):

     

    Command “AT” in MUX channel  #1:

    "AT"   sending

    F9 05 EF 09 61 74 0D 0A 58 F9

    “OK” receiving

    F9 05 FF 0D 0D 0A 4F 4B 0D 0A 4A F9

     

    Command “AT” in MUX channel  #2:

    "AT"   sending

    F9 09 EF 09 41 54 0D 0A DF F9

    “OK” receiving

    F9 09 FF 0D 0D 0A 4F 4B 0D 0A CD F9

  9. 11 hours ago, SII said:

    Что надо сделать захват и сохранение данных для издевательств над ними -- это очевидно, и вопрос не в этом был. Так что пока что начал читать умные книжки (в данном случае начал с "Цифровой обработки сигналов" Р. Лайонса из закромов), чтоб хоть что-то начать в теме понимать.

    Проблема в том, что полный курс ЦОС в данном случае не нужен, а нужно только некоторые методы из него. И если нужен результат, а не процесс- то лучше идти от частного к общему, а не наоборот.

    Я бы советовал почитать сначала более прикладную литературу, именно в той  области в которой Ваш прибор работать будет. И оттуда понять, какие именно методы обработки нужно применять. Очень часто велосипед уже изобретен, и требуется просто собрать его на доступной в данном случае базе.

    Например, если это в любимой мной области ультразвуковой дефектоскопии- так там умных книжек уйма, и с советских времен формулы не поменялись. Поменялись только вычислительные мощности. Уверен, что и в любой другой области так же.

    Ну и, конечно, провести обзор существующих решений- очень помогает понять, кто чего достиг и за какие деньги это решение продается в виде готового прибора. Как правило, идея "все дураки, а я за пять копеек и два дня лучше сделаю", не работает.

  10. Все настолько плохо, что обычные "старинные" методы не подходят?

    Там всего-то нужно выделить пик, который пришел через какое-то время после отклика, ну и измерить время до него.  Как правило, известно в какой временной промежуток после передачи попадает этот ответ, вот в этом окне и нужно искать пик, или пики (если их несколько).  Это нормально работало в дефектоскопии металлов. Проблемы были с настройкой уровня  в аналоговых компараторах, но в случае цифровой обработки это не такая  уж и проблема.

     

    Но перво-наперво Вам нужна математическая модель того, что Вы будете делать.

    1. Оцифруйте реальный сигнал и сохраните его в виде файла (файлов), желательно в разных условиях (чистый, зашумленный, разные образцы...)

    2. Данный файл обрабатывайте до посинения (или до получения нужного результата) на компьютере в любой удобной среде (например,  Матлаб). Фильтруйте, преобразовывайте, и вообще  делайте все допустимое в рамках уголовного кодекса.

    3. Замените встренные функции Матлаба своими, используя библиотеки не сложнее, чем у Вас на STM32 есть.

    4. Скопируйте получившийся m-скрипт в STM32,  подкорректировав его под Ваш язык и библиотеки, и на вход подайте тот же файл данных. Этап завершен, когда Ваша программа на STM32 показывает те же результаты как Матлаб.

    5. Попробуйте с реальными сигналами. Если что-то не так- идем на пункт 1.

    6. Все. Пропиваем полученную премию или покупаем жене бентли (зависит от).

     

    Кстати: очень помогает, если в рабочей версии прибора сохранить возможность записи сырых входных данных АЦП в файл (пусть в спецрежиме). Это очень помогает, когда проблема возникет в поле или на другом конце шарика- просто просите прислать файл, и в теплом офисе, на компьютере, смотрите что не так. Иногда это требует мизерных дополнительных затрат на этапе проектирования/производства, но окупается после первого же использования.

     

  11. 1 hour ago, Hub said:

    Есть команда AT+CNMP, с помощью которой можно задать предпочтительные режимы связи.

    Если нужно чтобы модуль рапортовал о переходе, есть команда AT+CNSMOD.

    Огромное спасибо!

    Где мои глаза были.....

    Искал по документации поиском по ключевым словам, и  даже не посмотрел в оглавление документа.

  12. Здравствуйте!

     

    В модеме SIM7600 хочу :

    1. Указать, какое соединение можно использовать (2G, 3G, 4G)

    2. Указать предпочтительный тип соединения если несколько типов разрешены и доступны.

     

    В модемах ublox это была команда:

    AT+URAT=<SelectedAcT>[,<PreferredAct>]

     

    А есть ли ее аналог в Simcom 7600 ?

    Нашел только это для разрешения/запрета:

    AT+CPOL=<index>[,<format>[,<oper>][,<GSM_AcT1>,<GSM_Compact_AcT1>,<UTRAN_AcT1>,<LTE_AcT1> ]]

     

    Но для ее использования я должен знать как минимум код оператора. Нельзя ли просто как-то указать модему значения <GSM_AcT1>,<GSM_Compact_AcT1>,<UTRAN_AcT1>,<LTE_AcT1>, чтобы они относились ко всем возможным операторам,  как это сделано в ublox ?

     

     

     

    Не нашел ничего про установку предпочтительной сети. Но это уже второй вопрос, мне бы с первым разобраться.

  13. 21 minutes ago, jcxz said:

    Предполагаете, что рабочая программа может окирпичиться, а bootloader - нет? Почему? Найдёте отдельного идеального программиста для него?  :wink:

    Чем больше у вас кода в bootloader-е, чем он более сложный - тем больше вероятность его окирпичивания. Имха. Так что перенос функции загрузки прошивки в bootloader однозначно увеличивает эту вероятность.

    Не-не. Если и основная программа и бутлоадер должны работать чтобы поменять прошивку, то надежность сильно меньше, чем для просто бутлоадера. Так как основная программа явно содержит еще много чего, а не только загрузку прошивки.

     

    Мы ж не  философы, понимаем что ошибка везде может быть. Просто в короткой программе  (бутлоадере) вероятность не обнаружить ошибку значительно меньше.

  14. 1 hour ago, Сергей Борщ said:

    Я делаю так. Устройство готово к работе сразу после включения, обновиться можно в любой момент и не нужен физический доступ к устройству для передергивания питания или нажатия каких-то кнопок.

    Спасибо за ссылку, почитаю обсуждение.

     

    Предварительно: что-то много у Вас завязано на основную программу. И на случай окирпичивания есть пин,  которого у меня нет. Собственно,  устройство- это залитый в компаунд кирпич. Себестоимость невелика, да и (пока) из-за ошибок в программе ничего  не выкинули, но все-таки хочется однажды взять себы в руки и таки написать к нему удаленный загрузчик. 

    Про время готовности- не мой случай, пусть хоть 10 минут на обновление уходит. Ситуация особенная, а не штатная. Ну и сколько-нибудь секунд при  включении тоже не страшно потерять: выключение питания тоже нештатная ситуация во время работы системы, может хоть 10 секунд не отвечать (а ждать в загрузчике).

  15. 14 hours ago, aaarrr said:

    Сначала следует её целостность проверить.

    По команде из основной программы.

    ИМХО, лучше по возможности загрузку данных осуществить в основной программе. А загрузчик пусть только поместит проверенные данные в нужное место.

    Проверка на целостность: Согласен. Бутлоадер при программировании записывает переданную из компа контрольку в свою область флеш, ну и считает при каждом старте контрольку уже имеющейся во флеше программы.

    Про  задействовать основную программу: можно, как дополнительная опция. Но должно также работать и если основная программа разрушена (не полностью записана, а устройство пересбросилось). А если "дополнительная"- то можно и без нее обойтись, чтоб не множить сущности. Ну разве что, ввести  команду для удаленного пересброса устройства, помогает не трогать питание, и позволяет  программить в сети с несколькими устройствами (только нужное  устройство пересбросится и будет в режиме бутлоадера следующие, скажем, 5  секунд).

    12 hours ago, x893 said:

    Это если места хватит. Не хватит - п.1

    Работы на пару часов, поэтому всегда можно переделать.

    Угу. думал про "переместить" и вообще без специального бутлоадера.  Делается и правда легко и без напряга, как несколько команд в основной  программе. Но есть  противопоказания:

    1. Это с ходу означает потерю половины памяти флеша. Но ограничение часто надуманное (во многих проектах меньше половины флеша используется, или можно купить другой камень с большей памятью за копеечную добавку денег).

    2. Главная проблема: если  что-то пошло не так (пусть контролька  нормальная, но в прошивке  глюк), то будет кирпич. Так как нет никакого "защищенного бутлоадера", обеспечивающего прием другой  программы, если программа уже не работает.

  16. Есть устройство, в которое приходит полудуплекс RS-485 (два провода). Ну и питание (еще два провода) 

    И есть желание менять прошивку устройства через этот интерфейс. То есть хочу написать загрузчик, который сможет  через данный интерфейс обновить основную программу.

    Ниже приведу свою точку зрения, интересно было бы услышать мнение  тех кто подобное делал или тоже думал про подобное.

     

    1. Общение

    Команды загрузчика:

    - Очистка FLASH памяти

    - чтение из FLASH памяти последовательности адресов

    - запись в  FLASH память последовательности адресов

     

    2. Вход в режим загрузчика

    - первые несколько секунд после включения  ожидается команда, обращенная к загрузчику.

    - если не обнаружено команд, обращенных к  загрузчику, то идет переход на основную программу.

    - если обнаружена такая команда- то никуда не переходим, крутимся в загрузчике до выключения.

     

    3. Софт на компьютере:

    - инициирует соединение (посылает команду чтения флеша в цикле до получения ответа)

    - читает подготовленный hex-файл, разбивает на части и подсовывает его в RS-485 интерфейс в виде команд записи.

    - может проверить соответствие файла и содержимого FLASH программируемого контроллера.

     

    Вроде все достаточно плоско и понятно, или я слона не заметил?

    Самым проблемным является момент вхождение в режим  загрузчика. Кроме как делать паузу до перехода на основную программу, не вижу надежных вариантов, но может они есть.

  17. Вывел железячный UART, в однопортовом режиме вроде работает.

     

    Но не фурычит у меня mux утилитка от Телит. Вроде бы поднялась, виртуальные порты создала, а дальше как только открываю любой из созданных портов в терминалке- показывает еррор в статусе порта в сетапе этой утилитки. Или что-то с сигналами у меня не так как в оригинале, или еще чего, может терминалка виновата.

    Попробую просто к моему железу подключить и оттуда порулить модемом.

     

    Upd: не, все-таки нужно с компа понять в чем проблема, тут проще разбираться. потыкаю анализатором.

     

    Upd#2: эта утилитка создает порты в компе, но в принципе ничего не посылает в модем для перехода в CMUX режим. странно... вижу  только что RTS дергается в то время когда я что-то пытаюсь послать в виртуальный порт. Ну и статус порта тут же меняется из Idle в Error.

     

    Upd #3: Ура, модем работает на компьютере с утилиткой от Симком: я вижу два вирт. порта на компьютере и могу общаться по каждому из них независимо.

  18. На иностранной базе можно смотреть "isoSPI 2-Wire Serial Interface".  Например, LTC6820. Очень достойно работает.

    По крайней мере, можно попробовать представить список задач, которые нужно решить для такого преобразования.

    Но и в LTC6820  нужно знать полярности и фазы для конфигурирования.

    А совсем унимерсально- это только каждый сигнал в отдельную витую пару преобразовать любым RS485 передатчиком и в конце обратно в однополярный любым RS485 приемнико. Благо, SPI сигналы однонаправленные, проблем не будет.

    Ну или да, что-то с мозгами ставить.

  19. 1 hour ago, CADiLO said:

    На ней не только UART1, но и прочее. Поэтому я снял бы 8 резисторов, в J301 впаял PLS, а DB9 распаял на шлейф с ответной частью этого PLS

    ОК, так и сделаю.

     

    Сейчас разбираюсь с подключением, заметил несколько неявных моментов на EVB. На плате часть UART сигналов названа как их приемный конец по сравнению с пином модема (RTS переименован в CTS, CTS- в RTS), а RX и TX оставили как было в модеме (то есть RX-RX, TX-TX):

    source SIM7600 Simcom EVB
    Modem 70 (DCD) output A6 (DCD) output
    CPU 67 (CTS) input A10 (RTS) input
    Modem 66 (RTS) output A9 (CTS) output
    CPU 68 (RXD) input A8 (RXD) input
    Modem 71 (TXD) output A11 (TXD) output
    CPU 4 (RESET) input A2 (RESET) input
  20. про софт намек понял....

    Еще засада- на EVB установлен не DB9 с честным RS232, а CP2105 (USB bridge). Для игр с "чистым UART" нужно паять свой коннектор. Ну и непонятно, нужно ли ноги этой CP2105 отрывать от порта (отпаивать резисторы), или она сама в Z-состоянии  если USB кабель не подключен? в документации нет ничего об этом.

    image.thumb.png.149e6fbcbc91ab67640a271fcc752275.png

  21. Уважаемый CADiLO, спасибо за быстрые и конкретные ответы!

    Значит, USB мне пока рано. Перейду на UART и там поиграюсь с CMUX. На своей плате USB, конечно, заложу: может в будущем на него все-таки и перейду, когда по софту созрею.

     

    Upd:

    Интересно, почему никто еще не написал PC софт терминала, работающего через CMUX режим модема (учитывая что даже GSM стандарт на это есть). Чтоб несколько окошек, в каждом со своим каналом общаться. Вроде не так чтоб сложно.

  22. 19 minutes ago, CADiLO said:

    Тогда скорее всего для CMUX будет отдельная апнота. потому и убрали из основного списка команд.

    SIMCOM начал порядок в доках наводить, некоторые вещи появляются которых раньше не было.

    Так я ж только за!

    Кстати, неплохо бы и промшпионажем позаниматься, посмотреть как у других это сделано. Функции-то одинаковые, и клиенту было бы даже приятно и удобно, если у нового производителя похожие по смыслу и по названию аппноуты встречаются. Это, например, как у Маузера и Дижикея: сейчас Маузер вполне понимает, когда я ввожу внутренний код детали из базы Дижикея. То есть Маузер держат базу перекодировок из базы прямого конкурента в свою, чтоб клиенту удобней было - показывает ту же деталь, но уже со своим кодом :)

    11 minutes ago, CADiLO said:

    Вобщем ecть в новом апноте по UART - не убрали.

    Before using the multiplexer of module, one should also implement the same function on one’s own side, currently the multiplexer resided in the module is conformed to the specification of GSM07.10 so one can
    implement his own multiplexer followed by this specification. In a word one must implement his own multiplexer first at his side before rightly using SIMCOM module’s multiplexer.

    Currently the module only supports Basic mode and one byte length indicator, AT+CMUX=0 can make four virtual ports, there are ports only support AT service.

    И пожалуйста, не нужно кирпичом стволы чистить не убирайте CMUX в будущем. Может я и мазохист, но наверняка не единственный!

     

    11 minutes ago, CADiLO said:

    Уже вышла LE20B03SIM7600M21-A

    Version: LE20B03SIM7600M21-A

    Ага, у меня тож уже есть, спасибо. Мне очень понравилась фраза в описании "Optimizing USB port can’t be shown issue." Надо взять на вооружение, когда обновляю версию, но не хочу показывать клиенту что за кучи я там внутри разгребал.

  23. Вот что вижу, вроде бы у меня CMUX еще есть:

    ati1

    Manufacturer: SIMCOM INCORPORATED
    Model: SIMCOM_SIM7600G
    Revision: SIM7600M21-A_V2.0

    AT+CMUX?

    +CMUX: 0,0,5,118,0,0,600

    OK

    AT+CMUX=?

    +CMUX: (0),(0),(1-8),(1-1500),(0),(0),(2-1000)

    OK

    AT+CMUX=0,0,7,1000,5,3,15,5

    OK
     

    Но это я через USB передаю, не знаю что там с UART произошло. Сам USB продолжает работать нормально, ни в какой CMUX он не перешел (то есть работает согласно документации: CMUX только для UART)

  24. 1 minute ago, CADiLO said:

    Но если Вам нужно worldwide, то тогда желательно глобальная версия - SIM7600G.

    У меня на столе именно эта модель, SIM7600G

    Хорошо бы услышать, что для "G" версии все по другому и там CMUX никуда не делся :)

×
×
  • Создать...