Bài giảng Thiết kế hệ thống nhúng - Chương 2: Cấu trúc phần cứng hệ thống nhúng - Bài 5: Giao diện
CHƢƠNG 2: CẤU TRÚC PHẦN CỨNG
HỆ THỐNG NHÚNG
Bài 5: Giao diện
1
Tổng quan
• Khái niệm cơ bản
• Giao diện vi xử lý
– Địa chỉ I/O
– Ngắt
– Truy cập bộ nhớ trực tiếp (DMA)
• Bus phân cấp
• Thủ tục - Protocols
– Nối tiếp
– Song song
– Không dây
2
Giới thiệu
• Chức năng của một hệ thống nhúng
– Xử lý
• Biến đổi dữ liệu
• Thực hiện công việc dùng bọ xử lý
– Lƣu trữ
• Lƣu trữ dữ liệu
• Thực hiện dùng bộ nhớ
– Truyền thông
• Trao
• Hực hiện sử dụng bus
• Thƣờng đƣợc gọi là giao diện - interfacing
3
Một bus đơn giản
• Dây nối:
– Đơn hƣớng hay song hƣớng
– Một đƣờng truyền có thể có nhiều dây
nối
rd'/wr
enable
Memory
• Bus
addr[0-11]
data[0-7]
– Một nhóm dây nói có chức năng riêng
• Bus địa chỉ, bus dữ liệu
– Hoặc, việc tập hợp các dây nối
bus
• Địa c
bus structure
• Thủ tục (protocol): quy tắc cho việc trao
đổi thông tin
4
Cổng
rd'/wr
Processor
Memory
enable
addr[0-11]
data[0-7]
Cổng
• Cổng dùng đấu nối thiết bị ngoạivi
• Kết nối bus tới bộ xử lý và bộ nhớ
• Thƣờng đƣợc gọi là “chân” (pin)
– Là chân thực tế của IC cắm vào đế cắm trên mạch in
– Đôi khi ii
– Ngày nay, các “pads” kim loại kết nối bộ xử lý và bộ nhớ trong một IC
• Cổng gồm một đƣờng hoặc nhiêu đƣờng với chức năng riêng
– VD: cổng địa chỉ 12-đƣờng
5
Giản đồ thời gian
• Phƣơng pháp thông thƣờng nhất để mô tả một
rd'/wr
enable
addr
thủ tục truyền thông trên cổng (hoặc bus)
• Thời gian biểu thị trên trục x theo chiều sang
bên phải
• Tín hiệu điều khiển: thấp hoặc cao
– Có thể tích cực thấp
data
– Sử dụng th
deassert
read protocol
• Tín hiệu dữ liệu: not valid hoặc valid
• Thủ tục đôi khi có các thủ tục con
– Chu kỳ bus, VD đọc và ghi
– Mỗi thao tác có thể gồm nhiều chu kỳ
đồng hồ
• Ví dụ quá trình
rd'/wr
enable
addr
– rd’/wr ở mức thấp, địa chỉ đặt lên trên
addr trong khoảng thời gian tsetup trƣớc khi
chân enable đƣợc tác động, cho phép bộ
nhớ đặt dữ liệu trên chân data trong
khoảng thời gian tread
data
tsetup
twrite
write protocol
6
Khái niệm cơ bản về thủ tục
• Kiểu tác động: master khởi đầu, slave đáp ứng
• Hƣớng truyền: phía gửi, phía nhận
• Địa chỉ: kiểu dữ liệu đặc biệt
– Quy định một vị trí trên bộ nhớ, một ngoại vi, hoặc một thanh ghi trên ngoại vi
• Ghép thời gian
– Chia sẻ một bộ kênh truyền cho nhiều dữ liệu khác nhau
– Tiết kiệm dây truyền, nhƣng tốn thời gian
Time-multiplexed data transfer
Master
Servant
Master
Servant
req
req
data(15:0)
data(15:0)
addr
data
mux
addr
demux
data
mux
demux
data(8)
addr/data
req
data
req
addr/data
7:0
addr
data
15:8
data serializing
address/data muxing
7
Khái niệm thủ tục đơn giản: các phƣơng pháp điều
khiển
Chủ
Tớ
Chủ
req
ack
data
Tớ
req
data
ack
req
1
2
4
data
2
4
data
taccess
1. Chủ phát req để nhận dữ liệu
1. Chủ phát req để nhận dữ liệu
2. Tớ đƣa dữ liệu lên trong khoảng taccess
3. Chủ nhận
4. Tớ sẵn sàng cho chu kỳ kế tiếp
2. Tớ đƣa dữ liệu lên bus và gửi tín hiệu ack
4. Tớ sẵn sàng cho chu kỳ kế tiếp
Thủ tục “Strobe”
Thủ tục “Handshake”
8
Thủ tục strobe/handshake có thỏa hiệp
Chủ
Tớ
req
wait
data
req
wait
data
data
2
4
5
taccess
taccess
1. Chủ phát req để nhận dữ liệu
1. Chủ phát req để nhận dữ liệu
2. Tớ không đặt data taccess, đợi wait
2. Tớ đƣa dữ liệu lên bus trong khoảng taccess
(đƣờng wait không đƣợc sử dụng)
3. Chủ nhận dữ liệu và kết thúc req
4. Tớ sẵn sàng
3. Tớ đặt dữ liệu trên bus và ngắt wait
4. Chủ nhận dữ liệu và kết thúc req
Trường hợp đáp ứng nhanh
Trường hợp đáp ứng chậm
9
Thủ tục bus ISA bus – truy cập bộ nhớ
Microprocessor
Memory
I/O Device
• ISA: Kiến trúc công
nghiệp tiêu chuẩn
ISA bus
memory-read bus cycle
C2 WAIT
CYCLE
C1
C3
– Sử dụng cho các họ
80x86’s
C4
CLOCK
DATA
ALE
S
• Đặc điểm
/MEMR
CHRDY
– Đƣờng địa chỉ 20-bit
memory-write bus cycle
– Điều khiển
CYCLE
C1
C4
C2
WAIT
C3
strobe/handshake thỏa
hiệp
ATA
A[19-0]
ALE
ADDRESS
• Mặc định 4 chu kỳ máy
/MEMW
CHRDY
10
Giao tiếp vi xử lý: Địa chỉ I/O
• Một bộ vi xử lý giao tiếp với các thiết bị khác qua
chân của nó
– I/O dựa trên cổng (I/O song song)
• Bộ xử lý có một hoặc nhiều cổng N-bit
• Chƣơng trình của bộ xử lý đọc và ghi một cổng nhƣ đối với một
thanh ghi
• VD: P0 = 0xFF; v = P1.2; P0 và P1 là cổng 8-bit
– I/O dựa trên bus
• Bộ xột bus đơn
• Thủ tục truyền thông đƣợc xây dựng bên trong bộ xử lý
• Một lệnh sẽ thực hiện việc ghi hay đọc trên bus
11
Thỏa hiệp/mở rộng
Processor
Memory
• Ngoại vi I/O song song
System bus
– Khi bộ xử lý chỉ có I/O dựa trên bus nhƣng
chúng ta muốn I/O song song
Parallel I/O peripheral
– Mỗi cổng trên ngoại vi kết nối với một thanh ghi
trong ngoại vi đƣợc read/written bởi bộ xử lý
Port A Port B Port C
Adding parallel I/O to a bus-
based I/O processor
• I/O song song mở rộng
– Khi bộ xử lý chỉ có I/O dựa trên cổng nhƣng
chúng ta cần nhiều cổng hơn
Processor
Port 0
Port 1
Port 2
Port 3
– Một hoặc nhiểu cổng của bộ xử lý giao tiếp với
ngoại vi I/
I/O
Parallel I/O peripheral
Port A Port B Port C
Extended parallel I/O
– VD: mở rộng 4 cổng thành 6 cổng nhƣ hình bên
12
Các kiểu I/O dựa trên bus:
I/O bản đồ nhớ và I/O tiêu chuẩn
• Bộ xử lý trao đổi với cả bộ nhớ và ngoại vi sử dụng chung bus –
có hai cách để trao đổi với ngoại vi
– I/O bản đồ nhớ
• Thanh ghi của ngoại vi chiếm địa chỉ trong cùng không gian địa chỉ của bộ nhớ
• VD: B
– Địa chỉ 32k vùng thấp dùng cho bộ nhớ
– Địa chỉ 32k vùng cao dùng cho ngoại vi
– I/O tiêu chuẩn (I/O-mapped I/O)
• Các chân bổ sung (M/IO) trên bus biểu thị bộ nhớ hoặc ngoại vi đƣợc truy cập
• VD: Bus có địa chỉ 16-bit
– Tất cả 64K địa chỉ dùng cho bộ nhớ khi chân M/IO ở mức 0
– Tất cả 64K địa chỉ dùng cho ngoại vi khi chân M/IO ở mức 1
13
So sánh I/O bản đồ nhớ và I/O tiêu chuẩn
• I/O bản đồ nhớ
– Không yêu cầu lệnh đặc biệt
• Lệnh assembly có các lệnh nhƣ MOV và ADD cngx cho phép làm
việc với ngoại vi
• I/O tT) để di
chuyển dữ liệu giữa thanh ghi của ngoại vi và bộ nhớ
• I/O tiêu chuẩn
– Không mất địa chỉ nhớ cho ngoại vi
– Bộ giải mã địa chỉ đơn giản hơn
• Khi ác bit địa chỉ
vùng cao có thể bỏ trống
– Bộ so sánh nhỏ hơn và/hoặc nhanh hơn
14
Bus ISA
• ISA cung cấp I/O tiêu chuẩn
– /IOR khác với /MEMR để cho
phép đọc từ thiết bị ngoại vi
• /IOW
ISA I/O bus read protocol
CYCLE
D[7-0]
A[15-0]
ALE
C1
C2
WAIT
C3
DATA
– Không gian địa chỉ 16-bit cho
I/O vs. không gian địa chỉ 20-
bit cho bộ nhớ
ADDRESS
/IOR
CHRDY
– Ngoài ra nó tƣơng tự với thủ
tục truy cập bộ nhớ
15
Một thủ tục truy cập bộ nhớ đơn giản
D<0...7>
Adr. 7..0
Adr. 15…8
Adr. 7…0
P0
P2
Data
P0
D
Q
A<0...15>
/OE
/CS
ALE
G
/WE
Q
74373
CS2 /CS1
HM6264
8
P2
/WR
ALE
/RD
/CS
D<0...7>
/RD
A<0...14>
/OE
27C256
8051
• Giao tiếp 8051 với bộ nhớ ngoài
– Cổng P0 và P2 hỗ trợ I/O dựa trên cổng khi bộ nhớ trong của 8051 đƣợc
sử dụng
– Các cổng ngoài đƣợc sử
dụng
– Địa chỉ 16-bit và dữ liệu 8-bit đƣợc ghép theo thời gian; 8-bits thấp của
địa chỉ phải đƣợc chốt nhờ tín hiệu ALE
16
Giao tiếp vi xử lý: ngắt
• Giả sử một thiết bị ngoại vi yêu cầu đƣợc thu nhận dữ
liệu lập tức bởi bộ xử lý
– Bộ xử lý có thể kiểm tra liên tục ngoại vi xem dữ liệu đã đến
hay chƣa – rất kém hiệu quả
– Ngoại vi có thể ngắt bộ xử lý khi nó có dữ liệu
• Yêu cầu phải có thêm chân: Int
– Nếu Int là 1, bộ xử lý dừng chƣơng trình đang thực hiện,
nhảy tới một Interrupt Service Routine, hoặc ISR
– Đƣợc biết nhƣ đầu vào điều khiển ngắt I/O
17
Giao tiếp vi xử lý: ngắt
• Địa chỉ của ISR (interrupt address vector) là gì?
– Ngắt cố định
• Địa chỉ ngắt đƣợc thiết lập sẵn trong bộ xử lý, không thể thay đổi
– Ngắt vector
• Ngo
• Thƣờng sử dụng khi bộ xử lý có nhiều ngoại vi kết nối chung một
bus
– Phối hợp: bảng địa chỉ ngắt
18
Truyền thông song song
• Nhiều chân dữ liệu, điều khiển, và có thể cả công suất
– Mỗi dây một bit
• Tốc độ dữ liệu cao, cự ly truyền dẫn ngắn
• Thƣờng sử dụng khi kết nối các thiết bị trên cùng IC hoặc trên
cùng bo mạch
– Bus phải đủ ngắn
• Dây dài dẫn đến điện dung ký sinh cao
• Nhiễu xuyên kênh tăng khi dây dài
• Giá cao hơn
19
Truyền thông nối tiếp
• Dây dữ liệu đơn, có thể bao gồm dây điều khiển và công suất
• Từ đƣợc truyền đi từng bít một
• Truyền dữ liệu tốt hơn với cự ly dài
– Điện dung ký sinh ít
• Rẻ hơn
• Thủ tục truyền thông và giao tiếp linh hoạt hơn
– Phía gửi phải tách từ thành các bit
– Phía thu làm ngƣợc lại
– Tín hiệu liệu làm cho thủ
tục truyền phức tạp hơn
20
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Thiết kế hệ thống nhúng - Chương 2: Cấu trúc phần cứng hệ thống nhúng - Bài 5: Giao diện", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
- bai_giang_thiet_ke_he_thong_nhung_chuong_2_cau_truc_phan_cun.pdf