1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

ĐIỆN tử VIỄN THÔNG chuong 4 2 ghep noi voi IO khotailieu

134 85 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 134
Dung lượng 3,02 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Giao tiếp cách ly dùng relay... Giao tiếp công suất bằng SSR – Solid State Relay... Sơ đồ cấu tạo Stepper Motor... Góc quay của động cơ bước - Stepper Motor... Các loại St

Trang 1

Ghép nối với vào ra

Input / Output

Peripheral Interfacing

Phạm Thế Duy

(ptduy@yahoo.com)

Trang 2

Các khái niệm chung

Trang 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

Trang 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.

Trang 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ỉ

Trang 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

Trang 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

Trang 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ớ.

Trang 9

Hai dạng của lệnh IN/OUT

Dạng 2

IN AL, DX Hoặc

OUT DX, AL

Trang 10

Cổng vào ra 8 và 16 bit

 Với 8088 :

OUT DX, AX ; AX = 76A9H

 Cấp địa chỉ và ALE

 Ghi byte thấp (A9), IOW

 Định thời ghi

 Cấp địa chỉ (649) và ALE

 Định thời ghi

 Với 8086 :

OUT DX, AX ; AX = 76A9H

 Cấp địa chỉ và ALE

 Ghi một từ (76A9), IOW

 Định thời ghi

Trang 11

Các cổng vào ra cơ bản

Trang 12

Thực hiện cổng ra đơn giản

 Sử dụng 8 đèn LED

Trang 13

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

: mov al,55h out dx, al :

: :

Trang 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)

Trang 15

Sử dụnng 74LS245 và bộ giải mã địa chỉ

: mov al, 55H mov dx, F000H out dx, al

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

74LS245

B0 B1 B2 B3 B4 B5 B6 B7

A0 A1 A2 A3 A4 A5 A6 A7

E DIR 5V

A 1 5

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A 9

A 8

A 7

A 6

A 5

A 4

A 3

A 2

A 1 A

0 IOW

Trang 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

Trang 17

Sử dụng 74LS373 và bộ giải mã địa chỉ

: mov al, 55 mov dx, F000 out dx, al :

A 1 5

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A 9

A 8

A 7

A 6

A 5

A 4

A 3

A 2

A 1

A

0 IOW

74LS373

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

D0 D1 D2 D3 D4 D5 D6 D7

OE LE

Trang 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 ?

Trang 19

Sử dụng 74LS245 và bộ giải mã địa chỉ

: mov dx, F000H

in al, dx :

A 1 5

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A 9

A 8

A 7

A 6

A 5

A 4

A 3

A 2

A 1

A0 A1 A2 A3 A4 A5 A6 A7

E DIR

Có thể sử dụng chung một địa chỉ cho một cổng vào và một cổng ra?

Trang 20

Điều khiển đọc phím nhấn

 Quét vòng – Polling

 Ngắt - Interrupt

Trang 21

Quét vòng

mov dx, F000

in al, dx L1: cmp al, FF

je L1 : :

A 1 5

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

74LS245

B0 B1 B2 B3 B4 B5 B6 B7

A0 A1 A2 A3 A4 A5 A6 A7

E DIR

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A 9

A 8

A 7

A 6

A 5

A 4

A 3

A 2

A 1

A

0 IOR

5V

Trang 22

Output Port Design

Q0

OC G

Trang 23

Input Port Design

T1 – T4 of IN AL, 5FH ?

D0

D7

Q0 74LS244

Q7

OC

Trang 24

Ví dụ về giao tiếp DIP - SW

Trang 25

Ví dụ về giao tiếp LED

Trang 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.

Trang 27

Giao tiếp cách ly dùng relay

Trang 28

Giao tiếp công suất bằng

SSR – Solid State Relay

Trang 29

Vào ra song song

lập trình 8255

Trang 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

Trang 31

8255 – Sơ đồ khối

Trang 32

8255 – Kết nôi với hệ thống

Trang 33

8255 – Kết nối với hệ thống

Trang 34

8255 PPI

Trang 35

8255 – Từ điều khiển lập

xoá bit cổng C

Trang 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

Trang 37

8255 – Từ điều khiển chế độ

Trang 38

8255 – Các chế độ làm việc

Trang 39

8255 – Định thời out chế độ 0

Trang 40

8255 – Định thời in chế độ 0

Trang 41

Example - Port addresses

Trang 42

Solution

Trang 43

Example – Programming 8255

Trang 44

Solution

Trang 45

8255 – Chế độ 1

Trang 46

8255 – Định thời đọc chế độ 1

Trang 47

Tác động tín hiệu đọc chế độ 1

Trang 48

8255 – Định thời ghi chế độ 1

Trang 49

Tác động tín hiệu ghi chế độ 1

Trang 50

8255 – Kết nối tín hiệu chế độ 1

OBFBSTBB

Trang 51

Chế độ 2 của 8255

Trang 52

MODE 2 Operation

Trang 53

Ngắt và Quét vòng Interrupt vs Polling

Trang 54

Kiểm tra trạng thái để quét vòng

Using status to Poll

Trang 55

Giải

Trang 56

Bản đồ vào ra của máy tính IBM PC IO MAP

Trang 57

Giải mã địa chỉ bằng 74138

Trang 58

Địa chỉ của 8255 trong máy tính.

Trang 59

Sử dụng các cổng của 8255 trong PC

MOV AL,99H OUT 63, AL

Trang 60

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

 Dữ liệu có thể truyền theo từng từ (word)

 Dung lượng nhớ 1MB sẽ là 512kB x 16-bits

 Dữ liệu truyền theo từ

 Dung lượng nhớ 16MB sẽ là 8MB x 16-bits

Trang 61

Dữ liệu 32 và 64 bit

 – Dữ liệu truyền theo 4 byte

 – Dung lượng nhớ 4GB là 1GB x 32-bits

 – Dữ liệu truyền theo 4 từ.

 – Dung lượng nhớ 4GB là 512MB x64-bits

Trang 62

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

Trang 63

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

Trang 64

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ớ:

Trang 65

Giao tiếp hai bộ nhớ 512KB với vi xử lý 8088 (review)

A18 A0 :

D7 D0 :

MEMR MEMW

00001 95

: 20020

20021 20022 20023

7FFFD 7FFFE 7FFFF

29 12 7D 13

19 25 36

:

:

:

A18 A0 :

D7 D0 :

RD WR CS

97 00000

00001 D4

: 20020

20021 20022 20023

7FFFD 7FFFE 7FFFF

A3 92 45 33

2C 98 12

:

:

:

A18 A0 :

D7 D0 :

RD WR CS

Trang 66

Giao tiếp hai bộ nhớ 512KB với vi xử lý 8086

A19 A1 :

D7 D0 :

MEMR MEMW

XXXX

BP

ES DS SS

CX BX AX

XXXX XXXX

XXXX 4000

0000 0023 3F1C

FCA1

SP

DX

XXXX CS

SI

XXXX

XXXX IP

XXXX DI

A0

23 00000

: 20020

20021 20022 20023

7FFFD 7FFFE 7FFFF

29 12 7D 13

19 25 36

:

:

:

A18 A0 :

D7 D0 :

RD WR CS

97 00000

: 20020

20021 20022 20023

7FFFD 7FFFE 7FFFF

A3 92 45 33

2C 98 12

:

:

:

A18 A0 :

RD WR CS

D15 D8 :

D7 D0 :

BHE#

How to connect data lines?

How to connect address lines?

What about chip select?

Trang 67

Giải mã chọn bank bộ nhớ

Trang 68

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.

Trang 69

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

• Hi/Lo copier chép dữ liệu từ D8-D15 tới D0-D7

• Hi/Lo copier chép dữ liệu từ D0-D7 tới D8-D15

Trang 70

Hi/Lo Copier trong PC

Trang 71

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

Trang 72

Linear Select Address Decoding

What is the address range and aliases?

Trang 73

Buffering Selected IO Address Range

Range of addresses?

Blocking others.

Trang 74

Lập trình vào ra với C và Basic

Trang 75

Ví dụ

Trang 76

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

Trang 77

Sơ đồ kết nối mạ̣ch

A 1 5

D7 D6

IOR IOW

A19

D5 D4 D3 D2 D1 D0

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A0 A1 A2 A3 A4 A5 A6 A7

E DIR

A 1 5

A 1 4

A 1 3

A 1 2

A 1 1

A 1 0

A

9 A 8 A 7 A 6 A 5 A 4 A 3 A 2 A 1 A 0 IOW

74LS373

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7

D0 D1 D2 D3 D4 D5 D6 D7

OE LE

Trang 78

Xem xét về hoạt động của chương trình

je L6 test al, 01 jnz L5

xor ah, 0FFh jmp L6

L5: test al, 80h

jz L7 L6: mov al, bl jmp L1

L7:

Trang 79

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

Trang 80

Vấn đề với chương trình quét vòng.

mov dx, F000 mov ah, 00 mov al, 01

L1: out dx, al

mov cx, FFFFh L2: dec cx

jnz L2 cmp ah, 00 jne L3

rol al, 1 cmp al, 01 jne L1

jmp L4 L3: ror al, 1

cmp al, 80h jne L1

L4: mov bl, al

in al, dx cmp al, FFh

je L6 test al, 01 jnz L5

xor ah, FFh jmp L6

L5: test al, 80h

jz L7 L6: mov al, bl jmp L1

L7:

Trang 81

Một số ứng dụng

vào ra song song

Trang 82

Bộ hiển thị LED 7 đoạn

d p

a

g

e b

g

d p d

a c f

d

a c

g f e

d p

b

e

a d

d p

b

g f c

d p

a

e b

g

c f

d

f

d p g

b e d c

a

c a

d p e b

g f d

Trang 83

Bộ hiển thị LED 7 đoạn

Trang 84

Đ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

Trang 85

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.

Trang 86

Kết nối bàn phím ma trận

D7

D0 Hình 5.40: Kết nối bàn phím dạng ma trận.

Trang 87

Kết nối bàn phím ma trận

1 1 1 0

0 1 1 1

Trang 88

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

Trang 89

Kết nối bàn phím ma trận

Trang 90

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

Trang 91

Mô tả chân các bộ LCD

Trang 92

Các mã lệnh lập trình cho LCD

Trang 93

Vi du sơ đồ kết nối với LCD

Trang 94

Ví dụ lập trình cho LCD

Trang 95

Lập trình gởi dữ liệu tới LCD

Trang 96

Các địa chỉ cho LCD

Trang 97

Định thời của LCD

Trang 98

Các lệnh của LCD

Trang 99

Độ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.

Trang 100

Sơ đồ cấu tạo Stepper Motor

Trang 101

Góc quay của động cơ bước

- Stepper Motor

Trang 102

Các thuật ngữ - Terminology

 Bước trên giây - Steps per second, RPM

 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

Trang 103

Các loại Stepper Motor

Trang 104

Variable Reluctance Motors

Trang 105

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ụ:

Trang 106

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:

Trang 107

Động cơ đơn cực

Unipolar Motors

Trang 109

Dạng sóng kích thích cơ bản

Basic Actuation Wave Forms

Trang 110

Động cơ đơn cực Unipolar Motors

thịch hai động cơ như sau:

 W1a - 1100110011001100110011001

 W1b - 0011001100110011001100110

 W2a - 0110011001100110011001100

 W2b - 1001100110011001100110011

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.

Trang 111

Dạng sóng tăng moment-Enhanced Waveforms

Trang 112

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

Trang 113

Mạ̣ch điều khiển động cơ

Motor Control Circuits

dụng loại Transistor Darlington Arrays họ ULN200x để cấp điện cho các cuộn dây

Trang 114

Kết nối giao tiếp với Stepper Motors

Trang 115

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.

Trang 116

Ví dụ

Trang 117

Giao tiếp tương tự

ADC -Analogue to Digiatal Converter.DAC – Digital to Analogue Converter

Trang 118

Digital to Analog Converter Mạch ADC 4 bit đơn giản

V r e f = - 5 V

+ -

R 2 R

R 3 R

R 4 R

R 5 R

Ngày đăng: 12/11/2019, 13:33

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w