Принцип работы UART

  Рет қаралды 39,173

Flexo Alex

Flexo Alex

7 жыл бұрын

Теоретические основы принципа передачи данных по шине UART.

Пікірлер: 106
@mrBostoneSash
@mrBostoneSash 2 жыл бұрын
Сколько уже изучаю низкоуровневое программирование, впервые мне попадается настолько доходчивый, приятный и детальный урок. Большое Вам спасибо, было интересно и здорово!
@ivan17444
@ivan17444 Жыл бұрын
Творческий подход к материалу. Предельно ясно и доступно. Молодец.
@user-wt2yw8bm1t
@user-wt2yw8bm1t 3 ай бұрын
После такой информаций о UART.! Не сложно создать свое программное уарт!👍
@denkazakov4898
@denkazakov4898 4 жыл бұрын
когда человек на пальцах может объяснить сложные вещи, это значит, что он не просто ориентируется в теме, это значит что он может обучить этому других. этому нужно поучиться профессорам в универах.
@BWha1e_1337
@BWha1e_1337 2 жыл бұрын
Качественное объяснение, большое спасибо!
@ANDRII_FR
@ANDRII_FR Жыл бұрын
Красавчик Реально понимаешь свое нелегкое дело, я понял 80% инфы с первого просмотра
@user-xu2sw2iy2g
@user-xu2sw2iy2g 2 жыл бұрын
Спасибо тебе, добрый человек. Где ж ты был раньше)))
@avr_stm_pro2955
@avr_stm_pro2955 2 жыл бұрын
Классный канал 👍 спасибо что делитесь своими знаниями
@M_a_k_0_s
@M_a_k_0_s 6 ай бұрын
Спасибо за разжевывание темы, все понятно 👍
@ivolco8667
@ivolco8667 5 жыл бұрын
Все понятно, на пальцах объяснил. Спасибо.
@Speed_runner_666
@Speed_runner_666 Жыл бұрын
Великопный ролик. Автор, большое спасибо)
@vladimirstar9745
@vladimirstar9745 6 жыл бұрын
Спасибо, великолепно, осветил тему очень понятно! )
@daniil8150
@daniil8150 4 жыл бұрын
Огромное спасибо. Очень хорошо преподнесено.
@user-hn4ef7ek4n
@user-hn4ef7ek4n Жыл бұрын
Хорошее объяснение для ламеров
@genadimanoilenko1466
@genadimanoilenko1466 4 жыл бұрын
спасибо за объяснения. начало положенно!
@x_mouzzer_x
@x_mouzzer_x 5 жыл бұрын
спасибо, стало многое понятно
@San4ik62
@San4ik62 Жыл бұрын
Здравствуйте, вот смотрите если сигнал будет 1011111, как приемник поймет что передача не закончилась? и что это передается все еще 1 пакет?
@user-om3gz5if1v
@user-om3gz5if1v 6 ай бұрын
В протоколе описано. Программисты руководствуются протоколом. Это официальное соглашение как писать обработку физического уровня. Если ты программист-перехватчик, то придется перебирать протоколы на соответствие перехваченным данным, если программист пишет и передатчик и ( или) приемник, он руководствуется выбранному протоколу с определенными набором параметров, программист другой стороны должен знать какой протокол и какие параметры надо использовать.
@user-nh4vg7lg7z
@user-nh4vg7lg7z Жыл бұрын
Супер видео!!!! Спасибо!!!
@nikpugaev
@nikpugaev 5 жыл бұрын
Спасибо, все разложил понятно и доходчиво. Ждём продолжения.
@flexoalex4168
@flexoalex4168 5 жыл бұрын
А продолжение уже есть. Программный uart для закрепления.
@volodymyr2665
@volodymyr2665 4 жыл бұрын
Молодец! Нового я ничего не взял... надеялся больше о регистрах речь будет но на х1.5 скорости смотрится отлично
@user-jl5yi5tz2t
@user-jl5yi5tz2t 10 ай бұрын
Благодарствую 🤝🤝🤝
@TheDanil123456789
@TheDanil123456789 7 жыл бұрын
Спасибо!!!
@TheLuter89
@TheLuter89 6 жыл бұрын
Хорошо объяснил
@2-garin_snake
@2-garin_snake 5 жыл бұрын
Чуть не уснул . Вася с петей утомили... концовка сумбур и думать не надо ,:))))))))))
@user-mp6ge7kf2y
@user-mp6ge7kf2y 4 жыл бұрын
СПАСИБО
@sanek7629
@sanek7629 Жыл бұрын
Thanks!
@evgenyvaltorin5330
@evgenyvaltorin5330 2 жыл бұрын
Очень доходчиво. Спасибо! А вот такой момент- Есть bms плата от шуруповвёртного аккумулятора ( известного бренда))) которая была первоначально залита смолой, которую я благополучно расковырял тонким паяльником всего лишь за две недели))) На плате стоит контролер mega 168 pa. Так же jst разъемы два штуки. И две площадки с контактами по 3 штуки ( без инициалов) Но подозреваю одна из них uart. Вопрос: есть способ определить на них tx и rx? И можно ли через них, если же это uart скопировать прошивку контроллера. Не выпаевая его?
@liftoman_777
@liftoman_777 2 жыл бұрын
Классное видео! Спасибо! А не подскажете, если посылка 14 байт, то будет 14 стартовых импульсов?
@flexoalex4168
@flexoalex4168 2 жыл бұрын
Да
@iMatveich
@iMatveich 9 ай бұрын
Шина же это когда может быть больше двух устройств? Кроме феди может быть и андрей и сергей и другие города?
@ANTON515291
@ANTON515291 7 жыл бұрын
Представим что в конце передается 0101111 устройство как поймет что оно не на постоянку врубилось 1, а что это еще данные идут, или идет договоренность сколько бит ждать?
@flexoalex4168
@flexoalex4168 7 жыл бұрын
Антон Кузнецов на каждый бит выделен квант времени. 1/битрейт.
@BAYAN-qq1tt
@BAYAN-qq1tt 6 жыл бұрын
как понять приемнику что сеанс окончен, если будет сигнал 01010111?
@flexoalex4168
@flexoalex4168 6 жыл бұрын
Жарас Капашев Читаем выше...
@iam9695
@iam9695 6 жыл бұрын
Здравствуйте! У меня тоже возник подобный вопрос, но Вы, видимо, его не правильно поняли (или мы что-то не понимаем)... Вы объясняли, что количество бит приёма-передачи может быть не фиксированным значением, т.е. 7-9 бит. Как устройство понимает, что 8-й (к примеру) бит - стоповый, а не продолжение пакета?
@flexoalex4168
@flexoalex4168 6 жыл бұрын
Перед общением устройства оговаривают стратегию, сколько бит данных, сколько стоповый и есть ли бит четности. Из этих договоренностей ведется расчет времени на один бит.
@user-cv6hi1mm7z
@user-cv6hi1mm7z 6 жыл бұрын
Спасибо за объяснение. А если вдруг не пройдет проверку на четность? И получается этот способ по четности только 50 на 50 сможет определить целостность пакета?
@flexoalex4168
@flexoalex4168 6 жыл бұрын
Что значит не пройдет? Если проверку не пройдет, значит байт пришел битый. А более точную проверку нужно проводить на уровне протокола общения. Например MODBUS
@user-lt3ro2gb9z
@user-lt3ro2gb9z 2 жыл бұрын
Про какой форум Вы говорите в начале?
@user-fr9sn4cf6h
@user-fr9sn4cf6h 6 жыл бұрын
спасибо)то есть я могу связать свой контроллер по уарту с контроллером холодильника и обмениваться данными?,-например
@flexoalex4168
@flexoalex4168 6 жыл бұрын
Владислав Иванов Да, если известен протокол обмена.
@Magomed86
@Magomed86 Жыл бұрын
краткость талант
@va.leriai3989
@va.leriai3989 4 жыл бұрын
Приветствую автора видео. Не понятно в какой момент и как указываем битрейт
@chertopoloh170
@chertopoloh170 4 жыл бұрын
Обьясни пожалуйста как распознать уарт или другой протокол. Фишка в том, что два устройства связываются по беспроводной связи. Частота неизвестна. Имеется только одно устройство и хочется к нему подконнектиться. Можно ли обойти это или распознать какие сигналы.
@flexoalex4168
@flexoalex4168 4 жыл бұрын
Частотомер и анализ импульсов.
@constantinzzz8562
@constantinzzz8562 6 жыл бұрын
шина это принцип связи когда на линии подключено БОЛЕЕ ДВУХ устройств, когда два устройства это связь по принципу точка-точка, так вот уапп это УЗЕЛ в микроконтроллере(и не только) который изначально предоставлял связь по принципу точка-точка и только с развитием появилась возможность использовать связь по принципу ОБЩАЯ ШИНА когда стали подключать несколько устройств. вообще понятие шина относится к внутренним связям на материнской плате пк, так же ее применяют к внутренним связям внутри микроконтроллера, как то шина адреса, шина данных. уапп "забирает" данные с шины данных шина uart в природе не существует определения!
@rootandriell
@rootandriell 5 жыл бұрын
Так сколько проводов нужно для uart? Как устройство понимает что этот пакет был для него? Как устройства решают какое из них будет говорить теперь?
@flexoalex4168
@flexoalex4168 5 жыл бұрын
Для UART нужно три провода. Это RX-для приема, TX-для передачи и GND для разницы потенциалов. Кто из устройств начинает передачу решает программист. UART независем, так как имеет отдельные линии для передачи и приема. Пакет начинается со старт бита. По UART общаются только два устройсва не более. Для больше устройств нужен RS485
@romaromanov5381
@romaromanov5381 Жыл бұрын
​@@flexoalex4168 Спасибо!Значит только Вася и Федя .ага ясно
@user-sp6qs4to3u
@user-sp6qs4to3u 5 жыл бұрын
Скажите пожалуйста. Как предается двухбайтовые данные по UART? Допустим мне нужо передать 16 битное число Uint16_t. А данные передаются по 8 бит?
@flexoalex4168
@flexoalex4168 5 жыл бұрын
Разбить на два байта и передать по очереди, а на приемной стороне собрать обратно.
@vika_papa
@vika_papa 7 жыл бұрын
Что такое регистры в микроконтроллере и как их искать? Они указаны в прошивке? А если мне нужно считать прошивку из контроллера?
@flexoalex4168
@flexoalex4168 7 жыл бұрын
Регистры - это ячейки памяти получаемые в момент производства кристалла. Отсюда они имеют фиксированное расположение в памяти. То есть каждый регистр расположен по строго фиксированному адресу. К примеру если посмотреть регистр настройки направления передачи данных порта B у Atmega8, то он будет равен 0x17. Для того чтобы не запоминать все эти адреса, создают константы директивой препроцессора. Например фирма Атмел в своих средах разработки уже заранее прописала все константы и константа адреса данного регистра выглядит так: #define DDRB _SFR_IO8(0x17). Теперь нам не нужно запоминать адрес регистра, а достаточно написать DDRB = 0xFF; тем самым настроив весь порт на вывод данных. С UART дела обстоят так же. Например регистр приема передачи UDR расположен по адресу 0x0C и объявлен константой #define UDR _SFR_IO8(0x0C). Все регистры кроме защитных энергозависимые и после рестарта или обесточивания МК сбрасываются в состояния по умолчанию. Если интересно узнать адреса других регистров, то это можно сделать почитав документацию на МК. В описании любого регистра всегда указан его адрес.
@vika_papa
@vika_papa 7 жыл бұрын
Flexo Alex, Спасибо. Пока сложно, буду изучать дальше
@hamletayvazyan7687
@hamletayvazyan7687 4 жыл бұрын
немного не понял момент с двумя стопбитами
@vitfed933
@vitfed933 4 ай бұрын
Спасибо, только не понял в чем отличие между rs232 или 485 или др вроде там то же самое
@flexoalex4168
@flexoalex4168 4 ай бұрын
RS-232 это относительный интерфейс, то есть данные передаются относительно линии GND, а RS-485 дифференциальный интерфейс. Передача данных идёт относительно обеих линий. Последний более защищён от наводок.
@Vadik11111
@Vadik11111 4 жыл бұрын
Ну разжевал))
@Whatf-7-
@Whatf-7- 2 жыл бұрын
Я просто сказал аурт случайно, и появилось это видео.
@GeberLukum
@GeberLukum Жыл бұрын
Доброго времени суток скажите под заказ сможете написать драйвер на шине uart ?
@flexoalex4168
@flexoalex4168 Жыл бұрын
Нет
@romaromanov5381
@romaromanov5381 Жыл бұрын
Удивительный и непостижимый для меня этот электронный мир !Меняют прошивку к примеру,как кристаллы меняют свои параметры,свойства?.Если микроконтроллер состоит грубо из миллионов транзисторов ,пол миллиона превращаются в NPN из PNP и наоборот ,и сохраняют своё состояние,?Охренеть, как можно было такое придумать,фантастика!!!
@ElenaPonomareva666
@ElenaPonomareva666 3 жыл бұрын
33:55 "- Четыре единицы - это четное число ? - Нет". Со стоповым битом тоже непонятно - как приемник отличает стоповый бит, имеющий высокий потенциал от бита данных с таким же высоким потенциалом ?
@flexoalex4168
@flexoalex4168 3 жыл бұрын
Четыре единицы это чётное число. Дело в том что в UART ведется подсчет количества единиц, а не их значение в бинаре. Четыре единицы, это четыре штуки, а не число 15. Стоповый бит отлавливается получением уровня в определенное время исходя из таймслотов самих бит. Мы же можем определить 59-ю секунду минуты)
@pavelsanych2960
@pavelsanych2960 3 жыл бұрын
получается что сперва смотрим какая шина, затем выбираем протокол?
@flexoalex4168
@flexoalex4168 3 жыл бұрын
Почему. Например MODBUS, может работать по линиям UART, UTP, WiFi, bluetooth и тд.
@pavelsanych2960
@pavelsanych2960 3 жыл бұрын
@@flexoalex4168 в галаве бардак)))
@pavelsanych2960
@pavelsanych2960 Жыл бұрын
@@flexoalex4168 пересматриваю)))
@exRW-
@exRW- 6 жыл бұрын
СПАСИБО :-)
@user-ki5pv2yq1s
@user-ki5pv2yq1s 6 жыл бұрын
на 30 минуте обманул. приемник ставит в начале таймер на чтение данных не на 52 микросекунды, а на 156 микросекунд, потому что стартовый бит.
@user-ns5rd1uh4u
@user-ns5rd1uh4u 4 жыл бұрын
Нет, не обманул, потому что приёмник действительно должен попасть в середину старт бита (отсчитать 52 мкс) для подавления шумов. То есть он проверяет, действительно ли линия находится в нуле, и если да, то отсчитывает 104 мкс для считывания 1-го инфо бита и т.д.
@star-ik
@star-ik 7 жыл бұрын
Спасибо за старания, но тема не раскрыта. Все смазано...
@pavelsanych2960
@pavelsanych2960 3 жыл бұрын
даль что объясняя разницу протоколов и шины, человек и там и там приводит в пример с машинкой, и в чём разница, и там машинка и там
@Devid241
@Devid241 3 жыл бұрын
Про JTAG пожалууууса)))
@flexoalex4168
@flexoalex4168 3 жыл бұрын
А что про него рассказать?
@MegaKMC123
@MegaKMC123 Жыл бұрын
Как сделать два передающих устройства и один слушает?
@flexoalex4168
@flexoalex4168 Жыл бұрын
RS485
@kirman7187
@kirman7187 2 жыл бұрын
Спасибо всё супер. Но мне кажется или автор путает рисуя шину в виде камаза, поезда и самолета? Шина это дорога-(трасса, ж/д, маршрут самолета), т. е то что соединяет точки маршрута? А вот как раз самолет, поезд и машина это сами байтики которые бегают по шине (сигналы которые устройство посылает в шину на одном конце и которые принимаются на другом)? А протокол описывает как расшифровать эти сигналы-это физический уровень, а информационный как из этих сигналов собирать сообщение и как передавать данные, т. е работа с последовательностью значений или парсинг? Я не прав?
@ekd177
@ekd177 4 жыл бұрын
да полный эпизодец , ьььььььь
@RonyKassini
@RonyKassini 3 жыл бұрын
почему аудио моно только в левом канале?
@flexoalex4168
@flexoalex4168 3 жыл бұрын
Наверное потому что я стоял слева.
@RonyKassini
@RonyKassini 3 жыл бұрын
@@flexoalex4168 блин, по ходу и отраженного звука в правом не слышно. чудеса звукоакустические !
@AgattagA
@AgattagA 10 ай бұрын
ниче про RX TX не сказано....
@mifcorp1
@mifcorp1 6 жыл бұрын
общие понятия понятны а с подробностями уже можно и википедии посмотреть .... в общем толково
@aiwashiwanov4463
@aiwashiwanov4463 3 жыл бұрын
Я не понимаю от Васи к Феди. Неужели просто нельзя сказать про величину пакета без автобусов и велосипедов!?
@flexoalex4168
@flexoalex4168 3 жыл бұрын
Не все понимают, многим проще на автобусах понимать.
@aiwashiwanov4463
@aiwashiwanov4463 3 жыл бұрын
@@flexoalex4168 возможно. наверное просто привык :)
@user-qk7il7eb4b
@user-qk7il7eb4b 3 жыл бұрын
Water, water, water .....
@grifan
@grifan 3 жыл бұрын
а в чем проблема? Человек своими словами, на доступном языке доносит принцип, в названии же нет такого "Самое полное и точное описание работы..." Мне для общего понимания очень зашло, очень креативно показано как "железо" определяет следующий бит, никогда нигде так инфу не преподносили.
@matveiq
@matveiq 6 жыл бұрын
Непонятно
@Kazahnot
@Kazahnot 6 жыл бұрын
Занудное видео вы умеете тянуть резину
@taxizztop6052
@taxizztop6052 4 жыл бұрын
Как раз для таких тормозов как я, это идеальное видео.
@kostya1306
@kostya1306 5 жыл бұрын
Нудятина.... Лекция для детского сада что ли?
@flexoalex4168
@flexoalex4168 5 жыл бұрын
Да, это лекция для детского сада. Нужна сухая и прямая теория, топай в ВУЗ.
@konteiner843
@konteiner843 4 жыл бұрын
интересно было
@oruelmaiklmaikl2179
@oruelmaiklmaikl2179 5 жыл бұрын
срана советов . сам плохо услышал и не понял , но учу других . прогресс .
@flexoalex4168
@flexoalex4168 5 жыл бұрын
Извини сенсей, облажался. Где Вас услышать можно?
@andkut6772
@andkut6772 3 жыл бұрын
афтар, что ты несёшь???
@grifan
@grifan 3 жыл бұрын
не обращай внимание, это лишняя информация
@madmax2872
@madmax2872 2 жыл бұрын
ролик переименуй - типа юарт для слабоумных
@user-so1rg5fu8q
@user-so1rg5fu8q Жыл бұрын
😀😀
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 15 МЛН
PINK STEERING STEERING CAR
00:31
Levsob
Рет қаралды 11 МЛН
Why You Should Always Help Others ❤️
00:40
Alan Chikin Chow
Рет қаралды 79 МЛН
Лекция 308.  Шина I2C
19:54
Электротехника и электроника для программистов
Рет қаралды 102 М.
Лекция 307. Интерфейс SPI
16:23
Электротехника и электроника для программистов
Рет қаралды 76 М.
Лекция 309.  1-wire интерфейс
15:48
Электротехника и электроника для программистов
Рет қаралды 32 М.
Подробно про CAN шину
30:19
Eugene Irimia
Рет қаралды 668 М.
Лекция №4 "Микроконтроллеры" (Донов Г.И.)
1:19:03
Дистанционные занятия МФТИ
Рет қаралды 12 М.
Кан шина, что это? Поймет школьник! принцип работы
13:36
Лекция 256.  Интерфейс RS-485
15:19
Электротехника и электроника для программистов
Рет қаралды 119 М.
Increíble final 😱
00:37
Juan De Dios Pantoja 2
Рет қаралды 15 МЛН