Mengapa transmisi serial digital digunakan di mana-mana? yaitu SATA, PCIe, USB

47

Sambil melihat SATA, PCIe, USB, SD UHS-II saya tersadar bahwa semuanya sama: bitstream serial digital, ditransmisikan menggunakan pasangan diferensial (biasanya kode 8b / 10b), dengan beberapa perbedaan dalam lapisan tautan / protokol.
Kenapa begitu? Mengapa ini menjadi standar?
Mengapa tidak ada protokol komunikasi sistem luas yang banyak menggunakan beberapa metode modulasi canggih untuk laju simbol yang lebih baik? Apakah saya melewatkan sesuatu? Ini bukan pertanyaan "serial vs parallel" tetapi pertanyaan "digital signaling vs modulated analog"

artemonster
sumber
7
Nah, alternatif apa yang ada?
PlasmaHH
27
Ya, dulu paralel, tetapi Anda akan membutuhkan banyak tembaga dan kabel yang sangat lebar.
Jeroen3
7
Dan itu tentu saja bagaimana DDR masih berfungsi sampai sekarang.
MSalters
10
Dan serial menyalip paralel untuk kabel printer, et al, ketika elektronik menjadi sangat murah sehingga konverter paralel-serial lebih murah daripada kabel.
Hot Licks
4
Mengapa Anda tidak menyarankan "beberapa metode modulasi lanjutan", sehingga kami dapat memahami apa yang Anda maksud dan bandingkan dengan "stream bit serial"?
Ale..chenski

Jawaban:

30

Mengapa tidak ada protokol komunikasi sistem luas yang banyak menggunakan beberapa metode modulasi canggih untuk laju simbol yang lebih baik?

Jika koneksi tembaga dasar antara dua titik mendukung kecepatan bit digital yang melebihi kecepatan data yang perlu ditransmisikan oleh "aplikasi", lalu mengapa repot-repot dengan hal lain selain dari sinyal diferensial berkecepatan tinggi diferensial standar?

Mempekerjakan skema modulasi lanjutan biasanya dilakukan ketika "saluran" memiliki bandwidth yang jauh lebih terbatas daripada tembaga atau serat.

Andy alias
sumber
Terima kasih! walaupun ada jawaban yang sangat bagus, inilah yang saya cari!
artemonster
3
Sebuah pertanyaan sederhana membutuhkan jawaban yang sederhana tetapi Anda tidak bisa menghentikan orang yang ingin membahas lebih banyak dari apa yang diperlukan pertanyaan asli.
Andy alias
1
dan ini adalah hal yang baik :) Saya telah belajar banyak dari jawaban lain karena mereka cukup informatif.
artemonster
68

Ada dua alasan utama munculnya serial

1) Itu mungkin. Transistor berbiaya rendah telah mampu mengelola switching GHz selama satu dekade sekarang, cukup lama untuk kemampuan yang akan digunakan dan menjadi standar.

2) Itu perlu. Jika Anda ingin menggeser data kecepatan sangat tinggi lebih dari beberapa inci. Jarak ini mulai mengesampingkan mobo ke tautan kartu PCI, dan jelas mengesampingkan mobo ke hard disk, atau mobo / settopbox untuk menampilkan koneksi.

Alasannya condong. Jika Anda mentransmisikan beberapa sinyal paralel di sepanjang kabel, maka sinyal tersebut harus tiba dalam sebagian kecil dari periode jam yang sama. Ini menjaga laju jam turun, sehingga lebar kabel harus meningkat. Saat laju data naik, itu menjadi semakin tidak sehat. Prospek untuk meningkatkan tingkat ke masa depan adalah tidak ada, lebar ATA ganda atau empat kali lipat siapa saja?

Cara untuk membunuh iblis condong adalah dengan serial. Satu baris selalu disinkronkan dengan dirinya sendiri, tidak ada yang miring dengan itu. Garis membawa data yang dapat diatur sendiri. Yaitu, menggunakan skema pengkodean data (seringkali 8b / 10b, terkadang jauh lebih tinggi) yang menyediakan kepadatan transisi minimum yang dijamin yang memungkinkan ekstraksi jam.

Prospek untuk meningkatkan kecepatan data atau jarak ke masa depan sangat bagus. Setiap generasi menghasilkan transistor yang lebih cepat, dan lebih banyak pengalaman dalam membuat mediium. Kami melihat bagaimana itu dimainkan dengan SATA, yang dimulai pada 1,5Gb / s, kemudian bergerak melalui 3 dan sekarang 6Gb / s. Bahkan kabel murah dapat memberikan impedansi yang cukup konsisten dan kerugian yang wajar, dan equalizer dibangun ke silikon antarmuka untuk menangani kehilangan tergantung frekuensi. Serat optik tersedia untuk waktu yang sangat lama.

Untuk kecepatan data yang lebih tinggi, beberapa tautan serial dapat dioperasikan secara paralel. Ini tidak sama dengan menempatkan konduktor secara paralel, yang harus dicocokkan dalam waktu kurang dari satu siklus clock. Jalur serial ini hanya perlu dicocokkan dengan dalam kerangka data tingkat tinggi, yang bisa berukuran μs atau bahkan ms.

Tentu saja keunggulan dalam lebar data tidak hanya berlaku untuk kabel dan konektor. Serial juga menguntungkan area papan PCB antara konektor dan chip, pinout chip, dan area silikon chip.

Saya memiliki sudut pandang pribadi dalam hal ini. Sebagai seorang desainer yang bekerja pada perangkat lunak yang didefinisikan radio (SDR) dari tahun 90-an dan seterusnya, saya biasa mencerca orang-orang seperti Perangkat Analog dan Xilinx (dan semua perusahaan ADC dan FPGA lainnya) (mereka akan mengunjungi dan meminta kami dari waktu ke waktu) untuk membuat saya menjalankan begitu banyak koneksi diferensial paralel antara ADC multi-100MHz dan FPGA, ketika kami baru mulai melihat SATA muncul untuk menggantikan ATA. Kami akhirnya mendapatkan JESD204x, jadi sekarang kami dapat menghubungkan konverter dan FPGA hanya dengan beberapa baris serial.

Neil_UK
sumber
7
PCI express 3 dan 4 menggunakan pengkodean 128b / 130b.
Peter Smith
11
Apa Nb/(N+2)bnomenklatur yang digunakan orang di sini?
detly
17
@detly 8b / 10b , 64b / 66b keduanya bentuk pengkodean Line-Code . Dalam konteks serial comms, pengkodean baris diperlukan untuk memastikan Anda dapat melakukan Clock-Recovery] ( en.wikipedia.org/wiki/Clock_recovery ).
Trevor Boyd Smith
4
@tolos - faktor kecepatan untuk sebagian besar rasa bahan PCB biasa adalah sekitar 50% (6 in / ns).
Peter Smith
4
@ supercat itulah cara penanganan beberapa lajur, setiap lajur memiliki clocking sendiri-sendiri. Data dibingkai dan tersebar di semua jalur. Ketika penerima memiliki semua bingkai, ia bekerja pada data. Ini memungkinkan kemiringan terkait dengan panjang frame data, yang bisa kita atau bahkan ms seperti yang saya katakan dalam jawaban saya. Ini adalah arti dari jumlah jalur dalam PCIe, dan bagaimana 2xHDMI ditangani untuk tampilan kinerja tinggi.
Neil_UK
24

Jika Anda menginginkan contoh sesuatu yang banyak digunakan, tetapi berbeda, lihatlah 1000BASE-T gigabit Ethernet. Itu menggunakan kabel paralel dan pengkodean sinyal non-trivial.

Kebanyakan, orang menggunakan bus serial karena mereka sederhana. Bus paralel menggunakan lebih banyak kabel, dan menderita kemiringan sinyal pada kecepatan data tinggi melalui kabel panjang.

Simon B
sumber
9
GbE dibuat dengan melemparkan uang pada masalah mendorong lebih banyak data atas sejumlah besar kabel Cat 5 yang ada. Mungkin tidak akan terlihat seperti itu jika antarmuka baru dirancang tanpa memperhatikan kompatibilitas ke belakang. Cf bagaimana 10GbE tidak membuat terobosan serius dalam pengaturan komersial / domestik karena mengharuskan pemasangan kabel Cat 6a baru.
Barleyman
10GbE mungkin masih berfungsi pada cat5e atau cat5 tergantung pada panjang dan / atau kualitas kabel.
user3549596
12

Untuk menambah jawaban baik lainnya:

Masalah yang dicatat dalam jawaban lain (terutama, condong di antara sinyal paralel, dan biaya kabel tambahan di kabel) meningkat dengan meningkatnya jarak sinyal. Dengan demikian, ada jarak di mana serial menjadi lebih unggul dari paralel, dan jarak itu telah menurun karena laju data telah meningkat.

Transfer data paralel masih terjadi: di dalam chip, dan juga sebagian besar sinyal di dalam papan sirkuit. Namun, jarak yang dibutuhkan oleh periferal eksternal - dan bahkan oleh drive internal - sekarang terlalu jauh dan terlalu cepat untuk antarmuka paralel agar tetap praktis. Dengan demikian, sinyal bahwa pengguna akhir sekarang akan terkena sebagian besar serial.

DrSheldon
sumber
4
Mungkin contoh terbaik dari pensinyalan paralel berkecepatan tinggi adalah memori RAM, terutama di PC.
Jan Dorniak
Jawaban luar biasa, menunjuk langsung ke akar masalah sinkronisasi waktu di seluruh domain spasial. Satu hal yang perlu diperhatikan, Anda masih dapat memiliki lebih dari 2 simbol pada tautan serial, sehingga mendapatkan manfaat komunikasi paralel dengan menggunakan modulasi untuk menyandikan lebih banyak bit per baud
crasic
@JanDorniak, perlu dicatat bahwa memori DDR * memiliki bit strobo data yang digunakan untuk sinkronisasi. Hal ini memungkinkan bus lebar untuk dipecah menjadi beberapa bus kecil. Lebih mudah untuk mengarahkan beberapa bus paralel 8-bit daripada merutekan bus 32-bit tunggal.
Caleb Reister
@ CalebReister tidak tahu itu. Masih sejajar. Saya pribadi punya situasi di mana PC modern akan bekerja atau tidak tergantung pada slot mana DDR4 dimasukkan. Itu berakhir sebagai UEFI yang memaksa latensi rendah maka memori mampu melakukannya.
Jan Dorniak
11

Teknik modulasi lanjutan akan mengharuskan Anda untuk mengirim dan menerima sinyal analog. ADC dan DAC yang beroperasi pada ratusan MHz cenderung mahal dan mengkonsumsi daya yang cukup besar. Pemrosesan sinyal yang diperlukan untuk decoding juga mahal dalam hal silikon dan daya.

Ini lebih murah untuk membuat media komunikasi yang lebih baik yang dapat mendukung sinyal biner.

Dmitry Grigoryev
sumber
1
Poin yang bagus. спасибо за ответ :)
artemonster
8

Mengapa bit stream serial menjadi sangat umum?

Menggunakan tautan serial memiliki keuntungan karena mengurangi ukuran fisik koneksi. Arsitektur sirkuit terpadu modern memiliki begitu banyak pin pada mereka sehingga ini menciptakan kebutuhan yang kuat untuk meminimalkan tuntutan interkoneksi fisik pada desain mereka. Hal ini menyebabkan pengembangan sirkuit yang beroperasi pada kecepatan ekstrem di antarmuka sirkuit ini menggunakan protokol serial. Untuk alasan yang sama, wajar untuk meminimalkan permintaan interkoneksi fisik di tempat lain di tautan data lainnya.

Permintaan asli untuk jenis teknologi ini mungkin memiliki asal-usul dalam desain transmisi data serat optik, juga.

Setelah teknologi untuk mendukung sambungan kecepatan tinggi menjadi sangat umum, itu wajar untuk menerapkannya di banyak tempat lain, karena ukuran fisik koneksi serial jauh lebih kecil daripada koneksi paralel.

Mengapa tidak ada protokol komunikasi sistem luas yang banyak menggunakan beberapa metode modulasi canggih untuk laju simbol yang lebih baik?

Pada tingkat pengkodean, skema pengkodean untuk komunikasi digital dapat sesederhana NRZ (Non-Return to Zero) , Kode Jalur yang sedikit lebih rumit (misalnya 8B / 10B) , atau jauh lebih rumit, seperti QAM (Quadrature Amplitude Modulation) .

Kompleksitas menambah biaya, tetapi pilihan juga tergantung pada faktor-faktor yang pada akhirnya bergantung pada teori informasi dan batas kapasitas suatu tautan. Hukum Shannon, dari Teorema Shannon-Hartley menggambarkan kapasitas maksimum saluran (anggap itu sebagai "koneksi" atau "tautan"):

Kapasitas Maksimum dalam Bit / Detik = Bandwidth * Log2 (1 + Sinyal / Kebisingan)

Untuk tautan radio (seperti LTE atau WiFi), bandwidth akan dibatasi, sering kali oleh peraturan hukum. Dalam kasus-kasus tersebut QAM dan protokol yang serupa rumitnya dapat digunakan untuk meningkatkan laju data setinggi mungkin. Dalam kasus ini, rasio sinyal terhadap noise seringkali cukup rendah (10 hingga 100, atau, dalam desibel 10 hingga 20 dB). Itu hanya bisa sangat tinggi sebelum batas atas tercapai di bawah bandwidth yang diberikan dan rasio sinyal terhadap noise.

Untuk tautan kabel, bandwidth tidak diatur oleh apa pun kecuali kepraktisan implementasi. Sambungan kawat dapat memiliki rasio sinyal terhadap noise yang sangat tinggi, lebih besar dari 1000 (30 dB). Seperti disebutkan dalam jawaban lain, bandwidth dibatasi oleh desain transistor yang menggerakkan kawat dan menerima sinyal, dan dalam desain kabel itu sendiri (saluran transmisi).

Ketika bandwidth menjadi faktor pembatas tetapi rasio signal to noise tidak, perancang menemukan cara lain untuk meningkatkan kecepatan data. Itu menjadi keputusan ekonomi apakah akan pergi ke skema pengkodean yang lebih kompleks atau pergi ke kawat lebih:

Anda memang akan melihat protokol serial / paralel yang digunakan ketika kabel tunggal masih terlalu lambat. PCI-Express melakukan ini untuk mengatasi keterbatasan bandwidth perangkat keras dengan menggunakan banyak jalur.

Dalam transmisi serat, mereka tidak harus menambahkan lebih banyak serat (meskipun mereka mungkin menggunakan yang lain jika sudah ada dan tidak digunakan). Dapat menggunakan multiplexing pembagian gelombang . Secara umum, ini dilakukan untuk menyediakan beberapa saluran paralel independen, dan masalah kemiringan yang disebutkan dalam jawaban lain bukan masalah untuk saluran independen.

Jim
sumber
1
Jawaban bagus. Itu membuat saya penasaran apakah seseorang dapat (atau sudah?) Melakukan sesuatu seperti mengimplementasikan 256-QAM pada kecepatan USB3 untuk kecepatan transfer yang benar-benar luar biasa ...
mbrig
FWIW, dunia serat mulai mengembangkan dan menggunakan skema modulasi yang lebih kompleks. PAM-4 datang untuk 100 dan 400 G Ethernet, dan sistem telekomunikasi (saya percaya, tapi ini bukan bidang saya) mulai menggunakan QAM yang koheren.
The Photon
tetapi, sungguh, jika SNR dari kabel sangat bagus, mengapa tidak memeras setiap kemungkinan bandwidth? Mengapa mendorong ke frekuensi GHZ (dengan semua masalah yang relevan), di mana Anda bisa lebih lambat dan menggunakan beberapa modulasi / pengkodean. Bukankah lebih nyaman?
artemonster
Kamu bisa melakukannya. Itu menjadi keputusan ekonomi.
Jim
1
QAM membutuhkan operator, sehingga tidak masuk akal untuk melakukan apa pun selain PAM untuk digital 'baseband'. Ini digunakan dalam domain optik, menggunakan cahaya itu sendiri sebagai pembawa. Lebih dari tembaga, pada dasarnya Anda hanya akan membangun transceiver radio. Ini akan membutuhkan sirkuit analog berkecepatan lebih tinggi, dan semua kerumitan dan peningkatan konsumsi daya yang menyertainya. Serializer dan deserializer relatif sederhana dibandingkan. IMHO, kita lebih cenderung melihat modulator dan detektor fotonik silikon terintegrasi daripada beralih ke QAM melalui tembaga.
alex.forencich
1

Ambil empat truk semi dengan muatan. Empat lajur per sisi jalan raya. Agar truk berhasil mengangkut payload paralel, mereka harus berdampingan dengan sempurna, seseorang tidak dapat berada di depan atau di belakang yang lain dengan lebih dari satu inci katakanlah. Bukit, kurva, tidak masalah. Bervariasi terlalu banyak dan gagal total.

Tetapi mintalah mereka mengambil satu jalur dan jarak di antara mereka dapat bervariasi. Meskipun benar bahwa secara linear dibutuhkan lebih dari empat kali jarak dari depan truk pertama ke belakang untuk memindahkan muatan, tetapi mereka tidak harus ditempatkan dengan sempurna. Hanya dalam panjang satu truk itu harus memiliki taksi dan muatan dan panjang muatan untuk ditempatkan dan ditempatkan dengan baik.

Mereka bahkan bertindak sejajar sebagai paralel, pcie, jaringan, dll, tetapi sementara itu secara teknis beberapa jalur data terpisah, mereka tidak paralel karena mereka harus pergi dan tiba pada saat yang sama, menggunakan analogi truk empat truk dapat mengemudi di empat lajur secara paralel tetapi dapat bervariasi, truk ditandai oleh lajur apa mereka tiba sehingga ketika mereka tiba di ujung yang lain muatan dapat digabungkan kembali ke dalam kumpulan data asli. Dan / atau setiap jalur dapat berupa satu set data secara seri dan dengan memiliki lebih banyak jalur, Anda dapat memindahkan lebih banyak set data sekaligus.

old_timer
sumber
Jalur tidak perlu "disejajarkan" dengan sempurna. Antarmuka multi-jalur modern menggunakan metode penyelarasan simbol yang lebih canggih daripada berdampingan secara sempurna.
Ale..chenski
1
Benar, itulah yang saya katakan.
old_timer
1

Sebagai tambahan untuk komentar Dmitry Grigoryev .

Transmisi analog lebih rentan terhadap kesalahan daripada transmisi digital. Suatu transmisi serial digital, misalnya, memiliki sisi-sisi clock, di mana suatu sinyal analog entah bagaimana mengambang antara 0V dan VDD. Jadi gangguan jauh lebih sulit dideteksi. Seseorang dapat memperhitungkannya dan menggunakan pensinyalan diferensial, seperti yang dilakukan dalam Audio.

Tapi kemudian Anda mengalami kecepatan vs akurasi tradeof dari DAC / ADC. Jika Anda harus berbicara tentang sistem digital satu sama lain, akan lebih masuk akal untuk menggunakan transmisi digital, karena Anda tidak perlu menghabiskan waktu untuk menerjemahkan DA-AD.

Namun jika Anda memiliki komputer analog yang beroperasi pada tegangan kontrol analog, masih ada beberapa di antaranya, pada dasarnya mereka terlihat seperti synths analog modular, semuanya berbeda, dan biasanya Anda dapat membangun komputer analog hanya untuk tugas-tugas tertentu. Presentasi lucu dalam bahasa Jerman tentang komputasi analog.

Berbicara tentang synths analog modular, mereka juga semacam komputer analog, yang dirancang khusus untuk melakukan kalibrasi pada sinyal yang berubah.

Jadi ada transmisi analog dalam komputasi, tetapi terbatas pada bidang yang sangat spesifik.

Tillo Reilly
sumber