Tải bản đầy đủ (.doc) (76 trang)

Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chíp FT232BM

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (780.62 KB, 76 trang )

Trang: /69
Phạm Đức Hạnh
MỤC LỤC
LỜI NÓI ĐẦU....................................................................................................
4
CHƯƠNG 1
TỔNG QUAN CÁC GIAO DIỆN TRONG MÁY TÍNH
.............................................................................................................................
5
1.1. GIAO DIỆN TỐC ĐỘ THẤP...................................................................
5
1.1.1. Cổng giao tiếp song song
.........................................................................................................
6
1.1.2. Cổng giao tiếp nối tiếp
.........................................................................................................
6
1.1.3. Giao tiếp theo chuẩn ISA
.........................................................................................................
6
1.1.4. Giao tiếp theo chuẩn EISA
.........................................................................................................
7
1.2. GIAO DIỆN TỐC ĐỘ CAO.....................................................................
8
1.2.1. Giao diện PCI
.........................................................................................................
8
1.2.2. Giao diện AGP
.........................................................................................................
11


1.2.3. Giao diện USB
1
Trang: /69
Phạm Đức Hạnh
.........................................................................................................
12
CHƯƠNG 2
NGHIÊN CỨU GIAO DIỆN PCI 32 BÍT/33MHZ
.............................................................................................................................
15
2.1. MÔ TẢ CHÂN TÍN HIỆU TRÊN SLOT PCI.............................................
15
2.2 CÁC LỆNH BUS..........................................................................................
19
2.3. GIAO THỨC CƠ BẢN CỦA BUS PCI.......................................................
20
2.4. ĐỊNH ĐỊA CHỈ TRÊN BUS PCI.................................................................
20
2.5. TỔ CHỨC KHÔNG GIAN CẤU HÌNH BUS PCI......................................
21
2.5.1. Thanh ghi lệnh.
.............................................................................................................................
22
2.5.2. Thanh ghi trạng thái.
.............................................................................................................................
23
2.6. CÁC THAO TÁC CƠ BẢN TRÊN BUS PCI.............................................
25
2.6.1. Chu kỳ đọc dữ liệu với bus PCI 32 bít.
.............................................................................................................................

26
2.6.2. Chu kỳ ghi dữ liệu với bus PCI 32 bít.
2
Trang: /69
Phạm Đức Hạnh
.............................................................................................................................
28
2.6.3. Các thao tác trên bus PCI 66 Mhz.
.............................................................................................................................
28
2.7. SỰ KẾT THÚC QUÁ TRÌNH TRAO ĐỔI DỮ LIỆU...............................
30
2.7.1. Đối tượng điều khiển bắt đầu sự kết thúc quá trình giao dịch.
.............................................................................................................................
30
2.7.2. Đối tượng bị điều khiển bắt đầu sự kết thúc quá trình giao dịch.
.............................................................................................................................
31
2.7.3. Ngưng kết nối không cần sự kết thúc nhịp dữ liệu.
.............................................................................................................................
32
2.7.4. Sự giao dịch bị bãi bỏ bởi đối tượng bị điều khiển.
.............................................................................................................................
34
2.7.5. Sự giao dịch trễ.
.............................................................................................................................
35
2.8. ĐỒ HÌNH TRẠNG THÁI BUS PCI............................................................
35.........................................................................................................................
2.9. MODULE GIAO TIẾP BUS PCI 32 BÍT/33 MHZ.....................................

37
CHƯƠNG 3
GIAO DIỆN USB VÀ THIẾT KẾ THIẾT BỊ SỬ DỤNG GIAO
DIỆN USB..........................................................................................................
40
3
Trang: /69
Phạm Đức Hạnh
3.1. GIAO DIỆN USB.........................................................................................
40
3.1.1. Bộ kết nối USB.
.............................................................................................................................
40
3.1.2. Đắc tính điện của cổng USB.
.............................................................................................................................
41
3.1.3. Dòng trì hoãn.
.............................................................................................................................
41
3.1.4. Giao thức truyền USB.
.............................................................................................................................
42
3.1.5. Cấu trúc gói USB.
.............................................................................................................................
42
3.1.6. Các kiểu gói USB.
.............................................................................................................................
43
3.1.7 Các kiểu truyền USB.
.............................................................................................................................

44
3.1.8 Điều khiển dữ liệu.
.............................................................................................................................
44
3.1.9 Hệ thống USB 2.0.
.............................................................................................................................
46
3.2. CẤU TRÚC PHẦN CỨNG..........................................................................
47
4
Trang: /69
Phạm Đức Hạnh
3.3. NHỮNG ƯU ĐIỂM NỔI BẬT....................................................................
47
3.4. SƠ ĐỒ KHỐI...............................................................................................
50
3.5. CHỨC NĂNG CỦA TÍN HIỆU...................................................................
54
3.6. VÍ DỤ VỀ KẾT CẤU CỦA IC....................................................................
56
3.6.1 Kết cấu bộ tạo dao động
.............................................................................................................................
56
3.6.2 Cấu hình EEPROM
57
3.6.3 Kết cấu nguồn Bus USB
58
3.6.4 Kết cấu tự cấp nguồn USB
60
3.6.5 Kết cấu tự cấp nguồn (2)

61
3.6.6 Kết cấu giao diện UART
63
3.6.7 Kết cấu bộ chuyển đổi USB -> RS422
63
3.6.8 Kết cấu bộ chuyển đổi USB -> RS485
64
3.6.9 Kết cấu giao diện LED
64
5
Trang: /69
Phạm Đức Hạnh
3.6.10 Mạch tạo nguồn cho Bus với mức lôgic 3.3v/nguồn nuôi
65
3.6.11 Mạch cấp nguồn (≤100mA) với nguồn điều khiển
66
KẾT LUẬN........................................................................................................
68
TÀI LIỆU THAM KHẢO................................................................................
69
LỜI NÓI ĐẦU
Nếu tính từ thời điểm chính thức đưa ra thị trường, cổng parallel và
serial đã gắn bó với thiết bị ngoại vi gần hai thập niên. Ngoại trừ lần đưa ra
tính năng Plug-and-Play trong hệ điều hành Windowws 95, công nghệ I/O trên
PC không có thay đổi lớn nào so với mẫu thiết kế ban đầu năm 1981. Cho đến
nay, băng thông của giao tiếp parallel và serial đủ so với nhu cầu của thiết bị
6
Trang: /69
Phạm Đức Hạnh
ngoại vi nhưng đành phải lùi bước trước một số ứng dụng bởi một số lý do,

như thông lượng, tính dễ dụng, tài nguyên phần cứng, giới hạn số lượng cổng.
Trong những năm gần đây, công nghệ I/O là một trong nhiều lĩnh vực
thuộc PC có sự đột phá. Trong đó phải kể đến USB và FireWire, hai chuẩn dữ
liệu nối tiếp nâng khái niệm Plug-and-Plug lên tầm cao mới và giúp đơn giản
hoá việc kết nối dữ liệu giữa máy tính với nhiều thiết bị ngoại vi, phổ biến là
máy quay phim số (digital camcoder).
Được phát triển bởi liên minh gồm Compaq, Digital, IBM, Intel,
Microsoft, NEC và Northern Telecom, chuẩn Universal Seria Bus (USB) sử
dụng dạng đầu nối nhỏ, phù hợp với tất cả thiết bị I/O thông dụng nhằm giảm
bớt số lượng cổng và đầu nối.
Chính những đặc điểm nổi bật đó, tôi đã chọn đề tài:”Tổng quan giao
diện máy tính - Thiết kế giao diện USB sử dụng chíp FT232BM”. Nhằm
nghiên cứu một giao diện thống nhất cho nhiều loại thiết bị ngoại vi có thể sử
dụng chung một cổng.
Được sự giúp đỡ tận tình của thầy giáo PGS.TS Đỗ Xuân Tiến và thầy
giáo Th.S Lê Trọng Cự tôi đã hoàn thành đồ án này.
Trong khi tìm hiểu ngắn cộng với trình độ có hạn nên chắc còn nhiều
hạn chế, tôi mong nhận được sự góp ý nhằm hoàn thiện tốt hơn.
Phạm Đức Hạnh
CHƯƠNG 1
TỔNG QUAN CÁC GIAO DIỆN TRONG MÁY TÍNH
1.1 GIAO DIỆN TỐC ĐỘ THẤP:
Sơ đồ ghép nối các thành phần chính trong máy tính được mô tả trên
hình vẽ 1.1.
7
CPU
2X
A
G
P

Monitor
Memory
Controller
Hub
(MCH)
DRAM
Local
Video
Memory
Hub Interface
INTR
PCI Slots
(32bit,33MHz)
I/O
Controller
Hub
(ICH)
LPC
Super
IO
Com 1
Com 2
USB
Controller
8259
Interrrupt
Controller
ISA Bridge
(Optional)
USB

Ports
INTR
ISA Slots
PCI Bus
Firmware
Hub
IDE
Hard drive CD-ROM
AC’97 Link
Modem
Codec
Audio
Codec
Hình 1.1 Sơ đồ ghép nối trong máy tính IBM PC
IRQs
Trang: /69
Phạm Đức Hạnh

1.1.1 Cổng giao tiếp song song:
Cổng song song là cổng thông dụng nhất cho các ứng dụng văn phòng.
Nó có 4 đường tín hiệu điều khiển (tín hiệu ra), 5 đường tín hiệu trạng thái
(tín hiệu ra) và 8 đường tín hiệu dữ liệu đều tương thích mức TTL, tương
thích với 3 nhóm đường tín hiệu trên là 3 thanh ghi: thanh ghi điều khiển,
thanh ghi trạng thái và thanh ghi dữ liệu. Đia chỉ cơ sở của cổng song song là
8
Trang: /69
Phạm Đức Hạnh
378H. Thanh ghi dữ liệu có địa chỉ 378H, thanh ghi trạng thái có địa chỉ 379H
và thanh ghi điều khiển có địa chỉ 37AH.
1.1.2 Cổng giao tiếp nối tiếp:

Cổng nối tiếp được dùng ít hơn cổng song song . Trong hầu hết các
trường hợp , bất kì thiết bị nào nối vào cổng nói tiếp cũng cần phải chuyển
dữ liệu nối tiếp thành song song thì mới dùng được và có thể dùng UART
để thực hiện việc này. Vì thế cần phải có nhiều thanh ghi điều khiển hơn
kiểu truyền song song. Tuy nhiên, truyền nối tiếp có ưu điểm mà truyền
song song không có như:
• Cáp truyền nối tiếp dài hơn cáp truyền song song. Vì cổng nối
tiếp truyền mức ‘1’ với điện áp từ –3V đến mức –25V và mức
‘0’ với điện áp từ 3V đến 25V trong khi cổng truyền song song
truyền với mức TTL;
• Cáp truyền không cần nhiều sợi như cáp truyền song song;
• Khả năng chống nhiễu cao.
1.1.3 Giao tiếp theo chuẩn ISA:
Chuẩn ISA là giao diện phổ biến nhất trong thế giới của máy vi tính.
Chuẩn ISA nguyên bản truyền 8 bít dữ liệu và chay với tần số4.77MHz
(tương ứng với bộ xử lý 8 bít 8088).
Năm 1984 thế hệ máy tính IBM AT ra đời dùng bộ vi xử lý 16 bít
80286 do đó bus ISA cũng được mở rộng thành bus 16 bít bàng cách ghép
thêm một rãnh phụ nằm thẳng hàng với 8 bít cũ. Trên bus ISA có tập hợp các
đường địa chỉ, dữ liệu và điều khiển cho phép thiết kế Card giao tiếp 8/16 bít
có địa chỉ 300H đến 31FH cắm trên rãnh này. Sau này mặc dù các bộ vi xử lý
có tốc độ cao hơn, kênh dữ liệu lớn hơn nhưng chuẩn ISA còn tồn tại để
tương thích với những thiết bị ngoại vi cũ nối với máy tính qua giao diện ISA.
9
Trang: /69
Phạm Đức Hạnh
Ngày nay rãnh cắm ISA không còn phù hợp và hầu như không xuất hiện trên
bảng mạch chủ của máy tính thế hệ mới và thiết bị ngoại vi nói chung thường
sử dụng giao diện tốc độ cao USB hoặc PCI.
1.1.4 Giao tiếp theo chuẩn EISA:

Chuẩn EISA là sự mở rộng của chuẩn ISA, hoàn toàn tương thích với
chuẩn ISA (Card thiết kế theo chuẩn ISA chạy được trên rãnh cắm EISA).
Chuẩn EISA có tính năng tiên tiến hơn như:
- Độ rộng kênh dữ liệu 32 bít;
- Card thiết kế theo chuẩn EISA có hiệu quả làm việc cao.
- Tự đông cài đặt cấu hình cho Card tương tự như chuẩn Plug and Play.
Tuy nhiên chuẩn EISA không phải là thông dụng vì thiết bị theo
chuẩn này có giá thành đắt hơn và đặc biệt tốc độ (8MHz) của chuẩn
EISA chậm hơn nhiều so với các chuẩn giao tiếp bus cục bộ sau này được
nhiều người ưu chuộng.
Ngoài ra còn một số chuẩn giao diện nữa như: MCA (Micro Channel
Architecture bus) do IBM phát triển với sự bố trí chân và các đặc tính tín hiệu
hoàn toàn khác với ISA, EISA nhừm làm việc với các bộ xử lý 80386. Một số
đặc tính có thể kể đến là: các đường dữ liệu và địa chỉ 32 bít có thể chuyển dữ
liệu với card mở rộng dạng 8/16/32 bít. Các chuyển mạch DIP và chân cắm
được thay thế bằng cách sử dụng các thanh ghi điều khiển bằng phần mềm để
thiết lập cấu hình cho các card mở rộng. trên lý thuyết MCA có thể làm việc
với tần số 30MHz, các chân tín hiệu được xen với các chân đất và chân nguồn
làm giảm nhiễu xuyên âm, tổn hao, có mạch phân phối bus cho phép tổ chức
thiết bị chủ đa bus…tuy vậy sự độc quyền của IBM trong việc sử dụng MCA
đối với các hãng sản xuất thiết bị chuẩn này không được sử dụng rộng rãi.
10
Trang: /69
Phạm Đức Hạnh
Song song với sự ra đời các bộ vi xử lý 32 bít hoạt động với tốc độ cao,
các phần mềm đồ họa ra đời đã dẫn tới việc CPU phải xử lý và truyền đi một
lượng dữ liệu đồ họa lớn qua video card đến màn hình. Điều này làm cho các
bus nêu trên trở thành nguyên nhân gây cản trở, làm chậm tốc độ hệ thống vì
chúng làm việc với tốc độ thấp, băng thông hẹp. Những yêucầu thực tế đó đã
thúc đẩy các phát triển chuyển sang sử dụng bus cục bộ. Mục đích xây dựng

bus cục bộ là nhằm truy cập bus hệ thống với tốc độ xấp xỉ tốc độ bộ vi xử lý,
cải thiện băng thông, nâng cao độ tin cậy và giảm giá thành nhờ chuẩn hóa.
1.2 GIAO DIỆN TỐC ĐỘ CAO:
1.2.1 Giao diện PCI:
Bus cục bộ PCI ra đời với mục đích đầu tiên là thiết lập một chuẩn giao
tiếp công trong nghiệp có hiệu suất cao, mức tiêu thụ năng lượng thấp. Ngày
nay, chuẩn PCI tạo ra bộ mặt mới trong lĩnh vực nối ghép máy tính với thiết
bị ngoại vi và quan trọng là nó là chuâẩn giao diện mới đáp ứng những nhu
cầu của những hệ thống đa nền tảng và đa cấu trúc. Hình 1.2 cho ta các kích
thước có thể của bus cục bộ PCI.
Thành phần PCI và các Card giao tiếp được xử lý hoàn toàn độc lập với
nhau, cho phép một quá trình trao đổi dữ liệu cố định và có thể sử dụng với
11
Server
High End
Desktops
Low Mid-
Range
Desktops
Mobile
Auto 64-bit Upgrade
Configuration Path
PCI 33
PCI 66
PCI-X 66
PCI-X 133
PCI-X 266
PCI-X 533
PCI Express
Hình 1.2 Ứng dụng của bus cục bộ PCI

Trang: /69
Phạm Đức Hạnh
cấu trúc đa xử lý. Xử lý độc lập cho phép bú cục bộ PCI tối ưu hóa với các
chức năng vào/ra, các hệ thống nhớ, các thiết bị ngoại vi có hiệu suất cao như
hình ảnh động, LAN, SCSI, FDDI, ổ cứng…nâng cao hình ảnh và hiển thị đa
phương tiện (đồ họa 3 chiều). Phần đuôi mở rộng của bus địa chỉ và dữ liệu
32 bít được làm tăng gấp đôi độ rộng băng thông có tác động hồi tiếp và
chuyển tiếp phù hợp với những thiết bị ngoại vi theo chuẩn PCI.
Chuẩn của bus cục bộ PCI có tác dụng bảo vệ đối với những ứng
dụng của PCI cơ bản. Thanh ghi cấu hình được dụng riêng cho các thành
phần điều khiển PCI và card bổ sung. Một hệ thống phần mềm cấu hình tự
động rất dễ cho sử dụng bởi việc định cấu hình tự động được thực hiện tại
thời điểm khởi động hệ thống.
Các đặc tính của bus cục bộ PCI là:
• Tốc độ 33MHz (phiên bản đầu);
• Đường dữ liệu 32 bít và 64 bít mở rộng;
• Hỗ trợ truyền dữ liệu dạng khối;
• Hỗ trợ việc làm chủ bus, cho phép thực hiện đa xử lý mà bất kì
bộ xử lý nào cũng có thể trở thành thiết bị chủ và nắm quyền
điều khiển bus;
• Có tính tương thích với các chuẩn cũ ISA, EISA…do sử
dụng cầu nối bus (PCI-to-PCI Bridge). Bus PCI độc lập với bộ
vi xử lý, nó là bus tầng dưới, không trực tiếp nối vào bus hệ
thống, giữa bộ vi xử lý và bus PCI là thiết bị điều khiển PCI-
một vi mạch có nhiệm vụ đồng bộ các tín hiệu hệ thống và tín
hiệu bus, làm cho chúng hiểu nhau;
• Hỗ trợ card mở rộng 3.3V hoặc 5V, cho phép chuyển dễ dàng từ
hệ thống 5V sang 3.3V bằng việc sử dụng các lẫy điện áp;
12
Trang: /69

Phạm Đức Hạnh
• Cung cấp khả năng tạo cấu hình tự động, người dùng không cần
đặt lại chuyển mạch DIP hoặc chân cắm và lựa chọn ngắt, phần
mềm đặt cấu hình sẽ tự động chọn các địa chỉ và các ngắt chưa sử
dụng để tránh xung đột;
• Trên slot PCI giữa hai chân tín hiệu thường có chân Vcc hoặc
Gnd để ghim nhiễu xuyên âm và bức xạ vô tuyến;
• Thực hiện các ngắt mức khởi phát và hỗ trợ việc chia sẻ ngắt.
Hình 1.3 cho thấy bộ vi xử lý, cache, bộ nhớ được nối tới bus PCI
qua một cầu PCI, nó cho phép bộ vi xử lý truy cập trực tiếp tới các thiết
bị truyền theo chuẩn PCI khác như bộ nhớ, không gian địa chỉ vào/ra.
Đồng thời cầu PCI tạo ra đường truyền băng thông rộng và có nhiều tính
13
Processor
Bridge
Memory
Controller
Cache
Dram
PCI local bus #0
Audio
Motion
Video
Graphics
PCI-to-PCI
Bridge
Other I/O
Functions
PCI local bus #1
SCSILAN

Hình 1.3: Sơ đồ khối hệ thống PCI
Trang: /69
Phạm Đức Hạnh
năng khác nhau. Bus PCI cho phép ghép thêm 4 card trên các Slot PCI
để kết nối tới thiết bị ngoại vi.
1.2.2 Giao diện AGP:
Cổng tăng tốc độ đồ họa là cổng tốc độ cao cho phép hiển thị đồ họa 3
chiều. Nó được dành riêng cho card kết nối thiết bị hiển thị. Giao diện AGP
dưa trên tập hợp các thao tác mở rộng và cải tiến của bus PCI.
Nói chung biến đổi 3 chiều đòi hỏi rất lớn về dung lượng và dải thông
bộ nhớ, khi phần mềm và phần cứng trở nên càng phức tạp thì yêu cầu này
càng tăng nhanh, hai đòi hỏi này sẽ làm tăng chi phí sản xuất. Việc khống chế
giá thành mà vẫn cải thiện được tính năng là mục đích ra đời của AGP. Bằng
cách cải tiến độ lớn băng thông giữa bộ tăng tốc đồ họa và bộ nhớ hệ thống
một số cấu trúc dữ liệu biến đổi 3 chiều có thể chuyển vào bộ nhớ trung tâm
một cách hữu hiệu và giảm áp lực về chi phí bộ nhớ đồ họa cục bộ.
Dữ liệu đồ họa (Texture) là cấu trúc đầu tiên được dịch chuyển vào bộ
nhớ hệ thống vì 4 lý do sau:
+ Texture chỉ để đọc và vì vậy nó không cần có việc định thứ tự truy
cập đặc biệt và các vấn đề kèm theo;
+ Dịch chuyển Texture cân bằng tải băng thông giữa bộ nhớ hệ thống
và bộ nhớ đồ họa cục bộ, vì bộ nhớ Cache có đòi hỏi về băng thông bộ nhớ
thấp hơn nhiều so với bộ biến đổi 3 chiều.
+ Dung lượng Texture phụ thuộc vào chất lượng ứng dụng chứ không
phụ thuộc vào độ phân giải hiển thị và bởi vậy nó là đối tượng chịu áp lực lớn
nhất khi tăng và cải thiện chất lượng.
+ Dữ liệu đồ họa không tồn tại lâu dài, nó thường trú trong bộ nhớ chỉ
khi chạy ứng dụng. Bởi vậy phần bộ nhớ để lưu nó được trả về heap bộ nhớ
trống khi kết thúc ứng dụng. Việc giảm chi phí bằng cách chuyển dữ liệu đồ
14

Trang: /69
Phạm Đức Hạnh
họa vào bộ nhớ trung tâm là mục đích chính của AGP, nó được thiết kế để
cho tạo quá trình chuyển đổi trơn cho những nhà cung cấp đồ họa dựa trên
chuẩn PCI để phát triển các thiết bị có chức năng cao hơn trong tương lai.
AGP không thay thế và không hủy bỏ chuẩn PCI trong hệ thống. Cổng
tốc độ cao AGP độc lập với bus PCI về mặt vật lý, lôgic và điện. Nó là điểm
kết nối bổ xung trong hệ thống như hình trên. Nó dành riêng cho việc sử dụng
các thiết bị hiển thị, tất cả các thiết bị vào/ra khác sẽ vẫn ở trên bus PCI. Khe
cắm dành cho AGP sử dụng đầu nối mới không tương thích với đầu nối PCI,
bảng mạch PCI và AGP không thể hoán đổi cho nhau được. Đặc tính AGP
được phát triển bởi hãng Intel, độc lập với PCI của Special Interst Group.
Giao diện AGP sử dụng PCI 66Mhz như là thao tác cơ bản với mục
đích tối ưu hóa các ứng dụng đồ họa 3 chiều tốc độ cao bằng cách:
- Can thiệp sâu vào không gian nhớ;
- Phân kênh địa chỉ và dữ liệu trên bus vì thế bus đạt hiệu suất gần 100%.
- Với điện áp cung cấp 3.3V cho phép truyền dữ liệu một hoặc hai lần
trong một nhịp xung clock 66MHz. Vì thế tốc độ truyền có thể đến
1GBps.
1.2.3 Giao diện USB:
15
Processor
Chipset
Gfx
Accel
Sys
Mem
LFB
I/O I/O I/O
AGP

PCI
Hình 1.4: Sơ đồ khối mối quan hệ AGP và PCI
Trang: /69
Phạm Đức Hạnh
USB là chuẩn truyền dữ liệu cho thiết bị ngoại vi được hãng Intel và
Microsoft phát triển. đây là sự thay thế cho việc có quá nhiều đầu nối và cổng
ở mặt sau máy tính, thay vì có quá nhiều đầu nối vào máy tính cho bàn phìm,
chuột, máy in, modem, thiết bị multimedia, máy ảnh số...chuẩn USB cho phép
tất cả nối vào cổng duy nhất trên bảng mạch máy chủ của máy tính. Chuẩn
USB loại trừ nhiều rắc rối trên khi cài đặt thiết bị ngoại vi, chẳng hạn như
phải tháo máy để cài đặt card nối ghép, thay đổi các chuyển mạch, khai báo
ngắt...
Phiên bản USB 1.1 có 2 tốc độ: 12MHz và 1.5MHz, tốc độ 1.5 MHz
chậm hơn và ít ảnh hưởng của nhiễu nên giảm chi phí sản xuất. Phiên bản
USB 2.0 ngày nay có thể đạt tóc độ 480 Mb/s. Trên bảng mạch chủ mày vi
tính chỉ có duy nhất một khối điều khiển cho giao diện này, cho phép đồng
thời quản lý 127 thiết bị ngoại vi bằng cách chia sẻ băng thông cho tất cả các
thiết bị trên kênh trong cùng một thời điểm. Nó có 4 đường tín hiệu: 2 đường
cho nguồn và 2 đường cho truyền dữ liệu. Mỗi khi cắm một thiết bị vào giao
diện USB, nó sẽ phát hiện và gán cho một địa chỉ tương thích với chíp điều
khiển giao diện USB (trên PC).
16
LAN
PCI Bus
USB
Host Controller
(Root Hub)
SCSI Host
Bus Adapter
LAN

Adapter
CardBus
Bridge
Monitor
(Hub)
Keyboard
(Hub)
Graphics
Adapter
Host/
PCI
Cache/
Bridge
Memory
Bus
CPU
CPU Local
Bus
CD
ROM
Tape
Disk
Mouse Speaker
CardBus
PC Card
16-Bit
PC Card
Hình 1.5 Sơ đồ khối
mối quan hệ
USB và PCI

Main
Memory
Video
Frame
Buffer
Trang: /69
Phạm Đức Hạnh
Hình 1.5 cho thấy hình ảnh của hệ thống USB được thực hiện trên nền
tảng cơ sở của bus PCI-khối điều khiển chủ USB nằm trên bus PCI. USB
được phát triển theo yêu cầu chính sau:
• Dễ sử dụng: nối thiết bị mà không cần mở hộp PC, USB sẽ nối
ngay thiết bị đó và bổ sung thông tin về thiết bị đó như kiểu loại,
số hiệu, nhà sản xuất... Nếu như rút một thiết bị USB ra khỏi PC
thì chíp điều khiển giao diện USB sẽ nhận ra và thông báo cho
phần mềm điều khiển thiết bị, do đó PC biết thiết bị đó đã được
rút ra.
• Mở rộng cổng giao tiếp: các thiết bị theo chuẩn USB thường có
mức tiêu thụ năng lượng thấp, vì thế nên có nhiều thiết bị tốc độ
cao cùng được kết nối qua bus này.
Đặc tính của USB xác định kết nối và truyền tin giữa hai thành phần cơ
bản: khối điều khiển USB và thiết bị USB. Chỉ có một khối điều khiển USB,
nó thực hiện các kết hợp phần cứng, chương trình cơ sở hoặc phần mềm. Có
hai kiểu thiết bị USB: USB Hub và USB Functions. USB Hub cho phép mở
rộng số jack nối USB vào hệ thống còn USB Functions cho phép nối hệ thống
với các thiết bị ngoại vi như: bàm phím, chuột…
17
Trang: /69
Phạm Đức Hạnh
Qua việc tìm hiểu về giao diện tốc độ cao ta thấy giao diện PCI là cơ sở
để xây dựng các chuẩn giao tiếp khác. trong chương tiếp theo sẽ nghiên cứu

giao diện này.
CHƯƠNG 2
NGHIÊN CỨU GIAO DIỆN PCI 32 BÍT/33MHZ
2.1. MÔ TẢ CHÂN TÍN HIỆU TRÊN SLOT PCI.
Các chân tín hiệu được phân chia theo nhóm và tổ chức như hình 2.1:
18
PCI
Compliant
Device
AD[31::0]
C/BE[3::0]#
Address
and Data
PAR
FRAME#
TRDY#
IRDY#
STOP#
DEVSEL#
IDSEL#
Interface
Control
PERR#
SERR#
Error
Reporting
REQ#
GNT#
arbitration
(maslers only)

CLK
RST#
System
AD[63::32]
C/BE[7::4]#
PAR64
REQ64
#
ACK64
#
64-Bit
Extension
LOCK#
SMBCLK
SMBDAT
PME#
CLKRUN#
Interface
Control
INTA#
INTC#
INTB#
INTD#
Interrupts
TDI
TDO
TCK
TMS
TRST#
JTAG

(IEEE 1149.1)
Hình 2.1: Tổ chức chân Bus PCI
Trang: /69
Phạm Đức Hạnh
+ Nhóm các chân hệ thống:
- CLK: Là chân vào, cung cấp đồng hồ thời gian cho mọi thực thi
trên bus PCI. Tất cả tín hiệu, trừ RST#, INTA#, INTB#, INTC#,
INTD#, PME# và CKLRUN# đều kích phát ở sườn dương xung CLK
và các thông số thời gian khác đều được xác định thông qua tín hiệu
này.
- RST#: Là chân vào, để đặt lại các thanh ghi và các tín hiệu
khác về trạng thái ban đầu.
+ Nhóm các chân địa chỉ và dữ liệu:
- AD31-AD0: Là các chân 3 trạng thái, kết hợp dữ liệu và địa chỉ
tương ứng trên cùng một chân tín hiệu. Trong nhịp địa chỉ, nếu truy cập
địa chỉ vào/ra thì đó là byte địa chỉ vật lý còn nếu truy cập bộ nhớ thì
đó là hai từ (DWORD) địa chỉ vật lý. Một chu kỳ Bus bao gồm một
nhịp địa chỉ và một hay nhiều nhịp dữ liệu.
- C/BE3-C/BE0: Là các chân ba trạng thái, lệnh Bus _Command
và Byte_enable được kết hợp trên các chân tín hiệu này.
* Trong nhịp địa chỉ, C/BE3-C/BE0 định nghĩa lệnh
Bus_Command.
* Trong nhip dữ liệu C/BE3-C/BE0 được sử dụng như các
lệnh Byte_enable.
- PAR: Chân ba trạng thái, là chân kiểm tra chẵn lẻ.
+ Nhóm các chân điều khiển giao diện.
19
Trang: /69
Phạm Đức Hạnh
- FRAME#: Là chân ba trạng thái liên tục, được điều khiển bởi

đối tượng chủ hiện hành nhằm chỉ ra điểm bắt đầu và thời gian có hiệu
lực của sự truy cập.
- IRDY#: Là chân ba trạng thái liên tục chỉ ra khả năng của đối
tượng khởi đầu giao dịch có thể hoàn thành pha dữ liệu hiện hành của
một nhịp trao đổi dữ liệu.
- TRDY#: Là chân ba trạng thái chỉ ra khả năng của đối tượng
đích có thể hoàn thành pha dữ liệu hiện hành của một nhịp trao đổi dữ
liệu. Hai tín hiệu TRDY# và IRDY# thường được dùng kết hợp với
nhau.
- STOP#: Là chân ba trạng thái liên tục, chỉ ra đối tượng hiện tại
yêu cầu đối tượng khởi đầu giao dịch ngưng sự thực thi hiện hành.
- LOCK#: Là chân ba trạng thái dùng khi cầu PCI phục vụ nhiều
đối tượng thực hiện trao đổi dữ liệu.
- IDSEL#: Là chân vào lựa chọn thiết bị khởi tạo, chân này được
sử dụng như một chân chọn chíp trong khi đặt khởi tạo sự thực hiện
đọc và ghi dữ liệu.
- DEVSEL#: Là chân ba trạng thái liên tục, lựa chọn thiết bị khi
điều khiển hoạt động, nó chỉ ra đối tượng điều khiển mà địa chỉ của nó
được giải mã như đối tượng đích của sự truy cập hiện hành. Như một
chân vào, tín hiệu DEVSEL# chỉ ra thiết bị nào trên Bus đã được lựa
chọn.
+ Nhóm các chân báo lỗi: Được dùng để báo và sửa các lỗi về địa chỉ
và dữ liệu trong khi trao đổi dữ liệu, gồm có chân SERR và PERR.
- PERR#: Dùng báo lỗi chẵn lẻ của dữ liệu trong tất cả các thao
tác trên bus, được điều khiển bởi đối tượng nhận dữ liệu.
- SERR#: Dùng báo lỗi chẵn lẻ của dữ liệu và địa chỉ trong tất cả
các thao tác trên bus.
20
Trang: /69
Phạm Đức Hạnh

+ Nhóm chân phân phối bus: Gồm chân REQ#, GNT# phục vụ cho
việc chuyển quyền điều khiển bus giữa các đối tượng khởi đầu giao dịch.
+ Nhóm các chân ngắt: Ngắt trong bus PCI là tuỳ chọn với mức tích
cực thấp. Một đối tượng yêu cầu ngắt khi nó đòi hỏi sự đáp ứng ngay của thiết
bị điều khiển. Tín hiệu báo ngắt tồn tại cho đến khi thiết bị điều khiển xoá yêu
cầu ngắt. Có 4 tín hiệu ngắt sau.
- INTA#: Dùng yêu cầu ngắt.
- INTB#: Dùng yêu cầu ngắt và chỉ dùng cho thiết bị đa chức năng.
- INTC#: Dùng yêu cầu ngắt và chỉ dùng cho thiết bị đa chức năng.
- INTD#: Dùng yêu cầu ngắt và chỉ dùng cho thiết bị đa chức năng.
+ Nhóm các chân bổ xung:
PRSNT1 và PRSNT2: Là chân tín hiệu vào. Các card cắm trên slot
dùng các tín hiệu này để báo cho bộ điều khiển PCI biết sự tồn tại của mình
để cung cấp nguồn theo yêu cầu của card. Những tín hiệu này là bắt buộc đối
với card bổ sung nhưng là tuỳ chọn đối tượng với board hệ thống.
- CLKRUN#: Là chân tín hiệu vào tuỳ chọn được sử dụng như
một tín hiệu vào cho thiết bị nhằm xác định trạng thái xung CLK.
- M66EN#: Chân vào, chân này chỉ ra một thiết bị hay một phân
đoạn bus sẽ thao tác ở tần số 66 MHz hay 33 MHz.
- PME#: Tín hiệu này là một tuỳ chọn mà có thể được sử dụng
bởi một thiết bị nhằm yêu cầu một sự thay đôỉ trạng thái năng lượng
của hệ thống hoặc thiết bị.
- 3.3 Vaux: Là chân tín hiệu vào, một tuỳ chọn 3.3V hỗ trợ
nguồn năng lượng cung cấp năng lượng cho một card bổ xung PCI.
+ Nhóm các chân mở rộng Bus 64 bít: Nếu sử dụng Bus mở rộng 64 bít
thì tất cả các chân này đều được sử dụng.
- AD63-AD32: Các chân địa chỉ và dữ liệu tương ứng được kết
hợp trên cùng một chân tín hiệu cung cấp 32 bít bổ xung. Trong một
21
Trang: /69

Phạm Đức Hạnh
nhịp địa chỉ thì 32 bít cao của địa chỉ 64 bít được truyền đi. Trong nhịp
dữ liệu, 32 bít dữ liệu bổ xung được truyền đi khi tác vụ thực thi 64 bít
được xác nhận bởi hai tín hiệu REQ64# và ACK64#.
- CBE7-CBE4: Có chức năng giống như các tín hiệu CBE3-CBE0.
- REQ66#: Tín hiệu yêu cầu truyền 64 bít.
- ACK66#: Tín hiệu chấp nhận truyền 64 bít.
- PAR64#: Chân tín hiệu chẵn lẻ 32 bít phần cao trong tổng số 64
bít dữ liệu. Trong nhịp địa chỉ và ghi dữ liệu được điều khiển bởi bộ
điều khiển bus, trong nhịp đọc dữ liệu được điều khiển bởi đối tượng
nhập dữ liệu.
+ Nhóm các chân quét đường biên/JTAG (tuỳ chọn).
- TCK: Chân tín hiệu vào, để kiểm tra dữ liệu vào/ra của thiết bị.
- TDI: Chân tín hiệu vào, kiểm tra dữ liệu và lệnh vào thiết bị.
- TDO: Chân tín hiệu ra, kiểm tra dữ liệu và lệnh ra thiết bị.
- TMS: Chân tín hiệu vào, điều khiển trạng thái quá trình
kiểm tra thiết bị.
- TRST#: Chân tín hiệu vào dùng khởi tạo một cách đồng bộ quá
trìh kiểm tra thiết bị.
+ Nhóm các chân giao tiếp quản lí hệ thống bus (tuỳ chọn).
- SMBCLK: Chân lựa chọn xung tín hiệu clock cho giao diện bus.
- SMBDAT: Chân chọn dữ liệu cho giao diện bus.
Tiếp theo ta sẽ nghiên cứu các yếu tố cơ bản nhất để có thể trao đổi dữ
liệu trên bus PCI, bắt đầu từ lệnh điều khiển bus, giao thức trao đổi, tổ chức
không gian địa chỉ, các thao tác cơ bản trên bus, sự kết thúc quá trình trao đổi
dữ liệu và đồ hình trạng thái bus PCI.
2.2 CÁC LỆNH BUS.
22
Trang: /69
Phạm Đức Hạnh

Các lệnh bus chỉ ra thao tác, thiết bị đích của một thực thi truyền dữ
liệu được yêu cầu bởi thiết bị chủ. Các lệnh Bus được mã hoá đầy đủ trên các
chân C/BE3...C/BE0 và được phát đi trong pha địa chỉ.
Các lệnh bus gồm:
C/BE3...C/BE0 Tên lệnh
0000 Nhận ngắt
0001 Chu kỳ nhịp đặc biệt
0010 Đọc cổng vào/ra
0011 Viết cổng vào/ra
0100 Để dành
0101 Để dành
0110 Đọc bộ nhớ
0111 Ghi bộ nhớ
1000 Để dành
1001 Để dành
1010 Đọc cấu hình
1011 Ghi cấu hình
1100 Đọc bộ nhớ (theo khối)
1101 Hai chu kỳ địa chỉ
1111 Đọc bộ nhớ (theo khối)
2.3. GIAO THỨC CƠ BẢN CỦA BUS PCI.
Phương thức trao đổi dữ liệu chủ yếu của bus PCI là truyền khối
(Bus PCI cho phép truyền khối đôí với cả bộ nhớ và không gian địa chỉ
cổng vào ra). Với phương thức này thì trên các đường tín hiệu ADxx bắt
đầu là thông tin địa chỉ tiếp theo là một hoặc nhiều các nhịp dữ liệu
(32/64 bít) trong khối đó.
Sự truyền dữ liệu trên bus PCI được điều khiển bởi 3 tín hiệu chính
sau:
- FRAME#: Do đối tượng điều khiển Bus PCI khống chế để chỉ ra thời
điểm bắt đầu và kết thúc quá trình trao đổi dữ liệu.

- IRDY#: Do đối tượng điều khiển Bus PCI khống chế để chỉ ra nó có
sẵn sàng trao đổi dữ liệu hay không.
23
Trang: /69
Phạm Đức Hạnh
- TRDY#: Do đối tượng nhận dữ liệu khống chế để chỉ ra nó có sẵn
sàng trao đổi dữ liệu hay không.
Khi hai tín hiệu FRAME# và IRDY# không ở mức tích cực (mức cao)
thì Bus PCI ở trạng thái trống. Tại chu kỳ Clock đầu tiên, nếu tín hiệu
FRAME# ở mức tích cực thì trên bus có thông tin địa chỉ (ADxx) và mã lệnh
(C/BE). Trong những chu kỳ Clock tiếp theo nhịp dữ liệu đầu tiên và các nhịp
dữ liệu trong khối dữ liệu sẽ được trao đổi khi cả hai tín hiệu IRDY# và
TRDY# đều ở mức tích cực (mức thấp). Trạng thái đợi có thể được chèn vào
trong quá trình trao đổi dữ liệu nếu một trong hai tín hiệu IRDY# hoặc
TRDY# không ở mức tích cực. Trong khi đang trao đổi một nhịp dữ liệu thì
sự thay đổi của các tín hiệu điều khiển không có tác dụng cho đến khi hoàn
thành nhịp dữ liệu này. Sau khi hoàn thành nhịp dữ liệu cuối cùng thì Bus PCI
trở về trạng thái trống.
2.4. ĐỊNH ĐỊA CHỈ TRÊN BUS PCI.
Bus PCI xác định 3 không gian địa chỉ vật lý: Bộ nhớ, không gian
địa chỉ vào/ra và không gian địa chỉ cấu hình (dùng hỗ trợ cấu hình phần
cứng PCI).
+ Định địa chỉ bộ nhớ: Các tín hiệu AD31 – AD02 cung cấp địa chỉ
DWORD, còn tín hiệu AD1 và AD0 không tham gia định địa chỉ bộ nhớ mà
được đối tượng điều khiển dùng thông báo dạng trao đổi dữ liệu.
AD1 AD0 Thứ tự truyền khối
0 1 Tăng tuyến truyền
0 1 Dành cho người sử dụng
1 0 chế độ bảo vệ
1 1 Dành cho người sử dụng

+ Định địa chỉ vào/ra: Cả 32 bít AD31 – AD0 được sử dụng, trong khi
đó tín hiệu AD1 và AD0 có ý nghĩa nhất với đối tượng điều khiển để khởi đầu
quá trình trao đổi dữ liệu.
24
Trang: /69
Phạm Đức Hạnh
+ Định địa chỉ cấu hình: Trong không gian địa chỉ cấu hình có 256 byte
chứa thông tin không gian địa chỉ vào/ra hoặc bộ nhớ.
2.5. TỔ CHỨC KHÔNG GIAN CẤU HÌNH BUS PCI.
Tất cả các đối
tượng phải cung cấp
đầy đủ thông số cho
thiết bị điều khiển bus
PCI, thông tin này đặt
trong 64 byte đầu tiên
của 256 byte cấu hình
và được mô tả trong
hình 2.2.
Một trong những
thanh ghi quan trọng là
thanh ghi trạng thái và
thanh ghi lệnh, hai
thanh ghi này đều là
các thanh ghi 16 bít và
cùng nằm tại địa chỉ
04h trong không gian cấu hình của bus PCI.
2.5.1. Thanh ghi lệnh.
Thanh ghi lệnh cho ta biết phần điều khiển thô trên những thiết bị có
khả năng tạo và đáp ứng với một chu kỳ hoạt động của bus PCI. Khi “0” được
ghi vào thanh ghi này thì thiết bị sẽ ngưng kết nối logic từ bus PCI với tất cả

mọi sự truy cập chỉ ngoại trừ sự truy cập cấu hình. Mỗi bít riêng lẻ trong
thanh ghi lệnh có hoặc không được thi hành và phụ thuộc vào chức năng của
thiết bị. Ta có ví dụ như sau: Các thiết bị không thi hành tại không gian I/O và
25
00h
04h
08h
0ch
10h
14h
18h
1ch
20h
24h
28h
2ch
30h
34h
38h
3ch
31
16 15
0
Header
Type
Latency Timer
Cacheline
Size
BIST
Revision ID

Class Code
Status
Command
Vendor ID
Device ID
Cardbus CIS Poiter
Base Address Registers
Subsystem Vendor ID
Subsystem ID
Expansion ROM Base Address
Reserved
Capabilities
Pointer
Reserved
Max Lat
Min Gnt
Interrupt
Pin
Interrupt
Line
Hình 2.2: Đoạn đầu không gian cấu hình

×