Semua Tentang USB-C: Resistor dan Emarker

Jika Anda telah mengikuti saga USB-C kami, Anda tahu bahwa kabel CC pada kabel USB-C digunakan untuk komunikasi dan deteksi polaritas. Namun, yang tidak diketahui secara luas adalah bahwa ada dua protokol yang digunakan dalam USB-C untuk komunikasi – satu analog dan satu digital. Hari ini, mari kita lihat pensinyalan analog yang digunakan dalam USB-C – sebagian, pelajari lebih lanjut tentang resistor 5,1 kΩ yang terkenal dan cara kerjanya. Kita juga akan belajar tentang emarker dan entitas misterius yaitu VCONN!

Catu daya USB-C mengharapkan untuk merasakan penurunan nilai tertentu pada jalur CC sebelum memberikan 5 V pada VBUS, dan tegangan yang lebih tinggi harus dinegosiasikan secara digital. PSU, baik itu port laptop atau pengisi daya, dapat mendeteksi pulldown (dikenal sebagai Rd) karena menyimpan pullup (dikenal sebagai Rp) di jalur CC – kemudian memeriksa apakah pembagi tegangan telah terbentuk di CC, dan apakah tegangan yang dihasilkan berada dalam kisaran yang dapat diterima.

Jika Anda menyambungkan perangkat yang tidak membuat pull-down dapat diakses melalui kabel CC di kabel, perangkat Anda tidak akan pernah mendapatkan daya dari port USB-C, dan hanya akan berfungsi dengan kabel USB-A ke USB-C. Bahkan perangkat yang lebih pintar yang dapat berbicara dengan bagian digital USB-C diharapkan memiliki pull-down, hanya saja pull-down tersebut bersifat internal ke IC komunikasi USB-C yang digunakan. Port USB-C yang ingin menerima daya harus memiliki pull-down.

Bagian ini sudah terkenal sekarang, tetapi kami telah melihat banyak kegagalan resistor pada perangkat murah, dan saran sehari-hari adalah “tambahkan resistor 5,1 kΩ”. Anda mungkin takut berpikir itu sangat sederhana, tetapi Anda akan terkejut.

Pullup, Pulldown, Dan Pembagi Tegangan Yang Dihasilkan

Ada dua jenis peran daya untuk port USB-C – sisi suplai dan sisi konsumen. Sisi analog USB-C memungkinkan desainer menambahkan cara sederhana untuk menegosiasikan kebutuhan daya saat menggunakan USB-C pada 5 V, tanpa menggunakan IC khusus atau mahal – menggunakan pullup untuk sumber dan pulldown untuk sink. Kombinasi pullup dan pulldown membentuk pembagi tegangan, dan tegangan itu sendiri mewakili kemampuan pengisi daya saat ini.

model kabel internal USB-CSekarang, dalam mode pensinyalan analog, sumber dapat menyesuaikan penarikan berdasarkan anggaran daya yang tersedia untuknya, dan itu cukup berguna. Bayangkan laptop atau pengisi daya dengan beberapa port USB-C. Saat setiap port dimuat, akan ada lebih sedikit arus untuk diberikan ke port lain, yang sebagian besar ditentukan oleh bagaimana perangkat dibuat secara internal. Ambil laptop Framework, misalnya, yang dilengkapi dengan empat port USB-C. Setiap port dapat menyediakan 15 W pada 5 V / 3 A, tetapi jika Anda ingin memberi daya pada empat perangkat USB-C yang hanya tenggelam sekaligus, itu hanya akan dapat memberikan 1,5 A pada port ketiga dan keempat – batasan yang cukup masuk akal dari perspektif rekayasa.

Ini berarti bahwa perangkat dengan konsumsi lebih tinggi, seperti perangkat 1,5 A dan 3 A max, diharapkan untuk memantau voltase pada saluran CC untuk menentukan apakah mereka dapat melebihi anggaran daya dengan menyesuaikan kebutuhan dayanya, atau dimatikan jika baru batas arus yang ditetapkan terlampaui.

Kekuatan “Default” mengacu pada batas arus yang dinyatakan USB yang telah kami gunakan – maks 500mA untuk perangkat USB2 dan maks 900mA untuk perangkat USB3. Meskipun hampir tidak pernah diberlakukan, ini memang batasan yang dinyatakan oleh standar USB.

Apa artinya ini bagi Anda sebagai pengguna? Tidak apa-apa, jika perangkat Anda cukup berdaya rendah. Perangkat Anda diharapkan memantau voltase pada saluran CC dan menyesuaikan seleranya. Beberapa perangkat yang dibeli di toko tidak akan melakukan itu, tetapi jarang. Sebagai seorang peretas? Jika Anda membuat perangkat yang mendapat daya dari port USB-C dan Anda bertujuan untuk mendapatkan 3 A penuh pada 5 V, ingatlah bahwa tidak semua port USB-C menyediakannya untuk Anda. Namun, Anda dapat memeriksa ketersediaan 3 A dengan mengukur voltase pada saluran CC. Atau jangan, saya bukan ibumu, dan banyak perangkat peretas berkembang tanpa deteksi.

Tegangan apa yang dapat Anda harapkan pada jalur CC? Yah, itu jenis voltase yang bisa Anda baca dengan ADC dasar yang dimiliki mikrokontroler Anda, atau bahkan pembanding.

Seperti yang Anda lihat, semuanya di bawah 3,3 V sehingga Anda tidak memerlukan pembagi tegangan jika Anda menggunakan ADC mikrokontroler ayunan penuh. Oh, dan jika Anda memiliki soket USB-C, ingatlah untuk memantau kedua pin CC secara terpisah, tentu saja.

Apakah Saya Benar-Benar Harus?

Apakah Anda benar-benar perlu memantau voltase CC? Ketika Anda hanya meretas sesuatu, tidak juga, tetapi dapat membantu jika Anda melakukannya ketika Anda ingin melampaui 0,5 A – 1 A. Jika Anda melebihi permintaan saat ini yang dapat disediakan oleh port sumber, itu seharusnya hanya berhenti memasok daya ke perangkat Anda – hasil yang cukup aman. Di sisi lain, filosofi USB-C adalah memiliki perlindungan berlapis, dan jika Anda membuat perangkat 15 W dengan pendekatan resistor 5,1 kΩ sederhana, Anda juga dapat menjadikannya perangkat yang dapat mendeteksi kekuatannya. pasokan menjadi tidak mencukupi. Juga, itu cukup mudah dilakukan!

Jika tidak, Anda hanya dapat berharap bahwa perangkat Anda ingin dipasangkan dengan pengisi daya yang selalu memberikan 3 A pada 5 V, yang dilakukan oleh sebagian besar pengisi daya di luar sana. Kemudian, Anda tidak akan pernah mengalami masalah – selalu dapat bekerja dengan 15 W penuh. Namun, jika Anda menyambungkan perangkat ke port laptop, baik itu USB-C atau USB-A dengan adaptor USB-C, Anda dapat tidak sepenuhnya berharap 3 A selalu ada – Anda sebenarnya ingin memeriksanya.

5,1 kΩ bukan satu-satunya pull-down yang akan Anda temui. Ada jenis pull-down yang berbeda, yang telah kami temui sebelumnya, dan itu adalah Ra – sesuatu yang berperan ketika kita berbicara tentang kabel bertanda elektronik.

VCONN: Memberi Makan Emarker Anda dengan Benar

Emarker pada dasarnya adalah chip memori yang dapat berbicara dengan protokol USB PD. Mereka digunakan dalam kabel yang sedikit lebih bagus dari biasanya, yaitu kabel dengan kemampuan kecepatan tinggi seperti USB3 dan Thunderbolt, serta kabel 5 A. Mereka memasuki jalur CC pada kabel, dan dapat ditanyakan oleh sumber atau sink – meskipun biasanya ditanyakan oleh sumbernya.

Jika ada penanda di dalam kabel USB-C Anda, itu akan membutuhkan daya, dan USB-C memiliki cara untuk menyediakan daya untuk itu – ini disebut VCONN. Seperti yang Anda ketahui, hanya satu pin CC yang digunakan untuk komunikasi. Pin CC yang berlawanan, tidak terhubung ke jalur CC, digunakan untuk menyediakan daya bagi emarker; pin CC lainnya adalah VCONN.

Di dalam colokan USB-C, Anda akan mengetahui pin CC mana yang dipasang ke kabel CC, dan oleh karena itu, sebelumnya, Anda tahu pin mana yang akan berfungsi sebagai VCONN. Namun, Anda dapat memasukkan steker dalam dua orientasi yang berbeda – dan ini berarti stopkontak harus dapat memperlakukan salah satu dari dua pin CC sebagai jalur komunikasi CC atau pin VCONN. Ini membuat kabel relatif bodoh dan murah, membiarkan perangkat itu sendiri menangani kerumitannya.

Sebagai seorang peretas, Anda tidak perlu khawatir tentang VCONN. Sebagian besar dari kita akan bekerja dengan USB2 atau USB3, arus tidak lebih dari 3 A, dan pemeriksaan emarker tidak terlalu diperlukan. Lebih jauh dari itu, ada IC yang akan menangani banyak aspek USB-C untuk Anda – termasuk, tentu saja, menyediakan VCONN.

Persyaratan voltase pada VCONN cukup longgar, berbeda dengan 5 V yang Anda harapkan untuk diberikan ke VBUS – rentang yang diizinkan adalah 3 V hingga 5,5 V; seringkali, ini adalah voltase baterai sel tunggal LiIon langsung dalam implementasi ponsel cerdas, yang berarti Anda menghindari dua konversi dan dapat melakukan sedikit penghematan daya. Lagi pula, daya VCONN tidak hanya untuk emarker, tetapi juga dapat digunakan untuk memberi daya pada aksesori kecil dan adaptor headphone dengan anggaran daya hingga 1 W. Presentasi menyenangkan dari peretas USB-C ini berbicara tentang pembuatan prototipe perangkat bertenaga VCONN yang mencakup berbagai hal yang memungkinkan spesifikasi USB-C untuk dilakukan oleh perangkat bertenaga VCONN.

Yang mengatakan, emarker adalah hal yang paling luas yang menginginkan VCONN, dan mereka cukup sederhana. Terkadang kabel berisi dua emarker, terkadang berisi satu – ini adalah pilihan pabrikan. Dalam kasus kabel emarker tunggal, salah satu ujung kabel akan berisi emarker, dan akan ada kabel VCONN “bawa daya emarker ke ujung lain” tambahan yang dijalankan melalui kabel dari colokan yang dilengkapi emarker, terhubung ke Pin VCONN pada colokan kabel lainnya. Jadi, jika Anda pernah melihat penyebutan kabel VCONN, itulah artinya – kabel berisolasi dioda yang terhubung ke pin CC yang tidak terpakai di salah satu ujung kabel, yang hanya mengalirkan daya ke emarker di ujung lainnya.

Sekarang, ini menyenangkan dan semuanya, tapi bagaimana dengan hal pull-down Ra itu?

Masalah Ra-spberry Pi 4

Seorang emarker memberi sinyal kehadirannya dengan menerapkan resistor pulldown (dikenal sebagai Ra) ke pin VCONN; rata-rata 1 kΩ, dalam kisaran dari 800 Ω hingga 1200 Ω. Jika wadah dapat menyediakan VCONN, ia mencari resistor tersebut pada pin CC yang saat ini tidak digunakan untuk komunikasi, dan mengumpankan VCONN ke pin tersebut saat resistor terdeteksi. Sebagai hasilnya, resistor ini tersedia di pin CC kedua di dalam colokan kabel – di kedua colokan kabel.

Apa yang terjadi jika Anda menyingkat kedua pin CC bersamaan di stopkontak perangkat Anda, lalu memasukkan kabel emark berkemampuan tinggi? Resistor 5,1 kΩ dipasang paralel dengan resistor 1 kΩ, dan Anda mendapatkan total pull-down 840 Ω, memberi atau menerima. Pull-down ini adalah apa yang dilihat catu daya di jalur CC, dan di luar ekspektasi 5,1 kΩ. Secara khusus, pembagi tegangan menarik tegangan terlalu rendah dan catu daya tidak menyediakan 5 V pada VBUS.

Inilah yang dilakukan Raspberry Pi 4 dalam revisi pertamanya, ingat? Akibatnya, Anda tidak akan dapat memberi daya pada Pi 4 dengan kabel bertanda melalui pengisi daya Tipe-C – Anda memerlukan kabel tanpa tanda atau mungkin kabel USB-A ke USB-C dengan USB -Sebuah catu daya. Dan, tentu saja, catu daya resmi Raspberry Pi tidak memiliki penanda di kabel captive-nya. Itu juga tidak harus memiliki emarker – lagipula, emarker dimaksudkan untuk mempertanyakan kabel yang tidak dikenal, dan kabel captive adalah kabel yang dikenal menurut definisi.

Pertanyaan yang saya lihat tidak ada yang bertanya, adalah – mengapa mereka melakukannya? Jika Anda memeriksa skema, Anda akan melihat bahwa jaring PD_SENSE dari pin CC yang bergabung menuju ke pin input analog pada PMIC. Anda mungkin sudah bisa menebaknya sekarang – mereka menerapkan bagian “pemantauan tegangan” dari standar, tetapi tidak menerapkan bagian “emarker” dengan benar. Berapa banyak pemantauan voltase yang sebenarnya mereka lakukan, masih dipertanyakan, tetapi kemampuannya setidaknya ada.

Raspberry Pi menyelesaikan masalah dalam revisi yang akan datang, dan jika Anda memiliki revisi yang lebih lama, Anda dapat menambalnya sendiri. Kami belum tahu bagaimana mereka menambalnya, tetapi pada akhirnya kami akan mengetahuinya. Sementara itu, ini semua yang harus Anda ketahui tentang resistor, emarker, dan VCONN yang sulit dipahami.

Selanjutnya: Daya USB-C di port, peran daya, dan voltase lebih tinggi!