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

Arlleex

Свой
  • Постов

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

  • Посещение

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

    18

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


  1. Нет. Знаете, я искал быстрый ответ, в области светодиодной техники я не вдавался в подробности, не знаю до чего техника дошла в этом направлении сейчас. Поэтому и надеялся получить ответ быстрее, чем сам что-то найду. Как заставить светодиод светиться от 1В при помощи посторонних схем я прекрасно знаю, вопрос был лишь в том, есть ли сами светодиоды низковольтные. Плата уже на руках, колхозить не хотелось. Всем спасибо.
  2. Загуглил, что-то везде пишут про 2,8В падение у 3Л341.
  3. Да мне надо найти или такой светодиод, или сигнальное MOSFET твердотельное реле SOP-4 с управляющим напряжением от 2В хотя бы.
  4. Всем привет. Существуют ли в природе выводные 1...1,3В (максимум) светодиоды видимого излучения?
  5. iosifk, благодарю, сейчас буду смотреть. Я так понимаю, у него еще есть ВСЕ по конечным автоматам... Это более чем замечательно :) Сначала я должен попробовать разобраться сам :rolleyes: В случае, если будут какие-то вопросы - я могу рассчитывать на Вашу помощь в скайпе?
  6. Привет всем. До недавнего времени как-то не задумывался над некоторыми вопросами проектирования цифровых автоматов... С комбинационными устройствами понятно - одной лишь таблицы истинности достаточно для составления по ней схемы на логических элементах. А как быть со сложными устройствами, включающими триггеры, счетчики, и т.д.? Ведь есть же математические модели подходов к проектированию таких автоматов или проектирование на основе временных диаграмм? Куда бы хорошо порыть на эту тему? Интересует сама идеология проектирования, как работают триггеры и вся требуха цифровой электроники я прекрасно представляю :rolleyes:
  7. ikolmakov, V_G, добрый вечер! Итак, после прочтения Ваших ответов у меня возник небольшой когнитивный диссонанс :rolleyes:, ведь я писал свои рассуждения исходя из собственной логики. Опровергнув мои предположения и рассуждения, я понимаю еще больше, что ничего не понимаю Итак, давайте по порядку. Просто хочу себе все разжевать по полочкам, понять именно, а не "как-то так работает и Бог с ним" =). Я так понимаю, этим Вы хотите сказать, что это как в UART, где приемник и передатчик заранее договариваются, на какой скорости вести обмен, поэтому границы временных интервалов заранее известны - т. е. для каждого бита выделяется небольшой временной "такт". Так и здесь, чисто идеологически? Не совсем понял, о какой синхронизации идет речь. Я понимаю, например, как синхронизация делается в интерфейсах без внешнего сигнала синхронизации (там где генератор приемника "цепляется" за фронты принимаемых бит, например, кодировки 4B/5B и т. д.). Это? Кстати да, симулинк надо попробовать. Книгу приобрету =). Первую картинку Вы имеете в виду ту, на которой круг с вращающимся вектором? Но как же тут формируется эта фаза, кроме как значениями I и Q? Пусть I = 5, Q = 5, амплитуда получится 7,07, фаза 45 градусов. Возьмем теперь I = 5, Q = 10, получим амплитуду 11,2, фазу ~63 градуса. Хотим одинаковую амплитуду, но изменять только фазу? Пожалуйста - задаемся амплитудой, например 5, и для каждой фазы расчитываем I и Q (причем они же отрицательными тоже могут быть - чтобы вектор своим концом мог попадать в любые точки на окружности). Верно же? Или Вы имели что-то другое в виду? Я так понимаю, Вы об этой схеме: А почему же она не верна? Я же, ведь, по контексту, об этом и говорил: А вот дальше я пишу: Вот как бы на этой картинке я как раз и хотел показать, что теперь ПЛИС независимо формирует I и Q множители, поэтому на выходе мы получаем фазовую модуляцию. P.S. Донес свое понимание сего процесса "как есть" =) Прошу не пинать за многоэтажные повторяющиеся цитаты, в крайнем случае прошу перечитать ход мыслей в первом моем сообщении. Благодарю за понимание :rolleyes:
  8. Всем привет! Захотел разобраться подробно в тонкостях модуляции сигналов. В частности цифровой модуляции. Поверхностно я представляю, как это все происходит, но мне этого не достаточно. Хочу знать все Я буду вести "мысли вслух", если так можно выразиться, а вы, уважаемые форумчане и гуру ВЧ-техники, подправляйте, пожалуйста. Первый мой вопрос будет по поводу квадратурной амплитудной модуляции (КАМ). Итак, любой сигнал (для примера рассмотрим синусоидальный) можно "развернуть" в другую плоскость с полярной системой координат. Помните, в школе так показывали? В этой системе координат берется точка А. Из нее проводится вектор некоторой единичной длины, и этот вектор вращается вокруг точки, описывая концом окружность. Проецируя на оси I или Q положение конца вектора, мы можем получить график синусоиды или косинусоиды. С математикой тут понятно, длина вектора однозначно определяется через компоненты I и Q по теореме Пифагора для прямоугольного треугольника :rolleyes: И вот понадобилось модулировать сигналы. Т.е. есть накладывать на несущий наш информационный сигнал и передавать его куда-нибудь в эфир. Параметров у несущего сигнала не так много, их три - амплитуда, частота и фаза. Вот рассмотрим амплитудную модуляцию сигнала. Чуть выше стало понятно, что чтобы сформировать сигнал, нужно взять генератор какой-то частоты, и из этого генератора получить сигналы синусоиды и косинусоиды. Вот что получили: Ну, то есть берем генератор синусоиды, заводим его на фазовращатель и получаем косинусоидальный сигнал. А потом их в сумматоре складываем по теореме Пифагора, получая полный вектор результирующего сигнала, и выделяем из него реальную составляющую - это и будет сигнал, который можно подавать куда угодно, в антенную часть (ну, пусть так, не усложняя усилителями, фильтрами и т.д.). А где же тут модуляция? Ну, пока что нету. Чтобы она была, предлагаю сделать так: Что тут? Просто входной сигнал будет управлять "усилением" амплитуд сразу обеих составляющих - синусоидальной и косинусоидальной. Поэтому то входной сигнал параллельно поступает на оба умножителя. Так вот - подавая на вход какой-нибудь синусоидальный сигнал меньшей частоты, на выходе получим вот такой сигнал: Подавая цифровой сигнал - получим что-то вроде этого (в народе называется амплитудная манипуляция (ASK)): Поскольку в данной схеме мы одновременно (!) изменяем усиление синусоиды и косинусоиды, фаза выходного сигнала не будет изменяться. Вектор будет спокойно вращаться, изменяться будет лишь его модуль (амплитуда). Это логично и понятно. Но стоит нам разорвать соединение входов (следующая картинка ) и управлять усилением синусоидальной и косинусоидальной составляющими раздельно, то мы подходим к новому виду модуляции - фазовой. Тут если ПЛИС подает одинаковые значения на I и Q ЦАПы, то будет изменяться амплитуда выходного синусоидального сигнала. А может и раздельно управлять I и Q составляющими. Будет, на самом деле, фазовая модуляция. Генератор все так же генерирует синусоиду, фазовращатель делает косинусоиду, но вот умножители I и Q составляющих работают независимо - и в один прекрасный момент можно взять и изменить значения усиления I и Q составляющих. На временной диаграмме произойдет что-то вроде этого: Вот на этом моменте у меня затык. Если в сигнальном созвездии мне нужно перейти в точку (рис. а), а я нахожусь конкретно сейчас в точке (рис. б), что мне делать? И опять непонятность - вектор крутится себе, и пересекает все точки созвездия, или это правильно - в данном случае тогда квадратурный демодулятор будет смотреть на сам факт изменения фазы, а не на ее конкретное значение, так? PS. Дополнительный вопрос. Как получается вот такой сигнал? Я благодарю за вразумительные ответы, полагаясь на вашу компетентность. Во всяком случае, буду также благодарен за литературу (желательно на русском языке, хотя, если на русском будет не так "вразумительно" и просто, то и на английском) по этому поводу. Литература желательно с математикой процессов, но не шибко сложной, так сказать, на пальцах, чтоли...
  9. Оптимизация в Keil

    Golikov A., вопросы не бывают глупыми, вопросы бывают недостаточно освещены =) Процессорное ядро Cortex M4, у них поддержка невыровненного доступа полностью железная. И да. Все-таки, в ядрах, в которых вылетало исключение при доступе по невыровненному адресу, компилятор сам выделял всем переменным выровненные адреса =) kolobok0, в смысле изменялся асм на выходе компилятора? Ты имеешь в виду машинный код? Или прошедший оптимизацию входной асм?
  10. Оптимизация в Keil

    К сожалению, я шагал не по ассемблеровским инструкциям, а по Си-шным. Завтра попробую выловить =) Постараюсь отписаться.
  11. Оптимизация в Keil

    Fedor, глобальной - не отваливается. Статической - не пробовал.
  12. Оптимизация в Keil

    Покажу на псевдокоде. int main(void) { func1(); // эта функция выполняется func2(); // при выполнении вот этой отладчик отваливается } func1() { struct s; s.a = 0; s.b = 10; s.c = 42; s.d = 50; init_struct(&struct); // ну, просто настраиваем регистры периферии микроконтроллера этой структурой } func2() { // запись и чтение внешней памяти } Вот так - отладчик отваливается при попытке выполнения функции func2. Стоит закомментировать в func1 строку s.c = 42 или присвоить не 42 а 128 - отладчик не отваливается, функция выполняется. Пробовали 42, 128 и несколько других чисел - с некоторыми отваливается, с некоторыми - нет. Менял размер стека и кучи (ну, в отчаянии), не помогает. Само отваливание происходит при попытке записи во внешнюю память (при выполнении строчки что-то типа *(base_addr + addr) = data). Думаю, это не важно, ведь по сути абсурдно, что, изменив лишь инициализатор переменной, совсем не имеющей отношение к этой операции, результат будет разный - STLink отваливается, или нет. Кроме всего прочего. Если оставить так, что отладчик отваливается, и просто поменять порядок вызова функций (сначала func2, а потом func1) - отладчик не отваливается, память доступна и все счастливы =) Повторюсь. Это на уровне оптимизации Level 0. P.S. Отваливание отладчика еще и сопровождается "ввисанием" программы. Т.е. фактически я мониторю каждую выполненную функцию и после нее зажигаю светодиод. Так вот, если отладчик отваливается - не зажигается и светодиод. Когда я не под отладчиком, а просто прошил микроконтроллер и запустил на выполнение, все то же самое - светодиоды молчат. И где контроллер завис - не ясно. http://www.keil.com/forum/20367/ Ссылка по теме. Правда у них ULINK.
  13. Оптимизация в Keil

    aaarrr, пардон. Отладчик отваливается с сообщением, внешний вид которого показан на рисунке моего первого сообщения. Поэтому узнать причину я не могу (ладно, если бы там, MemManage Fault был...).
  14. Оптимизация в Keil

    Пересобирал, чего-только не пересобирал. Думал, флеш битая, но сделал сравнение файлов в ST-Link Utility, файлы одинаковые. struct - это название для примера, конечно же =) Еще один момент. Стоит вместо цифры 42 (в реальной железке) в этом поле структуры поставить число 128 - как код не зависает. Но это не выход из положения =)
  15. Оптимизация в Keil

    Всем привет! Использую Keil 5 для программирования STM32. Заметил интересную особенность. Выключаю оптимизацию (Level 0), запускаю код, в нем все прозрачно и безобидно - выделяется в функции локальная структура, и я ее заполняю. Выхожу из функции в main, захожу в другую функцию и отладчик отваливается с сообщением Путем проб и ошибок выявил, что, закомментировав одно из заполнений полей структуры, struct.a = 0; struct.b = 100; struct.c = 45; // struct.d = 50; struct.e = 150; все работает. Т.е. поймал багу прямо на строчке заполнения структуры. Если перед объявлением структуры объявить еще что-нибудь, баг тоже исчезает... Подобного никогда не видел. При оптимизации Level 3 все работает, даже при заполнении всех полей структуры. Что там натворил оптимизатор такого? P.S. И еще вопрос. Почему при оптимизации Level 0 volatile const unsigned int a = 100; разместится в SRAM, а если она объявлена но не используется по коду - выкидывается вовсе из map-файла (ведь Level 0 предполагает ничего не оптимизировать)? Если просто const unsigned int a = 100; то все хорошо - константа будет во Flash. Для Level 3 вроде как оба случая разместят константу во Flash. Объясните, пожалуйста, или направьте на нужную информацию.
  16. STM32 SDRAM, NOR Flash

    Линиями, думаю, такого эффекта не добиться. Не нажатая кнопка: Кнопка при нажатии (не отпущена): Кнопка отпущена (но уже в другом состоянии и с другой надписью): Все-таки тень (по нижнему правому краю) при не нажатой и ее отсутствие при нажатии делают интерфейс более красивым. Именно поэтому я храню кнопки битмапами, а не векторизую из линий окна, кнопки и т. д.
  17. STM32 SDRAM, NOR Flash

    mantech, ну, по мне так, как-то бледновато выходит, если рисовать все линиями, полуокружностями и другими примитивами. А насчет перетаскивания окон - для этого STM32F429 дает превосходное аппаратное ускорение - за счет выделенного графического DMA :rolleyes: Ведь в этом и фишка, что на МК без графического ускорителя пришлось бы наблюдать, как ты говоришь, слайд-шоу Но тут же работа со слоями чисто аппаратная.
  18. STM32 SDRAM, NOR Flash

    А вы как примитивы отрисовывали? Просто у меня та же кнопка - это не набор из битмапа самой кнопки и отдельно накладываемого текста. У меня это кнопка с текстом сразу. Кнопка 229x54 пикселя, 32 бита на пиксель, итого ~49 кБайт на кнопку. Городить отдельно кнопку и накладывать на нее текст не хочу =) Если бы их было очень много, разных - тогда да, делал бы так. SPI Flash не использовал. Потому что поставил сразу NOR Flash, т.к. хотел напрямую оттуда грузить данные в экран. Лишь позже узнал, что STM32F429 имеет неисправимый аппаратный глюк.
  19. STM32 SDRAM, NOR Flash

    scifi, я не иронизировал. Я принял это как пока что единственный выход из моей ситуации =)
  20. STM32 SDRAM, NOR Flash

    Насчет STM32F446 - пардон, написал по памяти, но мне все равно нужен LQFP-176. Да и насчет STM32F7, в продаже нет 176-выводных, по крайней мере там, где я смотрел. Rash, а просто плата уже разведена и изготовлена. Изначально планировалось фоновое изображение выгружать из NOR Flash сразу в LTDC. А подвижные и динамичные изображения в SDRAM. Внутренней флеши не хватает (все довольно забито). Знал бы я раньше об этой проблеме, описанной в Errata, поставил бы SD карточку и не парился. Но, увы. Насчет виджетов. А как, по Вашему, они строятся? Не из святого духа же, это же ведь картинки ("битмапы"), и они не слабо отнимают памяти, а тем более, что их нужно хранить в формате хорошего качества (кому нынче нравятся кнопочки без теней и альфа-канала? ;) ).
  21. STM32 SDRAM, NOR Flash

    По сути, как я понял, ты предлагаешь выделить небольшое место во внутренней SRAM микроконтроллера, и, "руками" разрешая/запрещая автоматическую регенерацию, переписать данные из NOR Flash в SDRAM и "забыть" о NOR Flash? :rolleyes:
  22. STM32 SDRAM, NOR Flash

    Добрый день! Наверняка многие из тех, кто "щупал" STM32F429, знают, что в этом контроллере STMicroelectronics допустила серьезную ошибку в аппаратной части модуля FMC - невозможно одновременно получить доступ к статической и динамической памяти без предварительного переключения последней в режим автоматической регенерации. Для программ, у которых четко однозначно распределено выделение и обращение к памяти во времени эта проблема не является существенной. Однако, в большинстве других приложений эта проблема - по сути катастрофа. Я разрабатываю графическое встраиваемое приложение, на плате установлена статическая NOR Flash память и SDRAM. Поскольку графических примитивов у меня довольно много, я разместил их в NOR Flash. SDRAM же у меня выполняет функцию графического буфера. Стандартная схема работы этого приложения - контроллер TFT-матрицы (LTDC) "прозрачно" (т. е. в неизвестно какой момент времени) для процессора через выделенный DMA (опять же, не видимый для программиста) отправляет пиксели на экран. Графический ускоритель DMA2D в это время копирует примитивные изображения в ту же SDRAM (в ту же экранную область). Получается несколько потоков претендуют на одну периферию, и тут контроллер FMC устанавливает арбитраж между DMA LTDC и DMA2D. Работает это, когда графические примитивы расположены во внутренней памяти микроконтроллера. Но стоит "натравить" DMA2D на источник NOR Flash, как все попадает в позицию Errata (нельзя достучаться до статической и динамической памяти одновременно), ведь по сути контроллер FMC должен "разрулить" следующие передачи: 1) SDRAM (экранный буфер) -> экран; 2) NOR Flash -> SDRAM (копирование графических примитивов). И как видно, как раз на втором пункте и будет "затык". При обращении к NOR Flash SDRAM не перейдет в режим автоматической регенерации, данные в ней станут некорректными. Казалось бы, можно "руками" передать команду автоматической регенерации SDRAM, прежде чем обращаться к NOR Flash, и выхода из нее, чтобы вновь обращаться к SDRAM, но ведь первый пункт (запросы DMA LTDC) работает асинхронно. Если ее и контролировать, на экране будут жуткие мерцания частей изображений (как раз "затыки" между обращениями к SDRAM и NOR Flash). Производитель исправил ошибку в 3 ревизии микроконтроллера. Но, пройдя по большинству интернет-магазинов электронных компонентов, никакой информации о ревизии нет (ну, наверное, в этом есть логика). В микроконтроллере STM32F446 эта проблема уже полностью исчезла, но тут другая проблема - этот микроконтроллер максимум в 100-выводном корпусе. А микроконтроллеров STM32F7-серии и подавно еще пока что нет в продаже. Кто сталкивался, как решали проблему?
  23. Приветствую форумчан! Купил твердотельное реле (управляющее напряжение 3-32В постоянного тока, выходное коммутируемое 48-440В 5А переменного тока). От 5В не запускаются, однако прошлый раз покупал реле на 2А 220В и оно открывалось себе спокойно. Это же открывается лишь от 7-10В. Реле с коммутацией при переходе через ноль, т.е. по идее при подаче управляющего напряжения оно замкнется лишь при переходе фазы через ноль. Вариации такого реле бывают с управляющим напряжением 3-32В, 4-16В и 90-280В. Вопрос. Неужели при маркировке моих реле случайно нанесли не ту бирку? Т.е. бирку сделали на 3-32В, а на самом деле реле на 4-16В? Или я как-то не так подключаю (думаю, подключаю верно, ведь реле на 2А включалось/выключалось от 3В даже)?
  24. Вопрос по DMA

    Как-то не задавался особо этим вопросом, но все же интересно. Вот DMA якобы работает независимо от процессора, и процессор может работать сам в свое удовольствие. Но при захвате контроллером DMA шины адреса и шины данных, о какой работе процессора может идти речь? Ведь ему в общем случае нужно ОЗУ для работы... А он отключился от этих шин, отдав их в распоряжение контроллеру DMA. Получается, что процессор стоит или выполняет какие-то операции простейшие, не требующие доступа к ОЗУ?
  25. silantis, благодарю за подробное объяснение, теперь буду изучать эту информацию :)
×
×
  • Создать...