Bài giảng Ghép nối với vào ra (Input / Output Peripheral Interfacing)

ppt 134 trang phuongnguyen 6370
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Ghép nối với vào ra (Input / Output Peripheral Interfacing)", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pptbai_giang_ghep_noi_voi_vao_ra_input_output_peripheral_interf.ppt

Nội dung text: Bài giảng Ghép nối với vào ra (Input / Output Peripheral Interfacing)

  1. Ghép nới với vào ra Input / Output Peripheral Interfacing Phạm Thế Duy (ptduy@yahoo.com)
  2. Các khái niệm chung
  3. Các cởng vào ra Là thiết bị ngăn cách giữa BUS dữ liệu và các thiết bị ngoại vi. Các cởng vào ra sẽ mở để CPU giao tiếp với thiết bị ngoại vi khi CPU cấp đúng địa chỉ của nó. Là các vi mạch tích hợp giao tiếp với BUS dữ liệu của CPU bằng cởng 03 trạng thái.
  4. Phân loại các cởng vào ra. Theo kiểu truyền dữ liệu: ⚫ Vào ra song song. ⚫ Vào ra nới tiếp. Theo tín hiệu truyền: ⚫ Vào ra sớ ⚫ Vào ra tương tự: ADC, DAC Theo cơ chế hoạt đợng của vào ra: ⚫ Vào ra cơ bản. ⚫ Vào ra lập trình. Theo phương pháp điều khiển của CPU: ⚫ Vào ra theo phương pháp quét vòng: polling ⚫ Vào ra theo ngắt: Interrupt. ⚫ Vào ra bằng thâm nhập trực tiếp bợ nhớ: DMA – Direct Memory Access.
  5. Các thiết bị ngoại vi Các thiết bị chỉ vào. Các thiết bị chỉ ra. Các thiết bị vừa vào vừa ra. Giớng như bợ nhớ các cởng vào ra sẽ được CPU định vị bằng mợt vi trí cớ định gọi là địa chỉ cởng. Khác với bợ nhớ mỡi chip vào ra chỉ có mợt hoặc mợt vài địa chỉ.
  6. Các cởng ra Giớng như bợ nhớ, CPU có thể ghi dữ liệu tới các cởng ra. Khi ghi dữ liệu tới bợ nhớ sử dụng lệnh MOV [BX],AL. Khi ghi dữ liệu tới vào ra sử dụng lệnh OUT DX,AL
  7. Các cởng vào Giớng như bợ nhớ, CPU có thể đọc dữ liệu từ các cởng vào. Khi đọc dữ liệu tới bợ nhớ sử dụng lệnh MOV AL,[BX] Khi đọc dữ liệu tới vào ra sử dụng lệnh IN AL,DX.
  8. Địa chỉ hoá bợ nhớ và vào ra Bợ nhớ và vào ra: ⚫ Có thể truy cập bằng cùng mợt lệnh hoặc khác lệnh. ⚫ Địa chỉ hoá bằng toàn bợ hoặc mợt phần BUS địa chỉ. ⚫ Có thể sử dụng chung các tín hiệu điều khiển hoặc sử dụng riêng các tín hiệu điều khiển. ⚫ Có thể nhiều hơn hoặc 216 cởng. ⚫ Vào ra có thể truy cập bằng khơng gian địa chỉ dành cho bợ nhớ.
  9. Hai dạng của lệnh IN/OUT Dạng 1 Dạng 2 IN AL, port# MOV DX,port# Hoặc IN AL, DX OUT port#, AL Hoặc Ví dụ: MOV DX, port# OUT DX, AL ⚫ BACK: IN AL,22H CMP AL, 100 JNZ BACK
  10. Cởng vào ra 8 và 16 bit Với 8088 : Với 8086 : MOV DX, 648H MOV DX, 648H OUT DX, AX ;AX = 76A9H OUT DX, AX ;AX = 76A9H Cấp địa chỉ và ALE Cấp địa chỉ và ALE Ghi byte thấp (A9), IOW Ghi mợt từ (76A9), IOW Định thời ghi Định thời ghi Cấp địa chỉ (649) và ALE Ghi byte cao (76), IOW Định thời ghi
  11. Các cởng vào ra cơ bản
  12. Thực hiện cởng ra đơn giản Sử dụng 8 đèn LED.
  13. Use 8 LED’s A19 A18 : A0 D7 : D6 D5 D4 mov al,55h D3 D2 out dx, al 8088 D1 Minimum D0 Mode : IOR : IOW :
  14. Thực hiện cởng ra đơn giản Sử dụng 8 đèn LED. Các LED sẽ sáng theo giá trị trên BUS dữ liệu, sẽ khơng điều khiển được theo ý muớn. Cần sử dụng vi mạch ra và bợ giải mã địa chỉ sao cho LED chỉ được cấp dữ liệu khi CPU cấp đúng địa chỉ bằng lệnh OUT (giả sử chúng ta cần địa chỉ là F000H)
  15. Sử dụnng 74LS245 và bợ giải mã địa chỉ A19 A18 : A0 D7 A0 B0 D6 A1 B1 D5 A2 B2 D4 A3 B3 D3 A4 B4 D2 A5 74LS245 B5 8088 D1 A6 B6 Minimum D0 A7 B7 Mode E DIR 5V IOR IOW : mov al, 55H mov dx, F000H out dx, al A A A A A A A A A A A A A A A AIOW 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 : 5 4 3 2 1 0
  16. Thực hiện cởng ra đơn giản Sử dụng cởng đệm 74245 dữ liệu sẽ bị mất sau khi thực hiện lệnh OUT, do cởng đóng lại. Làm sao để LED vẫn sáng? Vẫn sử dụng chip vào ra và bợ giải mã để dữ liệu chỉ cung cấp tới LED khi CPU cung cấp đúng địa chỉ bằng lệnh OUT, nhưng chip cần có chức năng giữ lại dữ liệu cho tới khi có lệnh OUT kế tiếp.
  17. Sử dụng 74LS373 và bợ giải mã địa chỉ A19 A18 : A0 D7 D0 Q0 D6 D1 Q1 D5 D2 Q2 D4 D3 Q3 D3 D4 Q4 D2 D5 74LS373 Q5 8088 D1 D6 Q6 Minimum D0 D7 Q7 Mode LE OE IOR IOW : mov al, 55H mov dx, F000H A A A A A A A A A A A A A A A AIOW 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 out dx, al :
  18. Thực hiện cởng vào đơn giản Sử dụng 8 phím nhấn. Cần sử dụng vi mạch ra và bợ giải mã địa chỉ sao cho các phím chỉ đọc bằng lệnh IN với đúng địa chỉ của cởng (giả sử chúng ta cần địa chỉ là F000H). Làm thế nào để giao tiếp các phím nhấn với hệ thớng CPU ?
  19. Sử dụng 74LS245 và bợ giải mã địa chỉ A19 5V A18 : A0 D7 A0 B0 D6 A1 B1 D5 A2 B2 D4 A3 B3 D3 A4 B4 D2 A5 74LS245 B5 8088 D1 A6 B6 Minimum D0 A7 B7 Mode E DIR IOR IOW : mov dx, F000H in al, dx A A A A A A A A A A A A A A A AIOR 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 : 5 4 3 2 1 0 Có thể sử dụng chung mợt địa chỉ cho mợt cởng vào và mợt cởng ra?
  20. Điều khiển đọc phím nhấn Quét vòng – Polling Ngắt - Interrupt
  21. Quét vòng A19 5V A18 : A0 D7 A0 B0 D6 A1 B1 D5 A2 B2 D4 A3 B3 D3 A4 B4 D2 A5 74LS245 B5 8088 D1 A6 B6 Minimum D0 A7 B7 Mode E DIR IOR IOW mov dx, F000 L1: in al, dx cmp al, FF je L1 A A A A A A A A A A A A A A A AIOR : 1 1 1 1 1 1 9 8 7 6 5 4 3 2 1 0 5 4 3 2 1 0 :
  22. Output Port Design 74LS373 D0 D Q Q0 G . . G OC T1 – T4 of OUT 99H, AL ?
  23. Input Port Design 74LS244 D0 Q0 . . . . . . D7 Q7 OC T1 – T4 of IN AL, 5FH ?
  24. Ví dụ về giao tiếp DIP - SW
  25. Ví dụ về giao tiếp LED
  26. Tăng cơng suất giao tiếp cho các cởng ra. Các thiết bị ra cần có mức điện áp và dòng điện thích hợp. Với các ngõ ra TTL: ⚫ Về điện áp: 0 – 0.4V cho logic 0; 2.4 – 5V cho logic 1. ⚫ Về dòng điện: 0 – 2mA cho mức 0 và 0 tới (-400uA) cho mức 1.
  27. Giao tiếp cách ly dùng relay LAMP MOTOR AC +Vcc +Vcc K1 220V K1 220V RELAY CONTACTOR Out Rb Rb Out NPN NPN DAR (a) (b) Hình 5.45: Mạch đệm transistor.
  28. Giao tiếp cơng suất bằng SSR – Solid State Relay
  29. Vào ra song song lập trình 8255
  30. Chip hỡ trợ vào ra song song lập trình 8255 Có thể chọn nhiều chế đợ hoạt đợng khác nhau bằng chương trình. Dữ liệu vào ra kèm theo các tín hiệu bắt tay. Có nhiều cởng giao tiếp tích hợp trong mợt chip.
  31. 8255 – Sơ đờ khới
  32. 8255 – Kết nơi với hệ thớng
  33. 8255 – Kết nới với hệ thớng
  34. 8255 PPI
  35. 8255 – Từ điều khiển lập xoá bit cởng C
  36. Ví dụ về lập trình bit cởng C Lập trình 8255 với yêu cầu sau: ⚫ A) lập PC2 lên mức cao. ⚫ B) Sử dụng PC6 tạo ra xung vuơng với 66% duty cycle Giải: A) ⚫ MOV AL, 00000101B OUT 93H,AL ; 93H là địa chỉ cởng điều khiển B) ⚫ MOV AL, 0xxx1101 OUT 93H, AL CALL Delay CALL Delay MOV AL, 0xxx1100 OUT 93H, AL CALL Delay JMP AGAIN
  37. 8255 – Từ điều khiển chế đợ
  38. 8255 – Các chế đợ làm việc
  39. 8255 – Định thời out chế đợ 0
  40. 8255 – Định thời in chế đợ 0
  41. Example - Port addresses
  42. Solution
  43. Example – Programming 8255
  44. Solution
  45. 8255 – Chế đợ 1
  46. 8255 – Định thời đọc chế đợ 1
  47. Tác đợng tín hiệu đọc chế đợ 1 #OBFa : ⚫ CPU ghi tới 8255 mợt byte #ACKa: ⚫ Dữ liệu đã được bên nhận lấy INTRa: ⚫ Tác đợng sau cạnh lên của #ACKa INTEa (interrupt enable) ⚫ Là bit cho phép bên trong 8255. ⚫ Điều khiển bằng bit PC6
  48. 8255 – Định thời ghi chế đợ 1
  49. Tác đợng tín hiệu ghi chế đợ 1 #STB (in): ⚫ Thiết bị cung cấp dữ liệu tới cởng vào của 8255 IBF (out): ⚫ Dữ liệu đã được chớt tới bợ cài của 8255 INTR (out): ⚫ Sau khi tác đợng tín hiệu IBF INTE (interrupt enable) ⚫ Là bit bên trong 8255 ⚫ Điều khiển bằng các bit PC4 và PC2
  50. 8255 – Kết nới tín hiệu chế đợ 1 D – D D – D 0 7 PA0 – PA7 PA0 – PA7 0 7 INTEA INTEA OBF STB PC7 A A PC4 ACKA IBFA PC PC RD WR 6 5 INTA INTA PC3 PC3 INTEB STB INTEA B OBFB PC2 PC1 ACK IBFB B PC1 PC2 INTB INTB PC0 PC0 RD PB0 – PB7 PB0 – PB7 Hình 5.17: Truyền dữ liệu bằng 8255 ở chế đợ 1.
  51. Chế đợ 2 của 8255
  52. MODE 2 Operation
  53. Ngắt và Quét vòng Interrupt vs. Polling Khi sử dụng ngắt : ⚫ CPU sẽ chỉ ngắt khi cần thiết. ⚫ CPU sẽ phục vụ được nhiều thiết bị hơn. ⚫ Hệ thớng sẽ yêu cầu nhiều phần cứng hơn.
  54. Kiểm tra trạng thái để quét vòng Using status to Poll
  55. Bản đờ vào ra của máy tính IBM PC IO MAP
  56. Giải mã địa chỉ bằng 74138
  57. Địa chỉ của 8255 trong máy tính.
  58. Sử dụng các cởng của 8255 trong PC MOV AL,99H OUT 63, AL
  59. Kết nới dữ liệu trong các hệ thớng 8088 ⚫ Dữ liệu được truyền theo byte ⚫ Dung lượng nhớ 1MB sẽ là 1M x 8-bits 8086/80186 ⚫ Dữ liệu có thể truyền theo từng từ (word) ⚫ Dung lượng nhớ 1MB sẽ là 512kB x 16-bits 80286/80386SX ⚫ Dữ liệu truyền theo từ ⚫ Dung lượng nhớ 16MB sẽ là 8MB x 16-bits
  60. Dữ liệu 32 và 64 bit • 80386DX/80486 ⚫ – Dữ liệu truyền theo 4 byte ⚫ – Dung lượng nhớ 4GB là 1GB x 32-bits • Pentium Pro/Pentium 1-4 ⚫ – Dữ liệu truyền theo 4 từ. ⚫ – Dung lượng nhớ 4GB là 512MB x64-bits (trên P2-4, bus thực sự là 36 bits)
  61. Little Endian / Big Endian với 68000: MOVE.W #513, D0 ; chuyển giá trị 513 vào 16 bit thấp của D0 MOVE.W D0,4 ; chứa từ thấp của D0 vào ơ nhớ 4 với 80x86: MOV AX,513 ; nạp AX (16 bits), giá trị 513 MOV [4],AX ; chứa AX vào ơ nhớ 4
  62. Các hệ thớng vi xử lý tở chức bợ nhớ 16 bit Bus dữ liệu 16-bit. Khi sử dụng cả Bus để truy cập dữ liệu. 1M bợ nhớ sẽ là: 512K * 16 bit Khi bợ nhớ theo byte được gán theo từng từ. Truy cập các địa chỉ chẵn Ví dụ: ơ nhớ [4H] chứa 0102H và ơ nhớ [6H] chứa 0304H Điều gì xảy ra khi Mov AX,[4]? Điều gì xảy ra khi Mov AX,[5]? Motorola family of the MC680x0 forbids non-aligned access
  63. Chọn bank bợ nhớ 8086/186/286/386SX có 16 đường dữ liệu D15-D0 SRAM 6264 chỉ có 8 đường dữ liệu I/O7 – I/O0 Cần tở chức bợ nhớ theo bank “Memory Bank” ⚫ 1 SRAM để chứa các dữ liệu với địa chỉ chẵn “Even Addresses” ( 0 2 ) ⚫ 1 SRAM để chứa các dữ liệu với địa chỉ lẻ “Odd” Addresses” ( 1 3 ) 8086 có đường điều khiển BHE– (Bank High Enable) Được sử dụng cùng với A0 để xác định dạng truy cập bợ nhớ: ⚫ BHE A0 Dạng truy cập ⚫ 0 0 1 từ (16-bits) ⚫ 0 1 Byte lẻ - Odd Byte (D15-D8) ⚫ 1 0 Byte chẵn - Even Byte (D7-D0) ⚫ 1 1 Khơng truy cập - No Access
  64. Giao tiếp hai bợ nhớ 512KB với vi xử lý 8088 (review) AX 3F1C A19 7FFFF 36 BX 0023 A18 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A0 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 2000 20020 29 ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : 20023 33 D7 20022 45 : 20021 92 D0 20020 A3 RD : : WR 00001 D4 CS 00000 97
  65. Giao tiếp hai bợ nhớ 512KB với vi xử lý 8086 How to connect data lines? How to connect address lines? What about chip select? AX 3F1C A0 7FFFF 36 BX 0023 A19 A18 7FFFE 25 CX 0000 : : 7FFFD 19 DX FCA1 A1 A0 : : 20023 13 D7 D7 CS XXXX 20022 7D : : SS XXXX 20021 12 D0 D0 DS 4000 20020 291C ES XXXX MEMR RD : : MEMW WR 00001 95 BP XXXX CS 00000 23 SP XXXX SI XXXX 7FFFF 12 DI XXXX A18 7FFFE 98 : 7FFFD 2C IP XXXX A0 : : D15 D7 20023 33 : : 20022 45 D8 D0 20021 92 MOV [0040], AL? 20020 A33F MOV [0041], AH? RD : : WR 00001 D4 MOV [0040], AX? BHE# CS 00000 97
  66. Giải mã chọn bank bợ nhớ
  67. Giao tiếp các bợ vào ra 8 bit với bus dữ liệu 16 bit. Giải quyết ? Giải pháp 1: ⚫ 1) sử dụng hai bợ vào ra riêng. Địa chỉ chẵn cho mợ chip và địa chỉ lẻ cho chip còn lại ⚫ Lệnh OUT port#, AX sẽ cung cấp dữ liệu tới cả hai chip.
  68. Giao tiếp các bợ vào ra 8 bit với bus dữ liệu 16 bit. Giải pháp 2: Sử dụng bợ copier Hi/Lo ⚫ Xuất dữ liệu ra địa chỉ lẻ (odd-addressed): • Hi/Lo copier chép dữ liệu từ D8-D15 tới D0-D7 ⚫ Nhận mợt byte từ địa chỉ lẻ. • Hi/Lo copier chép dữ liệu từ D0-D7 tới D8-D15 ⚫ Logic điều khiển được cung cấp từ chipset.
  69. Hi/Lo Copier trong PC
  70. Bus mở rợng ISA trong PC Chỉ có 16-bit (ngay cả khi sử dụng CPU 32-bit hoặc cao hơn) Tớc đợ giới hạn tới 8MHz
  71. Linear Select Address Decoding What is the address range and aliases?
  72. Buffering Selected IO Address Range Range of addresses? Blocking others.
  73. Lập trình vào ra với C và Basic Assembly Microsoft C Borland C BASIC OUT port#, AL outp (port#, byte) ouportb(port#, byte) Out port#, byte IN AL, port# var=inp(port#) var=inportb(port#) Var = INP (port#) OUT DX, AX Outpw(port#, word) Outport(port#, word) Out port#, word ?? IN AX, DX word=inpw(port#) word=inport(port#) Var = INP (port#)??
  74. Ví dụ
  75. Ví dụ chương trình quét vòng Viết chương trình làm các LED sáng chạy từ dưới lên trên khi bắt đầu chạy. Khi phím thấp nhất được nhấn, LED sẽ thay đởi hướng sáng. Khi phím cao nhất được nhấn, chương trình sẽ kết thúc.
  76. Sơ đờ kết nới macḥ̣ A19 5V A18 : A0 D7 A0 B0 D0 Q0 D6 A1 B1 D1 Q1 D5 A2 B2 D2 Q2 D4 A3 B3 D3 Q3 D3 A474LS245 B4 D474LS373 Q4 D2 A5 B5 D5 Q5 8088 D1 A6 B6 D6 Q6 Minimum D0 A7 B7 D7 Q7 Mode E DIR LE OE IOR IOW AAAAAAAAAAAAAAAAIOR AAAAAAAAAAAAAAAAIOW 1111119876543210 1111119876543210 543210 543210
  77. Xem xét về hoạt đợng của chương trình mov dx, 0F000h L4: mov bl, al mov ah, 00 in al, dx mov al, 01 cmp al, 0FFh L1: out dx, al je L6 mov cx, 0FFFFh test al, 01 L2: dec cx jnz L5 jnz L2 xor ah, 0FFh cmp ah, 00 jmp L6 jne L3 L5: test al, 80h rol al, 1 jz L7 cmp al, 01 L6: mov al, bl jne L1 jmp L1 jmp L4 L7: L3: ror al, 1 cmp al, 80h jne L1
  78. Vấn đề gì xảy ra khi nhiều quá trình quét vòng thực hiện trong cùng mợt chương trình? Quét các LED sáng sẽ tớn mợt khoảng thời gian nhất định. Người sử dụng có thể sẽ nhấn và rời tay khỏi phím trước khi các LED được quét xong. Tức là trước khi thực hiện lệnh in al, dx Và vi xử lý sẽ khơng biết người sử dụng đã nhấn phím.
  79. Vấn đề với chương trình quét vòng. mov dx, F000 mov ah, 00 mov al, 01 L4: mov bl, al L1: out dx, al in al, dx mov cx, FFFFh cmp al, FFh je L6 L2: dec cx test al, 01 jnz L2 jnz L5 cmp ah, 00 xor ah, FFh jne L3 jmp L6 rol al, 1 L5: test al, 80h cmp al, 01 jz L7 jne L1 L6: mov al, bl jmp L4 jmp L1 L3: ror al, 1 L7: cmp al, 80h jne L1
  80. Mợt sớ ứng dụng vào ra song song
  81. Bợ hiển thị LED 7 đoạn Cởng ra cho phép từng LED. Vcc Q1 Q2 Q3 Q4 Q5 Q6 Q7 Q7 PNP PNP PNP PNP PNP PNP PNP PNP 8 8 8 8 8 8 8 a a 8 a a a a a a b b b b b b b b c c c c c c c c d d d d d d d d e e e e e e e e f f f f f f f f g g g g g g g g dp dp dp dp dp dp dp dp Cởng ra cấp mã LED. Hình 5.42: Hiển thị LED theo chế đợ quét.
  82. Bợ hiển thị LED 7 đoạn
  83. Điều khiển LED sáng Chọn LED1 – Cấp mã sáng cho LED1- Tạo trễ để LED sáng. Khơng chọn LED1 (khơng chọn LED nào để tắt hết các LED. Tiếp tục với LED2 cho tới LED8.
  84. Hiển thị trên LED ma trận Hình 5.43: Cấu tạo đèn hiển thị LED ma trận.
  85. Kết nới bàn phím ma trận Vcc Out D0 D1 D2 D3 10K In D7 D0 Hình 5.40: Kết nới bàn phím dạng ma trận.
  86. Kết nới bàn phím ma trận 0 1 1 1 1 1 1 0
  87. Kết nới bàn phím ma trận Đọc vào từ các hàng = 1111 thì khơng có phím nào được nhấn. Nếu có phím nhấn (hàng khác 1111) sẽ quét phím bằng cách tuần tự cho các cợt bằng 0 và đọc vào từ các hàng. Giá trị phím nhấn sẽ tương ứng với giá trị out ra cợt và in vào từ hàng.
  88. Kết nới bàn phím ma trận
  89. Giao tiếp với các bợ hiển thị LCD. Giá thành hạ Có thể hiển thị sớ, ký tự, hình vẽ Được tích hợp sẵn bợ điều khiển làm tươi Dễ dàng lập trình.
  90. Mơ tả chân các bợ LCD
  91. Các mã lệnh lập trình cho LCD
  92. Vi du sơ đờ kết nới với LCD
  93. Ví dụ lập trình cho LCD
  94. Lập trình gởi dữ liệu tới LCD
  95. Các địa chỉ cho LCD
  96. Định thời của LCD
  97. Các lệnh của LCD
  98. Đợng cơ bước -Stepper Motors Cho phép điều khiển vi trí chính xác bằng cách điều khiển đợng cơ quay theo các góc nhất định mợt các dễ dàng. Thường có tớc đợ thấp và moment thấp hơn các đợng cơ khác. Có thể sử dụng để điều khiển chính xác vị trí trong robotics Các Servomotors yêu cầu tín hiệu phản hời vị trí chính xác.
  99. Sơ đờ cấu tạo Stepper Motor
  100. Góc quay của đợng cơ bước - Stepper Motor
  101. Các thuật ngữ - Terminology Bước trên giây - Steps per second, RPM ⚫ SPS = (RPM * SPR) /60 Sớ cực - Number of teeth 4-step, wave drive 4-step, 8-step Tớc đợ đợng cơ - Motor speed (SPS) Moment giữ - Holding torque
  102. Các loại Stepper Motor ⚫ Từ trường thay đởi - Variable Reluctance ⚫ Nam châm vĩnh cửu - Permanent Magnet
  103. Variable Reluctance Motors
  104. Variable Reluctance Motors Đây thường là loại đợng cơ 4 dây – dây chung để cấp nguờn +V các cuợn dây sẽ được cấp điện thơng qua các đầu dây còn lại. Trong hình là đợng cơ loại 30o. Rotor có 4 cực từ (poles) và stator có 6. Ví dụ:
  105. Variable Reluctance Motors Để đợng cơ quay chúng ta cần cấp điện cho các cuợn dây theo trình tự sau: ⚫ W1 - 1001001001001001001001001 ⚫ W2 - 0100100100100100100100100 ⚫ W3 - 0010010010010010010010010 Cấp điện như trên sẽ làm đợng cơ quay đủ hai vòng.
  106. Đợng cơ đơn cực Unipolar Motors
  107. Unipolar Motors Để đợng cơ quay cần cung cấp điện cho hai đợng cơ như: ⚫ W1a - 1000100010001000100010001 ⚫ W1b - 0010001000100010001000100 ⚫ W2a - 0100010001000100010001000 ⚫ W2b - 0001000100010001000100010 Kích thích như trên cho phép đợng cơ quay đủ hai vòng.
  108. Dạng sóng kích thích cơ bản Basic Actuation Wave Forms
  109. Đợng cơ đơn cực Unipolar Motors Để đợng cơ quay chúng ta cũng có thể kích thịch hai đợng cơ như sau: ⚫ W1a - 1100110011001100110011001 ⚫ W1b - 0011001100110011001100110 ⚫ W2a - 0110011001100110011001100 ⚫ W2b - 1001100110011001100110011 Với kích thích như trên đợng cơ sẽ quay đủ hai vòng nhưng với moment tăng gấp 1.4 lần và cơng suất tăng hai lần.
  110. Dạng sóng tăng moment-Enhanced Waveforms Moment quay tớt hơn - better torque Điều khiển sẽ chính xác hơn -more precise control
  111. Unipolar Motors Hai dạng kích thích đợng cơ đơn cực khác nhau, Kết hợp giữa hai kiểu kích thích chúng ta sẽ điều khiển đợng cơ quay theo nửa bước. ⚫ W1a - 11000001110000011100000111 ⚫ W1b - 00011100000111000001110000 ⚫ W2a - 01110000011100000111000001 ⚫ W2b - 00000111000001110000011100
  112. Macḥ̣ điều khiển đợng cơ Motor Control Circuits Với các đợng cơ yêu cầu dòng thấp co thể sử dụng loại Transistor Darlington Arrays họ ULN200x để cấp điện cho các cuợn dây
  113. Kết nới giao tiếp với Stepper Motors
  114. Tạo vector điều khiển Vector Generation Giải pháp phần cứng ⚫ Thiết kế bằng mạch Logic ⚫ Trạng thái máy - State machine Giải pháp phần mềm ⚫ Bợ vi xử lý và cởng ra ⚫ Định thời xuất dữ liệu.
  115. Ví dụ
  116. Giao tiếp tương tự ADC -Analogue to Digiatal Converter. DAC – Digital to Analogue Converter.
  117. Digital to Analog Converter Mạch ADC 4 bit đơn giản R1 R Vref =-5V U1 4 5 741 D1 R2 2 - Vout R 6 D2 R3 3 + R D3 R4 7 R 1 d4 R5 R
  118. Digital to Analog Converter Các thơng sớ kỹ thuật Đợ phân giải (revolution): 8 bit vào bằng 256 mức điện áp ra, hay (1/256)*100 = 0.39%. Điện áp ra đầy thang (full-scale): với DAC 8 bit full- scale = 10V thì điện áp ra lớn nhất là 10V*(255/256)=9,961V Đợ chính xác (accuracy): full-scale =10V, đợ chính xác 2% thì sai sớ cực đại cho giá trị ra bất kỳ sẽ là: 10V*0.02=20mV. Đợ tuyến tính: là sai lệch giữa điểm ra thực tế và đường thẳng nới điểm tất cả bit vào bằng 0 và điểm có tất cả các bit vào bằng 1. Thời gian quá đợ: là thời gian kể từ khi đưa tín hiệu ngõ vào tới khi có tìn hiệu ra chỉ còn khác tín hiệu đúng ½ LSB
  119. Digital to Analog Converter
  120. Example – Step Ramp
  121. Digital to Analog Converter Đệm cơng suất ra Đổi dòng sang áp VCC U9A 3 LM339 Thiết bị 7 + 1 Q1 kiểm tra 6 NPN - D/A Q2 NPN 12 Vout R12 Vout R Cổng A/D Dòng ngõ ra D/A vào ra
  122. Analog to Digital Converter Loại song song +4V R1 10K 4 3 + 1 3V 2 - R2 11 10K D1 Vin 4 3 + 1 2V 2 - Encoding R3 11 Gates 10K D0 4 3 + 1 1V 2 - R4 11 10K
  123. Analog to Digital Converter Loại hai đợ dớc Integrator C1 1-Mhz Clock Comparator Analog C U1A Vin R1 8 U3A 3 4 TL022C 1 + 1 2 - 2 2 1 16 R - 3 + TL022C 74AC11008 4 8 U2A Vref SW Control MSB Binary or BCD counter Reset Latchs Control Decoder/Drivers Circuits Latch Display
  124. Analog to Digital Converter Loại xấp xỉ liên tiếp Clock IN +5V 10K 50pF 2.2K SC 11 Vin 4 + MC14549 EOC 5V Max 12 5 - U10 MSB LSB LM319 11 CLK 6 1 OC 18 19 17 D7 Q7 16 Data OUT 14 D6 Q6 15 13 D5 Q5 12 8 D4 Q4 9 10K 7 D3 Q3 6 4 D2 Q2 5 3 D1 Q1 2 D0 Q0 MSB LSB 74LS374 6 LM319 - 5 12 MC1408 + 4 11 -5V
  125. Ví dụ về ADC loại xấp xỉ liên tiếp
  126. Vin Range
  127. Timing
  128. Interfacing ADC
  129. Example
  130. Temperature Sensor
  131. Printer Connection
  132. Địa chỉ cho cởng LPT
  133. Printer’s Ports