Jump to content

    

roma-cezar

Участник
  • Content Count

    23
  • Joined

  • Last visited

Everything posted by roma-cezar


  1. после замены транзистора инжектор успешно определил класс PD, после чего на Vin появилось и поддерживалось 50 вольт. DC-DC в данный момент был нагружен. На ХХ пое контроллер отключает питание после 400 мс. При последующих запусках транзистор был уже пробит. Транзистор 2n7002. UPD Все работает. Проблема с транзистором была.
  2. мц, щас поэкспериментировал, после подачи нагрузки транзистор живет не более одного запуска. На затвроре после запуска 50В
  3. Первая осциллограмма без делителя на 10, вторая с делителем. Пробовал подал небольшую нагрузку после полевика, никакого эффекта.
  4. Потому, что не выдает напряжение больше чем на 400 мс . Я тогда что-то не понимаю, в чем суть описанных мною выше проблем? При всем при этом сам DC-DC работает. Класс определяется только при отключенном DC-DC
  5. Всем привет. Ребят, у кого есть опыт построения ИП с использованием активного PoE. НА примере микросхем LT4275 и других похожих?Сейчас впервые пробую сделать схему 25Вт питания от активного PoE инжектора 802.3at/af (инжектор 30Вт 51В) (рис 1).Схема из ДШ на LT4275 предполагает использование изолированного DC-DC. Возможно ли использовать неизолированный например на мс TPS54360?Проблема в том, что щас по моей LT4275 категорически не хочет работать как сам так и с TPS54360. (вероятно и не должен, не могу инфу найти по этому поводу). Если DC-DC постоянно включен (TPS54360 en > 1.2V) то класс PoE вообще не определяется, идут постоянно прямоугольники (рис 2), даже без нагрузки на DC-DC, если отключить DC-DC от контроллера PoE либо подключить инвертированный сигнал PWRGD, то инжектор видит класс PoE и кратковременно может выдать 50 вольт (рис.3 ), и такие циклы бесконечно повторяются, DC-DC естественно, не может запуститься как с нагрузкой так и без.
  6. Щас еще заметил ,что в файле altcp_tls_mbedtls.c есть указание: * Mandatory security-related configuration: * - define ALTCP_MBEDTLS_RNG_FN to mbedtls_entropy_func to use the standard mbedTLS * entropy and ensure to add at least one strong entropy source to your mbedtls port * (implement mbedtls_platform_entropy_poll or mbedtls_hardware_poll providing strong * entropy) * - define ALTCP_MBEDTLS_ENTROPY_PTR and ALTCP_MBEDTLS_ENTROPY_LEN to something providing * GOOD custom entropy и соответствующие дефайны: #ifndef ALTCP_MBEDTLS_ENTROPY_PTR #define ALTCP_MBEDTLS_ENTROPY_PTR NULL #endif #ifndef ALTCP_MBEDTLS_ENTROPY_LEN #define ALTCP_MBEDTLS_ENTROPY_LEN 0 #endif Но вот что объявлять то они должны? Ниче не находится в гугле даже Так же похоже необходимо подключать некоторые модули mbedtls судя по файлу altcp_tls_mbedtls_mem.c #ifndef ALTCP_MBEDTLS_MEM_DEBUG #define ALTCP_MBEDTLS_MEM_DEBUG LWIP_DBG_OFF #endif #if defined(MBEDTLS_PLATFORM_MEMORY) && \ (!defined(MBEDTLS_PLATFORM_FREE_MACRO) || \ defined(MBEDTLS_PLATFORM_CALLOC_MACRO)) #define ALTCP_MBEDTLS_PLATFORM_ALLOC 1 #else #define ALTCP_MBEDTLS_PLATFORM_ALLOC 0 #endif #if ALTCP_MBEDTLS_PLATFORM_ALLOC #ifndef ALTCP_MBEDTLS_PLATFORM_ALLOC_STATS #define ALTCP_MBEDTLS_PLATFORM_ALLOC_STATS 0 #endif Пробовал, но либо ошибки дает при компиляции либо все то же самое. В общем ничего не понятно.
  7. Спасибо, сегодня попробую UPD К сожалению не помогло. Может кто сможет поглядеть проект (CubeIde) http://rapid.ufanet.ru/80234650 Так же отдельно прикреплю настроки LWIP и MBEDTLS mbedtls_config.h lwipopts.h
  8. Всем привет. Запустил mqtt из стека LWIP для STM32. Все работает. Но как сделать чтоб работало через TLS. Кто то может делал, поделитесь информацией? В кубе подключил mbedtls по дефолту ибо хз что там настраивать конкретно, так же в настройках lwip включил опции LWIP_ALTCP & LWIP_ALTCP_TLS, добавил в PATH LWIP_ALTCP_TLS_MBEDTLS Долго не мог понять, куда нужно сунуть сертификат. Посмотрел я еще исходники и сравнил с ALTCP Config, понял, что в структуру передается еще структура с сертификатом . Из-за чего-то свойство tls_config не виделось при вызове структуры ci, хотя все нужные дефайны есть В итоге пока инициализация выглядит так: struct mqtt_connect_client_info_t ci; memset(&ci, 0, sizeof(ci)); ci.client_id = "lwip_test"; ci.client_user = ""; ci.client_pass = ""; ci.keep_alive = 0; ci.tls_config = altcp_tls_create_config_client((const u8_t*)test_cert, sizeof(test_cert)); // create client client = mqtt_client_new(); // connect client mqtt_client_connect(client, &resolved, port, mqtt_on_connect, (void *)0, &ci); Настроил mqtt сервер москито, создал сертификаты, проверил, что работает. Однако проект не соединяется, все время вылетает в функции altcp_tls_create_config_client_common (altcp_tls_mbedtls.c) ret = mbedtls_x509_crt_parse(conf->ca, ca, ca_len); if (ret != 0) { LWIP_DEBUGF(ALTCP_MBEDTLS_DEBUG, ("mbedtls_x509_crt_parse ca failed: %d 0x%x", ret, -1*ret)); altcp_mbedtls_free_config(conf); return NULL; } ret = -4480 , Failed to allocate memory. Может я еще что-то упускаю?
  9. Всем доброго дня. Делаю сип звонилку с громкой связью. Со стороны клиента мини пк на H3 процессоре (Nano Pi core) . Вывод звука со встроенной звуковой. Возникла проблема с акустическим эхо. Почитал, что можно сделать и самый простой вариант использовать ИС громкой связи, в доступности была mc34118 + 34119. Заимствовал данную схему (схема сама вроде как по даташиту) Противоместную и пунктирную часть исключил. Звук с мини ПК подаю на С22, выход звука с R14 подаю на микрофонный вход ПК. Пришлось настроить чувствительность микрофона изменив сопротивление R4. В целом схема работает, но не совсем корректно. Очень плохо работает, когда перевожу телефон в режим громкой связи. Из-за акустическй связи на удаленном телефоне, начинает отключаться узел громкой связи на MC34118. Так же звук из микросхемы хрипит, а в динамике слышны шумы и щелчки. Пробовал настроить усиление и чувствительность микрофона, в итоге в телефоне начинаю сильнее слышать свой голос, немого тише, но все еще хорошо различимый, видимо плохо срабатывает детектор уровня. Кто нибудь имеет опыт настройки данной микросхемы, можете поделиться опытом, литературой? По даташиту не очень понял. В гугле тоже не могу найти. На форуме находил, что люди упоминали, что с ней занимались, но топики старые уже.
  10. Но там же и переходные, разве нет? В итоге вручную их вытаскивать опять придется? Например для сборки делается же пик энд плэйс. Разве для выводных компонентов под атоматизированную пайку ничего нет? Или я чтото не понимаю?
  11. Доброе утро! Подскажите как в Альтиуме получить координаты отверстий выводных компонентов под автоматическую пайку? Никак не могу найти инфу. Сижу руками а то вытаскиваю. Заранее благодарю!
  12. Думал над этим, но у STM32 библиотека dsp fft может вычислить спектр до 1024 отсчетов максимум. Т.е. с ацп я максимум могу загрузить (2048 - половина из них комплексная часть - нули.) 1024 отсчетов. Спасибо за книгу. Буду читать. По расчетом окон где можно посмотреть, чтоб понятно было?
  13. Как с этим правильно бороться? Почему после преобразования амплитуды сигнала занижены в 2 раза, хотя DC составляющая показывается правильно7
  14. Теперь у меня слудующий вопрос. Запустил FFT с частотой дискр. АЦП 2048 Гц. Получаю 1024 выборки сигнала. Частотный диапазон сигнала на входе 500 - 1000 Гц. Получаю ряд амплитуд с частотами с шагом 2 Гц (511 точек) При отрисовке вижу, что если на вход ацп подать четное значение частоты, то амплитуда отрисовывается нормально, а если ytчетное, то амплитуда занижена на треть.
  15. Нашел ошибку, не вписал часть равную 0 в массив fftInput for(uint16_t i=0; i<(ADC_BUFF_SIZE/2); i++) { fftInput[i*2] = ((float32_t)(ADC_BUFF[(i*2)+ curr_adc_ch ])) / (float32_t)4096.0; fftInput[(i*2)+1] = 0.0; } постоянная составляющая - 0 гармоника показывает величину смещения сигнала 1,5 вольт примерно. Магнитуда синуса i-ой гармоники почему то показывает 0,8 в вместо 1,6 вольт - в 2 раза меньше. так и должно быть?
  16. Да должно быть. Но нет(((( Вот кусок кода где получаю выход fftOutput #define ADC_BUFF_SIZE 2048 #define FFT_IN_BUFF_SIZE 2048 #define FFT_OUT_BUFF_SIZE 1024 #define UTX_BUFF_SIZE (4096)+2 uint16_t ADC_BUFF[ADC_BUFF_SIZE]; float32_t fftOutput[FFT_OUT_BUFF_SIZE] = {0}; float32_t fftInput[FFT_IN_BUFF_SIZE] = {0}; uint32_t fftSize = 1024; uint32_t ifftFlag = 0; uint32_t doBitReverse = 1; arm_cfft_radix4_instance_f32 S; for(uint16_t i=0; i<(ADC_BUFF_SIZE/2); i++) { fftInput[i] = ((float32_t)(ADC_BUFF[(i*2)])); } arm_cfft_radix4_init_f32(&S, fftSize, ifftFlag, doBitReverse); arm_cfft_radix4_f32(&S, fftInput); arm_cmplx_mag_f32(fftInput, fftOutput, fftSize); Уже при отладке вижу в fftOutput что основная гармоника и ее зеркальное отображение имеют разные значения.
  17. Пост сост-ая есть слева, но плохо отрисовывается, она 720 единиц (попугаев). Сегодня переделал немного, отображаю спектр с зеркальной частью от 0 до 512 Гц. Частоты 100, 300, 400 Гц. На 500 гц сходится в один спектр в зеркальной части получаю такую картину Далее с графиком синус. сигнала, оцифрованный АЦП его гармоники. 10 Гц, 100 и 300 Гц. Амплитуда синусоиды постоянная, при переводе в вольты все точно получается. Суммирование частот 10 и 200 гц
  18. синус подаю с генератора. АЦП оцифровывает правильно.
  19. Генератор такой, только модель немного другая Сейчас показать осциллограммы не могу. В ПН могу снять повторно, перепроверить. Но вчера, когда тестировал, снимал синус и выводил его на комп, амплитуда оставалась такой же, как задано на генераторе сигналов во всей полосе 0 - 1 кГц (АЦП вроде как боле 5 MSPS хватит за глаза для такой частоты). Падение амплитуды от частоты происходит после БПФ. еще я при получении данных с ацп сразу их нормализовывал и приводил к вольтам в тип float, после передавал в БПФ функцию. Но на выходе получаю какие то попугаи.
  20. STM32 FFT (БПФ)

    Всем добрый день! Недавно начал знакомство с библиотекой fft для DSP ядра arm_cfft_radix4_f32 STM32F3 и его АЦП соответственно. Поглядел пример, решил запустить свою программку которая берет сигнал с АЦП и выдает график спектра сигнала. Сперва просто попробовал выдавать осциллограмму, с чем успешно справился, все правильно измеряет. Параметры для получения спектра следующие. На вход ацп подаю сигнал от 0 до 1000 Гц с цифрового генератора. Сигнал смещен в положительную сторону, изменяется от 0 до 3 вольта. Амплитуда сигнала постоянная. Вход АЦП пока напрямую подключен к выходу генератора витой парой. Частота выборки АЦП задается по таймеру - 2048 Гц далее через DMA все кладу в буфер. Получаю 2048 отсчетов на канал. Sample rate на канал АЦП - 7,5 циклов. Количество отсчетов БПФ - 1024 дискретность 1 герц Но графике (рис) разложения сигнала в спектр наблюдаю, что с ростом частоты (при постоянной амплитуде) сигнала на графике спектра амплитуда падает с некоторой зависимостью и после. (С матаном и теорией по БПФ не дружу особо только поверхностно, заранее прошу прощения за что-то глупое.) В чем моя ошибка?
  21. Всем добрый день! Мало помалу осваиваю NRF51/52 пытаюсь разобраться по примерам как работать с блутуз стеком от нордика. стадию написания блютуз меток, устройств типа BLE Observer ну и по примерам тестирование различных готовых сервисов прошел. основные же трудности у меня в меру небольшого ума и знания языка встали при попытке реализовать свой сервис и обмениваться с программкой на андройде данными. Со стороны андройда все просто и работает. Со стороны мк у меня долго ничего не получалось, пока не наткнулся на Bluetooth dev. studio (BDS) и с горем пополам, опираясь на скудный мануал смог запустить свой сервис. В итоге могу со стороны мк получать данные из значения value моей characteristic при записи в нее с телефона, но записать со стороны МК не получается....не вижу на телефоне чтобы чтото полученно было. Параллельно задавал данный вопрос по этому поводу (на своем корявом англ.) в теме на nordic dev zone тут! Там же выложил проект в кейле и файлы, сгенерированные BDS. Функция для записи данных делалась на основе примера с того же Nordic Dev Zone. uint32_t ble_my_service_value_update(ble_myprofile_t * p_myprofile, uint8_t data) { uint32_t err_code = NRF_SUCCESS; ble_myprofile_evt_t ble_myprofile_evt; ble_gatts_value_t gatts_value; ble_myprofile_t ble_myprofile; ble_myprofile_mycharacteristic_t * p_mycharacteristic; memset(&gatts_value, 0, sizeof(gatts_value)); gatts_value.len = sizeof(uint8_t); gatts_value.offset = 0; gatts_value.p_value = &data; err_code = sd_ble_gatts_value_set(p_myprofile->conn_handle, p_myprofile->mycharacteristic_handles.value_handle, &gatts_value); if (p_myprofile->conn_handle != BLE_CONN_HANDLE_INVALID) { ble_gatts_hvx_params_t hvx_params; // Initialize value struct. memset(&hvx_params, 0, sizeof(hvx_params)); hvx_params.handle = p_myprofile->mycharacteristic_handles.value_handle; hvx_params.type = BLE_GATT_HVX_NOTIFICATION; hvx_params.offset = gatts_value.offset; hvx_params.p_len = &gatts_value.len; hvx_params.p_data = gatts_value.p_value; err_code = sd_ble_gatts_hvx(p_myprofile->conn_handle, &hvx_params); } return err_code; } Возможно не правильно произвожу обновление значения в характеристике, либо что то накосячил при настройке BDS Знатоки NRF5 и BDS прошу совета....
  22. Всем привет, вчера собрал GSM системку управления, М10+Мега8, все нормально работала, посылала ответное смс на мои сообщения, выполняла все идеально, сегодня пробывал потестить еще, он мне когда пробует послать сообщение пишет: +CMTI: "SM",3[0D][0A] AT+CMGR=3[0D] 10:13:29:781 MOUDULE -> PC [0D][0A] +CMGR: "REC UNREAD","+79279241239","","2011/08/21 08:14:20+1 6"[0D][0A] cmd1[0D][0A] [0D][0A] OK[0D][0A] 10:13:30:843 MOUDULE -> PC AT+CMGS="89279241239",129[0D][0D][0A] > 10:13:31:890 MOUDULE -> PC "COMAND 1 EXE"[0D][0A] > [0D][0A] [0D][0A] > [0D][0A] 10:13:35:203 MOUDULE -> PC [0D][0A] +CMS ERROR: 28[0D][0A] Ошибка вроде, неидентифицированный пользователь чтоль, кто нить знает как ее устранить?
  23. Кто уже работал с модулем M10? Как с него послать правильно смс сообщение на опред. номер?