MỤC LỤC
LỜI NÓI ĐẦU.
Chương I. TỔNG QUAN CÁC GIAO DIỆNTRONGMÁYTÍNHPC.4
1.1. Giao diện tốc độthấp.4
1.1.1. Cổng giao tiếp song song.4
1.1.2. Cổng giao tiếp nối tiếp.4
1.2.3. Giao tiếp theo chuẩn ISA.5
1.2.4. Giao tiếp theo chuẩn EISA.5
1.2. Giao diện tốc độcao.7
1.2.1. Giao diện PCI.7
1.2.2. Giao diện AGP.10
1.2.3. Giao diện USB.11
1.3. Chuẩn giao diện Peripheral Component Interconnect- PCI.13
1.3.1. Mô tảchân tín hiệu trên SlotPCI.13
1.3.2. Các lệnh Bus.18
1.3.3. Giao thức cơbản của Bus PCI.19
1.3.4. Định địa chỉtrên Bus PCI.19
1.2.5. Tổchức không gian cấu hình bus PCI.20
1.2.6. Các thao tác cơbản trên busPCI.25
1.2.7. Sựkết thúc quá trình trao đổi dữliệu.28
1.2.8. Đồhình trạng thái busPCI.34
Chương II. CHUẨN GIAO DIỆN USB.36
2.1. Giao diện USB.36
2.1.1. Bộkết nối USB.37
2.1.2. Đặc tính điện của cổng USB.38
2.1.3. Giao thức truyền USB.39
2.1.4. Cấu trúc gói USB.40
2.1.5. Các kiểu gói USB.41
2.1.6. Các kiểu truyền USB.42
2.1.7. Điều khiển truyền dữliệu.43
2.2. Hệthống USB 2.0.45
CHƯƠNG III. THIẾT KẾGIAO DIỆN USB (PC) SỬDỤNG CHIP
FT245BM.46
KẾT LUẬN.
TÀI LIỆU THAM KHẢO.
67 trang |
Chia sẻ: maiphuongdc | Lượt xem: 2016 | Lượt tải: 1
Bạn đang xem trước 20 trang tài liệu Đề tài Thiết kế giao diện USB (PC) sử dụng chip FT245BM, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
thái để bus PCI liên hệ các sự kiện.
15 14 13 12 11 10 9 8 7 6 5 4 3 0
Reserved
Interrupt Status
Capabilities List
66MHz Capable
Reserved
Fast Back-to-Back Capable
Master Data Parity Error
DEVSEL Timing
00 - fast
01 - medium
10 - slow
Signaled Target Abort
Received Target Abort
Received Master Abort
Signaled System Error
Detected Parity Error
Hình 1.8: Tổ chức thanh ghi trạng thái
- Bit 0 - bit 2: Dành riêng cho người sử dụng.
- Bit 3: Chỉ cho phép đọc, nó phản ánh trạng thái ngắt trong thiết bị.
- Bit 4: Tuỳ chọn mà chỉ đọc nó biểu thị có hay không có thiết bị thi hành
con trỏ cho khả năng mới tại offset 34h.
* Mức ‘0’: Hiển thị không có khả năng mới.
* Mức ‘1’: Hiển thị giá trị đang được đọc tại địa chỉ 34h.
- Bit 5: Là bit chỉ đọc (tuỳ chọn) nó hiển thị có hay không các thiết bị này
có khả năng chạy tại tần số 66 Mhz.
* Mức ‘0’: Là tại tần số 33Mhz.
* Mức ‘1’: Là tại tần số 66Mhz.
25
- Bit 6: Là bit để dành.
- Bit 7: Là bit chỉ đọc (tuỳ chọn) nó chỉ cho biết có hay không thiết bị đích
có thể chấp nhận sự giao dịch kiểu back-to-back khi sự giao dịch đó không có
cùng các tác nhân.
* Mức ‘1’: Là chấp nhận.
* Mức ‘0’: Không chấp nhận.
- Bit 8: Chỉ được thực hiện bởi thiết bị điều khiển bus. Nó được thiết lập
theo ba điều kiện sau:
* Tác nhân bus phải đặt tín hiệu PERR# ở mức tích cực.
* Thiết lập tác nhân như thiết bị điều khiển bus cho sự thiết lập này với
những sai số đã xảy ra.
* Bit điều khiển phản ứng với sai số chẵn lẻ (bit 6 thanh ghi lệnh) được thiết lập.
- Bit 9 và bit 10: Là những bit mã hoá định thời của tín hiệu DEVSEL#.
* ‘00b’ ứng tốc độ nhanh.
* ‘01b’ ứng tốc độ trung bình.
* ‘10b’ ứng tốc độ chậm.
* ‘11b’ dùng để dành.
- Bit 11: Bit này phải được thiết lập bởi thiết bị đích.
- Bit 12: Bit này phải được thiết lập bởi thiết bị chủ, mỗi khi kết thúc quá
trình trao đổi dữ liệu của thiết bị chủ theo kiểu bỏ qua vai trò thiết bị đích.
- Bit 13: Bit này phải được thiết lập bởi thiết bị chủ mỗi khi có sự kết thúc
quá trình trao đổi dữ liệu theo kiểu bỏ qua vai trò thiết bị chủ.
- Bit 14: Bit này phải được thiết lập mỗi khi thiết bị xác nhận tín hiệu SERR#.
- Bit 15: Bit này phải được thiết lập bởi thiết bị đích mỗi khi thiết bị đó
phát hiện ra một sai số chẵn lẻ (như bit thứ 6 trên thanh ghi lệnh).
26
1.3.6. Các thao tác cơ bản trên bus PCI.
Các giao diện trên bus PCI có nhiều thao tác rất phức tạp, ta sẽ phân tích
hai thao tác quan trọng nhất là đọc và ghi dữ liệu 32 bit trên bus PCI, và sau
đó ta tìm hiểu về cách để các đối tượng kết thúc một giao dịch Bus.
1.3.6.1. Chu kỳ đọc dữ liệu với bus PCI 32 bit.
Đồ thị thời gian của chu kỳ đọc dữ liệu thể hiện như sau:
BE#’s
DEVSEL#
TRDY#
IRDY#
C/BE#
Data-2 Data-3 Data-1
Bus CMD
AD
Bus transaction
Data
Phase
Data
Phase
Data
Phase
Address
Phase
Address
D
at
a
tr
an
fe
r
D
at
a
tr
an
fe
r
W
ai
t W
ai
t
D
at
a
tr
an
fe
r
W
ai
t
FRAME#
CLK
9 8 7 6 5 4 3 21
Hình 1.9: Chu kỳ đọc dữ liệu.
Chu kỳ đọc bắt đầu với một nhịp địa chỉ và quá trình giao dịch đọc chỉ xảy ra
khi FRAME# chuyển thành mức tích cực lần đầu tiên và xảy ra trên xung clock
thứ hai mở đầu cho nhịp địa chỉ. Trong suốt nhịp địa chỉ các tín hiệu AD31-
AD00 chứa thông tin địa chỉ còn các tín hiệu C/BE3-C/BE0 chứa lệnh bus tương
ứng. Xung clock đầu tiên của nhịp dữ liệu đầu tiên là xung clock thứ 3. Một nhịp
dữ liệu có thể có gồm một chu kỳ đợi và một chu kỳ truyền dữ liệu.
27
Tín hiệu trên các chân C/BE phải được giữ nguyên (cho cả hai quá trình
đọc và ghi) từ chu kỳ clock đầu tiên của nhịp dữ liệu đến điểm cuối cùng của
quá trình giao dịch. Điều này đảm bảo C/BE # không được dịch trái khoảng
dài. Các tín hiệu C/BE chứa Byte –Enable hợp lệ trong toàn bộ nhịp dữ liệu
độc lập với trạng thái của tín hiệu IRDY#. Các tín hiệu C/BE# chứa thông tin
về Byte-Enable cho (N+1) nhịp dữ liệu trong cả khối dữ liệu.
Nhịp dữ liệu đầu tiên trên một quá trình giao dịch đọc quy định một
chu kỳ quay vòng (làm cho hiệu lực bởi thiết bị đích qua TRDY#) trong
trường hợp này nhịp địa chỉ hợp lệ trên xung clock thứ hai và sau đó đối
tượng điều khiển các tín hiệu AD sớm nhất thì thiết bị đích có thể cung
cấp dữ liệu hợp lệ trên xung clock thứ tư. Đối tượng đích phải điều khiển
các tín hiệu AD và thông báo chu kỳ quay vòng khi tín hiệu DEVSEL#
được xác nhận.
Một nhịp dữ liệu được hoàn tất khi dữ liệu đã được truyền. Điều này xảy
ra khi cả hai tín hiệu IRDY# và TRDY# được xác nhận trên cùng một mức
sườn dương của xung clock. Tín hiệu TRDY# không được điều khiển cho tới
khi tín hiệu DEVSEL# được xác nhận. Khi đó nếu tín hiệu IRDY# hoặc
TRDY# không được xác nhận (do không đáp ứng kịp) thì một chu kỳ đợi
được chèn vào và dữ liệu không được truyền. Dữ liệu được truyền trên chu kỳ
clock 4, 6, 8 và chu kỳ đợi được chèn vào trên xung clock 3, 5, 7.
Trên hình 1.9 nhịp dữ liệu đầu tiên được hoàn tất trong bộ định thời
cho một quá trình giao dịch đọc. Nhịp dữ liệu thứ hai được mở rộng trên
chu kỳ clock 5 bởi vì tín hiệu TRDY# không tích cực. Và nhịp dữ liệu
cuối cùng được mở rộng trên chu kỳ clock thứ 7 vì tín hiệu IRDY#
không tích cực.
Đối tượng điều khiển cho biết tại chu kỳ clock thứ 7 thì nhịp dữ liệu tiếp theo
là nhịp dữ liệu cuối cùng. Tuy nhiên bởi vị nó không sẵn sàng để hoàn thành
28
nhịp truyền dữ liệu cuối cùng (tín hiệu IRDY# không tích cực tại xung clock thứ
7) và tín hiệu FRAME# ở mức tích cực. Chỉ khi tín hiệu IRDY# ở mức tích cực,
tín hiệu FRAME# không ở mức tích cực tại xung lock thứ 8 chỉ cho đối tượng
đích biết rằng đã hoàn tất nhịp dữ liệu cuối cùng của quá trình giao dịch.
1.3.6.2. Chu kỳ ghi dữ liệu với bus PCI 32 bit.
Đồ thị thời gian của chu kỳ ghi dữ liệu thể hiện :
BE#’s-3 BE#’s-2 BE#’s-1
Data-2
DEVSEL#
TRDY#
IRDY#
C/BE#
Data-3
Bus CMD
AD
Bus transaction
Data
Phase
Data
Phase
Data
Phase
Address
Phase
Data-1 Address
D
at
a
tr
an
fe
r
D
at
a
tr
an
fe
r
W
ai
t
W
ai
t
D
at
a
tr
an
fe
r
W
ai
t
FRAME#
CLK
9 8 7 6 5 4 3 21
Hình 1.10: Chu kỳ ghi dữ liệu.
Chu kỳ ghi bắt đầu khi tín hiệu FRAME# được xác nhận tại xung clock
thứ 2. Quá trình giao dịch ghi tương tự như quá trình giao dịch đọc ngoại trừ
không có chu kỳ quay vòng vì đối tượng điều khiển cung cấp cả địa chỉ và dữ
liệu. Nhịp dữ liệu đầu tiên và nhịp dữ liệu thứ hai hoàn thành không có trạng
thái đợi. Tuy nhiên trong nhịp dữ liệu thứ 3 có 3 trạng thái đợi được chèn vào.
Chu kỳ này kết thúc khi tín hiệu IRDY# phải ở mức tích cực và tín hiệu
FRAME# không ở mức tích cực.
29
Dữ liệu bị giữ chậm bởi đối tượng điểu khiển tại chu kỳ clock thứ 5 vì tín
hiệu IRDY # không ở mức tích cực, nhịp dữ liệu cuối cùng được báo hiệu tại
chu kỳ clock thứ 6 và nó được hoàn thành tại chu kỳ clock thứ 8.
1.3.7. Sự kết thúc quá trình trao đổi dữ liệu.
Sự kết thúc của giao dịch PCI có thể được bắt đầu bởi đối tượng điều
khiển hoặc đối tượng bị điều khiển. Trong thực tế không thể dừng quá trình
giao dịch đơn phương. Phần còn lại của đối tượng điều khiển trong sự điều
khiển cuối cùng và mang lại tất cả các quá trình giao dịch có thứ tự và có tính
hệ thống. Tất cả quá trình giao dịch sẽ được kết thúc khi tín hiệu FRAME# và
IRDY# được chuyển về mức không tích cực.
1.3.7.1. Đối tượng điều khiển bắt đầu sự kết thúc quá trình giao dịch.
Cơ cấu kỹ thuật sử dụng trong đối tượng điều khiển bắt đầu kết thúc quá
trình giao dịch trong khi tín hiệu FRAME# ở mức không tích cực và tín hiệu
IRDY# ở mức tích cực. Những tín hiệu này chỉ cho đối tượng bị điều khiển
biết rằng giai đoạn dữ liệu cuối cùng được tiến hành. Quá trình trao đổi dữ
liệu cuối cùng xảy ra khi cả 2 tín hiệu IRDY# và TRDY# ở mức tích cực. Quá
trình giao dịch hoàn thành khi cả 2 tín hiệu FRAME# và IRDY# ở mức không
tích cực (trạng thái bus rỗi). Đối tượng điều khiển bắt đầu thực hiện quá trình
giao dịch cuối cùng với 2 lý do sau:
* Một là: Sự hoàn thành quá trình giao dịch khi đối tượng điều khiển có sự
kết thúc giao dịch như mong muốn.
* Hai là: Thời gian ấn định cho sự kết thúc giao dịch khi tín hiệu GNT# của đối
tượng điều khiển ở mức không tích cực và bên trong bộ định thời trễ mất hiệu lực.
Ở hình 1.11 ta thấy giai đoạn dữ liệu cuối cùng được hoàn tất khi tín hiệu
FRAME# ở mức không tích cực và cả hai chân tín hiệu IRDY#, TRDY# ở
mức tích cực. Như vậy, bus có trạng thái rỗi khi tín hiệu IRDY# không ở mức
30
tích cực, điều đó chỉ xảy ra ở xung clock thứ 4. Lưu ý: Tín hiệu TRDY#
không được yêu cầu ở mức tích cực tại xung clock thứ 3. Trên hình bên trái
tín hiệu FRAME# ở mức không tích cực tại xung clock thứ 3 bởi vì bộ định
thời mất hiệu lực và đối tượng điều khiển sẵn sàng cho quá trình truyền dữ
liệu cuối cùng.
T.O
T.O
1 2 3 4 1 2 3 4
CLK
GNT#
FRAME#
IRDY#
TRDY#
Hình 1.11: Đối tượng điều khiển bắt đầu kết thúc trao đổi.
Tín hiệu FRAME# và IRDY# có quan hệ mật thiết với nhau trong tất cả
các quá trình giao dịch. Tín hiệu FRAME# có thể ở mức không tích cực trước
khi tín hiệu IRDY# ở mức tích cực.
Cầu nối bus chủ trong hệ thống PC tương thích phải trở về xung thứ nhất
trên một quá trình giao dịch đọc và loại bỏ dữ liệu trên một quá trình giao
dịch khi đã kết thúc với Master - abort.
1.3.7.2. Đối tượng bị điều khiển bắt đầu sự kết thúc quá trình giao dịch.
Có 3 kiểu đối tượng bị điều khiển bắt đầu sự kết thúc giao dịch:
+ RETRY: Nó được đưa vào kết thúc yêu cầu trước khi bất kỳ dữ liệu nào
được truyền đi bởi đối tượng bị điều khiển và tạm thời không cho phép tiến
hành giao dịch. Điều kiện này có thể xảy ra bởi vì đối tượng bị điều khiển
không có độ trễ ban đầu như yêu cầu. Retry là một trường hợp đặc biệt của sự
31
ngưng kết nối không cần quan tâm đến quá trình trao đổi dữ liệu cuối cùng đã
kết thúc hay chưa.
+ DESCONET: Yêu cầu cuối cùng sau khi dữ liệu được truyền tại giai
đoạn dữ liệu đầu bởi vì đối tượng bị điều khiển không cho phép đáp ứng trong
phạm vi độ trễ được yêu cầu. Lưu ý là Disconect # Retry.
+ TAGERT - ABORT: Là yêu cầu kết thúc bất thường bởi vì đối tượng bị
điều khiển đã tìm ra một sai số tiền định hoặc nó không cho phép hoàn thành yêu
cầu của đối tượng điều khiển. Ví dụ khi đối tượng điều khiển yêu cầu đọc dạng
DWORD tất cả các Byte trong không gian địa chỉ vào/ra, nhưng đối tượng bị
điều khiển được thiết kế chỉ để trao đổi dạng byte. Từ đó đối tượng bị điều khiển
không thể hoàn thành yêu cầu, nó kết thúc yêu cầu với Tagert - abort.
1.3.7.3. Ngưng kết nối không cần sự kết thúc nhịp dữ liệu.
1 2 3 4 5 6 7 8
D
at
a
tr
an
fe
r
D
at
a
tr
an
fe
r
Data
Phase
Data
Phase
Data
Phase
Data
Phase
CLK
FRAME#
IRDY#
TRDY#
STOP#
DEVSEL#
Hình 1.12: Ngưng kết nối dạng thứ 1
Hình 1.12 chỉ ra cho ta thấy một quá trình giao dịch bị chấm dứt với việc
ngưng kết nối không cần đến sự kết thúc nhịp dữ liệu. Một quá trình giao dịch
bắt đầu khi tín hiệu FRAME# ở mức tích cực trên xung clock thứ 2 và chân
IRDY# ở mức tích cực trên xung clock thứ 3.
32
Đối tượng điều khiển đang yêu cầu truyền khối dữ liệu bởi vì cả hai tín
hiệu FRAME# và IRDY# đều được ở mức tích cực trên xung clock thứ 3. Đối
tượng bị điều khiển khẳng định sự giao dịch thông qua tín hiệu DEVSEL# tại
xung clock thứ 4. Nhịp dữ liệu đầu tiên hoàn thành trên xung clock thứ 4 và
nhịp thứ hai hoàn thành trên xung clock thứ 5.
Tại xung clock thứ 6 đối tượng điều khiển muốn tiếp tục truyền dữ liệu
bởi vì cả 2 tín hiệu FRAME# và IRDY# vẫn còn ở mức tích cực. Tuy nhiên
đối tượng bị điều khiển không thể hoàn thành bất cứ nhịp dữ liệu nào nữa
và tại xung clock thứ 6 thì chân STOP# ở mức tích cực còn chân TRDY#
không ở mức tích cực. Khi đó thì chân IRDY# và STOP# đều ở mức tích
cực tại xung clock thứ 6, lúc đó nhịp dữ liệu thứ 3 hoàn thành. Đối tượng
bị điều khiển vẫn tiếp tục giữ tín hiệu STOP# ở mức tích cực vì tín hiệu
FRAME# vẫn còn ở mức tích cực tại xung clock thứ 6. Nhịp thứ 4 và là
nhịp dữ liệu cuối cùng được hoàn thành tại xung clock thứ 7. Bus quay trở
lại trạng thái nhàn rỗi tại xung clock thứ 8. Trong ví dụ này, hai nhịp dữ
liệu đầu tiên hoàn thành sự truyền dữ liệu trong khi hai nhịp cuối cùng thì
không. Đối tượng bị điều khiển có thể hoàn thành hai nhịp dữ liệu đầu tiên
nhưng nhịp thứ ba thì không được hoàn thành.
1 2 3 4 5 6 7 8
D
at
a
tr
an
fe
r
D
at
a
tr
an
fe
r
Data
Phase
Data
Phase
Data
Phase
CLK
FRAME#
IRDY#
TRDY#
STOP#
DEVSEL#
Hình 1.13: Ngưng kết nối dạng thứ 2
33
Với hình 1.13, ta thấy rằng quá trình giao dịch cũng được mô tả như trên
hình 1.12 ngoại trừ đối tượng điều khiển chèn thêm một trạng thái đợi ở xung
clock thứ 6. Khi đó tín hiệu FRAME# đã được ở mức tích cực tại xung clock
thứ 5, đối tượng điều khiển đưa vào ít nhất một nhịp dữ liệu và phải hoàn
thành nó. Đối tượng điều khiển hoàn toàn không cho phép để chuyển tiếp bus
tới trạng thái nhàn rỗi bởi tín hiệu FRAME# không ở mức tích cực và giữ tín
hiệu IRDY# không ở mức tích cực. Khi đối tượng điều khiển sẵn sàng để xác
nhận IRDY#, nó chỉ ra sự không xác nhận tín hiệu FRAME# tại nhịp dữ liệu
cuối cùng và nhịp dữ liệu cuối cùng sẽ hoàn thành tại xung clock thứ 7, khi đó
tín hiệu STOP# ở mức tích cực. Trong ví dụ này chỉ gồm có 3 nhịp dữ liệu
trong khi đó ở ví dụ trước là 4, bởi vì đối tượng điều khiển đã chèn thêm một
trạng thái đợi nên đã cho phép đối tượng điều khiển hoàn thành quá trình giao
dịch bus với 3 nhịp dữ liệu.
1.3.7.4. Sự giao dịch bị bãi bỏ bởi đối tượng bị điều khiển.
1 2 3 4
CLK
FRAME#
IRDY#
TRDY#
STOP#
DEVSEL#
Hình 1.14: Sự giao dịch bị bãi bỏ bởi đối tượng bị điêu khiển.
34
Hình trên chỉ cho biết là đối tượng bị điều khiển yêu cầu một quá trình
giao dịch để ngưng và không muốn đối tượng bị điều khiển lặp yêu cầu một
lần nữa. Đôi lúc trước xung clock thứ 1 đối tượng điều khiển đã xác nhận tín
hiệu FRAME# để khởi đầu sự yêu cầu và đối tượng bị điều khiển yêu cầu truy
cập bởi sự xác nhận DEVSEL#. Nhịp dữ liệu có thể hoặc không thể hoàn
thành trước xung clock 1.
Tại xung clock thứ 2, đối tượng bị điều khiển xác định rằng đối tượng điều
khiển có yêu cầu một quá trình giao dịch mà với quá trình giao dịch đó thì đối
tượng bị điều khiển không có khả năng để hoàn thành hoặc xác định rằng có
một lỗi không thể sửa được đã xảy ra. Tín hiệu DEVSEL# phải ở mức tích
cực cho một hoặc nhiều hơn một xung clock. Đối với tín hiệu Target-abort thì
TRDY# phải ở mức không tích cực khi tín hiệu DEVSEL# ở mức không tích
cực và tín hiệu STOP# ở mức tích cực.
Nếu bất cứ dữ liệu nào đã được truyền trong suốt nhịp dữ liệu trước đó
của quá trình giao dịch hiện thời, vì tín hiệu STOP# đã ở mức tích cực tại
xung clock thứ 2 và đối tượng điều khiển có thể xác nhận tín hiệu IRDY#
tại xung clock thứ 3, nó không xác nhận FRAME# tại xung clock thứ 3.
Quá trình giao dịch có thể hoàn thành tại xung clock thứ 3 bởi vì tín hiệu
IRDY# và STOP# ở mức tích cực.
Tại xung clock thứ 4, đối tượng điều khiển không xác nhận tín hiệu
IRDY# và đối tượng bị điều khiển cũng không xác nhận tín hiệu STOP#.
1.3.7.5. Sự giao dịch trễ.
Sự giao dịch trễ được thực hiện bởi đối tượng bị điều khiển và nó không
thể hoàn thành nhịp dữ liệu ban đầu.
Có hai kiểu thiết bị sẽ sử dụng thực hiện sự giao dịch trễ: Bộ điều khiển
vào/ra và cầu nối (đây là cầu PCI-to-PCI). Một cách tổng quát bộ điều khiển
vào/ra sẽ điều khiển sự giao dịch trễ đơn (delayed transaction) tại một thời
35
điểm, trong khi đó cầu nối có thể chọn để điều khiển sự truyền khối để cải
thiện sự thực thi hệ thống.
Một thuận lợi của sự giao dịch trễ đó là bus không được giữ ở trạng thái
đợi trong khi hoàn thành một truy cập tới thiết bị thấp hơn trong khi đối tượng
điều khiển gốc tái phân giải cho bus.
1.3.8. Đồ hình trạng thái bus PCI.
Vì bus PCI đồng bộ hoàn toàn nên tất cả các thao tác đều hoạt động theo
đồng hồ hệ thống. Hình 2.12 mô tả sự chuyển biến trạng thái trên bus PCI.
Kết thúc một chu kỳ
Bus trống
Bắt đầu chu kỳ đọc
Bắt đầu chu kỳ ghi
Reset
7
6
5
2
3
4
0
Hình 1.15: Đồ hình trạng thái bus PCI
Trạng thái 4: Bus đang ở trạng thái nghỉ, điểm đầu của 1 chu kỳ bus được
phát hiện theo điều kiện này. Nó chuyển sang trạng thái 2 hoặc trạng thái 5
khi chu kỳ I/O được khởi hoạt cho thiết bị đích. Nó chuyển sang trạng thái 0
nếu chu kỳ bus bắt đầu mà không liên quan đến thiết bị này.
36
Trạng thái 0: Bus ở trạng thái nghỉ, bất kỳ một tác vụ nào khác cũng được
thực hiện. Nó đợi cho đến khi có điều kiện nghỉ thì từ trạng thái này nó không
chuyển về trạng thái mới.
Trạng thái 2: Một chu kỳ bus I/O được thực hiện cho thiết bị này. Thiết bị
này sẽ xác nhận tín hiệu DEVSEL# và đáp ứng chu kỳ bus. Trong cùng thời
gian thiết bị đích xác nhận tín hiệu TRDY# và báo rằng nó có thể nhận dữ
liệu, lúc này nó khoá dữ liệu và chuyển về trạng thái 3 khi tín hiệu IRDY#
được xác nhận và tín hiệu FRAME# không ở mức tích cực.
Trạng thái 3: Các tín hiệu DEVSEL# và TRDY# không ở mức tích cực.
Thông thường tín hiệu DEVSEL# và TRDY# được phát ở xung clock tiếp
theo và chuyển về trạng thái nghỉ. Nhưng nó chuyển trực tiếp về trạng thái 2
hoặc trạng thái 5 mà không phải đi qua trạng thái chờ khi nó gặp thiết bị ở
trạng thái này và lệnh đọc ghi I/O được đưa ra một lần nữa (trở nhanh về tác
vụ ngược).
Trạng thái 5: Bắt đầu chu kỳ đọc.
Trạng thái 6: Chu kỳ đọc đang được thực hiện. Thiết bị đích xác nhận tín
hiệu DEVSEL# và đáp trả chu kỳ đọc. Cùng lúc đó nó xuất dữ liệu đọc tới
các đường tín hiệu AD và xác nhận tín hiệu TRDY#. Lúc này, nó chuyển về
trạng thái 7 khi tín hiệu IRDY# được đặt mức tích cực (bộ khởi hoạt có thể
tiếp nhận dữ liệu đọc) và tín hiệu FRAME# không có mức tích cực (nhịp dữ
liệu cuối cùng).
Trạng thái 7: Chu kỳ đọc kết thúc. Thiết bị đích bỏ các tín hiệu
DEVSEL#, TRDY#. Sau đó phát tín hiệu DEVSEL#, TRDY# ở clock tiếp
theo và nó chuyển về trạng thái nghỉ.
Trạng thái 1: Không được xác định ngay cả khi nó gặp trạng thái này vì lý
do lỗi thì nó cũng chuyển về trạng thái 0.
37
CHƯƠNG II .
CHUẨN GIAO DIỆN USB.
2.1. Giao diện USB.
Chuẩn Bus tuần tự đa năng USB (Universal Serial Bus) được các hãng
lớn như Intel, Microsoft, IBM, HP-Compaq, NEC, Philip cùng tham gia xây
dựng. Chuẩn này đề xuất một giải phát giao diện chuẩn hóa cho tất cả các
thiết bị ngoại vi có thể dùng một cổng I/O và như vậy giúp giảm đi nhiều
cổng I/O cho các thiết bị ngoại vi như hiện nay.
Universal Serial Bus là một giao thức truyền dư liệu tuần tự giữa máy tính
PC (hay chủ USB – USB Host) với các thiết bị ngoại vi. Máy tính PC được
coi như chủ của hệ thống bus. Nguyên tắc kết nối này hoàn toàn tương tự
cách trao đổi thông tin trong mạng máy tính. Dữ liệu được truyền trên giao
USB theo hai chế độ :
• Chế độ Full speed với tốc độ 12 Mbs.
• Chế độ Low speed với tốc độ 1.5 Mbs.
Hình 2.1: Sơ đồ cấu trúc ghép nối tầng của các thiết bị ngoại vi dùng USB
38
Với chuẩn giao diện USB có thể kết nối tối đa 127 thiết bị bằng cách nối
nối tiếp nhau hoặc dùng bộ Hub trung tâm. Bẩy thiết bị ngoại vi có thể nối tới
1 hub, trong đó bao gồm cả thiết bị hub để có thể nối tiếp với 7 thiết bị tiếp
theo nữa. Như vậy thiết bị ngoại vi có thể được nối trực tiếp với máy chủ hay
gián tiếp qua bộ tiếp nối Hub.
Ưu điểm chính của USB là: y Ghép nối đơn giản do ổ cắm được chuẩn hóa.
y Linh hoạt trong sử dụng.
y Dễ chiển khai và chi phí thấp.
Một ưu điểm nữa của USB là tính năng cắm-là-chạy “nóng” (Hot Plug-
and- play). Tức là người sử dụng có thể cắm thêm hoặc tháo ra một thiết bị
ngoại vi mà không cần tắt máy chủ hay cài đặt lại hệ thống.
2.1.1. Bộ kết nối USB
Tất cả các thiết bị USB có một sự kết nối ngược chiều tới các máy chủ và
tất cả máy chủ có một sự kết nối ngược chiều tới các thiết bị khác. Sự kết nối
ngược chiều và thuận chiều thì không thể thay thế cho nhau một cách máy
móc. Có hai kiểu khá phổ biến cho bộ kết nối USB, gọi là kiểu A và B.
Kiểu “A “ Kiểu “B “
Hình 2.2: Hai kiểu nối của chuẩn USB
39
Kiểu A cắm mặt ngược chiều. Lỗ cắm kiểu A là loại lỗ cắm phổ biến
trong bảng mạch chủ của máy tính. Lỗ cắm kiểu B luôn luôn được kết nối
thuận chiều và chính vì vậy lỗ cắm kiểu B luôn luôn được thiết lập trên thiết
bị. Kiểu A có dây nối kiểu dây thẳng và một ma trận của USB có một vài sự
thay đổi trong một vài trạng thái lưu trữ của máy tính. Với lỗ cắm kiểu B có
miền kết nối rộng và dễ dàng kết nối với các thiết bị ngoại vi khác.
Cáp USB gồm có 4 dây dẫn, hai dây dẫn điện và hai dây truyền tín hiệu.
Hinh 2.3: Cap USB
Thường kiểu màu của các dây dùng cho cáp USB quy định như sau:
Pin Number Cable Colour Funtion
1 Red VBUS (5 volts)
2 White D-
3 Green D+
4 Black Ground
Bảng chức năng của chân tín hiệu trong bộ nối USB
Với bảng này có thể cho biết nhận dạng các dây nối qua cổng USB.
2.1.2. Đặc tính điện của cổng USB.
USB sử dụng một cặp biến đổi sai phân cho dữ liệu. Trên một thiết bị giao
tiếp có tốc độ thấp và đầy đủ, nếu tín hiệu sai phân là "1" thì dữ liệu được
truyền qua chân D+ với mức điện áp trên 2,8 V với một điện trở 15Ω kéo
xuống mặt đất và qua chân D- (chân 2) có mức điện áp dưới 0,3 V cùng một
40
điện trở 1,5 Ω lên tới 3,6V,. Nếu tín hiệu sai phân là "0" thì trên một kênh
điều khiển khác chân D- lớn hơn 2,8V và chân D+ ít hơn 0,3V cùng một giới
hạn điện trở thích hợp.
Thiết bị thu xác định một tín hiệu sai phân "1" khi D+ là 200mV lớn hơn
D- và là "0" khi D+ ít hơn D-. Cực tính của tín hiệu bị đảo ngược tín hiệu phụ
thuộc vào tốc độ của bus.
Máy phát USB có cả tín hiệu sai phân và một tín hiệu ra. Tất nhiên trạng
thái bus được chỉ ra bởi một tín hiệu trên D+ , D- hoặc cả hai.
Bus có tốc độ thấp hoặc cao có đặc tính trở kháng 90Ω+/15%. Đặc tính
này rất quan trọng để quan sát dạng dữ liệu khi chọn trở kháng thoả mãn
chuỗi điện trở cho D+ và D-.
Ở chế độ tốc độ cao (480Mb/s) có dòng điện cố định 17,78 mA cho việc
truyền tín hiệu để giảm nhiễu.
Chế độ trì hoãn tạm thời có tính bắt buộc với mọi thiết bị. Dòng hoãn có
gía trị tối đa tương ứng với một đơn vị tải được mặc định là 500µA. Tại máy
truy cập chủ cả D+ và D- có điện trở ngược là 15KΩ và tại thiết bị ngoại vi
có điện trở 1,5 KΩ.
Rất nhiều thiết bị USB hoạt động với mức điện áp 3,3 V. Một thiết bị USB
có chế độ hoãn khi ở thiết bị đó không hoạt động trên bus. Sự duy trì kết nối
tới chế độ hoãn của máy truy cập chủ hoặc máy chủ thì thiết bị USB vẫn phải
cung cấp nguồn để nó tăng cường sự lựa chọn điện trở trong suốt chế độ hoãn.
2.1.3. Giao thức truyền USB.
Không giống như giao thức truyền nối tiếp thông thường, mỗi giao dịch
USB bao gồm:
• Gói dấu hiệu : chứa địa chỉ.
41
• Gói tính chất dữ liệu.
• Gói trạng thái.
Máy USB chủ sẽ giữ bus hoạt động liên tục bằng cách truyền một gói
khởi động khung SOF trong chu kỳ 1ms (1KHz). Gói dấu hiệu được tạo ra
bởi thiết bị chủ để mô tả gói tiếp theo và thao tác đối với dữ liệu là gì (đọc
hay ghi). Gói tiếp theo thường là gói dữ liệu mang dung lượng. Và cuối cùng
là gói trạng thái dùng để bắt tay, thông báo dữ liệu đã được nhận thành công
hay có lỗi khi giao dịch.
2.1.5. Cấu trúc gói USB.
Cấu trúc 1 gói thông thường bao gồm các trường:
• Đồng bộ (SYNC): tất cả các gói đều bắt đầu bằng trường SYNC có độ dài 8
bit, (ở chế độ high-speed trong USB 2.0 là 32 bit) dùng đồng bộ của đối tượng
truyền và nhận dữ liệu.
• Mã gói: được mã hoá bởi 4 bit trong thanh ghi PID (packet identifier) 8 bit.
Mã gói cho ta biết các kiểu cấu trúc gói như sau:
Group Pro Value Packet Identifier
0001 OUT Token
1001 IN Token
0101 SOF Token
Token
1101 SETUP Token
0011 DATA0
1011 DATA1
0111 DATA2
Data
1111 MDATA
42
0010 ACK Handshake
1010 NAK Handshake
1110 STALL Handshake
Handshake
0110 NYET (No Response Yet)
1100 PREamble
1100 ER
1000 Split
0100 Ping
Special
0000 Reserved
• Trường địa chỉ (ADDR) : dùng 7 bit để định địa chỉ cho 127 thiết bị ngoại vi.
• Trường dữ liệu (DATA) : có độ dài từ 0 byte đến 1023 byte.
Và các trường khác như: định điểm cuối ENDP, kiểm tra chu kỳ thừa
CRC, kết thúc gói EOP. Tùy vào từng kiểu gói mà các trường trên có hoặc
không có trong gói.
2.1.5. Các kiểu gói USB.
Có 4 kiểu gói khác nhau:
- Gói dấu hiệu: chỉ thông báo kiểu giao dịch:
+ Vào: thông báo thiết bị USB HOST muốn đọc thông tin.
+ Ra: thông báo thiết bị USB HOST muốn gửi thông tin.
43
+ Thiết lập: Bắt đầu điều khiển sự trao đổi.
Định dạng của gói như sau:
Sync PID ADDR ENDP CRC5 EOP
- Gói dữ liệu: có 2 kiểu, mỗi kiểu có thể truyền 0 đến 1023 Byte dữ liệu đều
có định dạng
Sync PID Data CRS16 EOP
- Gói bắt tay: có 3 kiểu
• ACK: thông báo gói đã được nhận thành côn
Các file đính kèm theo tài liệu này:
- X-GDMT.pdf