Thông tin hồng ngoại qua cổng usb

  • Số trang: 114 |
  • Loại file: PDF |
  • Lượt xem: 31 |
  • Lượt tải: 0
nhattuvisu

Đã đăng 26946 tài liệu

Mô tả:

ĐẠI HỌC QUỐC GIA HÀ NỘI KHOA CÔNG NGHỆ LÊ VĂN THANH VŨ Thông tin hồng ngoại qua cổng USB LUẬN VĂN THẠC SĨ KỸ THUẬT VÔ TUYẾN ĐIỆN TỬ VÀ THÔNG TIN LIÊN LẠC HÀ NỘI, 2003 i MỤC LỤC Mở đầu Chương 1 Tổng quan cổng nối tiếp đa năng 1 2 1.1. Kiến trúc bus USB 2 1.1.1. Hệ thôngs USB 1.1.2. Giao diện vật lý 2 3 1.2. Giao thức USB 1.3. Loại luồng dữ liệu 1.4. Các thiết bị trong hệ thống USB 1.4.1. Các đặc tính thiết bị 1.4.2. Đặc tả thiết bị 1.5. Hệ thống liên kết dữ liệu hồng ngoại Chương 2 Giao diện điều khiển 2.1. Giao diện host đa năng 2.2. Đặc tả thanh ghi 2.2.1. Các thanh ghi vào ra USB 2.2.2. Các thanh ghi cấu hình PCI (USB) 2.3. Cấu trúc dữ liệu 2.3.1. Con trỏ danh sách khung 2.3.2. Đặc tả truyền 2.3.3. Tiêu đề hàng đợi (QH) 2.3.4. Nguyên dạng và các tác vụ dữ liệu nguyên thủy Chương 3 Giao thức truyền dữ liệu 3.1. Các khái niệm 3.1.1. Thứ tự Bit/Byte 3.1.2. Trường đồng bộ 3.2. Định dạng trường của gói 3.2.1. Trường nhận diện gói 3.2.2. Các trường địa chỉ 3.2.3. Trường số khung 3.2.4. Trường dữ liệu 3.2.5. Kiểm tra vòng dư (CRC) 3.3. Các định dạng gói 3.3.1. Gói thẻ bài 3.3.2. Gói thẻ bài đặc biệt giao dịch Split 3.3.3. Các gói khởi đầu khung - SOF 3.3.4. Gói dữ liệu 3.3.5. Gói bắt tay 3.3.6. Đáp ứng gói bắt tay 3.4. Chuỗi gói giao dịch 5 5 6 6 6 7 9 9 9 11 17 19 19 20 24 25 36 36 36 36 36 37 38 39 39 39 40 40 40 44 45 46 47 49 ii 3.4.1. Các ký hiệu tổng quát 3.4.2. Giao tác khối 3.4.3. Các tác vụ điều khiển 3.4.4. Giao dịch ngắt 3.4.5. Các giao dịch đẳng thời 3.5. Đồng bộ chốt dữ liệu và xét lại 3.5.1. Thiết lập qua thẻ bài Setup 3.5.2. Hoàn thành các giao dịch dữ liệu 3.5.3. Dữ liệu hỏng hay không chấp nhận 3.5.4. Lỗi bắt tay ACK 3.5.5. Các giao dịch tốc độ thấp Chương 4 Khung làm việc 4.1. Sơ đồ trạng thái thiết bị USB 49 52 55 56 57 59 60 60 60 61 61 63 63 4.1.1. Các trạng thái 4.1.2. Đánh số bus 65 66 4.2. Các yêu cầu thiết bị 67 4.2.1. bmRequestType 4.2.2. bRequest 4.2.3. wValue 4.2.4. wIndex 4.2.4. wLength 68 68 68 68 68 4.3. Các yêu cầu thiết bị chuẩn 4.3.1. Clear Feature - Xóa đặc tính 4.3.2. Lấy cấu hình - Get Configuration 4.3.3. Lấy đặc tả - Get Descriptor 4.3.4. Lấy giao diện - Get Interface 4.3.5. Yêu cầu trạng thái - Get Status Chương 5 Giao thức IrDA 69 71 71 71 71 72 74 5.1. Lớp giao thức quản lý liên kết hồng ngoại - IrLMP 75 5.1.1. Điều khiển liên kết 5.1.2. Khối ghép kênh 5.1.3. Định dạng khung 75 76 77 5.2. Lớp giao thức truy xuất liên kết - IrLAP 80 5.2.1. Đặc tả dịch vụ lớp liên kết dữ liệu 5.2.2. Các đặc tính hoạt động và môi trường 5.2.3. Cấu trúc khung IrLAP 5.2.4. Các thành phần thủ tục 5.2.5. Các lệnh và đáp ứng 80 83 83 85 86 5.3. Lớp vật lý 5.3.1. Tổng quan lớp vật lý 5.3.2. Đặc tả môi trường giao diện 93 93 94 iii 5.3.3. Điều chế và giải điều chế Kết luận Tài liệu tham khảo 96 100 102 Lê Văn Thanh Vũ 1 Luận văn thạc sĩ Mở đầu Khi máy tính ngày một phát triển các ứng dụng với khả năng thích ứng trong nhiều lĩnh vực, thì việc mở rộng các thành phần cũng là một vấn đề thời sự khi mà các khả năng mở rộng trước đây không còn phù hợp nữa. Với việc mở rộng hệ thống máy tính phía bên ngoài, trước đây được thực hiện thông qua cổng COM, thì giờ đây đã có sự thay thế hoàn thiện hơn về nhiều mặt đó chính là USB và liên kết hồng ngoại IrDA. USB là một cổng mở rộng thực hiện truyền nhận theo phương thức nối tiếp nhưng tối ưu hơn so với cổng COM bởi nhiều đặc tính như tốc độ, sự mềm dẻo và khả năng tương thích cao. Đặc biệt trong USB là khả năng nhận biết thiết bị nóng bằng hoạt động hỏi vòng trạng thái cổng đã cho ta một cái nhìn hoàn toàn khác so với các chuẩn mở rộng khác. Cũng là một giao diện dữ liệu mở rộng khác của máy tính nhưng lại với môi trường hồng ngoại, mang đầy đủ các đặc tính linh hoạt của liên kết không dây. Liên kết dữ liệu hồng ngoại (IrDA) là phương pháp liên kết dữ liệu dùng cho máy tính với nhiều dạng thiết bị khác nhau. IrDA được hỗ trợ trong nhiều dạng thiết bị khác nhau mà đặc trưng là các thiết bị như: thiết bị PDA, máy điện thoại di động, thiết bị âm thanh, camera,... và cũng có thể dùng để liên kết hai máy tính. Do đó, việc tìm hiểu sự kết hợp hai chuẩn này dùng cho việc liên kết trao đổi dữ liệu giữa máy tính với các thiết bị khác là một vấn đề rất mới và đây là mục đích chính của luận văn này. Việc kết hợp này được xét đến dựa trên sự kết nối IrDA thông qua cổng USB là một dạng tổng quát chung cho việc dùng hồng ngoại trao đổi dữ liệu giữa các thiết bị có vi xử lý và hỗ trợ giao thức IrDA với máy tính. Từ những vấn đề đặc ra này mà tôi đã mạnh dạn chọn đề tài "Thông tin hồng ngoại qua cổng USB" để làm luận văn tốt nghiệp thạc sĩ của mình. Lê Văn Thanh Vũ 2 Luận văn thạc sĩ Chương 1 Tổng quan cổng nối tiếp đa năng USB là một cổng mở rộng cho dùng cho việc trao đổi số liệu nối tiếp đa năng, hiện nay đã và đang dần dần thay thế cho giao diện RS232 đã bộc lộ nhiều hạn chế trong khi các đòi hỏi ngày một cao. Với nhiều tính năng ưu việt khi kết hợp sự tiện lợi của kỹ thuật truyền nối tiếp và đáp ứng tốc độ cao cũng như đa dạng về giao thức và linh hoạt trong các tác vụ giao dịch. Từ đó, USB là một sự mở rộng cần được xem xét một cách tổng quan và chi tiết để phục vụ cho các mục đích trao đổi dữ liệu và mở rộng hệ thống của PC trong các điều kiện làm việc chuyên dụng. Trong chương này chủ yếu là bàn về các khái niệm tổng quan và cho biết về các đặc tính cơ bản của USB. Trong các phần sau sẽ tìm hiểu chi tiết hơn với các vấn đề cụ thể để thực hiện chức năng truyền qua cáp nối tiếp giữa các thiết bị (chức năng) với máy tính (host) 1.1. Kiến trúc bus USB 1.1.1. Hệ thống USB Một hệ thống USB có thể chia là ba phần là - Kết nối USB. - Thiết bị USB. - Host USB Kết nối USB là một cách thức mà thiết bị USB được kết nối và thông tin với Host, điều này bao gồm. - Kiến trúc USB, là mô hình sự kết nối giữa thiết bị USB và Host. - Mối liên hệ giữa các lớp trong hệ thống, một giao dịch USB được thực hiện tại mỗi lớp của hệ thống. - Các mô hình dòng dữ liệu, là cách thức di chuyển dữ liệu trong hệ thông thông qua USB. Lê Văn Thanh Vũ 3 Luận văn thạc sĩ - Danh mục USB, USB được cung cấp như một kết nối chia sẻ. Mà việc truy xuất kết nối được thực hiện theo thứ tự hỗ trợ từ tác vụ Tầng 1 Hub gốc (trạm gốc) Tầng 2 Hub 1 Hub 2 Hub 3 Hub Hub Chức năng Chức năng Chức năng Chức năng Tầng 3 Tầng 4 Tầng 5 Tầng 6 đẳng thời và để loại bỏ quyết định tiêu đề. Trong cây cấu trúc trên, ta có thể thấy được các thành phần hệ thống USB như sau - Host USB, mỗi hệ thống chỉ có một Host. Giao diện USB trong hệ thống máy tính xem như là một bộ điều khiển Host. Bộ điều khiển Host có thể gồm được tạo lập từ phần cứng, phần sụn và phần mềm. Hub gốc được tích hợp trong hệ thống Host, có thể có một hoặc nhiều hơn các điểm kết nối. - Các thiết bị USB. Hình Gồm: cung 1.1.Hub, Kiến trúc USB cấp các điểm tương tác cho USB. Các chức năng, cung cấp các năng lực hệ thống như : kết nối ISDN, bộ nhớ lưu động, Camera, các thiết bị hồng ngoại,... 1.1.2. Giao diện vật lý + Tín hiệu điện Hình 1.2. Cáp USB Lê Văn Thanh Vũ 4 Luận văn thạc sĩ Chuẩn giao tiếp mở rộng USB sử dụng cáp gồm bốn dây để truyền tín hiệu và năng lượng có dạng như H-1.2. Trên đường truyền USB, đường báo hiệu có ba tốc độ (theo chuẩn 2.0) - Báo hiệu USB tốc độ cao, với tốc độ là 480Mbps. - Báo hiệu tốc độ trung bình, 12Mbps. - Chế độ báo hiệu tốc độ cực tiểu, 1.5Mbps. Với kết nối giữa Hub với Host thường ở chế độ tốc độ cao, nhưng khi kết nối giữa thiết bị với hub thì thường ở tốc độ trung bình và thấp. Với báo hiệu tốc độ cực tiểu dùng để hỗ trợ một số ít các thiết bị có băng thông thấp. Tín hiệu đồng hộ được tách từ tín hiệu dữ liệu, với dạng mã hóa dữ liệu trên đường USB là NRZI, đồng thời trong nhiều chế độ truyền nhận điều có trường kiểm tra CRC. + Cơ khí Chuẩn cơ khí quy định về hình dạng cơ khí của dây cáp USB và các kết nối USB. Trong chuẩn USB có một dạng cáp 4 dây với bốn màu, đỏ (đường 1.3: Cấu trúc xanh đầu cắm và lỗ cắm cấp nguồn dương), đenHình (đường đất), Green (D+USB ) và trắng (D-). Lê Văn Thanh Vũ 5 Luận văn thạc sĩ Về đầu nối có hai dạng, một dạng dẹp rộng dùng cho Hub, là đầu cắm từ dây vào hub và lỗ cắm được gọi là dạng A. Một dạng khác dùng cho các thiết bị USB là dạng B. Các chốt cắm và lỗ cắm được cho như trong H-1.3. 1.2. Giao thức USB USB là một Bus thăm dò, Bộ điều khiển Host thiết lập tất cả dữ liệu truyền nhận. Hầu hết các giao dịch bus đều gồm ba gói dữ liệu trở lên. Mỗi giao dịch đều bắt đầu khi Bộ điều khiển Host dựa trên danh mục cơ sở phát một gói mô tả loại và hướng truyền, địa chỉ thiết bị và số điểm cuối, gói này được gọi là gói thẻ bài. Thiết bị có địa chỉ thích ứng với địa chỉ giải mã được trên trường địa chỉ nhận giao dịch. Trong giao dịch thì hướng truyền luôn được xác định thông qua thẻ bài. Sau gói thẻ bài, nguồn phát dữ liệu sẽ phát dữ liệu nếu có và điểm nhận sẽ trả lời bằng các đáp ứng. Đặc biệt có một số giao dịch giữa Host và Hub có thể có bốn gói khi truyền nhận ở tốc độ cao. Loại giao dịch này chủ yếu để điều khiển giao dịch giữa Host với các thiết bị tốc độ trung bình và thấp. Mô hình truyền nhận dữ liệu nguồn và đích trên hệ USB (host và điểm cuối của thiết bị) như là một pipe. Có hai loại pipe là: bản tin và chuỗi. Dữ liệu bản tin có định dạng theo USB, như chuỗi thì không. Chuỗi dữ liệu còn liên hệ với dải thông, loại dịch vụ truyền dẫn, và đặc tính của điểm cuối (kích thước bộ đệm, hướng). 1.3. Loại luồng dữ liệu USB hỗ trợ chức năng chuyển tải dữ liệu và điều khiển giữa Host USB và một thiết bị bởi các ống truyền một hướng hoặc hai hướng. Các tác vụ truyền USB. Cấu trúc luồng của USB bao gồm bốn loại truyền dẫn cơ bản là: - Truyền điều khiển, được dùng để cấu hình thiết bị và có thể được dùng cho mục đích đặc tả thiết bị khác, bao gồm luôn của các ống truyền khác của thiết bị. Lê Văn Thanh Vũ 6 Luận văn thạc sĩ - Truyền khối dữ liệu, được phát và dùng cho trường hợp thiết bị dải thông rộng và dải thông động khi truyền nhận với các khối dữ liệu lớn. Truyền khối thường có dạng chuỗi các khung nối tiếp. - Truyền ngắt, được dùng tức thời nhưng phân bố xác thực của dữ liệu. - Truyền đẳng thời (truyền dòng dữ liệu thời gian thực), chiếm giữ một dải thông USB được phân định trước cho được truyền xác định. Dải thông USB phân phối giữ các ống. USB chỉ định dải thông cho một số ống khi một ống đã được thiết lập. Thiết bị USB yêu cầu cung cấp bộ đệm dữ liệu. Nó giả thiết là yêu cầu của các thiết bị lớn hơn bộ đệm được cấp 1.4. Các thiết bị trong hệ thống USB 1.4.1. Các đặc tính thiết bị Tất cả các thiết bị USB đều được truy xuất đến một địa chỉ USB khi thiết bị được xét đến và đánh số. Các thiết bị được hỗ trợ bởi một hoặc nhiều ống truyền để thông tin với Host. Tuy nhiên tất cả các thiết bị USB đều phải hỗ trợ ống đặc biệt tại điểm cuối 0 dùng cho ống điều khiển thiết bị tương tác. Tất cả các thiết bị điều có cùng cơ chế truy xuất thông tin thông qua ống này. Kết hợp với ống điều khiển này tại điểm cuối 0 là yêu cầu thông tin đầy đủ để mô tả đầy đủ thiết bị USB. Những thông tin này nằm trong dang sách như sau - Chuẩn, đây là những thông tin chung dùng cho tất cả các thiết bị USB bao gồm các như là sự nhận biết khách thể, lớp thiết bị và công suất được cấp. Thiết bị, cấu hình, đặc tả điểm cuối mang thông tin quan hệ cấu hình về thiết bị. - Lớp, thông tin này thay đổi phụ thuộc vào lớp thiết bị USB. - Khách thể USB, vendor của thiết bị USB là tùy ý và được đặt ở đây. Tuy nhiêu chi tiết cụ thể không đề cập đến trong luận án này. Lê Văn Thanh Vũ 7 Luận văn thạc sĩ 1.4.2. Đặc tả thiết bị a. Hub Hub là mấu chốt cho kiến trúc cắm chạy của USB, nó cung cấp kết nối USB đơn giữa người sử dụng với Hub gốc liên hệ với giá rẻ và phức tạp. Với chuẩn USB 2.0, Hub có ba thành phần : điều khiển Hub, bộ lặp lại Hub, và biên dịch giao tác. Lặp lại Hub là chuyển mạch giao thức điều khiển giữa các cổng dòng lên và dòng xuống. Bộ điều khiển Hub cung cấp truyền tin đến và đi với Host. Các trạng thái đặc tả Hub và thực hiện các lệnh điều khiển host để cấu hình Hub và điểm giám sát và điều khiển các cổng của nó. b. Chức năng Chức năng là một thiết bị USB có thể nhận và phát dữ liệu hay thông tin điều khiển thông qua hub. Chức năng là một thiết bị ngoại vi tiêu biểu như là một thiết bị ngoại vi độc lập với một cáp được cắm vào một cổng trên hub. Tuy nhiên có thể đóng gói vật lý thiết bị nhiều chức năng được gắn với hub bằng một cáp đơn. Mỗi chức năng chứa thông tin cấu hình để đặc tả khả năng và tài nguyên yêu cầu cho nó. Trước khi sử dụng chức năng thì Host phải cấu hình cho nó, việc cấu hình này bao gồm việc phân cấp dải thông và tùy chọn cấu hình cụ thể của chức năng. Ta có thể nhận được các chức năng như: - Các thiết bị giao tiếp người dùng, như chuột, bàn phím,.... - Các thiết bị hình ảnh, như máy ảnh số, camera. - Các thiết bị như cắm ngoài. 1.5. Hệ thống liên kết dữ liệu hồng ngoại IrDA Liên kết dữ liệu với các thiết bị cầm tay với máy tính là một hướng đã và đang phát triển mạnh. Với ý nghĩa đó thì IrDA là một giải pháp rất tốt với Hình 1.4 : Hub chuẩn Lê Văn Thanh Vũ 8 Luận văn thạc sĩ nhiều tính năng phù với mục đích này khi mà ngày càng nhiều các thiết bị cầm tay có gắn các đầu liên kết IrDA. Giao tiếp dữ liệu IrDA cũng được thực hiện theo mô hình bảy lớp tương ứng với các lớp của mô hình OSI như trong H-1.5. Trong đó có ba lớp thực hiện các chức năng chính của IrDA là IrLMP, IrLAP và IrPHY. Trong đề tài này chủ yếu là đặc vấn đề tìm hiểu việc truyền nhận IrDA thông qua giao tiếp USB, là một xu hướng đang được phát triển ngày càng rộng khắp cho việc mỡ rộng các khả năng đa nhiệm của PC. Hình 1.5. Mô hình phân lớp IrDA Trong đó ba lớp cuối cũng tương ứng với ba lớp cuối của mô hình OSI là lớp quản lý giao thức, lớp truy cập và lớp vật lý. Về đặc tính của IrDA sẽ được xem xét chi tiết hơn trong phần cuối của luận án Lê Văn Thanh Vũ 9 Luận văn thạc sĩ Chương 2 Giao diện điều khiển 2.1. Giao diện host đa năng Để thực hiện trao đổi số liệu qua USB, máy tính (host) sử dụng một chip chuyên dụng dùng cho việc điều khiển các quá trình trao đổi qua cổng nối tiếp mà nổi bật là USB. Đây là một bộ phận điều khiển đa năng tích hợp, nên để tìm hiểu và sử dụng USB cho việc trao đổi số liệu trước hết ta phải tìm hiểu kỹ để thực hiện các quá trình truyền số liệu. Giao diện điều khiển host đa năng là một chuẩn được sử dụng cho việc điều khiển các giao diện vào ra theo các chuẩn cổng mỡ rộng mà đặc biệt là chuẩn USB-BUS nối tiếp đa năng. Giao diện này được thể hiện theo sơ đồ khối như sau Hình 2.1: Sơ đồ khối của giao diện host đa năng 2.2. Đặc tả thanh ghi Để điều khiển việc truyền nhận dữ liệu qua các giao diện, mà ở đây thực chất là các vi mạch tích hợp mật độ cao với các chức năng đa dạng thi ta Lê Văn Thanh Vũ 10 Luận văn thạc sĩ phải luôn phải sử dụng các ngôn ngữ lập trình để truy xuất vào thanh ghi của vi mạch để điều khiển quá trình hoạt động của nó thông qua các thanh ghi với các chức năng cụ thể. Do đó việc tìm hiểu các thanh ghi là rất qua trọng trong bước đầu làm quen với các vi mạch cụ thể. Các thanh ghi I/O (vào ra) được dùng để truyền thông giữa CPU và bộ điều khiển host (Host Controller-HC) mà không được sử dụng hiệu thông qua bộ nhớ hệ thống. Module điều khiển host USB bao gồm hai tập thanh ghi truy xuất bằng phần mềm là các thanh ghi I/O và các thanh ghi cấu hình PCI tối ưu. Chú ý là các thanh ghi cấu hình PCI không chỉ cần thiết cho các thiết bị PCI mà cũng là còn bổ sung cho bộ điều khiển host. 1. Các thanh ghi vào ra bộ điều khiển host USB. Khối các thanh ghi trạng thái và điều khiển này được ánh xạ thành không gian vào ra PCI và điều khiển những thay đổi hoạt động của USB (bảng 2). Địa chỉ gốc được thiết lập thông qua các thanh ghi cấu hình PCI. 2. Các thanh ghi cấu hình PCI. Ngoài các thanh ghi tiêu đề thông thường và các thanh ghi đặc tả thiết bị, hai thanh ghi cần thiết cho không gian cấu hình PCI để hỗ trợ cho USB (bảng 2.2). Các thanh ghi tiêu đề và đặc tả thiết bị thông thường nằm ngoài phạm vi trình bày của tài liệu này (Lớp các thanh ghi được đề cập trong đề tài này). Chú ý là HCD không giao tiếp với các không gian cấu hình PCI. Không gian này chỉ được dùng trong bộ đếm PCI để xác định bộ điều khiển host của USB, và phân chia tài nguyên hệ thống thích hợp. Các ký hiệu dùng để chỉ các tích chất truy xuất thanh ghi RO Read Only. Nếu một thanh ghi là chỉ đọc thì viết là không tác dụng. WO Write Only. Nếu thanh ghi là chỉ viết thì đọc không có tác dụng. R/W Read/Write. Một thanh ghi có đặc tính này có thể được đọc và viết. Chú ý là các bít riêng biệt trong các thanh ghi R/W có thể chỉ đọc được. Lê Văn Thanh Vũ 11 Luận văn thạc sĩ R/WC Read/Write Clear. Một bit thanh ghi với đặc tính này có thể đọc và viết được. Tuy nhiên viết một 1 xóa (lập về 0) bit tương ứng và viết 0 là không có tác dụng. Bảng 2.1. Các thanh ghi vào ra bộ điều khiển host USB. Địa chỉ vào ra (Địa chỉ offset) 00 - 01h 02 - 03h 04 - 05h 06 - 07h 08 - 0Bh 0Ch 10 - 11h 12 - 13h Tên gọi USBCMD USBSTS USBNTR FRNUM FRBASEAD D SOFMOD PORTSC1 PORTSC2 Đặc tả thanh ghi Truy xuất Lệnh USB Trạng thái USB Cho phép ngắt USB Số khung Địa chỉ gốc danh sách R/W R/WC R/W R/W R/W Bổ sung SOF Điều khiển/trạng thái cổng 1 Điều khiển/trạng thái cổng 2 R/W R/WC R/WC Bảng 2.2. Các thanh ghi cấu hình PCI cho USB Offset cấu hình Tên gọi 00 - 08h - 09 - 0Bh CLASS 0C - 1Fh - 20 - 23h USBBASE 24-5Fh - 60h 61 - FFh SBRN - Thanh ghi Các thanh ghi bổ sung cần thiết cho đặc tả thiết bị PCI Lớp mã Các thanh ghi bổ sung cần thiết cho đặc tả thiết bị PCI Không gian địa chỉ gốc Các thanh ghi bổ sung cần thiết cho đặc tả thiết bị PCI Số release BUS nối tiếp Các thanh ghi bổ sung cần thiết cho đặc tả thiết bị PCI Truy xuất RO R/W RO - 2.2.1. Các thanh ghi vào ra USB. Trong phần này mô tả khối các thanh ghi USB đã được xác định trong không gian vào ra thông thường. Phần địa chỉ vào ra gốc được lựa chọn thông qua một thanh ghi cấu hình PCI. Một số bit thanh ghi đọc viết liên hệ với sự thay đổi trạng thái của các cổng hub USB chức năng như khi đọc lại chúng phản ánh trạng thái hiện thời của cổng mà không cần biết đến trạng thái của lần ghi cuối lên thanh ghi. Theo điều đó thì phần mềm dò trạng thái của cổng và đợi đến khi có trạng thái thích Lê Văn Thanh Vũ 12 Luận văn thạc sĩ hợp trước khi bắt đầu. Reset bộ điều khiển host, Reset tổng thể hay Reset cổng sẽ ngay lập tức kết thúc phiên trao đổi trên cổng mắc lỗi và loại bỏ cổng. 2.2.1.1. Thanh ghi lệnh USB - USBCMD Địa chỉ vào ra Giá trị mặc định Tính chất Kích thước Thanh ghi lệnh : Base + (00-01h) : 0000h : Đọc viết : 16bit cho biết các lệnh sẽ được thực thi trên bộ điều khiển host bus nối tiếp. Việc viết lên thanh ghi với mục tiêu là ra lệnh để thực thi. Bit Đặc tả 15:8 Dự trữ 7 Max Packet (MAXP). 1 = 64byte, 0 = 32byte. Bit này lựa chọn kích thước tối đa của gói có thể dùng cho dãi thông full speed reclamtion tại điểm cuối khung. Giá trị này được dùng bởi bộ điều khiển host để xác định có nên bắt đầu một phiên giao dịch khác trong thời gian còn lại của bộ đếm SOF. Sử dụng gói reclamation lớn hơn kích thước chương trình sẽ gây lỗi Babble nếu thực hiện đến giới hạn tại cuối khung. Kết quả lỗi Babble gây lỗi trong việc phân chia điểm cuối. Phần mềm tương thích chắc chắn rằng các gói thực hiện phải nhỏ hơn giới hạn dãi thông trong kích thước giới hạn này. 6 Cờ cấu hình (CF-Configure Flag). Phần mềm HCD lập bit này khi hoạt động cuối cùng của việc lập cấu hình cho bộ điều khiển host. Bit này không tác động lên phần cứng. Nó chỉ được cung cấp như là dịch vụ semaphore cho phần mềm. 5 Gỡ rối phần mềm (SWDBG-Software Debug). 1 là mode gỡ rối, 0 là mode bình thường. Trong mode gỡ rối SW, bộ điều khiển host xoá bit Run/Stop sau khi hoàn thành một phiên giao dịch USB. Phiên giao dịch tiếp theo được thực hiện khi phần mềm thiết lập bit Run/Stop trở lại 1. Bit SWDBG chỉ thao tác được khi bộ điều khiển host ở trạng thái dừng. Điều này có thể xác định bằng cách kiểm tra bit HCHalted trong thanh ghi USBSTS. 4 Force Global Resume (FGR). Bằng 1 bộ điều khiển host gửi tín hiện chiếm đường tổng trên USB. Phần mềm thiết lập bit này bằng 0 sau 20ms kể từ khi dừng việc gữi tín hiện chiếm đường tổng. ậ thời điểm đó tất cả các thiết bị USB nên sẵn sàng cho bus hoạt động. Bộ điều khiển host thiết lập bit này bằng 1 khi một trường hợp chiếm đường (kết nối, không kết nối, hay trạng thái K) được phát hiện trong khi đang ở mode treo tổng thể. Phần mềm thiết lập lại 0 để kết thúc gửi tín hiện chiếm tổng thể. Việc chuyển từ 1 sang 0 tạo ra cho cổng để gửi một tín hiệu EOF tốc độ thấp. Bit này vẫn bằng 1 cho đến khi EOF hoàn thành. 3 Enter global suspend Mode (EGSM). Bằng 1 bộ điều khiển host đưa vào mode treo tổng thể. Không một giao dịch USB xuất hiện trong suốt thời Lê Văn Thanh Vũ 13 Luận văn thạc sĩ gian này. Bộ điều khiển host có thể nhận tín hiệu chiếm đường từ USB và ngắt hệ thống. Phần mềm thiết lập lại 0 để thoát khỏi mode treo. Phần mềm lập bit này bằng 0 ngay khi FGR được lập bằng 0 hay sau đó. Phần mềm phải chắc chắn là bit Run/Stop (bit 0) đã được xoá trước đó. Reset tổng thể (GRESET-Global Reset). Khi bit này được lập, bộ điều khiển host gửi tín hiệu reset tổng thể lên USB và sau đó reset tất cả các giá trị logic, bao gồm các thanh ghi trong hub. Các thanh ghi hub được reset để đưa năng lượng của chúng lên trạng thái mở. Bit này được phần mềm reset sau 10ms, được đề cập trong chương 7 của "USB Specification". Chú ý là reset chip phần cứng ảnh hưởng tương tự như reset tổng thể (bit 2), ngoài trừ việc bộ điều khiển host không gửi tín hiệu reset lên USB. Host controller Reset (HCRESET). Khi bit này được lập, module bộ điều khiển host reset timer nội, các bộ đếm, trạng thái máy,vv... để thiết lập giá trị. Các giao dịch hiện thời trong quá trình trên USB bị kết thúc tức thời. Bit này được reset bởi bộ điều khiển host khi quá trình reset hoàn thành. Run/Stop. Bằng 1 là Run và 0 là Stop. Khi bit này được thiết lập 1, bộ điều khiển Host sẽ tiếp tục thực thi danh mục. Bộ điều khiển Host tiếp tục thực thi đến khi nào bit nay còn được lập. Khi bit này bị xoá là 0, bộ điều khiển Host hoàn thành phiên hiện thời trên USB và tạm dừng. Bit HCHalted trong thanh ghi trạng thái cho biết khi bộ điều khiển Host đã hoàn thành phiên giao dịch và đưa vào trạng thái dừng. Bộ điều khiển Host xóa bit này khi lỗi fatal xuất hiện, các lỗi Bus PCI. 2 1 0 Bảng 2.3: Tương quan giữa bit Run/Stop và bit gỡ rối SWDB G 0 Run/Stop Hoạt động 0 0 1 1 0 1 1 Nếu đang thực hiện lệnh, bộ điều khiển host hoàng thành lệnh và sau đó dừng lại. Bộ đếm khung 1ms được reset và lệnh thực thi lại danh sách từ khởi đầu khung sử dụng con trỏ danh sách khung được chọn từ giá trị hiện thời trong thang ghi FRNUM. Việc thực hiện bắt đầu lại danh sách lệnh từ Khoải đầu khung sử dụng con trỏ danh sách khung lấy từ thanh ghi FRNUM , bộ điều khiển Host vẫn chạy đến khi bit Run/Stop bị xóa. Nếu đang thực hiện lệnh, bộ điều khiển Host hoàn thành lệnh và sau đó dừng lại và bộ đếm khung 1ms bị dừng tại giá trị hiện thời của nó. Tất cả các trạng thái được gữi lại. Bộ điều khiển Host bắt đầu thực hiện lại danh sách lệnh tại nơi mà nó dừng lại khi bit Run/Stop được lập. Thực thi lại danh sách lệnh bắt đầu từ điểm dừng của đợt thực thi trước. Bit Run/Stop được lập về 0 bởi bộ điều khiển Host khi TD bắt đầu tràn. Điều này làm cho bộ điều khiển Host dừng lại sau khi thực thi TD (bước Lê Văn Thanh Vũ 14 Luận văn thạc sĩ đơn). Khi bộ điều khiển Host hoàn thành việc thực thi, bit HCHalted trong thanh ghi trạng thái được lập. 2.2.1.2.USBSTS -Thanh ghi trạng thái Địa chỉ vào ra : Base + (02 - 03h) Giá trị mặc định : 0000h Đặc tính : Đọc/ Viết xoá. Kích thước : 16bit Thanh ghi này cho biết các ngắt sắp tới và các trạng thái khác nhau của bộ điều khiển Host. Các trạng thái kết quả từ phiên giao dịch trên bus nối tiếp không được cho biết trên thanh ghi này. Phần mềm thiết lập một bit về 0 bằng cách viết 1 lên nó. Trong phần 4, ngắt, sẽ nói rõ thêm về khía cạnh ngắt USB. Bit Đặc tả 15:6 Dự trữ 5 HCHalted. Bộ điều khiển Host thiết lập bit này lên 1 sau khi nó dừng việc thực hiện như là kết quả việc bit Run/Stop lập về 0, phần mềm hoặc phần cứng bộ điều khiển Host (mode gỡ rối hay mỗi lỗi ngắt nội) 4 Host Controller Process Error. Bộ điều khiển Host thiết lập bit này lên 1 khi nó phát hiện lỗi tai hại và cho biết là bộ điều khiển Host phải chịu một sự kiểm tra hỏng hóc khi đang thực hiện Đặc tả giao dịch. 3 Host System Error. Bộ điều khiển Host thiết lập bit này lên 1 khi một lỗi nghiêm trọng xuất hiện trong khi host hệ thống truy cập vào module bộ điều khiển Host. Trong một hệ thống PCI, điều kiện để thiết lập bit này lên 1 bao hàm cả lỗi PCI Parity, PCI Master Abort, và PCI Target Abort. Khi lỗi này xuất hiện, bộ điều khiển Host xoá bit Run/Stop trong thanh ghi lệnh để ngăn chặn việc thực hiện thêm các danh sách TD. Một ngắt cứng được phát đến hệ thống. 2 Resume Detect. Bộ điều khiển Host thiết lập bit này lên 1 khi nó nhận được tín hiệu "RESUME" từ một thiết hiện bị USB. Điều này chỉ có nghĩa khi bộ điều khiển Host đang ở trạng thái treo tổng thể (bit 3 thanh ghi lệnh bằng 1). 1 USB Error Interrupt. Bộ điều khiển Host thiết lập bit này lên 1 khi hoàn thành một phiên giao dịch trên USB và xuất hiện lỗi điều kiện (như lỗi bộ đếm tràn dưới). Nếu TD bật khi lỗi ngắt xuất hiện cũng lập bit IOC, và cả bit này và bit 0 được lập. 0 USB Interrupt (USBINT). Bộ điều khiển Host lập bit này khi một ngắt hoàn thành trong phiên giao dịch USB mà đặc tả truyền đã thiết lập bit IOC. 2.2.1.3. USBINT - Thanh ghi ngắt USB. Địa chỉ vào ra Giá trị mặc định : Base + (04 - 05h). : 0000h Lê Văn Thanh Vũ 15 Luận văn thạc sĩ Đặc tính : Đọc/Viết Kích thước : 16 bit Thanh ghi này cho phép hoặc che các đáp ứng ngắt đến phần mềm. Khi một bit được lập và ngắt tương ứng kích hoạt, một ngắt được phát đến host. Các lỗi fatal (lỗi Host Controller Processor-bit 4, thanh ghi trạng thái USB) không thể cho phép bởi bộ điều khiển Host. Các nguồn ngắt bị che trong thanh ghi này vẫn xuất hiện trong thanh ghi trạng thái để phần mềm thăm dò các hiện tượng. Bit Đặc tả 15:4 Dự trữ 3 Short Packet Interrupt Enable. Bằng 1 là cho phép, bằng 0 thì ngược lại 2 Interrupt On Complete (IOC) Enable. Bằng 1 là cho phép, bằng 0 thì ngược lại 1 Resume Interrupt Enable. Bằng 1 là cho phép, bằng 0 thì ngược lại 0 Time out/CRC Interrupt Enable. Bằng 1 là cho phép, bằng 0 thì ngược lại. 2.2.1.4. FRNUM- Thanh ghi số khung Địa chỉ vào ra : Base + (06 - 07h) Giá trị mặc định : 0000h Đặc tính : Đọc viết. Kích thước : 16bit. Các bit 10:0 của thanh ghi chứa số khung mà nó được bao trong gói SOF khung. Thanh ghi này phản ánh giá trị đếm của bộ đếm khung nội. Các bit 9:0 dùng để lựa chọn khung thực trong danh sách khung trong khi thực hiện danh mục. Thanh ghi này được cập nhật sau mỗi chu kỳ khung. Thanh ghi này phải được viết theo từ. Thanh ghi này không thể viết được nếu bộ điều khiển Host không ở trạng thái STOPPED khi trong miêu tả bit HCHalted (thanh ghi trạng thái). Khi bit Run/Stop được lập thì việc viết lên thanh ghi bị bỏ qua. Bit Đặc tả 15:11 Dự trữ 10: 0 Frame List Current Index/Frame Number. Các bit 10: cung cấp số khung trong khung SOF. Giá trị trong thanh ghi này tăng lên sau mỗi chu kỳ khung (xấp xỉ 1ms). Ngoài ra, các bit 9:0 được dùng để đánh Lê Văn Thanh Vũ 16 Luận văn thạc sĩ chỉ số tức thời khung và tương ứng với tín hiệu địa chỉ bộ nhớ. 2.2.1.5. FLBASEADD - Thanh ghi địa chỉ Base danh sách khung Địa chỉ vào ra : Base + (08 - 0Bh) Giá trị mặc định : không xác định Đặc tính : Đọc viết. Kích thước : 32bit. Thanh ghi 32bit này chứa địa chỉ bắt đầu của danh sách khung trong bộ nhớ hệ thống. HCD nạp thanh ghi này trước khi bắt đầu thực thi danh mục trong bộ điều khiển Host. Khi viết, chỉ 20bit trên được sử dụng. 12bit dưới luôn được viết là 0 (4Kbyte). Nội dung thanh ghi này kết hợp với bộ đếm số khung cho phép bộ điều khiển Host nhảy qua chuỗi danh sách khung. Hai bit trong số thấp nhất luôn luôn là 00. Điều này yêu cầu xếp hàng tất cả các danh sách vào. Cấu hình này hỗ trợ 1024 danh sách khung. Bit 31: 12 11: 0 Đặc tả Base Address. Những bit này tương ứng với tín hiệu địa chỉ (31:12) Dự trữ. Phải được viết là 0. 2.2.1.6. START OF FRAME (SOF) MODIFY REGISTER Địa chỉ vào ra : Base + (0Ch) Giá trị mặc định : 40h Đặc tính : Đọc/Viết Kích thước : 8bit Thanh ghi 1byte này dùng để cập nhật giá trị được dùng trong việc tạo ra thời gian SOF trên USB. Chỉ có 7bit trọng số thấp được sử dụng. Khi một giá trị mới được viết lên 7bit này, thời gian SOF của khung tiếp theo sẽ được điều chỉnh. Tính chất này có thể dùng để điều chỉnh các offset từ nguồn đồng hồ phát xung đồng hồ trong bộ đếm SOF. Thanh ghi này cũng có thể được dùng để duy trì đồng bộ thời gian thực với hệ thống do đó mà tất cả các thiết bị có cùng thời gian thực. Sử dụng thanh ghi này, độ dài khung có thể điều chỉnh thông qua yêu cầu trong phạm vi đầy đủ bởi đặc tả USB. Giá trị thiết lập phần mềm phụ thuộc độ chính xác của đồng hồ hệ thống USB và được thiết lập bởi BIOS hệ thống.
- Xem thêm -