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

azh

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

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

  • Посещение

Репутация

0 Обычный

Информация о azh

  • Звание
    Участник
    Участник
  • День рождения 30.10.1983

Контакты

  • Сайт
    Array
  1. Большое спасибо! Эта схема оказалась очень подходящей
  2. Спасибо! Вариант с 6N137 подходящий, но можно ли как-то подправить существующую схему с 4N35? Может быть дело не столько в оптроне, сколько в неправильной схеме?
  3. Здравствуйте! В лабораторной установке есть генератор, которым нужно управлять при помощи микроконтроллера. Для управления предполагается использовать прямоугольные импульсы 0-3.3 В с выхода таймера микроконтроллера. Между этим микроконтроллером и генератором включена оптическая развязка (схема показана на рисунке scheme_1.jpg). Генератор управляется прямоугольными импульсами 0-5 В. Схема, на рисунке, работает не совсем правильно, так как выходной сигнал (0-5 В) имеет не прямоугольную форму. Скажите, пожалуйста, как можно исправить эту схему, чтобы получить прямоугольный импульс 0-5 В? На рисунке БП - это блок питания 5 В. 4N35 - оптрон.
  4. Спасибо за предложенный вариант. В тестовой программе для видеокодека все хорошо работает, но в реальной программе процессор сильно нагружен другими задачами, поэтому не успевает во время обработать прерывание от DMA и на экране возникают редкие мерцания. Видимо вся проблема в излишней загруженности процессора, поэтому нужно попробовать оптимизировать выполнение других задач.
  5. Большое спасибо за пояснения. В этой схеме, как оказалось, для работы с видео сигналом таймеры TMR1 и TMR2 неиспользуются, но они заняты внешним АЦП. В руководстве для EZKIT, говорится, что "При стандартной конфигурации видеокодера и видеодекодера, подключение таймеров не является обязательным, так как процессор способен считывать управляющую информацию, которая содержится в потоке данных" (если конечно я правильно понял). Скажите, возможно ли, что помехи при смене цвета возникают, из-за того, что после остановки DMA и смены начального адреса, при повторном запуске DMA выводятся данные, которые остались в буфере DMA с предыдущей передачи? И если это так, то можно ли это исправить?
  6. Здравствуйте! Есть система (на EZKIT ADSP-BF533 Lite) для которой нужно выводить на экран телевизора (NTSC) два цвета - зеленый и красный, в зависимости от уровня на датчике (лог.0 - красный, лог.1 - зеленый). Сигнал на датчике изменяется случайным образом и частота опроса датчика 10 Гц. Сейчас применяется такая схема: 1) инициализируются две области в SDRAM: страница с красным цветом (начальный адрес 0x00000000) и страница с зеленым цветом (начальный адрес 0x00100000). Здесь под страницей имеется в виду данные, которые нужно подать на видеокодер ADV7171, чтобы получить на экране нужный цвет. 2) когда на выходе датчика изменяется уровень, то происходит смена цвета на экране. Это происходит следующим образом: например, смена смена лог. 1 на лог. 0 (смена зеленого цвета на красный): - останавливается вывод (PPI_CONTROL = 0, DMA0_CONFIG = 0) - изменяется начальный адрес (с DMA0_START_ADDR = 0x00100000 на DMA0_START_ADDR = 0x00000000) - возобновляется вывод (DMA0_CONFIG = AUTOBUFFER_MODE | DI_EN | DMA_2D | DMAEN, PPI_CONTROL = PPI_DIR). В этой схеме есть такой недостаток: когда происходит частая смена лог. уровня на датчике, то на экране появляются помехи в момент смены цвета (черные полосы). Возможно ли как-нибудь это исправить? Возможно ли организовать более эффективную схему при помощи режима массива дескрипторов (вместо режима автобуфферизации)? Заранее благодарен
  7. Большое спасибо за разъяснения! Действительно, мне сначала следовало разобраться для чего нужны кольцевые буфферы
  8. На самом деле, сдвиг всех элементов массива это только часть задачи (извиняюсь, что не сказал об этом сразу). Вся задача выглядит так: 1. Добавить очередной отчет с АЦП в буффер (на место первого элемента буффера, при этом все остальные элементы сдвинуть на 1, и последний "вытолкнуть" из буффера) 2. Посчитать ДПФ для этого буффера Относительно оптимизации, почему-то время выполнения остается тем же самым (+0.01%), даже если использовать функцию circptr() и включить оптимизацию.
  9. Спасибо за ответы! В help к VDSP++ написано, что можно использовать функцию circindex(), чтобы компилятор "сказал", что этот массив нужно поместить в кольцевой буффер, но как выяснилось такой код работает в почти в 1,5 раза медленнее, чем представленный ранее. С чем это может быть связано? Ниже приведен код с функцией circindex(). -------------------------------------------------- void AddSampleA(short pBuffer[], short sValue, int nSize) { int i; short nIndex = 0; for (i = 0; i < nSize; i++) { pBuffer[nSize - nIndex] = pBuffer[nSize - nIndex - 1]; nIndex = circindex(nIndex, 1, FFT_SIZE); } pBuffer[0] = sValue; } --------------------------------------------------
  10. Здравствуйте! Кто-нибудь знает как можно оптимизировать сдвиг элементов массива на 1 (для Blackfin): ------------------------------------------------------------------- void AddSample(short pBuffer[], short sValue, int nSize) { int i; for (i = 1; i < nSize; i++) { pBuffer[nSize - i] = pBuffer[nSize - i - 1]; } pBuffer[0] = sValue; } -------------------------------------------------------------------- Как-нибудь можно для этого использовать кольцевые буфферы или DMA память-память?
  11. Большое спасибо! Да, плохо посмотрел datasheet, просто увидел там подходящее пороговое напряжение, но не обратил внимание на напряжение сток-исток.
  12. Здравствуйте! Есть рабочая схема, где в качестве ключа используется 2SK2724. В этой схеме напряжение между Source и Drain 5 В (ток 200мА), а на управляющий вывод Gain подаются прямоугольные импульсы 3.3 В. Нужно было повторить эту схему, но так как 2SK2724 не было, поэтому я использовал 2SK2713. В настоящее время схема не работает, как Вы считаете может ли это быть связано с такой заменой? Заранее благодарен
  13. Здравствуйте! Как можно сгенерировать синусоидальный сигнал 1 кГц, при помощи DAC в аудиокодеке AD1836A (находится на EZLITE-BF533). Сейчас используется такой алгоритм: 1. Генерируется прерывание от таймера с частотой 1 кГц 2. При каждом прерывании от таймера, в DAC (в режиме I2S) передается отсчет синусоиды по SPORT (не DMA) но такой алгоритм не работает (не слышно никаких звуков). Если прерывания от таймера генерировать с частотой не ниже 50 кГЦ ... 100 кГц, то появляются какие-то звуки
  14. Спасибо за совет! Сейчас посмотрел фотосенсор HSDL-9000, кажется он как раз подойдет.
×
×
  • Создать...