Nasıl tersane bir mühendislik, Entegrasyon için Özel Donanım Modülleri
Özel bir donanım modülü, bir merak, teknik beceri ve pratik zorunluluk kesişen bir disiplindir. IoT platformuna ait bir sensör entegre etmek, modern bir sistem için bir miras kontrolörü adapte etmek veya kesintiye uğratılmış bir cihazdan çıkarmak, her kritik aşamaya donanıma sahip olmak ve anlama yeteneği, veri tablolarını tek başına sağlama yeteneğinizi sağlar. Sistemsel bir şekilde, başlangıçtaki bir kara kutuyu iyi bir şekilde entegre etmek için hazır olun.Bu kılavuz her kritik aşamaya kadar yürür - her eleştirel aşamaya kadar-her bir belgeyi bir şekilde birleştirebilirsiniz - neredeyse özel bir donanım modülü güvenilir bir şekilde entegre edebilirsiniz.
Amaç ve Buluşma Dokümantasyonunu Anlayın
Tek bir araştırmaya dokunmadan önce, donanım modülünün ne yapması gerektiğini anlamak için zaman yatırım yapın. Mevcut her bilgi toplamakla başlayın: 03.000T:0)dataformlar)[Döneticiler, başvuru notları, referans tasarımları, kullanıcı kılavuzları ve herhangi bir şematik – EEVblog veya Hackaday gibi kamu forumları ve Gittiler şaşırtıcı bir şekilde bulunabilir.
Belgeler yetersiz olduğunda - tescilli veya eski donanımla- kendi temelinizi yaratır. ICs, konektörler ve pasifler. Arama çapraz referanslar, DigiKey veya Mouser gibi distribütörler, bilinmeyen çiplere dikkat edin; genellikle bilgisayar versiyonları veya dijital logda her şeyi gösterir.
Fiziksel Muayene ve Görsel Analiz
Belgeleme olmadan, kapsamlı bir fiziksel denetim zorunludur. Temiz, statik güvenli bir çalışma yüzeyi iyi aydınlatma altında kullanın.Bir magnating cam veya bir stereo mikroskopı satarak, işaretleyen ve işaretler. [...]DDDDDDDDD:0 Yüksek çözünürlüklü fotoğraflar birden fazla açıdan çalışır - üst, alt ve ve ve daha önce - başka bir şey yapmadan önce.Bu fotoğraflar kanıt olarak ve referans harita olarak hizmet eder.
Büyük fonksiyonel blokları tanımlayın:
- [FONT=0)Mikronetler veya FPGA): Beyin. Bilinen mimarilere (ARM, AVR, PIC, Xilinx) bakın ve paketin türünü (QFP, BGA, QFN).
- [FONT:0]Memory cihazları [DDÜDÜDÜDÜDÜDÜSÜDÜSÜDÜSÜSÜSÜŞÜNÜSÜŞÜNÜŞÜNÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜ: 0,2|DÜye/SÜye/ÇÜye/Çeçekli ve Paket işaretleri.
- [FONT=0]İletişim arabirimleri [[Döneticiler, Ethernet Jack, UART başlıkları, I2C breakout peds, SPI başlıkları. Bazen bunlar atlayıcı teller veya test noktaları ile dolu.
- [FONT=0)Power düzenleyiciler[[Dönetici: giriş gerilimi aralığı ve çıktı gerilimlerini tanımlayın. Güç sırasındaki şarj cihazı üzerinde çok fazla metre onaylayabilir.
- [FONT:0] Pasif bileşenler[[Döneticiler)[Dönderler genellikle çekler, çekler veya mevcut limitler gibi hizmet ederler. Capacitors filtre gücü veya çift sinyalleri.Inductors geçiş düzenleyicileri veya RF devrelerinin bir parçası olabilir.
Sketch a kaba blok diyagramı bu bileşenleri birbirine bağlama. herhangi bir test noktası, notu olmayan pedler veya atlayıcı konfigürasyon başlıkları.Bu görsel harita elektrik analizi için temeliniz.
Donanım Analizi için Temel Araçları
Doğru araçlar olmadan geri mühendislik karanlık bir kitap okumak gibidir. Aşağıdakileri ödünç almak veya ödünç almak gibidir - verimli çalışma için kullanılamazlar:
- [DMM) [DMM) [DFLT:1]: Sürekli kontroller, gerilim ölçümleri ve direniş okumaları için. orta sınıf bir Fluke veya iyi bir el sayacı yeterlidir.
- [FONT:0)Soldering istasyonu iyi ipuçları ile): Test yönlendirmesi, IC'leri programlamaya veya parçaların atılması için uzaklaştırmak için.
- [FONT:0)Oscilloskop[[Dönetici: 2 veya 4 kanal dijital kapsamı en az 100 MHz bant genişliği ile.PWM, UART ve SPI saat kenarları gibi zaman alan sinyalleri yakalamak için.
- [FONT=0)Logic Analyzer[[Dönetici: USB-based Saleae veya benzer klonlar mükemmel.Onlar ortak protokolleri (UART, I2C, SPI, CAN, 1-Wire) otomatik olarak, manuel yorumların saatlerini kurtarırlar.
- [[Dönerge/model jeneratörü[[Dönem: 1 ): Modülleri teşvik etmek için saat sinyalleri veya test kalıpları enjekte etmek için kullanışlı.
- [FONT:0)Variable güç kaynağı (şu anki limitli))[değiştir | kaynağı değiştir] Sabit bir tedarikden doğrudan bilinmeyen bir modüle başlayın ve mevcut izleme sırasında yavaş yavaş yükseltin.Mevcut bir sınırlı tedarik, hem modül hem de test ekipmanlarınızı korur.
- [FONT:0) Sıcak hava rework istasyonu veya desoldering araçları): Eğer okuma veya değiştirme için bir bileşeni kaldırmanız gerekir.
- [FONT=0)Debug probes[[Dönetici: JTAG / SWD adaptörleri (Segger, ST-Link veya FTDI- bazlı) mikro kontrolcülerden okuma için bilgisayar yazılımı etkinleştirilir.
Ayrıca, bir dizüstü bilgisayar, dijital kamera ve kaset el elektr. Her bir son nokta, hesaplanan gerilim ve mantık durumu ile boşluğa kaydedilmelidir.
Donanımı istila etmek: Elektrik Probing ve Mapping
Güç ve zemin uçaklarını onaylayarak başlayın. Çıkış modundan süreklilik modunda çok fazla mesafe kullanın, ortak bir güç demiryoluna kısa bir süre sonra hızlanır.Ana tedarik gerilimi (genellikle 3.3V veya 5V) ve yük olmadan herhangi bir ikincil gerilimler değişken tedarikinizde üretilir, 0V'den başlayarak ve yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaş yavaştır.
Desteklendikten sonra, tüm maruz pedleri ve başlıkları gözlemlemek için oscilloskop kullanın. Not which pins are statik (yüksek veya düşük) ve hangi show süresi veya veriye bağlı aktiviteye sahip. Yüksek frekanslı geçişler genellikle bir SPI otobüs veya bir saat çizgisi gösterir. Low- speed changes (often at 115200 baud veya daha yavaş) UART. Bir çekme veya 3,3V'ye karşı durgun düşük pul pulslar I2C. Dokümanlar her pin'ın dalgaformu için tipiktir: mantık seviyeleri, frekanslar ve herhangi bir tekrarlama bu gözlemleri fiziksel haritanıza geri döndürür.
Unlabeled test noktaları için, mantık analizörü paralel olarak kullanın: Büyük veri hatları üzerinde araştırmalar ve düşme kenarlarında tetikleyin. Modül botları veya bilinen bir eylemi gerçekleştirirken (örneğin, bir paket gönder).Decoded protokolü çıktısı komutları, adresler ve ücret yük uzunluklarını ortaya çıkarabilir.
Derinlik içinde İletişim Ağlarını Analiz Etmek
Çoğu özel donanım modülleri bir veya daha standart seri otobüsler üzerinden iletişim kurar. En yaygın olan israf:0)UART, I2C ve SPI). hangi protokolde kullanılır, aynı dili konuşmanıza izin verir.
UART (Universal Asynchronous Alıcı/Transmitter)
UART, sabit bir baud oranı ile tanımlamanın en kolay yoludur: iki sinyal (TX ve RX) sabit bir baud oranı ile. bir mantık analizörü kullanarak, en kısa pul pul pulu ölçerek vaftiz oranını keşfedebilirsiniz - bir miktar süre eşit. Örneğin, 868 μs pulu 115200 baud ile karşılık gelir.Bir kez tespit edilene göre, bir USB-UART adaptörü (örneğin, FT-UART) ve yankı karakterleri gibi.
I2C (Integrated Circuit)
I2C iki tel kullanır: SDA (data) ve SCL (saat) Her iki taraf da açık bir adrese sahiptir ve cihazın bir numaralı numarasına göre uyarılabilir.Eğer kayıt haritasını tespit edebilirseniz, ACK/NAC kontrollerini kullanarak mantık analiz eder.
SPI (Serial Peripheral Interface)
SPI dört tel kullanır: MOSI (başarılı köle), MISO (aslında) ve SS n (slave seçilir) Saat efendi tarafından oluşturulur; kapsamınızla frekansı ölçmek. SPI daha basit: Veriler aynı saat kenarlarında verileri döndürürken MOSI'de değiştirilir.
Ters Mühendislik Firması: Ekstraksiyon ve Analiz
Firmaware size tam olarak donanımın nasıl kontrol edildiğini söyler - ters mühendislik bulmacasının yazılım tarafını gösterir. Fiziksel erişime sahipseniz ve hafızayı okuma yeteneğiniz varsa, ikiliyi kazanabilirsiniz.
JTAG / SWD aracılığıyla doğrudan ekstraksiyon
JTAG için MCU'yu kontrol edin (IEEE 1149.1) veya Seri Wire Debug (SWD) pins. Bunlar genellikle TDI, TDO, TMS, TCK veya SWDIO, SWCLK. bir adaptör kullanarak, kod okumamışsa ve tüm flaşı okuyabilirsiniz. Tools[Dönemli TDI, TDOT, TMS, TCK veya SWDIO, SWCLK., PC'leri bir dosyaya sokabilir. Bu non-yatrofik olmayan yöntem, eğer kod okumuyorsa, daha invaziv güvenlik önlemleri ile engellenirseniz, daha fazla zararlı tekniklere ihtiyacınız olabilir.
Dış Flash Memory
Birçok modül dışsal SPI flaşı kullanır (örneğin, Winbond W25Q serisi, Macronix MX25 serisi). çipleri tanımlayın, bir klip programı kullanın veya CH341A gibi) ve içeriği kullanım için [[0SPI flaş hizmetleri veya aletler).
Şirketware'i analiz edin
İkili ile, CPU mimarisi (ARM, RISC-V, AVR, vb.) Platformlar [DDK 1: 1 veya DÜD:2) analiz etmek için ) ile, ilk olarak, CPU mimarisini (ARM, RISC-V, AVR, vb.) Ghidro gibi platformlar, iki katına çıkarabiliyorsa veya bilinen bir üst düzeye sahip olabilir.
Firmaware analizi ayrıca şifreleme anahtarları, iletişim protokolleri ve kimlik doğrulama dizileri gibi sırları ortaya çıkarabilir - uyumlu bir sürücü oluşturmak için kullanılabilir.
Donanım Ters Mühendislikte Yasal ve Etik Bakışlar
Bir PCB'yi haritalarken veya bir flaş çipini okumak teknik olarak basittir, yasal manzara geçersizdir. Amerika Birleşik Devletleri'nde, geçicilik amacıyla mühendislik açıkça yasal olarak yasal olarak yasal olarak yasal olarak yasal olarak yasal olarak yasal olarak yasal olarak yasal olarak korunmaktadır (örneğin, 0) ve Dijital Millennium Copyright Yasası (DMCA) güvenlik araştırma ve geçicilik için muafiyetler sağlar.
Avrupa'da, AB Direktif 2009/24/EC, bilgisayar programları yasal koruma üzerinde yasal koruma gerekli olduğunda, birçok şirket API'lerini yayınlar veya SDK'ları sunmaz - tam tersine mühendislikte bir avukata danış.
Donanımı Sisteme entegre etmek
protokolleri ve bilgisayar davranışını anladığınızda, entegrasyon katmanını tasarlayabilirsiniz. Yüksek seviyeli bir dilde (Python, komutları keşfettiğiniz için harikadır. düşük seviyeli iletişimi (UART gönderir, SPI işlemleri, I2C kaydı okur) her kaydı veya komutunu beklenen değerlere karşı kullanan bir test senaryosu oluşturun.
Modülin iç bir devlet makinesi varsa (örneğin, bir I2C sensörü ilk veriler okumadan önce bir reset komutuna ihtiyaç duyar).Instri timeouts and error handle.
Prototipleme ve Test
Bir ekmek dolabı veya bir proto-board üzerinde test kurun minimum bağlantı: güç, zemin ve veri hatları. seri dirençleri ekleyin (örneğin, 1kULL) kazak kısa devrelere karşı korumak için çıktı hatları.
- [FONT:0)Power-up davranışı[[Dönetici: Güç uygulanmadan sonra beklenen süre içinde verilen modül yanıt mı?
- [FONT:0)Temel kayıt okuma / yazma[[Dönem: Bir cihaz kimlik kaydı okuyabilir ve bu maçları doğrulayabilir misiniz?
- [FONT:0) Kontrol komutları): Modül tüm keşfedilen komutlara doğru yanıt veriyor mu?
- [FONT:0]Stress testi[[[Dönetici: Maksimum oran, rastgele diziler ve aslı devletler için kontrol etmek için geçerli veriler gönderin.
- [FONT=0)Uzun vadeli güvenilirlik[[Dönetici: Sürekli bir veri akışı saatlerce sürüklenmek, bellek sızıntıları veya saat jitter izlemek için saat boyunca.
Test sırasında, mantık analizörü herhangi bir beklenmedik davranışı yakalamaya bağlı kalır. Doküman tüm başarısızlıklar ve sürücünüzü buna göre ayarlar. ”Üye göre hızla): tek bir çek geri çekilme veya bir kesintiye maruz kalan bir düşüş, teşhis etmek için zor olan geçici bir kesintiye neden olabilir.
Gelişmiş Teknikler ve Ek Okuma
Daha derin bir şekilde atlatmak isteyenler için, DÜŞTER'i keşfetmeyi düşünün; [FONT:0], tersine mühendislik için temelleri [DFLT:1), [[DÜSÜSÜSÜSÜSÜŞÜNÜŞÜNCÜŞÜNÜŞÜNÜŞÜNÜSÜŞÜNÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜSÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜN ve KODÜŞÜŞÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜNÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜŞÜŞÜŞÜŞÜNÜŞÜNÜŞÜŞÜŞÜŞÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞÜNÜŞ
Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç Sonuç
Özel bir donanım modülü sihirli değildir; yöntemsel gözlem, kesinti ve doğrulama ile ilgilidir. yapılandırılmış bir iş akışı takip ederek - belge toplama, görsel denetim, elektriksel denetim, protokol kesinti ve sürücü gelişimine eklenme - bu yaklaşımla, modern, güvenilir bir şekilde adapte edilebilir bir alt sisteme dönüştürme yapabilirsiniz.