Program Standarní rozhranní Paralelní port Sériový port, IRDA Firewire USB, Bluetooth (příště) Rozhraní pro pevné disky ATA, SATA, SCSI (příště) Cvičení: Blikající stromeček, řízení křižovatky, infračervený příjímač, osciloskop ze zvukové karty, měření sběrnice I2C, měření sběrnice USB, měření komunikace klávesnice, zvuková karta z paralelního portu, stavba I2C převodníku do paralelního portu.
Paralelní rozhraní Paralelní port, rozhraní centronics Běžně sloužil pro připojení tiskárny V dnešních počítačích se zachoval Podle módu se mění parametry (piny) portu Piny: vstupní řídící datové (jen někdy podle módu portu) výstupní datové D0-D8 řídící 1. Compatibility Mode. 2. Nibble Mode. (Protocol not Described in this Document) 3. Byte Mode. (Protocol not Described in this Document) 4. EPP Mode (Enhanced Parallel Port). 5. ECP Mode (Extended Capabilities Mode).
Zapojení vývodů Pin No (D- Type 25) (Centroni cs) SPP Signal Directio n In/out Register Hardware Inverted 1 1 nstrobe In/Out Control Yes 2 2 Data 0 Out Data 3 3 Data 1 Out Data 4 4 Data 2 Out Data 5 5 Data 3 Out Data 6 6 Data 4 Out Data 7 7 Data 5 Out Data 8 8 Data 6 Out Data 9 9 Data 7 Out Data 10 10 nack In Status 11 11 Busy In Status Yes 12 12 Paper-Out / Paper-End In Status 13 13 Select In Status 14 14 nauto-linefeed In/Out Control Yes 15 32 nerror / nfault In Status 16 31 ninitialize In/Out Control 17 36 nselect-printer / nselect-in 18-25 19-30 Ground Gnd In/Out Control Yes Table 1. Pin Assignments of the D-Type 25 pin Parallel Port Connector.
Softwarový protokol Jednoduše se řekne že posíláme tiskárně data Ona signálem odpoví že data přijala
Jaké porty používá paralelní port? Standartní base adresy 0x378 0x287 0x3BC (paralelní port na grafické kartě) Adresa portu je zapsána v BIOS data area 0000:0408 LPT1's Base Address 0000:040A LPT2's Base Address 0000:040C LPT3's Base Address Datový port base + 0 (pro zápis, čtení podle módu) Bit 7 Data 7 Bit 6 Data 6 Bit 5 Data 5 Bit 4 Data 4 Bit 3 Data 3 Bit 2 Data 2 Bit 1 Data 1 Bit 0 Data 0
Zvuková karta z paralelního portu Známá pod názvem COVOX je to v podstatě D/A převodník složený z odporů (digitálně analogový převodník) D/A převodník: převádí binární reprezentaci na analogovou (spojitou) proud nebo napětí různé druhy používají se přepínače, odporové sítě, zdroje proudu
Úloha na cvičení - Knight Rider Zadání: vyrobte 2 pruhy, jezdících diod, použijtte tyto IO: 74LS164 nebo 74LS175 (registry) nejprve simulujte s tlačitky později připojte přes paralelní port Postup návrhu: seznámení s IO (integrovaný obvod) návrh schématu výstupy z posuv. registru přivedeme na diody, pokud je v registru 1 dioda svítí prototyp na prototypové desce řídící program
Opakování posuvný registr Registr datový vstup D hodinový vstup CLK případně signál ENABLE výstup Q nebo i negace Q D flipflop do registru zapíše hodnotu datového vstupu D na náběžnou hranu posuvný registr seriový vstup, paralelní výstup (jsou možné i další kombinace) funkce je podobná jako u instrukcí posuvu, s každým taktem posun o 1 jedním směrem
Co dělat pokud posuvný registr nemáme? Stačí pokud máme např. k dispozici registry typu D (SN74LS154) když je propojíme sériově (vstup na výstup) dostaneme posuvný registr
Zpožďovací funkce http://www.ctyme.com/intr/int.htm Použijte funkci BIOSu Int 15/AH=86h - BIOS - WAIT (AT,PS) AH = 86h CX:DX = interval in microseconds Return: CF clear if successful (wait interval elapsed) CF set on error or AH=83h wait already in progress AH = status (see #00496)
Signály generované počítačem Hodiny a sériový vstup vybereme např signály D0 a D1 D1 budou hodiny D0 budou data D1D0 0 0 hodiny jsou v nule, data také 0 1 data změníme 1 1 hodiny změníme, registr se posune o 1 (změna 0 na 1 = náběžná hrana) 0 X další cyklus Reprezentujeme Stavy LED diod 8mi bitovým registrem, kde je 1 bude LED svítit pokud změny provedeme rychle uživatel uvidí svítit správné diody
Sériový port obecně sériové rozhraní jeden datový, více řídících na PC konektory: DB9 devítipinový samec DB25 25-pinový samec Podle rozhraní RS-232 typicky se připojuje myš nebo modem (spíše historie) dnes již spíše z historických důvodů, USB a Firewire jsou mnohem rychlejší ovšem různá speciální zařízení (čtečky čarových kódů, touch screen a domácky vyrobené zařízení se stále přes sériovou linku připojují, platí především prosíťová zařízení mající operátorskou konzoli připojenou přes sériové rozhraní maximální rychlost přenosu cca 115000 bit/s
Seriový port zapojení podle specifikace RS-232 se zařízení mohou jmenovat Data Terminal Equipment (DTE) - počítač Data Communications Equipment (DCE) modem, tiskárna Signal DB-25 DB-9 Common Ground 7 5 Transmitted Data (TD) 2 3 Received Data (RD) 3 2 Data Terminal Ready (DTR) 20 4 Data Set Ready (DSR) 6 6 Request To Send (RTS) 4 7 Clear To Send (CTS) 5 8 Carrier Detect (DCD) 8 1 Ring Indicator (RI) 22 9 signály jsou označeny z pozice DTE - TD, DTR, and RTS generuje počítač RD, DSR, CTS, DCD, a RI generuje DCE. Zem je společná, což může dělat problémy na větších vzdálenostech, nebo u zařízení pripojených k různým el. sítím.
Seriový port systémové prostředky v Linuxu se jmenuji ttys0 ttys1... PORT NAME Interrupt # Starting I/O Ending I/O COM1 IRQ 4 0x3f8 0x3ff COM2 IRQ 3 0x2f8 0x2ff COM3 IRQ 4 0x3e8 0x3ef COM4 IRQ 3 0x2e8 0x2ef
Null modem kabel K přímému propojení dvou počítačů, stačí 3 vodiče zkuste zjistit na internetu jak takový kabel zapojit
Více o rychlosti a komunikaci Rychlost měříme v bitech za sekundu (baud) 300, 1200, 2400, 9600, 19200, etc. Obecně počítač i zařízení se musí na komunikační rychlosti předem domluvit (nebo ji nastavit ručně ve většině případů) Parametry co se nastavují: rychlost (už víme) stop bity (použito pro synchronizaci), posílají se za každým odeslaným byte parita jednoduchý kontrolní funkce sudá pokud je počet jedniček v byte sudý je 1 lichá parita opačně Notace zápisu konfigurace: 8/N/1-8 bitů v byte žádná parita 1 stopbit Flowcontrol tok požadavků XON/XOFF pro hadshake se používají speciální data ne signály RTS/CTS, DTR/DSR klasika, přes signály
IRDA Je zkratka pro The Infrared Data Association (IrDA) a definuje: komunikační protokoly fyzické parametry infračerveného rozhranní IrDA optická komunikace na krátké vzdálenosti IrDA se používá pro komunikaci mezi palmtopy/handheldy a PC IrDA specifikace zahrnuje IrPHY, IrLAP, IrLMP, IrCOMM, Tiny TP, IrOBEX, and IrLAN. detekce funkce: neviditelné infračervené záření uvidíte pokud se podíváte digitálním fotoaparátem
LIRC Přijímač i vysílač infra Příjmat data dálkovým ovladačem
Seriový jednoduchý teploměr Měříme časovou konstantu za jak dlouho se nabije kondenzátor DTR 1 měříme za jak dlouho bude DSR jedna Čas se mění protože se mění i odpor s teplotou
Firewire IEEE1394 Pro přenos digitálního videa mezi kamerou a počítačem Isochronní přenos (trvá stanovený čas) OHCI standard zajišťuje kompatibilitu mezi zařízeními bezpečnostní problémy DMA bez kontroly, lze přistoupit kamkoli do paměti Není hotswap Přenosová rychlost: mezi 100, 200, or 400 Mbit/s (přesněhi 98.304, 196.608, nebo 393.216 Mbit/s, ale běžně S100, S200, and S400) délka kabelu max 4.5 metru, ovšem 16 kabelů můžeme spojit kříženě a dostaneme se na 64m
První krůčky v C Datové typy: void speciální typ nespecifikovaný/prázdný int, unsigned int, signed int = DWORD char (zase signed unsigned) = BYTE int * = Ukazatel na proměnou typu int int nazev[32] pole 32 hodnot typu int (paměť 4*32 byte) Funkce mají jeden návratový typ Deklarace: navratovytyp nazev (prametry); int main(void) { deklarace proměných tělo programu } P ROGRAM = algoritmus + data
Programové konstrukce rozhodování if (podmínka) { příkaz else příkaz } Iterace for (i=0;i<10;i++) { příkaz1; } iterace s podmínkou while (podmínka) { příkaz2; }