Saya terlibat dalam sebuah proyek di mana pelanggan menentukan pin dalam kabel pita, tanpa mempertimbangkan kemungkinan masalah lintas-bicara. Sinyal tersebut adalah sinyal data 1 MHz tanpa kabel ground yang memisahkannya. Saya tidak pernah memiliki pengalaman dengan cross-talk dan kagum dengan ukuran gangguan yang disebabkan (0,5 hingga 0,65 volt). Sisi penerima menggunakan driver garis 74HCxx (level switching CMOS) yang menghasilkan sampah murni pada aliran data. Pelanggan beralih ke driver 74HCT dalam upaya untuk memindahkan input level switching "tinggi" di bawah level kesalahan, tetapi saya memiliki keprihatinan saya.
Apakah apa pun yang dapat dilakukan, selain beralih ke bagian HCT atau hanya mendesain ulang papan untuk mungkin menyelamatkan apa yang kita miliki?
sumber
Jawaban:
Bisakah Anda mengganti kabel pita, atau memasukkan adaptor ke kabel pin-count yang lebih tinggi? Pertimbangkan apa yang dilakukan IDE / ATA untuk meningkatkan bandwidth - ia beralih dari kabel 40 kawat ke kabel 80 kawat, dengan setiap kabel lain di dalam kabel terikat ke ground di dalam konektor. Solusi serupa dapat diterapkan di sini.
Atau, dapatkah Anda mengurangi laju perubahan tegangan? Pada 1 MHz, masalah Anda cenderung kurang tentang frekuensi sinyal itu sendiri dan lebih banyak tentang tepi cepatnya. Jaringan filter di sisi pengiriman dapat membantu.
sumber
Anda dapat membiarkan desain papan apa adanya, tetapi buat adaptor pendek di kedua ujung kabel, dan buat kabel yang sebenarnya baik sebagai kabel non-pita (micro coax, ini akan menjadi yang terbaik), atau gunakan arde yang tepat di antara kabel sinyal. Pada dasarnya Anda perlu membuat kabel yang berbeda agar sesuai dengan colokan IDC (atau apa pun yang mereka pilih sebagai konektor board-to-cable). Sesuatu seperti ini:
sumber
Ini sangat lambat, jadi periksa dulu apakah ada sumber terminasi resistor di sisi penggerak. Jika ada resistor, Anda dapat meningkatkan nilainya untuk menurunkan laju perubahan tegangan.
Jika tidak ada resistor terminasi sumber, maka apa pun yang menggerakkan kabel ini akan mendorong pulsa arus besar secara mengejutkan ke kapasitansi kabel pada setiap transisi level, yang akan mengacaukan pasokan daya chip penggerak jika tidak dipisahkan dengan benar. Jadi, periksa pada ruang lingkup apakah Anda mendapatkan "crosstalk" di KEDUA tepi, atau hanya SATU tepi, atau jumlah crosstalk yang berbeda di kedua tepi, periksa catu daya driver kabel, juga selidiki pin GND versus pesawat GND. Cobalah membalik satu sinyal sambil membiarkan yang lain sendirian. Jika "crosstalks" dari satu kawat di satu sisi kabel ke semua kabel lain dalam jumlah yang sama, maka itu bukan crosstalk, melainkan chip driver yang memiliki pentalan ground atau decoupling yang buruk, jadi Anda harus memperbaikinya.
Jika sinyal sinkron dan Anda memiliki garis jam, Anda dapat bermain dengan pengaturan waktu jam. Jika data terkunci pada register di sisi penerima, level hanya penting di dalam jendela setup / tahan. Jadi, jika Anda menggeser jam sedikit untuk membuatnya memicu setelah sinyal telah menetap, itu bisa membantu. Kecuali jika Anda mendapat crosstalk ke sinyal clock juga, dalam hal ini akan menggandakan jam dan itu tidak baik.
Ya, tetapi itu juga akan memindahkan input level "rendah" ke bawah dan membuatnya lebih sensitif terhadap noise, jadi itu mungkin "memperbaiki" crosstalk di satu sisi, tetapi memperburuknya di sisi lain! Saya kira ini mungkin bisa bekerja jika sinyal Anda sinkron, dan menggunakan clock edge tinggi ke rendah tapi ... mehhh ... lebih baik menggunakan gerbang pemicu Schmitt.
Sebelum mendesain ulang, pastikan Anda mengkonfirmasi apakah itu benar-benar crosstalk ... atau pentalan ground atau decoupling yang buruk dalam chip penggerak.
Pastikan juga tidak memantul di antara kedua papan yang disebabkan oleh arus yang mengalir di kawat GND dan menciptakan perbedaan tegangan antara papan.
Jika Anda kehabisan pin dan menggunakan sinyal sinkron (dengan jam), Anda dapat meletakkan garis GND antara jam dan jalur data, untuk mencegah tepian data bocor ke dalam jam.
sumber
Setelah faktanya, Anda memiliki beberapa pilihan:
Meningkatkan resistansi sumber mengurangi waktu penelitian tetapi tidak akan mengurangi crosstalk, karena rasio impedansi kapasitansi crosstalk Xc / Rs naik seiring laju perubahan tegangan yang berkurang.
sunting
Bukti ide menggunakan estimasi kabel pita 1m ESL dan C
Di sini menggunakan 5 sinyal berbeda dekat gelombang persegi 1MHz tetapi berbeda untuk mendapatkan crosstalk alias dengan impedansi sumber dan beban yang berbeda. Biasanya saya ingat, kabel pita 120 Ohm berakhir tunggal yang diterjemahkan menjadi induktansi benjolan dan kapasitansi per meter tetapi tergantung pada AWG dan jarak dielektrik.
sumber
Untuk crosstalk minimal, Anda perlu
(1) lebar kabel pita-kabel, sehingga jaket plastik berdiameter besar; ini memberikan picoFarads / meter minimal dan meminimalkan arus kabel (medan magnet minimal)
(2) perisai foil logam di sekitar kabel pita, untuk menangkap sebagian besar Efields; tanah foil ini.
(3) arus kabel minimal dan kecepatan tepi paling lambat (slewrate lambat), sehingga dI / dT lambat dan kopling medan magnet minimal; jadi gunakan driver LEMAH
(4) penghentian sumber, mungkin 100ohms
Perhatikan pola pikirnya: (A) kurangi crosstalk medan-Listrik, menggunakan jarak kawat-kawat yang lebih besar, dan menggunakan perisai untuk menangkap sebagian besar fluks listrik dan pada kenyataannya mengurangi kapasitansi kawat-kawat; juga mengurangi dV / dT. Dan (B) mengurangi crosstalk medan magnet, dengan meningkatkan jarak kawat-kawat, dengan mengurangi "loop area" dengan jalur kembali (perisai, foil) yang terletak sangat dekat, dengan memperlambat dI / dT karena dV / dT berkurang, dan kurangi arus dengan tidak berhenti di ujung penerima.
sumber
Apakah Anda yakin gangguan yang Anda lihat adalah crosstalk (dan tidak, misalnya, dering karena impedansi yang tidak tertandingi atau kebisingan catu daya)? Cobalah untuk merutekan satu jalur melalui kabel berpelindung yang terpisah: crosstalk akan hilang di dalamnya, sementara deringan dan derau catu daya akan tetap ada.
Saya sangat curiga bahwa Anda akan melihatnya berdering, dan masalahnya akan hilang setelah Anda mencocokkan impedansi kabel dan driver.
Jika masalah ini benar-benar disebabkan oleh crosstalk, Anda dapat banyak memperbaiki situasi dengan mengurangi impedansi input receiver Anda. Tegangan crosstalk mungkin cukup tinggi untuk mengganggu level sinyal, tetapi tentu saja tidak sekuat sinyal aktual. Yang berarti, jika Anda menambahkan resistor pull-up atau pull-down di sisi penerima garis data Anda, mereka akan menyerap sebagian besar kebisingan crosstalk, sementara memiliki efek minimal pada sinyal.
Kebisingan catu daya biasanya dihilangkan dengan topi decoupling.
sumber
Bungkus pita ke dalam selotip aluminium (konduktif tebal yang digunakan untuk menutup saluran; BUKAN selotip, hanya aluminium + lem sebenarnya), dan hubungkan ke tanah hanya di ujung perangkat Anda. Ini mungkin tidak menghapus crosstalk sepenuhnya, tetapi itu akan menambah kapasitansi untuk setiap baris dan juga menyediakan perisai, yang mungkin cukup untuk aplikasi Anda. Ini akan mengurangi fleksibilitas kabel ...
sumber
Anda dapat mempertimbangkan mengatasi masalah ini di perangkat lunak kontrol. Anda dapat mengukur crosstalk dari setiap kabel sumber ke setiap kabel keluaran. Ini mendefinisikan "matriks crosstalk". Setelah Anda mengukur setiap elemen matriks crosstalk ini, Anda dapat menghitung tegangan kompensasi yang diperlukan pada kabel lain dengan inversi matriks.
sumber