Đề tài Tổng quan giao diện máy tính - thiết kế giao diện USB sử dụng chip FT232BM

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

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

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

 

doc73 trang | Chia sẻ: netpro | Lượt xem: 2263 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Đề tài Tổng quan giao diện máy tính - thiết kế giao diện USB sử dụng chip FT232BM, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
g được đọc tại địa chỉ 34h. - Bít 5: Là bít 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. - Bít 6: Là bít để dành. - Bít 7: Là bít 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. - Bít 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. * Bít điều khiển phản ứng với sai số chẵn lẻ (bít 6 thanh ghi lệnh) được thiết lập. - Bít 9 và bít 10: Là những bít 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. - Bít 11: Bít này phải được thiết lập bởi thiết bị đích. - Bít 12: Bít 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. - Bít 13: Bít 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ủ. - Bít 14: Bít này phải được thiết lập mỗi khi thiết bị xác nhận tín hiệu SERR#. - Bít 15: Bít 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ư bít thứ 6 trên thanh ghi lệnh). 2.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 bít trên bus PCI, những thay đổi để có thể mở rộng kênh dữ liệu thành 64 bít 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. 2.6.1. Chu kỳ đọc dữ liệu với bus PCI 32 bít. Hình 2.5: Chu kỳ đọc dữ liệu. 1 2 3 4 5 6 7 8 9 CLK FRAME# Wait Data tranfer Wait Wait Data tranfer Data tranfer Address Address Phase Data Phase Data Phase Data Phase Bus transaction AD Bus CMD Data-1 Data-2 Data-3 C/BE# IRDY# TRDY# DEVSEL# BE#’s Đồ thị thời gian của chu kỳ đọc dữ liệu thể hiện trên hình 2.5. 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. 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ìn 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êụ 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êụ 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 2.5 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 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. 2.6.2. Chu kỳ ghi dữ liệu với bus PCI 32 bít. 1 2 3 4 5 6 7 8 9 CLK FRAME# Wait Data tranfer Wait Wait Data tranfer Data tranfer Address Address Phase Data Phase Data Phase Data Phase Bus transaction AD Bus CMD Data-3 C/BE# IRDY# TRDY# DEVSEL# Hình 2.6: Chu kỳ ghi dữ liệu. Data-1 Data-2 BE#’s-1 BE#’s-2 BE#’s-3 Đồ thị thời gian của chu kỳ ghi dữ liệu thể hiện trên hình 2.6. 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. 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. 2.6.3. Các thao tác trên bus PCI 66 Mhz. Bus PCI 66 Mhz thao tác tới tốc độ tối đa là 66 Mhz bằng cách giảm thời gian trễ. Không có nhều sự khác nhau giữa bus 33 Mhz và 66 Mhz, cả hai đều dùng chung giao thức bus, các đường tín hiệu và sự sắp đặt điểm nối. Để nhận dạng thiết bị PCI 66 Mhz, một tín hiệu tĩnh được bổ sung để xác định lại sự tồn tại của chân đất, và một bít được đặt thêm vào thanh ghi cấu hình trạng thái (bít thứ 5 trong thanh ghi trạng thái). Một thiết bị PCI 66 Mhz hoạt động như một thiết bị PCI 33 Mhz khi nó được kết nối đến một bus PCI 33 Mhz. Tương tự, nếu bất kỳ một thiết bị PCI 33 Mhz nào được kết nối tới bus PCI 66 Mhz thì bus PCI 66 Mhz đó sẽ hoạt động như một bus PCI 33 Mhz và mô hình lập trình cho bus PCI 66 Mhz, 33 Mhz là như nhau. - Sự xác định thiết bị PCI 66 Mhz được thực hiện khi bít 66 Mhz Capable (là bít thứ 5 của thanh ghi trạng thái PCI) đặt lên mức 1. - Card bổ sung và bus phân đoạn không có khả năng thao tác trong chế độ 66 Mhz phải nối chân M66EN với đất. Một board hệ thống hoặc phân đoạn PCI 66 Mhz phải cung cấp một điện trở tăng cường đơn cho nguồn thiên áp Vcc trên chân M66EN. 3.3 Volt Clock 0.5 Vcc 0.4 Vcc 0.3 Vcc 0.4 Vcc,p-to-p (minimum) 0.6 Vcc 0.2 Vcc Thigh Tlow Tcyc Hình 2.7: Chu kỳ Clock trên bus PCI - Xung Clock theo chuẩn PCI trong khi trao đổi dữ liệu với tần số 33/66 Mhz có các tham số như được chỉ ra trên hình 2.7. 66 MHz 33 MHz4 Symbol Parameter Min Max Min Max Units Notes Tcyc CLK Cycle Time 15 30 30 ns 1.3 Thigh CLK High Time 6 11 ns Tlow CLK Low Time 6 11 ns - CLK Slew Rate 1.5 4 1 4 V/ns 2 Bảng tham số của chu kỳ Clock trên bus PCI 2.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. 2.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. Qúa 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 thaí 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. Master – abort: Đối tượng điều khiển kết thúc quá trình trao đổi dữ liệu mà không cần quan tâm đến phản ứng của đối tượng bị điều khiển. Hình 2.8 cho 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 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. 1 2 3 4 1 2 3 4 CLK GNT# FRAME# IRDY# TRDY# Hình 2.8: Đối tượng điều khiển bắt đầu kết thúc trao đổi. T.O T.O 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 qúa trình giao dịch khi đã kết thúc với Master - abort. 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. 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ự 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à Disconet # 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 2 3 4 5 6 7 8 CLK FRAME# IRDY# TRDY# Hình 2.9: Ngưng kết nối dạng thứ 1 STOP# DEVSEL# Data Phase Data Phase Data Phase Data Phase Data tranfer Data tranfer 2.7.3. Ngưng kết nối không cần sự kết thúc nhịp dữ liệu. Hình 2.9 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. Đố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 CLK FRAME# IRDY# TRDY# Hình 2.10: Ngưng kết nối dạng thứ 2 STOP# DEVSEL# Data Phase Data Phase Data Phase Data tranfer Data tranfer Hình 2.10 cho ta thấy răng quá trình giao dịch cũng như được mô tả trên hình 2.9 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 2 3 4 CLK STOP# FRAME# IRDY# TRDY# Hình 2.11: Sự giao dịch bị bãi bỏ bởi đối tượng bị điêu khiển. DEVSEL# 2.7.4. Sự giao dịch bị bãi bỏ bởi đối tượng bị điều khiển. Hình 2.11 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ơỉ 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#. 2.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 đ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. 2.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. 0 4 3 2 5 6 7 Reset Bắt đầu chu kỳ ghi Bắt đầu chu kỳ đọc Bus trống Kết thúc một chu kỳ Hình 2.12: Đồ 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. 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. 2.9. MODULE GIAO TIẾP BUS PCI 32 BÍT/33 MHZ. Sau khi nghiên cứu cấu tạo, đặc trưng kỹ thuật, cách tổ chức và nguyên tắc điều khiển giao diện PCI ta thấy khi thiết kế Card giao tiếp theo chuẩn PCI thì vần đề tổ chức không gian địa chỉ vào/ra, mã hoá, giải mã lệnh và trạng thái phải đảm bảo những yêu cầu quan trọng như: Tốc độ xử lý cao, hoạt động tin cậy...Một mạch tổ hợp sử dụng các linh kiện chuẩn sẽ không đáp ứng được yêu cầu này mà nó phải được thực hiện dựa trên việc sử dụng vi mạch chế tạo theo công nghệ ASIC (như vi mạch FPGA của hãng Xilink, Altera...). Sơ đồ khối môdun giao tiếp chuẩn PCI 32 bít/33 Mhz như hình 2.13. Trường thanh ghi cấu hình bus Logic điều khiển giao diện chủ Đệm, kích hoạt ĐC/DL, lệnh CLK RST# Slot PCI IDSEL# AD[32..0] C/BE[3..0]# GNT# REQ# FRAME# IRDY# TRDY# Logic điều khiển giao diện đích DEVSEL# STOP# INTA# Tạo, kiểm tra chẵn lẻ PAR# PERR# SERR# DATA[31..0] ADD[31..0] CSi RD/WR CSi+1 STATUS Hình 2.13: Sơ đồ khối môdun giao tiếp PCI 32bít/33Mhz Thiết bị ngoại vi Môdun được thiết kế để đảm bảo các yêu cầu cơ bản như: - Giao diện chủ và đích có thể hoạt động độc lập để tạo ra thông lượng lớn nhất và sử dụng bus PCI một cách hiệu quả, bảo đảm chính xác việc định thời và tuân thủ giao thức đã thiết kế. - Có các thanh ghi cấu hình, tạo ra tính thích nghi, khả năng thay đổi tỷ lệ, có thể sử dụng trong nhiều dạng tín hiệu có các yêu cầu khác nhau. Chức năng của các khối như sau: - Khối trường thanh ghi cấu hình: Thực hiện tất cả các thanh ghi cấu hinh theo yêu cầu của đặc tính bus cục bộ PCI. Có thể cài được các thanh ghi theo yêu cầu của hệ thống bằng cách đặt các tham số. Bao gồm các thanh ghi: * Các thanh ghi tham số hoá: ID thiết bị, ID hãng cung cấp, mã lớp, thanh ghi địa chỉ cơ sở BAR0-BAR5, ID hệ con, độ trễ lớn nhất, con trỏ liệt kê chức năng, ROM BAR mở rộng. * Thanh ghi địa chỉ cơ sở mặc định hoặc đặt trước, và thanh ghi địa chỉ cơ sở ROM mở rộng. * Các thanh ghi không tham số: Thanh ghi lệnh, trạng thái, dạng tiêu đề, bộ định thời mức trễ, kích thước cache, chân ngắt, đường ngắt. - Khối đệm, kích hoạt địa chỉ dữ liệu lệnh: Đệm địa chỉ, dữ liệu. Gộp và đăng ký tất cả các tín hiệu kích hoạt byte địa chỉ, dữ liệu, lệnh cho giao diện phía thiết bị ngoại vi. - Khối lôgic điều khiển giao diện chủ: Hoạt động ở chế độ chủ trên bus PCI. Có hỗ trợ ứng dụng cầu chủ. - Khối lôgic điều khiển giao diện đích: Hoạt động ở chế độ đích (bị điều khiển) trên bus PCI, có nhiệm vụ. * Hỗ trợ con trỏ dạnh mục chức năng. * Phát hiện lỗi chẵn lẻ. * Có 6 thanh ghi địa chỉ để thay đổi kích thước và kiểu bộ nhớ * Hỗ trợ ROM BAR mở rộng. * Phía thiết bị ngoại vi có thể yêu cầu huỷ đích, làm lại, hoặc huỷ kết nối. * Yêu cầu ngắt từ phía cục bộ. - Khối tạo và kiểm tra chẵn lẻ: Có trách nhiệm tạo và kiểm tra chẵn lẻ. Nó cũng khẳng định tín hiệu lỗi chẵn lẻ và các bít thanh ghi trạng thái cần thiết khác. Sau khi thiết kế và chế tạo xong phần cứng thì mã lệnh của trình điều khiển môdun được tạo ra dưới sự hỗ trợ của các bộ công cụ chuyên dụng, ví dụ như WinDriver (được giới thiệu chi tiết ở chương 3). Bằng các ngôn ngữ lập trình quen thuộc (C/C++, Delphi, Visual Basic...) để phát triển mã lệnh của trình điều khiển môdun do WinDriver hỗ trợ thành những hàm chức năng của môdun cần thiết kế. Chương này nghiên cứu những vấn đề cơ bản nhất của PCI nói chung và đề xuất một giải phát thiết kết môdun giao tiếp tốc độ cao 32 bít/33Mhz. Chương 3 tiếp tục nghiên cứu về giao diện USB – một chuẩn tốc độ cao đang được các nhà sản xuất thiết bị tập chung phát triển, nó cho phép nối máy tính với hầu hết các thiết bị ngoại vi thông dụng. CHƯƠNG 3 GIAO DIỆN USB VÀ THIẾT KẾ THIẾT BỊ SỬ DỤNG GIAO DIỆN USB 3.1. GIAO DIỆN USB. 3.1.1. Bộ kết nối USB. 2 1 3 4 1 2 3 4 Receptacle type A Receptical type B Hình 3.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 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à kiểu B. Hình 3.1 dưới đây cho ta biết hai kiểu kết nối trong USB: 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 nhất 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ó 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 sẽ cho ta có thể tối thiểu hoá các thiết bị kết nối. Hướng kết nối 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. Thường kiểu màu của cáp dùng cho USB quy định như sau: Pin Number Cable Colour Function 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. 3.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.8V với một điện trở 15KW kéo xuống đất và qua chân D- (chân 2) có mức điện áp dưới 0.3V cùng một điện trở 1.5KW 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 90KW +/-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.78mA cho việc truyền tín hiệu để giảm nhiễu. 3.1.3. Dòng trì hoãn. 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ó giá trị tối đa tương

Các file đính kèm theo tài liệu này:

  • docTổng quan giao diện máy tính - Thiết kế giao diện USB sử dụng chip FT232BM.doc