You are on page 1of 28

154

Chng

GIAO TIEP QUA CONG SONG SONG


Cong song song thng dung e giao tiep may vi tnh vi oi tng ben ngoai nh cac ac iem: - Lap trnh n gian, de ket noi - Toc o nhanh. Khuyet iem cua cong song song la khoang cach ngan do tnh chong nhieu kem. Theo tieu chuan IEEE 1284 nam 1994 co 5 che o hoat ong cho cong song song. - SPP :cong song song chuan co 3 mode la: + Compatibility: xuat 8 bit + Nibble: nhap 4 bit + Byte: cong hai chieu - EPP: cong song song tang cng (enhanced parallel port) - ECP: cong m rong kha nang (extended capability port) Tuy loai mainboard co the ho tr ca 5 mode hay ch vai mode. Cong SPP co the truyen d lieu song song 8 bit t may tnh ra vi van toc 50 Kbytes/sec en 150 Kbytes/sec. Khi muon nhap d lieu vao may tnh co the dung mode Nibble truyen 4 bit hay mode Byte truyen 8 bit. Cong EPP va ECP dung them phan cng ho tr nen van toc truyen nhanh hn, co the en 2 Mbytes/sec, thu phat song song 8 bit. Thay oi che o cua cong song song bang cach vao BIOS

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

155

SETUP cua may tnh khi khi ong may. Cac may tnh khong co cong song song co the s dung chuyen oi USB - Parallel Port hay PCMCIA (Personal Computer Memory Card International Association) - Parallel Port.

Ngoai nhiem vu giao tiep, cong song song con dung lam khoa ban quyen dongle, phan mem co bao ve oc ma khoa t vi mach tren dongle, neu khong co se ch cho phep s dung che o gii han.

156

CHNG 6

6.1 Cong SPP Cong song song co au noi 25 chan cai thng dung e ket noi vi may in au noi Centronics 34 chan.

Bang 6.1 cho s o chan va y ngha cac chan cua cong SPP khi dung vi may in, dau / co ngha tch cc thap. V du, chan 15 la /Error hng vao, neu chan nay xuong mc 0 la co loi. Cot ao ghi ch Co tc la tn hieu c ao mc, v du chan 17 khi a mc logic 0 ng vi chan nay vao thanh ghi ieu khien th chan 17 xuat hien mc 1.
Bang 6.1: S o chan cua au noi pha may tnh (cong SPP)

va pha may in
Tn hieu SPP /Strobe Data 0 Data 1 Data 2 Data 3 Data 4 Data 5

Chan

Chan

D 25 Centronics 1 2 3 4 5 6 7 1 2 3 4 5 6 7

Hng Thanh ghi ao Vao/Ra ieu khien Co Ra Ra Ra Ra Ra Ra Data Data Data Data Data Data

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

157

8 9 10 11 12 13 14 15 16 17 18 - 25

8 9 10 11 12 13 14 32 31 36 19 - 30

Data 6 Data 7 /Ack Busy Paper Out Select

Ra Ra Vao Vao Vao Vao

Data Data Trang thai Trang thai Co Trang thai Trang thai

/Auto-Linefeed Vao/Ra ieu khien Co /Error /Init Vao Trang thai

Vao/Ra ieu khien

/Select Printer Vao/Ra ieu khien Co Mass

Ngo ra cong song song tng thch vi cong TTL, dong cap va thu khoang vai mA en 16mA tuy loai ket cau phan cng (cong nghe ASIC). Giao tiep cong song song vi may in thng c thc hien theo H.6.1

158

CHNG 6

Hnh 6.1: S o ket noi va bat tay

Ban au d lieu 8 bit c a ra, may tnh oc chan Busy neu mc thap th may in ranh, se a ra tn hieu Strobe rong 1sec va may in oc d lieu, oc xong se bao tr lai bang ACK rong 5sec. Neu may in ban th Busy se mc cao. Viec giao tiep c thc hien qua 3 thanh ghi: thanh ghi d lieu, thanh ghi trang thai va thanh ghi ieu khien . Thong thng s dung hai a ch goc la: 378H cho LPT1 (line printer 1) 278H cho LPT2 Mot so may dung a ch 03BC. - Thanh ghi d lieu co a ch goc +0, 8 bit, nhan d lieu e xuat ra ngoai, d lieu c chot.. - Thanh ghi trang thai a ch goc +1 la thanh ghi ch oc dung e nhan tn hieu t ngoai vao, co 5 tn hieu vao.
D7 Busy 11 /ACK 10 Paper Out 12 Select 13 /Error 15 /IRQ X D0 X

Chu y la bit Busy c ao, ngha la neu chan 11 co ien ap +5V th bit D7 cua thanh ghi trang thai mc logic 0, bit D2 bang 0 khi co ngat t /ACK. - Thanh ghi ieu khien co bon ng ra ieu khien, a ch goc +2, cac ng nay dung cc thu h do o co the giao tiep hai chieu.

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

159

D7
X X Cho phep cong hai chieu Cho phep IRQ qua ACK Chon may in /Select 17 Khi ong may in /Init 16 Xuong hang /Auto Linefeed 14

D0
Kch /Strobe 1

Cac chan 1, 11, 14 va 17 c ao phan cng, bit D6 thanh ghi trang thai (chan so 10) t 1 0 th gay ra ngat IRQ7 neu c cho phep bi D4 cua thanh ghi ieu khien =1.

Hnh 6.2 S o thanh ghi d lieu hai hng

Mot so mainboard (H6.2) ho tr giao tiep hai chieu qua thanh ghi d lieu, bit D5 cua thanh ghi ieu khien bang 1 th cho phep cac chan 2..:9 cua thanh ghi d lieu co chieu i vao, ngha la co the a tn hieu vao cac chan nay roi oc thanh ghi d lieu. Cac chan cua thanh ghi ieu khie n co ngo ra cc thu h nen co the nhan tn hieu vao neu trc o ta a nap 8 bit sao cho cac ngo ra ng vi thanh ghi nay len 1 (s o H 6.3). Do cac tn hieu /Busy, /Select, /AF va /Strobe a c ao phan cng nen ta them cac cong ao, logic oc vao phan anh ung mc tn hieu.

160

CHNG 6

Hnh 6.3: Giao tiep song song hai chieu qua cong SPP

Trong mot so trng hp, cac chan ra cua thanh ghi ieu khien khong dung loai cc thu h ma dung cot totem ch co mot chieu xuat, luc o co the dung bo phan kenh e oc 4 bit d lieu vao thanh ghi trang thai, oc hai lan se c 8 bit d lieu (H6.4). Trong s o chan /Strobe c dung e chon na byte thap khi mc 0 tc la bit D0 cua thanh ghi ieu khien mc 1. Vi s o nay viec xuat nhap d lieu 8 bit c thc hien nh sau: 1- Xac nh a ch goc cua cong LPT 2- Muon xuat d lieu, ghi d lieu 8 bitvao thanh ghi d lieu, muon xuat nhieu hn 8 bit co the dung kem cac tn hieu Init, Select bang cach ghi vao thanh ghi ieu khien byte thch hp. 3- Muon oc d lieu, ghi bit D0 = 1 vao thanh ghi ieu khien, oc 4 bit cao cua thanh ghi trang thai (4 bit thap cua d lieu vao), roi di phai 4 bit, sau o cho D0 cua thanh ghi ieu khien bang 0, oc 4 bit cao cua thanh ghi trang thai (4 bit cao cua d lieu vao), ket hp hai lan oc ta c 1 byte roi exclusive OR vi 88H e ao

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

161

hai bit D7 va D3 (do Busy ao).

Hnh 6.4: Vao 8 bit vi 74LS157

Hnh 6.5: Chuyen oi AD dung ADC0804

162

CHNG 6

Hnh 6.6 AD dung ADC0809

V du lap trnh Xuat tr cua bien oval1 ra thanh ghi d lieu va oval2 ra thanh ghi ieu khien, nhap gia tr inval t thanh ghi trang thai.
Trong ngon ng C
# define DATA 0X378 # define STATUS DATA + 1 # define CONTROL DATA + 2 int oval1, oval2, inval; oval1 = 0X81; outportb (DATA, oval1); oval2 = 0X08; outportb (CONTROL, OVAL2 ^ 0x0b); inval = ((inportb (STATUS) ^ 0X80;

Trong ngon ng BASIC

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

163

DATA = &H378 STATUS = DATA + 1 CONTROL = DATA + 2 OVAL1 = 129 OUT DATA, OVAL1 OVAL2 = 75 OUT CONTROL, OVAL2 XOR 11 INVAL = ((INP (STATUS) XOR 128) AND &HF8) / 8

Lap trnh cho s o H6..4 oc 8 bit dung C

Lap trnh cho s o H6..4 oc 8 bit dung VB

outportb(CONTROL, inportb(CONTROL) | 0x01); /* Chon na byte thap (A)*/ a = (inportb(STATUS) & 0xF0); /* oc na byte thap */ a = a >> 4; /* Di phai 4 bit */ outportb(CONTROL, inportb(CONTROL) & 0xFE); /* Chon na byte cao (B)*/ a = a |(inportb(STATUS) & 0xF0); /* oc na byte cao */ byte = byte ^ 0x88;

Private Declare Function Inp32 Lib inpout32.dll (ByVal adr As Integer) As Integer Private Declare Sub Out32 Lib inpout32.dll (ByVal adr As Integer, ByVal data As Integer) Private Sub cmdRead_Click() Dim hbytethap, hbytecao, data Out32 &H37A, 1 hbytethap = Inp32(&H379) And &HFF hbytethap = hbytethap \ 16 Out32 &H37A, 0 hbytecao = Inp32(&H379) And &HF0 data = hbytecao Or hbytethap data = data Xor &H88 txtIn.Text = data End Sub

Lap trnh s o Hnh 6.6


Private Declare Function Inp32 Lib "inpout32.dll" (ByVal adr As Integer) As Integer Private Declare Sub Out32 Lib "inpout32.dll" (ByVal adr As Integer, ByVal data As Integer) Private Declare Sub Sleep Lib "kernel32.dll" (ByVal delay As Long)

164
Private Sub Command1_Click() Timer1.Enabled = 1 End Sub Private Sub Command2_Click() End End Sub Private Sub Form_Load() Timer1.Interval = 1000 Timer1.Enabled = 0 End Sub Private Sub Timer1_Timer() For i = 0 To 7 Out32 &H378, 8 + i Out32 &H378, i Sleep (1) dl = (Inp32(&H379) And &HFF) \ 8 dl = (dl \ 16) * 8 + dl Mod 8 Out32 &H378, 16 dh = (Inp32(&H379) And &HFF) \ 8 dh = (dh \ 16) * 8 + dh Mod 8 data = (dh * 16 + dl) Xor &H88 Text1(i).Text = Round(data * 5 / 256, 1) Next End Sub

CHNG 6

S dung ngat Khi bit 4 cua thanh ghi ieu khien mc 1 se cho phep ngat neu chan ACK (so 9) chuyen t 1 xuong 0, chng trnh phuc vu ngat IRQ7 se c goi (cung co luc ngat b tac ong khi ACK chuyen t 0 len 1). Co the viet mot chng trnh kiem tra xem ngat co tac ong khong. Ve phan cng ch can noi chan 9 (D7) vi chan 10 (ACK). Vao Control panel System kiem tra a ch va so ngat cua cong LPT.
#include <dos.h> #define PORTADDRESS 0x378 #define IRQ 7 #define DATA PORTADDRESS+0

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

165

#define STATUS PORTADDRESS+1 #define CONTROL PORTADDRESS+2 #define PIC1 0x20 #define PIC2 0xA0 int interflag; /* C ngat */ int picaddr; /* a ch goc cua PIC) */ void interrupt (*oldhandler)(); void interrupt parisr() /* Interrupt Service Routine (ISR) */ { interflag = 1; outportb(picaddr,0x20); /* End of Interrupt (EOI) */ } void main(void) { int c; int intno; /* So vect ngat */ int picmask; /* Mat na */ if (IRQ >= 2 && IRQ <= 7) { intno = IRQ + 0x08; picaddr = PIC1; picmask = 1; picmask = picmask << IRQ; } if (IRQ >= 8 && IRQ <= 15) { intno = IRQ + 0x68; picaddr = PIC2; picmask = 1; picmask = picmask << (IRQ-8); } if (IRQ < 2 || IRQ > 15) { printf("IRQ Out of Range\n"); exit(); } outportb(CONTROL, inportb(CONTROL) & 0xDF); /* Chieu xuat */ outportb(DATA,0xFF); oldhandler = getvect(intno); /* Lu vect ngat cu */ setvect(intno, parisr); /* at vect ngat mi */ outportb(picaddr+1,inportb(picaddr+1) & (0xFF - picmask)); /* G mat na */ outportb(CONTROL, inportb(CONTROL) | 0x10); /* Cho phep IRQ */ clrscr(); printf("Parallel Port Interrupt Polarity Tester\n"); printf("IRQ %d : INTNO %02X : PIC Addr 0x%X : Mask 0x%02X\n",IRQ,intno,picaddr,picmask); interflag = 0; /* Reset Interrupt Flag */ delay(10); outportb(DATA,0x00); /* Cho ACK tac ong */ delay(10); /* Ch */ if (interflag == 1) printf("Interrupts Occur on High to Low Transition of ACK.\n"); else {

166

CHNG 6
outportb(DATA,0xFF); /* Low to High Transition */ delay(10); /* wait */ if (interflag == 1) printf("Interrupts Occur on Low to High Transition of ACK.\n"); else printf("No Interrupt Activity Occurred. \nCheck IRQ Number, Port Address and Wiring."); } outportb(CONTROL, inportb(CONTROL) & 0xEF); /* Cam ngat */ outportb(picaddr+1,inportb(picaddr+1) | picmask); /* Che */ setvect(intno, oldhandler); /* Hoi phuc ngat trc khi thoat */ }

Ta co the m rong kha nang giao tiep cua cong song song bang cach them cac vi mach nh 8255, 74LS374

M rong so ngo ra cong song song

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

167

168

CHNG 6

6.2 CONG EPP (ENHANCED PARALLEL PORT)


Cong EPP la san pham lien ket cua Intel, Xircom va Zenith, co hai chuan la EPP1.7 va EPP1.9, van toc truyen t 500 Kbytes/s en 2 Mbytes/s nh s ho tr cua phan cng va ky thuat DMA. Khi chuyen cong song song sang che o EPP (vao muc Setup khi khi ong may tnh e at che o) cac chan cong se mang ten goi va y ngha khac.

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

169

Bang 6.2
Chan 1 2-9 10 11 12, 13, 15 14 16 17 18 25 /Data Strobe /Reset /Address Strobe Ra Ra Ra Ten Ghi /Write Data 0 - 7 Ngat Interrupt Ch /Wait Vao/Ra Ra Vao - Ra Vao Vao Chc nang Khi thap xuat d lieu ra Khi cao oc vao Tuyen d lieu hai hng Ngat canh len Dung e bat tay, chu ky EPP bat au khi thap, cham dt khi cao Khong dung Khi mc thap truyen d lieu Reset, tch cc thap Khi mc thap truyen a ch Mass

Cong EPP co them mot so thanh ghi nh trong bang 6.3:


Bang 6.3
a ch Goc + 0 Goc + 1 Goc + 2 Goc + 3 Goc + 4 Goc + 5 Goc + 6 Goc + 7 Dung e truyen 16/32 bit Ten Thanh ghi d lieu (SPP) Thanh ghi trang thai (SPP) Thanh ghi ieu khien (SPP) Thanh ghi a ch (EPP) Thanh ghi d lieu (EPP) oc / Ghi Ghi oc Ghi oc / Ghi oc / Ghi

Ba thanh ghi au giong nh trong SPP. Muon truyen d lieu theo EPP ta a d lieu vao thanh ghi goc +4 va mach logic se tao cac tn hieu can thiet.

170

CHNG 6

Hnh 6.5 Gian o xuat nhap d lieu

Chan /Write va /Data Strobe tch cc thap ch cho en khi /Wait len mc cao bao ben kia a nhan d lieu, sau o /Data Strobe va /Write tr lai mc cao ket thuc truyen. Khi nhan d lieu, au tie n chng trnh oc thanh ghi goc +4. Neu /Wait mc thap th /Data Strobe se mc thap ch khi /Wait mc cao ben kia bao a gi d lieu ti, /Data Strobe se mc cao va d lieu c oc vao. Chu ky xuat va nhap d lieu cung giong nh chu ky xuat va nhap a ch. Thng ket hp a ch va d lieu e truy xuat d lieu t cac a ch ngoai vi khac nhau. Phan cng ngoai vi co nhiem vu x ly cac chan /Write, /Data Strobe, /Address Strobe a va o cac mach cai hay cho phep va xuat tn hieu /wait phu hp. Thong qua tn hieu Interrupt (chan so 10) ngoai vi se tac ong en may tnh, bit 0 cua thanh ghi trang thai la bit bao het thi gian EPP. Neu trong khoang 10 s ng /Wait khong tac ong khi /Data Strobe hay /Address strobe tac ong th bit nay se c at len 1.

6.3 CONG ECP


Cong ECP c phat trien bi Hewlett Packard va Microsoft, s dung phan cng ho tr cho viec truyen d lieu nen co van toc truyen nhanh, tng t cong EPP. ac iem cua cong ECP la nen d lieu khi truyen, cho phep tang toc o truyen d lieu. Cong ECP dung 11 thanh ghi t goc+0 en goc+7 va goc+400H en goc +402H. Chan cong ECP c qui nh trong bang 6.4.
Bang 6.4
Chan 1 29 10 Tn hieu ECP HostClk Data 0 - 7 PeriphClk Hng Ra Hai chieu Vao Chc nang Thap cho biet co d lieu, canh len dung e cai d lieu ra Tuyen d lieu hai chieu Thap cho biet ngoai vi can a d lieu vao may tnh, canh len dung e cai d lieu vao Khi ngoai vi nhan d lieu th len mc cao. Neu ngoai vi gi d lieu th mc cao bao chu ky d lieu, mc thap bao chu ky lenh Khi thap ngoai vi chap nhan truyen d lieu C m rong

11 12 13

PeriphAck /AckReverse X Flag

Vao Vao Vao

GIAO TIEP QUA CONG SONG SONG


HostAck PeriphRequest / ReverseRequest Ra Vao Ra

TS NGUYN C THNH

171

14 15 16 18 29

mc cao bao chu ky d lieu, mc thap bao chu ky lenh Yeu cau may tnh nhan so lieu Khi mc thap cho biet d lieu nhap vao may tnh Mass

Khi truyen d lieu t may tnh ra ngoai vi th HostAck se oi mc, con truyen d lieu t ngoai vi vao may tnh th PeriphAck oi mc. Tren tuyen d lieu co the truyen d lieu hay lenh. Neu Host Ack va Periph Ack mc cao la truyen d lieu. Neu may tnh gi lenh, Host Ack mc thap; neu ngoai vi gi lenh, Periph Ack mc thap. Lenh gom hai loai, neu bit 7 cua tuyen d lieu (chan 9) mc thap th 7 bit con lai dung e cho biet thong tin ve nen d lieu. Neu bit 7 mc cao th 7 bit con lai la a ch kenh. Khi truyen d lieu nen, au tien truyen so lan lap lai cua byte d lieu, sau o truyen byte d lieu, v du truyen 25 byte ky t A th gi byte 24 (Run length Count) sau o gi byte A.

Hnh 6.6: Truyen d lieu t may tnh ra ngoai vi

172

CHNG 6

Hnh 6.7: Truyen d lieu t ngoai vi vao may tnh

Ngoai vi nhan c byte 24 trong chu ky lenh se lap lai byte A chu ky d lieu 25 lan. Ty so nen toi a 64/1. e tang toc o truyen d lieu, cong ECP dung cac thanh ghi sap xep kieu FIFO va mot so thanh ghi phu.
Bang 6.5
a ch Goc + 0 Goc + 1 Goc + 2 Ten Thanh ghi d lieu (SPP) a ch FIFO (ECP) Thanh ghi trang thai (moi mode) Thanh ghi ieu khien (moi mode) oc / Ghi Ghi oc / Ghi oc / Ghi oc / Ghi

Data FIFO (mode FIFO cong song song) oc / Ghi Goc + 400 H Data FIFO (ECP) Test FIFO (mode Test) Thanh ghi cau hnh A Goc + 401 H Goc + 402 H Thanh ghi cau hnh B Thanh ghi ieu khien m rong oc / Ghi oc / Ghi oc / Ghi oc / Ghi oc / Ghi

Thanh ghi ieu khien m rong cho phep chon kieu hoat ong cua cong song song. Thanh ghi cau hnh A va B s dung e at cau hnh cua cong ECP. Chi tiet ve cac thanh ghi co the xem trong cac tai lieu chuyen sau

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

173

hay a ch www.beyondlogic.org, www.lvr.com.

6.4 GHEP NOI HAI MAY TNH


Hai may tnh co the ghep vi nhau qua cong song song hay cong noi tiep e truyen so lieu thong qua tien ch Direct Cable Connection cua he ieu hanh Windows hay tien ch tng t cua phan mem Norton Commander.

Hnh 6.8: Giao dien ghep noi hai may tnh

1- Ghep noi song song (Laplink cable):Dung cap noi vi hai au c DB25, giao tiep 4 bit
Chan D0 D1 D2 D3 D4 ACK Busy Select 2 3 4 5 6 Chan 15 13 12 10 11 10 11 13 5 6 4 3

Paper out 12

174
Error GND 15 25 2 25

CHNG 6

2- Ghep noi noi tiep: Dung cap noi hai au cai DB9 hay DB25
9 chan 25 chan 25 chan 9 chan GND TXD RTS DSR RXD CTS DTR 5 3 7 1, 6 2 8 4 7 2 4 6 3 5 20 7 3 5 20 2 4 6 5 2 8 4 3 7 1,6

Truyen bang ng song song nhanh gap tam en mi lan truyen noi tiep. Neu cong song song hai may co cau hnh ECP th van toc truyen con nhanh hn na, di ay la cap noi vi cong ECP
Chan 1 2 10 11 12 13 9 Chan Chan 10 > 2 1 14 16 13 9 15 14 16 17 18 25 < Chan 17 11 12 15 18 25

6.5 CARD CHUYEN OI 8 KENH 12 BIT DUNG CONG MAY IN


S dung vi mach LTC 1290 8 kenh 12 bit ta co the thc hien mach chuyen oi 12 bit ghep vi may tnh qua cong may in. Vi mach LTC 1290 la san pham cua hang Linear technology oi A/D dung phng phap xap x lien tiep 12 bit n cc hay 11 bit cong dau, thi gian oi 13 s max, ket qua o a ra ngoai dang noi tiep. Hnh 6.9 cho s o ap dung.

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

175

Hnh 6.9: S o ap dung LTC1290

Hnh 6.10 S o khoi LTC1290 va gian o thi gian

176

CHNG 6

Vi mach hoat ong vi xung ong bo SCLK. Khi CS chuyen t 1 xuong 0, canh len cua SCLK a 8 bit t Din vao thanh ghi di e nh che o hoat ong cua vi mach, canh xuong cua SCLK a ket qua chuyen oi lan trc t thanh ghi di noi tiep ra Dout. Khi a u 8 bit Din vao cau hnh chuyen oi theo bang sau, B7 la bit Din vao trc.
B7 n/ visai B6 Dau B5 Chon 1 B4 Chon 0 B3 n cc/ Lng cc B2 MSB/ LSB B1 Chieu dai t B0 Chieu dai t

B7 = 1: 8 ngo vao n so vi chan COM, B6 B5 B4 chon mot trong 8 ngo vao. B7 = 0: 8 ngo vao chia thanh 4 cap vi sai 01, 23, 45, 67, bit B5 B4 chon mot trong 4 cap con bit B6 = 1 se an nh cac au 0, 2, 4, 6 dng so vi 1, 3, 5, 7; B6 = 0 an nh ngc lai. B3 = 1: chon oi n cc, tn hieu vao t 0 en Vref = +5V B3 = 0: chon oi lng cc, tn hieu vao -Vref (800H) en Vref -1LSB (7FFH), bit au la bit dau B2 = 1: cho biet se truyen MSB au tien ra Dout = 0: cho biet se truyen LSB au tien ra Dout B1 va B0 cho biet chieu dai t cua Dout.
B1 0 1 1 1 B0 0 8 bit cat nguon 12 bit 16 bit

B1= 0, B0= 1: vi mach che o cat nguon luc o CS = 1 dong tieu thu khoang 10 A. Sau khi a u so xung nhp SCLK c an nh bi chieu dai t CS c a len mc 1, bat au chuyen oi theo xung nhp ACLK, tan so toi a 4Mhz, sau o t 48 en 52 xung ACLK, neu CS xuong mc 0 th ket qua oi se a ra Dout theo cau hnh a at trc con Din se a vao va at cau hnh mi. Cac thong tin chi tiet hn ve vi mach co the tm trong trang web: www.lineartech.com. Mach chuyen oi H6.10 cho phep oi tn hieu n 0V 2,5V hay tn hieu lng cc (2,5V) (+ 2,5V). Xung nhp SCLK va d

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

177

lieu Din xuat ra t cong may in con ket qua oi Dout a vao ACK cua cong.
{======= CHNG TRNH IEU KHIEN CHO CARD AD 12 BIT =======} unit ltc1290; interface const vref = 2.48; function adc_read (ch: integer): real; implementation

Hnh 6.10
const sclk = 1; din = 2; dout = 64; cs = 4; function adc_read; const wconst = 1 + 32 + 64; vao n, lng cc, MSB au chconst: array [0..7] of byte = (0, 2, 8, 10, 4, 6, 12, 14); delay = 10; co the thay oi tuy may tnh

178
aout = $378; ain = $379; var i: integer; win: word; result: word; begin for i:= 1 to delay do begin end; win := wconst + chconst [ch]; port [aout] := 0; drop CS' { di word cau hnh vao} for i := 1 to 12 do begin port [aout] := (win and 1)* din; port [aout] := (win and 1)* din + sclk; win := win div 2; port [aout] := 0; end; port [aout] := cs; for i := 1 to delay do begin end; port [aout] := 0; {nhan ket qua chuyen oi} result := 0; win := wconst + chconst [ch]; for i := 1 to 12 do begin port [aout] := (win and 1)* din; port [aout] := (win and 1)* din + sclk; result := result*2; if port [ain] and dout <> 0 then result := result + 1; port [aout] := 0; end; port [aout] := cs; adc_read := vrel*((result + 2048) and 4095) / 2048 vref; end; {======= CHNG TRNH DEMO ========} program testltc; uses crt, ltc1290 var i: integer; begin writeln (Nhan phm e thoat); while not keypressed do begin for i := 0 to 7 do write (adc_read(i) :4:4,); writeln (V); delay (1000); end; end.

CHNG 6

6.6 MACH LAP TRNH VI IEU KHIEN ATMEL 89C


May tnh thng dung e lap trnh cho vi ieu khien hay EPROM qua cong song song hay noi tiep. Muc nay trnh bay bo lap trnh cho vi mac h ho Atmel 89C51/52/55/1051/2051/4051

GIAO TIEP QUA CONG SONG SONG

TS NGUYN C THNH

179

180

CHNG 6

U1 ieu khien d lieu gia may tnh va bo ieu khien, U3 cai byte a ch thap U4 cai byte a ch cao, U2 tao cac tn hieu ieu khien, U6 cap nguon 5V, U5 tao cac ien ap lap trnh. chi tiet a ch http://chaokhun.kmitl.ac.th.

Bang linh kien: C1,C2,C3,C6,C8 C4,C5 C7 C9 C10,C11,C12 D1 D2 D3 K2 P1 P2 R1,R3 R7,R5 R6 R9 R10 100nF 33pF 2.2nF 1000uF 25V 10uF 25V 1N4148 LED RED 3mm LED GREEN 3mm ZIF SOCKET 40 WAY 5K MULTITURN 50K MULTITURN RESISTOR ARRAY 4K7 x 8 1K 3K3 2K7 680R

R2,R4,R8,R11,R12,R13,R15 4K7

GIAO TIEP QUA CONG SONG SONG


R14 T2,T1 T3,T4 U1 U4,U2 U3 U5 U6 X1 220R 2N3906 2N3904 74HC299 74HC595 74HC573 LM317LZ LM7805

TS NGUYN C THNH

181

CRYSTAL 4.0 MHz

6.7 LAP TRNH CONG SONG SONG DUNG LABVIEW LabView giao tiep cong song song qua hai cong cu In port.vi va Out port.vi trong th muc FunctionsConnectivity-Port I/O

Address: a ch 16 bit Data read: 1 byte, 2 byte (hai a ch ke nhau ke t address), 4 byte (bon a ch ke tiep ke t address) Write value co the la 1, 2, 4 byte
--------o--------Bai tap gi y 1/ Nghien cu ghep 8255 vi cong may in e tang so ngo logic. 2/ Thiet ke va lap trnh mach m rong cong may in 56 bit ra va 8 bit vao. 3/ Thiet ke mach ieu khien ong c bc 4 pha dung cong song song va viet chng trnh quay n xung vi tan so f Hz. 4/Nghien cu hoat ong va viet chng trnh cho mach ghi AT89C51.

You might also like