![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_pattern.png)
![](https://electronix.ru/forum/uploads/set_resources_23/84c1e40ea0e759e3f1505eb1788ddf3c_default_photo.png)
Artem
Свой-
Постов
71 -
Зарегистрирован
-
Посещение
Репутация
0 ОбычныйИнформация о Artem
-
Звание
Участник
Контакты
-
Сайт
Array
-
ICQ
Array
-
Извиняюсь за долгое молчание, увлеклись замерами совсем. Спасибо velkarn за совет. Так и сделали и всё получилось. Всем спасибо.
-
Спасибо, про переходной процесс читал. Просто хотелось вживую увидеть эти пресловутые АЧХ с ФЧХ уже в живом изделии :rolleyes: . Первый раз такое делаем, вот отсюда и интерес.
-
Вот их (запасы по фазе и усилению) то и хотим измерить. Про петлевое усиление, это я что то с недосыпу сморозил :rolleyes: . Пробовали включать фильтр, тоже не видать почти. Подключали Network Analizer HP8751A. Он тоже какой то бред показывает - на низких частотах - шум. А на верхних - на частоте перехода усиления через 0, он показывает запас по фазе 98 градусов. Хотя рассчётное - 60...
-
Вот этот документ http://www.polyscope.ch/dlCenter/ps/2009_8/08_09.05.pdf Вот схемы при себе нету, на работе она. Но если в кратце - косой полумост, с частотой 80кГц, выходной LC фильтр, и усилитель ошибки Type 3. PWM контроллер UC3845.
-
Почитал, спасибо. Но это всё не то, к сожалению. По ссылкам описывается теоретическая и расчётная части. А мне всё таки хотелось узнать о измерении в уже готовом изделии.
-
Спасибо за ссылки, а я искал в этой ветке :laughing: ... А оно вон оно как... Спасибо, пошёл я читать.
-
Спасибо за ответ, но искал, всё перерыл и не только тут. Но везде только сслылки на юнитродовские документы, а практических рекомендаций так и не нашол. Так же не нашёл, чтоб кто-нибудь поведал о своих измерениях.. :laughing: Ещё раз повторюсь - мне не нужны методы расчёта или настройки, это я уже сделал. Мне бы хотелось услышать о методах измерения. Интересно, кто как делает, ведь в помехах ничего не видно.. :rolleyes:
-
Доброго времени суток. Собственно, суть вопроса в следующем: сделал источник питания с напряжением по выходу от 6 до 20 вольт, и током до 30 А. По топологии косого моста, контроль по напряжению, ШИМ контроллер - UC3845. Работает нормально, напряжение регулируется. Вот решил проверить его устойчивость и измерить петлевое усиление и запас по фазе. Сделали как описывается в юнитродовских документах - в разрыв делителя обратной связи последовательно добавили резистор на 50 ом, и через разделительный трансформатор с генератора подали синус (200mV) на резистор. Сначала смотрели осциллом - всё в помехах и не видно ничего. Точнее синус немного проглядывается сквозь помехи, но толком его не померить. Собственно вопрос: Кто как измеряет петлевое усиление и запас по фазе? Заранее спасибо.
-
Интересная ссылочка, спасибо. Знал бы про неё, не мучился бы два дня подряд..
-
Сделали так: В файле icmp.c ф ф-ции icmp_input() строки: // adjust the checksum if (iecho->chksum >= PP_HTONS(0xffffU - (ICMP_ECHO << 8))) { iecho->chksum += PP_HTONS(ICMP_ECHO << 8) + 1; } else { iecho->chksum += PP_HTONS(ICMP_ECHO << 8); } закомментировали, а сделали так: #if CHECKSUM_GEN_ICMP /* adjust the checksum */ if (iecho->chksum >= PP_HTONS(0xffffU - (ICMP_ECHO << 8))) { iecho->chksum += PP_HTONS(ICMP_ECHO << 8) + 1; } else { iecho->chksum += PP_HTONS(ICMP_ECHO << 8); } #else /* CHECKSUM_GEN_ICMP */ iecho->chksum = 0; #endif /* CHECKSUM_GEN_ICMP */ Теперь полёт нормальный. Плата пингуется, страница загружается.
-
А какая версия стека? Была такая проблема когда переходили на версию 1.4
-
Добрый день. У меня проблема была с файлом sdc_diskio.c (низкоуровневые функции работы с SD). А если ещё точнее, то проблема была с функцией Receive_DataBlock. Получалось, что я при чтении вылезал за область памяти прёмного буфера, и при этом портил структуру fs. После устранения, проблемы исчезли. PS. Письмо отправил
-
Доброго времени суток. Необходимо разместить секцию во флеш после кода. А адрес этой секции поместить тоже во флеш по фиксированному адресу. Т.е. по фиксированному адресу будет лежать адрес конца прошивки. Делаю вот так: (IAR 6.10, STM32F103RET6) .icf файл: define symbol __ICFEDIT_size_vesionaddr__ = 0x04; define memory mem with size = 4G; define region ROM_region = mem:[from __ICFEDIT_region_ROM_start__ to __ICFEDIT_region_ROM_end__]; define region RAM_region = mem:[from __ICFEDIT_region_RAM_start__ to __ICFEDIT_region_RAM_end__]; // Создаём регион по фиксированному адресу define region VERADDR_region = mem:[from __ICFEDIT_region_ROM_start__+0x400 _size __ICFEDIT_size_vesionaddr__]; define block CSTACK with alignment = 8, size = __ICFEDIT_size_cstack__ { }; define block HEAP with alignment = 8, size = __ICFEDIT_size_heap__ { }; initialize by copy { readwrite }; do not initialize { section .noinit }; place at address mem:__ICFEDIT_intvec_start__ { readonly section .intvec }; place in ROM_region { readonly, section .versionsection}; place in VERADDR_region { section .versionaddr }; place in RAM_region { readwrite, block CSTACK, block HEAP }; в файле main.c // Глобальные переменные #pragma section = ".versionsection" const char version_full [] @ ".versionsection" = "VERSION 30.05.2011 05:38:40"; #pragma section = ".versionaddr" const char * version_addr @ ".versionaddr" = __section_begin(".versionsection"); IAR ругается вот такими словами: Error[Pe028]: expression must have a constant value на вот эту строку: const char * version_addr @ ".versionaddr" = __section_begin(".versionsection"); Вот не пойму, вроде компилятор должен положить адрес versionsection в секцию versionaddr. А линкер засунет её в созданный для неё регион... Почему такого не происходит? Заранее спасибо.
-
Спасибо, Ваш пример работает. Переработал свой код по образу и подобию, тоже заработало. Спасибо!
-
Так вот если файл не нулевого размера, эти функции работают же. Файл пишется. Поэтому на них вроде и не думаю. Понятно, что ошибка где то у меня, не понятно только где..