Ghep noi & dieu_khien thiet bi ngoai vi

  • 57 views
Uploaded on

 

More in: Education
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
57
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
7
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 1 GHÉP N I VÀ ðI U KHI N THI T B NGO I VI Ngư i so n: TS. Nguy n Văn Minh Trí ThS. Lâm Tăng ð c Các sinh viên l p 03SK
  • 2. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 2 TÀI LI U LƯU HÀNH N I B L I NÓI ð U Ngày nay, máy vi tính (MVT) ñã ñư c c i ti n, nâng c p và th trư ng hoá ñ ñ t t c ñ x lý c c nhanh, giá thành r . Trong nh ng th p niên qua, MVT ñã ñư c áp d ng kh p m i nơi, thay th cho các h th ng cũ nhi u như c ñi m. ð c bi t, trong h th ng ñi n, ñi n công nghi p, MVT ñã ñư c ng d ng ngày càng nhi u, mang l i nhi u tính năng ưu vi t cho h th ng. Do ñó yêu c u phát tri n lý thuy t v h th ng có s d ng MVT ñã m ra nhi u lĩnh v c h c m i. M t ví d c th c a vi c ng d ng MVT trong công nghi p là các h th ng ño lư ng và ñi u khi n s d ng MVT. Trong các h th ng này, MVT nh n các d li u ño ñ t tr ng thái v t lý c a h th ng, vi d như nhi t ñ , áp su t, ñi n áp …, và tính toán ñ ñưa ra nh ng quy t ñ nh, tín hi u ñi u khi n tr l i h th ng, nh m ñ t ñư c các yêu c u ñi u khi n ñ ra c a h th ng. Mu n thi t k , v n hành và b o qu n t t h ño-ñi u khi n công nghi p, ngư i k sư c n n m v ng v k thu t máy tính, cách vi t chương trình, k thu t ghép n i thi t b ngo i vi, vi c x lý s li u, lý thuy t ñi u khi n s … Môn h c ghép n i và ñi u khi n thi t b ngo i vi (TBNV) nh m cung c p các ki n th c cơ b n trong vi c tìm hi u, thi t k m ch ghép n i ngo i vi v i MVT. Các m ch thi t k ph c v cho vi c ño lư ng, ñi u khi n, giao ti p gi a MVT v i MVT, MVT v i h vi ñi u khi n.
  • 3. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 3 M C L C CHƯƠNG 1: CƠ S GHÉP N I THI T B NGO I VI 1.1. Gi i thi u chung 1.1.1. C u trúc h th ng 1.1.2. Nhi m v c a b ghép n i 1.1.3. Th t c trao ñ i d li u c a máy vi tính 1.2. Gi i thi u m t s vi m ch dùng trong b ghép n i 1.2.1. Các m ch logic cơ b n 1.2.2. Các m ch l t 1.2.3. Các m ch thanh ghi ñ m 1.2.4. Các m ch gi i mã ñ a ch 1.2.5. Các m ch truy n d li u CHƯƠNG 2: GHÉP N I VÀO RA SONG SONG ðI U KHI N B NG CHƯƠNG TRÌNH 2.1 Các l nh vào ra d li u 2.1.1 Các l nh vào ra b ng h p ng 2.1.2 Các l nh vào ra b ng Turbo C 2.1.3 Các l nh vào ra b ng Turbo Pascal 2.2 Ghép n i song song ñơn gi n: có hay không có ñ i tho i 2.2.1 C a vào ñơn gi n không ñ i tho i 2.2.2 C a ra ñơn gi n không ñ i tho i 2.2.3 C a vào ñơn gi n có ñ i tho i 2.2.4 C a ra ñơn gi n có ñ i tho i 2.3 Ghép n i song song ñi u khi n b ng chương trình 2.3.1 Sơ ñ kh i và ch c năng các kh i c a 8255A 2.3.2 Các ch ñ làm vi c c a 8255A 2.3.3 Ghép n i v i 8255A 2.3.4 L p trình cho 8255A CHƯƠNG 3: GHÉP N I TRAO ð I D LI U N I TI P 3.1 Gi i thi u chung v trao ñ i d li u n i ti p 3.1.1 Yêu c u trao ñ i d li u n i ti p 3.1.2 M ch trao ñ i d li u n i ti p
  • 4. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 4 3.1.3 Th t c trao ñ i d li u n i ti p 3.2 M ch thu phát d b v n năng UART 8250 3.2.1 Sơ ñ kh i và ch c năng các kh i c a UART 8250 3.2.2 Ghép n i v i UART 8250 3.2.3 L p trình cho UART 8250 CHƯƠNG 4: GHÉP N I ðI U KHI N NG T 4.1 Khái ni m và phân lo i ng t 4.1.1 Khái ni m 4.1.2 Phân lo i ng t 4.2 X lý ng t c a nhi u thi t b ngo i vi 4.2.1 Cho phép ho c c m ng t 4.2.2 S p x p ưu tiên ng t 4.2.3 Xác ñ nh ngu n gây ng t 4.2.4 T o vector ng t 4.3 Vi m ch ñi u khi n ng t 8259A 4.3.1 Sơ ñ kh i và ch c năng các kh i c a 8259A 4.3.2 C u trúc ho t ñ ng c a vi m ch 8259A 4.3.3 Ghép n i v i 8259A 4.3.4 L p trình cho 8259A CHƯƠNG 5: GHÉP N I VÀO RA ðI U KHI N B NG DMA 5.1 Khái ni m DMA cơ b n 5.1.1 Khái ni m DMA 5.1.2 Ho t ñ ng DMAC (DMA Controller) cơ b n 5.1.3 Các ch ñ trao ñ i d li u DMA 5.2 B ñi u khi n DMA – 8237A 5.2.1 Sơ ñ kh i và ch c năng các kh i c a DMAC 8237A 5.2.2 Ghép n i v i 8237A trong h vi x lý 8088 5.2.3 L p trình cho 8237A CHƯƠNG 6: GHÉP N I TƯƠNG T -S VÀ S -TƯƠNG T 6.1. Gi i thi u m t s m ch khu ch ñ i thu t toán 6.1.1 Các tham s cơ b n c a m ch khu ch ñ i thu t toán 6.1.2 Các sơ ñ cơ b n c a b khu ch ñ i thu t toán 6.2 B chuy n ñ i s -tương t DAC 6.2.1 Ho t ñ ng c a DAC 6.2.2 Các tham s cơ b n c a b chuy n ñ i c a DA 6.2.3 Các m ch DAC ñi n hình 6.2.4 Ghép n i v i DAC 6.2.5 L p trình xu t d li u ra DAC 6.3 B bi n ñ i tương t -s ADC
  • 5. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 5 6.3.1 Nguyên t c làm vi c c a ADC 6.3.2 Các tham s cơ b n c a b chuy n ñ i AD 6.3.3 Các phương pháp chuy n ñ i AD 6.3.4 Ghép n i v i ADC 6.3.5 L p trình nh n d li u t ADC CHƯƠNG 7: NG D NG MÁY VI TÍNH TRONG ðO LƯ NG VÀ ðI U KHI N 7.1. Gi i thi u v c u trúc máy tính 7.2 Thi t k m ch ghép n i gi a h th ng t ñ ng hóa v i các c ng c a máy vi tính
  • 6. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 6 CHƯƠNG 1: CƠ S GHÉP N I THI T B NGO I VI 1.1. Gi i thi u chung 1.1.1 C u trúc h th ng Máy vi tính hay h vi x lý ñ u có c u trúc chung do Phôn Nơi-Man ñ xu t g m kh i x lý trung tâm (CPU), b nh (M) và các c a vào/ra (I/O), như trên hình 1.1. Ngoài ra, MVT còn c n ph i trao ñ i d li u và môi trư ng bên ngoài, ví d giao ti p v i ngư i s d ng qua bàn phím-màn hình, trao ñ i d li u v i các thi t b ngoài thông d ng, các thi t b ngoài trong h ño-ñi u khi n, và các MVT khác trong m ng. Do ñó các b ghép n i thi t b ngo i vi (BGN TBNV) ñư c xây d ng, g m: • BGN các thi t b vào chu n như bàn phím, con chu t… • BGN các thi t b ra chu n như màn hình, máy in… • BGN các b nh ngoài chu n như c ng, CD-ROM… • BGN v i MVT khác trong m ng nhi u MVT. • BGN v i h vi ñi u khi n, h vi x lý. • BGN h ño lư ng - ñi u khi n: Hình 1.1: C u trúc h GN trao ñ i d li u tin gi a MVT và TBNV Trong ñó: VXL là vi t t t c a vi x lý RAM là random-access memory ROM là read-only memory BGN là b ghép n i CD-ROM là compact disk read-only memory CN là công nghi p ðK là ñi u khi n V X L RAM ROM BGN Bàn phím Màn hình BGN Máy in BGN b nh ngoài BGN Song song /n i ti p BGN Vào/ra c ng CD-ROM BGN Song song /n i ti p MVT /Vi ðK C m bi n ño lư ng BGN Vào/ra Cơ c u ch p hành Thi t b CN ðư ng dây d li u và ñ a ch MVT ðư ng dây ñi u khi n
  • 7. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 7 ð t bi t trong h ño lư ng - ñi u khi n, MVT nh n d li u tr ng thái v t lý c a h th ng (nhi t ñ , áp su t, ñi n áp, dòng ñi n…) dư i d ng tín hi u ñi n, t ñ u dò các b c m bi n (sensor), b chuy n ñ i (tranducer), b phát hi n (detector). Và MVT còn nh n thông tin v tr ng thái s n sàng hay b n c a thi t b ño. MVT sau ñó ñưa tín hi u ch p nh n trao ñ i d li u v i TBNV, thu th p và x lý d li u, tính toán các tín hi u ñi u khi n ñưa ra các cơ c u ch p hành (các van ñóng m , các rơle trong m ch ñi n, các m ch ñ ng l c ñi u t c ñ ng cơ ñi n…), hay ñưa ra các thông s k thu t cho thi t b . Ngoài ra, MVT còn c n lưu tr d li u trên c ng, ñĩa compact (CD-ROM) ñ tra c u lúc c n, hi n th k t qu ño dư i d ng b ng s li u, d ng ñ th hay hình v ñ ho trên màn hình. 1.1.2 Nhi m v c a b ghép n i TBNV ñư c ghép n i v i MVT thông qua các ph n thích ng v công ngh và thích ng logic như hình 1.2. GN công ngh làm nhi m v ñi u ch nh m c tín hi u gi a công ngh s n xu t TBNV và công ngh s n xu t các m ch c u trúc nên BUS c a MVT. GN logic làm nhi m v t o các tín hi u ñi u khi n TBNV t nh ng tín hi u trên BUS h th ng. Nhi m v c a BGN là ph i h p trao ñ i d li u gi a MVT và TBNV. 1. Ph i h p v m c và công su t tín hi u - M c tín hi u c a MVT thư ng là m c TTL (0V, 5V), trong khi TBNV có m c ñi n tho i (±15V, ±48V) hay m c ñi n công nghi p (220V/380V). - Công su t ñư ng dây MVT nh (c ch c mA), trong khi công su t c n cho TBNV là r t l n tùy theo t ng h th ng. Do ñó BGN ph i bi n ñ i ñi n áp và khu ch ñ i công su t cho phù h p gi a MVT và TBNV. Thư ng dùng vi m ch 3 tr ng thái ñ ñưa d `li u ra, ñưa d li u vào. Do ñó vi m ch s tr ng thái tr kháng cao khi không có trao ñ i d li u, ñ cô l p TBNV v i MVT, ñ không tiêu th m t chút công su t nào c a ñư ng dây và ñ b o v MVT. 2. Ph i h p v d ng d li u - D li u trao ñ i c a MVT luôn là song song d ng s nh phân, có th truy n theo 8 bit, 16 bit, 32 bit, 64 bit. - D li u c a TBNV có th song song 8 bit và 16 bit, n i ti p ho c tín hi u liên t c. Do ñó BGN s chuy n ñ i d ng d li u cho phù h p gi a MVT và TBNV, ví d chuy n ñ i t tín hi u liên t c sang tín hi u s . 3. Ph i h p v t c ñ trao ñ i d li u - MVT thư ng ho t ñ ng v i t c ñ cao (t n s lên t i hàng trăm MHz) trong khi TBNV thư ng ho t ñ ng ch m hơn nhi u. Do ñó BGN nh n và lưu d li u t MVT r i truy n cho TBNV theo ph p ch m c a TBNV, gi i phóng cho MVT làm nhi m v khác (ph c v TBNV khác, ch y chương trình x lý s li u hay hi n th trên màn hình). Tương t , BGN nh n d li u c a TBNV và ch MVT ñ c d li u vào. 4. Ph i h p v phương th c trao ñ i d li u - Vi c ñ c/xu t d li u do MVT kh i xư ng: Khi ñó, MVT ñưa l nh ñi u khi n t i kh i ñ ng BGN hay TBNV, MVT ñ c tr ng thái c a TBNV. N u tr ng thái TBNV chưa s n sàng, MVT s ch .
  • 8. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 8 N u TBNV tr ng thái s n sàng, MVT s ti n hành ñ c/xu t d li u. - Vi c ñ c/xu t d li u do TBNV kh i xư ng: Khi ñó, TBNV ñưa yêu c u trao ñ i d li u t i b ph n x lý ng t c a BGN. N u có nhi u TBNV ñ ng th i ñưa ra yêu c u, BGN s s p x p theo th t ưu tiên ñ nh s n, r i ñưa t ng yêu c u t i MVT. MVT sau khi nh n tín hi u yêu c u, s chu n b và ñưa tín hi u xác nh n s n sàng trao ñ i. ð n lư c BGN nh n và truy n tín hi u s n sàng ñ n cho TBNV. Sau ñó, MVT và TBNV s trao ñ i d li u qua trung gian là BGN. Hình 1.2: GN gi a MVT và TBNV 1.1.3 Th t c trao ñ i d li u c a máy vi tính MVT trao ñ i d li u v i TBNV theo m t trong hai ch ñ : - Ch ñ chương trình: G m các l nh VÀO, RA và CHUY N d li u gi a các thanh ghi. - Ch ñ truy c p th ng t i b nh : BGN lúc này ñi u khi n s trao ñ i gi a TBNV và b nh qua trung gian BGN. Các c a vào ra c a VXL tr ng thái tr kháng cao. BGN ñi u khi n m i ho t ñ ng c a b nh và TBNV, bao g m: . Phát ñ a ch cho b nh và TBNV. . Phát l nh ñ c RD hay ghi WR s li u. . Các s li u ñ c, ghi ñư c trao ñ i gi a b nh và TBNV thông qua các thanh ghi ñ m c a BGN. ch ñ trao ñ i d li u theo chương trình, vi c th c hi n có th theo m t trong ba phương pháp sau (hình 1.3): - ð ng b hay không ñ i tho i. - Không ñ ng b hay có ñ i tho i. - Ng t chương trình. 1. Trao ñ i ñ ng b : Sau khi kh i ñ ng TBNV, MVT không c n quan tâm t i TBNV có s n sàng trao ñ i d li u hay không mà ñưa luôn l nh trao ñ i d li u. Do ñó TBNV ph i luôn s n sàng trao ñ i d li u. Phương pháp trao ñ i d li u này có ưu ñi m là nhanh, không t n th i gian ch ñ i. Tuy nhiên nó có như c ñi m là thi u tin c y, ñôi khi b m t d li u vì có th có s c làm TBNV chưa s n sàng trao ñ i. 2. Trao ñ i không ñ ng b : Trình t trao ñ i di n ra như sau: - MVT ñưa tín hi u ñi u khi n t i BGN. - MVT ch và ki m tra tr ng thái s n sàng trao ñ i c a TBNV. N u chưa s n sàng thì ñ c là ki m tra l i tr ng thái này. MVT BGN TBNV ñi u khi n s li u ñi u khi n s li u GN logic GN công ngh
  • 9. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 9 - MVT trao ñ i d li u v i TBNV khi ñã s n sàng. Phương pháp này thư ng dùng vì t c ñ trao ñ i d li u c a TBNV ch m hơn so v i MVT. Phương pháp trao ñ i d li u này có ưu ñi m là r t tin c y, nhưng l i t n th i gian s d ng MVT. 3. Trao ñ i theo ng t chương trình: Phương pháp này kh c ph c ñư c như c ñi m c a phương pháp trên. Trình t như sau: - MVT ñang th c hi n chu i l nh c a chương trình nào ñó. - TBNV có yêu c u trao ñ i d li u, s g i tín hi u yêu c u trao ñ i (yêu c u ng t - INTR ). - MVT ñưa tín hi u ch p nh n (xác nh n ng t – INTA). - Chương trình chính b ng t, MVT chuy n sang chương trình con ph c v ng t, t c chương trình con trao ñ i d li u cho TBNV ñã yêu c u. - Chương trình chính l i ñư c ti p t c th c hi n ch b ng t. a) ð ng b b) Không ñ ng b c) Ng t chương trình Hình 1.3 : Trao ñ i d li u theo chương trình Chương trình Trao ñ i d li u Chương trình Trao ñ i d li u TBNV s n sàng ? Chương trình Chưa R i Trao ñ i d li u Ng t
  • 10. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 10 1.2. Gi i thi u m t s vi m ch dùng trong b ghép n i Thông thư ng BGN có các thanh ch t d li u, b ñ m 3 tr ng thái ñ n i v i BUS và các m ch l t t o tín hi u ñ i tho i. 1.2.1 Các m ch logic cơ b n M ch AND - SN7408 B ng tr ng thái - SN7409 A B Y L L L H L L L H L H H H M ch OR - SN7432 B ng tr ng thái A B Y L L L H L H L H H H H H M ch NOT - SN7404: B ng tr ng thái: - SN7405 - SN7406 A Y L H H L M ch EX-OR B ng tr ng thái - SN74136 A B Y L L L H L H L H H H H L 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 6A 6Y 5A 5Y 4A 4Y GND1A 1Y 2A 3Y3A2Y 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A
  • 11. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 11 M ch NAND - SN7400 B ng tr ng thái: - SN7401 - SN7403 A B Y L L H H L H L H H H H L M ch NOR B ng tr ng thái - SN7402 - SN7428 A B Y L L H H L L L H L H H L M ch EX-NOR B ng tr ng thái - SN74HC266 A B Y L L H H L L L H L H H H M ch ñ m 3 tr ng thái kích ho t m c th p - SN74125 B ng tr ng thái - SN74425 C A Y H X Z∞ L L L L H H Trong ñó Z∞ là tr ng thái tr kháng cao. M ch ñ m 3 tr ng thái kích ho t m c cao 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1A 1B 1Y 2Y2B2A 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4B 4A 4Y 3B3B 3A 3Y GND1C 1A 1Y 2Y2A2C 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4C 4A 4Y 3B3C 3A 3Y
  • 12. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 12 - SN74126 B ng tr ng thái - SN74426 C A Y L X Z∞ H L L H H H 1.2.2 Các m ch l t: - SN7474 B ng tr ng thái PR CLR CK D Q Q L H X X H L H L X X L H L L X X H* H* H H ↑ H H L H H ↑ L L H H H L X Q0 0Q Trong ñó Q0 là tr ng thái cũ trư c ñó, H* là tr ng thái c m. 1.2.3 Các m ch thanh ghi ñ m - SN74LS373, SN74LS374 là lo i vi m ch ch t truy n qua 8 bits cùng ñ m 3 tr ng thái. Ð m và ch t ñư c ñi u khi n ñ c l p b ng các ñ u vào ñi u khi n khác nhau là: OE (Output Enable): M c ng-ñ m LE (Latch Enable): ñi u khi n m ch t CP (Clock Input) : ð u vào xung sư n lên GND1 CLR 1D 1 CK 1 Q1Q1 PR 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 2 CLR 2D 2 CK 2 PR 2Q 2 Q PRD CK CLR Q Q PRD CK CLR Q Q GND1C 1A 1Y 2Y2A2C 14 13 12 11 10 9 8 1 2 3 4 5 6 7 Vcc 4C 4A 4Y 3B3C 3A 3Y
  • 13. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 13 B ng s th t c a 74LS373 MODE Ho t ñ ng Ð u vào Thanh ghi n i Ð u ra OE LE Di Oi Kích ho t và ñ c thanh ghi L L H H L H L H L H Ch t và ñ c thanh ghi L L x Q0 Q0 Ch t và không cho ra H x x x Z∞ B ng s th t c a 74LS373 MODE Ho t ñ ng Ð u vào Thanh ghi n i Ð u ra OE CP Di Oi Kích ho t và ñ c thanh ghi L L L H L H L H Ch t và ñ c thanh ghi L L x Q0 Q0 Ch t và không cho ra H x x x Z∞ B ñi u khi n bus ch t h 8 lo i CMOS 82C82
  • 14. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 14 B ng s th t c a 82C82 STB OE DI DO X H X Z∞ H L L L H L H H ↓ L X Q0 Trong ñó: H là logic 1 L là logic 0 X là b t kỳ Z∞ là tr ng thái tr kháng cao ↓ là sư n xung âm Q0 là ch t giá tr c a d li u sau cùng 1.2.4 Các m ch gi i mã ñ a ch M t s vi m ch ñư c dùng nhi u trong các h th ng gi i mã c a VXL là SN74LS138 (m ch gi i mã 3-8), SN74LS139 (hai gi i mã 2-4). Ð minh ho cho phương pháp này ta ch n vi m ch 74LS138. B ng s th t c a vi m ch cho bi t t i m t th i ñi m ch có m t trong tám ñ u ra có m c logic 0. Ði u ki n c n ñ có m t trong các m c th p ñ u ra là các ñ u vào 1E , 2E , 3E ph i ñư c kích ho t, t c là 1E , 2E m c th p và 3E m c cao. Khi 74LS138 ñã ñư c kích ho t, các ñ u vào ñ a ch A0, A1 và A2 s l a ch n ñ u ra, ñi u này cho phép có th ch n ñư c m t trong tám thi t b nh khác nhau t i m t th i ñi m.
  • 15. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 15 B ng s th t c a 74LS138 Ð u vào Output Enable Select 1E 2E 3E A2 A1 A0 0 1 2 3 4 5 6 7 H x x x x x H H H H H H H H x H x x x x H H H H H H H H x x L x x x H H H H H H H H L L H L L L L H H H H H H H L L H L L H H L H H H H H H L L H L H L H H L H H H H H L L H L H H H H H L H H H H L L H H L L H H H H L H H H L L H H L H H H H H H L H H L L H H H L H H H H H H L H L L H H H H H H H H H H H L Ví d v m ch gi i mã ñ a ch cho ROM có th tham kh o trên hình 1.4.
  • 16. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 16 Hình 1.4: M ch gi i mã ch n ROM dùng 74LS138 1.2.5 Các m ch truy n d li u - SN74LS245 Các chân A1÷A8, B1÷B8 là các chân g i/ nh n d li u 2 hư ng tương ng. Chân 19 (G ) là chân ch n IC (Chip Enable). Chân 1 (DIR) là chân ch n hư ng g i/ nh n d li u (Direction). B ng s th t c a 74LS245 G DIR Ho t ñ ng L L D li u vào B, ra A L H D li u vào A, ra B H X Z∞
  • 17. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 17 CHƯƠNG 2: GHÉP N I VÀO RA SONG SONG ðI U KHI N B NG CHƯƠNG TRÌNH 2.1. Các l nh vào ra d li u 2.1.1 Các l nh vào ra b ng h p ng : L nh ñ nh n d li u t thi t b vào/ra là INput và m t l nh ñ g i s li u ra thi t b vào/ra là OUTput. Có b n cách dùng khác nhau c a m i l nh này: hai lo i chuy n d li u 8 hay 16 bít thông qua các c ng vào/ra 8 bít, và hai chuy n d li u 8 hay 16 bít thông qua các c ng 16 bít. Ví d hai l nh sau ñây s ñ c các byte c a ñư ng d n d li u t c ng LPT1: MOV DX,378H ; n p ñ a ch c a thanh ghi d li u vào DX IN AL,DX ; ñ c thông tin trên ñư ng d n d li u (D0 ñ n D7) c a LPT1 sang thanh ghi AL B ng 2.1: B ng các l nh vào ra Instruction Data Width Comment IN AL,d8 IN AL,DX IN AX,d8 IN AX,DX OUT d8,AL OUT DX,AL OUT d8,AX OUT DX,AX 8 8 16 16 8 8 16 16 Ð c m t byte t c ng vào/ra 8 bít Ð c m t byte t c ng vào/ra xác ñ nh b i thanh ghi DX Ð c m t word t c ng vào/ra 8 bít Ð c m t word t c ng vào/ra xác ñ nh b i thanh ghi DX G i m t byte ra c ng vào/ra 8 bít G i m t byte ra c ng vào/ra xác ñ nh b i thanh ghi DX G i m t word ra c ng vào/ra 8 bít G i m t word ra c ng vào/ra xác ñ nh b i thanh ghi DX Chú ý: d8 ch a ñ a ch là c ng vào/ra 8 bít, và DX ch a ñ a ch là c ng vào/ra 16 bít.
  • 18. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 18 2.1.2.Các l nh vào ra b ng Turbo C B ng 2.2: B ng các l nh vào ra Instruction Data Width Comment outportb(addr_port,data_var) Data_var=inportb(addr_port) outport(addr_port,data_var) Data_var=inportb(addr_port) outp(addr_port,data_var) Data_var=inp(addr_port) outpw(addr_port,data_var) Data_var=inp(addr_port) 8 8 16 16 8 8 16 16 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr_port Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr_port G i m t word ra c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Ð c m t word t c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr_port Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr_port G i m t byte ra c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Ð c m t word t c ng vào/ra, 8 bít th p xác ñ nh b i ñ a ch addr_port, 8 bít cao xác ñ nh b i ñ a ch addr_port+1 Ví d các l nh sau xu t 5 (8 bít 00000101) qua thanh ghi d li u c a LPT1 #include <dos.h> #define Dat_reg 0x378 char data_var=5; outport(Dat_reg,data_var); 2.1.3 Các l nh vào ra b ng Turbo Pascal B ng 2.3: B ng các l nh vào ra Instruction Data Width Comment Port[addr] := var1; Var := port[addr]; 8 8 G i m t byte ra c ng vào/ra 8 bít xác ñ nh b i ñ a ch addr Ð c m t byte t c ng vào xác ñ nh b i ñ a ch addr Ví d : Uses crt;
  • 19. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 19 Port[$378] := X; Xu t ra giá tr bi n X lên ñư ng d n d li u (D0 ñ n D7) c a c ng LPT1 Y := port[$379]; ð c n i dung thanh ghi tr ng thái c a LPT1 vào bi n Y Chú ý: M t ch s h 16 ph i thêm d u: 0x vào trư c s ñó trong ngôn ng C, và $ vào trư c s ñó trong ngôn ng Pascal. 2.1.4 Gi n ñ th i gian các l nh ñ c/ghi d li u: Bus h th ng, bao g m bus d li u (data bus), bus ñi u khi n (control bus) và bus ñ a ch (address bus), là các ñư ng d n truy n thông gi a vi x lý và TBNV. Các VXL 8 bit d li u thư ng có 8 ñư ng dây data bus, và 16 ñư ng dây tương ng 16 ñư ng ñ a ch address bus. Hai tín hi u WR,RD control bus thư ng ñư c s d ng ñ xác ñ nh th i ñi m d li u n ñ nh trên data bus. Hình 1.5 là gi n ñ th i gian tín hi u trên bus h th ng. Hình 1.5: Gi n ñ th i gian tín hi u trên bus h th ng. M i chu kỳ bus (bus cycle) bao g m vi c chuy n 1 t d li u gi a VXL v i b nh ho c TBNV. M i chu kỳ bus b t ñ u khi VXL xu t m t ñ a ch ñ ch n m t v trí b nh ho c các c ng vào ra. Trong gi n ñ này, các bus ñ a ch và d li u ñư c bi u di n b ng 1 c p ñư ng th ng ñ ch thông tin trên bus n ñ nh. Khi các ñư ng trên sơ ñ c t ngang nhau di n t d li u ñã thay ñ i. ðư ng nét ñ t là tr ng thái th n i khi không có thi t b nào lái nó. address bus data bus RD WR D li u ñư c ñ c vào VXL Chu kỳ ñ c Chu kỳ ghi D li u ñư c ghi ra TBNV D li u t TBNV D li u t VXL
  • 20. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 20 2.2 Ghép n i song song ñơn gi n: có hay không có ñ i tho i 2.2.1 C a vào ñơn gi n không ñ i tho i Hình 2.1 mô t m t c a vào ñơn gi n không c n tín hi u ñ i tho i. Tín hi u vào t b c m bi n (BCB) ñư c n i v i bus d li u c a MVT thông qua b ñ m ba tr ng thái. Khi chúng ta l p trình ño n l nh: C: data1 = inport(addrport); Pascal: data1 := port(addrport); Trình biên d ch s chuy n ño n l nh trên thành mã máy, và khi ch y ño n mã máy này, VXL s t o ra các tín hi u: - A0…A15 t addrport - RD kích ho t m c 0. B gi i mã s so sánh các giá tr trên ñư ng ñ a ch v i ñ a ch c ng cho trư c, n u trùng ñ a ch , ñ u ra b gi i mã s kích ho t m c 0. Do ñó ñ u ra m ch OR s m c 0, kích ho t cho b ñ m ba tr ng thái m ra, và d li u t TBNV s ñ vào bus d li u c a VXL. Lúc này, VXL s nh n - 0 7,...,D D gán vào cho bi n data1. K t thúc chu kỳ l nh, RD tr v m c 1. Hình 2.1: C a vào ñơn gi n, không có ñ i tho i Gi i mã ð a ch A0…A15 RD 1D 7D BCB 1 BCB 2 BCB 7 Bus MVT BGN TBNV 0D
  • 21. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 21 2.2.2 C a ra ñơn gi n không ñ i tho i Hình 2.2: C a ra ñơn gi n, không có ñ i tho i Tương t , m t c a ra ñơn gi n không có ñ i tho i ñư c th hi n trên hình 2.2. D li u t VXL ñư c g i ra TBNV qua thanh ghi ñ m, dùng ñ ñi u khi n ñèn. M ch khu ch ñ i s nâng công su t lên phù h p v i công su t c a ñèn. Khi l p trình ph n m m, chúng ta s gõ vào dòng l nh C: outportb(addrport,data2); Pascal: port(addrport) := data2; Trình biên d ch s chuy n ño n l nh trên thành mã máy, và khi ch y ño n mã máy này, VXL s t o ra các tín hi u: - A0…A15 t addrport - WR kích ho t m c 0. B gi i mã s so sánh các giá tr trên ñư ng ñ a ch v i ñ a ch c ng cho trư c, n u trùng ñ a ch , ñ u ra b gi i mã s kích ho t m c 0. Do ñó ñ u ra m ch NOR s nh y lên m c 1, kích ho t cho b thanh ghi ñ m m ra, và TBNV nh n d li u t MVT, g m: - 0 7,...,D D tương ng v i bi n data2. K t thúc chu kỳ l nh, WR tr v m c 1. Gi i mã ð a ch A0…A15 1D 7D Bus MVT BGN 0D WR +E K/ð i
  • 22. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 22 2.2.3. C a vào ñơn gi n có ñ i tho i Hình 2.3: C a vào có ñ i tho i C a vào có ñ i tho i th hi n trên hình 2.3. TBNV g i s li u t i ñ u vào các thanh ghi. Khi s li u ñã n ñ nh, thi t b ngo i vi g i ti p m t xung n p. Sư n lên xung n p ñưa d li u c a TBNV vào nh trong thanh ghi. Sư n xu ng xung n p kích m ch l t, ñưa ñ u ra Q = D = 1. ðó là tr ng thái s n sàng c a TBNV. B VXL s ki m tra tr ng thái này b ng thu t toán trong ño n l nh: #define BIT0 0x01; #define addrport1 0x00F8; #define addrport3 0x00F9; do data3 = inportb(addrport1); while (data3&BIT0!=BIT0); data4 = inportb(addrport2); B ng l nh inportb ñ u tiên, VXL s ñưa ñ a ch addrport1 ra các chân ñ a ch , kích ho t 0RD = . ð u ra OR = 0, m m ch ñ m ba tr ng thái, ñưa tín hi u Q = 1 vào ñư ng d li u D0. Qua ñó, d li u v i D0 = 1 s ñư c gán cho bi n data3. K t thúc chu kỳ l nh, 1RD = , ñ u ra c ng OR chuy n sang m c 1 làm m ch ñ m ba tr ng thái chuy n sang tr ng thái tr kháng cao, cách ly chân Q và ñư ng d li u D0. Sau khi VXL ki m tra th y d li u ñã s n sàng (bit D0 = 1), l nh inportb th hai s làm VXL t o tín hi u kích m b ñ m ba tr ng thái, ñưa d li u c a TBNV ñang nh trong các thanh ghi vào bus d li u và gán cho bi n data4. Cũng b ng xung ch n m ch này, m ch l t s xoá Q v m c logic 0. Gi i mã ð a ch A0…A15 RD 1D 7D BCB 1 BCB 2 BCB 7 Bus MVT Cl TBNV 0D Q D QCKL 1 Xung n p Q0 Q1
  • 23. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 23 2.2.4 C a ra ñơn gi n có ñ i tho i Hình 2.4: C a ra có ñ i tho i Hình 2.4 mô t c a ra có ñ i tho i. Khi TBNV s n sàng nh n d li u, TBNV s ñưa ra m t tín hi u logic 1. B VXL s ki m tra tr ng thái c a TBNV trong ño n l nh: #define BIT0 0x01; do data5 = inportb(adrport); while (data5&BIT0 != BIT0); outportb(adrport,data6); Cách ho t ñ ng c a VXL tương t trên, l nh inportb s n p d li u có D0 = 1 vào bi n data5, bi n này dùng ñ so sánh nh n bi t TBNV s n sàng chưa. K t thúc l nh inportb, ñ u ra m ch OR chuy n sang 1, t o xung lên ñ u ra m ch AND, làm chuy n tr ng thái m ch l t Q = D = 0, ñ ng th i làm m ch ñ m ba tr ng thái chuy n sang tr ng thái tr kháng cao, cách ly chân Q và ñư ng d li u D0. N u th y TBNV s n sàng nh n thì l nh outportb ti p theo s g i ñ a ch adrport cùng tín hi u WR 0= t o ra m t xung ra m ch OR. Sư n lên xung này n p d li u data6 trên bus d li u vào thanh ghi ñ xu t ra TBNV, sư n xu ng ñưa tín hi u Q = D = 1, báo cho TBNV là s li u s n sàng. Sau khi nh n s li u, TBNV sinh ra tín hi u ghi nh n ñ xoá tín hi u s li u s n sàng (v m c 0) và l p tín hi u TBNV s n sàng nh n (lên m c 1), ch b VXL g i s li u ti p theo. Trao ñ i d li u có ñ i tho i làm vi c ch c ch n hơn trao ñ i không ñ i tho i. Vì TBNV có t c ñ ho t ñ ng ch m, nên s li u ñ u vào VXL có lúc không ñúng khi TBNV Gi i mã ð a ch A0…A15 1D 7D Bus MVT BGN 0D WR S li u s n sàng K/ð i QD QCKL 1 Ghi nh n RD QD QCKL 0 TBNV s n sàng nh n TBNV Cl Q Pr
  • 24. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 24 có s li u chưa n ñ nh. Do ñó m t thu t toán c n dùng cho trao ñ i không ñ i tho i là ñ c nhi u l n và ki m tra k t qu các l n v i nhau. N u k t qu gi ng nhau thì d li u vào xem như n ñ nh. 2.3 Ghép n i song song ñi u khi n b ng chương trình 2.3.1 Sơ ñ kh i và ch c năng các kh i c a 8255A Hình 2.5: Sơ ñ chân và sơ ñ kh i c a 8255A Hình 2.6: Sơ ñ GN 8255A v i VXL và TBNV PA3 1 PA2 2 PA1 3 PA0 4 RD 5 8255A CS 6 GND 7 A0 9 A1 8 PC7 10 PC6 11 PC5 12 PC4 13 PC0 14 PC1 15 PC2 16 PC3 17 PB0 18 PB1 19 PB2 20 21 PB3 22 PB4 23 PB5 24 PB6 25 PB7 26 VCC 27 D7 28 D6 29 D5 30 D4 31 D3 32 D2 33 D1 34 D0 35 RESET 36 WR 37 PA7 38 PA6 39 PA5 40 PA4 ð m bus s li u Bus s li u 0 7...D D ði u khi n ñ c/ghi RD WR A1 A0 ði u khi n ñ c/ghi RESET CS ði u khi n nhóm B Nhóm B c a B Nhóm B c a C, 4 bit th p Nhóm B c a C, 4 bit cao ði u khi n nhóm A Nhóm A c a A PA0… PA7 PC0… PC3 PC4… PC7 PB0… PB7 Bus s li u trong Ph n GN v i VXL Ph n GN v i TBNVPh n ñi u khi n n i b VXL INTR 0 7D D÷ 0 7D D÷ WR RD RD WR RESET RST A0 A1 A1 A0 2 nA A÷ INTRA INTRB 8255A TBNV Gi i mã ñ a ch cao CS 0 7PA PA÷ 0 7PC PC÷ 0 7PB PB÷
  • 25. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 25 Vi m ch PPI 8255A là vi m ch ñi u khi n b ng chương trình ñư c áp d ng khá r ng rãi. Hình 1.10 trình bày sơ ñ ghép n i 8255A, g m có: 1. Ph n ghép n i v i VXL: - B ñ m s li u ñ trao ñ i d li u hai chi u gi a MVT và ñư ng dây s li u trong. - B logic ñi u khi n ñ c vi t: t c b gi i mã ñ a ch l nh cho các thanh ghi ñ m và thanh ghi ñi u khi n. V i t h p các tín hi u ñ a ch (A0, A1). ch n vi m ch (CS ), các l nh ñ c ( RD ) và ghi ( WR ) c a VXL, ta có các l nh ghi và ñ c khác nhau cho các c a (A, B, C) và t ñi u khi n (control word) như b ng 2.4. B ng 2.4: B ng tr ng thái c a 8255A A1 A0 CS RD WR L nh (c a VXL) Chi u di chuy n s li u (v i VXL) 0 0 1 0 1 0 0 0 0 0 0 0 1 1 1 ð c c a A ð c c a B ð c c a C C a A → D0 … D7 C a B → D0 … D7 C a C → D0 … D7 1 1 0 0 1 Không có giá tr 0 0 1 1 0 1 0 1 0 0 0 0 1 1 1 1 0 0 0 0 Ghi c a A Ghi c a B Ghi c a C Ghi thanh ghi ñi u khi n D0 … D7 → C a A D0 … D7 → C a B D0 … D7 → C a C D0 … D7 → thanh ghi ñi u khi n x x 1 x x Vi m ch tr ng thái tr kháng cao Không có trao ñ i s li u 2. Ph n ghép n i v i TBNV: - C a A, B: hai thanh ghi ñ m s li u (8 bit) vào ho c ra tuỳ chương trình - C a C có th chia là hai nhóm ñ c l p b ng chương trình: n a cao (PC4 … PC7) và n a th p (PC0 … PC3). Tuỳ theo ch ñ s d ng trong t ñi u khi n, c a C có th dùng: • Trao ñ i s li u vào ho c ra ch ñ 0 (mode 0). • ði u khi n ho c ñ i tho i v i TBNV và VXL khi c a A và B ch ñ 1 b ng cách xác l p và xoá t ng bit PCi . • ði u khi n ho c ñ i tho i v i TBNV và VXL khi c a A và B ch ñ 1 và 2. ch ñ 1 và 2, ñ c các bit c a C, ta bi t ñư c tr ng thái c a các c a A và B. 3. Ph n các m ch ñi u khi n n i b : Có các kh i ñi u khi n (nhóm A, nhóm B) các c a A, B và C.
  • 26. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 26 2.3.2 Các ch ñ làm vi c c a 8255A: B ghép n i 8255A có ba ch ñ làm vi c cơ b n như hình 2.7: - Ch ñ 0: vào/ra thông thư ng - Ch ñ 1: ch t vào/ra - Ch ñ 2: BUS hai chi u Tuỳ theo t ñi u khi n ghi vào thanh ghi ñi u khi n khi kh i ñ ng cho vi m ch, ta có các ch ñ làm vi c và chi u trao ñ i s li u c a các c a A, B, C khác nhau, như hình 2.8. Hình 2.7: Tóm t t các ch ñ c a 8255A Hình 2.8: T ñi u khi n ch ñ và chi u c a các c a A, B, C. D7 D6 D5 D4 D3 D2 D1 D0 1 Ch ñ c a A 00 - Ch ñ 0 01 - Ch ñ 1 1x - Ch ñ 2 Chi u c a A 1 - vào 0 - ra Chi u c a C cao 1 - vào 0 - ra Nhóm A Nhóm B Chi u c a C th p 1 - vào 0 - ra Chi u c a B 1 - vào 0 - ra Ch ñ c a B 1 - Ch ñ 1 0 - Ch ñ 0
  • 27. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 27 1. Ch ñ 0: Ðây là ch ñ vào ra cơ b n c a vi m ch, nó ñ m b o d li u ñư c ñưa ra ho c ghi vào các c ng riêng bi t . Trong ch ñ này, vi m ch có các ch c năng sau : - Vi m ch ho t ñ ng g m hai c ng 8 bit và hai c ng 4 bit. - Các c ng có th là c ng vào ho c c ng ra. - Các tín hi u ra ñư c ch t l i . - Các tín hi u vào không ñư c ch t . - Trong ch ñ này 8255 có 16 c u hình ho t ñ ng vào/ra nh s d ng t ñi u khi n và l nh OUT như sau :
  • 28. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 28 * Ð th th i gian ñ c /ghi c a 8255 trong ch ñ này như sau :
  • 29. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 29 Ð th th i gian quá trình ñ c. Ð th th i gian quá trình ghi. 2. Ch ñ 1: Trong ch ñ này c ng A và c ng B s d ng các ñư ng dây tín hi u c a c ng C ñ t o ho c ti p nh n tín hi u h i tho i ( hanshaking signal ) nghĩa là m i quá trình trao ñ i d li u c a t ng c ng ñ u dùng các tín hi u h i tho i. Các ch c năng cơ b n c a ch ñ 1 là - Vi m ch ho t ñ ng g m hai nhóm, nhóm A và nhóm B. - M i nhóm ch a m t c ng 8 bit và m t c ng ñi u khi n 4 bit. - C ng 8 bit có th là c ng vào , ho c c ng ra ,c hai c ng vào ra ñ u là c ng ch t . - Các c ng 4 bit ñư c s d ng ñ ñi u khi n và xác ñ nh tr ng thái c a các c ng 8 bit. Các tín hi u ñi u khi n vào ñư c dùng trong ch ñ vào : • STB (Strobe input) M c th p c a tín hi u vào này cho phép d li u ñư c ñ c vào . • IBF (Input Buffer Full)
  • 30. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 30 M c cao c a tín hi u ra này ch ra r ng d li u ñã ñư c ghi vào c ng ch t, v b n ch t ñây là m t tín hi u xác nh n. Tín hi u IBF ñư c xác l p khi tín hi u STB ñang m c th p và ñư c kh i t o l i khi có sư n dương c a ñ u vào RD . • INTR ( Interrupt Request ) M c cao c a tín hi u ra này có th ñư c s d ng ñ yêu c u ng t t i CPU. Khi m t thi t b vào yêu c u ph c v , tín hi u INTR ñư c xác l p b i tín hi u STB =1, tín hi u IBF=1 và INTE =1 .Tín hi u này ñư c kh i t o l i khi sư n sau c a tín hi u RD . Ch c năng này cho phép các thi t b vào yêu c u ng t t i CPU m t cách ñơn gi n b ng cách ñưa d li u c a nó ra c ng. Các t l nh ñi u khi n và ñ th th i gian c a ch ñ này như sau: * Ð th th i gian c a ch ñ ho t ñ ng này như sau : Ð th th i gian quá trình ñ c .
  • 31. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 31 Các tín hi u ñi u khi n ra ñư c dùng trong ch ñ ra • OBF ( Output Bufer Full F/F). Tín hi u ra OBF chuy n v m c th p ñ thông báo r ng CPU ñã ghi d li u ra m t c ng xác ñ nh. Tín hi u OBF F/F s ñư c xác l p sư n lên c a tín hi u WR và b xoá khi tín hi u vào ACK m c th p . • ACK (Acknowledge Input ). M c th p c a tín hi u vào này thông báo cho 8255 r ng d li u t c ng A ho c c ng B ñã ñư c ch p nh n. V b n ch t ñây là tín hi u phúc ñáp t thi t b ngo i vi thông báo nó ñã nh n ñư c d li u g i t i t CPU. • INTR (Interrupt Request ) M c cao c a tín hi u ra này ñư c s d ng ñ yêu c u ng t CPU khi m t thi t b ngoài ñã nh n ñư c d li u truy n t CPU. Tín hi u INTR xác l p khi tín hi u ACK = "1", OBF = "1" và INTE ="1" . Tín hi u này ñư c kh i t o l i sư n xu ng c a tín hi u WR . Các t l nh c a ch ñ này như sau: * Ð th th i gian c a ch ñ ho t ñ ng này như sau :
  • 32. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 32 Ð th th i gian quá trình ghi. Trong ch ñ 1, hai c ng A và B có th ñư c l p trình m t cách riêng bi t là c ng vào ho c c ng ra ñ ho t ñ ng trong các ng d ng vào /ra có h i tho i khác nhau. Các t l nh ho t ñ ng trong ch ñ này như sau: 3. Ch ñ 2 Ch ñ ho t ñ ng này cung c p kh năng trao ñ i d li u v i các thi t b ngo i vi s d ng m t ñư ng truy n 8 bit ñ v a truy n v a nh n d li u (Bus vào/ra hai chi u). Các tín hi u h i tho i ñư c dùng trong ch ñ này ñ ñi u khi n vi c truy n d li u cũng tương t như ch ñ 1. Các ch c năng cơ b n c a ch ñ 2:
  • 33. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 33 - Trong ch ñ này ch có nhóm A ñư c s d ng . - C ng A là c ng vào/ ra hai chi u 8 bit . - Các tín hi u vào/ra ñ u ñư c ch t l i. - 5 bit c a c ng C ñư c s d ng làm c ng ñi u khi n ,tr ng thái cho c ng A 8 bit. Các tín hi u ñi u khi n ra . • OBF( Output buffer full ) Tín hi u ra OBF m c th p thông báo CPU khi d li u ra c ng A. • ACK (Acknowledge) M c th p c a tín hi u vào này cho phép b ñ m ra bus d li u c a c ng A g i d li u. Ngư c l i, b ñ m ra này s tr ng thái tr kháng cao . • INTE 1 ( Tín hi u INTE ph i h p v i tín hi u OBF ). Ði u khi n b i vi c l p bit ho c xoá bit PC4 . Các tín hi u ñi u khi n vào . • STB (Srobe input ). M c th p c a tín hi u vào này ñ c d li u vào c ng vào ch t . • IBF ( Input bufer Full ). M c cao c a tín hi u ra này ch ra r ng tín hi u ñã ñư c ghi vào c ng vào ch t . • INTE2 ( Tín hi u INTE ph i h p v i tín hi u IBF) Ði u khi n b i vi c xoá /l p bit c a PC4 Các t l nh ho t ñ ng trong ch ñ này như sau :
  • 34. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 34 4. Ch ñ k t h p Ngoài vi c ho t ñ ng riêng r theo t ng ch ñ , 8255 còn có kh năng ho t ñ ng ñ ng th i k t h p các ch ñ khi không ph i t t c các bit trong c ng C ñư c s d ng ñ ñi u khi n ho c dành cho tr ng thái. Các bit còn l i có th ñư c s d ng ñ th c hi n các ch c năng sau : Khi ñư c l p trình là các ñư ng vào tín hi u T t c các ñư ng vào tín hi u ñ u có th ñư c truy c p trong su t quá trình ñ c c ng C thông thư ng. Như trong hình v minh ho sau :
  • 35. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 35 Khi ñư c l p trình là các ñư ng tín hi u ra Các bit trong s các bit cao c a c ng C ( PC7- PC4) ph i ñư c truy c p m t cách riêng r b ng cách s d ng ch c năng xoá /l p bit. Các bit trong s các bit th p c a c ng C có th truy c p b ng ch c năng xoá /l p bit ho c dùng 3 bit tương ng ghi ra c ng C . * Ð c tr ng thái c ng C. Trong mode 0, c ng C truy n d li u t i ho c t thi t b ngo i vi. Khi 8255 ñư c l p trình ho t ñ ng trong mode 1 ho c mode 2, c ng C ñư c s d ng ñ t o ra ho c nh n tín hi u h i tho i trao ñ i v i thi t b ngo i vi. Ð c n i dung c a c ng C cho phép ngư i l p trình ki m tra tr ng thái c a các thi t b ngo i vi và ñi u khi n quá trình trao ñ i d li u. Không có l nh ñ c bi t nào dùng ñ ñ c thông tin tr ng thái t c ng C mà ch có thao tác ñ c thông thư ng th c hi n ch c năng này.
  • 36. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 36 5. Ch c năng xoá bit và l p bit (single bit set/reset ) B t c bit nào trong 8 bit c a c ng C ñ u có th ñư c thi t l p ho c ñư c xoá nh s d ng các l nh ghi ra thanh ghi ñi u khi n các bit phù h p. Như v y khi c ng C ñang ñư c dùng ñ ñi u khi n, ghi tr ng thái cho c ng A ho c c ng B thì nh ng bit c a c ng C có th ñư c xoá ho c ñư c thi t l p nh s d ng các l nh xoá, thi t l p bit như khi c ng C là c ng ra d li u. - T l nh ho t ñ ng trong ch ñ như sau:
  • 37. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 37 6. Ch c năng ñi u khi n ng t (Interrupt control ) Khi 8255 ñư c l p trình ho t ñ ng ch ñ 1 ho c ch ñ 2, các tín hi u ñi u khi n c a nó có th ñư c s d ng như yêu c u ng t t i CPU. Tín hi u yêu c u ng t t o b i c ng C có th b c m hay ñư c phép nh xoá hay xác l p m ch l t INTE s d ng ch c năng l p xoá bit như ñã nêu trên. Ch c năng này cho phép ngư i l p trình có th cho phép ho c không cho phép m t thi t b I/O ng t CPU mà không gây nh hư ng t i b t kỳ m t thi t b nào khác trong c u trúc ng t . 2.3.3 Ghép n i v i 8255A Hình 2.9 trình bày m t ví d m t m ch GN 8255A v i máy in, máy ñ c băng ch ñ 0. N a th p c a C là c a vào, dùng ñ ñ c các tr ng thái - PC1 cho tr ng thái b n c a máy in. - PC0 cho tr ng thái s n sàng c a máy ñ c băng. N a cao c a C là c a ra, dùng ñ ñưa ra tín hi u ñi u khi n: - PC5 ñưa tín hi u ch t s li u cho máy in (qua b ñ o). - PC4 ñ d ch chuy n băng gi y ñi 1 v trí v bên ph i (qua b khu ch ñ i ñ o). Hình 2.10 mô t m ch ghép n i v i máy in ch ñ 1. Các tín hi u ñ i tho i g m: - PC4 tín hi u ra ñ ch t s li u, có th dùng PC7 ( AOBF ) thay th . - PC6 tín hi u vào cho ACK , xác nh n ñã in s li u. - PC3 dùng ñ yêu c u ng t chương trình, ñưa vào chân INTR c a VXL. Nh s d ng ch ñ 1, các tín hi u PC6, PC7 s t ñ ng thu phát mà không c n l nh c a chương trình, tr PC4 ph i ñưa l nh. V i vi c n i vào INTR c a VXL, chương trình ph c v ng t không c n l nh ki m tra tr ng thái c a PC6. Hình 2.9: Ví d GN 8255 ch ñ 0. VXL Reset 0 7D D÷ RD WR 0A 1A 2 19A A÷ 8255 Reset 0 7D D÷ RD WR 0A 1A Gi i mã ñ a ch Máy in 0 7PA PA÷ CS 5PC 1PC Máy ñ c băng Data strobe Busy Busy driver right 0 7PB PB÷ 0PC 4PC
  • 38. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 38 Hình 2.10: Ví d GN 8255 ch ñ 1. Hình 2.11: Ví d GN 8255 ch ñ k t h p. Hình 2.11 mô t ví d ghép n i 8255A ch ñ 2 c a c a PA và ch ñ 0 c a c a PB. . 2.3.4 L p trình cho 8255A Vi m ch c ng song song l p trình ñư c PPI 8255 có kh năng ho t ñ ng trong các ch ñ ho t ñ ng khác nhau các ch ñ ho t ñ ng này có th k t h p ñư c v i nhau t o kh năng l p trình ñi u khi n ho t ñ ng m t cách linh ho t. Khi vi t chương trình cho 8255A ho t ñ ng, ta ph i : - Vi t lưu ñ thu t toán. - Xác ñ nh t ñi u khi n ch ñ cho thanh ghi ñi u khi n, t tr ng thái cho t ng m ch c th . - Chương trình kh i phát b ng l nh ghi vào thanh ghi ñi u khi n. - ðưa n i dung các bít cho các c a dùng ñ ñi u khi n TBNV. - ð c và ki m tra tr ng thái : là thanh ghi tr ng thái n u 8255 dùng ch ñ 1,2; là m t c a ghi tr ng thái TBNV n u ch ñ 0. - ðưa s li u vào hay ghi s li u ra các c a. VXL Reset 0 7D D÷ RD WR 0A 1A 2 19A A÷ 8255 Reset 0 7D D÷ RD WR 0A 1A Gi i mã ñ a ch DAC 0 7PA PA÷ CS ADC 2PB 3PB 0 7D D÷ Ch t s li u Cho phép ñưa ra Ch t s li u Cho phép trích m u 0 7D D÷ 0PB 1PB L i ra tương t L i vào tương t VXL 0 7D D÷ 8255 0 7D D÷ ACK Máy in 0 7PA PA÷ 4PC 6PC Data strobe 7PC 3PCINTR INTRA INTA AOBF
  • 39. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 39 Ví d vi t chương trình ñi u khi n ñưa s li u ra máy in như trên hình 2.9, và ñ a ch cao dành cho máy in xác ñ nh là 3FE18h. Lưu ñ thu t toán th hi n trên hình 2.12. Hình 2.12: Lưu ñ trao ñ i d li u gi a MVT và máy in, máy ñ c băng. Xác ñ nh các thanh ghi ch ñ và chi u c a c a: 3FE18h ⇒ A19 …. A3 A2 A1 A0 T b ng 1.17, ta có ñ a ch sau: PA có ñ a ch addr_A := 3FE18h PB có ñ a ch addr_B := 3FE19h PC có ñ a ch addr_C := 3FE1Ah Thanh ghi ñi u khi n addr_dk := 3FE1Bh Xác ñ nh t ñi u khi n và t tr ng thái: Không dùng ch ñ l p c nên D7=1 PA ch ñ 0, c a ra nên D6=0 D5=0 D4=0 N a c a C cao là c a ra nên D3=0 PB ch ñ 0, c a vào nên D2=0 D1=0 N a c a C th p là c a vào nên D0=1 Ta có t ñi u khi n sau: Data_dk := 81h (=1000 0001 B) T tr ng thái cho các c ng PC: PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 Cho PC5 0 0 1 0 0 0 0 0 ⇒ data_C5 := 20h B t ñ u ð c tr ng thái – PC1 Máy in b n? ðưa s li u ra Xoá xung ch t PC5 L p xung ch t PC5 K t thúc Yes No B t ñ u ð c tr ng thái – PC0 Máy ñ c b n? ð c s li u vào L p xung ch t PC4 Xoá xung ch t PC4 K t thúc Yes No
  • 40. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 40 Cho PC4 0 0 0 1 0 0 0 0 ⇒ data_C4 := 10h Cho PC1 0 0 0 0 0 0 1 0 ⇒ data_C1 := 02h Cho PC0 0 0 0 0 0 0 0 1 ⇒ data_C0 := 01h Chương trình vi t b ng Pascal như sau: Begin {Gán các bi n} Port[addr_dk] := data_dk; Repeat Var1 := port[addr_C]; Until ((var1 and data_C1)=data_C1); Port[addr_A] := ‘s’; Port[addr_C] :=0; Port[addr_C] := data_C5; End
  • 41. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 41 CHƯƠNG 3: GHÉP N I TRAO ð I D LI U N I TI P 3.1 Gi i thi u chung v trao ñ i d li u n i ti p 3.1.1 Yêu c u trao ñ i d li u n i ti p Trao ñ i d li u n i ti p là trao ñ i l n lư t t ng bit, trên m t ñư ng dây duy nh t. Do ñó ít t n kém v ñư ng dây, nhưng t c ñ truy n th p. S trao ñ i này do các yêu c u: - Thi t b phát hay nh n d li u t ng bit. Ví d VXL 8085 phát t ng bit l i ra n i ti p SOD (chân s 4) và nh n d li u l i vào n i ti p SID (chân s 5); và TBNV n i ti p như máy cassette, ñĩa t , máy in n i ti p … - Kho ng cách gi a hai thi t b trao ñ i d li u là l n (có th ñ n hàng ngàn km ho c hơn), do v y vi c dùng 8 ñư ng dây truy n d li u song song là r t t n kém. Ngoài ra, ngư i ta có th dùng luôn ñư ng dây ñi n tho i ñ trao ñ i d li u, thông qua b ñi u ch - gi i ñi u ch (MODEM) ði u khi n n i ti p có 2 lo i truy n d li u: -truy n d li u ñ ng b (t c ñ nhanh). - truy n d li u không ñ ng b (t c ñ ch m). 1. Trong trao ñ i d li u ñ ng b : D li u ñư c truy n 1 l n g m 1 kh i nhi u byte, ñư c ch n ñ u và cu i b i ký t SYNC( mã ASCII là 16h). M i kh i có th hàng trăm byte hay hàng trăm Kbyte. ð truy n ñi c n có s ñ ng b v t c ñ gi a máy phát và máy thu, có 2 cách ñ ñ ng b - M t máy phát xung ñ t nơi phát và truy n t i máy thu b i m t ñư ng dây khác. Do ñó t n thêm m t ñư ng dây H này s d ng 1 máy phát xung ñ ng b ñ cung c p xung ñ ng b cho c hai bên phát và thu. - Máy thu ch tr ng thái ch , khi có ký t ñ ng b SYNC thì máy phát xung nh p trong máy thu b t lên và chuy n sang ch ñ thu xung ñ ng b ñư c kích ho t b i kí t SYNC. sync sync d li u Phát Thu ð ng b Phát Thu ð ng b
  • 42. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 42 2. Trong trao ñ i thông tin không ñ ng b : Các byte ñư c ñ t trong m t khung và truy n ñ c l p v i nhau, g i là m t l i tin. D ng thông tin truy n như sau: D li u truy n có th 5,6 ,7,8 bit; thông thư ng là 7 bit ( n u truy n s li u và ch cái) hay 8 bit ( n u truy n c các ký t m r ng ñ ñi u khi n h t File). M t l i tin g m: - 1 bit Start thư ng là m c 0 (+12V). Theo chu n RS232C, tín hi u t máy tính qua c ng Com, m c ñi n áp là ±12 V và ñư c qui ñ nh:0=12V, 1= -12V. - 5÷8 bit d li u, ñây d li u truy n ñi là mã ASCII, như s “0” s ñư c truy n ñi là mã ASCII = 48 = 030h ch không ph i là truy n ñi “0”. - 1 bit b c dùng ñ ki m tra tính ch n l d li u truy n. T ng s bit 1 c a m t l i tin (k c bit ch n l ) s ñư c ghi vào bit ch n l và ñư c ki m tra so sánh nơi phát và nơi thu. - 1, 1.5 hay 2 bit Stop (tuỳ theo s l a ch n trư c khi trao ñ i) cũng m c 1. S bit Stop th c ch t là ñ dài c a tín hi u Stop m c logic 1. Bit Start dùng ñ ñ ng b xung nh p máy phát và máy thu. N u kho ng cách g n dư i 300m, s thu phát là không c n MODEM. nh ng kho ng cách l n ngư i ta không dùng máy phát xung ngoài mà dùng MODEM ñ t o xung ñ ng b cho c máy phát và máy thu. Vi c dùng MODEM là ñ ch ng nhi u trên ñư ng truy n. Trên ñư ng dây ñi n tho i, ngư i ta không phát t ng bit 0/1 mà dùng MODEM (modulation-demodulation) ñ ñi u ch tín hi u thành d ng xoay chi u (0÷2400 Hz, 1÷1200 Hz) và truy n tín hi u xoay chi u ñó. 3.1.2 M ch trao ñ i d li u n i ti p. 1. M ch không c n b ghép n i: -s d ng 2 chân ra-vào n i ti p SID ( serial IN) và SOD ( serial OUT) c a vi x lý 8085 ñ trao ñ i. -có th dùng 1 chân c a l i vào ra song song c a VXL ñ làm chân vào ra n i ti p. Trao ñ i tin ki u này không ph c t o trong c u t o m ch nhưng ph c t p trong quá trình l p trình và theo dõi thi t b , ñòi h i nhi u th i gian x lý. Hình 3.1: M ch không c n BGN 2. M ch trao ñ i c n ghép n i song song-n i ti p: VXL CLK SOD SID D C Thanh ghi d ch Thi t b ngoài vào/ra song song
  • 43. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 43 BGN có ch c năng chuy n d li u song song t máy tính (h VXL) thành tín hi u d ng n i ti p và truy n ñ n TBNV. ð truy n chính xác, BGN ngoài ch c năng chuy n d li u song song thành n i ti p, nó còn t o ra các bit Start, stop, parity ñ ñóng khung d li u. Lo i này làm vi c ñơn gi n nhưng không m r ng ñư c thi t b ngo i vi, kho ng cách truy n tin ng n. Hình 3.2: M ch c n BGN ss-nt Trong ñó, song song là ss, n i ti p là nt. 3. M ch có KGN song song- n i ti p và n i ti p-song song: H này cũng gi ng như h trên, ch khác là TBNV làm vi c v i d li u song song, nên c n có BGN trung gian chuy n d li u song song thành n i ti p. Hình 3.3: M ch c n BGN ss-nt và nt-ss 4. M ch có BGN, MODEM và RS232C: Hình 3.4: M ch c n BGN ss-nt, RS 232 và MODEM. H này thông d ng và thư ng xuyên g p trong th c t . Trong ñó VXL thư ng là 1 máy vi tính, còn thi t b ñ u cu i (TBðC) có th là 1 ñ i tư ng b t kỳ. N u TBðC là máy vi tính thì h th ng dùng ñ trao ñ i File. Chú ý: Chu n RS232C có m c ñi n áp là ±12V. Chu n RS422 có m c ñi n áp là ±15V. Chu n RS485 có m c ñi n áp là ±30V (ñi n tho i). ð chuy n t RS232C thành RS485 hay RS422 s có nh ng b chuy n (shift) trung gian, thông thư ng ñó là nh ng b ñ m, v a t o m c tín hi u,v a ph i h p tr kháng. VXL BGN ss-nt TBNV (VXL) nt VXL BGN ss-nt TBNV (VXL) ss BGN nt-ss VXL BGN ss-nt RS-232C MODEM MODEM RS-232C BGN ss-nt TBðC (VXL) ss ñư ng dây ñi n tho i
  • 44. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 44 3.1.3 Th t c trao ñ i d li u n i ti p 1. Th t c phát d li u TxD (Tranceiver Data) : • TBðC (hay MVT) g i tín hi u DTR (Data Terminal Ready) m c 0 ñ n MODEM báo hi u ñã s n sàng. • MODEM tr l i TBðC b ng tín hi u DSR (Date Set Ready) m c 0. • N u TBðC có 1 ký t s n sàng g i ñi, nó g i RTS (Request To Send) ñ n MODEM • MODEM g i tín hi u CD (Carrier Detect) cho TBðC ñ báo hi u liên l c ñã thông v i MTV. • Khi MODEM s n sàng phát s li u trên ñư ng dây, MODEM phát xung nh p và tín hi u CTS (Clear To Send) ñ n TBðC (xung nh p trên ñư ng dây). • TBðC g i các ký t s li u (SDU) cho MODEM. • Khi TBðC g i xong, nó nâng tín hi u RTS lên cao ñ báo cho modem bi t là ñã phát xong. • MODEM tr l i cho TBðC b ng tín hi u CTS m c cao, báo hi u hoàn thành vi c truy n tin. Qua ñó ta th y vi c g i ñi kí t b ng modem nhi u th t c và do ñó t c ñ ch m 2. Th t c nh n d li u RxD (Receiver Data) Trong quá trình nh n tin, ph i b o ñ m máy tính ñã s n sàng nh n ,khi ñó : • TBðC phía thu g i DTR m c th p cho MODEM báo nó ñã s n sàng (Data terminal ready) • MODEM thu g i tín hi u tr l i b ng DSR . • MODEM thu nh n tín hi u CD t ñư ng dây và kích g i tín hi u nh p MODEM cho TBðC. • TBðC phát tín hi u RTS cho modem (Request to Send). • MODEM g i tín hi u CTS m c th p cho TBðC (Clear to Send) ñ báo MODEM s n sàng nh n tin. • MODEM nh n TxD trên ñư ng dây, sau ñó ph i ñi u ch thành các bit 0/1 và l n lư t g i chu i tín hi u RxD cho TBðC. • Khi thu xong, TBðC nâng tín hi u RTS lên cao, báo cho MODEM là ñã thu xong • MODEM tr l i b ng nâng tín hi u CTS lên cao, ñ báo quá trình nh n ñã xong. Vi c ti n hành chuy n d li u ss/nt hay nt/ss ñư c th c hi n b i các thanh ghi d ch (Shift register). Các thanh ghi này có tác d ng khi nh n 1 byte song song ñ u vào nó s cho ñ u ra m t chu i bit k ti p nhau theo th t t bit th p ñ n bit cao c a byte. ð i v i máy tính, các ch c năng trên ñư c th c hi n thông qua vi m ch 8251 c a hãng INTEL.
  • 45. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 45 3.2 M ch thu phát di b v n năng UART 8250 M ch URAT 8250 (Universal Asynchronous Receiver/Transmitter) ñư c l p ráp trong các máy IBM XT, là m t IC thu phát không ñ ng b có th l p trình ñư c, nó th c hi n ch c năng giao ti p gi a máy tính và TBNV. Trong các máy PC/AT hi n nay s d ng UART 16450 còn trong PS/2 và các AT ñ i m i l i dùng UART 16550 vì 8250 và 16450 không ñ t ñ n t c ñ 115200 baud ñư c. Th c ra t c ñ này ng d ng t t trong k thu t truy n tin trên m ng, còn trong các thi t b công nghi p TBNV nói chung, thư ng ch c n t i ña 19200 baud là ñư c, thông d ng là 9600 baud. 3.2.1 Sơ ñ kh i và ch c năng các kh i c a UART 8250 1. Mô t vi m ch: Vi m ch 8250 có 40 chân như trên hình v : Hình 3.5: Sơ ñ chân 8250 Ch c năng các chân g m: - Các chân t 1- 8 (D0- D7 ): Các chân d li u, 8 chân này ñư c n i v i bus d li u. Qua 8 chân d li u này mà d li u ñư c ñi t bus t i dư i d ng song song sau khi qua vi m ch 8250 bi n ñ i thành tu n t ñ ñi t i c ng RS232. D li u t c ng RS232 t i dư i d ng tu n t , sau khi ñi qua vi m ch 8250 ñư c bi n ñ i thành song song và qua 8 chân này truy n lên bus. - Chân s 9 (RCLK ): nh n xung ñ ng h ñưa ra t b t o t c ñ . - Chân s 10 (SIN): nh n d li u tu n t ñi t i t c ng RS232. - Chân s 11 (SOUT): G i d li u tu n t sang c ng RS232. - Chân s 12,13,14 (CS0 -CS2): Chip select - tín hi u ch n vi m ch. - Chân s 15 ( BOUDOUT ) : L i ra c a b t o t c ñ . - Chân s 16,17 (XTAL1,XTAL2) :L y xung Clock t b phát nh p b ng th ch anh t i v i t n s 3,072 MHz. - Chân 18(DOSTR ): I/O write. - Chân s 19 ( DOSTR ) : Ð o c a I/O write - Chân s 20 (Vss ): n i ñ t
  • 46. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 46 - Chân s 21 (DISTR) : I/O Read . - Chân s 22 ( DISTR ): Ð o c a I/O Read . - Chân s 26,27,28 ( A0 - A2 ): nh n ñ a ch truy n t i ñ gi i mã l nh . - Chân s 30 (INTRPT) : Interrupt Control Logic . - Chân s 32 ( RTS ) : Request To Send ( yêu c u g i ) . - Chân s 33 ( DTR ) : Data Terminal Ready .(D li u s n sàng ) - Chân s 35 (MR) : Reset . - Chân s 36 (CTS) : Clear To Send - Chân s 37 ( DSR ) : Data Set Ready . - Chân s 38 ( DCD ) : Data Carrier Detect . - Chân s 39 ( RI ): Ring Indicate . - Chân s 40 (VDo) : n i v i ngu n m t chi u +5V. Hình 3.6: Sơ ñ kh i 8250 Như v y, 8250 có 11 thanh ghi n i, v i cách truy c p như b ng sau: B ng 3.1: ð a ch các thanh ghi c a 8085 DLAB A2 A1 A0 ð c/ghi Thanh ghi (3F8) (3F8) (3F9) (3F8) (3F9) (3FA) (3FB) (3FC) (3FE) (3FD)
  • 47. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 47 0 0 1 1 x x x x x x 0 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0 1 1 0 1 0 1 0 1 0 1 0 1 ð c/ghi ð c/ghi ð c/ghi ð c ð c/ghi ð c/ghi ð c/ghi ð c/ghi ð c/ghi ñ m thu (RBR) và ñ m phát (THR) cho phép yêu c u ng t (IER) ch t chia ph n th p (LSB) ch t chia ph n cao (MSB) nh n d ng ng t (IIR) ñi u khi n dòng (LCR) ñi u khi n MODEM (MC) tr ng thái dòng (LSR) tr ng thái modem (MSR) nh nháp (DM) M i thanh ghi trong 8250 tương ng v i m t ñ a ch c ng, trong ñó có hai thang ghi ñ c bi t, nó có ch c năng có th thay th tuỳ thu c giá tr bit DLAB (divitor latch access bit –Bit truy c p ch t) (DLAB là bit D7 c a thanh ghi d ng s li u). • N u DLAB = 1 thì thanh ghi th c hi n ch c năng ch t chia ph n cao và ph n th p. • n u DLAB = 0 , hai thanh ghi dùng ñ ñ m và nh n d li u, và IER. 2. Mô t các thanh ghi: a) Thanh ghi ñ m thu (Receiver Buffer Register – RBR) ng v i DLAB = 0, thanh ghi có ñ a ch là 3F8h (COM1), hay 2F8h (COM2): Khi 8250 nh n ñư c ký t qua chân SIN (chân 10) ký t ñư c chuy n vào thanh ghi d ch, t i ñây nó ñư c tháo khung (các bit start, stop, parity) và n p song song vào thanh ñ m thu (lưu ý thanh ghi có 8 bit). CPU ch ñ c d li u trong thanh ghi này vì nó thao tác v i BUS d li u song song t i thi u m i l n là 1 byte. b) Thanh ghi ñ m phát (Transmitter Holding Register – THR) tương ng v i DLAB = 0, ñ a ch là 3F8h (2F8h) Ký t c n phát ñi ph i ñư c ghi t thanh ghi vào, thanh ghi này nó n m ch (holding) ñó cho ñ n khi ký t trư c nó ñư c phát ñi, sau ñó nó ñưa vào thanh ghi d ch c a b phát, t i ñây nó ñư c ñóng khung và ñưa ra t ng bit m t vào chân SOUT (chân 11) c a 8250, d li u ñ u ra ñây có d ng n i ti p. c) Thanh ghi cho phép ng t (Interrupt Enable Register - IER), bit DLAB = 0 , ñ a ch 3F9h (COM1) hay 2F9h (COM2) Thanh ghi này th c hi n ñ cho phép/c m các nguyên nhân gây ra ng t khác nhau. Trong khi 8250 ho t ñ ng, có tác ñ ng ñ n CPU thông qua chân INTRPT (chân 30), m i bit trong các bit D3, D2, D1, D0 m c cao s cho phép các ho t ñ ng tương ng v i các bit ñ ñưa ra nguyên nhân ng t tương ng, và c m ng t khi ghi 0 vào các bit. Bit Ch c năng 7-4 D tr , luôn ñ t b ng 0. 3 cho phép 8250 phát yêu c u ng t tr ng thái MODEM
  • 48. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 48 2 cho phép 8250 phát yêu c u ng t theo tr ng thái d ng truy n nh n ho c ng t dòng thông tin (l i ch n l , tràn khung). 1 cho phép 8250 phát yêu c u ng t khi thanh ghi ñ m phát r ng. 0 cho phép 8250 phát yêu c u ng t khi thanh ghi ñ m thu ñ y, d li u ñã s n sàng d) Thanh ghi ch t chia ph n th p (Divisor Latch - LS) tương ng DLAB = 1, ñ a ch là 3F8h, hay 2F8h. e) Thanh ghi ch t chia ph n cao (Divisor Latch – MS) tương ng DLAB = 1, ñ a ch là 3F9h, hay 2F9h. ð ñ t t c ñ truy n mong mu n, giá tr tính toán ñư c ñ t trong hai thanh ghi, ñư c g i là thanh ghi ch t chia t c ñ ñư c tính theo công th c B chia = - t n s nh p chu n do ñ ng h th ch anh c a 8250 phát ra, nó b ng 1,8432 MHZ - t c ñ t i ña tính toán là 115200 baud. - t c ñ baud ñ th c hi n các chân SIN, SOUT. B ng ch m i liên h gi a t c ñ s li u và các h s chia d ng hexa decimal như sau: Baud S chia Baud S chia 50 0900 1200 0060 110 0417 2400 0030 150 0300 4800 0018 300 0180 9600 000C 600 00C0 11520 0001 Qua ñó ta th y giá tr trong thanh ch t chia c n 1 byte rư i ñ lưu t t c . ð thu n ti n, ngư i ta s dùng 2 byte và ghi vào 2 thanh ghi, ñó chính là LSB và MSB. f) Thanh ghi nh n d ng ng t (Interrupt Identification Register - IIR), ñ a ch là 3FAh, hay 2FAh. Thanh ghi nh n d ng ng t (ch có th ñ c) ch a mã m c ưu tiên cao nh t c a các yêu c u ng t (t i chân 30-INPUT c a 8250) ñang ch ñư c ph c v . N u có nhi u ng t cùng m t lúc thì IIR s ch a mã ng t nào c n x lý trư c. Do v y khi c n x lý ng t, CPU c n ñ c bit D0 c a thanh ghi này ñ bi t có yêu c u ng t và ki m tra các bit D1 và D2 ñ xác ñ nh ngu n g c các yêu c u ng t. Sau khi 8250 b Reset, ch có yêu c u ng t ưu tiên s m t ñư c ph c v . Ta có th thay ñ i T n s nh p chu n 16 x t c ñ baud mong mu n
  • 49. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 49 ñi u này b ng cách dùng m t n che ñi các bit yêu c u ng t nào ñó b ng cách ghi vào thanh ghi IIR các giá tr bit thích h p. Các bit D7÷D3 luôn ñ t b ng 0. D2, D1: mã hoá các yêu c u ng t có m c ưu tiên cao nh t ñang ch ph c v . D2 D1 M c ưu tiên Nh n di n ng t 0 0 4 Tr ng thái MODEM ⇒ chương trình ñ c tr ng thái MODEM 0 1 3 Thanh ghi ñ m phát r ng 1 0 2 TG ñ m thu ñ y, s li u ñã s n sàng 1 1 1 tr ng thái dòng ñã thay ñ i D0=0: có yêu c u ng t D0=1: không có yêu c u ng t T các nh n d ng ng t trên, VXL s chuy n ñ n các ñ a ch ch a các chương trình con ph c v ng t. VXL s xoá các bit D0, D1, D2 v 0 sau các thao tác: -ñ c thanh ghi tr ng thái chu i. -ñ c d li u t thanh ghi ñ m thu. -ghi vào b phát ho c ñ c thanh ghi nh n di n ng t. -ñ c tr ng thái thanh ghi thao tác MODEM (RS232-C). g) Thanh ghi ñi u khi n dòng (Line Control Register – LCR), ñ a ch là 3FBh, hay 2FBh. Thanh ghi này còn có tên là thanh ghi ñ nh khuôn d ng d li u vì nó quy t ñ nh khuôn d ng c a d li u truy n trên ñư ng dây. Bit Ch c năng 7 =1 truy nh p thanh ghi ch t chia (LSB & MSB) ñ l p t c ñ baud =0 truy nh p IER,THR,RBR 6 ð t cho phép tín hi u Break 5-3 B5 B4 B3 Ch n ch n l x x 0 Non 0 0 1 Odd 0 1 0 Even 1 0 1 High Parity 1 1 1 Low Parity 2 = 1 thì dùng 1.5 bit Stop n u ñ dài t là 5, còn n u ñ dài t 6-8 bit thì có 2 bit Stop. = 0 thì dùng 1 bit Stop 1-0 B1 B0 S bit data 0 0 5 0 1 6 1 0 7 1 1 8
  • 50. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 50 ð hi u tín hi u Break, ta xem ví d khung d li u trên v i 8 bit data, không ki m tra ch n l và 1 bit Stop. Khi ñư ng dây tr ng thái Mark, m c logic là 1. Bit Start s là m c logic 0. Sau ñó t ng bit data s ñư c g i trên ñư ng dây. Bit Stop (logic 1) sau ñó ñư c gán vào ñ k t thúc vi c truy n. Sau bit Stop s là bit logic 0, có nghĩa là bit Start c a m t d li u m i. N u không có thêm d li u truy n ñi, ñư ng dây ph i tr ng thái r i, m c logic 1. Do ñó n u ñư ng dây gi tr ng thái 0 sau bit Stop trong m t th i gian b ng ñ dài 1 t , tín hi u Break s ñư c t o ra. Tín hi u Break là tín hi u báo cho CPU hay MODEM bi t ký t truy n ñã xong và ñang t m ng t vi c truy n. h) Thanh ghi ñi u khi n MODEM (MODEM Control Register – MCR), ñ a ch 3FCh Thanh ghi này còn g i là thanh ghi ñi u khi n các tín hi u ra c a MODEM vì nó cho phép ñi u khi n các tín hi u t i các chân DTR (chân 33) và DTS (chân 32) c a 8250. Bit Ch c năng 7-5 D tr , luôn ñư c thi t l p v 0. 4 =1 cho phép 8250 làm vi c ch ñ n i vòng c c b ñ ki m tra các ch c năng c a 8250. =0 làm vi c ch ñ thư ng. 3 =1 : kích ho t k t xu t OUT2 2 =1 : kích ho t k t xu t OUT1 1 =1 : tín hi u t i chân RTS c a 8250 ñư c chuy n v m c 0, máy tính phát chuy n tín hi u RTS t i MODEM ñ báo hi u nó ñã s n sàng phát d li u. 0 =1 : tín hi u t i chân DTR c a 8250 ñ t m c 0, lúc này máy tính g i tín hi u DTR t i MODEM (hay t i MVT ñ u kia n u giao ti p không dùng MODEM) ñ báo hi u nó s n sàng làm vi c (tín hi u g i t i chân s 4 c a DB9 hay chân 20 c a DB25). i) Thanh ghi tr ng thái dòng (Line Status Register – LSR) ñ a ch 3FDh Ch c năng thanh ghi này cho bi t tr ng thái dòng tín hi u trên ñư ng dây như th nào, các bit D0÷D5 ñ u có th gây ra ng t n u các bit tương ng trong thanh ghi IER ñư c l p . Các bit tr ng thái có ý nghĩa như sau: Bit Ch c năng
  • 51. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 51 7 D tr 6 =1: báo thanh ghi chuy n phát r ng (Transmitter Shift Register Empty), báo m t kí t ñã ñư c phát ñi, bit này b xoá khi có m t kí t chuy n t THR sang TSR. 5 =1: báo thanh ghi ñ m truy n r ng, ký t chuy n t THR sang TSR (Transmitter Shift Register), bit này b xoá khi CPU ñưa kí t ñ n THR. 4 =1: báo nh n ñư c tín hi u Break, bit này b xoá khi ñ c thanh ghi LSR. 3 =1: báo l i khung (framming error) ch ng h n bit stop =0, bit này b xoá khi CPU ñ c thanh ghi LSR. 2 =1: nh n báo ñư c l i ki m tra ch n l (parity error), bit này b xoá khi CPU ñ c thanh ghi LSR. 1 =1: có l i tràn (over run) x y ra khi kí t trư c ñó b m t, bit này b xoá khi CPU ñ c thanh ghi LSR. 0 =1: ñã nh n ñư c 1 ký t và ñ nó trong thanh ghi ñ m thu (RBR), bit này b xoá v 0 khi CPU ñ c thanh ghi RBR. j) Thanh ghi tr ng thái modem (MODEM Status Regisster – MSR), ñ a ch 3FEh Thanh ghi này còn ñư c g i là thanh ghi tr ng thái vào t RS232C vì nó cho bi t tr ng thái hi n th i c a các tín hi u ñi u khi n MODEM. Bit Ch c năng 7 =1 : DCD ñang ho t ñ ng, báo liên l c v i MODEM ñã ñư c thi t l p. 6 =1 : RI ñang ho t ñ ng 5 =1 : MODEM (hay MVT ñ u kia) g i tín hi u DSR (Data Set Ready) v máy tính ñ cho bi t ñã s n sàng nh n d li u (qua chân 6 c a DB9 hay DB25) 4 =1 : MODEM (hay MVT ñ u kia) g i tín hi u CTS (Clear To Send) v máy tính ñ cho bi t ñã s n sàng nh n d li u (qua chân 8 c a DB9 hay chân 5 c a DB25). 3 =1 : bit D7 v a ñ i tr ng thái 2 =1 : bit D6 v a ñ i tr ng thái 1 =1 : bit D5 v a ñ i tr ng thái 0 =1 : bit D4 v a ñ i tr ng thái k) Thanh ghi nh nháp (Scratch Register), ñ a ch 3FFh (dành cho CPU, ít s d ng nên không nghiên c u)
  • 52. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 52 3.2.2 Ghép n i v i UART 8250: Hình 3.7: Sơ ñ ghép n i v i 8250 3.2.3 L p trình cho UART 8250: Lưu ñ thu t toán: a. Kh i phát vi m ch theo trình t sau: - Ghi vào thanh ghi d ng s li u theo : + D7 = DLAB = 1 ñ chu n b ghi ch t cho b chia t c ñ . + Khung tin v i s bit Stop + S bit c a tin - Ghi giá tr b chia t n s vào các thanh ghi ch t chia LSB, MSB tuỳ theo t c ñ baud. - Ghi các phép yêu c u ng t vào thanh ghi yêu c u ng t. b. Phát s li u n i ti p: - ð c thanh ghi nh n d ng ng t ñ bi t b ñ m r ng, có th phát tin. - Ghi vào thanh ghi ñi u khi n MODEM ñ ñưa l nh DRT (bit D0-1) ñi u khi n MODEM chu n b phát. - ð c thanh ghi tr ng thái MODEM ñ ki m tra các bit DSR (D5), RI (D6), DCD (D7) xem ñã chu n b phát chưa? ( giá tr chúng =1) - ð c thanh ghi tr ng thái dòng ñ xem có sai s không và hai thanh truy n và ñ m có tr ng không? (ñ ñưa tin ra) - Ghi tin ra vào thanh ghi ñ m phát t MVT. - Ghi l nh RTS (D1=1) vào thanh ghi ñi u khi n MODEM ñ ñi u khi n phát s li u. VXL Reset 0 7D D÷ 2A 0A 1A 3 15A A÷ 8250 MR 0 7D D÷ 2A 0A 1A Gi i mã ñ a ch MO DEM 2CS DISTRMEMR I/O R MEMW I/O W DOSTR CS1 CS05V ADS CSDOSTR DISTR 0V SOUT SIN RTS DTR DSR DCD CTS RI 1OUT 2OUT XTAL1 CS XTAL2 CS BAUDOUT RCKL RxD TxD DSR DTR RTS CTS DCD RI
  • 53. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 53 c. Nh n s li u n i ti p: - Ghi l nh DTR (D0=1) vào thanh ghi ñi u khi n MODEM - ð c tr ng thái MODEM DSR, RI, DCD thanh ghi tr ng thái MODEM. - ð c thanh ghi tr ng thái dòng ñ bi t ñã có s li u thu chưa (D0=1); ho c ñ c thanh ghi nh n di n ng t ñ bi t thêm s li u thu. - ð c s li u vào t thanh ghi ñ m s li u vào. Ví d 8250 c n trao ñ i tin 8 bit, t c ñ 9600 baud, không ki m tra ch n l , 2 bit Stop, ñ a ch làm vi c ñ u 03F8h. Ghi thanh ghi ñi u khi n dòng D0D1=11 , D2=1, D3=0, D4=0, D5=0, D6=0, D7=1 ⇒ data1_LCR=87h n u D7=0⇒data2_LCR=07h addr_LCR=03FBh Ghi thanh ghi ch t b chia 9600 baud ⇒ s chia=000C data_LS = 0Ch và data_MS = 00h addr_LS=03F8h và addr_MS=03F9h Ghi thanh ghi cho phép ng t không làm vi c, c m ng t: data_IER=00h; addr_IER=03F9h ð c thanh ghi nh n d ng ng t THR_rong= 02h addr_IIR=03FAh Ghi thanh ghi ñi u khi n MODEM Addr_MCR=3FCh Data_DRT=01h Data_RTS=02h ð c thanh ghi tr ng thái MODEM Addr_MSR=3FEh DSR (D5), RI (D6), DCD (D7) = 1 ⇒data1_MSR=E0h ð c thanh ghi tr ng thái dòng Addr_LSR=3FDh Không l i D1 D2 D3 = 0; t/g ñ m r ng D5 D6 =1⇒data1_LSR=60h Chương trình con th c hi n các công vi c trên: 1. Kh i phát vi m ch theo trình t sau: port[addr_LCR] :=data1_LCR; port[addr_LS] :=data_LS; port[addr_MS] :=data_MS; port[addr_LCR] :=data2_LCR;
  • 54. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 54 port[addr_ IER] :=data_IER; 2. Phát s li u n i ti p repeat Var1 := port[addr_IIR]; Until ((var1 and THR_rong)=THR_rong); port[addr_MCR] := data_DRT; repeat Var2 := port[addr_MSR]; Until ((var2 and data1_MSR)=data1_MSR); Repeat var3 := port[addr_LSR]; until ((var3 and data1_LSR)=data1_LSR); port[addr_THR] :=$50; {s li u truy n ñi} port[addr_MCR] := data_RTS; 3.Nh n s li u n i ti p port[addr_MCR] := data_DRT; Repeat Var2 := port[addr_MSR]; Until ((var2 and data1_MSR)=data1_MSR); Repeat var3 := port[addr_LSR]; until ((var3 and data1_LSR)=data1_LSR); Var4 :=port[addr_RBR];
  • 55. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 55 CHƯƠNG 4: GHÉP N I ðI U KHI N NG T 4.1 Khái ni m và phân lo i ng t 4.1.1 Khái ni m M i khi m t thi t b ph n c ng hay m t chương trình c n ñ n s giúp ñ c a CPU, nó g i ñi m t tín hi u ho c l nh g i là ng t (Interrupt Request – IRQ) ñ n b vi x lý ch ñ nh m t công vi c c th nào ñó mà nó c n CPU th c hi n. Khi b vi x lý nh n ñư c tín hi u ng t, nó thư ng t m ngưng t t c các ho t ñ ng khác và kích ho t m t chương trình con ñang có trong b nh g i là chương trình x lý ng t (Interrupt Service Routine _ ISR) tương ng v i t ng s li u ng t c th . Sau khi chương trình x lý ng t làm xong nhi m v , các ho t ñ ng c a máy tính s ti p t c l i t nơi ñã b t m d ng lúc x y ra ng t. 4.1.2 Phân lo i ng t Có ba lo i ng t chính, ñ u tiên là các ng t ñư c t o ra b i m ch ñi n c a máy tính nh m ñáp l i m t s ki n nào ñó như nh n phím trên bàn phím ... Các ng t này ñư c b ñi u khi n ng t 8259A qu n lý. 8259A s n ñ nh m c ñ ưu tiên cho t ng ng t r i g i ñ n CPU. Th hai là các ng t do CPU t o ra khi g p ph i m t k t qu b t thư ng trong khi th c hi n chương trình như chia cho 0 ch ng h n … Cu i cùng là các ng t do chính chương trình t o ra nh m g i các chương trình con xa ñang n m trong ROM ho c RAM, các ng t này g i là ng t m m chúng thư ng là b ph n c a các chương trình con ph c v c a ROM-BIOS ho c c a DOS. Ngoài ba lo i ng t trên còn có lo i ng t ñ c bi t là ng t không b che NMI ñòi h i CPU ph c v ngay khi có yêu c u. Lo i ng t này thư ng ñư c dùng ñ báo hi u s c như s t ñi p áp hay l i b nh . Như v y NMI là m c ng t có ñ ưu tiên cao nh t . Các ng t trong PC có th chia thành 4 nhóm như sau : - Các ng t vi x lý : Thư ng g i là các ng t logic ñư c thi t k s n trong b VXL. B n trong s các ng t này (0,1,3,4 ) do chính b VXL t o ra, còn ng t 2 (NMI ) s ñư c kích ho t khi có tín hi u t o ra b i m t trong các thi t b ngoài. 1. Các ng t c ng Ðư c thi t k s n trong ph n c ng c a c a PC, tám ng t trong s các ng t này (2,8,9,t Bh ñ n Fh) ñư c g n ch t vào trong b VXL ho c vào b ng m ch chính c a h th ng. T t c các ng t c ng ñ u do 8259A ñi u khi n . 2. Các ng t m m
  • 56. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 56 Nh ng ng t này là m t ph n c a các chương trình ROM -BIOS, các s hi u dành cho các ng t c a ROM- BIOS là t 10h ñ n 1C h và 48h . Ngoài ra còn có các ng t DOS và ng t BASIC ph c v h ñi u hành DOS và chương trình BASIC . 3. Các ng t ñ a ch B ng 4.1 : B ng ch c năng các ng t trong máy vi tính INT (Hex) IRQ Common Uses 00 Exception Handlers Chia m t s cho 0 01 Exception Handlers Th c hi n t ng bư c 02 Non-Maskable IRQ Non-Maskable IRQ (Các l i ch n l ) 03 Exception Handlers ði m d ng chương trình do ngư i s d ng ñ t 04 Exception Handlers Vư t quá n i dung thanh ghi hay b nh 05 - 07 Exception Handlers - 08 Hardware IRQ0 B th i gian h th ng 09 Hardware IRQ1 Bàn phím 0A Hardware IRQ2 Redirected 0B Hardware IRQ3 C ng n i ti p COM2/COM4 0C Hardware IRQ4 C ng n i ti p COM1/COM3 0D Hardware IRQ5 Reserved/Sound Card 0E Hardware IRQ6 ði u khi n ñĩa m m 0F Hardware IRQ7 C ng song song 10 - 6F Software Interrupts Ng t ROM-BIOS hay DOS 70 Hardware IRQ8 ð ng h th i gian th c 71 Hardware IRQ9 Redirected IRQ2 72 Hardware IRQ10 Reserved 73 Hardware IRQ11 Reserved 74 Hardware IRQ12 PS/2 Mouse 75 Hardware IRQ13 Math's Co-Processor 76 Hardware IRQ14 Hard Disk Drive 77 Hardware IRQ15 Reserved 78 - FF Software Interrupts - Ba trong s các ng t này tr ñ n ba b ng r t quan tr ng, ñó là b ng kh i t o màn hình, b ng cơ s ñĩa và b ng các ký t ñ th . Các b ng này ch a các tham s ñư c ROM
  • 57. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 57 BIOS dùng khi kh i ñ ng h th ng và t o các ký t ñ th . Các s hi u dành cho các ng t này là t 1D hex ñ n 1F hex. 4.2 X lý ng t c a nhi u thi t b ngo i vi Thông thư ng m t MVT c n x lý ng t c a nhi u TBNV, do ñó c n gi i quy t các v n ñ sau: - Cho phép ho c c m ng t cho m t yêu c u ng t c a m t TBNV. - Ghi nh n và s p x p nhi u yêu c u ng t theo th t ưu tiên. - Xác ñ nh ngu n ng t do TBNV nào gây ra. - T o vector ng t, t c ñ a ch ô nh c a l nh ñ u tiên trong chương trình con ph c v ng t. 4.2.1 Cho phép ho c c m ng t 1. Cho phép ho c c m ng t b ng l nh - L nh c m ng t DI (Disable interrupt) và cho phép ng t EI (Enable Interrupt) c a 8085. - Ghi vào thanh ghi c n i dung bit IF (Interrupt Flag) các giá tr : IF =1 : cho phép ng t IF=0 : c m ng t 2. Cho phép ho c c m ng t b ng m ch ph n c ng V i l i vào NMI và yêu c u ng t c a TBNV, ta có th dùng các m ch l t ñ ñi u khi n cho phép ho c c m ng t. 4.2.2 S p x p ưu tiên ng t Theo m t trong ba phương pháp sau: 1. Phương pháp h i vòng (polling): Dùng chương trình, ñ c theo th t ưu tiên các bit tr ng thái c a các TBNV và ki m tra chúng. N u bit nào xác l p lên 1, t c TBNV tương ng có yêu c u ng t, và VXL chuy n sang chương trình con ng t ph c v TBNV ñó. Sau ñó l i ñ c và ki m tra bit tr ng thái TBNV có m c ưu tiên th p hơn. Phương pháp này ñơn gi n v thi t b nhưng m t th i gian h i vòng. 2. Phương pháp ng t c ng ð tránh m t th i gian h i vòng, ngư i ta n i các bit tr ng thái c a TBNV v i m ch OR, l i ra c ng OR n i vào chân INTR c a VXL. Khi b t kỳ TBNV nào có yêu c u ng t, VXL s nh n bi t qua INTR và ti n hành h i vòng. Phương pháp này gi m ñư c th i gian ki m tra tr ng thái khi chưa có yêu c u ng t nào, nhưng cũng không thay ñ i ñư c th t ưu tiên. 3. Phương pháp x lý ưu tiên b ng m ch c ng Có hai lo i ưu tiên theo v trí và ưu tiên tuỳ theo m ch so sánh. Ưu tiên theo v trí ñ t g n VXL Sơ ñ m ch ví d trên hình 4.1, v i ho t ñ ng như sau: - Tín hi u tr l i ng t INTA (Interrupt Acknowledge) t VXL ñi n i ti p qua các BGN, qua m ch x lý ng t và tr v l i VXL theo m t m t xích kín (daisy chain). BGN nào ñ t g n VXL có m c ưu tiên cao
  • 58. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 58 - N u m t BGN ñã ghi nh n ng t, tín hi u INTA b ch n và không truy n t i BGN sau. Do ñó, VXL không nh n ñư c tín hi u INTA, nghĩa là có m t yêu c u ng t ñã x y ra. Hình 4.1: Sơ ñ ưu tiên ng t theo v trí và vector ng t Phương pháp này tuy ñơn gi n nhưng th t ưu tiên không thay ñ i ñư c và n u có m t BGN nào b h ng, m ch s luôn báo có yêu c u ng t. Ưu tiên ng t dùng m ch so sánh Dùng các vi m ch Intel 8214, 8259 có th thay ñ i ưu tiên ng t b ng chương trình. 4.2.3 Xác ñ nh ngu n gây ng t Có nh ng phương pháp xác ñ nh TBNV nào gây ng t ñ chuy n sang chương trình con ph c v ng t tưng ng cho TBNV ñó: - Phương pháp h i vòng: VXL ñ c và ki m tra l n lư t tr ng thái các TBNV. N u k t qu là 1, tr ng thái TBNV là s n sàng và ngu n ng t là TBNV ñó. - Phương pháp ñ c vector ng t t o b i tín hi u ng t INTA trong ưu tiên ng t theo v trí. - Phương pháp ñ c vào thanh ghi ưu tiên PR trong sơ ñ dùng m ch so sánh. 4.2.4 T o vector ng t Vector ng t ch a ñ a ch ñ u c a chương trình con ph c v ng t. Các vector ng t c a MVT – PC ñư c trình bày trên b ng 4.1. Ta có th t o vector ng t b ng c ng AND colector h như hình 4.1 (b). Phương pháp này thay ñ i ñư c m c ưu tiên và cách tìm ngu n ng t, nhưng m ch ph c t p và ñ t ti n. VXL INTR INTA INTA DI0÷DIn BGN1 BGN2 BGN3 INTA DI0÷DIn 1 0 (a) (b)
  • 59. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 59 CHƯƠNG 5: GHÉP N I VÀO RA ðI U KHI N B NG DMA 5.1 Khái ni m DMA cơ b n 5.1.1 Khái ni m DMA Phương pháp trao ñ i d li u theo chương trình s ch m do: - VXL ph i gi i mã và th c hi n l nh - Trao ñ i d li u t ng byte thông qua thanh ch a AX c a VXL. K thu t vào ra DMA (direct memory access) là phương pháp truy c p tr c ti p t i b nh ho c I/O mà không có s tham gia c a CPU. Phương pháp này trao ñ i d li u gi a b nh và thi t b ngo i vi v i t c ñ cao và ch b h n ch b i t c ñ c a b nh ho c c a b ñi u khi n DMA. T c ñ truy n DMA có th ñ t t i 10 ÷ 12 Kbyte/s v i các b nh RAM có t c ñ cao. DMA ñư c ng d ng trong nhi u m c ñích nhưng thông thư ng nó ñư c dùng trong quá trình "refresh" DRAM, xu t màn hình, ñ c ghi ñĩa, truy n d li u gi a các vùng nh v i t c ñ cao . 5.1.2 Ho t ñ ng DMAC (DMA Controller) cơ b n Hai tín hi u ñ yêu c u và xác nh n trong h th ng VXL là HOLD ñư c s d ng ñ yêu c u DMA và HLDA là ñ u ra xác nh n DMA. Khi tín hi u HOLD ho t ñ ng (HOLD = 1), DMA ñư c yêu c u. B VXL tr l i b ng cách kích ho t tín hi u HLDA, xác nh n yêu c u, ñ ng th i th n i các công vi c hi n th i cùng các bus d li u và ñ a ch , ñi u khi n ñư c ñ t tr ng thái tr kháng cao. Tr ng thái này cho phép các thi t b I/O bên ngoài ho c các b VXL khác n m quy n ñi u khi n bus h th ng ñ truy c p tr c ti p b nh . Tín hi u HOLD có m c ưu tiên cao hơn INTR ho c ñ u vào NMI (ng t không che ñư c) và ch sau RESET. Tín hi u HOLD luôn có hi u l c t i b t kỳ th i ñi m nào trong su t quá trình th c hi n các l nh khác c a VXL. Chú ý r ng t lúc tín hi u HOLD thay ñ i cho ñ n khi tín hi u HLDA thay ñ i ñã tr i qua m t s chu kỳ clock . DMA thư ng ñư c th c hi n gi a thi t b I/O và b nh . Quá trình ñ c DMA là quá trình ñưa d li u t b nh ra thi t b I/O, và ngư c l i quá trình ghi DMA là quá trình ñưa d li u t I/O t i b nh . Trong c hai chu trình này thi t b I/O và b nh ñư c ñi u khi n ñ ng th i d n ñ n c n có các tín hi u ñi u khi n khác nhau. Ð ñi u khi n quá trình ñ c DMA ta c n hai tín hi u ho t ñ ng MEMR (ñ c b nh ) và IOW (ghi I/O). Ð ñi u khi n quá trình ghi ta có hai tín hi u MEMW (ghi b b nh ) và IOR (ñ c I/O). B ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ch n thi t b I/O cho 8088 trong su t quá trình DMA. Do t c ñ truy n DMA ph thu c vào t c ñ c a b nh và t c ñ c a b ñi u khi n DMA nên trong trư ng h p t c ñ c a b ñi u khi n DMA nh hơn so v i b nh thì b ñi u khi n DMA s làm gi m t c ñ chung c a h th ng . Hình v sau minh ho quá trình ho t ñ ng DMA cơ b n cùng ñ th th i gian ñ c / ghi DMA :
  • 60. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 60 Ð th th i gian ñ c / ghi DMA .
  • 61. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 61 5.1.3. Các ch ñ trao ñ i d li u DMA + Trao ñ i d li u theo kh i: trao ñ i nhi u l i d li u, ñ m t giá tr n ñ n 0. + Trao ñ i l y lén chu kỳ t ng ph n: DMA phát hi n data bus r i, r i th c hi n trao ñ i d li u DMA. DMAC ph i có: - Thi t b phát hi n ñư ng dây r i - Thi t b b o ñ m VXL b treo cho t i khi DMAC không s d ng ñư ng dây, khi n VXL ch m t th i gian Tw t i khi DMAC th c hi n trao ñ i xong trong m t ph n c a trao ñ i d li u và ti p t c n t ph n l y lén chu kỳ sau cho t i khi k t thúc trao ñ i c t d li u DMA. + Trao ñ i l y lén chu kỳ trong su t: gi ng ch ñ trên, nhưng DMA b t VXL ch t i khi trao ñ i xong m t t d li u tr n v n.
  • 62. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 62 5.2 B ñi u khi n DMA – 8237A Vi m ch 8237A là m t b ñi u khi n DMA cung c p ñ a ch b nh và tín hi u ñi u khi n trong su t quá trình DMA và truy n s li u v i t c ñ cao gi a b nh và thi t b vào ra. 8237 là vi m ch có 4 kênh tương thích v i b VXL 8088, các kênh này có th m r ng thêm nhi u kênh khác m c dù ñ i v i h th ng nh thì 4 kênh này là qúa ñ . 8237 có kh năng th c hi n truy n DMA lên t i 1.6Mbyte/s .M i kênh có kh năng ñánh ñ a ch t i 64 Kbyte b nh và có th truy n 64 Kbyte theo chương trình. 5.2.1 Sơ ñ kh i và ch c năng các kh i c a vi m ch 8237A 1. Sơ ñ kh i Hình 5.1: Vi m ch 8237A -5
  • 63. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 63 Hình 5.2: Sơ ñ kh i chi ti t c a 8237 - CLK : Ðư c n i v i tín hi u ñ ng h h th ng . - CS :Tín hi u ch n m ch, thông thư ng n i v i ñ u ra c a m t b gi i mã ñ a ch . - RESET : Xoá các thanh ghi t m, thanh ghi tr ng thái , thanh ghi l nh,thanh ghi yêu c u. - READY : t o tr ng thái ch cho 8237A-5 ñ i v i b nh ho c I/O có t c ñ th p. - HLDA (hold Acknowledge): tín hi u thông báo CPU ñã th n i bus ñ a ch , d li u, ñi u khi n c a nó. - DREQ0 - DREQ3 (DMA request) : Ð u vào yêu c u truy n DMA cho m i kênh c a 8237A-5, c c tính c a các tín hi u vào này là có th l p trình ñư c . - DB0 - DB7 (data bus ): Chân n i v i bus d li u c a b VXL 8088 ñư c s d ng trong quá trình trao ñ i d li u - IOR và IOW : ñi u khi n ñ c và ghi I/O . - EOP (end of process ) : tín hi u hai chi u báo k t thúc DMA t i cu i chu kỳ DMA . - A0- A3 : Ch n thanh ghi n i c n l p trình và m t ph n ñ a ch truy n DMA trong quá trình DMA . - A7 - A4 : Cung c p 1 ph n ñ a ch còn l i c a DMA .
  • 64. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 64 - HRQ (hold request ) : n i v i HOLD c a VXL t o yêu c u DMA . - DACK0- DACK3 : (DMA channel acknowledge ) Ð u ra ch p nh n DMA ( có th l p trình ñư c) Thư ng dùng ñ ch n thi t b c n ñi u khi n DMA. - AEN : Cho phép ch t ñ a ch n i v i DB0 - DB7 ñ ng th i không cho phép các b ñ m trong h th ng ñư c n i v i VXL. - ADSTB : (address strobe ) : ho t ñ ng như ALE nhưng ch s d ng b i b ñi u khi n DMA ch t ñ a ch A8- A15 trong su t quá trình truy n DMA. -MEMW ,MEMR: Ð u ra ñi u khi n b nh ñ c, ghi d li u trong chu kỳ DMA tương ng . 2. Ch c năng các kh i và các thanh ghi * Các kh i ch c năng c a vi m ch : - Kh i ñ m bus d li u. Ðây là b ñ m 8 bit ghép n i 8237 v i bus h th ng . (D0- D7) : Các ñư ng bus d li u ba tr ng thái, hai chi u. Khi 8237 ñang ñư c l p trình ñi u khi n b i 8088 CPU, 8 bit d li u c a thanh ghi ñ a ch DMA, thanh ghi ch ñ (Mode set Register ) ñư c g i ñ n t bus d li u. Khi 8088 CPU ñ c m t thanh ghi ñ a ch DMA, ho c thanh ghi ñ m (terminal count Register), thanh ghi tr ng thái d li u ñư c truy n ñ n 8088 thông qua bus d li u. Trong su t chu kỳ DMA (khi 8237 ñang n m quy n ñi u khi n bus d li u), 8237 s g i 8 bit quan tr ng nh t c a ñ a ch b nh (t m t trong s các thanh ghi ñ a ch DMA) t i b ñi u khi n bus. Các bit ñ a ch này s ñư c truy n ngay khi b t ñ u chu kỳ DMA, sau ñó bus d li u s ñư c gi i phóng ñ th c hi n quá trình trao ñ i d li u v i b nh trong su t quá trình DMA. * Các kênh DMA (DMA channel ): M i kênh (CH0 - CH3) bao g m hai thanh ghi 16 bit : Thanh ghi ñ a ch DMA và thanh ghi ñ m (Terminal Count Register ) . Hai thanh ghi này ph i ñư c kh i t o trư c khi các kênh ñư c phép ho t ñ ng. Thanh ghi ñ a ch DMA ñư c ñ c cùng v i ñ a ch c a ô nh ñ u tiên ñư c truy c p. Giá tr ñư c ghi vào thanh ghi ñ m (termianal count register) xác ñ nh s các chu kỳ DMA ngay trư c khi ñ u ra c a b ñ m k t thúc TC (Terminal Count ) ho t ñ ng. Nói chung khi mu n có N chu kỳ DMA thì giá tr N-1 ph i ñư c ñưa t i 14 bit th p c a thanh ghi ñ m c ng vào ra (Terminal Count Register). Hai bit cao nh t c a thanh ghi này xác ñ nh lo i ho t ñ ng DMA cho kênh này .
  • 65. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 65 * Kh i ñ c ghi logic (Read/ Write logic ) Khi 8088 CPU ñ c ho c ghi m t trong s các thanh ghi c a 8237, kh i logic ñi u khi n ñ c ghi nh n l nh ñ c I/O (IOR) ho c I/O Write (IOW) thông báo cho vi m ch ñi u khi n bus 8288 gi i mã 4 bit ñ a ch th p nh t (A0- A3 ) và ñ ng th i ghi n i dung c a bus d li u vào thanh ghi ñ a ch (n u là tín hi u IOW) ho c ghi n i dung thanh ghi ñ a ch lên bus d li u (n u là tín hi u IOR ). Trong su t quá trình DMA kh i logic ñi u khi n ñ c ghi th c hi n l nh ñ c I/O và ghi b nh ( chu kỳ DMA ghi) ho c tín hi u ghi I/O và ñ c b nh (chu kỳ DMA ñ c). C n lưu ý r ng trong su t quá trình ñi u khi n DMA thi t b I/O không ho t ñ ng trong ch ñ này ph i ñư c ñ t tr ng thái "c m " s d ng tín hi u AEN. * Các thanh ghi n i: - Thanh ghi ñ a ch hi n th i (CAR ): Lưu 16 bít ñ a ch b nh trong su t quá trình truy n DMA. M i kênh ñ u có m t thanh ghi này và CAR tăng ho c gi m tuỳ thu c vào cách l p trình. - Thanh ghi ñ m t hi n th i (CWCR ): ñi u khi n s byte ñư c truy n trong quá trình DMA . S ghi trong thanh ghi này nh hơn s byte ñã ñư c truy n 1 ñơn v . - Thanh ghi ñ a ch cơ s và t cơ s (BWCR): s d ng khi ch n ch ñ t ñ ng kích ho t cho m t kênh ,trong quá trình này thanh ghi BWCR ñư c dùng ñ g i l i các thanh ghi CAR và CWCR sau khi DMA k t thúc. - Thanh ghi l nh (Command Register ): l p trình cho ho t ñ ng c a 8237 - Thanh ghi ch ñ (Mode Registe ): Thi t l p ch ñ ho t ñ ng cho m i kênh .
  • 66. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 66 - Thanh ghi yêu c u (Request Register): dùng yêu c u truy n DMA b ng ph n m m . - Thanh ghi che set/reset (Mask register set/reset mode): xoá ,thi t l p vi c c m các kênh . - Thanh ghi c m (Mask register): xoá ho c thi t l p vi c c m c a t t c các kênh b ng m t l nh .
  • 67. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 67 - Thanh ghi tr ng thái (Status register -SR ): xác ñ nh tr ng thái c a các kênh DMA . B ng 5.1: Gi i thi u ñ a ch và các l nh ñ c ghi cho các thanh ghi. A3 A2 A1 A0 RIO WIO Ho t ñ ng 1 0 0 0 0 1 ð c thanh ghi tr ng thái 1 0 0 0 1 0 Ghi thanh ghi l nh 1 0 0 1 1 0 Ghi thanh ghi yêu c u 1 0 1 0 1 0 Ghi thanh ghi m t n ñơn 1 0 1 1 1 0 Ghi thanh ghi ch ñ 1 1 0 0 1 0 Xoá flip-flop con tr byte 1 1 0 1 0 1 ð c thanh ghi t m th i 1 1 0 1 1 0 Xoá ch 1 1 1 0 1 0 Xoá thanh ghi m t n 1 1 1 1 1 0 Ghi t t c các bit c a thanh ghi m t n
  • 68. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 68 Kê nh Thanh ghi Ho t ñ ng CS IOR IOW A3 A2 A1 A0 Int FF Data Bus 0 ñ a ch cơ s Ghi 0 1 0 0 0 0 0 0 A7÷A0 và hi n hành 0 1 0 0 0 0 0 1 A8÷A15 ñ a ch hi n ð c 0 0 1 0 0 0 0 0 A7÷A0 hành 0 0 1 0 0 0 0 1 A8÷A15 ð m l i cơ s Ghi 0 1 0 0 0 0 1 0 W7÷W0 và hi n hành 0 1 0 0 0 0 1 1 W15÷W8 ð m l i hi n ð c 0 0 1 0 0 0 1 0 W7÷W0 hành 0 0 1 0 0 0 1 1 W15÷W8 1 ñ a ch cơ s Ghi 0 1 0 0 0 1 0 0 A7÷A0 và hi n hành 0 1 0 0 0 1 0 1 A8÷A15 ñ a ch hi n ð c 0 0 1 0 0 1 0 0 A7÷A0 hành 0 0 1 0 0 1 0 1 A8÷A15 ð m l i cơ s Ghi 0 1 0 0 0 1 1 0 W7÷W0 và hi n hành 0 1 0 0 0 1 1 1 W15÷W8 ð m l i hi n ð c 0 0 1 0 0 1 1 0 W7÷W0 hành 0 0 1 0 0 1 1 1 W15÷W8 2 ñ a ch cơ s Ghi 0 1 0 0 1 0 0 0 A7÷A0 và hi n hành 0 1 0 0 1 0 0 1 A8÷A15 ñ a ch hi n ð c 0 0 1 0 1 0 0 0 A7÷A0 hành 0 0 1 0 1 0 0 1 A8÷A15 ð m l i cơ s Ghi 0 1 0 0 1 0 1 0 W7÷W0 và hi n hành 0 1 0 0 1 0 1 1 W15÷W8 ð m l i hi n ð c 0 0 1 0 1 0 1 0 W7÷W0 hành 0 0 1 0 1 0 1 1 W15÷W8 3 ñ a ch cơ s Ghi 0 1 0 0 1 1 0 0 A7÷A0 và hi n hành 0 1 0 0 1 1 0 1 A8÷A15 ñ a ch hi n ð c 0 0 1 0 1 1 0 0 A7÷A0 hành 0 0 1 0 1 1 0 1 A8÷A15 ð m l i cơ s Ghi 0 1 0 0 1 1 1 0 W7÷W0 và hi n hành 0 1 0 0 1 1 1 1 W15÷W8 ð m l i hi n ð c 0 0 1 0 1 1 1 0 W7÷W0 hành 0 0 1 0 1 1 1 1 W15÷W8
  • 69. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 69 5.2.2 Ghép n i v i 8237A-5 trong h vi x lý 8088 Vi m ch 8237 ñư c s d ng trong máy vi tính IBM PC ñ th c hi n các quá trình DMA trao ñ i d li u tr c ti p gi a thi t b ngoài và máy vi tính . Tín hi u AEN và ADSTB ra c a 8237A-5 ñi u khi n ñ u ra c a ch t 82C82. Trong su t quá trình ho t ñ ng bình thư ng c a 8088 (AEN=0 ) các vi m ch ch t ñ a ch cung c p các bit ñ a ch A15- A8 .Ð a ch bus A7- A0 ñư c cung c p tr c ti p b i 8237A-5 và ch a m t ph n ñ a ch truy n DMA. Tín hi u ñi u khi n MEMR ,MEMW ,IOR ,IOW cũng ñư c t o b i b ñi u khi n DMA. Gi thi t ñ a ch ñ u cho DMAC là 0070h. Hình 5.3: Sơ ñ ghép n i 8237 v i 8088 1. Các tr ng thái ho t ñ ng Vi m ch 8237A có các tr ng thái sau: - Tr ng thái ngh SI: tr ng thái tr kháng cao, không ñư c ch n m ch (CS =1). - Tr ng thái ch SO: Tr ng thái ñ u c a quá trình trao ñ i DMA. 8257 nh n tín hi u DREQ, x lý và g i yêu c u Hold cho VXL nhưng chưa nh n ñư c tín hi u xác nh n theo HLDA. Khi nh n ñư c xác nh n, DMAC b t ñ u quá trình trao ñ i d li u. - Tr ng thái phát ñ a ch ngu n s li u S1: DMAC phát ñ a ch ngu n s li u (c a I/O ho c Memory) - Tr ng thái phát l nh ñ c cho ngu n s li u S2: DMAC phát l nh ñ c s li u c a ngu n s li u - Tr ng thái ch SW: DMAC ch trong th i gian Sw ñ s li u ñư c ñ c xong ngu n phát s li u, ghi xong vào thanh ghi ñ m, ch Ready c a DMAC.
  • 70. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 70 - Tr ng thái phát ñ a ch c a ñích s li u S3: DMAC phát ñ a ch c a nơi g i s li u (Memory ho c c a I/O) - Tr ng thái phát l nh ghi s li u vào ñích S4: DMAC phát l nh ghi s li u t thanh ghi ñ m ra c a vào-ra 2. Các ch ñ Tuỳ n i dung thanh ghi ch ñ lúc kh i phát, DMAC có các ch ñ sau: - Ch ñ chuy n t ng t ñơn (Single Transfer Mode) - Ch ñ chuy n nhi u t (Block Transfer Mode) - Ch ñ chuy n theo nhu c u (Demand Transfer Mode) v i s lư ng t tuỳ theo ngư i s d ng ñi u khi n. - Ch ñ ghép t ng (Cascade Mode) là ch ñ chuy n liên ti p các t , ñi u khi n b i các DMAC m c n i t ng. 3. Các ch ñ ưu tiên c a yêu c u DMAC Cũng gi ng như x lý ng t, DAMC có hai ch ñ ưu tiên: - Ch ñ ưu tiên c ñ nh: kênh 0 có m c ưu tiên cao nh t, kênh 3 có m c ưu tiên th p nh t. - Ch ñ ưu tiên vòng: kênh v a ñư c ph c v s có m c ưu tiên th p nh t. Khi m i l p ch ñ , kênh 0 có m c ưu tiên cao nh t. 4. Kh i phát và ñ m b o chương trình ph c v Trư c khi ñưa DMAC vào ho t ñ ng, chương trình ph i kh i phát nó. Quá trình kh i phát g m 2 giai ño n: - Xoá c ng b ng tín hi u Reset, làm các thanh ghi v 0. - Ghi các l nh c a chương trình kh i phát: VXL ghi vào các thanh ghi ch c năng như ñ a ch ban ñ u, s t trao ñ i, s kênh, che ch n yêu c u c a kênh không c n ho t ñ ng, ch ñ trao ñ i, chi u tăng hay gi m ñ a ch … Khi ghi d li u vào thanh ghi 16 bit, ph i ghi l n l ơt 2 byte theo th t byte th p trư c, byte cao sau. - Sau khi ñư c kh i phát, DMAC s hoàn toàn t ñ ng làm vi c. K t thúc chương trình kh i phát này, luôn ph i có l nh ghi bit D4=1 vào thanh ghi ch ñ ñ cho phép t kh i ñ ng. 5. K t thúc trao ñ i DMA Có hai cách k t thúc trao ñ i d li u: - K t thúc t ñ ng: K t thúc khi b ñ m s tin trao ñ i ñ m v 0, hay s ñ m k t thúc TC (Terminal Count). V i DMAC 8237, vi c k t thúc th hi n tín hi u Hold k t thúc, t c tr v m c logic 0.
  • 71. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 71 - K t thúc c ơng b c: ñây là tín hi u t ngoài vào (do m ch TBNV ho c do ngư i ñi u hành can thi p b ng cách n nút l nh) ñ k t thúc quá trình trao ñ i DMA. 6. Ki m tra s k t thúc kênh mong mu n Trong khi DMAC ho t ñ ng, thanh ghi tr ng thái luôn ñư c c p nh t, t c luôn ghi tr ng thái hi n th i c a DMAC. Khi k t thúc, VXL có th ñ c n i dung này c a thanh ghi tr ng thái ñ bi t r ng kênh nào c a DMA ñã ñ t ñ n s ñ m k t thúc TC, s l i ñã trao ñ i là bao nhiêu ( trư ng h p k t thúc cư ng b c do EOP t ngoài vào) và kênh vào ñang ch ph c v . 7. ð c ñi m v ho t ñ ng c a 8237 8237 có nh ng ñ c ñi m chính sau: - Cho phép ho c c m riêng bi t t ng kênh DMA trong s 4 kênh. - Trao ñ i d li u DMA tr c ti p gi a hai vùng b nh . - Cho phép n i t ng các DMAC ñ tăng s kênh DMA. - Có th t o yêu c u DMA b ng chương trình - V i 8237-2, t c ñ trao ñ i DMA có th ñ t t i 1,6Mbps. Do ñó ngoài ph c v trao ñ i d li u gi a MVT và màn hình, ñĩa, DMA còn ñư c dùng trong m ng MVT. 5.2.3 L p trình cho 8237A a. Chương trình truy n d li u gi a b nh -b nh b ng DMA Ví d c n chuy n kh i nh có ñ a ch 1000h-13FFh t i kh i nh 1400h-17FFh thông qua DMA. Chương trình s g m các bư c sau: - Xoá flip-flop con tr byte v 0. - L p trình cho các kênh 0 và 1: ðưa ñ a ch ngu n và ñích vào kênh 0 và 1. - ð t giá tr b ñ m b ng s byte c n chuy n -1 - L p trình thông qua thanh ghi ch ñ cho kênh 0 và 1 - L p trình cho thanh ghi l nh - Cho phép kênh 0 và ñưa ra yêu c u DMA - Ki m tra bit h t d li u. N u ñã xong thì k t thúc DMA. Xác ñ nh ñ a ch các thanh ghi: Addr_chanel0 = $70; Addr_chanel1 =$72; Addr_CT1 =$73 ;// ð a ch b ñ m kênh 1 Addr_SR =$78 ;// ð a ch thanh ghi tr ng thái Addr_CR =$78 ;// ñ a ch thanh ghi ñi u khi n Addr_MR =$7B ; //ñ a ch thanh ghi ch ñ Addr_MKR = $7F;// ñ a ch thanh ghi c m Addr_RR = $79 ; //ñ a ch thanh ghi yêu c u Addr_pFF = $7C ; //ñ a ch flip-flop con tr byte
  • 72. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 72 port[addr_pFF]=$00;// xoá con tr FF v 0. // ð t ñ a ch ngu n vào kênh 0 port[addr_chanel0] =$00; port[addr_chanel0] =$10; // ð t ñ a ch ñích vào kênh 1 port[addr_pFF]=$01;// xoá con tr FF v 0. port[addr_chanel1] =$00; port[addr_chanel1] =$14; //Ch ñ nh s byte c n chuy n 4000 port[addr_pFF]=$01;// xoá con tr FF v 0. port[addr_CT1] =$00; port[addr_CT1] =$40; // ð t ch ñ : kênh 0 ñ c 1011 1000b= B8h ; kênh 1 ghi: 1011 0101=B5h port[addr_pFF]=$01;// xoá con tr FF v 0. port[addr_MR]=$B8; port[addr_MR]=$B5; // L p trình thanh ghi l nh cho phép truy n M-M= 01h Port[addr_CR]=$01; // B m t n che ch n kênh 0 = 0000 1110 b=0Eh port[addr_MKR]= $0E; //Yêu c u DMAC = 0000 0100 b=04h port[addr_RR] = $04; //Ki m tra tr ng thái k t thúc ñ m: kênh 0 ñã truy n h t d li u (D0=1) =01h Repeat Var1=port[addr_SR]; Until ((var1 and $01)=$01); //k t thúc truy n Return; Sau khi kh i ñ ng, h th ng DMAC s t ho t ñ ng mà không c n thêm chương trình ph nào n a.
  • 73. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 73 CHƯƠNG 6: GHÉP N I TƯƠNG T -S VÀ S -TƯƠNG T Ð có th ñi u khi n ñư c các máy móc trong nhà máy, các thi t b y t chúng ta c n quan tâm ñ n các nh hư ng c a môi trư ng bên ngoài như áp su t, nhi t ñ ... Thư ng có m t s bư c ñ nh n ñư c tín hi u ñi n bi u di n cho các y u t ñó và bi n ñ i t d ng tương t sang d ng s ñ các máy tính có th x lý ñư c. Hình 6.1 bi u di n sơ ñ ñơn gi n c a m t h th ng ñi u khi n t ñ ng dùng máy vi tính. Hình 6.1: Sơ ñ c u trúc h th ng ñi u khi n t ñ ng dùng máy vi tính ð u tiên là c m bi n (CB) dùng ñ bi n ñ i các giá tr v t lý như nhi t ñ , áp su t ... sang m t ñi n áp hay dòng tương ng. Sau c m bi n thư ng là b khu ch ñ i (Kð) và l c. Khâu này ñư c th c hi n b i m t s m ch khu ch ñ i thu t toán. Sau ñó, tín hi u tương t này ñư c chuy n sang d ng s b ng b bi n ñ i tương t -s (Analog-Digital Converter-ADC), và ñư c máy vi tính nh n, x lý, lưu tr , so sánh v i tín hi u ñ t, và t o ra tín hi u ñi u khi n (ðK) tương ng. Vì máy vi tính ch làm vi c tín hi u s (logic 0 và 1) nên c n có b chuy n ñ i s -tương t (Digital-Analog Converter-DAC) ñ t o ra tín hi u ñi u khi n d ng tương t . Ti p theo là khâu khu ch ñ i (Kð) và l ch áp ñ t o tín hi u phù h p cung c p cho cơ c u ch p hành (CCCH) c a h th ng th c. 6.1 Gi i thi u m t s m ch khu ch ñ i thu t toán Khu ch ñ i thu t toán là m t trong s nh ng linh ki n ñi n t thư ng g p nh t trong k thu t tương t , vì th trong k thu t ño lư ng và ñi u khi n công nghi p, khu ch ñ i thu t toán cũng có m t trong r t nhi u thi t b và h th ng. Kh năng s d ng c a các b khu ch ñ i thu t toán là r t v n năng, chúng ñư c áp d ng trong nhi u lĩnh v c như các b khu ch ñ i m t chi u, các b khu ch ñ i xoay chi u, b l c tích c c, b dao ñ ng, b bi n ñ i tr kháng, b vi phân, b tích phân... 6.1.1 Các tham s cơ b n c a m ch khu ch ñ i thu t toán CCCH H th ng th c CB KðADC DAC KððK Setpoint Máy vi tính
  • 74. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 74 Hình 6.2: Sơ ñ b khu ch ñ i thu t toán. Ud hi u ñi n áp vào UP , IP ñi n áp vào và dòng ñi n vào c a thu n. UN , IN ñi n áp vào và dòng ñi n vào c a ñ o. Ur , Ir ñi n áp ra và dòng ñi n ra. B khu ch ñ i thu t toán khu ch ñ i hi u ñi n áp Ud = UP - UN v i h s khu ch ñ i 00 >K . Do ñó ñi n áp ra: ( )Npdr UUKUKU −== 00 1. H s khu ch ñ i hi u K0 Khi không t i ñư c xác ñ nh theo bi u th c sau Np r d r UU U U U K − ==0 2. H s khu ch ñ i ñ ng pha KCM N u ñ t vào c a thu n và c a ñ o c a b khu ch ñ i thu t toán các ñi n áp b ng nhau, nghĩa là: UP = UN = UCM =0 thì Ud = 0. G i UCM là ñi n áp vào ñ ng pha. Lý tư ng ta có Ur=0. Tuy nhiên, th c t không ph i như v y. Do ñó gi a ñi n áp ra và ñi n áp vào ñ ng pha có quan h t l là h s khu ch ñ i ñ ng pha KCM : CM r CM U U K ∆ ∆ = KCM nói chung ph thu c vào m c ñi n áp vào ñ ng pha.
  • 75. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 75 3. H s nén ñ ng pha CMRR Dùng ñ ñánh giá kh năng làm vi c c a b khu ch ñ i th c so v i b khu ch ñ i lý tư ng (KCM=0) CMK K CMRR 0 = 4. Dòng vào tĩnh Là tr trung bình c a dòng vào c a thu n và dòng vào c a ñ o: 2 Np t II I + = v i UP = UN = 0 Dòng vào l ch không là hi u các dòng vào tĩnh hai c a c a b khu ch ñ i thu t toán I0 = IP - IN v i UP = UN = 0 Thông thư ng I0 = 0,1IP. Tr s c a dòng vào l ch không thay ñ i theo nhi t ñ . Hi n tư ng này g i là hi n tư ng trôi dòng l ch không. 6.1.2 Các sơ ñ cơ b n c a b khu ch ñ i thu t toán 1. Sơ ñ khu ch ñ i không ñ o Hình 6.3: Sơ ñ m ch khu ch ñ i không ñ o H s khu ch ñ i c a m ch:       −      + + = CMRRRR R K K 1 1 1 1 21 2 0 M t b khu ch ñ i thu t toán lý tư ng s có:
  • 76. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 76 H s khu ch ñ i khi không có ph n h i âm l n vô cùng. Ði n tr l i vào l n vô cùng. Ð r ng d i thông l n vô cùng. H s nén ñ ng pha CMRR l n vô cùng. Ði n tr l i ra b ng không . Th i gian ñáp ng b ng không Do ñó, h s khu ch ñ i c a m ch lý tư ng là: 2 21 R RR K + = 2. M ch ñ m Ðây là trư ng h p ñ c bi t c a m ch khu ch ñ i không ñ o Hình 6.4: Sơ ñ m ch ñ m M ch có h s khu ch ñ i b ng K=1 và thư ng dùng ñ ph i h p tr kháng. 3. M ch khu ch ñ i ñ o Hình 6.5: Sơ ñ m ch khu ch ñ i ñ o H s khu ch ñ i c a m ch: 1 2 R R K −=
  • 77. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 77 4. Sơ ñ bi n ñ i dòng ñi n - ñi n áp Hình 6.6: Sơ ñ bi n ñ i dòng ñi n - ñi n áp Ði n áp ra ñư c tính theo bi u th c: UR = - R.IV 6.2 B chuy n ñ i s -tương t DAC B chuy n ñ i s tương t dùng ñ chuy n tín hi u d ng s sang d ng tương t . Khâu này hay ñư c s d ng trong h th ng ñi u khi n có dùng máy vi tính. Vì máy vi tính ch làm vi c v i tín hi u s , trong khi h th ng th c c n tín hi u ñi u khi n d ng tương t . 6.2.1 Ho t ñ ng c a DAC Hình 6.7: Ví d v b bi n ñ i DA 4 bít M c ñích c a b bi n ñ i DA, như ñã nêu, là bi n ñ i tín hi u nh phân n bít thành dòng hay áp tương ng. Hình 6.7 là m t ví d v m t b bi n ñ i DA 4 bít ñơn gi n. D a vào v trí c a các công t t Bi (1 là ñóng và 0 là m ), ñi n tr ñ u vào s thay ñ i theo. Do ñó ñi n áp ñ u ra cũng s thay ñ i theo :
  • 78. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 78       +++= 3 4 4 3 4 2 5 14 10.5,1210.5,210.510 5.10 BBBB Ur V nguyên t c b chuy n ñ i s -tương t ti p nh n m t mã s n bít song song ho c n i ti p l i vào và bi n ñ i ra dòng ñi n ho c ñi n áp tương ng l i ra. Dòng ñi n hay ñi n áp l i ra là hàm bi n thiên phù h p theo mã s l i vào. Hình 6.8: Sơ ñ kh i DAC M t b DAC hoàn ch nh bao g m ba ph n t cơ b n: Ði n áp quy chi u n ñ nh bên ngoài (Vref) DAC cơ s Khu ch ñ i thu t toán Như v y ñi n áp ñ u ra c a b bi n ñ i V0 s ph thu c vào mã nh phân ñ u vào theo công th c sau: V0 = Vref (B020 + B121 + ... + Bn2n )/2n+1 Trong ñó B0 là bít th p nh t và Bn là bít cao nh t c a mã nh phân ñ u vào, Vref là ñi n áp quy chi u. DAC cơ s c u t o b ng các ñi n tr chính xác và nh ng chuy n m ch tương t ñư c ñi u khi n b i mã s ñ u vào . Các chuy n m ch tương t ñi u ch nh dòng ñi n hay ñi n áp trích ra t ñi n áp quy chi u và t o nên dòng ñi n hay ñi n áp ñ u ra tương ng v i mã s ñ u vào. M ch khu ch ñ i thu t toán dùng ñây ñ chuy n ñ i dòng thành áp ñ ng th i có ch c năng t ng ñ m. B bi n ñ i DAC có ñ c ñi m là ñ i lư ng ra tương t không liên t c, ñ r i r c c a ñ u ra ph thu c vào s bít c a b bi n ñ i, nh ng DAC có s bít ñ u vào l n thì t ng s n c ñi n áp ra càng l n và kho ng cách gi a các n c càng nh .
  • 79. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 79 6.2.2 Các tham s cơ b n c a b chuy n ñ i DA Ð phân gi i (Solution): Liên quan ñ n s bít c a m t DAC. N u s bít là n thì s tr ng thái c a tín hi u nh phân là 2n nghĩa là s có 2n m c ñi n th (ho c dòng ñi n) khác nhau, do ñó có ñ phân gi i là 1/2n . Ð phân gi i càng bé thì ñi n th (ho c dòng ñi n ñ u ra) càng có d ng liên t c, càng g n v i th c t và ngư c l i. Ð chính xác (Accuracy): Có th ñánh giá ch t lư ng c a m t DAC b ng sai s c a nó. Ð i lư ng bi u di n sai s là ñ l ch t i ña gi a ñ i lư ng ra và m t ñư ng th ng n i ñi m 0 v i ñi m FS (Full Scale) trên ñ c tuy n chuy n ñ i DA. Ð tuy n tính (Linearity): Ð tuy n tính c a DAC cho bi t ñ l ch ñi n áp so v i m t ñư ng th ng ñi qua nh ng ñi m nút c a ñ c tuy n chuy n ñ i. Ðó là ñ c tính thư ng g p nh t v i DAC. Ðư ng cong ñ c tuy n là ñơn ñi u n u s thay ñ i ñ l ch trên là không ñ i d u. Ð có m t DAC ñơn ñi u, ñ l ch này ph i l n hơn 0 cho m i n c thang. Ngoài ra m c ñ tuy n tính c a DAC ph i nh hơn ho c b ng 1/2 LSB (Least Significant Bit- Tham kh o hình 6.14) ñ nó tr nên ñơn ñi u. Như v y 1/2 LSB là ñ c trưng v gi i h n ñơn ñi u c a m t DAC. Phi tuy n vi sai: là ñ i lư ng cho bi t ñ l ch gi a giá tr th c t và lý tư ng cho m t n c ñi n áp ra ng v i m i thay ñ i c a mã s vào. Ð i lư ng này cho bi t v ñ nh n c a ñư ng cong ñ c tuy n ñ i v i DAC. Th i gian thi t l p: ñ i v i m t DAC là th i gian c n thi t ñ ñi n áp ra ñ t t i giá tr t i h n sai s xung quanh giá tr n ñ nh. Gi i h n này thư ng là 1/2 LSB ho c bi u di n b ng giá tr FS. Th i gian thi t l p trư c h t ph thu c vào ki u chuy n m ch, ki u ñi n tr và ki u khu ch ñ i dùng ñ xây d ng b DAC. Thông thư ng nó ñư c ñ nh nghĩa b ng th i gian t khi ñi n áp b t ñ u thay ñ i cho t i khi ñ t t i vùng gi i h n sai s cho trư c. Nó không bao g m th i gian tr tính t khi có s thay ñ i mã s ñ u vào cho t i khi ñi n áp ra b t ñ u ñáp ng. 6.2.3 Các m ch DAC ñi n hình Các DAC có th ñư c xây d ng theo m t trong nh ng ki u m ch sau: Chuy n ñ i DA theo ki u ñi n tr tr ng lư ng Chuy n ñ i DA theo ki u m ch R-2R Chuy n ñ i DA theo phương pháp mã hoá Shannon-Rack
  • 80. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 80 1. B chuy n ñ i DA theo ki u ñi n tr tr ng lư ng (Weighted resistor DAC) Hình 6.9: DAC theo phương pháp ñi n tr tr ng lư ng M ch g m m t ngu n ñi n áp chu n Uch, các chuy n m ch, các ñi n tr có giá tr l n lư t là R, R/2, R/4, ... , R/2n-1 và các m ch khu ch ñ i thu t toán. V i m ch như trên, khi m t khoá ñi n th i nào ñư c n i v i ngu n ñi n th chu n thì s cung c p cho b KÐTT dòng ñi n có giá tr là: i ch i R U I 2 = Dòng ñi n này ñ c l p v i các khoá còn l i. Như v y có th th y ngay r ng biên ñ ñi n áp ra ph thu c vào các v trí ñư c ñóng hay m khoá nghĩa là ñư c n i v i ñi n áp chu n Uch hay nói cách khác ph thu c vào giá tr các bít tương ng trong tín hi u s ñưa vào m ch chuy n ñ i. M t cách t ng quát, v i m t DAC có n bít thì tín hi u ra ñư c tính theo công th c: ( )0 0 1 1 .2.2 BB R R UU n nf chr ++−= − − L Trong ñó B0 ÷ Bn-1 có giá tr "0" ho c "1". M ch có ưu ñi m là ñơn gi n, nhưng như c ñi m là ñ chính xác và tính n ñ nh c a k t qu ph thu c nhi u vào tr s tuy t ñ i c a các ñi n tr và s n ñ nh c a chúng trong các môi trư ng khác nhau. Ngoài ra còn ph thu c vào tính n ñ nh và ñ chính xác c a ngu n ñi n áp chu n.
  • 81. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 81 2. B chuy n ñ i DA theo ki u thang ñi n tr R-2R (R-2R ladder) Hình 6.10: DAC theo phương pháp m ch R-2R DAC v i thang ñi n tr R-2R kh c ph c ñư c m t s như c ñi m c a DAC ñi n tr tr ng lư ng. M ch ch g m hai ñi n tr R và 2R m c theo hình thang v i nhi u khoá ñi n (m i khoá ñi n cho m t bít) và m t ngu n ñi n áp chu n Uch. Ð i lư ng c n tìm là dòng Ith ch y vào m ch KÐTT khi có m t s khoá ñi n ñư c n i v i Uch. Theo m ch ñi n ta có: Ura = -Ith.Rf Xét t i chuy n m ch tương ng v i bít th i, nút tương ng trên m ch hình thang là 2i . S d ng ñ nh lý Thevenin, khi ñóng chuy n m ch vào Uch thì ñi n th tương ñương Thevenin t i nút 20 s là Uch/2 và ngu n tương có n i tr là R, như v y t i nút 21 (ti n v phía m ch KÐTT) ta có ngu n tương ñương Thevenin có tr s là Uch/4 và n i tr là R. T nh ng k t qu trên suy ra r ng khi di chuy n v phía m ch KÐTT thì tr s ñi n th Thevenin t i m i nút b ng m t n a tr s t i nút k c n bên trái nó, và t i nút 2n-1 do ñ c tính c a b KÐTT ñi n th ñư c coi b ng 0V. M t cách t ng quát, ta có công th c ñ tính ñi n áp ra c a m t DAC n bít v i ñi n tr hình thang R-2R như sau: ( )0 0 1 1 .2.2 .2 BB R R UU n n n f chr ++−= − − L Trong ñó B0 ÷ Bn-1 có giá tr "0" ho c "1".
  • 82. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 82 Các DAC theo thang ñi n tr ph i dùng s ñi n tr khá l n, ví d n u m t DAC n bít thì c n dùng 2(n-1) ñi n tr trong khi phương pháp ñi n tr tr ng lư ng ch ph i dùng n thôi. Nhưng bù l i ñ chính xác và tính n ñ nh c a tín hi u ra ñư c ñ m b o t t hơn. 6.2.4 Ghép n i v i DAC V nguyên t c m t b DAC có th ghép n i tương thích v i h u h t các b VXL. Ð i v i các b DAC 8 bít, công vi c th m chí còn r t ñơn gi n khi ghép n i v i các VXL, lý do là các VXL ñ u có BUS d li u là b i c a 8. Ð i v i các b DAC 12 hay 16 bít ta ph i s d ng các ñ m trung gian có s bít tương ng sau ñó ti n hành trao ñ i s li u nhi u l n. Hình 6.11 và 6.12 bi u di n m ch ghép n i h VXL v i m t DAC 8 bit và DAC 16 bit. Hình 6.11: M ch ghép n i h VXL v i m t DAC 8 bits Hình 6.12: M ch ghép n i h VXL v i m t DAC 16 bit Gi i mã ð a ch A0…A15 1D 7D Bus MVT BGN 0D WR DAC 8 bit - + Gi i mã ð a ch A0…A15 7D Bus MVT BGN 0D WR DAC 16 bit - + 74 273 74 273 74 273 (1) (3) (2)
  • 83. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 83 6.2.5 L p trình xu t d li u ra cho DAC ð i v i DAC 8 bit, ta ch c n dùng l nh xu t d li u Port[addr_port] := data; Trong ñó ñ a ch c ng addr_port s qua m ch gi i mã ñ a ch t o xung kích m m ch ñ m ñưa d li u s vào ñ u vào DAC. S li u c n chuy n ñ i ñư c ñ t trong data. ð i v i DAC 16 bit, ta c n hai l nh xu t: Port[addr_port1] := data1; Port[addr_port2] := data2; Trong ñó ñ a ch c ng addr_port1 qua m ch gi i mã ñ a ch t o xung th nh t kích m m ch ch t ñ m 74273 th nh t, lưu gi 8 bit th p c a d li u, th hi n trong data1. L nh xu t d li u th hai theo ñ a ch addr_port2 s t o xung th hai kích m m ch ch t ñ m 74273 th hai (phía dư i) ñ ñưa 8 bit cao c a d li u, th hi n trong data2. ð ng th i xung th hai này cũng m ch t ñ m 74273 th ba ñ truy n s li u 8 bit th p ñ u ra 74273 th nh t sang ñ u ra 74273 th ba. K t qu là DAC nh n ñư c 16 bit d li u cùng m t lúc. 6.3 B bi n ñ i tương t s ADC Trong ph n ñ u ñã gi i thi u ñ n vi c thu nh n các tín hi u thông qua các sensor nhi t, áp su t ... và các m ch khu ch ñ i thu t toán dùng ñ khu ch ñ i và l c các tín hi u ñi n này. Bư c ti p theo là b bi n ñ i AD bi n ñ i tín hi u tương t sang d ng s ñ có th làm vi c ñư c v i CPU. 6.3.1. Nguyên t c làm vi c c a ADC ADC Lư ng t hoá Mã hoá Hình 6.13: Sơ ñ minh ho nguyên t c làm vi c c a ADC Tín hi u tương t sau khi qua x lý ñư c ñưa vào m ch l y m u. M ch l y m u có hai nhi m v chính: L y m u tín hi u tương t t i các th i ñi m khác nhau và cách ñ u nhau, nói cách khác ñây là quá trình r i r c hoá tín hi u v m t th i gian. Lư ng t hoá và mã hoá tín hi u. Quá trình lư ng t hoá v b n ch t là quá trình làm tròn s ñư c th c hi n theo nguyên t c so sánh, tín hi u c n chuy n ñ i ñư c
  • 84. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 84 so sánh v i m t ñơn v chu n. Còn mã hoá là quá trình x p x p l i k t qu ñã lư ng t theo m t quy lu t nh t ñ nh tuỳ thu c vào lo i mã yêu c u ñ u ra b bi n ñ i (có th là mã nh phân ho c mã hexa). 6.3.2. Các tham s cơ b n c a b chuy n ñ i AD Các tham s cơ b n c a b chuy n ñ i g m có: D i chuy n ñ i c a ñi n áp tương t ñ u vào, ñ chính xác b chuy n ñ i và t c ñ chuy n ñ i. D i bi n ñ i c a ñi n áp tương t ñ u vào là kho ng ñi n áp mà ADC có th th c hi n chuy n ñ i ñư c. Kho ng ñi n áp này có th l y giá tr t 0 ñ n m t giá tr âm hay dương, ho c cũng có th là ñi n áp hai c c tính -UAM ÷ + UAM. Ð chính xác c a ADC: Tham s ñ c trưng cho ñ chính xác c a ADC là ñ phân gi i (Resolution). Tín hi u ñ u ra c a m t ADC là các giá tr s ñư c x p x p theo m t quy lu t nào ñó. S các s h ng mã ñ u ra (s bít trong t mã nh phân) tương ng v i d i bi n ñ i ñi n áp vào cho bi t m c chính xác c a phép bi n ñ i. Hình 6.14: Sai s c a các b chuy n ñ i AD và DA Ví d m t b bi n ñ i AD có s bít ñ u ra là N=12 thì s phân bi t ñư c 212 =2096 m c trong d i bi n ñ i ñi n áp ñ u vào c a nó - UAM ch ng h n. Như v y m i m c ADC phân bi t ñư c ñ u vào là UAM/2096. Trong th c t ngư i ta dùng s bít N ñ ñ c trưng cho ñ chính xác c a m t ADC khi d i bi n ñ i ñi n áp ñ u vào là không ñ i. T c ñ chuy n ñ i cho bi t s k t qu chuy n ñ i trong m t giây, còn ñư c g i là t n s chuy n ñ i fc. Cũng có th dùng tham s th i gian chuy n ñ i Tc ñ ñ c trưng cho t c ñ chuy n ñ i (Tc = 1/fc). T c ñ chuy n ñ i càng cao thì ñ chính xác càng gi m và ngư c l i.
  • 85. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 85 6.3.3. Các phương pháp chuy n ñ i AD Có nhi u cách ñ phân lo i các b bi n ñ i AD, hay dùng hơn c là phương pháp phân lo i v m t th i gian. Phương pháp này có ưu ñi m là cho phép phán ñoán m t cách t ng quát v t c ñ chuy n ñ i. Chuy n ñ i song song (Parallel Comparator ADC): Tín hi u c n chuy n ñ i ñư c so sánh cùng m t lúc v i nhi u giá tr chu n, vì v y các bít ñư c xác ñ nh ñ ng th i và ñưa ñ n ñ u ra. Chuy n ñ i n i ti p theo mã ñ m: Quá trình so sánh ñư c th c hi n t ng bư c theo quy lu t mã ñ m. K t qu chuy n ñ i ñư c xác ñ nh b ng cách ñ m s lư ng giá tr tín hi u tương t c n chuy n ñ i. Chuy n ñ i n i ti p theo mã nh phân: Quá trình so sánh ñư c th c hi n t ng bư c theo quy lu t c a mã nh phân. Các ñơn v chu n dùng ñ so sánh l y các giá tr gi m d n theo mã nh phân, do ñó các bít ñư c xác ñ nh l n lư t t bít có ý nghĩa nh t MSB (Most Significant Bit) ñ n bít có ít ý nghĩa nh t LSB (Least Significant Bit). Chuy n ñ i song song - n i ti p k t h p: Trong phương pháp này qua m i bư c so sánh có th xác ñ nh ñư c t i thi u là 2 bít ñ ng th i. 1. Chuy n ñ i theo phương pháp song song Hình 6.15: Sơ ñ nguyên lý b chuy n ñ i AD theo phương pháp song song
  • 86. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 86 Nguyên t c ho t ñ ng c a b chuy n ñ i: Tín hi u tương t UA ñư c ñ ng th i ñưa ñ n các b so sánh t S1 ÷ Sm. Ði n áp chu n Uch ñư c ñưa ñ n ñ u vào th hai c a b so sánh qua thang ñi n tr R. Do ñó các ñi n áp chu n ñ t vào b so sánh lân c n khác nhau m t lư ng không ñ i và gi m d n t S1 ÷ Sm. Ð u ra c a các b so sánh có ñi n áp chu n l y trên thang ñi n tr thì có m c logic "1", còn ngư c l i có m c logic "0". Các ñ u ra c a m ch ñư c n i v i m t m ch "AND", ñ u còn l i c a m ch "AND" n i v i xung nh p. Ch khi xu t hi n xung nh p ñ u vào m ch "AND" thì xung ra c a b so sánh ñư c vào m ch nh Flip - Flop (FF). Như v y xung nh p ñóng vai trò ñ m b o cho quá trình so sánh và ñưa tín hi u vào b nh , sau ñó b mã hoá s bi n ñ i tín hi u vào dư i d ng mã ñ m thành mã nh phân (có th là d ng khác). M ch bi n ñ i song song có ưu ñi m là t c ñ chuy n ñ i nhanh , nhưng k t c u m ch khá ph c t p n u ta tăng ñ phân gi i c a phép bi n ñ i AD (resolution). Th c v y ñ thi t l p m t b bi n ñ i có ñ phân gi i n bít thì c n ph i có (2n -1) b so sánh, do v y phương pháp này ch dùng cho các b ADC t c ñ cao và ñ phân gi i th p. 2. Chuy n ñ i AD theo phương pháp ñ m Hình 6.16: Sơ ñ kh i m ch ADC ki u ñ m M ch bao g m các ph n t : B so sánh, RS Flip-Flop, c ng "AND" dùng ñ ñóng m xung nh p, b ñ m n bít và m t DAC n bít. Các ph n t ñư c m c thành m ch h i ti p. Ho t ñ ng c a m ch: Lúc ñ u m ch Flip-Flop và m ch ñ m ñư c Reset, l i ra Q c a FF m c logic "0", b ñ m cũng xoá v 0, do ñó ñi n áp ra UDAC c a DAC là 0V. C ng AND m ñ cho các xung nh p vào m ch ñ m. Lúc này ñi n áp vào Ua l n hơn UADC nên Uss tr th p. UDAC tăng d n theo hình b c thang vì m ch ñ m liên t c ñ i tr ng thái t
  • 87. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 87 th p lên cao, khi UDAC ñ l n hơn Ua thì Uss chuy n lên cao làm cho l i ra Q c a FF chuy n lên m c logic "0" làm c ng AND ñóng l i. Lúc này n i dung b ñ m là tín hi u s n bít tương ng v i tín hi u tương t Ua c n chuy n ñ i. Như v y th i gian chuy n ñ i c a ADC ki u ñ m ph thu c vào ñ l n c a tín hi u tương t Ua và t n s xung nh p. N u Ua càng l n thì th i gian chuy n ñ i càng dài, n u xung nh p cao thì th i gian chuy n ñ i ng n. Ngoài ra ADC ki u ñ m còn có m t ñ c ñi m là th i gian chuy n ñ i c a m ch s h n ch t n s bi n thiên cao nh t c a tín hi u tương t ñ u vào Ua. 3. Chuy n ñ i AD theo phương pháp x p x liên ti p Hình 6.17: Sơ ñ kh i m ch ADC x p x liên ti p Chuy n ñ i AD theo phương pháp x p x liên ti p có ưu ñi m l n là th i gian chuy n ñ i t l thu n v i s bít c a mã s và th i gian thi t l p c a m ch ghi ch không ph thu c vào ñ l n c a tín hi u chuy n ñ i. Kh i ñ u m ch ghi tr ng thái Reset, sau ñó m ch ñi u khi n kích thích ñ bít l n nh t xu t hi n 11 =−nB . ð u ra DAC s tr thành 2 ch ADC U U = . Khi ñó s x y ra m t trong hai trư ng h p: N u UDAC > Ua thì bít này ñư c b qua (thi t l p "0") N u UADC < Ua thì bít này ñư c duy trì (thi t l p "1")
  • 88. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 88 Sau ñó l i kích thích ñ bít k ti p xu t hi n 12 =−nB . Lúc này ñ u ra DAC s ñ t ñư c là 42 1 chch nADC UU BU += − . Và công vi c so sánh tương t trên ñ xác l p bit 2−nB . Công vi c so sánh c ti p t c ñ n khi UDAC = Ua thì quá trình chuy n ñ i k t thúc. 4. Chuy n ñ i AD theo phương pháp song song- n i ti p k t h p ADC song song B1 2B N1B TÁÖNG THÆÏ NHÁÚT DAC N1 bit Maûch hiãûu Nhán 2 N1 TÁÖNG THÆÏ HAI Hình 6.18: B chuy n ñ i AD theo phương pháp song song n i ti p k t h p. ðây là s k t h p phương pháp song song và phương pháp n i ti p nh m dung hòa ưu khuy t ñi m c a hai phương pháp này: gi m b t ñ ph c t p c a phương pháp song song và tăng t c ñ chuy n ñ i so v i phương pháp n i ti p. Cũng có th g i ñây là phương pháp phân ño n t ng nhóm bit, v i s bit trong m i nhóm N ≥ 2. 5. Chuy n ñ i AD theo phương pháp tích phân hai sư n d c
  • 89. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 89 VC t t t Âäü däúc do Uch taûo ra t1 2t VSS 0Z Z Nguäön dao âäüng Kãút quaí Bäü âãûm CÄØNG C Flip Flop traìn RK 2 Uch Maûch logic 1 AU Hình 6.19: B chuy n ñ i AD theo phương pháp tích phân hai sư n d c. Hình 6.20: ð th bi u di n nguyên lý ho t ñ ng c a m ch. Trong ñó, t1 là th i gian ñ m ng v i s xung làm b ñ m b tràn. t2 là th i gian tích ñi n áp chu n Vch. VC là ñi n áp răng cưa ñ u ra c a b tích phân. VSS là ñi n áp ra c a b so sánh. Z là s xung ñ m ñư c. Zo là s xung trong th i gian t0. Vch là ñi n áp chu n có c c tính như hình v . VA là ñi n áp vào (c c tính như hình v ).
  • 90. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 90 tr ng thái ñ u tiên, khóa K luôn ñ t v trí 1. M ch tích phân s tích phân VA, trong khi ñó b ñ m s ñ m xung t ngu n dao ñ ng chu n t n s fn. VA ñư c tích phân trong th i gian t1 cho ñ n khi b ñ m b tràn (th i ñi m t1). Lúc này m ch logic s ñi u khi n chuy n khóa K sang v trí 2 và m ch tích phân s ti p t c tích phân Vch nhưng v i chi u ngư c l i vì Vch có c c tính ngư c c c tính VA. Khi tín hi u ra c a b tích phân VC gi m xu ng b ng 0 thì m ch so sánh s ñóng c ng. N i dung ghi trong b ñ m là k t qu bi n ñ i. Nó t l v i th i gian tích phân ñi n áp chu n t2. 6.3.4. Ghép n i v i ADC Ph n l n các ADC c n m t tín hi u Start ñ b t ñ u quá trình chuy n ñ i. Sau khi k t thúc chuy n ñ i, m t tín hi u Finish ñư c thi t l p ñ báo hi u quá trình chuy n ñ i ñã k t thúc. Do ñó ta có th dùng m ch ghép n i ra s li u ñơn gi n có ñ i tho i ñ ghép n i v i ADC. Hình 6.18 bi u di n m t m ch ghép n i v i m t ADC 8 bit. Quá trình chuy n ñ i ñư c kh i ñ ng b ng m t xung dương Start. K t thúc quá trình này, s li u s ñư c ñưa ra l i ra ADC, ñ ng th i tín hi u Finish chuy n t “0” lên “1” . L i ra ADC ñư c n i v i m ch ñ m ba trang thái 74244. Chân xu t c a 74244 ñư c n i v i chân Clear c a m ch l t 7474 ñ xóa tr ng thái s n sàng s li u c a ADC. M t xung ñ c s li u ADC s ñ ng th i xóa luôn ñ u ra Q c a 7474 v “0” ñ tránh vi c ñ c hai l n cùng 1 s li u. Xung Finish ñưa m c “1” ra chân Q c a m ch l t 7474 r i qua m ch ñ m 3 tr ng thái 74125 ñ ñưa vào ñư ng d li u D0. Hình 6.18: Sơ ñ ghép n i ADC v i h VXL ADC 8 bit Vin 74 244 0D 7D Finish Start 7474 1 D Q 74125 74 138 IOW IOR 0A nA 7404 Bus MVTGN 7D 0D Cl
  • 91. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 91 ð i v i ADC 16 bit, chúng ta c n m t b ch t ñ m th hai ñ ñ c s li u 8 bit cao theo m t ñ a ch th hai. 6.3.5 L p trình nh n d li u t ADC Quá trình nh n d li u t ADC trên hình 6.18 ñư c th c hi n qua các bư c sau: + T o xung Start ñ b t ñ u quá trình chuy n ñ i AD + Ki m tra vi c chuy n ñ i ñã th c hi n xong ? + ð c d li u vào ð a ch ñ t o tín hi u Start t 74138 : addr_St ð a ch ñ t o tín hi u m ch t 74125 : addr_Fh ð a ch ñ t o tín hi u m ñ m 74244: addr_ADC Port[addr_St]:=0; Repeat Var1 := port[addr_Fh]; Until ((Var1 AND 1)=1) //Delay(thoigianchuyendoi) -> khong dung mach doc finish Data :=port[addr_ADC];
  • 92. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 92 CHƯƠNG 7: NG D NG MÁY VI TÍNH TRONG ðO LƯ NG VÀ ðI U KHI N 7.1 Gi i thi u v c u trúc máy tính: Hình 7.1 trình bày các b ph n trên bo m ch chính c a h th ng máy vi tính (MVT). MVT là m t h th ng vi x lý bao g m m t b x lý trung tâm CPU, các b nh ROM, RAM, các vi m ch ghép n i song song, n i ti p, các b ñi u khi n ng t và DMA …. Hình 7.1 và 7.2 cho th y MVT có ra s n m t s các c ng cho phép ghép n i v i các thi t b vào ra cơ b n (như màn hình, bàn phím, chu t, máy in…) và các c ng vào ra khác (như c ng USP, khe c m m r ng ISA/PCI slots) . Do ñó m t v n ñ ñ t ra là ph i thi t k các m ch ghép n i gi a TBNV v i các c ng này, ph c v cho vi c ño lư ng và ñi u khi n m t h th ng t ñ ng hóa. 7.1:
  • 93. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 93 Chú ý r ng VXL ch có m t bus d li u, trong khi có r t nhi u thi t b ngo i vi và ô nh cùng mu n trao ñ i d li u v i VXL qua bus này. Do ñó m i thi t b ngo i vi s ñư c c p m t ñ a ch riêng bi t, cho phép nó làm vi c v i VXL khi ñ a ch riêng bi t ñó ñư c ñưa ra trên bus ñ a ch . B ng 7.1 trình bày các ñ a ch vào ra cơ b n cho các thi t b ngo i vi trong máy vi tính IPM. B ng 7.1: ð a ch vào/ra cơ b n cho các thi t b trong các máy vi tính IPM PC Base Address Device 0F - 1F First DMA Controller 8237 A-5 20 - 3F First Interrupt Controller 8259A, Master 40 - 5F 8254-2 60 - 6F 8042, Keyboard 7.2:
  • 94. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 94 70 - 7F Real Time Clock, NMI mask 80 - 9F DMA Page Register, 74LS612 87 DMA Channel 0 83 DMA Channel 1 81 DMA Channel 2 82 DMA Channel 3 8B DMA Channel 5 89 DMA Channel 6 8A DMA Channel 7 8F Refresh A0 - BF Second Interrupt Controller 8259A, Slave C0 - DF Second DMA Controller 8237 A-5 F0 Clear 80287 Busy F1 Reset 80287 F8 - FF 80287 Math coprocessor 170-177 Secondary ATA Hard Disk Controller 1F0 - 1F7 Primary ATA Hard Disk Controller 200 - 20F Game Controller/Joystick 210 - 217 Expansion Unit 278 - 27F LPT2 Parallel port
  • 95. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 95 280 - 29F LCD on Wyse 2108 PC SMC Elite default factory setting 2E8 – 2EF COM4 2E1 GPIB Adapter 0 2F8 - 2FF COM2 2E2 – 2E3 Data acquisition 300 - 31F Prototype Card 300 - 31F 3Com EtherLink default factory setting 320 - 32F XT Hard disk interface 378 - 37F LPT1 Parallel port 380 – 38C SLDC/Secondary Bi-sync interface 3A0 – 3A9 Primary Bi-sync interface 3B0 – 3BB Monochrome display 3C0 – 3CF EGA display control 3D0 – 3DF Color/Graphics Display (CGA) 3E8 – 3EF COM3 3F0 – 3F7 Floppy disk controller 3F8 – 3FF COM1
  • 96. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 96 7.2 Thi t k m ch ghép n i gi a h th ng t ñ ng hóa v i các c ng c a máy vi tính Có th nói vi c ng d ng máy vi tính trong vi c ñi u khi n t ñ ng m t h th ng th c t là r t ña d ng. Dư i ñây là m t vài ng d ng ñó, ñư c giao cho sinh viên t tìm hi u, thi t k và trình bày. ð tài 1: THI T K M CH GHÉP N I C NG MÁY IN LPT1 ð ðO CÂN ðI N T ÔTÔ. ð tài 2: THI T K M CH GHÉP N I KHE C M M R NG ð ðO VÀ ðI U KHI N T C ð ð NG CƠ ðI N M T CHI U ðM. ð tài 3: THI T K M T KIT VI ðI U KHI N 89C51 CÓ GHÉP N I C NG N I TI P COM1 C A MÁY TÍNH ð ðO NHI T ð VÀ BÁO CHÁY. ð tài 4: THI T K M CH GHÉP N I C NG N I TI P RS232 ð ðO ÁNH SÁNG VÀ ðI U KHI N ðÈN. ð tài 5: THI T K M T KIT VI ðI U KHI N PIC 16F877 CÓ GHÉP N I C NG N I TI P COM1 C A MÁY TÍNH ð ðO VÀ ðI U KHI N N NG ð ÔXY TRONG KHÔNG KHÍ. ð tài 6: THI T K M CH GHÉP N I C NG N I TI P ðA NĂNG USB ð ðI U KHI N M T HÀNH TRÌNH DÙNG ð NG CƠ BƯ C.
  • 97. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 97 ð tài 6: Thi t k m t m ch ghép n i v i c ng ña năng USB dùng ñ ñi u khi n hành trình ñ ng cơ bư c PH N I: GI I THI U V C NG ðA NĂNG USB I. Gi i Thi u Chung V Bus USB C ng USB v th c ch t là m t bus vì qua ñó có th ñ u n i ñ ng th i r t nhi u thi t b ngo i vi v i ch ng l ai khác nhau. Vì v y có th g i bus USB là m t bus n i ti p ña năng 1. Nh ng nét chung v bus USB: • Bus USB là m t bus n i ti p • D li u truy n trên bus theo t ng bus k ti p nhau .ð c bi t, d li u truy n trên cùng các ñư ng d n theo hai hư ng. • Bus USB cho phép ñ u n i ñ n 127 thi t b • D li u truy n v i t c ñ ñ n 12 Mbips V I bus USB 1.0 ,t c ñ truy n có th l n hơn 12Mbps V I bus USB 2.0 ,t c ñ truy n có th lên ñ n 480Mbps • Bus USB có m i liên h ch t ch v i ñ c tính “Plus and Play” ñư c g i là ñ u /ng t nóng • ði n áp ngu n nuôi có th nh n ñư c t bus.Các thi t b nh có th s d ng ñi n áp t trên bus mà không c n ngu n nuôi riêng. Các ñ c tính cơ b n c a bus USB là: Các cu c truy n ñ ng th i,có th hi u là truy n liên t c, h tr các tín hi u vidio và âm thanh.V i các cu c truy n ñ ng th i, các thi t b truy n và nh n d li u theo ki u ñư c ñ m b o và có th ñoán trư c. USB cũng ñư c h tr các thi t b không ñ ng th i hay thi t b có quy n ưu tiên cao nh t , các thi t b ñ ng th i ho c không ñ ng th i t n t i cùng th i ñi m. Các thông s k thu t cũng có ñ c tính c m và ch y, các cáp n i và cách k t n i ñ u ñư c tiêu chu n hóa r ng rãi trong công nghi p. Các hub ñư c s p x p theo nhi u t ng v i kh năngg m r ng g n ñ n m c l n nh t và thao tác x y ra ñ ng th i. T c ñ truy n 12Mbps v i các kích thư c khác nhau. H tr nhi u yêu c u d i thông thi t b t m t vài kbps ñ n 19Mbps. H tr t c ñ truy n d li u c a thi t b trên m t ph m vi r ng các giá tr thông qua vi c ñi u ti t kích thư c b ñ m gói d li u và cơ ch ti m n. Có kh năng c m nóng ,nghĩa là cho phép các thi t b ngo i vi có th ñư c ñ u n i mà không c n ph i t t ngu n nuôi cung c p ñi n cho máy tính ,có th ñ u/ng t và thay ñ i l i c u hình thi t b ngo i vi m t cách linh ho t kh năng qu n lý ñư c tăng cư ng v i các ch ñ “ng “và “n m lỳ “trên ph m vi h th ng.
  • 98. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 98 T nh n d ng thi t b ngo i vi ,t ñ ng v b n ñ ch c năng ñ i v i ph n m m ñi u khi n và c u hình H tr cho các thi t b l ai khác nhau, v i nhi u ch c năng khác nhau. ði u khi n lu ng d li u thông qua b ñ m b ng vi c qu n lý giao th c ñ t s n bên trong . Có cơ ch x lý l i/ hoàn tr l i. H tr kh năng nh n d ng các thi t b m c l i. Giao th c ñơn gi n trong vi c th c hi n và tích h p 2. ð u n i và cáp: Bus USB có hai ki u ñ u n i khác nhau: ki u A và ki u B Bus USB s d ng m t cáp b n s i ñ ñ u n i v i các thi t b ,trong ñó m t c p ñư ng truy n hai s i xo n ñư c dùng làm các ñư ng d n d li u vi phân, còn hai c p kia ñư c dùng làm ñư ng d n 5V và ñư ng n i ñ t chung GND Chân Tên g i Màu dây Mô t 1 Vcc ð +5VDC 2 D- Tr ng D li u- 3 D+ Xanh l c D li u+ 4 GND ðen N I ñ t B ng ñ u n i bus USB Các máy tính PC ñ i m i nh t ñ u là ki u A.Còn các trư ng h p khác thi t b thư ng có c m ki u B. Vi c ñ u n i v i máy tính ñư c th c hi n b ng m t cáp ki u A-B Các cáp dùng ñ kéo dài kho ng cách t máy tính ñ n thi t b thư ng là ki u A-A Khi k t n i các thi t b v i bus USB ta thư ng ph i phân bi t rõ các thi t b s d ng ngu n nuôi riêng ,ch ng h n máy in ,v i các thi t b nh n ngu n nuôi qua bus 3. Truy n d li u n i ti p: ♦ Toàn b d li u ñư c trao ñ i ñ u có m t khung dúng b ng 1 ms .Trong ph m vi m t khung ,nhi u gói d li u k ti p dành cho nhi u các thi t b khác nhau có th ñư c x lý,trong ñó có nh ng gói c n g i v i t c ñ th p và nh ng gói c n g i v i t c d cao cùng t n t i trong m t xung. Các gói d li u USB 1ms Hình 1: Các gói d li u trong nh ng khung truy n 1 ms 667ns 83,3ns Hình 2: Các tín hi u t c ñ th p và t c ñ cao
  • 99. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 99 ♦ Khi c n ghép n i nhi u thi t b USB ,ta c n có m t h p phân ph i hay thư ng g i là hub.Hub cũng cho phép tránh x y ra tình tr ng tín hi u t c ñ cao ñư c chuy n giao t i thi t b có t c ñ th p ♦ Do không có tín hi u gi nh p ñư c truy n tách riêng ra nên xung gi nh p c n ph i ñư c t o ra t chính tín hi u mang thông tin v d li u.Nên k thu t “không tr v m c 0” (g i t t là NRZI) ñã ñư c s d ng.Khi ñó, D li u ng v i gía tr 0 d n ñ n s thay ñ i c a m c ñi n áp . Còn ng v i giá tr 1 l i gi nguyên m c ñi n áp Tín hi u s thông thư ng 0 0 0 0 1 1 0 Tín hi u NRZI Hình 3: Tín hi u NRZI ♦ Mã hóa và gi i mã tín hi u là công vi c c a riêng ph n c ng .B nh n c n ph i ph c h i và lo i ra tín hi u gi nh p,nh n và gi i mã d li u D+ D- Hình 4: B truy n và b nh n USB ♦ ð th c hi n quá trình ñ ng b trong khi truy n ,ngư i ta s d ng m t phương pháp r t là ñ c ñáo : Khi dòng d li u ch a 6 s 1 k ti p nhau thí m t s 0 ñư c b truy n t ñ ng thêm vào ñ b t bu c x y ra s thay ñ i m c ,b nh n s t ñ ng lo i b s 0 này ra kh i dòng d li u. Cũng nh m m c ñích ñ ng b , m i gói d li u ñ u có d u hi u ñ c bi t ,ñó là byte ñ ng b (Sync-byte) ♦ Trên th c t b truy n và b nh n luôn ñư c thi t k trên cùng m t vi m ch: M i thi t b USB có ch a m t kh i SIE ñ m nh n nhi m v này ð th c hi n vi c trao ñ i d li u gi a SIE và các ph n còn l i c a thi t b còn c n ñ n m t b nh ñ m FIFO .T t c các công vi c khác do SIE th c hi n Thông thư ng ,m t thi t USB có nhi u b nh FIFO ,ñóng vai trò trung gian trong các cu c truy n d li u. ♦ Ph n m m USB t o ra các ñư ng ng d n t i các ñi m cu i riêng l .M i ñư ng ng là m t kênh logic d n t i m t ñi m cu i trong m t thi t b .M t thi t b có th s B truy n USB Song song/ n I B nh n USB NRZI/ N I ti p song song
  • 100. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 100 d ng nhi u ñư ng ng d ng th i ,vì th t c ñ truy n d li u t ng c ng ñư c nâng lên. II. Các HUB ð ñ u n i nhi u thi t b ngo i vi USB ta c n 1 hub ho c nhi u hub. Hub là h p phân ph i bus có nhi u c ng. M t hus ngoài có m t c ng hư ng v máy ch và 4 c ng ra thi t b ghép n i ,ngay trong máy tính PC cũng có m t hub .M t lo i hub trong ñ t o ra 2 c ng USB ki u A phía sau may vi tính.Hub này g i là hub g c và hub này ñ t ngay trên m ch chính.( hình 5) Hình 5: Cách ñ u n i hình sao m t hub USB c ng ra thi t b ghép n ic a m t hub có th ñ u thêm m t hub khác .Như v y hình thành m t c u trúc phân t ng.( hình 6) NútNútNút NútNút Nút Nút Tang 1 Tang 2 Tang 3 Tang 4 Máy chu (tang goc) Hình 6: C u trúc phân t ng c a các hub khi ñ u n i vào bus USB Hub USB 41 32 C ng USB Trên PC
  • 101. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 101 M i hub và m i dây cáp ñ u gây ra s làm tr tín hi u, nhưng th i gian ttr không vư t quá th i giá tr c c ñ i ñư c qui ñ nh. Bub USB cho phép t ng c ng ñ n 7 hub ñ u n i k ti p nhau, như v y có nhi u nh t là 127 thi t b có th ñ u n i vào m t bus USB. M t nhi m v c a hub nh n bi t các thi t b m i ñư c ñ u n i vào và còn phân bi t ñó là thi t b t c ñ cao hay thi t b t c ñ th p. Ngoài ra hub có th xóa ñi 1 thi t b ñã ñ u n i vào bus nhưng sau ñó l i ñư c tháo r i kh i h th ng. ð th c hi n các nhi m v này có nh ng tr ng thái bus ñư c t o ra theo cách ñ c bi t. M t c ng USB không ñư c s d ng s không ñư c kích ho t nghĩa là hub không g i khung d li u t i.C hai ñư ng d n d li u ñ u m c low và có m t ñi n tr 15k. M i thi t b ngo i vi USB ñ u có m t ñi n tr 1,5k n i m t trong hai ñư ng d n tín hi u v i ngu n +3,3V. Thi t b t c ñ cao ñi n tr này n i v i ngu n +3,3Vv i ñư ng d n D+, thi t b t c ñ th p thì nói v i ñư ng d n D-. Hub cũng có th nh n bi t ki u thi t b và có th xây d ng m i k t n i d li u v i t c ñ truy n thích h p .(hình 7, 8) Khi l n ñ u tiên ñ t l i ch ñ cho bus, c hai ñư ng d n d li u ñư c n i mass trong kho ng th i gian 10ms. Kh i SIE c a thi t b ngoai vi nh n bi t tr ng thái này và xóa ñi m t tín hi u reset c a b vi ñi u khi n ñư c ñ u n i vào. Sau ñ y b ñi u khi n b t ñ u v i vi c th c hi n chương trình b ñi u khi n c a nó và s n sàng trình di n h th ng. Hub cũng cung c p ñi n áp ngu n nuôi cho thi t b . Khi kh i ñ ng m i thi t b USB ñư c phép tiêu th dòng ñi n ñ n 100 mA. N u như c n m t dòng l n hơn thì nhu c u này c n ph i ñư c khai báo .Dòng ñi n tiêu th t ng c ng có th ñ t t i 500mA. M t Hình 7: Nh n d ng m t thi t b t c ñ cao Hình 8: Nh n d ng m t thi t b t c ñ th p
  • 102. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 102 hub ngoài ch có th cung c p 100 mA cho mõi c ng ra thi t b ghép n i b i vì nó ñư c phép ti p nh n t ng c ng không quá 500 mA và yêu c u riêng cho chính b n thân hub. III. Ph n c ng và ph n m m máy ch USB. Máy ch USB tương tác v i các thi t b USB thông qua b ñi u khi n máy ch . Máy ch ch u trách nhi m v nh ng công vi c sau: • Phát hi n vi c k t n i ho c l ai b c a các thi t b USB. • Qu n lý vi c ñi u khi n dòng d li u gi a máy ch và các thi t b USB. • Qu n lý dòng d li u gi a máy ch và các thi t b USB. • Th ng kê tr ng thái tính ho t ñ ng c a h th ng. • Cung c p dòng ñi n ñã ñư c ñ t ñ h n ch công su t cho các thi t b USB ñư c k t n i . Ph n m m h th ng USB trên máy ch qu n lý s tương tác gi a các thi t b USB và ph n m m thi t b d a trên máy ch . Có 5 vùng tương tác gi a ph n m m h th ng USB và ph n m m thi t b ,c th là: • ði m danh ñ nh c u hình thi t b . • Truy n d li u trong ch ñ ñ ng th i. • Truy n d li u trong ch ñ không ñ ng b . • Qu n lý năng lư ng. • Qu n lý thông tin v thi t b và bus. B t c lúc nào có th ph n m m USB s d ng các giao di n h th ng máy ch hi n h u ñ qu n lý các m i quan h tương tác trên. Các thanh ghi b ñi u khi n máy ch USB Thanh ghi nh n d ng nhà cung c p VID ( vendor Identìication register) ð a ch offset: 00-01h Giá tr m c ñ nh : 8086h Thu c tính: ch ñ c Thanh ghi VID ch a s nh n d ng nhà cung c p .Thanh ghi này ,cùng v i thanh ghi nh n d ng thi t b xác ñ ng duy nh t b t kỳ thi t b PCI nào .Vi c ghi vào thanh ghi này không có tác d ng .Cách vi t các bit 15:0 dùng cho s nh n d ng nhà cung c p .ðây là m t giá tr 16 bit ñư c Intel gán. IV. K t n i h th ng USB. K t n i các thi t b USB T t c các thi t b USB ñ u n i vào USB qua c ng ñ t trên m t lo i thi t b USB chuyên d ng, có tên là hub. Các hub ch cho th y tình tr ng k t n i ho c lo i b c a m t thi t b USB theo t ng tr ng thái c ng c a nó. Các máy ch h i (queries) hub ñ xác ñ nh nguyên nhân c a thông báo. Hub tr l i (ñáp ng) b ng cách nh n d ng c ng ñã s d ng ñ k t n i thi t b USB. Máy ch cho phép c ng và ñ nh ñ a ch thi t b USB v i m t ñư ng ng ñi u khi n b ng cách s d ng ñ a ch m c ñ nh USB (khi ñư c n i vào l n ñ u ho c khi chúng kh i ñ ng l i). Máy ch xác ñ nh xem li u thi t b USB m i ñư c k t n i là m t hub hay là m t thi t b ch c năng và gán cho thi t b USB m t ñ a ch USB duy nh t
  • 103. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 103 N u thi t b USB ñã k t n i là m t hub và các thi t b USB ñã ñư c k t n i v i c ng c a hub thì th t c trên ti p di n v i t ng thi t b USB ñã ñư c k t n i. N u thi t b USB ñã k t n i là m t thi t b ch c năng, thì các thông báo v vi c k t n i s ñư c ph n m m USB g i t i ph n m m máy ch ñư c quan tâm ñ n Lo i b các thi t b USB Khi m t thi t b USB ñã ñư c lo i b kh i m t trong s các c ng thì hub t ñ ng vô hi u hoá c ng và cung c p m t thông tin ch báo v vi c lo i b thi t b ra kh i máy ch . Sau ñó máy ch lo i b các s li u dã bi t v thi t b USB, n u thi t b USB b lo i b là là m t hub thì qúa trình lo i b ph i ñư c th c hi n v i t t c các thi t b USB mà trư c ñó ñư c n i vào hub. N u thi t b USB ñã lo i b là m t thi t b ch c năng thì các thông báo lo i b ñư c g i t i ph n m m máy ch ñư c quan tâm ñ n. K t n i h th ng USB Hình 3-55 cho th y m t ví d v k t n i c ng USB vào trong h th ng. L i vào CLK48 có ñ t ñ ng h tinh th 48 MHz(sai s 2500 ppm) ñư c t o ra nh b c ng hư ng th ch anh và ñư c s d ng ñ t o t c ñ d li u b ng 12MHz và m t kho ng khung kh i t o b ng 1,0ms (500ppm). Thi t b tăng t c PVIIDE/ISA (c u PCI) có m t thi t k thích h p v i t c ñ b ng 1,5Mbps ho c 12 Mbps. Ngu n nuôi dùng cho thi t b ñư c l y t ngu n ñi n áp -5v trên b n m ch chính (Vcc). Như v y c n có nh ng bi n pháp nào ñó ñ ch ng ng n m ch, ch ng h n b ng m t c u chì 2A. H th ng giám sát c a cá ñư ng d n ñi n áp ngu n nuôi cho USB v i các ñư ng OC#1 và OC#0 ( phía dư i c a hình 3-54). Khi thi t b c u PCI phát hi n ra m t l i trên ñư ng d n ñi n áp nuôi thì nó s vô hi u hoá c ng USB tương ng. Trên các ñư ng d li u, có m t ñi n tr n i ti p b ng 27(ôm), dùng ñ gi i h n dòng ñi n khi x y ra ng n m ch v i ñ t(GND). Như v y dòng s b gi i h n m c nh hơn 185mA. Các cu n c m m c n i ti p m c n i ti p cũng ñư c tính ñ n trên ñư ng d n ñi n áp ngu n nuôi, ñ tín hi u nhi u trên các thi t b bên ngoài không gây nh hư ng t i ngu n nuôi b n m ch chính.
  • 104. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 104 PHIÊN B N USB 2.0 Các k thu t chính c a bus USB 2.0 là: • T c ñ th p (1,5Mbps): các thi t b tương tác(interactive),thông thư ng là 10- 100Kbps. • T c ñ cao(full-speed,12Mbps)các ng d ng v i ñi n tho i âm thanh. • T c ñ r t cao (480 Mbps)các ng d ng video và b nh thông thư ng là 25- 400Mbps. C ng USB 2.0 s ñ y nhanh quá trình hư ng t i m t máy tính PC trong tương lai v i các ñ c tính legacy-free. V. Các ki u truy n USB. Các thi t b USB có th trao ñ i d li u v i máy tính PC theo 4 ki u hoàn toàn khác nhau: + Truy n ñi u khi n: ð ñi u khi n ph n c ng các yêu c u ñi u khi n (control request) ñư c truy n hay g i là truy n ñi u khi n (control transfers). Chúng làm vi c v i m c ưu tiên cao và có kh năng ki m soát l i t ñ ng. T c ñ truy n l n vì có ñ n 64 byte trong m t yêu c u(request) có th ñư c truy n. +Truy n ng t: các thi t b cung c p m t lư ng d li u nh , tu n hoàn, ch ng h n như bàn phím, chu t, ñ u s d ng ki u truy n ng t (interrupt transfers). Khác v i s ph ng ñoán t tên g i, ñây không có m t ng t nào ñư c thi t b xoá. Cách t t nh t là h th ng s h i theo chu kỳ, ch ng h n 10ms m t l n, xem có các d li u m i g i ñ n. Thông thư ng có ñ n 8 byte có th ñư c truy n. + Truy n theo kh i: Khi có dung lư ng d li u l n c n truy n và c n ki m soát l i truy n nhưng l i không có yêu c u thúc ép v th i gian truy n thì d li u thư ng ñư c truy n theo kh i (bulk transfers). Các ng d ng c a phương pháp này như: máy in và máy quét hình (scanner). T c ñ truy n d li u ph thu c vào m c ñ ñ u t i trên bus USB. + Truy n ñ ng th i: Khi có lư ng l n d li u v i t c ñ d li u ñã ñư c quy ñ nh, ch ng h n như dùng cho card âm thanh, thì thư ng áp d ng ki u truy n ñ ng th i (isochronous transfers). Theo cách truy n này m t giá tr t c ñ d li u xác ñ nh ñư c duy trì. Vi c hi u ch nh l i không ñư c th c hi n vì nh ng l i truy n l t cũng không gây nh hư ng ñáng k ñ n ch t lư ng truy n. V i các ng d ng trong lĩnh v c ño lư ng và ñi u khi n , ki u truy n th nh t (truy n ñi u khi n) thư ng ñư c s d ng vì v a có ñ an toàn d li u cao v a có t c ñ truy n l n .Ngoài ra còn d dàng th c hi n ñư c giao th c truy n riêng ñ trong m t s trư ng h p ng d ng có th ti p t c x lý. . VI. G i ph n m m ñi u khi n. Ch c năng c a m t ph n m m ñi u khi n: Là m t xích liên k t gi a ph n c ng và ph n m m h th ng.Trong môi trư ng Windows 98 v trư c, không có m t chương trình ng d ng nào có th truy c p tr c ti p lên ph n c ng, cách t t nh t là g i ra m t ph n m m ñi u khi n thi t b ñó, ph n m m
  • 105. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 105 này trao ñ i tr c ti p v i ph n c ng ho c qua l p ñ m n m sâu hơn. Ph n m m ñi u khi n này ñư c ch t o và cung c p b i các nhà s n xu t thi t b ñó. Ho t ñ ng : T t c các ph n m m ñi u khi n USB ñ u d a trên Win32_Driver_Model. T t c các l i g i ph n m m ñi u khi n ñ u thông qua ph n m m qu n lý vào ra (I/O manager). Các chương trình ngư i dùng khác nhau g i gói yêu c u g n như ñ ng th i t i ph n m m qu n lý vào/ra, ph n m m này sau ñ y s phân ph i các gói này t i các ph n m m ñi u khi n c th . T t c các yêu c u ñ u ñư c g i ñi dư i d ng các gói, và chuy n ti p gi a các l p ñ m riêng l . ð bi t rõ v cách th c truy nh p lên các thi t b , ta xem xét ñ n 5 hàm c a Windows sau: CreateFile( ) M m t t p ho c m t thi t b CloseHandle( ) ðóng m t t p ho c m t thi t b ReadFile( ) ð c ho c nh n d li u WriteFile( ) Ghi ho c truy n d li u DeviceloControl( ) Th c hi n các ch c năng c th c a ph n m m ñi u khi n Ví d xét ño n chương trình sau ( G i 1 byte qua COM2 b ng Delphi): Handle:=CreateFile.(Pchar(‘COM2’),GENERIC_WRITE,0,NIL,OPEN)_EX ISTING,0,0); Byt:=85; WriteFile(Handle,Byt1,1,Count,NIL); CloseHandle(Handle); Gi i thích l nh: Trư c h t , C ng COM2 ñư c m b ng hàm CreateFile( ) ñ sau ñ y g i m t Byte b ng hàm WriteFile( ). Cu i cùng Hàm CloseFile( ) ñóng kênh thông tin l i. Tên c a ph n m m ñi u khi n ñây là COM2 mang ý nghĩa th hi n m i liên quan tr c ti p v i giao di n ph n c ng “COM2”.
  • 106. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 106 PH N II: ð NG CƠ BƯ C. I. ð c ñi m chung v ñ ng cơ bư c ð ng cơ bư c th c ch t là ñ ng cơ ñ ng b ho t ñ ng dư i tác d ng c a các xung r i r c và k ti p nhau. Khi m t xung dòng ñi n ho c ñi n áp ñ t vào cu n dây ph n ng c a ñ ng cơ bư c, thì roto (ph n c m) c a ñ ng cơ s quay ñi m t góc nh t ñ nh, và ñư c g i là bư c c a ñ ng cơ, khi các xung dòng ñi n ñ t vào cu n dây ph n ng liên t c thì roto s quay liên t c. V trí c a tr c ñ ng cơ bư c ñư c xác b ng s lư ng xung, và v n t c c a ñ ng cơ t l v i t n s xung, và ñư c xác ñ nh b ng s bư c/giây (second). Tính năng làm vi c c a ñ ng cơ bư c ñư c ñ t trưng b i bư c ñư c th c hi n, ñ t tính góc (quan h c a mômen ñi n t theo g c gi a tr c c a Roto và tr c c a t trư ng t ng), t n s xung gi i h n sao cho các quá trình quá ñ , khi hoàn thành m t bư c có th t t ñi trư c khi b t ñ u bư c ti p theo. Tính năng m máy c a ñ ng cơ, ñư c ñ t trưng b i t n s xung c c ñ i có th m máy mà không làm cho Roto m t ñ ng b (b bư c). Tuỳ theo k t c u c a t ng lo i ñ ng cơ, mà t n s ñ ng cơ có th ti p nh n ñư c t 10 ñ n 10.000 Khz. Bư c c a ñ ng cơ (giá tr c a góc gi a hai v trí n ñ nh k nhau c a Roto) càng nh thì ñ chính xác trong ñi u khi n càng cao. Bư c c a ñ ng cơ ph thu c vào s cu n dây ph n ng, s c c c a Stato, s răng c a Roto và phương pháp ñi u khi n bư c ñ ho c ñi u khi n n a bư c. Tùy theo yêu c u v ñ chính xác và k t c u c a ñ ng cơ, mà bư c c a ñ ng cơ thay ñ i trong gi i h n t 1800 - 0,180. Trong ñó: ñ ng cơ bư c nam châm vĩnh c u d ng c c móng và có t tr thay ñ i t 60 - 450, ñ ng cơ bư c có t tr thay ñ i có góc bư c n m trong gi i h n t : 1,80- 300, và ñ ng cơ bư c h n h p có góc bư c thay ñ i trong kho ng 0,360 - 150. Các giá tr góc c a các lo i ñ ng cơ k trên ñư c tính trong ch ñ ñi u khi n bư c ñ . Chi u quay c a ñ ng cơ bư c không ph thu c vào chi u dòng ñi n ch y trong các cu n dây ph n ng, mà ph thu c vào th t cu n dây ph n ng ñư c c p xung ñi u khi n. Nhi m v này do b chuy n phát th c hi n. S cu n dây ph n ng (hay cò g i là cu n dây pha) c a ñ ng cơ bư c ñư c ch t o t 2 - 5 cu n dây pha (hay còn g i là b i dây) và ñư c ñ t ñ i di n nhau trong các rãnh Stato. ð i v i cu n dây ph i có hai cu n dây thì ch dùng cho ñi u khi n lư ng c c (cu n dây có c c tính thay ñ i), v i 4 cu n dây có th dùng cho c hai ch ñ ñi u khi n lư ng c c và ñi u khi n ñơn c c ð ng cơ bư c là m t thi t b ñư c s d ng r ng rãi dùng ñ chuy n các xung ñi n thành chuy n ñ ng cơ h c. m t s ng d ng, ch ng h n như b ñi u khi n ñĩa, máy in kim ma tr n và robot, thì ñ ng cơ bư c ñươc dùng ñ ñi u khi n chuy n ñ ng. II. Nguyên lý ho t ñ ng c a ñ ng cơ bư c. 1.ð ng cơ nam châm vĩnh c u. Nguyên lý làm vi c c a ñ ng cơ này là d a vào tác ñ ng c a m t trư ng ñi n t trên m t mômen ñi n t , t c là tác ñ ng gi a m t trư ng ñi n t và m t ho c nhi u nam châm vĩnh c u. Roto c a ñ ng cơ t o thành m t ho c nhi u c p t và mômen ñi n t c a nam châm ñư c ñ t th ng hàng trên t trư ng quay do các cu n dây t o nên. ð ng cơ có hai cu n dây l p hai c c c a Stato, và m t nam châm vĩnh c u Roto. Khi kích thích m t cu n dây c a Stato (ñ ng th i ng t ñi n cu n kia) s t o nên hai c c B c (North) và Nam (South) c a nam châm. Roto s th ng ñ ng v i hư ng t trư ng.
  • 107. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 107 N u ta cho dòng ñi n vào cu n dây W1 thì v trí 1 và 3 c a Stato tương ng s là c c Nam và c c B c. Gi s tr c c a nam châm vĩnh c u c a Roto ñang l ch v i tr c 1-3 m t góc ( dư i tác d ng c a l c hút do các c c trái d u c a nam châm s sinh ra m t l c quay Roto v v trí 1, v trí này g i là v trí cân b ng. Sau ñó cho dòng ñi n I2 vào cu n dây W2 (lúc này dòng ñi n cu n W1 b ng t), thanh nam châm s quay nhanh ñ n v trí 2 m t góc 900 n u vi c c p ñi n liên t c và tu n t vào cu n dây W1, W2, W1, W2, …. Và ñ o chi u dòng ñi n sau m i bư c, thanh nam châm s quay thành nh ng vòng tròn, t m t ph n tư vòng tròn ñ n m t ph n tư vòng tròn khác. Các cu n dây c a Stato g i là các pha. ð ng cơ bư c có th có nhi u pha: 2, 3, 4, 5 pha, nó ñư c c p ñi n cu n này sang cu n khác v i vi c ñ o chi u dòng ñi n sau m i bư c quay. Chi u các ñ ng cơ ph thu c vào th t cung c p ñi n cho các cu n dây và hư ng c a t trư ng. 2. ð ng cơ bư c t tr thay ñ i. Nguyên lý làm vi c c a ñ ng cơ bư c t tr thay ñ i d a trên cơ s ñ nh lu t c m ng ñi n t , t c là d a trên s tác ñ ng gi a m t trư ng ñi n t và m t Roto có t tr thay ñ i theo góc quay. C u trúc tiêu bi u c a ñ ng cơ có bư c t thay ñ i. Roto ñ ng cơ ñi n ñư c ch t o b ng v t li u d n t , trên b m t Roto thư ng có nhi u răng. M i răng c a Roto ho c c a Stato g i là m t c c. Trên hai c c ñ i di n ñư c m c n i ti p hai cu n dây (ví d như cu n dây AA') t o thành m t ph n c a ñ ng cơ. Như v y ñ ng cơ như hình v có ba pha A, B, C, t tr thay ñ i theo góc quay c a răng. Khi các răng c a Roto ñ ng th ng hàng v i các c c c a Stato, t tr ñó s nh nh t. N u ta cho dòng ñi n ch y vào cu n dây BB' nó s t o nên t trư ng kéo c c g n nó nh t c a roto và làm Roto quay m t góc 300 theo chi u ngư c chi u kim ñ ng h . N u dòng ñi n ñư c ñưa vào cu n dây CC', Roto l i ti p t c quay m t góc 300 n a … Các cu n dây AA', BB', CC' g i là các pha. Hư ng quay c a ñ ng cơ không ph thu c vào chi u c a dòng ñi n mà ph thu c vào th t c p ñi n cho cu n dây. Nhi m v này do các m ch logic trong b chuy n phát th c hi n. V i cách thay ñ i th t ho c thay ñ i cách kích thích các cu n dây ta cũng làm thay ñ i các v trí góc quay. ð ng cơ bư c có t tr thay ñ i có chuy n ñ ng êm, s bư c l n và t n s làm vi c cũng khá l n (t 2 ñ n 5 Khz). M t s công th c tính cho ñ ng cơ bư c t tr thay ñ i b -6 h Hì g ô töø
  • 108. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 108 Nr : S răng c a roto. Ns : S răng c a stato. Np : S pha. Pr : Góc ñ răng roto. φs : Góc bư c. Rs : Giá tr bư c. X = Ns/Np : S răng stato cho m t pha. Góc ñ răng gi a hai răng k nhau ñư c xác ñ nh như sau Nr 0 369 Pr = ; Pr 3600 =Ps Góc bư c ñư c xác ñ nh b i bi u th c: NpNr s . 3600 =φ ( ñ /bư c) Giá tr bư c s Rs φ 360 = N u t n s xung là f thì t c ñ Roto là: 6. 6069 s NrNp f Rs f φ ψ === (vòng/phút) S răng Roto cho m t pha: 1+ = Np Nr X 3.ð ng cơ h n h p. ð ng cơ h n h p là s k t h p nguyên t t làm vi c c a ñ ng cơ có bư c nam châm vĩnh c u và ñ ng cơ bư c có t tr thay ñ i nh m có ñư c ñ t tính t t nh t c a hai lo i k trên là momen l n và s bư c l n. Sơ ñ ñ ng cơ bư c h n h p. ð ng cơ g m hai n a Roto (1) và (2). N a(1) có nhi u răng trên Roto, n a (2) là nam châm vĩnh c u. Do ñó có s k t h p gi a hai ph n nên t o ra s kích thích roto m nh hơn. ð ng cơ lo i này có s bư c ñ t ñ n 400 bư c, nhưng giá thành ñ t. III. Các phương pháp ñi u khi n ñ ng cơ bư c. M i ñ ng cơ bư c ñ u có ph n quay roto là nam châm vĩnh c u, ñư c bao xung quanh là ph n tĩnh, g i là stato. ð ng cơ bư c có 4 cu n dây stato ñư c s p x p theo c p qua tâm ñ i x ng. ð ng cơ bư c d ng này g i là ñ ng cơ bư c 4 pha. ði m gi a cho 1 2
  • 109. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 109 phép thay ñ i chi u dòng ñi n c a m t trong hai lõi khi m t cu n dây ñư c n i ñ t, do ñó ñ i c c c a stato. Lưu ý r ng, tr c c a ñ ng cơ thông thư ng thì quay t do, còn tr c ñ ng cơ bư c thì quay theo t ng bư c c ñ nh, l p l i và ñ m t ng v trí c th . ð ng cơ quay như v y là t cơ s lý thuy t t trư ng: các c c cùng d u ñ y nhau và các c c ngư c d u hút nhau. Chi u quay ñư c xác ñ nh b i t trư ng c a stato, mà t trư ng này thì do dòng ñi n ch y qua lõi cu n dây gây nên. Khi hư ng c a dòng thay ñ i thì c c c a t trư ng cũng thay ñ i theo, gây ra chuy n ñ ng ngư c l i c a ñ ng cơ (ñ o chi u). ð ng cơ bư c ñây có 6 ñ u dây: 4 ñ u c a cu n dây stato và 2 ñ u dây chung ñi m gi a c a các c p dây. Khi chu i xung ngu n ñư c c p ñ n t ng cu n dây stato thì ñ ng cơ s quay. M i chu i xung có th có c p ñ chính xác khác nhau. B ng sau gi i thi u chu i 4 bư c thông thư ng. B ng 1 Chi u kim ñ ng h Bư c Cu n dây A Cu n dây B Cu n dây C Cu n dây D Chi u quay b ñ m 1 1 0 0 1 2 1 1 0 0 3 0 1 1 0 4 0 0 1 1 COM COM D C B A Hình1: B trí cu n dây Stato. Lưu ý chúng ta có th b t ñ u v i chu i xung nào ñó trong b ng 1, song khi ñã b t ñ u b ng chu i xung nào thì c n ph i ti p t c theo ñúng th t c a chu i xung ñó. Ví d , n u b t ñ u b ng bư c th 3 là chu i (0110) thì c n ti p t c v i chu i c a bư c 4 r i sau ñó l p l i 1,2,3 v.v. M t s thông s và khái ni m. Góc bư c ( step Angle):Câu h i ñ t ra là m i bư c có ñ d ch chuy n là bao nhiêu? ði u này ph thu c vào c u trúc bên trong c a ñ ng cơ, ñ c bi t là s răng c a stato và roto. Góc bư c là ñ quay nh nh t c a m t bư c. Các ñ ng cơ khác nhau có góc bư c khác nhau. B ng 2 gi i thi u góc bư c c a m t s ch ng lo i ñ ng cơ, trong ñó có dùng thu t ng s bư c trong m t vòng. ðây là t ng s bư c c n ñ quay h t m t vòng 3600 B ng 2: Góc bư c c a ñ ng cơ.
  • 110. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 110 Góc bư c S bư c/vòng 0.72 500 1.8 200 2.0 180 2.5 144 5.0 72 7.5 48 15 24 Dư ng như trái v i n tư ng ban ñ u, ñ ng cơ bư c không c n nhi u ñ u dây cu n stato ñ có góc bư c nh hơn. T t c ñ ng cơ bư c nói ph n này ch dùng 4 ñ u cu n dây stato và 2 ñ u dây chung nút gi a. M c dù nhi u hang s n xu t ch dùng m t ñ u dây chung, song v n ph i có 4 ñ u dây stato. Quan h s bư c/giây và s vòng quay/phút RPM. Quan h gi a s vòng quay/phút RPM v i s bư c c a m t vòng quay và s bư c/giây là quan h tr c quan và ñư c bi u di n như sau: S bư c trong giây = RPM x s bư c trong vòng quay/60 Chu i xung b n bư c và s răng trên roto. Chu i xung chuy n m ch trình bày b ng 1 ñư c g i là chu i chuy n m ch 4 bư c, b i vì sau 4 bư c thì hai cu n dây gi ng nhau s ñư c b t lên ON. V y sau 4 bư c này ñ ng cơ quay ñư c bao nhiêu? Sau khi th c hi n xong 4 bư c thì roto ch quay, ñư c m t bư c răng. Do v y, ñ ng cơ 200 bư c/vòng thì roto có 50 răng vì 50*4=200 bư c c n ñ quay h t m t vòng. Như v y, có th k t lu n là góc bư c t i thi u luôn là hàm s c a răng trên roto. Nói cách khác răng càng nh thì roto quay ñư c càng nhi u răng. Ngoài chu i xung 4 bư c còn có chu i xung 8 bư c, chu i này còn ñư c g i là (half-stepping), vì chu i 8 bư c thì m i bư c là m t n a c a góc bình thư ng. B ng 3: Chu i xung 8 bư c. Chi u kim ñ ng h Bư c Cu n dây A Cu n dây B Cu n dây C Cu n dây D Chi u quay b ñ m 1 1 0 0 1 2 1 0 0 0 3 1 1 0 0 4 0 1 0 0 5 0 1 1 0 6 0 0 1 0 7 0 0 1 1 8 0 0 0 1 T c ñ ñ ng cơ. T c ñ ñ ng cơ ñư c ño b ng s bư c trong m t giây là m t hàm c a t c ñ chuy n m ch.B ng vi c thay ñ i th i gian ta có th ñ t ñư c các t c ñ quay khác nhau. Moment gi . Moment gi ñư c ñ nh nghĩa là lư ng moment ngoài c n thi t ñ làm quay tr c ñ ng cơ t v trí gi c a nó v i ñi u ki n tr c ñ ng cơ ñang ñ ng yên hay ñang quay v i t c ñ RPM = 0. ð i lư ng này ñư c ño b ng t l di n áp và dòng c p ñ n ñ ng cơ. ðơn v c a moment gi là kilogram – centimet.
  • 111. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 111 Chu i 4 bư c ñi u khi n d ng sóng. Ngoài chu i 4 bư c và 8 bư c nói trên, còn có m t chu i khác ñư c g i là chu i 4 bư c d ng sóng. Chu i này ñư c gi i thi u b ng 4. Chu i 8 bư c trình bày b ng 3 là s k t h p ñơn giãn c a các chu i 4 bư c thư ng và chu i 4 bư c ñi u khi n d ng sóng cho b ng 1 và b ng 4. B ng 4: Chu i xung 4 bư c. Chi u kim ñ ng h Bư c Cu n dây A Cu n dây B Cu n dây C Cu n dây D Chi u quay b ñ m 1 1 0 0 0 2 0 1 0 0 3 0 0 1 0 4 0 0 0 1 PH N III: C U TRÚC CH C NĂNG C A CÁC CON VI M CH. I. Chip UCN5804B. ðây là chip trung tâm ñi u khi n ñ ng cơ bư c, và ñi u khi n ñ ng có bư c theo phư c pháp 4 bư c thông d ng( hay g i là phương pháp bư c ñ ). Sơ ñ chân c a chip UCN5804B Chân 9,10,14,15 c a chip dùng ñ ñi u khi n ngõ ra theo m t chu kỳ, bư c ñ , haff-step và ñi u khi n ho t ñ ng ngõ ra. Chip này ho t ñ ng hay không ph thu c vào tín hi u xung ngõ vào trên chân 11 ñ thúc ñ y ñ ng cơ làm vi c. Tín hi u này có th ñư c c p ngu n bên ngoài hay t công t c tác ñ ng b ng tay. ð c ñi m c a chip ñi u khi n này là:
  • 112. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 112 - Dòng ñi n l n nh t ngõ ra là 1.5A. - ði n áp ch u ñ ng ngõ ra là 35V. - Tiêu chu n ho t ñ ng bư c ñ , n a bư c và bư c ñi u khi n d ng sóng. - S d ng các Diod ñ b o v bên trong chip. - Kh năng ñi u khi n ngõ ra OE và ñi u khi n tr c ti p. - Reset l i năng lư ng. - Có m ch t n nhi t tích h p bên trong. B ng ñ ñi u khi n ki u ho t ñ ng. Các ki u ho t ñ ng c a chip.
  • 113. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 113 II. Chip FTDI- FT245AM. 1.T ng quan v chip FTDI-FT245AM. ðây là chip ñ chuy n d li u t ki u n i ti p c a c ng USB sang truy n song song ñ ñi u khi n ñ ng cơ bư c thông qua chip 5804BM. V i các d c tính sau: - 3.3V LDO ñi n áp ñi u ch nh: là máy ñi u ch nh ñi n áp LDO 3.3V trong quá trình USB truy n d li u t b nh ñ m ra ngõ ra. - USB truy n nh n: Kh i truy n nh n USB cung c p 1 giao di n v t lý c a USB 1.1 ñ n cáp USB. T i ngõ ra cung c p m c ñi n áp 3.3V ñ ñi u khi n tín hi u, trong khi m t máy thu khác và 2 tín hi u k t thúc t máy thu cung c p d li u t c ng USB, SEO và USB dò tìm ñi u ki n. - USB DPLL: Kh i này d dàng nh n ra các bit mã hóa NRZI d li u t USB cung c p ñ n, và t t o ra xung clock và d li u ñ n SIE block. - Dao ñ ng 6 Mhz: Dao ddoognj t o ra t dao ñ ng th ch anh ngoài chip hay t hi n tư ng c ng hư ng c a các ph n t . - SIE (Serial Interface Engine): ñ m nh n nhi m v truy n nh n d li u. - USB Protocol Engine: qu n lý lu ng d li u t thi t b ñi u khi n USB. - Fifo Receive Buffer ( 128 byte): B ñ m USB nh n d li u t i ña 128 byte, d li u ñư c ñ c và ghi t b nh FIFO thông qua chân n i ti p truy n thông d li u USB. - 384 byte b nh nh n d li u, 128 byte b nh truy n tín hi u m c cao - 2.Sơ ñ chân.
  • 114. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 114 Chân Tín hi u Lo i Ch c năng 7 USBDP I/O Tín hi u d li u USB ph thu c váo tr 1.5k ñ gi m ñi n áp ngõ ra còn 3.3V 8 USBDM I/O K t n i chân d li u âm c a USB 6 3.3VOUT OUT Chân t o ñi n áp 3.3V t i ngõ ra 27 XTIN IN L y tín hi u t dao ñ ng 6Mhz t dao ñ ng th nh anh 28 XTOUT OUT ðưa tín hi u 6Mhz ra chân dao ñ ng th ch anh 31 RCCLK I/O RC-Timer ñ m b o xung clock trên mode Sleep và tác ñ ng m c Low trong su t qua trình ch n mode Reset hay Sleep 4 RESET IN Reset toàn b thi t b s d ng network RC ngoài 32 EECS I/O Tùy ch n EEPROM-chip ch n 1 EESK I/O Tùy ch n EEPROM-xung ñ ng h 2 EEDATA I/O Tùy ch n EEPROM-I/O d li u 5 TEST IN ð t thi t b vào mode Text- thi t b ph i ñư c n i ñ t. 25 D0 I/O Bus d li u truy n tr c ti p Bit0 24 D1 I/O Bus d li u truy n tr c ti p Bit1 23 D2 I/O Bus d li u truy n tr c ti p Bit2 22 D3 I/O Bus d li u truy n tr c ti p Bit3 21 D4 I/O Bus d li u truy n tr c ti p Bit4 20 D5 I/O Bus d li u truy n tr c ti p Bit5 19 D6 I/O Bus d li u truy n tr c ti p Bit6 18 D7 I/O Bus d li u truy n tr c ti p Bit7
  • 115. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 115 16 RD# IN Byte d li u D0….D7ñư c tác ñ ng m c th p b i d li u truy n t FIFO 15 WR IN Ghi byte d li u trên D0…..D7 vào FIFO truy n khi WR ñư c tác ñ ng cao→th p 14 TXE# OUT Khi tác ñ ng high, không d li u vào FIFO. Khi low d li u có th ñư c ghi vào FIFO. 12 RXF# OUT Khi m c cao, không ñ c d li u t FIFO. Khi m c th p có th ñư c ñ c b i RD# sau ñó chuy n t th p sang m c cao. 11 EEREQ# IN Yêu c u EEPROM k t n i ñ x lý qua bus d li u 10 EEGN# OUT m c th p, cho phép EEPROM n i ñ x lý qua bus d li u 3,13,26 VCC PWR Thi t b chuy n ñi n áp t 4.4V – 5.25V 9,17 GND PWR 30 AVCC PWR Thi t b ngu n xung clock PH N IV: NGUYÊN LÝ HO T ð NG C A M CH. Ngu n ñư c c p b i m t ngu n DC bên ngoài hay ngu n DC P1. ði n áp có th dao ñ ng t 6→30V, ph thu c vào t c ñ c a ñ ng cơ bư c. ð ng cơ bư c s d ng h u h t các dong trong m ch, vì v y nó ñư c c p ngu n thông qua tr R1,R2. ðây là tr gi i h n dòng ñ n ñ ng cơ và cho phép ñ ng cơ ho t ñ ng v i ngu n ñi n áp cung c p l n hơn ñi n áp gi i h n cho phép ñ ng cơ làm vi c. ði n áp n ñ nh tr ng thái (không t i) c a m ch thu ñư c b ng cách ñi u ch nh ñi n áp ngõ và dư i 5V v i con chip ñi u ch nh ñi n áp LM78L05. ðây là m t IC ñi u ch nh ñi n áp, v i C7, C1, C5 cung c p thêm vào ñi n áp l c. U1-UCN5804BM có ch c năng cung c p dòng 100mA, ñây là trung tâm b ñi u khi n ñ ng cơ bư c làm vi c theo t ng phương pháp ñi u khi n. Nó g m 1 CMOS x p x p và lưu gi m c logic ph n ñi n áp lư ng c c ngõ ra ñ tr c ti p ñi u khi n ñ ng cơ. UNC5804BM có th phát tín hi u ñi u khi n v i 3 mode khác nhau: FULL-STEP, HALF-STEP, FULL-STEP WAVE. D1-4 là m t t h p Diod ñ ngăn c n nguy hi m ñ n chip UNC5804BM n u công t c ngõ ra m c th p khi ñ ng cơ ñang ho t ñ ng v i t i l n. M i LED1-4 sáng tương ng v i ngõ ra làm vi c m c th p và là v t có ích ñ nh n xét tr ng thái làm vi c c a ngõ ra. Tr R3 cung c p dòng ñi n gi i h n ñ n LED. PIN 9,10,14 và 15 c a chip UCN5804BM ñ ñi u khi n ngõ ra theo các phương pháp ñi u khi n tùy ch n. Công t c DIP1-4 cho phép ñi u khi n b ng tay m i hư ng làm vi c c a ñ ng cơ bư c theo b ng tr ng thái sau:
  • 116. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 116 ñây ta dùng m ch ghép n i ñ di u khi n ñ ng cơ bư c ho t ñ ng b ng máy tính, UCN5804BM ph thu c vào chân 11 có ñư c tác ñ ng hay không ñ thúc ñ y ñ ng cơ làm vi c. Tín hi u này ñư c c p t chip FT245-USB. Chip FT245_USB chuy n tín hi u l y ra t c ng USB sang d ng tín hi u truy n song song 8 bit d li u tác ñ ng ñ n chip UCN5804BM ñ ñi u khi n ñ ng cơ bư c làm vi c theo các mode ñ nh s n và t c ñ quy ñ nh. Ta ch c n truy n d li u vào các chân ñi u khi n c a chip UCN5804BM theo sơ ñ k t n i ñ ñi u khi n ñ ng cơ làm vi c theo 1 trong 3 phương pháp trên.
  • 117. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 117 ð tài 4: Thi t k m ch c ng n i ti p RS232 m ch này làm nhi m v ño ánh sáng và ñi u khi n ñèn. Chương I: Gi i thi u chung v truy n thông n i ti p Hi n nay các tiêu chu n truy n thông cũng theo hai hư ng phân bi t nhau d a vào cách truy n : song song hay n i ti p. Cách truy n song song r t d b nhi u tác ñ ng nên không th truy n ñi xa ñư c, do ñó cũng ít ñư c s d ng. Truy n n i ti p cũng có 2 lo i : ñ ng b hay không ñ ng b . Trong cách truy n ñ ng b , dãy ký t ñư c truy n s kèm theo ký t ñ ng b là SYN (mã ASCII là 22). Phương th c này cho t c ñ truy n khá cao nhưng do m ch x lý truy n và nh n (bao g m m ch thêm ký t ñ ng b , phát hi n và báo sai…) khá ph c t p nên ch dùng trong các ng d ng có yêu c u cao v t c ñ truy n. Còn trong các ng d ng thông thư ng, nh t là các ng d ng trong lĩnh v c ñi u khi n t ñ ng, thì không có yêu c u v t c ñ mà yêu c u v ñ tin c y nhưng m ch th c hi n ñơn gi n, r ti n. Khi ñó, cách truy n không ñ ng b r t phù h p. Theo cách truy n này thì các ký t ñư c truy n riêng r , phân làm t ng frame có bit b t ñ u, các bit d li u c a ký t c n truy n, bit ch n l (ñ ki m tra l i ñư ng truy n), và các bit k t thúc.Trong khuôn kh Lu n Văn này ,ta ch s d ng chu n truy n thông RS-232C (RS :Recommended Standard) ,là m t chu n truy n n i ti p b t ñ ng b r t ph bi n hi n nay. Chu n này l n ñ u tiên ñư c gi i thi u vào năm 1962 do hi p h i k thu t ñi n t EIA (Electronics Industries Association) ñưa ra như là chu n giao ti p truy n thông gi a máy tính và thi t b ngo i vi như :modem, máy v , mouse, máy tính khác …… 1. C u t o c ng n i ti p: B ng 1.1 S p x p chân c a c ng n i ti p máy tính: 9 chân 25 chân Ch c năng 1 2 3 4 5 6 7 8 9 8 3 2 20 7 6 4 5 22 DCD _ Data Carrier Detect (L i vào) RxD _ Receive Data (L i vào) TxD _ Transmit Data (L i ra) DTR _ Data Terminal Ready (L i ra) GND _ Ground (N i ñ t) DSR _ Data Set Ready (L i vào) RTS _ Request to Send (L i ra) CTS _ Clear to Send (L i vào) RI _ Ring Indicator (L i ra)
  • 118. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 118 . 2. Các Chu n Truy n N i Ti p : d ng n i ti p ta có r t nhi u chu n truy n như: RS-232, RS-422, RS-423, RS-449, RS-485 … do không ñi sâu vào các chu n truy n này nên ta ch kh o sát sơ 2 chu n truy n RS-232 và RS-485 : B ng 1.2. So sánh các tiêu chu n truy n EIA: Thông s RS_232 RS_422 RS_423 RS_485 Cable length(max ) 15m (50FT) 1.2km(4000FT ) 1.2km(4000FT ) 1.2km(4000FT ) Baud Rate (t c ñ baud) 20Kps/15m 10Mbps/12m 10Mbps/120m 100Kbps/1.2k m 100Kbs/9m 10Kbps/90m 1Kbps/1.2km 10Mbps/12m 1Mbps/120m 100Kbps/1.2k m
  • 119. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 119 Mode Unbalanced Balanced Differental Unbalnced Differental Balanced Differental Driver No 1 1 1 32 Receiver No 1 10 10 32 Logic 0 +5V÷+15 V +2v ÷ +5V +3.6V ÷ +6V +1.5V ÷ +5V Logic 1 -5V÷-15V -2V ÷ -5V -3.6V÷-6V -1.5V÷-5V Community (truy n thông) 2V 1.8V 3.4V 1.3V Cable/Signa l (Cáp / tín hi u) 1 2 2 2 Methode (Phương th c) Simplex Half_duple x Full_duplex Simplex Half_duplex Full_duplex Simplex Half_duplex Full_duplex Simplex Half_duplex Full_duplex Short circuit current 500mA 150mA 150mA 150mA 3. Phương th c truy n d li u c a RS-232 : D li u trao ñ i di n ra trên hai ñư ng d n TxD và RxD. Qua chân c m ra TxD, máy tính g i d li u c a nó ñ n các thi t b khác. Trong khi ñó d li u mà máy tính nh n ñư c, l i ñư c d n ñ n chân n i RxD. Các tín hi u khác ñóng vai trò như là tín hi u h tr khi trao ñ i thông tin và vì v y không ph i trong m i ng d ng ñ u dùng ñ n. Các bit d li u ñư c g i ñi theo ki u ñ o ngư c, nghĩa là các bit có giá tr “1” s có m c ñi n áp LOW, các bit có giá tr “0” s có m c ñi n áp HIGH. M c tín hi u nh n và truy n qua chân RxD và TxD thông thư ng n m trong kho ng – 12V ñ n +12V. M c ñi n áp ñ i v i m c HIGH n m gi a +3V ñ n +12V. M t chu i d li u truy n ñi theo d ng n i ti p nhau trên m t ñư ng d n: b t ñ u b ng m t bit kh i ñ u (Start bit), ti p theo ñó là các bit d li u (data bit), bit th p ñi trư c. S bit d li u n m trong kho ng 5 ñ n 8 bit, ti p ñó là bit ki m tra ch n l (Parity) và cu i cùng là bit k t thúc (stop bit). Hình th c truy n này có kh năng dùng cho nh ng kho ng cách l n , b i vì các kh năng gây nhi u là nh hơn là dùng c ng song song. T c ñ truy n ñư c thi t l p b ng tham s Baudrate, là s bit truy n ñi trong 1 giây, thông thư ng là 300, 600, 1500, 2400, 4800, 9600 và 19200.
  • 120. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 120 M t như c ñi m không nh c a c ng n i ti p là t c ñ truy n d li u b h n ch . Ví d như v i t c ñ 9600 baud cho phép truy n nhi u nh t là 960 byte m i giây. Khuôn d ng d li u (Frame) c n ph i ñư c thi t l p như nhau c hai bên g i cũng như nh n. Start bit Stop bit +12V -12V D0 D1 D2 D3 D4 D5 D6 D7 1 1 0 1 0 0 1 0 T= 1/fbaud 1.04 ms Dòng d li u trên c ng RS_232 v i t c ñ baud 9600baud. M t trong nh ng yêu c u quan tr ng c a RS-232 là th i gian chuy n ñ i t m t m c logic này t i m c logic khác không vư t qúa 4% th i gian 1 bit. Vì th t c ñ 19200 th i gian chuy n m c logic ph i nh hơn . V n ñ này làm gi i h n chi u dài ñư ng truy n . V i t c ñ truy n 19200 baud có th truy n xa nh t là 50ft (1ft = 30.48cm, 15.24cm) M t trong nh ng v n ñ quan tr ng c n chú ý khi s d ng RS-232 là m ch thu phát không cân b ng ( ñơn c c ). ði u này có nghĩa là tín hi u vào ñư c so v i ñ t. Vì v y, n u ñi n th t i hai ñi m ñ t c a hai m ch thu phát không b ng nhau thì s có dòng ñi n ch y trên ñ t. K t qu s có áp rơi trên dây ñ t ( V= I.R ) s làm suy y u tín hi u logic. N u truy n tín hi u ñi xa , R s tăng d n ñ n áp rơi trên ñ t s l n d n ñ n lúc tín hi u logic s rơi vào vùng không xác ñ nh và m ch thu s không nh n ñúng d li u ñư c truy n t m ch phát. Chính s không cân b ng trên m ch thu phát là m t trong nh ng nguyên nhân gi i h n ñư ng truy n.
  • 121. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 121 Chương II : Gi i thi u các linh ki n dùng trong m ch I. Chip ADC804: Chíp ADC804 là b chuy n ñ i tương tư s thu c h ADC804 c a hãng national semiconductor. Chíp này cũng ñư c nhi u hãng khác s n xu t. ði n áp nuôi là +5v và ñ phân gi i 8 bit. Th i gian chuy n ñ i ñư c ñ nh nghĩa là th i gian mà b ADC c n ñ chuy n môt ñ u vào tương t thành m t s nh phân. ð i v i ADC 804 th i gian chuy n ñ i ph thu c vào t n s ñ ng h ñư c c p t i chân CLK va CLKIN và không bé hơn 110µs. CS ch n chip Là chân ch n chíp, ñ u vào tích c c m c th p ñư c s d ng ñ kich ho t chíp ADC804. ð tri c p ADC804 thì chân này m c th p. RD - ð c ðây là m t tín hi u vào tích c c m c th p. các b ADC chuy n ñ i ñ u vào tương t thành s nh phân và gi nó m t thanh ghi trong. RD ñư c s d ng ñ có d li u ñư c ñã chuy n ñ i t i ñ u ra c a ADC 804. khi CS=0 n u có m t xung cao xuông th p áp ñ n chân RD thì d li u ra d ng s 8 bit ñư c ñưa t i các chân d li u D0-D7. WR - Ghi ðây là chân vào tích c c m c th p ñư c dung ñ báo cho ADC 804 b t ñ u quá trình chuy n ñ i. N u CS=0 khi WR t o ra xung cao xu ng th p thì b ADC 804 b t ñ u ti n hành chuy n ñ i giá th ñ u tương t Vin v s nh phân 8 bit. CLK IN và CLK R CLK IN là chân vào n i t i ñ ng h ngoài khi ñ ng h ngoài ñư c s d ng ñ t o th i gian. Tuy nhiên 804 cũng có m b t o xung ñ ng h trên chíp ñ dùng ñ ng h trên chíp c a 804 thì chân CLK IN và CLK – R ñư c n i t i t ñi n và m t ñi n tr . v i t n s =f RC1.1 1
  • 122. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 122 Ng t INTR Ng t hay còn g i là k t thúc vi c chuy n ñ i. ñây là chân ra tích c c m c th p. Bình thư ng chân này tr ng thái cao và khi vi c chuy n ñ i hoàn t t thì nó xu ng th p ñ báo cho CPU bi t là d li u ñư c chuy n ñ i ñã s n sàng ñ l y ñi. Sau khi INTR xu ng th p, c n ñ t CS=0 và g i m t xung cao xu ng th p t i chân RD ñ ñưa d li u ra. Vin (+) và Vin(-) ðây la hai ñ u vào tương t vi sai, Trong ñó Vin = Vin (+) - Vin (-) Vin (-) ñư c n i xu ng th p
  • 123. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 123 Vin (+) ñư c dùng làm d u vào tương t và ñư c chuy n ñ i v d ng s . Vcc Là chân ngu n nuôi. Vref/2 Chân 9 là ñi n áp ñ u vàoñư c dùng là ñi n áp tham chi u. D0- D7 D0-D7 là các chân ra d li u Các chân nay ñư c ñ m ba trang thái và d li u ñã ñư c chuy n ñ i ch ñư c truy c p khi chân CS = 0 và chân RD ñưa xuông m c th p. Dout= uockichthuocb Vin Chân ñ t tương t và chân ñ t s . ðây là nh ng chân ñ u vào c p ñ t cho c tính hi u tương t và s , Tương t n i toi Vin và chân ñ t s n i t i Vcc. II. C m bi n nhi t ñ (h LM35): B c m bi n ( Transducer ) chuy n ñ i các ñ i lư ng v t lý, ví d như nhi t ñ , cư ng ñ ánh sáng, lưu t c và t c ñ thành các tín hi u ñi n. Ph thu c vào b c m bi n mà ñ u ra có th là tín hi u d ng ñi n áp,dòng, tr kháng hay dung kháng. B c m bi n nhi t ñáp ng s thay ñ i nhi t ñ b ng cách thay ñ i tr kháng, song ñáp ng này không tuy n tính. B c m bi n nhi t ñ LM35 c a hãng National Semiconductor Corp là b c m bi n nh t tuy n tính ñơn gi n và d ñư c s d ng r ng rãi. LM35 là h c m bi n nhi t m ch tích h p chính xác cao có ñi n áp ñ u ra t l tuy n tính v i nhi t ñ theo thang ñ Celsius. Nhi t ñ (00 ) Tr kháng c a c m bi n (KΩ ) 0 29.49 25 10 50 3.893 75 1.7 100 0.817 Tr kháng c a b c m bi n nhi t theo nhi t ñ H c m bi n này không yêu c u cân ch nh ngoài vì v n nó ñã ñư c cân ch nh . H này cho ra ñi n áp 10mV ng v i thay ñ i nhi t ñ là 10 C. B ng sau gi i thi u m t s thông s k thu t chính c a h LM35. Mã s n ph m D i nhi t ñ ð chính xác ð u ra LM35A -550 C t i +1500 C + 10 C 10mV/F
  • 124. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 124 LM35 -550 C t i +1500 C + 1,50 C 10mV/F LM35CA -400 C t i +1100 C + 10 C 10mV/F LM35C -400 C t i +1100 C + 1,50 C 10mV/F LM35D 00 C t i +1000 C + 120 C 10mV/F Thông s k thu t chính c a c m bi n nhi t h LM35. III. Chip 74LS151: 74LS151 là m t chip có 8 ñ u vào s ña ch c năng t c ñ cao.Nó cung c p trong m t gói, kh năng ch n m t bit t 8 bit ngu n. 74LS151 có th s d ng như m t ch c năng c a máy phát ñ phát nh ng m c logic ch c năng v i 4 giá tr . S0 ÷S2 : Ch n ñ u vào I0 ÷I7 : Ngõ vào ña ch c năng E : Chân vào tác ñ ng ( tác ñ ng m c th p) Z : Ngõ ra ña ch c năng Z : Ngõ ra b sung ña ch c năng Vcc : Chân ngu n GND : Chân n i ñ t
  • 125. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 125
  • 126. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 126 IV. Chip 74LS373: Intel gi i thi u 74LS373. 74LS373 là m t b cài ñ t 8 m c flip-flops tác ñ ng nhanh. Nhi m v c a 74LS373 ñư c hi n th b n dư i. “ Hi-Z” có nghĩa là ngõ ra tr ng thái tr kháng cao. Ngõ ra c a m ch ñư c bi t như ngõ ra 3 tr ng thái. Ngõ ra 3 tr ng thái ñư c s d ng ñ ñi u khi n các bus nơi mà các thi t b khác nhau s ñư c tác ñ ng ñ ñ ñóng con 3 tr ng thái ñ ñi u khi n 1 bus. Hi-Z : Ngõ ra tr kháng cao Qo : M c ngõ ra trư c khi c u hình ngõ vào ñư c thi t l p OE ( Output Enable): M c ng ñ m
  • 127. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 127 Chương III : M ch thi t k ghép n i I. Sơ ñ nguyên lý c a m ch thi t k m ch: II. Nguyên lý ho t ñ ng c a m ch: M ch ño ánh sáng và ñi u khi n ñèn thông qua c ng n i ti p RS-232. M ch s d ng quang tr ñ ño ánh sáng ñi u khi n ñèn, v i ñi n áp chu n 2.5V l y t Diod Zener REF25Z, sau ñó qua m ch khu ch ñ i ñưa LM358 ñưa vào ñi n áp chu n 2.5V vào AD0804. AD0804 chuy n ñ i tín hi u tương t t quang tr thành tín hi u s t D0→D7. ð u vào quang tr dùng tr 330Ω ñ gi m dòng vào, 2 diod 4148 t o ra ngư ng d n. Khi chân WR ñư c kích m c logic 0 t chân RTS c a c ng n i ti p RS-232 thì AD0804 b t ñ u làm vi c. Sau khi k t thúc 8 chu kỳ INTR báo k t thúc. Tín hi u tương t khi qua con AD0804 chuy n thành tín hi u s , thông qua ð o 7414 ñưa bit 1 vào chân LE (chip ñ m) và OE n i mass s cho thông d li u. ð u ra kích con ba tr ng thái thông d li u t 8 ñ u vào D0→D7 khi ñ u ra b ng ñ u vào, m ch còn l i chuy n tín hi u truy n t song song qua n i ti p. Thông qua m ch dao ñ ng (7414, 10K, 10nF ) s t o xung ñưa vào IC74161 ñ m t 000→111, sau ñó quay tr l i và c ñ m mãi như v y. QD ñư c kích m c logic 0 s kích m 74151(A), sau 8 l n ñ m c l n lư t ñưa d li u ra ñ u ra Y ñ n chân RxD c a c ng RS-232 thông qua máy tính ñi u khi n, ñi n áp s ñư c ñưa ra chân DTR +12V, dòng qua Diod 20mA làm Diod sáng lên kích m Tranzitor, m C828 và H106. Lúc này Role ñi n t ñóng n i ngu n AC ñèn sáng lên. QAQBQC l n lư t tác ñ ng như b ng tr ng thái sau: QA QB QC Y 0 0 0 D0 1 0 0 D1 0 1 0 D2 0 0 1 D3 Khi k t thúc 111 chuy n qua 011 D7 t t. Qua ñ u ñ o ñi u khi n tương t 74151(B) có ñư c bit d li u D4 →D7. Sau bit stop qua 3 bit Break. V y cu i cung thu ñư c 8 bit data,0 parity, 1 stop, 9600 Baud, 6 bit Break.
  • 128. Tài li u môn h c: Ghép n i và ñi u khi n thi t b ngo i vi Gi ng viên: Nguy n Văn Minh Trí 128 III. Lưu ñ thu t toán: Kh i phát ch ñ T o tín hi u Start Ch th i gian Tch ð c d li u trong RBR ð ñèn DTR=12T t ñèn DTR= -12