
Hari baik!
Perhatian, banyak teks dan foto. Di pasaran, Anda dapat menemukan banyak variasi PC papan tunggal dengan perisai atau solusi all-in-one. Beberapa dirancang untuk tugas tertentu, misalnya, pengumpulan dan tampilan data, yang lain bersifat universal dan mencakup semua jenis antarmuka untuk semua kesempatan. Perbedaan signifikan juga diamati dalam konfigurasi, jenis pengikat, konektor, faktor bentuk, dll. Mengapa mengembangkan perangkat Anda, Anda bertanya, jika Anda dapat memilih yang sudah ada? Beberapa tahun yang lalu, membalik papan pada IMX6Q - "BD-SL-i.MX6" dari Freescale (baca NXP), muncul ide untuk membuat modul yang akan ...
1. Menutupi kebutuhan kami akan papan prototipe di IMX6. Saat itu, sudah ada beberapa proyek yang diimplementasikan pada chip ini. Perlu dijelaskan bahwa memiliki modul Anda sendiri dan mengembangkan motherboard untuk proyek tertentu, Anda dapat dengan cepat menguji semua periferal, "meningkatkan" perangkat lunak, membuat perubahan dan mentransfer semuanya ke 8 lapisan yang sangat diperlukan untuk IMX6Q (garis chip ini tidak terbatas pada quad) selain QUAD, ada juga DUAL dan SOLO - semua "pin-to-pin", yang memberikan banyak peluang untuk mengimplementasikan perangkat dengan fungsi berbeda berdasarkan pada satu "papan"). Biarkan saya mengingatkan Anda bahwa motherboard dapat 4-layer atau bahkan 2-layer, yang secara signifikan mempercepat waktu produksinya dan mengurangi biaya.
2. Gunakan modul sebagai komponen dan berikan pilihan kepada pelanggan: transfer semuanya ke satu papan atau gunakan apa adanya. Dalam keadilan, saya akan mengatakan bahwa penggunaan modul yang dibeli untuk proyek komersial tidak dipertimbangkan. Pertama, Anda tidak dapat menemukan modul yang cocok untuk semua orang (baik ada banyak konektor, atau ada beberapa, atau tidak ada lubang pemasangan, atau papan besar, dll., Secara umum, mereka yang mencari kebutuhan mereka akan mengerti), tetapi, pada -kedua, pengembangannya sendiri selalu lebih dapat diandalkan. Anda bisa melempar saya tomat, tapi saya hanya percaya diri.
3. Berikan pelanggan kesempatan untuk mengembangkan perangkat mereka berdasarkan modul kami. Ya - ini juga ternyata sangat diminati, tetapi bukan yang dijelaskan di atas (tentang kerumitan memilih modul), tetapi fakta bahwa ini adalah pengembangan dan produksi Rusia memainkan peran besar. Rupanya, kata "substitusi impor" telah sangat mempengaruhi industri dan pengembangan kami, termasuk.
IMX6 mulaiSecara singkat tentang hal utama, tetapi ini tidak akan menjadi esensi dari artikel tersebut. Modul pertama kami tentang IMX6Q digunakan dan sekarang dalam pengembangan, memiliki dimensi 50x75mm. OS Linux dan Android.
Fig. 1. Modul pada IMX6QSaya tidak akan mencantumkan antarmuka, kelebihan dan kekurangannya. Ini menampilkan hampir semua yang memiliki chip, dan ini sudah cukup untuk implementasi banyak proyek. On board adalah eMMC, konektor antarmuka, fisika dan daya Ethernet gigabit. Penyimpangan singkat selesai, sekarang intinya.
Kita telah sampai pada apaGaris IMX6 tidak berakhir pada chip di atas. IMX7, IMX8 dalam berbagai versi telah muncul, tetapi kami tertarik pada versi yang lebih lemah di dimensi yang lebih kecil, dipangkas fungsionalitas - ini IMX6UL / IMX6ULL (mereka juga "pin-to-pin" di antara mereka sendiri). Kami menarik perhatian bukan hanya seperti itu, tetapi karena beberapa tugas muncul yang terkait dengan voice over Ethernet melalui SIP, serta kebutuhan untuk mengembangkan perangkat dalam dimensi kecil dan tanpa kemungkinan pembuangan panas. IMX6UL memiliki kit yang cukup bagus untuk menghubungkan periferal:
Fig. 2. Diagram Blok IMX6ULSiapa pun yang memiliki gambar kecil dapat pergi ke situs web NXP dan melihat rincian garis chip data. Salah satu kemudahan menggunakan prosesor ini adalah bodinya. Pitch kontaknya adalah 0.8mm, dan pad kontak adalah 0.356mm (BGA), yang berarti persis bahwa papan dapat dilakukan pada 4 lapisan (yang, pada prinsipnya, dilakukan di papan referensi NXP untuk chip ini). Kami menggunakan versi 14x14mm (ada juga 9x9mm dengan peningkatan 0,5mm).
Mengapa NXP, bukan Broadcom, ST, Ali, atau prosesor raksasa lainnya? Bahkan, intinya adalah ketersediaan chip, dukungan teknis dan lintas-platform. Setelah membuat modul pada IMX6Q, kami relatif mudah untuk memindahkan perangkat lunak ke IMX6UL / IMX6ULL. Chip tersebut pin-to-pin, oleh karena itu, setelah mendebug perangkat lunak pada UL, Anda dapat beralih ke ULL yang lebih murah. Yang kedua adalah konsumsi daya yang rendah dan, akibatnya, panasnya rendah. Saya sengaja tidak memberikan parameter teknis dari prosesor, jadi ada banyak "air" dalam artikel, dan informasi ini tersedia untuk umum.
Salah satu proyek menarik yang diimplementasikan pada IMX6UL adalah perangkat voice over Ethernet - telepon SIP, tetapi pada dasarnya sebuah interkom.
Fig. 3. Telepon SIP.Tentang utamaInti dari proyek ini adalah IMX6, di mana OS berputar dengan klien SIP diinstal. Sebelum mem-boot Linux, u-boot (bootloader) dimuat dengan SPI Flash terpisah. Pemisahan bootloader dan firmware utama dibuat bukan secara tidak sengaja (berlawanan dengan referensi), tetapi untuk membuat perangkat tangguh dengan daya mati yang tidak terduga. Jika Anda mulai berbicara tentang ubif dan bagian baca-saja di NAND, maka saya sangat kecewa. Praktek telah menunjukkan bahwa bahkan chip NAND terbaik memiliki hak untuk mati, dan mereka melakukan hal ini tanpa diduga. Ada antarmuka RMII untuk komunikasi dengan dunia luar, dan switch Ethernet LAN9303 - 10/100 (IMX ini tidak mendukung gigabit) dipasang di papan dan dibutuhkan dua port. IMX6UL memiliki dua port RMII dengan routing, tetapi ada kebutuhan untuk persis dua interface independen dalam bentuk hub.
NAND digunakan untuk menyimpan firmware dan file (Kami berhenti di Samsung K9F1G08U0D dalam paket TSOP48. Kami tidak mulai meludah dan tidak menutup artikel, karena memori dalam bentuk seperti itu sangat murah dalam batch kecil dibandingkan dengan BGA63). Satu chip memori DDR3 adalah K4B4G1646D, codec ADAU1761. Codec layak untuk dilihat lebih dekat. Sebelum ini, SGTL5000 digunakan di beberapa proyek, tetapi dengan ADAU, hidup menjadi lebih menyenangkan. Anda dapat menulis artikel terpisah tentang dia, tetapi saya akan mencoba merangkum esensinya dalam proyek saya. Microcircuit tidak hanya memiliki 6 input analog, 7 output dan, tentu saja, antarmuka I2S, Analog Devices, bersama dengan codec, juga merilis perangkat lunak khusus untuk menulis firmware untuk DSP bawaan. Siapa pun yang tertarik, dan siapa yang tidak tahu, bisa membaca apa itu DSP dan apa yang dimakannya.
Fig. 4. Diagram Blok ADAU1761Saat menulis perangkat lunak, pertama-tama, programmer cukup bermain dengan semua jenis distorsi, gema pembatalan, penyaringan dan fungsi pencampuran suara. Sangat mengesankan, saya akan memberi tahu Anda. Antarmukanya sangat ramah, banyak pengaturan, filter, konversi, kemampuan untuk mengarahkan ulang suara, dll.
Fig. 5. SigmaStudio oleh Perangkat AnalogProyek ini melibatkan 4 saluran (input / output), karena terdapat speaker stereo dan mikrofon built-in, serta konektor untuk menghubungkan yang eksternal.
Papan periferal terhubung ke papan (pada Gbr. 3), hanya dengan codec, pemindai keyboard matriks, dll., Tidak menulis tentang hal itu.
Salah satu konektor RJ45 digunakan untuk catu daya PoE, chip Si3402 dari Silicon Laboratories digunakan sebagai Perangkat yang Didukung (PD). Sirkuit switching digunakan hampir standar tanpa isolasi galvanik dengan output 12V (tegangan disesuaikan dengan resistor). Sedikit terganggu oleh siapa pun yang tertarik pada topik PoE + dengan isolasi galvanik, ada chip yang sangat bagus dari TI - LM5072MH-80. Ini telah membuktikan dirinya dalam beberapa proyek.
Catu daya sekunder diimplementasikan pada DC / DC ST1S10PHR - bukan yang termurah, bukan yang paling tinggi, tetapi mereka bekerja dengan sempurna dan dapat diakses oleh mobil. Secara umum, kami memiliki kebun binatang DC / DC dan LDO secara keseluruhan untuk kebutuhan yang berbeda, tetapi ketika kualitasnya penting, kami memilih produsen terkenal.
Papan juga memiliki USBHOST, USBOTG, dan kartu SD. Melalui USB dan SD, Anda dapat memutar / memperbarui firmware. Ada juga pembaruan melalui jaringan, tetapi ini sudah berlaku untuk perangkat lunak dan antarmuka web.
Sedikit tentang penelusuranAnda tanpa akhir dapat memposting gerbera dan kartu jejak, tetapi saya tidak akan melakukan ini, tetapi saya hanya akan menyentuh pada poin utama dan kritis. Urutan lapisan adalah standar:
- TOP - sinyal dengan poligon tanah
- GND - poligon pentanahan
- KEKUATAN - situs uji makanan
- BOTTOM - sinyal dengan poligon tanah
1. DDR3. Dengan tata letak memori independen, Anda harus berhati-hati, jadi saya tidak melakukan ini, tetapi mengambil referensi sebagai contoh. Hanya dua lapisan (atas dan bot) yang digunakan untuk melacak, dua lapisan lainnya tidak terlibat. Vias 0.203 / 0.406mm, ketebalan garis 0.114mm. Saya hanya mengubah garis pembumian di bawah prosesor dan membuatnya sedikit lebih tebal - hingga 0,3mm. Lapisan GND ternyata menjadi dasar yang baik di mana saya harus menggambar antarmuka RGB, yang tidak sepenuhnya benar, tetapi saya tidak melihat opsi lain dengan jumlah antarmuka saya di papan tulis.
Fig. 6. jejak memori
Fig. 7. Tempat pembuangan sampah dan tanahSaat memasang papan, Anda perlu mencurahkan lebih banyak waktu untuk kekuasaan dan tempat pembuangan sampah. Jauh lebih mudah untuk mengembangkan papan 4-lapisan dengan skema yang sama, terdapat jejak jejak konduktor sinyal dan selalu ada dua lapisan tersisa untuk catu daya yang baik, yang juga dapat digunakan secara kompeten untuk jalur data yang tidak kritis. Rentang daya utama yang hampir selalu saya lakukan adalah 3.3V, sisanya di dalamnya. Semua tempat pembuangan tegangan tinggi dibuat dengan celah besar untuk menghilangkan gangguan.
2. PoE, seperti yang saya tulis sebelumnya, diimplementasikan pada chip Si3402. Ini dibesarkan secara ketat pada empat lapisan papan dengan celah besar dari poligon utama. Saya pikir ini akan dimulai pada dua lapisan, tetapi tidak ada yang menjamin kualitas. Saat mendesain unit catu daya, saya biasanya mengikuti papan evaluasi untuk sirkuit mikro, dan ketika menguji, saya memeriksa bentuk gelombang dari sinyal yang diberikan dalam dokumentasi. Jika Anda tidak dapat melakukannya dalam referensi, karena ukuran atau konfigurasi papan, maka Anda harus dibimbing hanya oleh pengalaman dan akal sehat.
Di lapisan daya untuk PoE, rentang 12V dipilih. Lapisan yang tersisa digunakan untuk sinyal dan poligon ground PoE - GND_EXT. Semua poligon saling ketat di bawah satu sama lain tanpa tumpang tindih poligon yang berdekatan di lapisan lain. Jarak antara poligon PoE dan yang utama sekitar 1 mm. Ketika mengembangkan PoE dengan isolasi galvanik, saya biasanya juga membuat guntingan dengan pemotong penggilingan (dalam pembuatan papan sirkuit) di bawah transformator dan optocoupler umpan balik.
Fig. 9. PoE. TOP3. Periferal. Saya harus melakukan perkabelan papan pada chip M3616 milik ALi Corporation, hanya memiliki 292 bola, tetapi lihat kualitas prosesor dalam hal memfasilitasi jejak papan. Betapa jelas semua antarmuka keluar dalam urutan yang benar. Perhatian, papan dibesarkan di dua lapisan, dan RAM benar-benar dalam satu.
Fig. 10. Tempat pembuangan sampah dan tanahPada IMX6UL / IMX6ULL, saya harus mengutak-atik antarmuka. Dalam gbr. 6. Anda dapat melihat seberapa ketat konduktor pergi dan tidak ada cukup ruang untuk vias, dan Anda perlu menarik diri dari baris ke-5 bola. Hal utama di sini adalah untuk mengamati impedansi pada pasangan diferensial (misalnya, USB) dan tidak terlalu jauh dengan vias, karena ini akan merusak rentang daya dan lahan.
Namun modulApa yang tidak dilakukan, tetapi masih mendapatkan modul. Ketika jumlah proyek di IMX6UL / IMX6ULL melebihi harapan, dan fungsi utama ditulis, diputuskan untuk beralih ke sistem modular, seperti terakhir kali, dan bahkan melakukannya dengan elegan.
Fig. 11. modul mx6ull-m02c pada IMX6UL / IMX6ULLMengapa elegan?
- Modul ini dibuat dalam form factor "on board" dan tidak memiliki konektor antarmuka, memungkinkan untuk menggunakannya sebagai "sirkuit mikro".
- Di hutan, ia hanya memiliki semua yang Anda butuhkan: chip, DDR3, NAND, SPI, fisika Ethernet, satu pengumpan 1,35V (yang memungkinkan Anda untuk memasok hanya satu tegangan 3,3V ke modul), kuarsa dan pasif.
- Instalasi satu arah. Tidak semua solusi modular dapat membanggakan tidak adanya komponen di bagian bawah. Ini memberikan beberapa keuntungan sekaligus: penghilangan panas ke motherboard, kemungkinan pelacakan di bawah modul (karena tidak ada guntingan di papan untuk komponen yang menonjol) dan produksi modul yang lebih murah sendiri (dikurangi stensil, kartu dibalik saat pemasangan, dll.).
- Bantalan di sekitar papan tulis. Tidak ada titik sinyal solder di bawah modul.
- Dimensi modul hanya 45x36mm.
- Entah bagaimana saya akan memberi tahu Anda tentang salah satu perangkat yang dikembangkan pada modul ini, tetapi untuk saat ini foto motherboard untuk debugging dan menulis perangkat lunak.
Fig. 12. Modul IMX6UL / IMX6ULL di papan tulisPapan ini terdiri dari dua lapisan dan memiliki konektor antarmuka yang diperlukan untuk memulai dan mengoperasikan. Pada papan tersebut, kami melakukan pengujian internal untuk pendinginan dan pemanasan selama operasi, memeriksa stabilitas pekerjaan di bawah beban, dan perangkat lunak debug.
KesimpulanApa sebenarnya yang diberikan sistem modular saat mengembangkan perangkat?
- Dengan modul yang ada, waktu pengembangan untuk papan dengan antarmuka eksternal hanya membutuhkan beberapa hari (asalkan semua antarmuka dapat dipahami dan digunakan sebelumnya dalam pengembangan).
- Tata letak papan sirkuit cetak jauh lebih murah, karena dalam kebanyakan kasus Anda dapat membuat papan dua lapis, atau papan 4 lapis dengan kelas lebih rendah.
- Kecepatan mendapatkan motherboard jauh lebih tinggi, karena Anda tidak perlu menyolder komponen yang terkait dengan modul.
- Transisi dari tata letak ke versi rilis lebih cepat dan tidak menyakitkan (jika Anda masih memutuskan untuk membuat solusi papan tunggal).
Tentu saja, semua proyek berbeda dan kadang-kadang sirkuit periferal jauh lebih rumit daripada prosesor itu sendiri, tetapi debugging modul individual selalu lebih mudah, terutama jika pengembangan satu proyek dilakukan oleh beberapa insinyur.
Dalam satu artikel, sangat sulit untuk menulis apa pun yang Anda inginkan. Deskripsi bahkan satu proyek membutuhkan banyak surat, tetapi saya ingin menyentuh beberapa proyek, membagikan kesan saya tentang berbagai periferal, tentang sirkuit mikro bekas pakai, fitur pelacakan antarmuka, dll. Tetapi yang utama adalah berhenti tepat waktu.
PS: tautan sumber
github.com/trotill/adk_yoctoTerima kasih atas perhatian anda!