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. 70  
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 đủ
pdf 33 trang yennguyen 19/04/2022 1360
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:

  • pdfbai_giang_thiet_ke_he_thong_nhung_chuong_2_cau_truc_phan_cun.pdf