Documente Academic
Documente Profesional
Documente Cultură
Introducere:
• exemplu: conectorul protului paralel (25-pini) -DB25 pentru imprimanta
• un canal I/O foarte util pentru conectarea propriilor circuite; folosit pentru a efectua unele experimente
de interfatare hardware;
• la computere moderne(laptop) – este prezenta numai conexiunea USB pentru dispozitive periferice;
• in calcul este o interfata fizica de comunicare seriala prin care informatiile transfera cate un bit in
acelasi timp (spre deosebire de portul paralel)
• computerele moderne, portul serial este inlocuit cu USB si FIREWIRE pentru conexiuni la dispozitive
periferice.
• Utilizat in aplicatii precum: sisteme de automatizare industriala, analize stiintifice;
• Necesita foarte putin software de suport din sitemul gazda;
Specificatiile electrice ale portului serial sunt continute in standardul RS232C EIA (asociatia Industriei
Electronice). Specifica mai multi parametrii:
• Logic 0 – va fi intre +3 si 25V
• Logic 1 – va fi intre -3 si -25V
• Regiunea -3 si +3V este nedefinita.
• O tensiune de circuit deschis nu trebuie sa depaseasca 25V
• Un curent de scurtcircuit nu trebuie sa depaseasca 500mA
RS232D a existat in 2 tipuri – controlul prin D-Type 25 si controlul prin D -Type 9 -> conectori masculini
pe sptatele PC-ului.
DB25
DB9
TD
RD
RTS
CTS
DSR
1. Registru de transmisie (THR) – selectat daca bitul DLAB al rigistrului LCR este 0.
2. Registru de receptie (RBR) – selectat daca bitul DLAB al reg. LCR este 0. Un caracter receptionat este
pus in acest registru. Prezenta unui caracter in reg. de receptie se poate determina prin testarea bitului
0 al reg. LSR.
3. Registrele de divizare (ISB, MSB) – contin valoarea cu care trebuie divizata frecventa ceasului propriu
al circuitului 16x50 pt a se obtine debitul dorit. LSB - contine octetul mai putin semnificativ si MSB
– octetul mai semnificativ. Registrele sunt accesibile daca bitul DLAB al reg. LCR este 1.
4. Registru de validare a intreruperilor (IER) – accesibil daca bitul DLAB al reg LCR este 0.
5. Registrul de identificare a intreruperilor (IIR) – accesat doar pentru citire.
6. Registrul de control al FIFO (FCR) – pentru scriere
7. Registrul de control linie (LCR) – prin inscrierea registrului de control al liniei se pot stabili parametrii
comunicatiei seriale.
8. Registrul de control modem (MCR) – utilizat pt controlul comunicatiei cu modemul.
9. Registrul de stare linie (LSR) – indica starea liniei de comunicatie (bitii 6,5 se refera la transmisie, biti
4->0 receptie)
10. Registru de stare modem (MSR) – contine informatii despre starea modemului. (Biti 7-4 indica starea
curenta, 3-0 indica modificarea starii)
11. Registrul temporar (SR) – nu este utilizat pentru comunicatie; poate fi folosit pentru memorarea
temporara a unui octet.
DLAB – Divisor Latch Access Bit
D- si D+ sunt folosite pentru semnal diferential de date; sunt transmise pe o pereche de fire rasucite care
ajuta la combaterea efectelor de zgomot electromagnetic pe linii mai lungi.
1 si 4 sunt fire de putere
Lungimea maxima a unui cablu USB standard (USB 2.0) este de 5m.
Comunicarea USB poate utiliza oricare din cele 4 tiprui de transfer de date:
1. Transfer de control – pachete de date scurte pentru controlul si configurarea disp. In special la atasarea
lui
2. Transfer de bulk (vrac) – pachete de date in cantitati relativ mari
• Utilizate de scanarele si adaptoarele ScSI
3. Transferuri intrerupte – pachete de date intervievate periodic
4. Transferuri izotermice – fluxuri de date in timp real, cu cerinte mai mari pentru latimea de banda decat
pentru fiabilitate; utilizate de disp. Video si audio
Acccesarea disp. USB din aplicatiile JAVA
• Limbajul de programare java ofera putin suport pentru accesul hardware asa ca scrierea aplicatiilor
Java care sa interactioneze cu disp USB, este dificila
• Proiectul jUSB creat in Iunie2000, a avut ca scop furnizarea unui set de API-uri Java pentru a avea
acces la disp USB pe Linux
• API accepta transferuri de control, in vrac si intrerupte.
• API-ul jUSB include o serie de pachete : { usb.core; usb.linux; usb.windows; usb.remote; usb.util;
usb.device; usb.view}
Interfetele si clasele in jUSB de la usb.core (jUSB API)
Java GUI
Pachetul SWING defineste 2 tipuri de componente: -de nivel superior (Jframe, Japplet,
Jwindow, jDialog) - componente usoare Jbutton, JPanel, JMenu.
JFrame- o fereastra de nivel superior cu titlul si o bordura
JDialog – fereastra de dialog numita sa transporte o notificare temporara (msg de eroare, avertismente)
JPanel – cel mai frecvent utilizat panou de continut
JAVA WEB SERVICES
• Interfete (api) sau API-uri WEB care pot fi accesate printr-o retea si executate pe un sistem la distanta
• Clienti si servere care comunica prin protocolul HTTP utilizat pe web pentru crearea unui serviciu
WEB.
1. Alegerea unui Container
-putem lansa serviciul web intr-un web container sau intr-un EJB container. Depinde de alegerea de
impementare.
2. Crearea serviciului web pt o clasa Java
Lansarea si testarea serviciului WEB
Cand lansam un serviciu web intr-un container web, IDE te lasa sa testezi serviciul web sa vezi daca
functioneaza dupa cum ne asteptam. Aplicatia de testare, asigurata de GlassFish, este integrata in IDE in acest
scop. Pentru serverul Web Tomcat, este un tool similar. Oricum, in timp ce pagina GlassFish Tester va permite
sa introduceti valori si sa le testati, Tomcat web server nu permite asta. In ultimul caz, putem doar sa vedem
ca serviciul Web este lansat, dar nu putem testa valorile.
SERIAL PORT:
#include <stdio.h> Outb(0x00, port +1); //Set bond rate devisor latch hig
#include <unistd.h> Outb(0x03, port+3); //8bits, no parity, 1 step bit
#include <asm/io.h> Outb(0xC7,port +2); // fifo control register
#define port 0x3F8 Outb(0x0B, port +4); //turn on DTR, RTS and OUT2
/*defines Serial Port Base Address*/ Printf (“\n Sample Comm’s Program \n”);
/*COM1 0x3F8*/ Outb(c,port); //send char to serial port
/*COM2 0x2F8*/ }
/*COM3 0x3E8*/
/*COM4 0x3F8*/
Int main (){
Char c =’a’;
Outb(0,port+1); //turn off interupts – Port1
Outb(0x80, port +3); //SET DLAB ON
Outb(0x03, port _0); //set band rate Devisor latch
low byte
/* Default 0x03 = 38,400BPS*/
/*0x02 = 57600 BPS*/
/*0x06 = 19,200BPS*/
/*0x0C = 9600 BPS*/
/*0x18 = 4800 BPS*/
/*0x30 = 2400 BPS*/
Comanda leduri 8 buc prin port paralel
#inlude<stdio.h> outport(DATA, 0x80);
#inlude<conio.h> sleep(1);}
for(i=0;i<=b;i++){outport(CONTROL, 0x03);
sleep(1);outport(CONTROL, 0x0f);
sleep(1);outport(CONTROL, 0x09);
sleep(1);outport(CONTROL, 0x0a);
sleep(1);outport(CONTROL, 0x0b);
outport(DATA, 0x01);
sleep(1);outport(DATA, 0x02);
sleep(1);outport(DATA, 0x04);
sleep(1);outport(DATA, 0x08);
sleep(1);outport(DATA, 0x10);
sleep(1);outport(DATA, 0x20);
sleep(1);outport(DATA, 0x40);
sleep(1);