Мазмуну:
- 1 -кадам: UART БАЙЛАНЫШЫНА КИРИШҮҮ
- 2 -кадам: Берилүүчү UARTдин Tx пининен кабыл алуучу UARTдин Rx пинине чейин маалымат агымы:
- 3 -кадам:
- 4 -кадам:
- 5 -кадам: UART КАНТИП ИШТЕЙТ
- 6 -кадам: UART кантип иштээрин сүрөт
- 7 -кадам:
- 8 -кадам: UART өткөрүлгөн маалыматтар пакеттердин сүрөтүнө уюшулган
- 9 -кадам:
- 10 -кадам: УАРТТЫ КОШУУ КАДАМДАРЫ
- 11 -кадам: UART сүрөтүн берүү Берилиштер Берилишинен Параллелдүү Алынат
- 12 -кадам: 2. Өткөрүүчү UART Берилиштерге Баштоо Битин, Паритеттик Битти жана Токтоочу Биттерди кошот:
- 13 -кадам: 3. Бүтүндөй пакет берүүчү UARTдан алуучу UARTга сериялык түрдө жөнөтүлөт. Алуучу UART маалымат линиясын алдын ала конфигурацияланган Baud Rate боюнча тандап алат:
- 14 -кадам: 4. Алуучу UART Берилиштерден Баштоочу Битти, Паритеттик Битти жана Токтоочу Битти жокко чыгарат:
- 15 -кадам: 5. Кабыл алуучу UART сериялык маалыматтарды параллелдүү түрдө кайра айлантат жана аны кабыл алуу аягында берилиштер автобусуна өткөрүп берет:
- 16 -кадам: УАРТТЫН АРТЫКЧЫЛЫКТАРЫ МЕНЕН КЕМЧИЛИКТЕРИ
Video: UART БАЙЛАНЫШЫНЫН НЕГИЗДЕРИ: 16 кадам
2024 Автор: John Day | [email protected]. Акыркы өзгөртүү: 2024-01-30 10:41
Принтерлердин, чычкандардын жана модемдердин ошол чоң коннекторлору менен калың кабелдери болгондо эсиңиздеби? Түзмө -түз компьютериңизге кириши керек болгондор? Бул түзмөктөр, кыязы, компьютериңиз менен байланышуу үчүн UARTти колдонуп жаткандыр. USB эски кабелдерди жана туташтыргычтарды дээрлик толугу менен алмаштырып койгону менен, UARTs өткөндүн иши эмес. Сиз GPS модулдарын, Bluetooth модулдарын жана RFID карта окуучу модулдарын Raspberry Pi, Arduino же башка микроконтроллерлерге туташтыруу үчүн көптөгөн DIY электроника долбоорлорунда колдонулган UARTдерди таба аласыз.
UART универсалдуу асинхрондук алуучу/өткөргүчтү билдирет. Бул SPI жана I2C сыяктуу байланыш протоколу эмес, бирок микроконтроллердеги физикалык схема же өзүнчө IC. UARTтин негизги максаты - сериялык маалыматтарды берүү жана алуу.
UARTтин эң жакшы нерселеринин бири - бул түзмөктөр ортосунда маалыматтарды берүү үчүн эки зымды гана колдонушу. UARTтин принциптерин түшүнүү оңой, бирок эгер сиз бул сериянын биринчи бөлүгүн, SPI байланыш протоколунун негиздерин окуй элек болсоңуз, бул баштоо үчүн жакшы жер болушу мүмкүн.
1 -кадам: UART БАЙЛАНЫШЫНА КИРИШҮҮ
UART байланышында эки UART бири -бири менен түз байланышат. Өткөрүүчү UART CPU сыяктуу көзөмөлдөөчү түзүлүштүн параллелдүү маалыматтарын сериялык формага айландырат, аны сериялык түрдө кабыл алуучу UARTке өткөрүп берет, андан кийин ал сериялык маалыматтарды кайра алуучу түзмөк үчүн параллелдүү маалыматка айландырат. Эки UART ортосунда маалыматтарды берүү үчүн эки зым гана керек. Берилиш UARTтин Tx пининен кабыл алуучу UARTдин Rx пинине агат:
2 -кадам: Берилүүчү UARTдин Tx пининен кабыл алуучу UARTдин Rx пинине чейин маалымат агымы:
3 -кадам:
UARTлар маалыматты асинхрондук түрдө өткөрүшөт, демек, UART берүүчүдөн биттерди чыгарууну синхрондоштуруу үчүн сааттын сигналы жок. Саат сигналынын ордуна, өткөрүп берүүчү UART берилүүчү маалымат пакетине баштоо жана токтотуу биттерин кошот. Бул биттер маалымат пакетинин башталышын жана аягын аныктайт, ошондуктан UART алуучу биттерди качан окууну баштоону билет.
Кабыл алуучу UART баштоо битин аныктаганда, ал кирүү биттерин белгилүү бир жыштыкта бауд ылдамдыгы деп окуй баштайт. Бод ылдамдыгы секундасына бит (bps) менен туюнтулган маалыматтарды берүү ылдамдыгынын көрсөткүчү. Эки UART тең болжол менен бирдей ылдамдыкта иштеши керек. Өткөрүп берүүчү жана кабыл алуучу UART ортосундагы байдын ылдамдыгы биттердин убактысы өтө алыс боло электе болжол менен 10% га гана айырмаланышы мүмкүн.
4 -кадам:
Эки UART тең маалымат пакетинин структурасын берүү жана алуу үчүн конфигурацияланууга тийиш.
5 -кадам: UART КАНТИП ИШТЕЙТ
Маалыматтарды өткөрө турган UART маалыматтарды автобустан алат. Берилиштер автобусу UARTга маалыматтарды CPU, эстутум же микроконтроллер сыяктуу башка түзүлүш аркылуу жөнөтүү үчүн колдонулат. Берилиштер маалымат шинасынан UART берүүчүгө параллель түрдө өткөрүлөт. Берүүчү UART маалымат шинасынан параллелдүү маалыматтарды алгандан кийин, ал маалымат пакетин түзүп, баштоо битин, паритеттик битти жана токтоочу битти кошот. Андан кийин, маалымат пакети Tx пининде акырындык менен чыгарылат. Кабыл алуучу UART маалымат пакетин Rx пининде аз -аздан окуйт. Кабыл алуучу UART кийин маалыматтарды кайра параллелдүү формага айландырат жана баштапкы битти, паритеттик битти жана токтоочу биттерди жок кылат. Акыр -аягы, кабыл алуучу UART маалымат пакетин кабыл алуучу жагындагы маалымат шинасына параллелдүү түрдө өткөрүп берет:
6 -кадам: UART кантип иштээрин сүрөт
7 -кадам:
UART аркылуу берилүүчү маалыматтар пакеттерге бөлүнөт. Ар бир пакетте 1 башталуучу бит, 5тен 9га чейин маалымат биттери (UARTга жараша), кошумча париттик бит жана 1 же 2 стоптук биттер бар:
8 -кадам: UART өткөрүлгөн маалыматтар пакеттердин сүрөтүнө уюшулган
9 -кадам:
БАШТЫ БАШТОО
UART маалымат берүү линиясы, адатта, маалыматтарды бербесе, жогорку чыңалуу деңгээлинде өткөрүлөт. Маалыматтарды өткөрүүнү баштоо үчүн, берүүчү UART берүү линиясын бир саат цикл үчүн жогору жактан төмөн карай тартат. Кабыл алуучу UART жогорку жана төмөнкү чыңалууга өтүүнү аныктаганда, маалыматтын жыштыгы боюнча бит ылдамдыгын жыштыкта окуп баштайт.
DATA FRAME
Маалымат алкагы өткөрүлүп жаткан чыныгы маалыматтарды камтыйт. Паритеттик бит колдонулса, 5 битке чейин 8 битке чейин болушу мүмкүн. Эгерде эч кандай паритет бит колдонулбаса, маалымат алкагынын узундугу 9 бит болушу мүмкүн. Көпчүлүк учурларда, маалыматтар биринчи кезекте анча маанилүү эмес.
ПАРИТЕТ
Паритет сандын жуптугун же тактыгын сүрөттөйт. Паритеттик бит - бул UART алуучуга берүү учурунда кандайдыр бир маалыматтын өзгөрүп кеткенин айтуу ыкмасы. Биттерди электр магниттик нурлануу, туура келбеген берүү ылдамдыгы же алыс аралыкка маалымат берүү аркылуу өзгөртүүгө болот. Кабыл алуучу UART маалымат алкагын окугандан кийин, ал 1 мааниси бар биттердин санын эсептейт жана жалпы жуп же так сан экендигин текшерет. Эгерде паритет бит 0 (жуп паритет) болсо, маалымат алкагындагы 1 бит жуп санга чейин болушу керек. Эгерде паритеттик бит 1 (так паритет) болсо, маалымат алкагындагы 1 бит так санга чейин болушу керек. Паритет бит маалыматтарга дал келгенде, UART берүү катасыз экенин билет. Бирок, эгерде паритет бит 0 болсо, жана жалпысы так болсо; же паритеттик бит - 1, жана жалпысы тең, UART маалымат алкагындагы биттердин өзгөргөнүн билет.
ТОКТОТУУНУ ТОКТОТ
o маалымат пакетинин аяктаганын кабарлайт, UART жөнөтүүчү маалыматтарды берүү линиясын аз чыңалуудан жогорку чыңалууга чейин кеминде эки битке узартат.
10 -кадам: УАРТТЫ КОШУУ КАДАМДАРЫ
1. Өткөрүүчү UART маалыматтарды шинадан параллелдүү түрдө алат:
11 -кадам: UART сүрөтүн берүү Берилиштер Берилишинен Параллелдүү Алынат
12 -кадам: 2. Өткөрүүчү UART Берилиштерге Баштоо Битин, Паритеттик Битти жана Токтоочу Биттерди кошот:
13 -кадам: 3. Бүтүндөй пакет берүүчү UARTдан алуучу UARTга сериялык түрдө жөнөтүлөт. Алуучу UART маалымат линиясын алдын ала конфигурацияланган Baud Rate боюнча тандап алат:
14 -кадам: 4. Алуучу UART Берилиштерден Баштоочу Битти, Паритеттик Битти жана Токтоочу Битти жокко чыгарат:
15 -кадам: 5. Кабыл алуучу UART сериялык маалыматтарды параллелдүү түрдө кайра айлантат жана аны кабыл алуу аягында берилиштер автобусуна өткөрүп берет:
16 -кадам: УАРТТЫН АРТЫКЧЫЛЫКТАРЫ МЕНЕН КЕМЧИЛИКТЕРИ
Эч кандай байланыш протоколу кемчиликсиз эмес, бирок UART'лер эмне кылып жатышканын абдан жакшы билишет. Бул жерде сиздин долбоордун керектөөлөрүнө туура келеби же жокпу, сизге жардам берүү үчүн кээ бир оң жана терс жактары бар:
АРТЫКЧЫЛЫКТАРЫ
Эки зымды гана колдонот. Саат сигналынын кереги жок. Каталарды текшерүүгө мүмкүндүк берүү үчүн паритеттик битке ээ. Дайындар пакетинин структурасы эки тарап тең орнотулган шартта өзгөртүлүшү мүмкүн.
Берилиштер фрейминин өлчөмү максимум 9 бит менен чектелген. Бир нече кулдук же бир нече мастер системаларды колдобойт Ар бир UARTтин берилүү ылдамдыгы бири -биринин 10% чегинде болушу керек Бул сериянын үчүнчү бөлүгүн улантуу, негиздери I2C Байланыш Протоколу электрондук түзүлүштөрдүн башка жол менен баарлашуусун билүү үчүн. Же болбосо, SPI Байланыш Протоколунун Негиздерин карап көрүңүз.
Жана ар дайымкыдай эле, эгерде сизде кандайдыр бир суроолор болсо же кошо турган болсо, комментарийлерде мага билдириңиз! Эгерде сиз бул макаланы жактырсаңыз жана ага окшош нерселерди көргүңүз келсе, ээрчүүнү унутпаңыз
Урматтоо менен
M. Junaid
Сунушталууда:
Сымдарды ширетүү - Лайкоо негиздери: 11 кадам
Сымдарды ширетүү | Лайнердик негиздер: Бул көрсөтмө үчүн мен зымдарды башка зымдарга ширетүүнүн жалпы жолдорун талкуулайм. Мен сиз Soldering Basics сериясындагы биринчи 2 Instructables текшерип көрдүңүз деп ойлойм. Эгерде сиз менин Инструкцияларымды колдонуу боюнча текшере элек болсоңуз
Кичинекей H-Bridge айдоочулары - Негиздери: 6 кадам (Сүрөттөр менен)
Кичинекей H-Bridge айдоочулары | Негиздери: Саламатсызбы жана дагы бир Инструкторго кош келиңиз! Мурунку китепте мен сизге KiCadда кантип питон скриптин колдонуп катуштарды жаратканымды көрсөттүм. Анан кайсынысы жакшы иштээрин билүү үчүн бир нече түрдөгү катушкаларды түзүп, сынап көрдүм. Менин максатым чоң затты алмаштыруу
Python киришүүсү - Катсухико Матсуда жана Эдвин Цижо - Негиздери: 7 кадам
Python Introduction - Katsuhiko Matsuda & Edwin Cijo - Негиздери: Саламатсызбы, биз MYP 2де окуйбуз. Биз сизге Pythonду коддоонун негиздерин үйрөткүбүз келет. Ал 1980 -жылдардын аягында Нидерландияда Гидо ван Россум тарабынан түзүлгөн. Бул ABC тилинин мураскери катары жасалган. Анын аты " Python " анткени качан
Flux - колдонуу Лайкоо негиздери: 5 кадам
Flux | колдонуу Лайкоо негиздери: Сиз ширетип жатканыңызда, ширетүүчү сиз кошуп жаткан бөлүктөргө жакшы байланыш түзүшү керек. Бөлүктөрдүн металы менен ширетүүчү металл жакшы байланыш түзүү үчүн бири -бири менен түз байланышта болушу керек. Бирок менден бери
SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: 3 кадам
SmartHome Зымсыз Байланыш: MQTTдин Экстремалдык Негиздери: MQTT Негиздери: ** Мен үйдү автоматташтыруу сериясын жасайм, келечекте кылган нерселеримдин бардыгын үйрөнүү үчүн жасаган кадамдарымдан өтөм. Бул Instructable менин келечектеги Instructables колдонууга MQTT кантип орнотуу боюнча базалык болуп саналат. Кантип