Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

20 838 3
Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Tài liệu môn học: Ghép nối ñ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 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" 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 : Tài liệu môn học: Ghép nối ñ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 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: Tài liệu môn học: Ghép nối ñ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 : Tài liệu môn học: Ghép nối ñ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 : Tài liệu môn học: Ghép nối ñ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. Tài liệu môn học: Ghép nối ñ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 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: Tài liệu môn học: Ghép nối ñ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 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 - PC 1 cho trạng thái bận của máy in. - PC 0 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: - PC 5 ñưa tín hiệu chốt số liệu cho máy in (qua bộ ñảo). - PC 4 ñể 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: - PC 4 tín hiệu ra ñể chốt số liệu, có thể dùng PC 7 ( A OBF ) thay thế. - PC 6 tín hiệu vào cho ACK , xác nhận ñã in số liệu. - PC 3 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 PC 6, PC 7 sẽ tự ñộng thu phát mà không cần lệnh của chương trình, trừ PC 4 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 PC 6 . Hình 2.9: dụ GN 8255 ở chế ñộ 0. VXL Reset 0 7 D D÷ RD WR 0 A 1 A 2 19 A A÷ 8255 Reset 0 7 D D÷ RD WR 0 A 1 A Giải mã ñịa chỉ Máy in 0 7 PA PA÷ CS 5 PC 1 PC Máy ñục băng Data strobe Busy Busy driver right 0 7 PB PB÷ 0 PC 4 PC Tài liệu môn học: Ghép nối ñ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: dụ GN 8255 ở chế ñộ 1. Hình 2.11: dụ GN 8255 ở chế ñộ kết hợp. Hình 2.11 mô tả dụ ghép nối 8255A ở chế ñộ 2 của cửa PA 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 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 7 D D÷ RD WR 0 A 1 A 2 19 A A÷ 8255 Reset 0 7 D D÷ RD WR 0 A 1 A Giải mã ñịa chỉ DAC 0 7 PA PA÷ CS ADC 2 PB 3 PB 0 7 D D÷ Chốt số liệu Cho phép ñưa ra Chốt số liệu Cho phép trích mẫu 0 7 D D÷ 0 PB 1 PB Lối ra tương tự Lối vào tương tự VXL 0 7 D D÷ 8255 0 7 D D÷ ACK Máy in 0 7 PA PA÷ 4 PC 6 PC Data strobe 7 PC 3 PC INTR INTR A INTA A OBF Tài liệu môn học: Ghép nối ñiều khiển thiết bị ngoại vi Giảng viên: Nguyễn Văn Minh Trí 39 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, ñị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 máy in, máy ñọc băng.  Xác ñịnh các thanh ghi chế ñộ chiều của cửa: 3FE18h ⇒ A 19 …. A 3 A 2 A 1 A 0 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 từ trạng thái: Không dùng ở chế ñộ lập cờ nên D 7 =1 PA ở chế ñộ 0, cửa ra nên D 6 =0 D 5 =0 D 4 =0 Nửa cửa C cao là cửa ra nên D 3 =0 PB ở chế ñộ 0, cửa vào nên D 2 =0 D 1 =0 Nửa cửa C thấp là của vào nên D 0 =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: PC 7 PC 6 PC 5 PC 4 PC 3 PC 2 PC 1 PC 0 Cho PC5 0 0 1 0 0 0 0 0 ⇒ data_C5 := 20h Bắt ñầu ðọc trạng thái – PC 1 Máy in bận? ðưa số liệu ra Xoá xung chốt PC 5 Lập xung chốt PC 5 Kết thúc Yes No Bắt ñầu ðọc trạng thái – PC 0 Máy ñọc bận? ðọc số liệu vào Lập xung chốt PC 4 Xoá xung chốt PC 4 Kết thúc Yes No Tài liệu môn học: Ghép nối ñ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 PC 1 0 0 0 0 0 0 1 0 ⇒ data_C1 := 02h Cho PC 0 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 [...]... 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 theo dõi thi t b , ñòi h i nhi u th i gian x lý Thi t b ngoài vào/ra song song VXL SOD SID CLK D C Thanh ghi d ch 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: Gi ng vi n: Nguy n Văn Minh Trí 42 Tài li u môn h c: Ghép. .. a thanh ghi này ñ bi t có yêu c u ng t ki m tra các bit D1 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 Gi ng vi n: Nguy n Văn Minh Trí 48 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi ñ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... 6 1 0 7 1 1 8 Gi ng vi n: Nguy n Văn Minh Trí 49 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi ð hi u tín hi u Break, ta xem d khung d li u trên v i 8 bit data, không ki m tra ch n l 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... 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 Gi ng vi n: Nguy n Văn Minh Trí 44 Tài li u môn h c: Ghép n i và. .. 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, c m ng t khi ghi 0 vào các bit Bit 7-4 3 Ch c năng D tr , luôn ñ t b ng 0 cho phép 8250 phát yêu c u ng t tr ng thái MODEM Gi ng vi n: Nguy n Văn Minh Trí 47 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi 2 1 0 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... phát 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) 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) SOD ( serial OUT) c a vi. .. 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 chuy n sang ch ñ thu xung ñ ng b ñư c kích ho t b i kí t SYNC Phát Thu ð ng b Gi ng vi n: Nguy n Văn Minh Trí 41 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi 2 Trong trao ñ i thông tin không ñ ng b : Các byte ñư c ñ t trong m t khung 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:... sau: B ng 3.1: ð a ch các thanh ghi c a 8085 DLAB A2 A1 A0 ð c/ghi Gi ng vi n: Nguy n Văn Minh Trí Thanh ghi 46 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi 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) ñ m phát (THR) cho phép yêu c u ng t (IER) ch t chia ph n th p (LSB)... 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 Gi ng vi n: Nguy n Văn Minh Trí 45 Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s - Chân s 21 (DISTR) : I/O Read 22 ( DISTR ): Ð o c a I/O... Tài li u môn h c: Ghép n i ñi u khi n thi t b ngo i vi 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 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 . data_C5; End 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. A OBF 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

Ngày đăng: 14/12/2013, 10:15

Hình ảnh liên quan

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ăn gở chế ñộ 0. Nửa thấp cửa C là cửa vào, dùng ñể ñọc các trạng thái  - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

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ăn gở chế ñộ 0. Nửa thấp cửa C là cửa vào, dùng ñể ñọc các trạng thái Xem tại trang 7 của tài liệu.
Hình 2.10: Ví dụ GN 8255 ở chế ñộ 1. - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

Hình 2.10.

Ví dụ GN 8255 ở chế ñộ 1 Xem tại trang 8 của tài liệu.
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 - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

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 Xem tại trang 9 của tài liệu.
Hình 3.1: Mạch không cần BGN - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

Hình 3.1.

Mạch không cần BGN Xem tại trang 12 của tài liệu.
Hình 3.6: Sơ ñồ khối 8250 - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

Hình 3.6.

Sơ ñồ khối 8250 Xem tại trang 16 của tài liệu.
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: - Tài liệu Ghép nối và điều khiển thiết bị ngoại vi (P2) docx

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: Xem tại trang 18 của tài liệu.

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan