Apa tujuan dari pengkodean 8b / 10b?

8

Pada lapisan fisik USB 3.0 terdapat encoder 8b / 10b .

Wikipedia mengatakan bahwa ini menghilangkan DC offset, sedangkan tutorial yang saya baca mengatakan

ini adalah skema penyandian umum dalam desain serial berkecepatan tinggi

Apa tujuan dari pengkodean ini dalam konteks USB? Selain itu, aplikasi dan manfaat apa yang disediakan oleh pengkodean ini di jenis perangkat lain?

Vorac
sumber
Ternyata nanti di tutorial ini dijelaskan. Masih penasaran di area mana pengkodean ini digunakan.
Vorac
2
Bisakah Anda menguraikan penjelasan mereka tentang mengapa?
Andyz Smith

Jawaban:

9

Jawaban sederhana untuk penyandian seperti 8b / 10b adalah memastikan bahwa aliran data yang disandikan memiliki setidaknya sejumlah transisi data tertentu. Tanpa pengkodean seperti itu, aliran panjang 0 atau 1 akan cenderung terlihat seperti mencoba mengirim DC melalui saluran.

Filosofi yang sama berlaku untuk pengkodean Manchester di mana bandwidth bersih untuk mentransmisikan melalui saluran adalah dua kali bandwidth data aktual. Keuntungan yang dipuji-puji untuk 8b / 10b adalah bahwa bandwidth transmisi yang digunakan jauh lebih sedikit daripada 2X yang dikenakan oleh Manchester.

Seseorang ingin menghindari DC melalui saluran karena sejumlah alasan. Sementara setiap saluran transmisi memiliki jenis persyaratan yang berbeda, pertimbangan utamanya adalah bahwa DC tidak melalui sirkuit kapasitor atau trafo yang digabungkan dengan sangat baik. Pertimbangan besar lainnya, bahkan untuk sirkit sambungan langsung, adalah bahwa transisi diperlukan untuk dapat menyinkronkan sirkuit PLL pada ujung penerima sehingga pencatatan jam kerja dapat dipulihkan untuk memungkinkan strobing bit data pada waktu yang tepat.

Michael Karas
sumber
dan alasan mengapa penting untuk tidak memilikinya 'terlihat seperti DC' ...?
Andyz Smith
Lihat komentar tambahan dalam jawaban ....
Michael Karas
1
"DC tidak melalui sirkuit kapasitor atau transformator yang digabungkan dengan sangat baik" - mungkin juga meninggalkan dua kata terakhir :)
Mels
Saya akan sedikit khawatir jika ada trafo atau kapasitor sebelum detektor sinyal sensitif dalam desain transmisi digital kecepatan tinggi, tapi ya, saya dengan Anda dan pencatatan jam kerja dan nyala adalah apa yang saya benar-benar pikirkan. maksud saya, ini adalah perbedaan utama antara transmisi sinkron dan asikronik. dan alasan mengapa asinkron dipilih berulang kali, meskipun itu membuang-buang bit, karena itu tahan terhadap noise.
Andyz Smith
@AndyzSmith "Aspek kelistrikan dari setiap jalur ditandai sebagai pemancar, saluran, dan penerima; ini secara kolektif mewakili tautan diferensial searah. Setiap tautan diferensial dilengkapi AC dengan kapasitor yang terletak di sisi pemancar tautan diferensial." USB 3.0, bagian 3.2.1
Vorac
2

Terlepas dari sifat-sifat baik yang disebutkan oleh orang lain, hal-hal baik lainnya yang 8b10b berikan kepada Anda termasuk: 1. Diskriminasi yang mudah pada penerima antara kontrol tautan dan simbol data 2. Mudah mendeteksi ~ 75% kesalahan.

Secara mengejutkan juga mudah untuk membangun pemancar dan penerima 8b10b dalam logika yang dapat diprogram; paten IBM asli menentukan semua operasi logika yang diperlukan (dan jika Anda terlalu malas untuk itu, Chuck Benz telah melakukannya untuk Anda di Verilog).

Wikipedia juga memiliki halaman yang sangat berguna pada 8b10b.

markt
sumber
1

Ini dijelaskan nanti dalam tutorial yang ditautkan, pada halaman 15.

Alasan yang tercantum untuk menerapkan pengodean ini ke USB 3.0 adalah:

  • pemulihan jam - tanpa pengkodean, aliran panjang 1s atau 0s akan terlihat seperti DC
  • deteksi kesalahan - ketika penerima menerjemahkan simbol 10 bit, ada banyak simbol yang tidak mungkin; menerima salah satu dari mereka menandakan kesalahan.

Seorang kolega memiliki hipotesis lain. Parafrase:

Kabel memiliki induktansi dan kapasitansi. Ini menghaluskan bagian depan serangan pulsa. Dengan demikian, mentransmisikan satu 1 akan meninggalkan bus dalam keadaan listrik tertentu, sementara mentransmisikan beberapa 1 akan meninggalkannya dalam keadaan listrik yang berbeda (lebih dekat ke kondisi mapan). Akibatnya, mengirim 0 kata penutup akan memiliki potensi yang berbeda dalam dua skenario.


Ketiga, berikut ini kutipan dari standar, bagian 3.2.1

Penerima membutuhkan transisi yang cukup untuk memulihkan jam dan data dari bit stream dengan andal. Untuk memastikan bahwa transisi yang memadai terjadi dalam bit stream terlepas dari konten data yang sedang dikirim, pemancar mengkodekan data dan mengontrol karakter menjadi simbol menggunakan kode 8b / 10b.

Vorac
sumber