USB Type-C – Chuẩn USB cho thế kỷ 21 – Phần 3: USB Type-C

(Phần 2: Từ USB 1.0 đến USB 3.1)

USB Type-C có nhiều điểm mới mẻ bao gồm đầu nối mới, phương pháp truyền điện tinh vi hơn, và các chế độ truyền dữ liệu mới linh hoạt.

Hãy bắt đầu từ đầu nối 24 chân. Đầu nối này có kích thước nhỏ (cao 3mm và rộng 8mm) và chắc chắn (được xác nhận là có khả năng cắm/rút lên đến 10000 lần).

usbc6

Một số đặc tính chính của đầu nối và dây cáp USB Type-C:

  • Đầu nối không định hướng — nghĩa là có thể được cắm theo cả hai hướng — nên ta không còn phải ngó nghiêng như một tên ngốc để cố gắng xác định “Mặt nào quay lên trên?”
  • Đầu nối đủ nhỏ để nó có thể được dùng mọi nơi — trên máy tính để bàn, máy tính bảng, máy nghe nhạc MP3, điện thoại thông minh, máy ảnh số, vân vân.
  • Không như hầu hết các dây cáp USB khác, dây cáp Type-C dùng chung một kiểu đầu nối cho cho cả hai đầu dây — các thiết bị mà dây cáp được cắm vào sẽ “thoả thuận” với nhau để xác định thiết bị nào sẽ chịu trách nhiệm làm gì.
  • Thông số kỹ thuật cho phép truyền dữ liệu với tốc độ lên đến 20 Gbps và hỗ trợ các kiểu truyền khác, không phải USB, do nhà sản xuất cấu hình (bạn phải sử dụng đúng loại cáp để đạt được tốc độ truyền dữ liệu cao cũng như thực hiện được các kiểu truyền dữ liệu mới này, sẽ thảo luận sau).
  • Cho phép truyền điện với công suất lên đến 100W để xạc điện nhanh (ta cũng cần đúng loại cáp để thực hiện các chế độ truyền điện mới và công suất cao, sẽ thảo luận sau).
  • Nếu ta chỉ thực hiện các kiểu truyền điện và dữ liệu đơn giản thì ta có thể dùng các dây cáp thụ động (không thông minh). Với các chế độ phức tạp, ta cần các dây cáp thông minh có tính năng định danh điện tử (electronic ID) để thông báo cho hệ thống về dung lượng công suất và băng thông mà dây cáp có khả năng truyền tải.

Bây giờ ta hãy xem xét các chân của đầu nối USB Type-C và các tín hiệu được gán cho chúng như mô tả trong hình dưới đây:

usbc7

Vai trò của các chân Vbus (nguồn) và GND (đất) thì đã được giải thích phần nào, hay trông có vẻ như vậy, qua tên gọi của chúng. Thực tế thì nó hơi phức tạp hơn ta tưởng một chút, nhưng ta sẽ quay lại vấn đề này sau. Đầu tiên ta cần định nghĩa một vài thuật ngữ, bao gồm Downstream-Facing Port (DFP) dùng để chỉ thiết bị chủ, và Upstream-Facing Port (UFB) dùng để chỉ thiết bị ngoại vi. Ngoài ra còn có khái niệm Dual Role Port (DRP) dùng để chỉ thiết bị có thể được cấu hình như một DFP hay UFB và có thể được chuyển qua lại giữa hai cấu hình này ngay trong khi hoạt động.

Các chân D+ và D- được dùng để hỗ trợ các thiết bị USB 2.0. Khi giao tiếp với thiết bị USB 2.0, tất cả những gì DFP cần làm là cung cấp điện áp 5V vào chân Vbus.

Tiếp tục nói về chân Vbus (nguồn), trước kia thì DFP luôn luôn cấp điện cho UFP còn bây giờ thì kiểu nào cũng có. Giả dụ như ta có một máy tính bảng có cổng USB Type-C được nối với một ti-vi có cổng USB Type-C. Trong trường hợp này, máy tính bảng có thể truyền dữ liệu lên ti-vi, còn ti-vi truyền điện cho máy tính bảng. Còn nếu như một máy tính bảng với cổng USB Type-C được nối với một điện thoại thông minh có cổng USB Type-C thì máy tính bảng có thể sẽ truyền điện cho điện thoại còn điện thoại truyền dữ liệu video để máy tính bảng hiển thị.

Lúc mới bắt đầu, DFP sẽ cung cấp điện áp 5V lên chân Vbus (nghĩa là giống y như USB 2.0 và USB 3.x). USB 2.0 có thể cung cấp nhiều nhất là 500mA mỗi cổng còn USB 3.x nâng dung lượng này lên 900mA. USB Type-C có thể cung cấp lên đến 100W mỗi cổng (tương đương với dòng 5A ở điện áp 20V). Điện áp và công suất thực sự được cung cấp bởi DFP (hay UFP), truyền dẫn thông qua dây cáp, và thu nhận bởi UFP (hay DFP) được DFP và UFP thiết lập khi chúng thoả thuận với nhau để xác lập kiểu truyền điện (PD – power delivery); nghĩa là bên nào sẽ truyền điện, bên nào sẽ nhận điện, điện áp nào được sử dụng, và dòng điện là bao nhiêu.

Kết quả là tuỳ thuộc vào khả năng của từng thiết bị mà đôi khi một thiết bị sẽ truyền cả điện lẫn dữ liệu; đôi khi nó sẽ nhận cả điện và dữ liệu; đôi khi nó sẽ truyền một thứ và nhận thứ kia; và đôi khi nó sẽ chuyển đổi liên tục giữa tất cả các khả năng có thể. Tất cả những điều này tuỳ thuộc vào thoả thuận giữa các thiết bị với nhau.

Kế tiếp, ta sẽ xem xét hai cặp tín hiệu TX/RX (phát/thu) tốc độ cao. Mỗi cặp này có khả năng truyền theo chế độ SuperSpeed+ của chuẩn USB 3.0 với tốc độ 10 Gbps. Điều này có nghĩa là USB Type-C có thể truyền lên đến 20 Gbps dữ liệu thô. Hơn nữa, những tín hiệu này có thể được cấu hình để thực hiện các kiểu truyền khác và truyền nhiều loại dữ liệu không phải là dữ liệu USB, chẳng hạn như video.

Chúng ta còn có các tín hiệu SBU1 và SBU2 (SBU = Sideband Use). Chúng có thể được cấu hình để phát bất cứ dữ liệu gì mà DFP và UFP thống nhất với nhau; có thể là âm thanh chẳng hạn. Nói tóm lại, sáu tín hiệu USB Type-C (bốn cặp TX/RX và hai tín hiệu SBU) — màu vàng trong hình dưới đây — có thể được cấu hình để thực hiện các kiểu truyền dữ liệu khác nhau theo yêu cầu (và theo như thoả thuận giữa DFP và UFP).

usbc8

Chúng ta đã nhiều lần đề cập đến việc DFP và UFP thoả thuận với nhau. Hãy xem xét quá trình này một cách chi tiết hơn — và để làm được như vậy, hãy bắt đầu từ sơ đồ tổng quát mô tả một DFP (thiết bị chủ) nối với một UFP (thiết bị ngoại vi) như trong hình dưới đây.

usbc9

Chú ý rằng chỉ có một dây CC bên trong dây cáp; các chân Vcon ở cả hai đầu dây được nối xuống đất thông qua các điện trở Ra (pull-down — điện trở nối xuống đất) bên trong sợi cáp. Các điện trở Rp (pull-up — điện trở nối lên nguồn) trong DFP có giá trị khác với các điện trở Rd (pull-down) bên trong UFP, và cả hai đều khác với các điện trở pull-down Ra bên trong sợi cáp. Những khác biệt này cho phép DFP và UFP xác định thiết bị bên kia và hướng mà sợi cáp được cắm vào mỗi thiết bị.

Cáp USB Type-C loại đơn giản là loại cáp thụ động, nghĩa là nó giống như sợi cáp được mô tả trong hình trên. Để thực hiện các kiểu truyền điện và dữ liệu phức tạp, một số dây cáp sẽ được trang bị tính năng định danh điện tử để thông báo cho hệ thống biết dung lượng công suất và tốc độ dữ liệu mà sợi cáp có khả năng truyền tải.

Sau đây là sơ lược về cách mà tất cả những thành phần này làm việc với nhau. Việc đầu tiên ta làm sẽ là nối một dây cáp USB Type-C vào hai thiết bị (hay chỉ một thiết bị trong trường hợp ta cắm một bàn phím chẳng hạn, vốn có sẵn dây cáp nối một đầu vào nó). Hai thiết bị sẽ chuyển sang giai đoạn Xác định Dây cáp (Cable Detect — CD) trong đó — bằng cách sử dụng các điện trở kéo lên và kéo xuống — DFP và UFP xác định hướng mà sợi cáp được nối vào chúng cũng như thiết bị nào sẽ thực hiện điều gì cho thiết bị kia. Một khi DFP đã xác định được chân nào trên sợi cáp được nối với chân CC và Vcon của DFP, nó sẽ đưa điện áp 5V lên chân CC. Điện áp này được dùng để cung cấp cho thiết bị định danh trong sợi cáp (nếu có). Sau đó, thiết bị định danh trong sợi cáp sẽ phát dữ liệu trên chân Vcon để mô tả các thông số như dung lượng công suất và băng thông dữ liệu của nó.

Kế tiếp hai thiết bị sẽ tập trung vào việc Truyền Điện (Power Delivery, PD) trong đó DFP và UFP nói chuyện với nhau để quyết định ai sẽ cung cấp điện và ai sẽ nhận điện. Dựa vào đó — và vào khả năng của thiết bị cung cấp điện và khả năng truyền tải của sợi cáp — DFP và UFP sẽ thống nhất với nhau điện áp được sử dụng và dòng điện được cung cấp và rồi chúng sẽ thực hiện việc truyền điện theo đúng cách thức đó.

DFP và UFP cũng sẽ thoả thuận về loại dữ liệu được truyền qua các kênh tín hiệu tốc độ cao. Ngoài các giao thức USB thông thường, chuẩn mới còn bổ sung khái niệm Vendor-Defined Messages (các giao thức được tuỳ biến bởi nhà cung cấp) hay VDM cho các ứng dụng không phải USB như PCIe, VGA, HDMI, DP, vân vân. Thêm vào đó, các kênh sideband cũng có thể được tuỳ biến bởi nhà cung cấp (chẳng hạn như thành kênh audio).

Như vậy, tóm tắt một cách ngắn gọn về USB Type-C, ta có một đầu nối duy nhất, nhỏ, chắc chắn, không định hướng — cùng với dây cáp và các hệ thống đi kèm — có khả năng truyền đến 100W để sạc nhanh và truyền dữ liệu nhanh đến 20 Gbps. Toàn bộ kết nối hoạt động cực kỳ linh hoạt và có khả năng hỗ trợ các kiểu truyền tuỳ biến như âm thanh và video. Và, nếu như bạn có thắc mắc, ta có thể trông chờ vào một loạt các bộ chuyển đổi (dongle) bé xíu sẽ xuất hiện để giúp các thiết bị và dây cáp USB Type-C kết nối với những người bạn USB 2.0/3.x (các thiết bị USB Type-C sẽ giảm tốc độ xuống phù hợp với khả năng của các thiết bị đời trước).

Ứng dụng của FPGA

Tôi tin chắc rằng các bạn sẽ đồng ý với tôi rằng toàn bộ ý tưởng về USB Type-C có vẻ rất thú vị. Tuy nhiên, có vài điểm cần xem xét, không chỉ vì các chuẩn như USB Type-C thường thay đổi và phát triển theo thời gian.

Vào thời điểm hiện tại, các thiết bị phần cứng, vi điều khiển và các bộ xử lý ứng dụng chưa có phần cứng cần thiết với các tính năng thiết yếu để khai thác năng lực của các kết nối USB Type-C như khả năng phát hiện dây cáp (Cable Detect, CD), truyền tải điện năng (Power Delivery, PD), điều khiển chuyển đổi SuperSpeed+ (SS), và các giao thức tuỳ biến (Vendor-Defined Messaging, VDM).

Tất cả những điều này nói lên rằng ta cần một giải pháp dựa trên FPGA. Nhà cung cấp FPGA sẵn sàng nhảy vào lĩnh vực này với tất cả sự khoái chí là Lattice Semiconductor. Mấy anh chàng ở Lattice đã bỏ ra nhiều tâm tư và công sức thiết kế USB Type-C và đã tạo ra nhiều thiết kế IP (Intellectual property) có thể dùng trong những con FPGA của họ.

Hãy cùng xem xét một trong những mô hình sử dụng đơn giản nhất. Ngay khi các thiết bị với cổng USB Type-C như máy tính bảng, điện thoại thông minh, máy nghe nhạc MP3, và máy ảnh kỹ thuật số bắt đầu xuất hiện trên thị trường, một trong những sản phẩm đầu tiên mà ta muốn thấy là các bộ sạc phù hợp.

usbc10

Những bộ sạc này sẽ phải có khả năng khai thác các tính năng mới bao gồm Phát Hiện Cáp (Cable Detect) và Truyền Tải Điện (Power Delivery) để đạt được một phương pháp truyền điện sử dụng một cách tối ưu khả năng của bộ sạc đồng thời đáp ứng được yêu cầu của thiết bị. Một khi phương pháp đã được thoả thuận xong, chức năng Truyền Tải Điện sẽ được dùng để điều khiển một Bộ Quản lý Điện năng (Power Management Integrated Circuit, PMIC) và mạch này sẽ cung cấp điện áp và dòng điện theo thoả thuận đó.

usbc11

Nhớ rằng đây là một trong những mô hình hoạt động đơn giản. Do bộ sạc và nguồn điện không cần truy cập vào các đường truyền dữ liệu tốc độ cao, ta không cần phải có các mạch điều khiển cho những đường truyền này. Lattice có một lô các ứng dụng ví dụ sử dụng các thiết kế phức tạp hơn nhiều, bao gồm mạch điều khiển cho các kênh truyền tốc độ cao và Dual Role Port (DRP).

Thực lòng mà nói, hầu hết những gì tôi biết về USB Type-C là tôi học được từ Gordon Hands — Giám đốc Tiếp thị ở Lattice Semiconductor. Đừng để cái chức vụ Giám đốc Tiếp thị đánh lừa bạn nhé; ngoài bằng MBA, Gordon còn có bằng Kỹ sư (hắn là người phe ta, không phải phe nó đâu).

Thật ra Gordon đã rất tử tế khi nói rằng hắn sẽ vui vẻ trả lời bất cứ câu hỏi nào liên quan đến việc dùng FPGA của Lattice để hiện thực hoá các tính năng của USB Type-C trong sản phẩm của chúng ta, và ta có thể liên lạc với hắn qua e-mail Gordon.Hands@latticesemi.com (hắn sẽ hối hận cả đời vì việc này).

Sao nào, bạn nghĩ gì về USB Type-C sau khi đã đọc tất cả những thứ trên kia? Cá nhân tôi thì tôi không thể đợi được nữa. Tôi chắc rằng lúc bắt đầu giai đoạn chuyển tiếp sẽ có một số chuyện khôi hài, nhưng tâm trí tôi đang nghĩ về những gì tuyệt vời sẽ đến trong tương lai không xa.


Advertisements

2 comments

  1. Pingback: USB Type-C – Chuẩn USB cho thế kỷ 21 – Phần 2: Từ USB 1.0 đến USB 3.1 | Chuyên Mục Công Nghệ

  2. Pingback: USB Type-C – Chuẩn USB cho thế kỷ 21 – Phần 1: Thế giới trước khi có USB | Chuyên Mục Công Nghệ

Trả lời

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Đăng xuất / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Đăng xuất / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Đăng xuất / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Đăng xuất / Thay đổi )

Connecting to %s

%d bloggers like this: