Download presentation
Presentation is loading. Please wait.
1
Преглед Начин функционисања Имплементације
UART Преглед Начин функционисања Имплементације
2
Циљеви Након завршетка овог предавања имаћете:
Поновно подсећање на серијске магистрале Боље разумевање: Како UART и USART функционишу Како одредити и измерити битне параметре Како се на хардверском нивоу изводе операције Кратак преглед стандарда RS-232 RS-422 RS-485 Virtual Serial Port
3
ПРЕГЛЕД Структурe предавања
Серијске магистрале U(S)ART: Принципи функционисања Одређивање и рачунање параметара Физичка имплементација Регистри Грешке Стандарди: RS-232 RS-422 RS-485 Virtual Serial Port
4
Серијске магистрале Стандарди: CAN, LIN, RS-485, RS-232, SPI, I2C
Предности: Мањи број линија, утичница и цена Чува простор и потрошену енергију по биту Нема проблема са раздешеним тактним сигналом између линија Мане: У принципу тачка на тачку Премашај: додатна контролна поља преко података Веће брзине смањују домет While some embedded systems never communicate with any other device. Most require communication with external sensors, EEPROMs, debuggers or system loggers, microprocessors, etc. The 2 common ways to interface are parallel and serial. The most common ones, which I expect all of you have seen at least a few, are CAN, LIN, RS-232/422, RS-485, SPI, I2C, etc. The real advantage over Parallel is the ease of designing. There rarely are line matching requirements to make sure 0’s and 1’s are all getting to the target at the right timing. There are fewer lines and cables to design in, and ultimately the power and board space become optimized for the solution. Of course the down-sides are that most serial implementations were meant for point-to-point communications and required faster communication to match parallels through-put. For example a serial bus running at 1Mbps would require only 125Kbps for a 8-bit parallel interface.
5
U(S)ART ПРЕГЛЕд Universal (Synchronous) Asynchronous Receiver/Transmitter Универзални серијски комуникационо сучеље (енг.interface) Генеричко решење: подршка за специфичне стандарде Могућност асинхроног (јефтиније) и синхроног мода Релативно јефтина имплементација Основне линије: TX и RX Замењено USB-ом у PC али се још користи за embedded
6
UART Техничке карактеристике
Асинхроно: Пошиљлац и прималац: Немају заједнички такт Брзина се договори унапред Додатак специјалних бита за имплицитно усклађивање такта Слање података: Оријентисано на слање већих група бита Групе бита могу бити речи одређене дужине нпр. октети (8) или ASCII (7) Спорадично слање уместо ток података Променљива брзина – нема периодике
7
UART Градивни елементи
Оквири ограничени са старт и стоп битима Рачунање паритета Генерисање бодског такта: kbs Осцилатор: или 7.37 MHz Прекиди: Transmit Complete Transmit Data Register Empty Receive Complete
8
UART како ради?
9
UART како ради? Start bit (always low) Stop bit(s) (always high)
Sampling instant Baud rate = Bits per second
10
UART Принцип функционисања
11
UART Принцип функционисања
12
UART Принцип функционисања
Start Stop 1 1 1 1
13
UART Принцип функционисања
Start Stop 1 1 1 1 Start 1 1 1 1
14
UART Потребна подешавања
Пошиљалац и прималац МОРАЈУ пре слања да се договоре око: Бодске брзине: 75, 150, 300, 600, итд. Број стоп бита: 1, 1.5 или 2 Број бита података: 5, 6, 7 или 8 Парност: парно, непарно, без Квиз: Шта би се десило код различитих подешавања?
15
UART рачунање брзине и пропуснЕ моћИ
Битска брзина (енг. BPS): Број бита послат сваке секунде Бодска брзина: Број симбола послат сваке секунде; симбол може да чини више бита UART: једнаке обе брзине Пропусна моћ = (број бита података/број бита оквира) * бодска брзина
16
UART одређивање брзине
ΔT=1/Baudrate
17
UART одређивање брзине
Стандардне бодске брзине некад могу да помогну. Прво се шаљу бити најмање тежине (енг. LSB) 0xe6 = b 0xfd = b
18
КВИЗ Подешавања UART: 1 стартни бит, 8 бита података and 1 стоп
Колика је бодска брзина? Који подаци се шаљу (хексадецимално)?
19
КВИЗ Подешавања UART: 1 стартни бит, 8 бита података and 1 стоп Колика је бодска брзина? Који подаци се шаљу (хексадецимално)? ΔT=1ms 0xb2 1000 Baud
20
Квиз Апликација преноси фотографију од 900kB преко UART
Подешавања: Baud, 8 бита података и 1 стоп, без парности Израчунати: Време подребно да се пребаци фотографија? Ефективна брзина (bits/second за податке)?
21
Квиз Апликација преноси фотографију од 900kB преко UART
Подешавања: Baud, 8 бита података и 1 стоп, без парности Израчунати: Време подребно да се пребаци фотографија? Ефективна брзина (bits/second за податке)? 80 секунди 92160 bps
22
UART Асинхроно узорковање
Да би знали кад да узоркујемо: Потребно унапред знати бодску брзину Потребно знати почетак стартног бита (падајућа ивица) 1 2 3 start bit sample sample sample sample
23
USART синхроно узорковање
Подешавања: Унутрашњи часовник подешен на 16x већу брзину Усклађивање такта на сваки бајт (не мора бити 8) Редослед операција: Континуално се читају подаци док се не препозна падајућа ивица Затим пријемник чека 6 тактова да почне узорковање На такт од очекиване средине стартног бита, узми 3 узорка Ако су 3 узорка у високом стању, почни ново тражење старта Уколико је бар један низак, старт је потврђен. Сачекај 16 тактова и почни да узоркујеш податке
24
UART Унутрашњи склоп TX RX Data Register Data Register Shift Register
Baud rate Generator Start/Stop Baud rate Generator TX RX
25
UART Пренос података The Transmitter Holding Register (8-bits)
Software outputs a byte of data to the THR The bits are immediately copied into an internal ‘shift’-register The bits are shifted out, one-at-a-time, in sync with a clock-pulse 1 1 1 1 1 1 data-bits The transmitter’s internal ‘shift’ register clock stop bit start bit clock-pulses trigger bit-shifts
26
UART Пренос података Прихватни FIFO спремник на слању дозвољава малу неупареност CPU UART Такт за померање спремника ради на 16x већој учестаности: дозвољава благу неупареност Tx и Rx
27
Циркуларни спремник Користи се за спремање токова података када је брзина магистрале већа од времена обраде Својства: Спремник одређене дужине са спојеним крајевима Веома ефикасно решење јер се увек користи иста меморија Ризик од преписивања старих података FIFO принцип
28
Циркуларни спремник Имплементација
RXHeadPtr – Показивач заглавља (место за упис) RXTailPtr – Показивач зачеља (место за читање, увек иза)
29
Циркуларни спремник
30
Циркуларни спремник
31
Циркуларни спремник
32
UART РЕгистри UDR (UART Data Register): смештање података са пријема/слања USR (UART Status Register): стање размене са грешкама (нпр. преливање) UCR(UART Control Register): подешавања нпр. парност, брзина, стоп бити UBRR (UART Baud Rate Register): подешавање делитеља такта
33
UART подешавање брзине
34
Примери Мерење Осцилоскопом
5-Dec-18 Примери Мерење Осцилоскопом Сонда осцилоскопа Start bit=0 Stop bit=1 What is this code ?
35
UART Грешка преливања спремника
Услов: брзина слања надмашује брзину читања из спремника на пријему Решења: Подешавање величине спремника Одабир UART са подршком за веће брзине/спремнике.
36
Паритет Служи за препознавање грешака
Рачунање: уради се XOR свих бита података Врста: парно или непарно Квиз: подаци: b Колико је број 1-ца? Паран паритет:? Непаран паритет:?
37
UART Грешка оквира Други назив: грешка усклађивања
Услов: очекује се старт или стоп а не пронађе се Последица: потребно одрадити усклађивање на стартни бит
38
RS-232 преглед Стандард дефинише: Карактеристике:
Сигнале: број, имена, и намену Напонске нивое: Логичку 1 (енг. Mark): -3 до -25 V Логичку 0 (енг. Space): +3 до +25 V Опсег између (-3,+3) је недефинисан Утичнице и распоред ножица Кодовање линије: NRZ Хардверске линије за сигнализацију (RTS/CTS) Карактеристике: Брзине до 20 kbs Дужине до 300 m (зависи од брзине)
39
RS232 Опциони СИГНАЛИ DCE (Data Communications Equipment): уређај који успоставља, одржава и завршава везу DTC (Data Transmission Circuit): претварач нивоа сигнала DTE (Data Terminal Equipment): сучеље између DCE и DTC Сигнали: RTS (Ready To Send): спремност за слање; шаље се од DTE ка DCE CTS (Clear To Send): спремност за пријем; шаље се од DCE ка DTE DTR (Data Terminal Ready): спермност за повезивање; шаље се од DTE ка DCE DSR (Data Set Read):спермност за повезивање; шаље се од DCE ка DTE CD: Carrier Detect: означава успешно повезивање на удаљени уређај RI: Ring Indicator: означава да телефон звони на другој страни везе Практични детаљи: Могуће потешкоће при подешавању Робусно кад проради Постоји и софтверска сигнализација (енг. handshaking) (XON/XOFF)
40
RS-422 преглед Стандард предложен од Electronic Industries Alliance
Дефинише: Напонске нивое Диференцијални мод Брзине преноса: до 10 Mbs Дужине каблова до 1500 m Повећан домет за RS-232 Не дефинише: Електричне утичнице и распоред ножица
41
RS-485 преглед Коришћење уплетене парице
Линијска диференцијална топологија: енг. multi-drop Карактеристике: Бртина: 35 Mbs на 10 m Брзина: 100 kbs на 1200 m Основа CAN магистрале
42
Виртуални серијски прикључак
Емулација стандардног серијског порта Ствара се у оперативном систему без додатне опреме Могућност стварања великог броја – небо (ресурси) су граница Могућност подешавања параметара: Бодска брзина Бити података, за паритет, и стоп Сигналне линије (DTR/DSR/CTS/RTS/DCD/RI) Подешавање распореда ножица Примена: недостатак HW прикључка или слабе перформансе Примери: Пријем података саGPS модула опремљеног са Bluetooth. Серијска веза преко интернета или LAN: удаљени серијски приступ
43
закључци за понети Шта смо радили
44
закључци за понети UART је основа серијских протокола и пружа оквир
RS-XXX стандарди дају практичне детаље Серијска комуникација још увек јако битна за наменске системе UART – робусно након мало подешавања Добро се упознај са структуром и параметрима
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.