• Объявления

    • admin

      Просьба всем принять участие!   24.11.2017

      На форуме разыгрывается спектроанализатор Arinst SSA-TG LC (цена 18500 руб). Просьба всем перейти по ссылке ниже и принять участие!

7tudent

Members
  • Публикации

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

  • Посещение

Репутация

1 Обычный

О 7tudent

  • Звание
    Новенький

Электроника

  • Стаж в электронике
    1-2 года
  1. Старт AD1852

    На фото, на втором канале осциллографа и есть сигнал MUTE. И реакции на него никакой нет. Ресет надо держать всего 64 периода, у меня это выдерживается.
  2. Старт AD1852

    Добрый день! Столкнулся с такой проблемой: после запуска AD1852, некоторое время (судя по всему время групповой задержки) ЦАП выдает какой то мусор. Это если ее запускать после сброса питания. А если перезапускать, то в самом начале появляются фрагменты сигнала, который передавался ранее. Может я как то не так начинаю передачу данных? Пытался использовать MUTE - не помогло. На фото - передаваемый сигнал и уровень сигнала MUTE. После снятия сигнала RESET - сразу появляется мусор на выходе, независимо от уровня MUTE. На ЦАП подаю 128 нулей, а потом синусоиду. Сигнал RESET устанавливаю сразу после передачи первого нуля в ЦАП.
  3. Добрый день! Подскажите пожалуйста, как будет вести себя ЦАП при отключенном аналоговом питании и включенном цифровом? Конкретно имею ввиду AD1852, в даташите на эту тему информации нет, но есть мнение, что ЦАП может сгореть или работать неправильно.
  4. Добрый день! Столкнулся с такой проблемой: рассчитал в матлаб режекторный фильтр с одинарной точностью, реализую его на STM32F429 и как то получается, что выходной результат зашкаливает. На вход фильтра подаю случайное число с наложенной на него маской 0xFFFFFF (RND&0xFFFFFF), на выходе надеюсь получить тоже 24 бита, так как ЦАП у меня 24-битный. В реальности на выходе получается белый шум. Если на вход накладывать маску 0x3FFFFF, то получается нормальная характеристика. Или с тем же успехом можно сдвигать результат на 2 бита. Объясните пожалуйста, почему так происходит? Реализую вот так: struct { float a0; float a1; float a2; float b1; float b2; int k; int k1; int k2; float X[4]; float Y[4]; int Y1; } NotchedFilter; в прерывании I2S //выдаю данные hsai_BlockA1.Instance->DR = noise.NotchedFilter.Y1; hsai_BlockA1.Instance->DR = noise.NotchedFilter.Y1; //считаю следующий отсчет // noise.NotchedFilter.Y[noise.NotchedFilter.k] = noise.NotchedFilter.a2*noise.NotchedFilter.X[noise.NotchedFilter.k2] + // noise.NotchedFilter.a1*noise.NotchedFilter.X[noise.NotchedFilter.k1] + noise.NotchedFilter.a0*noise.NotchedFilter.X[noise.NotchedFilter.k] - // noise.NotchedFilter.b1*noise.NotchedFilter.Y[noise.NotchedFilter.k1] - noise.NotchedFilter.b2*noise.NotchedFilter.Y[noise.NotchedFilter.k2]; noise.NotchedFilter.Y[noise.NotchedFilter.k] = noise.NotchedFilter.a2*(noise.NotchedFilter.X[noise.NotchedFilter.k2] + noise.NotchedFilter.X[noise.NotchedFilter.k]) + noise.NotchedFilter.a1*(noise.NotchedFilter.X[noise.NotchedFilter.k1] - noise.NotchedFilter.Y[noise.NotchedFilter.k1]) - noise.NotchedFilter.b2*noise.NotchedFilter.Y[noise.NotchedFilter.k2]; noise.NotchedFilter.Y1 = noise.NotchedFilter.Y[noise.NotchedFilter.k];//оптимизировал а0=а2, а1=b1 noise.NotchedFilter.k = (noise.NotchedFilter.k + 1)&BUFFMASK; noise.NotchedFilter.k1 = (noise.NotchedFilter.k - 1)&BUFFMASK;//посчитали индекс Xk-1 noise.NotchedFilter.k2 = (noise.NotchedFilter.k - 2)&BUFFMASK;//посчитали индекс Xk-2
  5. Отрицательный Диапазон Цап

    Спасибо! У AD1852 тоже самое написано на первой странице
  6. Отрицательный Диапазон Цап

    AD1852 и CS4344 http://www.analog.com/media/en/technical-documentation/data-sheets/AD1852.pdf https://www.cirrus.com/cn/pubs/proDatasheet/CS4344-45-48_F2.pdf
  7. Tl431 В Импульсном Бп

    Обратная связь. Если напряжение на выходе превысит 5 вольт, приоткроется TL431, светодиод оптопары загорится, приоткроет транзистор оптопары. На входе COMP повысится напряжение, уменьшится ширина импульса, в результате выходное напряжение уменьшится до 5 вольт.
  8. Добрый день! Никак не могу понять, как кодируется отрицательные значения аудио ЦАП (AD1851, CS4344). Я имею в виду, если подать на данные ЦАП код 0x000000, то на выходе будет 0 вольт, если подать 0x0000FF, то на выходе будет некое напряжение, больше нуля. А что какой код надо подать, чтобы получить отрицательное напряжение??? И главное, как это описано в даташите, я ни слова про это не нашел.
  9. C8051F320 С Нуля

    http://onembedding.bialix.com/tools/keil/articles/loop_256.htm так что вставлять 7 циклов?
  10. C8051F320 С Нуля

    Кейл может и не работает, но лог. анализатор должен правильно показывать асм код какой то выдается: 3: int main (void) 4: { 5: int aq=3,i; C:0x0800 7F03 MOV R7,#0x03 C:0x0802 7E00 MOV R6,#0x00 6: P2SKIP=16; C:0x0804 75D610 MOV P2SKIP(0xD6),#0x10 7: while (1){ 8: testbit=0; C:0x0807 C2A4 CLR testbit(0xA0.4) 9: for (i=0;i<=255;i++){ C:0x0809 E4 CLR A C:0x080A FD MOV R5,A C:0x080B FC MOV R4,A 10: aq++; C:0x080C 0F INC R7 C:0x080D BF0001 CJNE R7,#0x00,C:0811 C:0x0810 0E INC R6 11: aq--;} C:0x0811 EF MOV A,R7 C:0x0812 1F DEC R7 C:0x0813 7001 JNZ C:0816 C:0x0815 1E DEC R6 C:0x0816 0D INC R5 C:0x0817 BD0001 CJNE R5,#0x00,C:081B C:0x081A 0C INC R4 C:0x081B E4 CLR A C:0x081C B505ED CJNE A,0x05,C:080C C:0x081F EC MOV A,R4 C:0x0820 B401E9 CJNE A,#0x01,C:080C 12: testbit=1; C:0x0823 D2A4 SETB testbit(0xA0.4) 13: for (i=0;i<=255;i++){ C:0x0825 E4 CLR A C:0x0826 FC MOV R4,A C:0x0827 FD MOV R5,A C:0x0828 D3 SETB C C:0x0829 ED MOV A,R5 C:0x082A 94FF SUBB A,#VDM0CN(0xFF) C:0x082C EC MOV A,R4 C:0x082D 6480 XRL A,#P0(0x80) C:0x082F 9480 SUBB A,#P0(0x80) C:0x0831 50D4 JNC C:0807 14: aq++; C:0x0833 0F INC R7 C:0x0834 BF0001 CJNE R7,#0x00,C:0838 C:0x0837 0E INC R6 15: aq--;}} C:0x0838 EF MOV A,R7 C:0x0839 1F DEC R7 C:0x083A 7001 JNZ C:083D C:0x083C 1E DEC R6 C:0x083D 0D INC R5 C:0x083E BD0001 CJNE R5,#0x00,C:0842 C:0x0841 0C INC R4 C:0x0842 80E4 SJMP C:0828 C:0x0844 787F MOV R0,#0x7F C:0x0846 E4 CLR A C:0x0847 F6 MOV @R0,A C:0x0848 D8FD DJNZ R0,C:0847 C:0x084A 758107 MOV SP(0x81),#0x07 C:0x084D 020800 LJMP main(C:0800)
  11. C8051F320 С Нуля

    в Кейле есть логический анализатор, если ему верить, то переменная testbit в "1" находится 2 мс, в "0" 1 мс, период получается 3 мс, частота 333 Гц, хм это много. чтобы различать мигания частота меньше 50 должна быть вроде...значит вместо 2х циклов надо вставить 7 ?
  12. C8051F320 С Нуля

    никак, но во время симуляции (вставил еще задержку как Вы советовали) в Кейле порт Р2.4 мигает нормально
  13. C8051F320 С Нуля

    а как ее посчитать по времени? если брать 12 Мгц и выполнение команды за 1 такт - совсем мало получается
  14. C8051F320 С Нуля

    Здравствуйте! Есть плата, которая когда то якобы работала (надеюсь и сейчас). железо прозвонил, все вроде как на схеме. USB подключать не буду пока, поэтому светодиод перепаяю к Vdd впервые столкнулся с железом, боюсь что нибудь сжечь, плата большого доверия не вызывает ввиду своей ветхости, поэтому прошу проверить схему. все ли так припаяно. чтобы проверить работоспособность платы написал вот это #include <c8051f320.h> sbit testbit=P2^4; int main (void) { int aq=3,i; while (1){ testbit=0; for (i=0;i<=255;i++){ aq++; aq--;} testbit=1;} return 0; } по умолчанию я так понимаю тактирование идет от внутреннего генератора 12 МГц? линии Р2.4-Р2.7 тоже вроде не надо даже матрицу включать. поэтому ничего инициализировать не стал настраивать таймер тоже пока не буду, поэтому задержку времени сделал в виде цикла. к Р2.4 припаян светодиод, который по идее должен мигать, но будет ли? C8051F32x-rus.pdf
  15. Разностные Уравнения На Lpc2148

    задержка - составляющая объекта управления, а в регуляторе есть цифровая модель ОУ, вместе с задержкой. Другой вопрос, что я реализовал ее кривовато, потому что мало пишу на си. Как еще можно сделать задержку в 20 секунд без таймера?