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

ab1000

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

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

  • Посещение

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


  1. Настроил, спасибо! Нужно было установить Convert Special String на вкладке Design->Board Layers & Colors->View Configurations->View Options в PCB
  2. Мне казалось, настройка Convert Special String устанавливается Tools -> Schematic -> Graphical Editing -> Convert Special String для всей программы, а не для каждого проекта.
  3. Спасибо, что проверили. Convert Special String у меня установлено. Покопаюсь еще в настройках
  4. Редактор PCB

    Добрый день! Не замечал ли кто нибудь проблемы с отображением позиционных обозначений? У меня в библиотеке служебное слово .Designator располагается в слое сборочного чертежа TopAssy. При передаче компонентов из схемы на печатную плату позиционные обозначения оказываются расположенными на слое шелкографии TopSilk. При этом на слое TopAssy просто выводятся надписи .Designator. Версия программы 15.1.15. При этом в более ранней версии, кажется 13, позиционные обозначения передавались корректно.
  5. Да, функцию snmp_inc_sysuptime() нужно вызывать в приложении каждые 10 мс. Кроме того должны быть разрешены как минимум 2 UDP соединения это настройка MEMP_NUM_UDP_PCB. Ну и в настройках SNMP должно быть включено само SNMP и использование private _mib. Но судя по тому, что проект у Вас компилируется это все включено. Моя функция для инициализации SNMP: // подготовка к работе SNMP --------------------------------------------------- void SnmpPrepareForWork(void) { struct ip_addr xIpAddr; struct snmp_obj_id SnmpObjId; // установка sysName snmp_set_sysname((u8_t*)Sysname, (u8_t*)&Sysname_len); // установка sysDescr snmp_set_sysdesr((u8_t*)Sysdescr, (u8_t*)&Sysdescr_len); // установка sysContact snmp_set_syscontact((u8_t*)Syscontact, (u8_t*)&Syscontact_len); // установка sysLocation snmp_set_syslocation((u8_t*)Syslocation, (u8_t*)&Syslocation_len); // задаем SNMP_SYSOBJID SnmpObjId.len = 9; SnmpObjId.id[0] = 1; SnmpObjId.id[1] = 3; SnmpObjId.id[2] = 6; SnmpObjId.id[3] = 1; SnmpObjId.id[4] = 4; SnmpObjId.id[5] = 1; SnmpObjId.id[6] = ENTERPRISE_ID; SnmpObjId.id[7] = 2; SnmpObjId.id[8] = 4; snmp_set_sysobjid(&SnmpObjId); // включение трапов if ((gSNMP_IPaddr1[0] & gSNMP_IPaddr1[1] & gSNMP_IPaddr1[2] & gSNMP_IPaddr1[3]) != 0xFF && (gSNMP_IPaddr1[0] | gSNMP_IPaddr1[1] | gSNMP_IPaddr1[2] | gSNMP_IPaddr1[3]) != 0) { IP4_ADDR(&xIpAddr, gSNMP_IPaddr1[0], gSNMP_IPaddr1[1], gSNMP_IPaddr1[2], gSNMP_IPaddr1[3]); snmp_trap_dst_enable(0, 1); snmp_trap_dst_ip_set(0, &xIpAddr); } else { snmp_trap_dst_enable(0, 0); } if ((gSNMP_IPaddr2[0] & gSNMP_IPaddr2[1] & gSNMP_IPaddr2[2] & gSNMP_IPaddr2[3]) != 0xFF && (gSNMP_IPaddr2[0] | gSNMP_IPaddr2[1] | gSNMP_IPaddr2[2] | gSNMP_IPaddr2[3]) != 0) { IP4_ADDR(&xIpAddr, gSNMP_IPaddr2[0], gSNMP_IPaddr2[1], gSNMP_IPaddr2[2], gSNMP_IPaddr2[3]); snmp_trap_dst_enable(1, 1); snmp_trap_dst_ip_set(1, &xIpAddr); } else { snmp_trap_dst_enable(1, 0); } if ((gSNMP_IPaddr3[0] & gSNMP_IPaddr3[1] & gSNMP_IPaddr3[2] & gSNMP_IPaddr3[3]) != 0xFF && (gSNMP_IPaddr3[0] | gSNMP_IPaddr3[1] | gSNMP_IPaddr3[2] | gSNMP_IPaddr3[3]) != 0) { IP4_ADDR(&xIpAddr, gSNMP_IPaddr3[0], gSNMP_IPaddr3[1], gSNMP_IPaddr3[2], gSNMP_IPaddr3[3]); snmp_trap_dst_enable(2, 1); snmp_trap_dst_ip_set(2, &xIpAddr); } else { snmp_trap_dst_enable(2, 0); } // отправка трапа холодного старта snmp_coldstart_trap(); } Cвой private_mib я бы частично мог привести, но мне его надо будет почистить так чтобы не вырезать лишнего. Но он довольно большой и в нем разбираться будет труднее чем в файле из примера. У Вас сам прибор то в сети пингуется? Соединение UDP устанавливает? Какой программой Вы проверяете чтение или запись переменных?
  6. У меня этой функции нет, она не реализована, вернее закоментирована. Я так понял в ней реализовывается какой нибудь предврительный код перед работой с Вашими MIB. Я си файл без утилиты питоновской создавал (вернее правил, содавал коллега :rolleyes: так что основа у меня была). А что, с полученными файлами проект не компилируется? Что то не работает?
  7. На сайте LwIP есть собрание примеров в файле contrib-1.4.1.zip. Там есть пример написания своего private_mib. Так же в дистрибутиве LwIP в папке doc есть файл snmp_agent.txt там кратенько описано как начать работать с SNMP.
  8. Конечно же надо писать свой загрузчик. Он будет получать обновления по Ethernet или USB и программировать секцию приложения. Вы же собрались основным контроллером получать обновления и складывать их во внешнюю микросхему FLASH. Вот и складывайте, только не во внешнюю, а во внутреннюю.
  9. А зачем так сложно? Пусть главный контроллер получает прошивку и программирует сам себя. Никаких сверхъестественных знаний для написания своего загрузчика не требуется.
  10. Еще можно посмотреть TA31136 (от Toshiba), она же BA4116 (от ROHM) и она же NJM2591 (от JRC). Последние ее видимо начали производить когда первые два производство свернули. Тем не менее микросхема широко используется, и до сих пор ее ставят во вновь разрабатываемые узкополосные ЧМ радиостанции, в частности ICOM
  11. Для AD9874 Миландр собирались делать российский аналог. Называлась микросхема 1321ХД1. Не знаю сделали ли.
  12. Спасибо большое, попробую. Зачем так переделали, раньше интуитивно понятно было. А где интересно можно почитать про подобные сочетания?
  13. Поверял разные варианты, и кнопок мыши и кнопок + клавиши клавиатуры. У меня правда средняя кнопка мыши переключает режим колесика или оно плавно вращается, или со щелчками. А если без мыши работаешь, как тогда на этот режим предполагается выходить?? В общем откатился на версию 9.4 вчера там все вращается нормально, по левой кнопке мыши.
  14. У меня в AD10, последняя сборка, при добавлении посадочного места к компоненту перестали вращаться 3D модели посадочных мест созданные средствами самого Altium (STEP модели я не использую). Они показываются в окошечке в 3D, но раньше (в AD9.4) их можно было повращать, рассмотреть со всех сторон, а сейчас только вид сверху и подвигать правой кнопкой мыши. Никто с таким не сталкивался? Стоит на ноутбуке на висте. Может потому что разрешения экрана не хватает, так как некоторые окошечки в полный рост не влезают.
  15. Для нехитрого дистанционного управления оборудованием в доме, GSM хороший вариант. Но не для охраны. Как уже упоминали у GSM один, но критический недостаток (помимо стоимости связи) - нет гарантированной доставки сообщения. Именно поэтому охранные предприятия если и используют этот вид связи, то только как вспомогательный.
  16. Умереть защищая несколько старых кастрюль это без сомнения достойная смерть! Я бы все же полагался не на GSM, а на радиоканал, хотя первый вариант проще в реализации.
  17. Мне интересно, вот придет к Вам СМС о том, что на даче у Вас посторонние и что Вы сделаете? Сами туда поедете? Милиция же не поедет. Вот приехали Вы туда через 15 минут, а там человека 3 - 4 бомжей у Вас бак нержавеющий вытаскивают, ну или что у Вас там? Ну и наваляют Вам эти бомжи по самое немогу, если не похоронят Вас там же на Вашем участке, проведете вы несколько месяцев в больнице, бак все равно унесут, еще и дом сожгут. И зачем это Вам?
  18. Вы правы, inforsis, резон в отдельной плате конечно есть. Например у нас в одном устройстве именно по такому пути пошли, на 6 слойной маленькой плате процессор и память, а на большой 4 слойной весь остальной прибор. Но требования к такой платке очень сильно разнятся для разных приборов, не всем подойдут Ваши габариты, разъемы и т.д. На западе же подобная плата, мне кажется, и вовсе будет не востребована (для конечных приборов) Там нет технологических ограничений подобных нашим, как то изготовление плат с тонкими дорожками, микропереходами, пайкой BGA. Это уж мы тут по бедности своей такие извращения практикуем.
  19. В цифровых VHF/UHF радиостанциях Icom АЦП стоит по второй ПЧ 455 КГц. Что нибудь подобное, мне думается, трудно найти будет, так как Ваша структурная схема очень уж много потребляет, АЦП + DDS на довольно высокие частоты. Рановато пока радиостанции по такой структурной схеме строить. Если только в порядке эксперимента.
  20. А еще правильнее отдать платы контрактному производителю ибо QFN еще как то можно ИК станцией и термофеном запаять, а вот с BGA это уже лотерея.
  21. На коротких волнах это оправдано, там шаг нужен мелкий и подстройка. Все авиационные радиостанции Icom, Kenwood и др Service Manual на которые мне удавалось изучить, используют одну структурную схему TCXO->PLL->VCO.
  22. IAR for ARM или Keil-ом. Для прошивки по UART у них, по моему, есть своя утилита, на сайте STM посмотрите.
  23. А какой смысл устанавливать DDS синтезатор? Вам нужна очень мелкая сетка частот? Насколько я знаю, сетка частот в авиационных радиостанциях довольно крупная порядка нескольких килогерц. Испльзование PLL синтезатора здесь оптимально. Применение DDS синтезатора приведет к увеличению тока потребления, стоимости и скорее всего к побочным составляющим в спектре. Плюсом же будет являться возможность более тонкой подстройки частоты от температуры. С последним TCXO генератор справится не хуже. Ну в крайнем случае, если так уж хочется применить DDS лучше будет сделать как посоветовал SmarTrunk
  24. Датчики были для диапазона 0...+80 С Точки калибровки первоначально были расположены равномерно по диапазону 20, 40, 60 С. Затем точку в 20 С передвинули на 0 С поскольку 0 легко получается таянием, а точка 20 С плохо держалась в нашем термостате, поскольку близка к температуре окружающей среды. Сугубо мое мнение, но кварцевые датчики не очень хорошо подходят для данной задачи. Такую и даже большую точность они могут обеспечить, но не в таком широком диапазоне. Например, они широко применяются для измерения температуры тела человека, точность там около 0,05 С Но диапазон всего около 34 - 43 С. На таком участке он скорее всего вообще линеен и легко калибруется в одной точке. В Вашем же диапазоне 0 - 100 С, боюсь, что такую точность не получить, или получите, но на отдельных сенсорах, с несколькими перекалибровками которые еще неизвестно как поведут себя по прошествии некоторого времени. Все это сведет основное достоинство кварцевых сенсоров - их дешевизну, на нет. Мне кажется платиновые сенсора для данной задачи наиболее оптимальны.
×
×
  • Создать...