Selamat siang teman-teman!

Dalam artikel ini, tidak akan ada Arduino, Raspberry, Olimex, transfer bagian dalam tablet ke dalam case "custom" yang terbuat dari kardus dan perekat, dll. Hanya perkembangan yang keras, hanya hardcore ...
Saya tidak tahu apakah saya telah memilih judul yang terlalu besar untuk artikel tersebut, tetapi semuanya tampaknya jujur: pengembangan Rusia, faktor bentuk tablet, meskipun terlihat seperti batu bata "senyum senyum".
Untuk pembaca saya, saya memutuskan untuk menguraikan garis besar artikel sehingga Anda dapat dengan mudah menavigasi dan melewati poin yang tidak perlu, tetapi jika Anda akan menulis komentar, maka silakan baca semuanya, "sehingga tidak akan menyakitkan luar biasa selama bertahun-tahun dihabiskan tanpa tujuan ... (c)".
- Pendahuluan Ide
- Jawaban atas pertanyaan.
- Apa yang ingin saya dapatkan di pintu keluar.
- Deskripsi besi.
- Prospek. Jika itu akan dibutuhkan.
- Kesimpulan Meringkas.
1. Pendahuluan. Ide
Seperti yang saya tulis sebelumnya dalam artikel saya, saya sangat tertarik dengan topik menghasilkan gambar ke matriks, dan semua yang terhubung dengannya. Sekarang Anda tidak akan mengejutkan siapa pun dengan scaler matriks, dalam bentuk papan kecil seharga $ 10- $ 15, dari mana Anda dapat dengan mudah membuat / memperbaiki monitor atau TV, tetapi saya sudah cukup bermain dengan mereka dan saya ingin sesuatu yang baru.
Gagasan untuk membuat sesuatu yang mirip dengan tablet lahir sejak lama, dan saya terus-menerus menetasnya, memikirkan cara menerapkannya dengan sedikit usaha dan biaya dengan laba yang lebih besar. Tentu saja, saya tidak membutuhkan tablet itu sendiri, tablet dapat dibeli dengan uang sedang jika perlu, atau sebagai upaya terakhir untuk membuat kasing dari kayu lapis untuk Raspberry, tetapi mengapa saya membutuhkan Raspberry (dan Anda bahkan dapat membeli kasing yang siap untuk membelinya)? Sangat menarik untuk diimplementasikan pada perangkat keras Anda dengan pengembangan penuh, tetapi perlu uang, dan di atas semua itu, waktu yang selalu kurang (atau dalam sehari Anda lebih dari 24 jam?).
Dorongan untuk implementasi segera dua peristiwa, yang pertama - tiba-tiba muncul beberapa matriks yang tidak perlu dari 7 hingga 10 inci, yang oh betapa menariknya saya. Beberapa dari mereka adalah RGB, tetapi juga di antara mereka adalah matriks LVDS dan driver backlight built-in dan sentuhan kapasitif USB. Kedua, ada kebutuhan yang lemah untuk referensi yang ringkas untuk perangkat lunak debugging untuk IMX6, di mana akan ada hampir semuanya dan sedikit lagi. Tentu saja, lebih mudah untuk membuang matriks dan mengambil referensi yang sudah jadi dari rak, tetapi tidak begitu sederhana, kami menggunakan dalam desain kami satu set periferal tertentu (codec, fisikawan, pengontrol biaya, dll.) Yang perlu didebug untuk fungsi baru, dan saya juga ingin mengalami sesuatu yang baru (dan matriksnya sangat menarik). Apakah Anda layak menghabiskan satu bulan gratis di malam hari, Anda bertanya? Tentu saja itu sepadan!
Dengan pemikiran dan sekotak matriks ini, saya memulai pengembangan. Saya tahu bahwa saya dapat mengalokasikan waktu yang sangat sedikit dan pada saat yang sama tidak jelas apakah akan mencapai iterasi kedua.
Fig. 1. Foto "tablet" di sisi papan sirkuit.2. Jawaban atas pertanyaan
Agar tidak ada pertanyaan yang tidak perlu, saya akan mencoba meramalkan beberapa dari mereka dan saya akan segera menjawabnya.
2.1 Bukankah lebih mudah untuk membeli tablet?
- Lebih sederhana, tapi kurang menarik.
2.2 Berapa biayanya dan berapa biayanya untuk pesta?
- Biayanya banyak, tetapi perusahaan kami mengambil semua biaya untuk mewujudkan keinginan kecil saya. Tidak ada pesta yang direncanakan, dibuat, untuk berbicara, untuk diri sendiri.
2.3 Di mana kandang itu? Mengapa mereka tidak mencetaknya di printer, tidak melihatnya dari kayu lapis, tidak membutakannya dari plastisin (dan sebagainya).
- Sekarang saya telah mengumpulkan semuanya, dan, pada prinsipnya, Anda dapat menemukan sesuatu tentang kasus ini, tetapi sejauh ini tidak ada waktu atau keinginan. Namun, jika sampai pada iterasi kedua papan, ketika dimungkinkan untuk mengurangi ketebalan, maka direncanakan untuk membuat kasing dengan lembaran logam tipis yang dipoles dari bagian bawah untuk menghilangkan panas.
2.4 Mengapa mereka tidak mengambil tampilan yang lebih kecil / lebih besar / lebih tipis?
- Layar menjadi gratis, dan seperti yang Anda tahu, hadiah kuda ...
2.5 Mengapa Anda meletakkan codec / feeder / baterai / fisika, dll.
- Chipset terbatas pada gudang kami dan saya ingin membeli komponen sesedikit mungkin, jadi saya mencoba menggunakan apa yang ada.
Daftar ini dapat dilanjutkan hampir tanpa akhir dan Anda dapat memperpanjangnya di komentar, tetapi saya akan mengakhiri di sini.
3. Apa yang ingin saya dapatkan di pintu keluar.
TK hanya ada di kepala, dan diperluas ketika lembaran baru skema ditambahkan di altium. Tentu saja, saya ingin memeras segala yang mungkin dari prosesor. Pada tahap pertama, dan mungkin pada yang terakhir, diputuskan untuk melakukan segalanya pada modul kami, karena papannya adalah 8 lapisan, dan untuk motherboard saya tidak perlu lebih dari 4.
Antarmuka:
3.1 LVDS - satu saluran untuk matriks 10-inci + sentuhan kapasitif.
3,2 Ethernet - 1000/100/10 (menjadi).
3.3 Audio - codec dengan beberapa saluran untuk input dan output + speaker dan mikrofon internal.
3.4 HDMI - konektor standar untuk menghubungkan monitor.
3.5 SATA - sambungkan drive SSD eksternal.
3,6 Kamera - satu, lebih disukai dua + flash.
3,7 E-Ink - layar kecil untuk menampilkan notifikasi, waktu, daya baterai, jaringan, dll.
3.8 GPS - modul apa pun untuk lokasi pelacakan.
3.9 CAN - diferensial, untuk menghubungkan perangkat eksternal.
3.10 kartu SD - men-debug dan mengunduh perangkat lunak. Penyimpanan data.
3.11 WiFi / BT / 4G - pada USB di dalam case (di bawah ini saya akan menjelaskan mengapa demikian).
3.12 USB - setidaknya 5pcs + OTG + console.
3.13 Accelerometer - untuk membalik layar.
3.14 RTC - chip terpisah untuk menyimpan waktu saat perangkat benar-benar mati energi.
3.15 NFC adalah pembaca untuk bermain.
3.16 Tombol kontrol - on / off / volume / reset.
3.17 Baterai - 3.7V, 4-6A.
3.18 Daya 5-18V.
3.19 OS Linux.
Itu yang saya inginkan. Di bawah ini saya akan menjelaskan beberapa poin yang saling bertentangan mengapa ini terjadi.
4. Deskripsi besi
Adalah adil untuk mengatakan mengapa semuanya sama pada modul, dan tidak langsung pada papan 8-layer. Lebih benar untuk mentransfer semuanya ke satu papan hanya setelah men-debug seluruh perangkat, jika ada. Satu iterasi papan (4-6pcs) pada delapan lapisan (60mm X 40mm) harganya sekitar 50tr + komponen - ini cukup baik, sehingga lebih tepat pada tata letak. Prot pada modul adalah 4-core, masing-masing adalah 1 GHz.
Fig. 2. Mencetak elemen tubuhHal pertama yang saya pikirkan banyak adalah antarmuka nirkabel. Harus ada beberapa, dan mereka harus ada di papan tulis. Dengan GPS, semuanya diputuskan dengan sendirinya, saya telah berulang kali menggunakan modul SIM33 dengan antena built-in, itu berfungsi dengan baik, meskipun tidak murah, ia memiliki output UART dan saya sudah menggambar jejak untuk itu).
Wi-Fi / BT juga dapat diimplementasikan sebagai modul di papan tulis, karena ada banyak dari mereka, tetapi untuk saat ini kami menunda masalah ini. Modem 4G datang dalam berbagai faktor bentuk dan modul pada konektor dan di papan untuk solder dan USB. Perangkat lunak ini mengambil Maxim (programmer kami), yang masih antusias, dan ia menyarankan untuk menginstal beberapa USB di papan tulis untuk menempelkan tongkat Wi-Fi / BT (yang kami berulang kali gunakan), dan juga mencoba menaikkan modem USB 4G, misalnya, Yota atau sesuatu seperti (apa yang terjadi). Dalam hal ini, kami juga memiliki panggilan. Jadi diputuskan untuk melakukannya.
Di dalam papan ada 3 USB, a) Wi-Fi / BT, b) modem 4G, c) modul untuk keyboard / mouse nirkabel. IMX6 hanya memiliki dua USB on board, sementara salah satunya adalah OTG dan mungkin diperlukan untuk debugging, oleh karena itu ditampilkan pada panel belakang dalam bentuk konektor miniUSB. USB kedua pergi ke hub TUSB2077 dari TI, yang memiliki 7 port pada output, yang Maxim telah mengangkat driver sebelumnya, jadi saya menggunakannya. Ada 3 port USB di panel belakang untuk menghubungkan perangkat eksternal. MicroUSB lain di panel belakang untuk mengeluarkan chip konsol uart untuk debugging (melalui CP2102 di papan utama).
Layar E-Ink memilih tri-warna (abu-abu / hitam / merah), salah satu yang paling umum untuk Arduino. Belum dibeli, karena belum terserah. Saya merasa agak menarik untuk memutuskan untuk tidak menyalakan layar, tetapi untuk menampilkan beberapa informasi pada layar kecil dan sesekali memperbaruinya. Saya juga sangat ingin bermain-main dengan E-Ink.
Fig. 3. Tampilan foto E-Ink.Modul IMX6 kami memiliki konektor (ada tiga voltase daya, I2C, reset, PWM, dll.) Untuk menghubungkan kamera OV5640-M4320, bahkan dua, ke buritan MIPI_CSI. Jadi satu kamera berfungsi (langsung ke konektor modul), tetapi dengan dua pertanyaan. Lingkaran kamera semacam itu biasanya dari 3cm ke 12cm. Di papan tulis, saya mengarahkan MIPI_CSI ke tempat yang tepat di papan tulis, tetapi belum memverifikasinya. Sesuatu memberi tahu saya bahwa antarmuka ini tidak akan berfungsi pada 15-20cm, atau akan tertinggal.
Fig. 4. Kamera foto OV5640-M4320.Ini adalah kamera 5 megapiksel dengan autofokus bawaan.
Direncanakan untuk membuat flash untuk kamera di bagian belakang perangkat, untuk ini saya membuat syal portabel (lubang dari syal ini terlihat di papan sirkuit, saya menyebarkannya langsung ke yang utama, agar tidak memesan secara terpisah) pada loop dengan LED (MP-3030-1100- 56-95) dan letakkan driver ADP1653 pada papan utama flash. Saya tidak pernah berpikir bahwa flash harus cukup jelas disinkronkan dengan frame (walaupun ini logis), driver ini dapat melakukan ini menggunakan I2C, yang kemungkinan besar tidak cocok untuk gangguan eksternal. Mari kita lihat kapan saatnya tiba, bagaimana itu terjadi.
IMX6 memiliki RTC bawaan, yang tidak berkinerja sangat baik dalam hal konsumsi daya, atau saya tidak menonton sesuatu, jadi saya memutuskan untuk menginstal chip PCF8523 eksternal, yang memiliki driver yang berfungsi penuh untuk Linux. Fungsi sinkronisasi waktu itu sendiri tidak terlalu menarik bagi saya, karena itu dapat dilakukan melalui jaringan, tetapi bangun pada suatu peristiwa diperlukan. Saya menempatkan keajaiban pengembangan ini di atas meja samping tempat tidur dan menunggu alarm berbunyi, seperti Nokia 3310 bangkit dari keadaan tidak aktif.
Ketika tegangan eksternal diberikan (perangkat dimatikan), berikut ini diberi energi: pengontrol muatan BQ25895, RTC dan pengawas STM6601, yang mengontrol catu daya sekunder dengan satu sentuhan tombol atau dengan lembut (jika kami tidak ingin memutus daya dan dengan benar mematikan OS lalu mematikan daya, lalu mematikan daya. ) Akibatnya, catu daya ternyata menjadi desain yang agak menarik, saya belum punya waktu untuk melakukan pengukuran konsumsi dalam mode yang berbeda, tetapi dengan penutupan perangkat keras seluruh periferal itu harus menjadi cukup baik. Akibatnya, "tablet" tidak memiliki "siaga", STM6601 dan PCF8523 ditenagai langsung dari baterai Li-Ion (3.7V) + ke baterai RTC 2016 atau 2032 (pemegang universal). Baterai 2.3A sekarang terhubung (hampir tiba pada 6A), dalam mode tampilan desktop, muatannya berlangsung sekitar 30 menit - ini tentu saja sangat kecil, tetapi mari kita lihat apa yang terjadi dengan baterai penuh.
Accelerometer LIS331 hanya diperlukan untuk pelacakan posisi, untuk membalikkan layar, jadi saya meletakkan apa yang sudah saya gunakan. Chip yang bagus dengan antarmuka dan interrapts I2C / SPI.
Konektor SATA lengkap disediakan dengan tipe "I want, why not)". Saya mengerti bahwa tablet menggunakan eMMC / NAND, tetapi karena ada antarmuka, mengapa tidak menggunakannya? Karena dalam versi ini ada ruang yang cukup untuk SSD 2.5 "- biarkan saja.
Maxim bersikeras untuk menginstal NFC. Saya masih tidak tahu apa yang akan dia lakukan dengan antarmuka ini, tetapi apa yang tidak dapat Anda lakukan untuk keinginan programmer? Benar, saya tidak ingin dia mencoba membayar di toko bahan makanan, menerapkan perangkat ini ke pembaca nirkabel.
Kadang-kadang BISA diperlukan dalam desain kami, jadi saya memasang fisika TJA1040T, kami sudah memiliki driver untuk itu, kami dapat bekerja dengannya, bahkan menghubungkannya ke mobil kami dan melihat ke meja. Hal yang menarik.
Codec ADAU1761 lagi, untuk merasakan semua kesenangan bekerja dengan suara. Pertama-tama, dialah yang dikandung (dan bukan SGTL5000, yang juga bukan apa-apa) untuk debugging firmware untuk built-in DSP (SigmaStudio). Oleh karena itu, di dinding belakang terdapat dua konektor untuk speaker (melalui amplifier), pada konektor samping untuk mikrofon internal, serta beberapa input / output (tersisa) untuk jack 3.5mm di panel depan.
Output HDMI tampak sangat nyaman bagi saya, dan pada konektor standar. Sebelum itu, ia menempatkan microHDMI dalam pengembangan, tetapi menurut saya ini masuk akal hanya ketika dimensinya terbatas.
Agar semua ini entah bagaimana hidup dan tidak mengkonsumsi 100500 ampere pada saat yang sama, saya meletakkan chip TCA6424 di papan - ini adalah expander GPIO, yang dalam hal ini berfungsi sebagai saklar untuk periferal. SATA, layar (daya dan lampu latar), suara (codec dan amplifier), akselerometer, GPS, dan yang lainnya terhubung ke daya melalui sakelar transistor TPS27081 adalah sakelar transistor ganda yang dapat memangkas daya menjadi 8V dan hingga 3A. Jadi selain mode tidur perangkat lunak, Anda dapat menonaktifkan antarmuka perangkat keras. Expander dikendalikan oleh I2C, sehingga Anda dapat menulis program layar yang dapat mematikan semuanya secara terpisah.
Sekarang mengapa semua Linux sama. Menurut Maxim, jauh lebih mudah untuk menjalankan semuanya di bawah Android, tetapi seperti yang ditunjukkan oleh praktik, kami memiliki lebih banyak proyek untuk Linux. Ya, kemungkinan besar akan ada keributan, tetapi bagi saya tampaknya dengan Xubuntu (sekarang ada di perangkat) "tablet" memperoleh orisinalitas dan lebih cocok untuk tugas-tugas kami.
Fig. 5. Papan sirkuit.
Fig. 6. Papan dengan komponen yang dipasang.
Gbr. 7. Peluncuran pertama.5. Prospek. Jika itu akan dibutuhkan.
Pertama-tama, tentu saja, saya ingin mengurangi dimensi ketebalan. Hanya ada satu cara untuk mencapai ini: mentransfer prosesor ke papan dan mengubah geometri. Penolakan SATA akan dibenarkan, itu akan lebih benar untuk menempatkan eMMC pada 64 / 128Gb (saat ini harganya 8Gb). Baterai tidak boleh di papan tulis, tetapi di sebelahnya, yah, secara umum, kita semua tahu lokasi elemen di dalam tablet, semuanya telah ditemukan untuk kita. Saya sudah menulis tentang kasus di atas, saya ingin piring pendingin, saya belum benar-benar berpikir tentang bagaimana menerapkan elemen yang tersisa.
Gbr. 8. Dalam hal ini. Audio masuk / keluar.
Gambar 9. Perangkat rakitan.
Gbr. 10. Panel belakang6. Kesimpulan. Meringkas.
Karena proyek ini sedang dikembangkan (sekarang perangkat lunak) di waktu luangnya dari pekerjaan, tidak semuanya telah berhasil ditingkatkan. Pepatah melihat sesuatu dan "tablet" secara bertahap mulai hidup, tetapi akhirnya belum terlihat.
Menurut pendapat saya, perangkat ternyata cukup layak untuk tugas-tugas yang dijelaskan di atas. Saya memasang pemutar VLC dan sekarang Anda dapat menonton film di layar kecil)). Jika, pada dasarnya, maka ide saya hampir sepenuhnya terealisasi (iterasi pertama), tidak termasuk kasus. Menyegel modul di papan, Anda bisa mendapatkan ketebalan total tidak lebih dari 23mm - ini, tentu saja, keras untuk elektronik asing saat ini, tetapi untuk prototipe itu cukup dapat diterima.
PS: tautan ke sumber github.com/boundarydevices/linux-imx6/commits/boundary-imx_4.9.x_1.0.0_ga
Saya berharap Anda semua sukses dalam usaha Anda!