1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

67 766 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 67
Dung lượng 1,79 MB

Nội dung

TỔNG QUAN CÁC GIAO DIỆN TRONG MÁY TÍNH PC 1.1. Giao diện tốc độ thấp. 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

Trang 1

MỤC LỤC LỜI NÓI ĐẦU

Chương I TỔNG QUAN CÁC GIAO DIỆN TRONG MÁY TÍNH PC 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 Slot PCI 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 bus PCI 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 bus PCI 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

4

Trang 2

CHƯƠNG III THIẾT KẾ GIAO DIỆN USB (PC) SỬ DỤNG CHIP

FT245BM 46

3.1 Giới thiệu chung 46

3.2 Những ưu điểm nổi bật 46

3.3 Sơ đồ khối 50

3.4 Sơ đồ chõn tớn hiệu 53

3.5 Giản đồ thời gian – Chu kỳ đọc FIFO 58

3.6 Giản đồ thời gian – Chu kỳ ghi FIFO 58

3.7 Cỏc mạch sử dụng chip FT245BM 59

3.7.1 Mạch tạo dao động 59

3.7.2 Cấu hình với EEPROM 60

3.7.3 Cấp nguồn từ Bus USB 62

3.7.4 Kết cấu tự cấp nguồn USB 63

3.7.5 Mạch tạo nguồn cho Bus với mức lụgic 3.3v / nguồn nuụi 65

3.7.6 Mạch cấp nguồn (≤100mA) với nguồn điều khiển 66

3.7.7 Cấu hình với bộ vi điều khiển (MCU) 68 KẾT LUẬN

TÀI LIỆU THAM KHẢO

5

Trang 3

CHƯƠNG I

TỔNG QUAN CÁC GIAO DIỆN TRONG MÁY TÍNH PC

1.1 Giao diện tốc độ thấp 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 Địa chỉ cơ sở của cổng song song là 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

So với cổng song song thì cổng nối tiếp được dùng ít hơn 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

6

Trang 4

IRQs Audio Codec Modem

Codec

AC’97 Link

IDE

Firmware Hub

PCI Bus

ISA Slots

INTR USB Ports

ISA Bridge (Optional)

8259 Interrrupt Controller

USB Controller

Com 1 Com 2 Super

IO

I/O Controller

Hub (ICH)

PCI Slots

Local Video Memory

LPC

DRAM Memory

Controller Hub (MCH) Monitor

A G P

CPU

Hình 1.1: Sơ đồ ghép nối trong máy tính

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 bit dữ liệu và chay với tần số 4.77MHz (tương ứng với bộ xử lý 8 bit 8088)

Năm 1984 thế hệ máy tính IBM AT ra đời dùng bộ vi xử lý 16 bit 80286 do đó bus ISA cũng được mở rộng thành bus 16 bit bàng cách ghép thêm một

7

Trang 5

rãnh phụ nằm thẳng hàng với 8 bit 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 bit 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 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 bit;

- 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 bit có thể chuyển dữ liệu với card mở rộng dạng 8/16/32 bit 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

8

Trang 6

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

Song song với sự ra đời các bộ vi xử lý 32 bit 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êu cầ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 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

9

Trang 7

32 bit đượ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 dặc tính của bus cục bộ PCI là:

thống 5V sang 3.3V bằng việc sử dụng các lẫy điện áp

• 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

• 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

10

Trang 8

Bridge Memory Controller

Cache

PCI local bus #0

Graphics Other I/O

Functions SCSI

PCI local bus #1 LAN

PCI-to-PCI Bridge

Motion Video Processor

Hình 1.2: Sơ đồ khối hệ thống PCI

Ở sơ đồ trên ta 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ỉ I/O Đồng thời cầu PCI tạo ra đường truyền băng thông rộng và có nhiều tí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

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 đố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 bit) trong khối đó

11

Trang 9

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 đồ 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

12

Trang 10

Chipset Gfx

Accel LFB

I/O I/O AGP

PCI

I/O

Sys Mem Processor

Hình 1.3: Sơ đồ khối mối quan hệ AGP và PCI

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

USB là một 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

13

Trang 11

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

Keyboard (Hub)

Monitor (Hub) USB

Host Controller (Root Hub)

Video Frame Buffer Main Memory

16-Bit PC Card CardBus

PC Card

Mouse Speaker Disk

Tape

CD ROM

CPU Local Bus

BusHost/

PCI Cache/ Bridge

Graphics Adapter

Card Bus Bridge

LAN Adapter

SCSI Host Bus Adapter

PCI Bus

Hình 1.4: Sơ đồ khối mối quan hệ USB và PCI

Ở trên 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

14

Trang 12

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

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)

Đặ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àn phím, chuột…

Chuẩn USB hiện có hai phiên bản là USB 1.1 và USB 2.0 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ới tốc độ 480 Mb/s

Qua việc tìm hiểu về giao diện tốc độ cao ta nhận thấy giao diện PCI là cơ sở để xây dựng các chuẩn giao tiếp khác Vì vậy trước khi tìm hiểu chuẩn giao diện USB ta sẽ nghiên cứu những vấn đề cơ bản nhất của giao diện PCI

1.3 Chuẩn giao diện Peripheral Component Interconnect - PCI 1.3.1 Mô tả chân tín hiệu trên Slot PCI

15

Trang 13

Các chân tín hiệu được phân chia theo nhóm và tổ chức như sau :

Arbitration (maslers only)

PCI Compliant

Device

AD[31::0]

C/BE[3::0]# Address

and Data

PARFRAME#

TRDY# IRDY# STOP# DEVSEL#

IDSEL#

Interface Control

PERR# SERR#

Error Reporting

REQ# GNT# CLK RST#

AD[63::32] C/BE[7::4]#

64-Bit Extension

Interface Control

Interrupts

JTAG

(IEEE 1149.1)

Hình 1.5: Tổ chức chân Bus PCI

+ 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ừ

16

Trang 14

(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 nhịp 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

- 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

17

Trang 15

+ 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

+ 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

18

Trang 16

- 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 đổi 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 bit: Nếu sử dụng Bus mở rộng 64 bit 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 bit bổ xung Trong một nhịp địa chỉ thì 32 bit cao của địa chỉ 64 bit được truyền đi Trong nhịp dữ liệu, 32 bit dữ liệu bổ xung được truyền đi khi tác vụ thực thi 64 bit đượ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 bit

- ACK66#: Tín hiệu chấp nhận truyền 64 bit

- PAR64#: Chân tín hiệu chẵn lẻ 32 bit phần cao trong tổng số 64 bit 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ình

kiểm tra thiết bị

19

Trang 17

+ 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

1.3.2 Các lệnh Bus

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ỉ Chúng gồm:

0000 Nhận ngắt 0001 Chu kỳ nhịp đặc biệt

Trang 18

1.3.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 đố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 bit) 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

- 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

1.3.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)

21

Trang 19

+ Đị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 1 Dành cho người sử dụng

+ Định địa chỉ vào/ra: Cả 32 bit 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

+ Đị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ớ

1.3.5 Tổ chức không gian cấu hình bus PCI

00h 04h 08h 0Ch 10h 14h 18h 1Ch 20h 24h 28h 2Ch 30h 34h 38h

Interrupt Line Interrupt

Pin Min Gnt

Max Lat

Reserved

Capabilities Pointer Reserved

Expansion ROM Base Address

Subsystem ID Subsystem Vendor ID Base Address Registers

Cardbus CIS Poiter

Device ID Vendor IDCommand Status

Size Revision ID Latency Timer

Header Type Class Code

0 15

16 31

3Ch

Hình 1.6: Đoạn đầu không gian cấu hình

22

Trang 20

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 1.6

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 bit và cùng nằm tại địa chỉ 04h trong không gian cấu hình của bus PCI

1.3.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 bit 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à không gian I/O này sẽ không thực hiện một thành phần khả ghi tại vị trí bit “0” trên thanh ghi lệnh

15 10 9 8 7 6 5 4 3 2 1 0 Reserved

Trang 21

- Bit 1: Điều khiển một phản ứng của thiết bị tới sự truy cập không nhớ * Mức ‘0’: Không cho phép

* Mức ‘1’: Thì cho phép thiết bị đáp ứng tới việc truy cập không gian nhớ - Bit 2: Điều khiển một thiết bị hoạt động như một thiết bị chủ trên bus PCI

* Mức ‘0’: Thì bộ nhớ ghi được sử dụng thay cho thiết bị chủ

- Bit 5: Điều khiển card VAG tương thích với thiết bị đồ hoạ điều khiển tới thanh ghi bảng màu

* Mức ‘1’: Bảng màu được cho phép sử dụng

* Mức ‘0’: Thì thiết bị nên xem xét ghi bảng màu cho mọi sự truy cập - Bit 6: Điều khiển sự phản ứng của thiết bị với sai số chẵn lẻ Khi bit này có mức ‘1’ thì thiết bị hoạt động ở mức bình thường và khi đó một sai số chẵn lẻ được phát hiện

- Bit 8: Là bit cho phép cho bộ điều khiển SERR# * Mức ‘0’: Không cho điều khiển tín hiệu SERR# * Mức ‘1’: Thì cho phép điều khiển SERR#

- Bit 9: Điều khiển tuỳ chọn đọc, ghi một thiết bị chủ có sự giao dịch kiểu Back-to-Back đối với thiết bị khác Phần mềm khởi tạo sẽ được thiết lập nếu thiết bị đích cũng có khả năng giao dịch kiểu back-to-back

- Bit 10: Cho phép xác nhận INTx# - Bit 7 và bit 11÷15: Để dành

24

Trang 22

1.3.5.2 Thanh ghi trạng thái

Dùng để ghi thông tin trạng 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

Trang 23

- 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

Trang 24

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-1 Bus CMD

AD

Bus transaction

Data Phase Data

Phase Data

Phase Address

Phase Address

9 8

7 6

5 4

3 2

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

Trang 25

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

Trang 26

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 :

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

9 8

7 6

5 4

3 2

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

Trang 27

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

Trang 28

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

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

Trang 29

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

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

Trang 30

Đố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

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

Trang 31

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

Trang 32

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#

35

Trang 33

đ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

Ngày đăng: 25/11/2012, 20:38

HÌNH ẢNH LIÊN QUAN

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.. - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
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 (Trang 11)
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 - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
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 (Trang 37)
2.1.2. Đặc tớnh điện của cổng USB. - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
2.1.2. Đặc tớnh điện của cổng USB (Trang 37)
3.7.2. Cấu hình với EEPROM. - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
3.7.2. Cấu hình với EEPROM (Trang 59)
3.7. Cỏc mạch sử dụng chip FT245BM. - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
3.7. Cỏc mạch sử dụng chip FT245BM (Trang 59)
3.7.7. Cấu hình với bộ vi điều khiển (MCU): - Tổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT245BM
3.7.7. Cấu hình với bộ vi điều khiển (MCU): (Trang 67)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w