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

    

James D.

Участник
  • Публикаций

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

  • Посещение

Репутация

0 Обычный

Информация о James D.

  • Звание
    Местный
  • День рождения 29.03.1977

Контакты

  • Сайт
    http://
  • ICQ
    0

Посетители профиля

994 просмотра профиля
  1. T/C1 (ATmega16) по-разному считает

    Счетчик использую - он выдает "1" на PD5 в конце своего счета. Конечно, будет работать не в таком бесконечном цикле, это просто для проверки. AVRStudio 4.06 врет в отношении этой программки - в нем работает, а в железе - нет. Пробовал я AVR Studio 5.1, Atmel Studio 6.2 и Atmel Studio 7.0 (какие же они тяжелые в работе), заметил, что в них как-то странно этот пин PD5 себя ведет - практически всегда выдает лог. "1" и только на короткое время выдает "0" (хотя в программе я сделал меандр). Так вот, в железе, схема ведет себя именно так. Теперь буду отлаживать в одной из этих новых студий.
  2. T/C1 (ATmega16) по-разному считает

    Заметил, что время, через которое срабатывает счетчик не гуляет бессистемно, а все время увеличивается от прогона к прогону. Сначала счетчик срабатывает через 499990.00 мкс, на следующем прогоне через 500012.50 мкс, потом через 500035.00 мкс и т.д. Дошло до 500214.50 мкс и следующая задержка уже была 499981.25 мкс и опять начала увеличиваться (500003.75 мкс ...). Все время увеличиваясь на одну и ту же величину - 22.5 мкс (90 тактов на 4 МГц). Тогда я добавил в цикл 90 пустых команд "nop", и счетчик стал срабатывать через одинаковое время - 500223.25 мкс. Но это же никуда не годится... Что это за 22.5 мкс такие? Вот полная моя программа:
  3. T/C1 (ATmega16) по-разному считает

    Я переписал временнУю задержку, чтоб удобнее было отслеживать появление "1" на 5 пине порта D. Сначала нужно обнулить Stop Watch в AVRStudio в момент, когда 5 пин очищается - после записи (0<<COM1A1)|(0<<COM1A0) в TCCR1A. Теперь достаточно поставить курсор на оператор "nop" и нажать Ctrl+F10. Stop Watch в AVRStudio показывает разное прошедшее время. ;Временная задержка (1.011491 сек) на 4 МГц Tim_dl: ldi r20,$15 ldi r21,$A9 ldi r22,$18 D_r_1x: sbic PIND,5 nop dec r22 brne D_r_1x ldi r22,$FF dec r21 brne D_r_1x ldi r21,$FF dec r20 brne D_r_1x
  4. T/C1 (ATmega16) по-разному считает

    Хорошо, я добавил в начале сброс предделителей, но ничего не изменилось.: Cycle: ldi r16,1<<PSR10 out SFIOR,r16 ldi r16,(1<<COM1A1)|(1<<COM1A0) out TCCR1A,r16 ldi r16,(1<<WGM12)|(1<<CS12)|(1<<CS10) ;Установить бит WGM12=1 (режим CTC). Предделитель CK/1024 (CS12=1, CS11=0, CS10=1) out TCCR1B,r16
  5. T/C1 (ATmega16) по-разному считает

    Не пойму, почему T/C1 по-разному считает в каждом прогоне. Здесь у меня бесконечный цикл. В начале T/C1 настраивается и запускается. 0.5 секунды он считает; после окончания счета выставляет "1" на 5 пине порта D. После проходит еще ~0.5 сек., T/C1 останавливается и обнуляется ("0" на 5 пине порта D). И по-новой. 0.5 сек - "0", 0.5 сек - "1". Но, почему-то, с момента, когда устанавливается TCCR1B и счетчик начинает считать, и до момента окончания счета, когда выставляется флаг OCF1A проходит разное время. 500195.00 мкс, 500156.50 мкс, 500030.50 мкс и т.д. (кварц на 4 МГц). AVRStudio 4.06. А если предделитель не использовать, то считает одинаково раз за разом. ldi r16,$07 ;$07A1 = 0.5 секунды out OCR1AH,r16 ldi temp,$A1 out OCR1AL,r16 ;*********************************** ;Разрешить Timer/Counter1 Cycle: ldi r16,(1<<COM1A1)|(1<<COM1A0) out TCCR1A,r16 ldi r16,(1<<WGM12)|(1<<CS12)|(1<<CS10) ;Установить бит WGM12=1 (режим CTC). Предделитель CK/1024 (CS12=1, CS11=0, CS10=1) out TCCR1B,r16 ;*********************************** ;Временная задержка (1.011491 сек) на 4 МГц Tim_dl: ldi r20,$15 ldi r21,$A9 ldi r22,$18 D_r_1x: dec r22 brne D_r_1x ldi r22,$FF dec r21 brne D_r_1x ldi r21,$FF dec r20 brne D_r_1x ;*********************************** ;Запретить и обнулить Timer/Counter1 ldi r16,(0<<WGM12)|(0<<CS12)|(0<<CS10) out TCCR1B,r16 ldi r16,(0<<COM1A1)|(0<<COM1A0) out TCCR1A,r16 clr r16 out TCNT1H,r16 out TCNT1L,r16 ldi r16,1<<OCF1A out TIFR,r16 ;*********************************** rjmp Cycle
  6. Да, потому что какой-то баран придумал раздельные земли сделать, а не одну общую...
  7. С этой 12 ножки AXP209 дорожка идет на конденсатор, и, если она идет на процессор уже от кондера, то можно ее перерезать... Но если сделан еще отвод непосредственно где-то под 12-й ногой AXP209, то это ничего не даст. Это фото платы (если интересно): https://yadi.sk/i/L2wI0QzituiK7
  8. Цитата(aaarrr @ Aug 23 2016, 13:49) Если ноль не низкий, то какой? Ну вот на УМЗЧ низкий уровень (звук откл) - 0.3 В, а высокий (звук вкл) - 3.25 В. А ноль - это ноль... Может быть обрыв, может мксх сгорела... ЦитатаЕсли есть возможность, попробуйте измерить потребление по выходу LDO2. А что даст знание текущего тока через этот вывод? Решение проблемы будет или просто любопытно? Я х.з. может и смогу измерить, но просто так это делать не хочу. Придется ногу отпаивать, приподнимать, провод к ней припаивать... Простым паяльником это непросто сделать.
  9. Цитата(aaarrr @ Aug 23 2016, 10:23) Если на EN низкий уровень, то не должно быть. На EN ноль. Это ж не низкий уровень. Только на IN есть напряжение, на остальных нет, это подозрительно. ЦитатаС большой вероятностью пострадала аналоговая часть процессора. В дежурном режиме CPU теплый. Не горячий, а немного теплый. То ли он продолжает работать, то ли через него тупо течет ток утечки...
  10. Случилась с моим планшетом неприятность - упала громкость одновременно на встроенных динамиках и на выходе на наушники. Звук есть, но очень тихий. Произошло это после того, как я запитал планшет от внешнего аккумулятора на 12В через адаптер 12В->5В (через USB), и подключил внешние колонки, запитанные от того же аккумулятора. Экран стал серым, начал мигать; звук хрипеть и свистеть. Я сразу же отсоединил все провода, выключил планшет и снова включил - вроде все нормально, планшет в целом работает, кроме звука и повышенного потребления энергии от батареи в ждущем (спящем) режиме - 160 мА. Планшет Onda Mid M1003H6_V1.4_111231. Микросхемы УМЗЧ - ft690M. По постоянному току, мультиметром, измерил напряжения на ножках ft690M (правый канал) относительно 7 ноги GND: 1 - 3.25 В 2 - 2.1 В 3 - 2.1 В 4 - 2.45 В 5 - 2.45 В 6 - 4.99 В 8 - 2.45 В Потом запустил на планшете программу звукового генератора, выставил 1 кГц, синус. Это на ножке 4 относительно земли: Это на динамике: Выпаял обе УМЗЧ. Сигнал с программы-генератора на самом планшете, 1 кГц. Вот что у них на входе (4-я нога, относительно земли), на обоих УМЗЧ одинаково (20 мВ): Сделал планшету хард ресет - не помогло, в дежурном (спящем) режиме продолжает потреблять 0.16 А. Проверил напряжения. Напряжения на микросхеме AXP209: "DCDC2" — в дежурном режиме: 1.02 В; в рабочем: 1.28 В; "DCDC3" — в дежурном режиме: 1.01 В; в рабочем: 1.27 В; "LDO1" — в дежурном режиме: 1.31 В; в рабочем: 1.31 В; "LDO2" — в дежурном режиме: 3.02 В; в рабочем: 3.02 В; "LDO3" — в дежурном режиме: 0 В; в рабочем: 0 В, вне зависимости от вкл/выкл Wi-Fi. Источник 1.5 В (DRAM-VCC 1V5) выдает в дежурном режиме: 1.62 В; в рабочем: 1.59 В. Источник 3.3 В (VCC-3V3) выдает в дежурном режиме: 3.28 В; в рабочем: 3.28 В. Источник 5.0 В (VCC-5V) выдает в дежурном режиме: 5.14 В; в рабочем: 5.14 В. Питание LCD (VLED+): в дежурном режиме: 4 В (напряжение батареи); в рабочем: 16 В. От сети заряжается нормально. По USB соединяется, можно копировать файлы, зарядку не проверял. Решил еще проверить SY6280 (USBVBUS) - на входе IN у нее 5.14 В и в дежурном и в рабочем режимах. А вот на выходе OUT у нее 0 В. На выводах EN и ISET тоже по нулям. Подумал, что в ней причина... Проверил сопротивление 1 ножки (OUT) на землю: 976 Ом. А сколько должно быть - непонятно. Выпаял ее - потребление в дежурном режиме осталось прежним 0.16 А. Должно ли на ее выходе быть напряжение? На "LDO1" AXP209 должно быть 3.3 В?
  11. Ну, значит, я все правильно считаю. Всем спасибо, вопрос решен.
  12. Цитата(wim @ Jan 7 2015, 16:42) В данном случае перемножать передаточные функции звеньев нельзя, потому что нагрузкой первого звена является входное сопротивление второго звена. Проще всего это промоделировать в LTSpice. Может и проще в ЛТС, но хотелось именно рассчитать. А потом промоделировать и проверить. И разве я перемножаю передаточные функции? Я перемножаю коэффициенты сглаживания: "Коэффициент сглаживания многозвенного фильтра определяется произведением коэффициентов сглаживания отдельных фильтров." (Королев Г.В. "Электронные устройства автоматики" 1991, с. 169).
  13. Куда все пропали? Хочется все-таки узнать - правильно я рассчитываю П-образный фильтр или нет? И про пульсации и коэффициент пульсаций тоже. А про п.3.3 Правил напоминать надо?