Proiectare PCB, Fabricarea PCB, PCB, PECVD, și selecția componentelor cu un serviciu unic

Descărcați | Despre | Contact | Harta site-ului

Înțelegerea adevăratei naturi a GPIO, I2C, SPI, UART, FOLOSIT, și interfețe de comunicare USB - UGPCB

PCB Tech

Înțelegerea adevăratei naturi a GPIO, I2C, SPI, UART, FOLOSIT, și interfețe de comunicare USB

Trebuie să fi văzut diverse interfețe pe multe plăci de circuit pentru dispozitivele electronice, cum ar fi GPIO, I2C, SPI, UART, FOLOSIT, USB, etc. Trebuie să fiți curioși de principiile de lucru, scopuri, și diferențele dintre aceste interfețe pe plăcile de circuit. Astăzi, Editorul nostru a vizitat colegi de la Departamentul Tehnic al companiei UGPCB pentru a le explica “Adevărata natură.”

Interfețe de comunicare

Interfețe de comunicare

Diferențe simple

1) GPIO (Intrare de intrare generală) este o intrare/ieșire cu scop general, Portul general, Extindere de autobuz care simplifică extinderea I/O folosind standardul industrial I2C, Smbus™, sau SPI™ interfețe. Când microcontrolerele sau chipset -urile nu au suficient porturi I/O, sau când sistemele necesită o comunicare sau control în serie la distanță, Produsele GPIO pot oferi funcții suplimentare de control și monitorizare.

2) SPI (Interfață periferică serială) este un autobuz serial bidirecțional cu patru fire standard cu patru fire. Interfața SPI este utilizată în principal în EEPROM, Bliț, Ceasuri în timp real, Convertoare de anunțuri, și între procesoarele de semnal digital și decodificatorii de semnal digital. SPI este o viteză mare, Full-duplex, Bus de comunicare sincronă care ocupă doar patru pini pe cip, Economisirea numărului de pini și a spațiului de aspect PCB. Datorită caracteristicilor sale simple și ușor de utilizat, Din ce în ce mai multe jetoane integrează acest protocol de comunicare.

3) I2C. (Autobuz inter-IC) este un autobuz serial cu două fire dezvoltat de Philips pentru conectarea microcontrolerelor și a dispozitivelor lor periferice. Este un standard de autobuz adoptat pe scară largă în domeniul controlului comunicării microelectronice. Are avantajele mai puține linii de interfață, Metode simple de control, Formulare de ambalare a dispozitivului mic, și rate mai mari de comunicare.

4) UART (Emițător de receptor asincron universal) este un dispozitiv de receptor/emițător asincron universal.

5) USART universal emițător de receptor asincron sincron;

6) Busul serial universal USB (Busul serial universal)

7) Poate câmpbus

Tabelul parametrilor de transmisie a interfeței

Tabelul parametrilor de transmisie a interfeței

Compoziția liniilor de date de transmisie

Autobuzul SPI este format din trei linii de semnal ceas în serie (SCLK), Ieșire de date în serie (Sdo), și introducerea datelor în serie (SDI). Autobuzul SPI poate conecta mai multe dispozitive SPI. Dispozitivul SPI care furnizează ceasul SPI este dispozitivul principal sau principal (Maestru), În timp ce alte dispozitive sunt sclavi sau dispozitive sclave (Sclav). Dispozitivele Master și Slave pot realiza o comunicare completă-duplex. Când există mai multe dispozitive sclave, Se poate adăuga o linie suplimentară de selectare a sclavilor.

Dacă simulați autobuzul SPI cu porturile generale IO, este necesar să aveți un singur port de ieșire (Sdo), un port de intrare (SDI), și în funcție de tipul de dispozitiv implementat, Un alt port dacă implementați dispozitive Master și Slave, necesitând atât porturi de intrare, cât și de ieșire; Dacă implementați doar dispozitive master, Un port de ieșire este suficient; Dacă implementați doar dispozitive sclave, Este necesar un port de intrare.

Autobuzul I2C este un două sensuri, cu două fire (SCL, SDA), serial, Standard de interfață multi-master cu un mecanism de arbitraj de bus, făcându-l foarte potrivit pentru o gamă apropiată, Comunicări de date rare între dispozitive. În sistemul său de protocol, Când transmiteți date, Adresa dispozitivului de destinație este inclusă, Activarea rețelelor de dispozitive.

Dacă simulați autobuzul I2C cu porturi generale IO pentru transmisie bidirecțională, un port de intrare/ieșire (SDA) este necesar, și un alt port de ieșire (SCL) este necesară. (Rețineți că înțelegerea mea despre I2C este relativ limitată, Deci această descriere poate fi incompletă.)

Autobuzul UART este un port serial asincron, Deci, în general, are o structură mult mai complexă decât precedentele două porturi seriale sincrone (După cum este introdus în cărțile de microcontroller, Deși nu este considerat complex). În general, este format dintr -un generator de rată de transfer (rata de transfer generată este egală cu 16 de ori rata de transmisie de transmisie), un receptor UART, și un emițător UART, cu două fire în hardware, unul pentru trimitere și unul pentru primire.

Clar, Dacă simulați autobuzul UART cu porturile generale IO, Sunt necesare un port de intrare și un port de ieșire.

Din al doilea punct, este evident că SPI și UART pot realiza duplex complet, Dar I2C nu poate.

Diferențe de protocol de comunicare

SPI

 

SPI

SPI

SPI este un protocol care permite unui dispozitiv principal să inițieze o comunicare sincronă cu un dispozitiv sclav, completând astfel schimbul de date. Această metodă de comunicare are avantajul de a ocupa mai puține porturi; în general, Patru sunt suficiente pentru comunicarea de bază. În același timp, Viteza de transmisie este, de asemenea, foarte mare. În general, necesită ca dispozitivul principal să aibă un controler SPI (dar poate fi simulat și) Pentru a comunica cu jetoanele bazate pe SPI.

Principiul de comunicare al SPI este foarte simplu; necesită cel puțin patru fire, dar trei pot fi și suficiente. Sunt comune tuturor dispozitivelor bazate pe SPI SDI (Intrare de date), Sdo (ieșire de date), SCK (ceas), CS (CIP SELECT). CS controlează dacă este selectat cipul, Operațiunile de sens pe acest cip sunt eficiente numai atunci când semnalul de selectare a cipului este la un semnal de activare predeterminat (nivel înalt sau nivel scăzut). Aceasta permite conectarea mai multor dispozitive SPI în același autobuz.

Urmează cele trei linii responsabile de comunicare. Comunicarea este finalizată prin schimbul de date. Aici, Este important să știm că SPI este un protocol de comunicare în serie, adică datele sunt transmise bit bit. Acesta este motivul pentru care există linia de ceas SCK. SCK oferă impulsuri de ceas, și SDI, Transmiterea completă a datelor SDO pe baza acestor impulsuri. Ieșirea datelor are loc prin linia SDO; Datele se schimbă pe marginea în creștere sau marginea căderii ceasului și sunt citite la momentul imediat după căderea sau creșterea marginii. Un fel de transmisie de date este finalizată în acest fel. Intrarea urmează același principiu. Astfel, Cel puțin opt modificări în semnalul ceasului (un ciclu în sus și în jos constituie o schimbare) Permiteți transmiterea 8 biți de date.

Trebuie menționat că linia de semnal SCK este controlată doar de dispozitivul principal, iar dispozitivele sclave nu pot controla linia de semnal. În mod similar, într-un dispozitiv bazat pe SPI, Trebuie să existe cel puțin un dispozitiv principal.

Această caracteristică de transmisie are un avantaj față de comunicațiile seriale tipice, spre deosebire de comunicarea serială convențională, care transmite cel puțin 8 biți de date continuu, SPI permite transmiterea datelor cu bit, și chiar permite întreruperea, deoarece linia de ceas SCK este controlată de dispozitivul principal. Când nu există nicio tranziție de ceas, Dispozitivul sclav nu colectează sau nu transmite date. Cu alte cuvinte, Dispozitivul principal poate controla comunicarea prin controlul liniei de ceas SCK.

SPI este, de asemenea, un protocol de schimb de date, deoarece liniile de intrare și ieșire a datelor SPI sunt independente, Acestea permit finalizarea simultană a intrării și ieșirii datelor.

Diferite dispozitive SPI au implementări diferite, în principal în ceea ce privește momentul în care datele se schimbă și sunt colectate, cu definiții diferite pentru colectare pe marginea în creștere sau marginea căderii semnalului ceasului. Pentru detalii specifice, Vă rugăm să consultați documentația dispozitivelor relevante.

I2C.

Sunt necesare doar două linii de autobuz o linie de date în serie SDA și o linie de ceas serial SCL.

Fiecare dispozitiv conectat la autobuz poate fi abordat cu o adresă unică și o simplă relație master-sclave stabilită de software. Gazda poate acționa ca un emițător sau un receptor principal.

Este un adevărat autobuz multi-master; Dacă doi sau mai mulți maeștri inițiază simultan transferul de date, Detectarea și arbitrajul conflictelor împiedică corupția datelor.

Ratele de transfer de date bidirecționale în serie pe 8 biți pot atinge până la 100 kgbit/s în modul standard, 400kbit/s în modul rapid, și 3,4mbit/s în modul de mare viteză.

Filtrele pe cip elimină glitch-urile din linia de date a autobuzului pentru a asigura integritatea datelor.

Numărul de IC -uri conectate la același autobuz este limitat doar de capacitatea maximă a autobuzului de 400pf.

UART

Autobuzul UART este un port serial asincron, Deci structura sa este în general mult mai complexă decât cele două precedente porturi seriale sincrone. De obicei, constă dintr -un generator de rată de transfer (care generează o rată de transfer egală cu 16 de ori rata de transmisie de transmisie), un receptor UART, și un emițător UART, cu două fire în hardware, unul pentru trimitere și unul pentru primire.

UART este utilizat în mod obișnuit pentru controlul jetoanelor de computer pentru dispozitivele seriale. Un punct de remarcat este faptul că oferă o interfață de echipament de terminal de date RS-232C, Permiterea calculatoarelor să comunice cu modemuri sau alte dispozitive seriale folosind interfața RS-232C.

UART reprezintă un receptor/emițător universal asincron (port de comunicare în serie asincronă). Include standarde și specificații pentru interfețe precum RS232, RS499, RS423, RS422, și Rs485, făcând din UART un termen general pentru porturi de comunicare în serie asincronă. Rs232, RS499, RS423, RS422, și RS485 sunt standarde de interfață și specificații pentru diverse porturi asincrone de comunicare în serie, Definirea caracteristicilor electrice, rate de transmisie, Caracteristicile conexiunii, și proprietăți mecanice ale interfețelor. Aparțin stratului fizic (cel mai mic strat) concept în rețeaua de comunicații și nu sunt direct legate de protocoalele de comunicare. Protocoalele de comunicare aparțin stratului de legătură de date (următorul strat mai înalt) concept în rețeaua de comunicații. Portul COM este o prescurtare pentru portul de comunicare în serie asincronă pe un computer (computer personal). Din motive istorice, Interfața externă a PC -ului IBM a fost configurată ca RS232, Devenind standardul de facto în industria PC -urilor. Astfel, Porturile COM de pe PC -urile moderne sunt toate RS232. Dacă sunt disponibile mai multe porturi de comunicare în serie asincronă, Sunt numiți COM1, Com2, etc.

Este clar că atât SPI cât și UART pot realiza o comunicare completă-duplex, Dar I2C nu poate.

Usart Universal Sincron Asincron receptor și emițător. (Diferența față de UART este evidentă.)

UART un universal asincron receptor și emițător;

Usart Universal Sincron Asincron receptor și emițător. În general, în microcontrolere, Interfețele numite UART sunt utilizate doar pentru comunicarea în serie asincronă, În timp ce cei numiți USART pot fi folosiți atât pentru comunicare serială sincronă, cât și asincronă.

USB

USB reprezintă autobuzul universal serial, Un standard extern de autobuz pentru conectarea și comunicarea între un computer și dispozitivele externe, Aplicat în domeniul PC. USB acceptă funcțiile plug-and-play și la cald. USB a fost propus de o coaliție, inclusiv Intel, Compaq, IBM, și Microsoft la sfârșitul 1994.

USB

USB

Caracteristicile electrice ale USB și caracteristicile de transmisie includ transceiver-uri USB de mare viteză precum Philips’ 82C251, Ti’s SN65/75LBC031, CF150 al lui Bosch, C250, și UC5350 Intersil; Transceiver-uri USB cu viteză mică includ Philips 82C252, TJA1053, Siemens TLE 6252G; Transceiver-uri USB cu un singur fir includ Philips AU5790, Infinien tle 6255, Delphi DK166153.

Poate

Când autobuzul este inactiv, Orice nod poate începe transmiterea datelor. Dacă două sau mai multe noduri încep transmisia simultan, Arbitrajul de biți bazat pe identificatori rezolvă conflictele de acces. Can este un autobuz de tip difuzat unde toate nodurile primesc date din autobuz, iar un mecanism de filtrare hardware determină dacă mesajul este furnizat nodului.

Există patru tipuri de cadre de date ale cadrelor de mesaje, cadru la distanță, cadru de eroare, și cadru de suprasarcină.

Controlerele de bază pot fi rentabile, cu tampoane de mesaje limitate pentru trimiterea/primirea și mecanismele de filtrare a mesajelor de bază. Controlerele Full CAN oferă costuri și performanțe mai mari cu tampoane capabile să manipuleze 8 sau mai multe mesaje pentru trimiterea și primirea. Controlerele Standard pot gestiona mesajele cu identificatori pe 11 biți, În timp ce controlerele extinse pot gestiona atât mesaje de identificare pe 11 biți, cât și pe 29 de biți. Can declanșat de timp (Ttcan) Programul controlorilor pot face mesaje în funcție de timp și evenimente, Îmbunătățirea performanței generale și a predictibilității comportamentului rețelei CAN.

Octeții de date sunt transmise începând de la cel mai semnificativ bit. Un octet de date pe 8 biți poate fi transmis într-o singură operație de trimitere, cu viteza maximă a autobuzului CAN fiind de 1Mbps.

Majoritatea pot microcontrolere necesită un transceiver extern pentru a se conecta la autobuzul fizic. Piața oferă transceiver de mare viteză precum Philips’ 82C251, Ti’s SN65/75LBC031, CF150 al lui Bosch, C250, și UC5350 Intersil; și transceiver-uri cu viteză mică precum Philips 82C252, TJA1053, și Siemens TLE 6252G.

Alegerea autobuzului în serie

Microcontrolere (µc) sunt la baza produselor electronice avansate de astăzi, necesitând comunicarea cu unul sau mai multe dispozitive periferice. Tradiţional, µc Perifericele au fost conectate prin date mapate cu memorie și autobuze. Acest tip de interfață necesită un număr minim de pini (Excluzând puterea și terenul) 8 (date) + 1 (R // w) + 1 (/CS) + n linii de adresă [n = log2(Registrul intern sau numărul de octeți de memorie)]. De exemplu, comunicarea cu un periferic de 16 octeți necesită 8 + 1 + 1 + 4 = 14 pini. Această interfață oferă acces rapid, dar crește dimensiunea pachetului și costul total datorită numărului mai mare de pini. Pentru a reduce costurile și dimensiunile de ambalare, Interfețele seriale sunt alternative ideale.

Selectarea unui autobuz în serie nu este ușoară. În afară de a lua în considerare ratele de date, Ordine de transmisie de biți de date (cel mai semnificativ bit în primul rând sau ultimul), și tensiune, Proiectanții ar trebui să ia în considerare modul de selectare a unui periferic (prin intermediul hardware -ului cip selectează intrări sau protocol software), Cum se sincronizează perifericile cu µc (Utilizarea unei linii de ceas hardware sau informații de ceas încorporate în fluxul de date), dacă datele sunt transmise pe o singură linie (comutare între “ridicat” şi “scăzut”) sau pe o pereche diferențială (două linii care comută în direcții opuse simultan), și dacă liniile de comunicare folosesc rezistență potrivită la ambele capete (de obicei pentru semnalizare diferențială), de neegalat, sau potrivită la un capăt (comun pentru autobuzele cu un singur capăt). Masă 1 prezintă diferențe între diferite sisteme de autobuze comune sub formă matricială. Doar patru din 16 Combinațiile posibile sunt bine cunoscute.

Pe lângă aceste caracteristici, Aplicațiile specifice pot avea cerințe suplimentare, cum ar fi metodele de alimentare cu energie electrică, izolare, suprimarea zgomotului, Maxim μc (gazdă) la periferic (sclav) Distanța de transmisie, și metode de conectare la cablu (tip de autobuz, Tipul stea, Protecția inversă a polarității, etc.). Aplicații precum automatizarea clădirilor, control industrial, Citirea contorului, etc., au stabilit standarde pentru astfel de cerințe.

I²C/SMBUS vs. 1-Autobuz de sârmă

Dacă aplicația poate furniza o linie de ceas, Selecția autobuzului se poate extinde la dispozitivele I²C/SMBUS. Conform specificației SMBUS, Poate fi văzut ca un derivat al specificației autobuzului de 100kbps I²C cu funcții de timp adăugate. În cazurile în care un nod pierde sincronizarea cu maestrul autobuzului, Funcția de expirare previne blocarea autobuzului, în timp ce sistemul I²C necesită o resetare electrică pentru a se recupera din astfel de condiții de eroare. Sistemul cu 1 fire resetează/detectează prezența în faza de inițializare a interfeței de comunicare.

Pe lângă linia de ceas, I²C/SMBUS oferă un bit de confirmare pentru fiecare octet transmis în autobuz, reducerea ratelor de date eficiente de 12%. Procesul de comunicare începe cu o condiție de pornire urmată de adresa dispozitivului sclav și un bit de direcție a datelor (Citiți/scrieți), terminând cu o stare de oprire. Pentru sistemul cu 1 fire, Cerințele stratului de rețea trebuie îndeplinite mai întâi (Adică, Selectarea unui dispozitiv specific prin comenzi ROM de căutare sau difuzare), apoi trimiterea codurilor de comandă legate de anumite dispozitive care afectează direcția de transmisie a datelor (Citiți/scrieți).

O problemă notabilă cu sistemele originale I²C și SMBUS BUS este spațiul lor limitat de adrese pe 7 biți. Cu mai mult de 127 Diferite tipuri de dispozitive disponibile, Este imposibil să deduceți funcționalitatea dispozitivului doar de la adresa sclavului. În plus, Multe dispozitive I²C permit utilizatorilor să stabilească în mod arbitrar unul sau mai mulți biți de adresă să atașeze mai multe dispozitive identice în autobuz, reducerea în continuare a spațiului de adrese disponibil. Adresa de soluționare a conflictelor implică segmentarea sistemului de autobuze în mai multe segmente care pot fi activate sub control software la un moment dat. Acest lucru necesită hardware suplimentar și complică firmware -ul aplicației. Sistemele I²C nu au capacități de descoperire a nodurilor de rețea sau de enumerare, Făcând dificilă gestionarea rețelelor cu numărarea dinamică a numărului de noduri. Această problemă este abordată de protocolul de rezoluție de adresă în versiunea de specificații SMBUS 2.013, Deși dispozitivele SMBus acceptate sunt rare.

Interfață SPI și microwires

SPI și microwire (un subset de SPI) necesită o linie suplimentară de selectare a cipului pentru fiecare dispozitiv sclav. Datorită semnalului de selectare a cipului, Protocolul SPI definește numai comenzi de citire/scriere pentru adrese de memorie și registre de stare fără a oferi funcționalitate de confirmare. De obicei, Dispozitivele SPI utilizează pini separați pentru introducerea și ieșirea datelor. Deoarece ieșirea datelor este tri-stat, cu excepția în timpul operațiunilor de citire, Cei doi pini de date pot fi conectate împreună pentru a forma o singură linie de date bidirecțională. Autobuzele SPI sunt alese atunci când alte sisteme de autobuz nu oferă funcționalitățile necesare sau când sunt necesare rate mai mari de transfer de date, Suport de până la 2Mbps sau rate mai mari. Cu toate acestea, Generarea de semnale CS pentru a aborda anumite dispozitive este un dezavantaj al SPI și microwires. Ca I²C, Nu acceptă descoperirea nodului. Gazda nu poate deduce funcționalitatea dispozitivului din adrese de sclavi logici, îngreunând gestionarea rețelelor cu noduri care se schimbă dinamic.

RS-485, LVDS, Poate, USB 2.0, și Firewire

Aceste standarde ilustrează caracteristicile de transmisie diferențială. Cel mai rapid dintre aceste sisteme de autobuze sunt Firewire și USB 2.0, care folosesc conexiuni electrice punct-la-punct. Cu noduri sau hub -uri avansate, Pot forma autobuze virtuale cu topologii de copaci, Trimiterea pachetelor de date de la sursă la punctul final (USB) sau peer-to-peer (Firewire), cu rate de date de explozie de până la 480Mbps (USB 2.0) sau 1600Mbps (Firewire). Pachetele de date cu dimensiuni limitate și mecanismele de comunicare de recepție/buffer/rezidență cresc timpul de transmisie, reducând astfel debitul de date efectiv. Topologia și protocolul USB permit până la 126 noduri, în timp ce Firewire susține până la 63 Noduri cu o distanță maximă de la nod la nod de 4,5 m folosind cabluri pasive. Proiectat pentru periferice pentru PC, multimedia, control industrial, și aplicații de aviație (Doar Firewire), Dispozitivele USB și Firewire acceptă o pliere la cald. Această caracteristică permite modificări dinamice ale numărului de noduri de rețea.

LVDS, RS-485, și poate implementa topologii de autobuz care conectează mai multe gazde. Semnalizare diferențială de joasă tensiune (LVDS) oferă cea mai mare viteză printre aceste standarde, capabil să funcționeze la 100 Mbps pe distanțe de până la 10m. Rata reală a datelor și debitul depind de dimensiunea rețelei. Standardul electric LVDS este proiectat pentru aplicații de backplane și acceptă pornirea la cald, dar nu include niciun protocol.

RS-485 definește, de asemenea, numai parametrii electrici, specificarea capacității de încărcare și a sarcinilor maxime pe linie de autobuz (32), nu în ceea ce privește nodurile. Încărcarea unui nod electric poate fi mai mică de 1. Ratele tipice de date pot atinge până la 35Mbps pe distanțe de 12m, și 100kbps pe distanțe de 1200m, Suficient pentru aplicații de achiziție și control de date. Protocoalele de dispozitiv RS-485 se bazează adesea pe protocoale proiectate inițial pentru RS-232.

Seria RS

Seria RS

În contrast, rețeaua de zona controlerului (Poate) Definește un protocol de comunicare pentru controlul distribuit în timp real, cu securitate foarte mare, vizat în mod specific aplicațiile de automatizare auto și industrială. Ratele de date variază de la 1Mbps pe distanțe de până la 40m până la 50kbps pe distanțe de până la 1000m. Metoda de adresare se bazează pe mesaje, iar protocolul în sine nu limitează numărul de noduri. Nodurile pot suporta pornire la cald, permițând modificări dinamice în numărarea nodurilor de rețea.

Concluzie

În simplu, Sisteme de autobuz cu costuri reduse în comparație cu autobuzele LIN și SensorPath, 1-Sistemele de sârmă oferă cea mai largă gamă de funcții și drivere de rețea pentru dispozitivele sclave. I²C și SMBUS necesită linii de date și motive plus linii de ceas și surse de alimentare VCC, dar oferă multe funcționalități ale dispozitivului. SPI și microwires necesită linii suplimentare de selectare a cipurilor, dar oferă rate de date mai mari. Pe lângă susținerea alimentării cu energie electrică și a descoperirii nodurilor de rețea, Interfața cu 1 fire și protocolul suportă pornire la cald, de obicei găsit doar în sisteme de mare viteză folosind semnalizare diferențială și SMBUS 2.0 Produse compatibile. Ibutton® Produsele sunt utilizate pe scară largă ca dispozitive cu o sârmă cu 1; Plugarea la cald este modul lor normal de funcționare. Aceste dispozitive s -au dovedit extrem de eficiente în aplicații precum numerele de identificare globală, placa de circuit/identificarea și certificarea componentelor, Sensionarea temperaturii, și dispozitive de acționare. O altă aplicație de succes a tehnologiei cu 1 fire include mecanisme de stocare sigură și de răspuns la provocare pentru realizarea autentificării cu costuri reduse și a protecției codului software.

Prev:

Următorul:

Lasă un răspuns

Lăsaţi un mesaj