PowerPoint-Präsentation

Documente similare
Interfețe și Protocoale de Comunicații Arduino-Port Paralel Arduino. Laborator 1- Portul Paralel 1 Caracteristici generale Arduino UNO este o placă de

Lucrarea 10

PowerPoint-Präsentation

PowerPoint-Präsentation

PowerPoint-Präsentation

Lucrarea nr

Microsoft Word - 4-Interfete paralele.doc

PowerPoint Presentation

Dot Matrix Display Module and

Ch

Minicurs CCS C / Aplicatia1 1.Programul CCS C Compiler. Instalare.Creare proiect. Descarcati ultima versiune a programului de

Soclu cu temporizator încorporat pentru seria 34 Elevatoare și macarale Mașini de împachetare Semaforizare SЕRIA 93 Mașini de îmbuteliere Depozite gli

Universitatea Transilvania Braşov Facultatea de Inginerie Electrică şi Ştiinţa Calculatoarelor Catera de Electronică şi Calculatoare Construcţia şi de

Microsoft Word - IngineriF_A.DOC

Microsoft Word - FiltrareaNyquist-rezumat.doc

PowerPoint Presentation

VI. Achiziția datelor în LabVIEW

Cuprins

Kein Folientitel

Cartelele telefonice

Structura sistemelor de calcul

PowerPoint-Präsentation

PowerPoint Presentation

Microsoft Word - intro_msp430.doc

PowerPoint Presentation

Textul si imaginile din acest document sunt licentiate Attribution-NonCommercial-NoDerivs CC BY-NC-ND Codul sursa din acest document este licentiat Pu

Guardian2012_RO3

Lucrarea 13. Controlul unor procese complexe printr-o platforma de tip Arduino (continuarea lucrarii 12) 1. Obiectivul lucrarii Lucrarea isi propune s

Controlerul LCD

ep0117

Microsoft Word - Tema 06 - Convertoare analog-numerice.doc

FIŞA DISCIPLINEI

Limbaje de Programare Curs 8 – Fisiere

Sistem Didactic LOGO!

Microsoft Word - Prezentare - A4 - cernavoda.doc

Microsoft Word - L63 FPGA.doc

Informatică aplicată TEST GRILA TEST GRILĂ - REZOLVAT 1.Structura de principiu a unui sistem de calcul contine urmatoarele componente principale: A. u

Microsoft Word - Programarea Portului Paralel - IBM-PC. .doc

PowerPoint Presentation

Numele documentului: Ghid de utilizare Versiune 2 Din: Cod: Electronic: Ghid de utilizare - Programare online v.2.docx Ghid de utilizare SIR

Variante ale magistralei PCI

Sisteme cu FPGA şi Soft Processors

1

Dispozitiv de deschidere a porţilor batante PKM-C02 Manual de utilizare Atenţie: acest dispozitiv trebuie instalat de către profesionişti calificaţi b

Student: Mădălina-Maria Mitricioaei Titlul proiectului: IOT Sensor Hub Rezumat

Microsoft Word - Laboratorul 3.doc

PROCESOARE NUMERICE DE SEMNAL

Microsoft Word - Time relays TR4N series.doc

Microsoft Word - Lucrarea 14.doc

VLT® AQUA Cascade Contr. Manual SW1.00

Subiecte

Limbaje de Programare Curs 6 – Functii de intrare-iesire

MULTIMETRU DIGITAL AX-585 INSTRUCŢIUNI DE UTILIZARE

TM200 Live Tour guide Sistem audio mobil Sistemul de comunicare audio Tour guide este util in cel putin 3 situatii si vine cu avantaje clare: 1) Cand

Distribuitor Ethernet

Microsoft PowerPoint - TDRC_II-10-TCP.ppt

Vacon 100 FLOW Application Manual

Modul multiprotocol I/O compact pentru Ethernet

Dräger REGARD-1 Unitate de comandă Sistemul Dräger REGARD -1 este un sistem de evaluare de sine stătător cu un singur canal, pentru monitorizarea gaze

Paradigme de Programare

Paradigme de programare

FILTRE DE REALIZARE CU CIRCUITE DE INTEGRARE

ep0091

Nr

WorkCentre M123/M128, WorkCentre Pro 123/128, CopyCentre C123/128 Ghid de Configurare Rapidă pentru Reţea

Microsoft Word - Prelegere 1 - Bratu C. - Microcontrolerul.doc

Calitate aer comprimat Masurarea calitatii aerului comprimat conform ISO 8573 Continut de ulei rezidual - particule - umezeala Masurare continut ulei

SEKA GPRS BUS Modul GPRS BUS nativ S.C. SECPRAL COM SRL Mihai Limbăşan Revizie manual: v iulie 2009 Rezumat Documentul de faţă descrie instalare

SonoMeter 30 Energy Meters

Clemă de alimentare Ethernet

SUBPROGRAME

HONEYWELL AWARD

Manual de utilizare a Sistemului Informațional al Institutului Național al Justiției (SI INJ) intranet.inj.md Ver.2 Manual de utilizare a Sistemului I

Microsoft PowerPoint - ST_5

XL30 Romanian quick start guide

ep0149

Slide 1

Always leading the pack SEMICONDUCTOR FUNDAMENTAL DL 3155M11R Laborator TIME

5_2012_2013_AC_PI_C_Anii_III-IV.xls

Gateway Cloud Turck

Biomedical Wi-Fi data transmissons

1. ARHITECTURA MICROPROCESOARELOR 1.1. Microprocesorul. Noțiuni generale Progresele tehnologice și electronice, înregistrate în ultimele decenii, au d

013757_ABB (A Szocs)_ACS50_EN_revE_high_100812ENRODECRCG_f_1

Lucrarea 11. IoT Internet of Things - Accesul prin Internet la obiecte sau dispozitive simple 1. Obiectivul lucrarii Lucrarea isi propune sa studieze

Slide 1

Denumire pachet training Categorie licee Avantajele programului Metode interactive utilizate Pachet II.3 - Mecatronica Licee cu clase profil de Mecatr

2

Indrumator laborator microcontrolere ARDUINO

Dispozitive BENDER pentru monitorizarea rezistenţei de izolaţie Pornind de la necesitatea unui sistem de alimentare cu energie electrică cât mai sigur

Laborator 1 suport teoretic Mediul de dezvoltare Eclipse GLOSAR - Aplicaţie: program obţinut în urma aplicării operației BUILD asupra unui proiect (ve

Ghidul Utilizatorului GW210

Microsoft Word - 1-Introducere.doc

E_d_Informatica_sp_SN_2014_bar_10_LRO

Înregistrator de temperatură şi umiditate AX-DT100 Instrucţiuni de utilizare

Test 5: Referat examen an II ELECTRONICA APLICATA Sisteme de achizitii de date 1. Sa se exprime in scarile de temperature Celsius si Farentheit temper

Unitatea: Școala Gimnazială Disciplina: Informatică și TIC Programa școlară aprobată cu OMEN nr.3393 din Profesor: prof. Clasa: a V-a A, B

Syscom 02 srl Bucuresti * Mobil : * * Web : ============================

MANUAL DE UTILIZARE TERMOSTAT DE CAMERĂ EBERLE INSTAT PLUS 3R Cod produs: I. Instrucţiuni de utilizare Manevrarea produsului (privire de ansamb

Facultatea de Științe Politice, Administrative și ale Comunicării Str. Traian Moșoiu nr. 71 Cluj-Napoca, RO Tel.: Fax:

Laboratorul numarul 6 Reglarea turaţiei motorului asincron prin variația frecvenței de alimentare cu păstrarea raporului U/f constant Expresia turaţie

Transcriere:

Universitatea Transilvania din Braşov Laboratorul de Vedere Artificială Robustă şi Control Sisteme cu MicroProcesoare Curs 2 Porturi de intrare/ieșire Gigel Măceșanu 1

Cuprins Programarea unui MC Porturi de intrare/ieșire Circuite conexe porturi I/O 2

Programarea unui MC Scriere Cod Interfață HW către MC Etapele programării unui MC 3

Programarea unui MC Limbaje utilizate: Asamblare, C, Basic, Forth Limbajul de asamblare: Implementare ușoară pentru programe de mici dimensiuni Cea mai rapidă execuție a codului Cel mai compact cod Implementare complicată pentru programe de mari dimensiuni Analiza completă a resurselor utilizate Probleme la portarea codului, chiar și pe aceleași familii de MC 4

Programarea unui MC Limbajul C: Execuție rapidă a codului Ușor de portat pe alte compilatoare sau familii de MC Multe compilatoare disponibile Multe funcții predefinite Foarte răspândit ca și limbaj Dificil de utilizat la început Se pot utiliza unelte de analiza a codului (Polyspace verifica regulile MISRA ) 5

Programarea unui MC Etapele parcurse pentru programare unui MC când este utilizat limbajul C (exemplu de cod este pentru MC PIC) 6

Programarea unui MC Compilatorul este utilizat pentru a genera codul mașină (ex: un fișier cu extensia *.hex - Intel Hex Format) Circuitul programator face transferul de date către memoria microcontrolerului Microcontroler în aplicații reale 7

Programarea unui MC Limbajul C void main() { TRISB = 0; PORTB = 0b00000011; } Limbajul de asamblare _main: CLRF TRISB+0 MOVLW 3 MOVWF PORTB+0 GOTO $+0 Fișierul *.hex :0A000000182800000000000000288E :0E000A008312031321088A00200882000800D8 :1000180005208A110A128000840AA00A0319A10A7D :08002800F003031D0C28080081 :0E0030008316031386010330831286001E28F8 :02400E00F21F9F :00000001FF 8

Programarea unui MC Fișierul.hex generat are o structură de forma: :BBaaAATTDDCC BB reprezintă numărul de octeți de pe linia curentă aaaa adresa unde octeții se vor salva în memorie (aa LSB, iar AA MSB pentru adresă) TT reprezintă tipul de date, astfel: 00 date de tip program 01 EOF (End Of File) 04 adresă extinsă. DD octeții de date care conțin codul mașină generat din codul scris de programator (câți octeți sunt pe linie) CC Suma de control 9

Programarea unui MC Suma de control se calculează astfel: 0A + 00 + 00 + 00 + 18 + 28 + 00 + 00 + 00 + 00 + 00 + 00 + 00 + 28 = = 72 = 111 0010 ~ (01110010) = 10001101 + 1 = 10001110 = 8E :0A 0000 00 18 28 00 00 00 00 00 00 00 28 8E :0E 000A 00 8312031321088A00200882000800 D8 :10 0018 00 05208A110A128000840AA00A0319A10A 7D :08 0028 00 F003031D0C280800 81 :0E 0030 00 8316031386010330831286001E28 F8 :02 400E 00 F21F 9F :00 0000 01 FF //EOF 10

Programarea unui MC Limbajul C vs Limbajul de asamblare: int nvar1 = 10; int nvar2 = 20; int nresult; void main() { nresult = nvar1 * nvar2; } Limbajul C Limbajul de asamblare _main: MOVF _nvar1+0, 0 MOVWF R0+0 MOVF _nvar1+1, 0 MOVWF R0+1 MOVF _nvar2+0, 0 MOVWF R4+0 MOVF _nvar2+1, 0 MOVWF R4+1 CALL _Mul_16x16_U+0 MOVF R0+0, 0 MOVWF _nresult+0 MOVF R0+1, 0 MOVWF _nresult+1 GOTO $+0 11

Programarea unui MC Limbajul C vs Limbajul de asamblare: int nvar1 = 10; int nvar2 = 20; int nresult; void main() { nresult = nvar1 * nvar2; } Limbajul C Limbajul de asamblare _main: MOVF _nvar1+0, 0 MOVWF R0+0 MOVF _nvar1+1, 0 MOVWF R0+1 MOVF _nvar2+0, 0 MOVWF R4+0 MOVF _nvar2+1, 0 MOVWF R4+1 CALL _Mul_16x16_U+0 MOVF R0+0, 0 MOVWF _nresult+0 MOVF R0+1, 0 MOVWF _nresult+1 GOTO $+0 12

Programarea unui MC Schema electrică a unui programator (MC din familia AVR): Softul utilizat pentru programare este PonyProg (http://www.lancos.com/prog.html) Comunicația serială este utilizată pentru transferul datelor ICSP = In-Circuit Serial Programming 13

Citire/Scriere Porturi de Intrare / Ieșire Fiecare MC are regiștri (porturi) legați la pinii microcontrolerului Un pin este de I/O dacă i se poate schimba fluxul de transfer al datelor de la intrare spre ieșire și viceversa (prin soft) Pinii sunt grupați, în general câte 8, și formează un PORT Pini 14

Porturi de Intrare / Ieșire Principalele caracteristici/proprietăți/module ale unui port sunt: Registre de configurare a direcției Registre de achiziție/transmisie de date Anularea zgomotelor pe pinii de intrare Rezistențele de pull-up Funcții multiple 15

Porturi de Intrare / Ieșire Utilizarea porturilor unui MC pentru transferul/achiziția de date 16

Porturi de Intrare / Ieșire Port digital: Valoarea citită de pe pin este digitalizată de MC în două stări: 1 sau 0 Intervalele de High și Low depind de tipul MC Se poate folosi logică pozitivă sau logică negativă 17

Porturi de Intrare / Ieșire Două registre sunt importante când se discută de porturi I/O Registru de setare a direcției datelor: Fiecare port bidirecțional are un asemenea registru Conține un bit de configurare pentru fiecare pin al MC Funcționalitatea pinului se realizează prin setarea/ștergerea bitului corespunzător din registru (pot exista pe același port pini cu funcții diferite) 18

Porturi de Intrare / Ieșire Registru corespunzător portului: Utilizat pentru a controla nivelul tensiunii de pe pinul de ieșire (high/1/5v sau low/0/0v) Pentru pinii setați ca ieșire, citirea registrului va returna valoarea scrisă de utilizator (programator) Pentru pinii setați ca intrare, citirea registrului va returna starea pinului de intrare 19

Porturi de Intrare / Ieșire Transformarea tensiunii de intrare în valoare binară (port digital) presupune utilizarea unuia sau mai multor circuite adiționale O soluție presupune utilizarea de bistabili de tip latch Dacă circuitul latch este declanșat de clock-ul sistemului, reținerea valorii pinului se va face la începutul fiecărui ciclu O astfel de soluție permite citirea stării pinului cu întârziere Este posibilă chiar pierderea impulsurilor mai scurte de un ciclu de clock Clock Semnal Delay PIN 20

Porturi de Intrare / Ieșire Întârzierea introdusă în exemplul anterior este: d latch = (0, 1] Se definește întârzierea pe pinul de intrare astfel: d in = (d min in, d max in ] O altă problemă întâlnită des în aplicații practice are în vedere schimbări lente ale semnalului de intrare meta-stabilitate Un circuit latch cu o mărime de intrare nedefinită poate sa furnizeze la ieșire: low, high, nedefinit, oscilații Pentru a evita o astfel de apariție a meta-stabilității se poate folosi un circuit de tip Trigger-Schmitt Se obțin tranziții bine definite Sunt eliminate fluctuațiile tensiunii de intrare 21

Porturi de Intrare / Ieșire Circuitul Trigger Schmitt convertește un semnal analogic într-un semnal digital Utilizează 2 praguri: V lo și V hi Tensiunea de ieșire se calculează în funcție de cele 2 praguri V hi V lo U = tensiunea de intrare cu zgomot sau evoluție lentă A = tensiunea de ieșire pentru un circuit comparator B = tensiunea de ieșire a unui Trigger Schmitt 22

Porturi de Intrare / Ieșire În serie cu un circuit Trigger Schmitt sunt utilizate circuite latch Un sistem format dintr-un Trigger Schmitt si circuite latch poartă numele de sincronizator d sinc : numărul de cicluri de clock necesare pentru propagarea semnalului de la primul latch de sincronizare până la pinul de latch Întârzierea pe pinul de intrare este în acest moment: d in = d latch + d sinc Semnal intrare Trigger Schmitt Latch Sinc. Latch Sinc. Pin Latch 23

Port MC Port MC Porturi de Intrare / Ieșire Rezistorul de pull-up este ideal pentru utilizarea în aplicații care utilizează butoane, comutatoare sau optocuploare Pot exista și MC care conțin și rezistori pull-down Pin cu rezistor de pull-up Pin fără rezistor de pull-up Intrare digitală Ieșire digitală 24

Microcontroller Porturi de Intrare / Ieșire Rolul unui astfel de rezistor este acela de a conecta pinul de intrare la o tensiune predefinită, dacă nu este furnizată de HW extern Rezistoarele de pull-up sunt controlate de un registru care permite activarea/dezactivarea acestora Rezistorii de pull-up nu afectează pinii setați de ieșire ci doar îi influențează în bine pe cei care sunt setați ca intrare Când butonul nu este apăsat pinul este în stare instabilă Comutator 1 2 Rezistorul de pull-up setează pinul la o valoare definită 25

Porturi de Intrare / Ieșire Pinii unui MC pot avea funcții multiple Când sunt utilizați în modul normal GPIO (General Purpose Input Output) Funcții adiționale pot include: I2C, SPI, USART, PWM, ADC Configurarea acestor funcționalități se face în SFR Când o funcție alternativă este activă pinul nu mai poate funcționa ca pin cu scop general 26

Circuite conexe porturi I/O Butoane și comutatoare Pot apărea oscilații nedorite la comutare/apăsare Se pot filtra cu ajutorul unui filtru RC Se pot utiliza și filtre software Filtrare RC Oprire buton 27

Microcontroler Releu Circuite conexe porturi I/O Relee dispozitiv de comandă care este utilizat pentru a închide și a deschide un alt circuit electric Este conectat la pinii MC și folosit pentru pornirea/oprirea de dispozitive precum: motoare, transformatoare, becuri 28

Circuite conexe porturi I/O Leduri și dispozitive cu leduri Pentru aplicații cu multe LEDuri se recomandă utilizarea de componente cu un curent de operare de aprox. 20mA 29

Circuite conexe porturi I/O Se pot multiplexa dispozitivele cu 7 segmente pentru a afișa mai multe numere în același timp Un circuit cu 7 segmente funcționează astfel: 30

Microcontroler Circuite conexe porturi I/O Optocuplor Utilizat în aplicații ce presupun izolarea galvanică față de eventuale tensiuni sau curenți periculoși Conține leduri și elemente sensibile la lumină, precum fototranzistori, fotodiode, etc 31

Contact: Email: gigel.macesanu@unitbv.ro Web: rovis.unitbv.ro 32