Jump to content

Recommended Posts

так задано производителем.

А сам таймер от чего работать будет? А как его сконфигурировать если отсутствуют такты у ядра и оно не способно выполнить ни одной команды по этой причине?

Зачем таймер использовать если можно выбрать режим внешнего RC-генератора, способного работать от внешних резистора с конденсатором.

Share this post


Link to post
Share on other sites
Guest

Почему в некоторых МК есть внутренний осциллятор, а в некоторых он отсутствует? Можно ли запустить МК как бы на виртуальном внутреннем осцилляторе, например, с помощью периферийного таймера?

вот блок-схема гипотетического МК. В разных моделях может быть по-разному. Но идея остаётся схожей

Share this post


Link to post
Share on other sites

Но эта схема не отвечает на вопрос почему в некоторых внутренний осциллятор отсутствует.

Вероятно потому что разработчик микроконтроллера не считает что контроллер будет использоваться с нестабильными частотозадающими цепями.

А в некоторых контроллерах делают финт с "таймером" - частоту ядра можно поделить на 2-4-...-256 и выбрать этот коэффициент программно прямо на лету.

Share this post


Link to post
Share on other sites

Литиевые батарейки Fanso для систем телеметрии и дистанционного контроля

Системы телеметрии находят все более широкое применение во многих отраслях на промышленных и коммунальных объектах. Требования, предъявляемые к условиям эксплуатации приборов телеметрии и, как следствие, источников питания для них, могут быть довольно жесткими. Fanso предоставляет широкую линейку продукции, рассчитанной на различные условия эксплуатации, что позволяет подобрать батарейку для каждого конкретного применения, в том числе и для устройств телеметрии.

Подробнее

Guest

обычно это делают по нескольким причинам:

- если в МК есть АЦП или ЦАП, то с вероятностью в 99% вам надо точно снимать с них данные. Это гарантирует только внешний "кварц"

- и когда точный компаратор в МК

- для удешевления

Share this post


Link to post
Share on other sites

Точность частоты осциллятора на точность работы АЦП , ЦАП и компаратора не влияет . Для них главное - точность опорного напряжения . Неоднократно проверено с PIC12F675 , PIC16F676 , PIC16F819 , PIC16F73 , PIC18F2550 . При этом пробовал и с внутренними генераторами (где имелись) и с разными внешними кварцами ! Во всех случаях точность преобразования была одинаковая , а скорость работы контроллера менялась .

Share this post


Link to post
Share on other sites
                     

Приглашаем на вебинар Решения для построения ультразвуковых счетчиков жидкостей и газов на базе MSP430

Компэл совместно с Texas Instruments 23 октября 2019 приглашают на вебинар, посвященный системам-на-кристалле для построения ультразвуковых расходомеров жидкостей и газов на базе ядра MSP430. Вебинар проводит Йоханн Ципперер – эксперт по ультразвуковым технологиям, непосредственно участвовавший в создании данного решения. На вебинаре компания Texas Instruments представит однокристальное решение, позволяющее создавать точные недорогие счетчики жидкостей и газов.

Подробнее...

Имелось в виду точность временных интервалов. Редко когда нужны "просто измерения", чаще нужны измерения с частотой ровно 1кГц+-0.2% и т.п. или зафиксировать момент срабатывания компаратора с точностью до 1мкс. Без кварца сделать это будет затруднительно. Хотя раньше и часы без кварцев делали...

Share this post


Link to post
Share on other sites
Guest

Точность частоты осциллятора на точность работы АЦП , ЦАП и компаратора не влияет

Вы неверно меня поняли

Имелось в виду точность временных интервалов. Редко когда нужны "просто измерения", чаще нужны измерения ... +-0.2% и т.п. или зафиксировать момент срабатывания компаратора с точностью до 1мкс. Без кварца сделать это будет затруднительно.

Да, это и имел в виду

Share this post


Link to post
Share on other sites

Имелось в виду точность временных интервалов. Редко когда нужны "просто измерения", чаще нужны измерения ... +-0.2% и т.п. или зафиксировать момент срабатывания компаратора с точностью до 1мкс. Без кварца сделать это будет затруднительно.

Да, это и имел в виду

Из этого не следует ненужность встроенного генератора. Тем более, что внутренние генераторы все равно всегда есть (например генератор вачдога). И вообще, универсальные МК, не имеющие той или иной фичи, как правило проигрывают своим конкурентам.

Если генератор в конкретном применении не нужен, то его просто не включают...

ЗЫ. Следуя логике оппонента, и кварцевый генератор, схема которого встроена в МК, тоже не нужен - гораздо лучше в смысле стабильности применять внешний термостатированный кварцевый генератор.

Однако есть бесконечное множество применений, когда стабильность квантования для АЦП не имеет никакого значения и не оказывает на точность преобразования никакого влияния.

Share this post


Link to post
Share on other sites

Вопрос по AT89C51ED2

Везде пишут, что частота тактирования до 60 MHz!

А как насчет производительности? Например, с той же атмегой на частоте 16MHz?

Share this post


Link to post
Share on other sites

Начал читать книгу , Вводный курс AVR, Мортон. Но не могу понять в чем ошибка, там по ответам сверяю все также, только я мегу16 использую...

Начало программы B и C:

2e2591d7fbb6.jpg

Share this post


Link to post
Share on other sites

Мда... :) Спасибо

Не могу еще понять, в чем отличие например регистров: PortD, DDRD и PinD?

Edited by Страж

Share this post


Link to post
Share on other sites

в DDRx выставляется направление выводов (0 - на вход, 1 - на выход), если DDRx == 0 то PORTx управляет подтягивающим резистором (0 - отключен, 1 - подтяжка к +), если DDRx == 1 то PORTx - выдаваемый логический уровень. Из PINx можно только читать текущее состояние порта. Очевидно это имеет смысл только при DDRx == 0.

Share this post


Link to post
Share on other sites

Ясно, а что дает подтяжка? Там например через подтяжку подключили кнопку, но что она дает я не понял...

Share this post


Link to post
Share on other sites

но что она дает я не понял...

Даёт высокий уровень на порту при разомкнутых контактах кнопки

Share this post


Link to post
Share on other sites

в общем я собрался научится юзать МК. решил начать с готового проекта. вот он. встал вопрос: каким программатором прошить этот контроллер?

Share this post


Link to post
Share on other sites

Если есть LTP порт то можно использовать прогромматор Громова. http://easyelectroni...ogrammator.html (5 проводков)

Если нет LTP то можно использовать вот этот USB прогромматор http://easyelectronics.ru/skorostnoj-avr-usb-programmator-na-ft232rl-bez-vspomogatelnogo-kontrollera.html

Edited by 22580

Share this post


Link to post
Share on other sites

Подскажите пожалуйста чем отличается Automotive Quality Grade от Industrial Quality Grade по мимо температуры?

Share this post


Link to post
Share on other sites

Всем привет, возник вопрос по командам. Учусь по книге Мортона Микроконтроллеры AVR. Вводный курс. Программа В. есть команда sbic и есть команда sbis. sbic пропускает последующую команду если бит сброшен, команда sbis пропускает если бит выставлен, но в программе бит выставлен означает что на вход подано напряжение НИЗКОГО уровня. Низкий уровень напряжения это я так понимаю 0? Тогда сброшенный бит и напряжение низкого уровня не одно и то же?оО Может объясним мне кто-то, что-то я недопонимаю.

Share this post


Link to post
Share on other sites

Ты просто путаешь теплое с мягким. "0" - это НОЛЬ ВОЛЬТ, "1" - это >2.4В

А в программе уже может подразумеваться как угодно, может быть удобней было полагать что "0" - это активный уровень, поскольку на ноль частенько проще проверять и реализовывать в железе.

Share this post


Link to post
Share on other sites

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Similar Content

    • By Anton Bondarenko
      Всем привет
      Прошу не ругать, впервые подобный вопрос задаю.
      Хочу сделать прибор, который будет посылать сигнал, когда возле прибора будет проходить металлический предмет. 
      — угол отслеживания до 30° а лучше прямая линия, траектория
      — время реакции очень высокое до 100 мс
      — ширина проема в котором нужно сканировать от 10 до 20метров,
      — передача сигнала через вифи
      Может есть готовые решения, или отдельные компоненты.
      Подскажите пжл в каком направлении искать.
      Смотрел датчики движения, но главная проблема — время реакции.
      Спасибо
       
    • By Sofia Vin
      Предлагаем проектную работу в Москве:
      Микроконтроллер STM32F103.
        
      Есть встроенный код с использованием функций библиотеки FreeRTOS, код имеет описанный протокол для связи с внешним миром.
        
      Необходимо проводить доработку кода под задачи программиста верхнего уровня и его тестирование в составе оборудования. 
      Работа в лаборатории (м.Университет) и удаленно. 
      Оплата по договоренности.
      Если Вы обладаете опытом схемотехнического проектирования и программирования микроконтроллеров, и Вас заинтересовала данная возможность, ждем Ваши отклики по контактным данным:
      8 (925) 023-60-02   Алексей
      E-mail: nassa@marathon.ru
       
    • By Антон Плюшкин
      В общем есть небольшая тривиальная задача - сделать свитюльку. Контроллер управляет светодиодиками, цвета меняются, людишки довольны.
      Схема проста: Attiny44a -> 2n3904 x3 -> RGB-светодиод.
      Собрал, протестил, всё норм, но!
      Как только в коде я использую функцию задержки - _delay_ms (util/delay.h) - контроллер повисает!
      #define F_CPU 16000000UL #include <avr/io.h> #include <util/delay.h> int main(void) { // Input/Output Ports initialization // Port A initialization // Function: Bit7=Out Bit6=Out Bit5=In Bit4=In Bit3=In Bit2=In Bit1=In Bit0=In DDRA=(1<<DDA7) | (1<<DDA6) | (0<<DDA5) | (0<<DDA4) | (0<<DDA3) | (0<<DDA2) | (0<<DDA1) | (0<<DDA0); // State: Bit7=0 Bit6=0 Bit5=T Bit4=T Bit3=T Bit2=T Bit1=T Bit0=T PORTA=(0<<PORTA7) | (0<<PORTA6) | (0<<PORTA5) | (0<<PORTA4) | (0<<PORTA3) | (0<<PORTA2) | (0<<PORTA1) | (0<<PORTA0); // Port B initialization // Function: Bit3=In Bit2=Out Bit1=In Bit0=In DDRB=(0<<DDB3) | (1<<DDB2) | (0<<DDB1) | (0<<DDB0); // State: Bit3=T Bit2=0 Bit1=T Bit0=T PORTB=(0<<PORTB3) | (0<<PORTB2) | (0<<PORTB1) | (0<<PORTB0); // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Phase correct PWM top=0xFF // OC0A output: Non-Inverted PWM // OC0B output: Non-Inverted PWM // Timer Period: 0,031875 ms // Output Pulse(s): // OC0A Period: 0,031875 ms Width: 0 us // OC0B Period: 0,031875 ms Width: 0 us TCCR0A=(1<<COM0A1) | (0<<COM0A0) | (1<<COM0B1) | (0<<COM0B0) | (0<<WGM01) | (1<<WGM00); TCCR0B=(0<<WGM02) | (0<<CS02) | (0<<CS01) | (1<<CS00); TCNT0=0x00; OCR0A=0x00; OCR0B=0x00; // Timer/Counter 1 initialization // Clock source: System Clock // Clock value: 16000,000 kHz // Mode: Ph. correct PWM top=0x00FF // OC1A output: Non-Inverted PWM // OC1B output: Disconnected // Noise Canceler: Off // Input Capture on Falling Edge // Timer Period: 0,031875 ms // Output Pulse(s): // OC1A Period: 0,031875 ms Width: 0 us // Timer1 Overflow Interrupt: Off // Input Capture Interrupt: Off // Compare A Match Interrupt: Off // Compare B Match Interrupt: Off TCCR1A=(1<<COM1A1) | (0<<COM1A0) | (0<<COM1B1) | (0<<COM1B0) | (0<<WGM11) | (1<<WGM10); TCCR1B=(0<<ICNC1) | (0<<ICES1) | (0<<WGM13) | (0<<WGM12) | (0<<CS12) | (0<<CS11) | (1<<CS10); TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; // Timer/Counter 0 Interrupt(s) initialization TIMSK0=(0<<OCIE0B) | (0<<OCIE0A) | (0<<TOIE0); // Timer/Counter 1 Interrupt(s) initialization TIMSK1=(0<<ICIE1) | (0<<OCIE1B) | (0<<OCIE1A) | (0<<TOIE1); // External Interrupt(s) initialization // INT0: Off // Interrupt on any change on pins PCINT0-7: Off // Interrupt on any change on pins PCINT8-11: Off MCUCR=(0<<ISC01) | (0<<ISC00); GIMSK=(0<<INT0) | (0<<PCIE1) | (0<<PCIE0); // USI initialization // Mode: Disabled // Clock source: Register & Counter=no clk. // USI Counter Overflow Interrupt: Off USICR=(0<<USISIE) | (0<<USIOIE) | (0<<USIWM1) | (0<<USIWM0) | (0<<USICS1) | (0<<USICS0) | (0<<USICLK) | (0<<USITC); // Analog Comparator initialization // Analog Comparator: Off // The Analog Comparator's positive input is // connected to the AIN0 pin // The Analog Comparator's negative input is // connected to the AIN1 pin ACSR=(1<<ACD) | (0<<ACBG) | (0<<ACO) | (0<<ACI) | (0<<ACIE) | (0<<ACIC) | (0<<ACIS1) | (0<<ACIS0); ADCSRB=(0<<ACME); // Digital input buffer on AIN0: On // Digital input buffer on AIN1: On DIDR0=(0<<ADC1D) | (0<<ADC2D); // ADC initialization // ADC disabled ADCSRA=(0<<ADEN) | (0<<ADSC) | (0<<ADATE) | (0<<ADIF) | (0<<ADIE) | (0<<ADPS2) | (0<<ADPS1) | (0<<ADPS0); unsigned char VL_OCR0A = 0, VL_OCR0B = 0, VL_OCR1A = 0; OCR0A = 0; OCR0B = 0; OCR1A = 0; while(1) { _delay_ms( 100 ); VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } } Т.е. если указать задержку в начале цикла, то светодиод не светится вообще.
      Если задержку убрать - светодиод немного подсвечивает всеми цветами.
      while(1) { _delay_ms( 100 ); // <--- ЗАДЕРЖКА --- VL_OCR0A = VL_OCR0A + 1; VL_OCR0B = VL_OCR0B + 1; VL_OCR1A = VL_OCR1A + 1; if( VL_OCR0A >= 250 ){ VL_OCR0A = 0; } if( VL_OCR0B >= 250 ){ VL_OCR0B = 0; } if( VL_OCR1A >= 250 ){ VL_OCR1A = 0; } OCR0A = VL_OCR0A; OCR0B = VL_OCR0B; OCR1A = VL_OCR1A; } Где я накосячил?
      З.Ы.: Замечаний по поводу оптимизации кода, излишних переменных и п.р. прошу не писать - изощряюсь как могу ибо не пойму почему не работает
    • Guest Денис
      By Guest Денис
      В общем, есть такое чудо китайской техники (фото)
      Что оно может:
      1. Заряжаться через microUSB порт
      2. Кнопка вкл/выкл, она же переключает режимы
      3. 3 режима свечения светодиода (он светит разными цветами)
      Что я хочу сделать:
      1. Пункты 1 и 2 выше
      2. Разнообразить количество режимов, переливание статичный цвет и тд...
      Вопрос: как это сделать? что купить?

      P.S. К сожалению, в гугле не нашел подробной инструкции, а я в электронике я дуб дубом


    • By Reptile
      Доброго времени суток. Пытаюсь восстановить работоспособность колонок Top Device TDE 261/2.1. Колонки не раз ремонтировалась по части УНЧ, при очередном ремонте по ошибке (одинаковые разъемы) с трансформатора было подано переменное питающее напряжение на входы (разъем AUX/MP3) аудиопроцессора PT2313L  (3,10,14 ноги - AGND, R_IN2 L_IN2). В результате чего выгорел сам аудиопроцессор PT2313L. PT2313L был заменен. Но колонка по прежнему не запускается. Как я понял, не запускается сам PT2313L, на его аудиовыходах (ноги 24, 25) сигнала нет. Передняя панель работает: индикация, кнопки, енкодер. Имеется подозрение, что вместе с процессором выгорели линии DATA и/или CLK на MCU, так как MCU и PT2313L соединены по этим линиям напрямую друг с другом. В МК и всей этой цифровой штуке не очень шарю, не знаю, как грамотно проверить работоспособность этой цифровой части, поэтому прошу помощи - Возможно ли какими-либо способами восстановить колонку или уже всё... 
      Из приборов, к сожалению, только мультиметр, осциллограф отсутствует.
      Ниже немного измерений.
      Напряжения на линиях: STD-BY-ждущий режим (в скобках рабочий режим):
      DATA - 2.31В (1.9В).
      CLK - 0.125В (0.135В).
      Сопротивление между выводами:
      CLK_MCU-DATA_MCU - 47 Ом. 
      CLK_MCU/DATA_MCU-GND - около 0.22 Ом и там и там. Звонится в обе стороны.
      Питание MCU 5В, (4.6В STD-BY-ждущий режим, 4.0В рабочий режим и со временем также почему-то может падать до 3.6В)
      MCU - не известен, нет маркировки. 18 Выводов, DIP.
      Ноги MCU, которые удалось опознать:
      1 - DATA
      18 - CLK
      3 - GND (?)
      5 - GND (?)
      ? - они соединены вместе
      14 - VCC
      17 - not used (n/a)
      15, 16 - OSC
      ET6202 - управление индикатором, Control LED drive circuit
      Фото плат (под сполером) и даташиты прилагаются.
      Схемы данных колонок не имеется. Все что удалось найти это схема чуть более старшей модели TDE280/2.1, с данными колонками она мало что общего имеет, лишь общий принцип, узлы довольно сильно отличаются, но прикреплю на всякий, для общей информации.
      PT2313L
      ET6202
      TDE280
       
  • Сообщения

    • - Вы когда нибудь видели детектор лжи? - Да я на нём женат!   Величайшим изобретением человечества по ремонту техники до сих пор считается кувалда. Только размахнешься - техника сразу начинает работать.
    • Не стоит вымещать свою злость беспричинно на других. Карма она такое знаете, возвращается. Понятно, что вы по нескольким темам лазаете, но я то тут причем. В теме это обсуждалось уже. Вы же и советовали, ваше же сообщение и процитировано ровно 1PgUp ранее. Классический форум на русском, собственно чего я удивляюсь  Так и скажите не знаю. Ладно, спасибо.
    • Спасибо, буду иметь ввиду.
    • Все новое-это хорошо забытое старое.  
    • Да много причин... Чтобы самому поразвлечься... Чтобы вы могли вспомнить молодость,  в частности те её счастливые времена,  когда вас дрючили за использование штангеля в качестве ключа... Чтобы кто-то  смог запостить фотку заводского стенда с  ужасными самопальными инструментами, или фотку нарезанной колбасы со штангелем... чтобы Суханов, не долго думая,  мог сходу написать угрозу пригвоздить меня ржавыми гвоздями с позорному столбу, а не искал бы по форуму подходящие посты, куда можно было бы хоть что-то запостить...Чтобы у народа  появился информациоонный повод для активности в теме... Чтобы тема жила... И.т.п.... Как не глупый человек вы должны были бы догадаться.
    • А куда он ставится?) В схеме нет, только конденсатор   Я даже в даташит смотрел, там нет его Могу предположить что параллельно конденсатору нужно резистор? поставил на 470кОм, проверяю
  • Покупай!

×
×
  • Create New...