Saya menggunakan pengontrol mikro MSP430FR2633 dan ADS122C04IPWR DAC melalui I2C pada 100kHz.
Dapatkah saya merutekan jalur I2C melalui vias dalam 2 Layer PCB?
Saya menggunakan pengontrol mikro MSP430FR2633 dan ADS122C04IPWR DAC melalui I2C pada 100kHz.
Dapatkah saya merutekan jalur I2C melalui vias dalam 2 Layer PCB?
Jawaban:
Pada kecepatan I2C, vias akan menyebabkan Anda sama sekali tidak ada masalah sama sekali.
Setidaknya, tidak ada masalah dalam hal hambatan track, kapasitansi atau induktansi. Namun, jika Anda memiliki papan 2 lapisan, maka menggunakan kedua lapisan itu paling baik dilakukan secara sistematis, jika tidak, Anda dapat membawa diri Anda ke dalam masalah.
Apa yang dilakukan banyak orang adalah mendedikasikan satu lapisan papan ke tanah. Ini umumnya bekerja dengan baik, SAMPAI mereka mulai memotong tanah dengan 'hanya satu trek' berjalan di lapisan lain. Ketika trek ini bergabung dengan 'hanya yang lain', dan yang lainnya, tanah berakhir seperti tirai renda. Itu tidak melakukan tugasnya, dan sulit untuk menentukan di mana dan bagaimana menjahitnya kembali, terutama jika Anda tidak berpengalaman. Lebih buruk lagi, beberapa akan merutekan semua lintasan, kemudian melakukan 'tuangkan tembaga', dengan harapan hal ini membuat pesawat darat yang baik.
Jika Anda menggunakan 2 layer untuk sinyal, maka jauh lebih baik untuk memulai dengan rencana. Gunakan pengaturan pelacakan 'Manhattan', timur-barat pada satu lapisan, utara-selatan pada yang lain. Mulailah dengan 'tanah grid', letakkan trek paralel setiap 10mm atau lebih, dan melalui mereka di setiap persimpangan. Ini berfungsi hampir sama baiknya dengan pesawat darat, dan pada kecepatan I2C sama baiknya. Sekarang Anda memiliki cara sistematis untuk menjalankan trek dari mana saja, ke mana saja, dan dapat melompat ke sisi lain dari papan tepat di mana Anda perlu, tanpa mengganggu kontinuitas tanah yang ada.
Alternatifnya adalah dengan menggunakan bidang tanah, tetapi untuk menghindari memotongnya dengan tetap pada lapisan sinyal Anda untuk semua sinyal. Lintas trek dengan melewati trek di bawah komponen. Anda dapat membeli resistor 'nol ohm' untuk tujuan ini, meskipun resistor 1 atau bahkan 10 ohm akan sama bagusnya dengan kawat pada level resistensi I2C.
Seharusnya tidak menjadi masalah. Kami menggunakan vias pada I²C yang berjalan hingga 800 kHz tanpa masalah.
Yang terburuk yang saya lihat adalah via yang buruk, yang menciptakan resistansi seri di garis I²C. Itu mempengaruhi laju perubahan papan sangat buruk sehingga komunikasi I²C gagal. Tapi itu di papan prototipe dan belum pernah terjadi di papan produksi sejauh ini.
100kHz cukup mudah untuk bergerak. Peralatan kami memiliki EEPROM I2C yang dipasang di bagian sistem yang dapat diganti pelanggan, sehingga perubahan kalibrasi saat bagian itu diganti akan secara otomatis dibaca oleh pengontrol. Kabel untuk ini bisa sepanjang beberapa meter, dan sejauh ini itu berfungsi OK. Memang kita memang memiliki kabel kapasitansi rendah, tapi tetap saja, PCB via bukanlah masalah besar.
Perhatikan bahwa sementara 100kHz adalah frekuensi standar I2C asli, itu bukan akhir dari cerita. "Fast Mode" I2C memungkinkan hingga 400kHz, "Fast Mode Plus" memungkinkan hingga 1MHz, dan "Mode Kecepatan Tinggi" memungkinkan hingga 3.4MHz. Melihat datasheet, DAC Anda mendukung "Fast Mode Plus" hingga 1MHz. Selama Anda tetap pada 100kHz maka Anda pada dasarnya dapat melakukan apa pun yang Anda inginkan karena itu tidak cukup cepat, tetapi jika Anda ingin lebih cepat di masa depan maka Anda harus menyelidiki aturan desain untuk sinyal digital yang lebih cepat.
Yang mengatakan, DAC itu sendiri hanya dapat mengelola sampel 2K per detik. Untuk DAC 24-bit plus overhead I2C yang terkait, transfer data hanya akan memakan waktu sekitar 70-80% dari bandwidth pada tautan 100kHz. Jika Anda memiliki beberapa DAC pada tautan I2C yang sama maka Anda mungkin ingin menggunakan tautan yang lebih cepat untuk melayani semuanya, tetapi jika Anda hanya memiliki satu DAC maka Anda tidak memiliki alasan untuk bergerak lebih cepat dari 100kHz.