Çin'den mantık analizörünün iyileştirilmesi. Avr'da Çin Minyatür 4 kanallı mantık analizöründen bir mantık analizörünün iyileştirilmesi

Vassilis Serasidis

Mantık analizörü, dijital bir sinyaldeki mantıksal 0 ve 1'lerin sırasını görmenizi ve analiz etmenizi sağlayan bir araçtır. Örneğin, ders çalışabilirsiniz dijital sinyal TSOP-1736 tipi bir IR alıcı-demodülatörden, mikro devrenin çıkış ve giriş sinyallerinin yanı sıra birçok elektronik cihazdaki I2C veriyolundan (saat hattı ve veri hattı).

Bu yazıda LCD ekranlı minyatür 4 kanallı bir mantık analizörünün tasarımına bakacağız. cep telefonu Nokia 5110/3110. Tasarımın temeli bir mikrodenetleyicidir; buna ek olarak birkaç ayrı bileşen daha kullanılır.

Cihazın ana özellikleri:

  • 4 kanallı mantık analizörü;
  • 400 kHz'e kadar frekansa sahip sinyalleri inceleme yeteneği;
  • +5 V'a kadar giriş voltajı;
  • 84 × 48 piksel çözünürlüğe sahip LCD ekran;
  • 4 adet 1,2 V pil ile çalışır, maksimum besleme voltajı 4,8 V;
  • bellek: yüksek hızlı sinyaller için 3,7 ms'den düşük hızlı sinyaller için 36 sn'ye;
  • kontrol düğmeleri;
  • basit tasarım.

Şematik diyagram

Şekil 1 cihazın şematik diyagramını göstermektedir. Cihazın her biri 1,2 V voltajlı 4 pil ile çalıştırıldığı hemen belirtilmelidir.

Dikkat!!!

6 V'luk bir voltaj mikro denetleyiciye ve LCD ekrana zarar verebileceğinden, bu cihaz devresi için 1,5 V voltajlı 4 pilden güç beslemesi kabul edilemez.

S1 anahtarı güç sağlamak için tasarlanmıştır. Elektromanyetik alanların etkisi nedeniyle veya parmaklar sinyal problarına dokunduğunda cihazın dijital girişlerinde yanlış verilerin görünmesini önlemek için R2-R5 çekme dirençleri monte edilmiştir. LED1, cihazın dijital girişlerinde bir sinyalin varlığını ve dolayısıyla sinyallerin belleğe kaydedilmeye başladığını belirtmek için tasarlanmıştır.

Devre bir cep telefonunun LCD göstergesini kullanıyor Nokia telefonu 3310/5510, 3,3 V - 5,0 V besleme voltajıyla çalışacak şekilde tasarlanmıştır, ancak ekran arka ışığı için maksimum voltaj 3,3 V'tur, dolayısıyla devrede ekran boyunca üç seri bağlı diyot (D1-D3) bulunur arka ışık güç hattı. Diyotlar sayesinde voltaj 2,7 V'a düşecek ve arka ışığa güç sağlamak için yeterli olacaktır.

Veri yakalama süreci ve yazılım

Yazarın mikrodenetleyici ürün yazılımının iki versiyonunu hazırladığına dikkat edilmelidir. Başlangıçta mantıksal analizörün 1.00 sürümü için entegre bir geliştirme ortamı kullanıldı AVR Stüdyosu 4.18, ancak daha sonra yazar yeniden derledi kaynak ve AVR Studio 5 - sürüm 1.01 için. Geliştirme ortamının 5. sürümü için yeniden derlendikten ve cihazın daha fazla test edilmesinden sonra, yakalanan sinyallerin kararlılığında bir iyileşme fark edildi.

Sinyaller, 290 örnek için tasarlanmış dahili RAM bellek arabelleğine kaydedilir. Veri arabelleği 870 bayttan oluşur (mikrodenetleyici programının 1. versiyonu için), bunun 2 baytı sayaç için ve 1 baytı giriş kanalı hakkında bilgi vermek için kullanılır. 1.01 sürümünde veri yakalama hızını arttırmak için veri arabelleği 256×3=768 Byte’a düşürüldü çünkü Arabellek boyutu değişkeni, yazılımın ilk sürümünde kullanılan 16 bit yerine 8 bittir.

Enerji verildikten sonra mikrodenetleyici cihazın 4 girişinden herhangi birinde darbe bekleme moduna geçer. Bir giriş darbesi tespit edildiğinde, mikro denetleyici bir sonraki darbenin 4 girişten herhangi birine ulaşana kadar geçen süreyi saymaya başlar. Örnek süresi 16 bitlik değişken “counter”da saklanır. Bu değişken taştıktan sonra, 4 girişin durumu ve sayaç değeri hakkındaki bilgiler bir arabellekte saklanır ve adresinin değeri üç artırılır (sayaç için 2 bayt ve giriş hattına ilişkin bilgi için 1 bayt). Bu işlem, mikrodenetleyici tamponun tamamını (870/3=290 örnek veya darbe) doldurana kadar tekrarlanır. Sinyallerin mikrodenetleyici hafızasına kaydedilmesi işlemi Şekil 2'de gösterilmektedir.

Tampon doldurulduktan sonra biriken tüm veriler LCD ekranda osilogram şeklinde görüntülenir. Kullanıcı dalga biçimini kontrol edebilir; kayıtlı darbe dizisinin tamamını görüntülemek için sola (S3 düğmesi) veya sağa (S4 düğmesi) hareket ettirebilir. Düşük hız sinyalleri kaydedilmişse kullanıcı S2 düğmesine basarak ölçeği 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, 2048, 4096 veya 8192 olarak değiştirebilir.

Mikrodenetleyiciyi programlarken Fuse bitlerini şekle uygun şekilde ayarlamanız gerekmektedir.

Baskılı devre kartının türü ve bileşenlerin konumu

Cihazın çalışmasının gösterilmesi

İndirilenler

Mikrodenetleyici ürün yazılımı için şematik diyagram, baskılı devre kartı çizimi, kaynak kodu ve dosya (v1.0, AVR Studio 4.18) -

Mikrodenetleyici ürün yazılımı için kaynak kodu ve dosya (v1.01, AVR Studio 5) -

  • Anladığım kadarıyla ekranınızın bir lastik bandı var ve ev yapımı bir eşarp üzerine takılmış, yani. iletken lastik bant atkıda kestiğiniz izlere temas ediyor. Eğer öyleyse, aklınızda bulundurun - bu, tasarımın en zayıf noktasıdır... Sigorta parçalarını kontrol ettiniz mi (okudunuz mu)? Doğru şekilde kurulmuşlar mı? Sorunu ekranın kendisinde dışlamıyorum. Kaynak koduna bir göz atacağım, belki orada ekranla ilgili yapılandırılabilecek/değiştirilebilecek bir şey vardır...
  • Vadzz, evet, anlıyorum, en savunmasız yer.. Ekranıma benzer temas aralığına sahip bir tür cep telefonu buldum. Zamanım olduğunda yapmaya çalışacağım.. Sorun ekranın çalışıp çalışmadığı, kumandasını yakıp yakmadığım (eğer bu mümkünse). Bu arada bu fikirden vazgeçeceğim. Bu hazır ekranı almak çok zor ve bu cihaza ihtiyaç duyulandan daha pahalıya mal oluyor.. Ben aynı cihazı yapıp sadece USB üzerinden bilgisayara veri çıkışı yapmayı tercih ederim. (http://eldigi.ru/site/comp/18.php ders kitabına göre). Hala bilgisayarda çalışıyorum ve her şeyi USB üzerinden yapıyorum. Ya da bir arkadaşım minyatür bir usb osiloskop üzerine tez yapıyor. Tek bir AtTiny elementi ve kuvarsı temel alan devre. + bilgisayardaki bir programa zaman diyagramı/çizgi şeklinde veri çıkışı.. Ondan alacağım.. Yazılımı yapacağım.. Bu şeyi yapmaya başladım çünkü çok güzel ve iddialı görünüyor dışarısı ;) Ve özellikle işe yarıyor.. yani hiçbir şey, Çinli vericilerle çalışmaya başlayacağım, bunu yapmak zorunda kalacağım.. Orada zaten dürtülere bakıp onları analiz etmeniz gerekiyor.. Ve teşekkürler için yardım)
  • Arkadaşlar, bakın) Yine de dayanamadım... Ön paneli bitirmeyi hâlâ düşünüyorum.
  • Her şeyin ortaya çıkmasına ve işe yaramasına sevindim, normal görünüyor. Bize sorunun ne olduğunu daha ayrıntılı olarak anlatın (muhtemelen ekran işe yaramadı), bilgileriniz birçok kişi için yararlı olacaktır (elbette bir sır değilse). Teşekkür ederim.
  • Aslında sorun ekrandaydı. Ve sonra kırmızı değil mavi aldım, bu yüzden kişiler hala konum konusunda anlaşamıyor ve isimler biraz farklı. Bağlantı (şemada\mavi ekranda): Vcc-Vcc GND-GND Rst-Rst SCE-CE D\C-DC DN-Din SKLK-CLK LED-BL Eğer arzu edilirse, cihazımı eklemeye\başlatmaya çalışacağım. eski ekran. Bakalım yanmış mı... yoksa çok sorun yaşadım.
  • Cihazın küçük bir testi, birkaç hata. 1) Geri sararken uzun süre ileri, sonra geri gidiyoruz ve bir noktada geri gitmeyi reddediyor ve bir değerde takılıp kalıyor. Tekrar ileri ve geri kaydırabiliyorsunuz ve sonrasında farklı bir değerde sıkışıyor.. İşte bir fotoğraf, ancak burada hiçbir şey görünmeyecek http://s017.radikal.ru/i433/1306/57/cf1dfbd2f106.jpg 2) Geri sararken geçici diyagram http://s60.radikal.ru/i169/1306/33/1c23e0d9815c.jpg http://i066.radikal.ru/1306/9f/c894839ca1fd.jpg 3) Yakınlaştırmayı değiştirirken geri sarma 0'ıncı konuma sıfırlanır (ancak her zaman değil). Bir şeyi düzeltmemiz gerekiyor... Sanırım projeye birkaç güzel şey ekleyebiliriz: Dokunmatik düğmeler (basit bir şekilde uygulandı, yalnızca üç MOM direnci) Voltmetre (GND sürekli bağlı, bu yüzden bir şeyler yapmak güzel olurdu) ADC'de, çünkü her seferinde bir multimetre bağlamak aynı değildir, ancak bu sadece bir dijital kamera için 5V'a kadar ölçüm yapmaya yardımcı olacaktır. Osiloskop (Nasıl olduğunu bilmiyorum ama çok güzel olurdu. Asıl sorunun ekranda olacağını düşünüyorum). USB üzerinden PC'ye bağlantı. Bir programda zaman diyagramını görüntülemek kutsaldır. Bir osiloskop yaparsanız programdaki her şeyi görüntülemek daha kolay olacaktır.. Şuna benzer bir şeye benzeyecektir (programım) http://s48.radikal.ru/i119/1306/eb/9c25ff0d3d7b.png ayrıca program cihazıyla ayarlarda bir şeyi değiştirin..
  • Bu arada bu şey Proteus'ta oldukça iyi simüle edilmiş.
  • Cihazı monte ettim. Açılır ve gösterilir. 33k direnç varsa (ve sinyal kaynağı yoksa), açtığınızda her türlü tarağı görebilirsiniz. Dirençler ve bir kaynakla (TSOP IR ve spi cihazı) - tüm hatlar eşittir. Hiç tepki yok. Nereyi kazmalıyız?
  • Girişler gösterilecek şekilde toprağa değil +'ya kısa devre yapılır. TSOP çıkışını tersine çevirmek zorunda kaldım.
  • Telefondaki gösterge de işe yaradı. İlk başta hiçbir şey göstermedi, MK'nin ekran girişlerine direnç bölücüler taktım ve her şey çalıştı. MK'den ekrana 1 com ve ekrandan toprağa 3,3 com
  • tersine çevirmek yardımcı olmuyor
  • Düzeltilmiş hatalara ve eklemelere sahip bellenim (UART, Frekans ölçer, ölçüm öncesi Gap editörü ve ayrıca bilgisayar için başka bir program. Analizator.exe Açıklaması: Analizator_PC V2.1 Analizator.exe 4 kanallı mantık analizörü. DSN Açıklaması: Analizator_proteus http :// www.fayloobmennik.net/4274643 Analizator.hex Açıklama: Analizator_Atmega8 http://www.fayloobmennik.net/4291611 4 kanallı mantık analizörü Açıklama: Analizator_shema http://www.fayloobmennik.net/4285824 2. seçenek http: //radikal.ru /fp/İLGİLENEN ANALİZÖRLER İÇİN KAYNAKLAR AnalizatorKSA.zip Her şeyin olması gerektiği gibi çalıştığından şüpheniz olmasın! Artık bunu simülatörde kontrol etme ve kaynak kodunu inceleme fırsatına sahip olacaksınız! Oradaki yorumlarımdan dolayı sizi yargılamayın. Üstelik bunlar taslaktır, ticari bir ürün değildir, dolayısıyla taslaklar taslak olarak kalacaktır. onlarla herhangi bir şey, hatta kalplerini sökün. Ve tek bir hedef vardı; onu kullanışlı, daha doğru ve güvenilir kılmak. PC için 2 programımda yaptığım her şeyi “Yardım” bölümünde okuyabilirsiniz. Elde edilen sonuçları analiz etmek ve karşılaştırmak için ana ölçüm programı Vasilisa Serasidisa'nın kaynak metnini yayınlıyorum. Benim ve onun için ölçüme kaç saat döngüsünün harcandığına bakın ve karşılaştırın. Ve en iyi programcıların RUSÇA olduğundan emin olun!!! Ekleyeceğim: Analizörlerin 2 versiyonunu tasarladığım için CAN bus ve I2C konsolları vb. üzerinden dijital alışverişle ilgili birçok sorunu çözdüm. Hatta ATmega48 versiyonu yüksek hızlı protokollerle tercih edilebilir. Örneğin 140 Kbit'lik CAN çok basit bir şekilde analiz edildi! Tanınmış Digan analizörünün aksine. Ve kendisi de bir flash sürücü boyutunda. Hepinize iyi şanslar! Izmerenie.txt DAHA GÜÇLÜ BİR ANALİZÖRÜN YENİ SÜRÜMÜNÜ (3. Versiyon) VE EKLER VE PROTEUS DOSYA BAĞLANTISI İLE ÖNCEKİ SÜRÜMÜ ARŞİVE YAYINLIYORUM http://www.fayloobmennik.net/5569369
  • 1. Orijinal sürümü kim tekrarladı - Serads'tan, cihazı uygulanamaz hale getiren herhangi bir ciddi hata var mı - örneğin ilk baytın her zaman atlanması vb.? Yukarıda “diyagramların görüntülenmesi” hakkında yazıyorlar, ancak güvenilir olmalarını isterdim :). 2. Sergey7 kaynak kodunu yayınlamıyor, bu da işlevselliğini tam olarak değerlendirmemize izin vermiyor. Önce orijinali yaparsanız, Sergei7'yi sonlandırmak için cihazın daha da geliştirilmesi için donanımda değişiklikler yapılması gerekecek mi?
  • Size mesaj gönderdim, yanıt gelmedi. Geldi mi?
  • muhtemelen değil. ... :(Kaynaklar için teşekkürler! Birazdan bakacağım.....
  • Yardım etmekten mutluyum!
  • Eklemeli bellenim (UART, Frekans ölçer, ölçüm öncesi boşluk düzenleyicisi AnalizatorKSA.zip'te değil)
  • Belki birinin mühürü vardır?
  • Gönderdiğim yeni versiyona bakın. Ve bir önceki de değiştirildi (ürün yazılımı, protein dosyası ve ek programla birlikte).
  • Ne yazdılar ve tam bir diyagram alabilir miyim? Hala neyi toplayacağımı ve UART aracılığıyla iletim için kendisine yazdığını anlamıyorum.

Bu makalede, USBee v1.1.57 ve Logic v1.1.15 kabuklarıyla çalışan basit bir mantık analizörü sunulmaktadır. Cypress'ten ortak bir CY7C68013A mikro devre üzerine monte edilmiştir. Aliexpress web sitesinden sipariş ettiğim bu çipin bulunduğu hazır bir tahtam vardı. Şuna benziyor:

Üzerinde bir LPT bağlantı noktası yapmak istedim, ancak daha sonra buna olan ihtiyaç ortadan kalktı ve bu nedenle sahipsiz kaldı. Basit bir mantık analizörüne ihtiyacım vardı. Bu kurulda yapılmasına karar verildi. İnternette bu çipi temel alan birçok devre var. Veri aktarımı için bir arabellek eklemek, giriş koruması sağlamak ve hangi kabukla çalışılacağını seçme yeteneği gerekliydi. Genişletme kartı ana kartın üstüne yerleştirilir. Hemen söyleyeceğim devre, kart, donanım yazılımı ve bu mantık analizörü ile çalışmak için gereken her şey yazının altındadır. 74LVC4245 yongası tampon olarak kullanıldı; 74LVC8T245A'yı kullanabilirsiniz; bunlar tamamen aynıdır. Girişteki koruma fonksiyonu BAV99 diyot düzenekleri tarafından gerçekleştirilir. Ve böylece bu plan doğdu:


Veri aktarımının yönünü seçmek için J1 atlama kablosunu kullanın. Veri alımı için kapalı durumda, iletim için açık durumda. USBee AX Test Pod diye bir kabuk var. Monte edilmiş cihazın çalışmasını test etmek için kullanılabilecek birçok test aracı içerir. Bir olasılık, XP3 pinlerinde farklı frekanslar oluşturmaktır. Doğru, onlara kendin soramazsın. Aynı anda 8 farklı frekans görüntülenir. Çıkışları 0 veya 1 ve diğer birçok teste de ayarlayabilirsiniz. Hangi kabukla çalışacağımızı seçmek için XP5 atlama kablosunu kullanın USBee v1.1.57 veya Logic v1.1.15. Farklı kabuklar için ürün yazılımı sırasıyla U2 ve U3'e yüklenir. XP4 atlama kablosu yazmaya karşı korumalıdır. Mantık kabuğunu başlatırken gerekli olacaktır. Jumper J2, giriş seviyelerinin voltajını ayarlar. Kapalıysa, giriş sinyali seviyesi 3,3 V olmalıdır. Sinyal seviyesini, teşhis edilen cihaza sağlanan voltajla aynı voltaja, ancak 5V'tan fazla olmayacak şekilde ayarlamak da mümkündür. Bunu yapmak için, J2'yi açın ve besleme voltajını XP3'ün 10 numaralı pimine teşhis edilen karta uygulayın. Ayrıca analizörün ortak kablosunu teşhis edilen karta bağlamayı da unutmayın. Öncelikle ana kartı değiştirmemiz, yani 24C128 bellek yongasını çıkarmamız gerekiyor.

Anakartımda USB konektörü ile GND arasında GND bağlantısı da yoktu CY7C68013A'nın birbirine bağlanması gerekiyordu.


Başka değişiklik yapılmasına gerek yoktur.

Şimdi atkımızı 41mm x 58mm ölçülerinde yapıyoruz. Sonuç olarak aşağıdaki sonucu elde ederiz:



İki kartı birbirine bağlıyoruz:



Başlamak için bellek yongalarını flaşlamamız gerekiyor. Bunu yapmak için yardımcı programı Cypress CySuiteUSB_3_4_7_B204 adresinden yükleyin. XP5 jumper'ını karttan çıkarıyoruz ve kartı PC'ye bağlıyoruz, cihaz yöneticisinde bilinmeyen bir cihaz görünecek.


Sürücüleri Driver_Cypress_win7 win8 dosyasından yükleyin. Göndericiye bu klasördeki sürücüleri aramasını söylüyoruz. Sistem gerekli sürücüyü kendisi kuracaktır. USB denetleyicilerinde yeni bir cihaz görünecektir:


Yüklü program Kontrol Merkezini başlatın. Önümüzde cihazımızın üstte olması gereken bir pencere açılacaktır.

Seçenek sekmesini ve ardından EZ-USB Arayüzünü seçin:

Aşağıdaki pencere açılacaktır:


Burada hiçbir şeyi değiştirmiyoruz. Yalnızca S EEPROM düğmesine ihtiyacımız var. Bellek yongalarından birini seçmek için XP5 atlama kablosunu kullanın. S EEPROM'a tıklayın ve ürün yazılımımızın nerede saklandığını belirtin. Belleğin türüne göre ürün yazılımını seçin ve "Aç"a tıklayın. Firmware adının sonundaki sayılar, firmware'in ne tür bir bellek için olduğunu gösterir. 24C01 için USBeeAX_01'i, 24C02 için ise 24C02'yi seçmeniz gerekir. USBeeAX_01.


Bilgi yükleme süreci başlayacaktır. Firmware başarıyla yüklendiyse ekran görüntüsündeki gibi bir mesaj gelmelidir. Bayt sayısı seçilen ürün yazılımına bağlı olarak değişebilir.


Karttaki sıfırlama düğmesine basıyoruz ve cihaz yöneticisinde tanımlanamayan yeni bir cihaz görüyoruz. Sürücülerin kurulması. İÇİNDE otomatik mod sürücüler yüklenmeyecek. Manuel modda diskten ne kurulacağını belirtiyoruz ve Driver Cypress win7_win8 klasöründen sürücüyü seçiyoruz. Benim için Windows 8.1'de EZ-USB FX1 No EEPROM sürücüsü (3.4.5.000) ile çalıştı.

"El sanatları"m için her türden Çin elektroniği satın alırken, çoğu zaman işin kötü tanımlanması sorunuyla karşılaşıyorum.

Bugünkü makalenin konusu Aliexpress'den satın alınan ucuz bir Çin mantık analizörünün kullanılmasıdır.

Lojik analizör nedir? Bu öyle bir cihaz ki... mantıksal analiz için))) Robert De Niro'lu bir film hemen aklıma geliyor

Neden gerekli? Elbette mantıksal analize katılın))). Daha doğrusu, farklı mikrodenetleyicilerin ve çevre birimlerinin mantıksal seviyelerini analiz ederek. Yaygın olarak tersine mühendislik denir.

Özellikler

  • Saleae Logic 8 ile yazılım uyumluluğu
  • Dijital giriş sayısı - 8
  • İki gösterge - mantıksal girişlerin gücü ve durumu
  • Giriş empedansı 100KOhm, giriş kapasitansı 5pF
  • USB ile Güçlendirilmiş
  • Desteklenen örnekleme oranları:
  • 24MHz,16MHz, 12MHz, 8MHz, 4MHz, 2MHz, 1MHz, 500KHz, 250KHz, 200KHz, 100KHz, 50KHz, 25KHz;
  • Bir ölçümün saklanan değerlerinin sayısı - 10000

Bir tarafta 10 pinli konnektör ve gövde üzerinde pin çıkışı bulunmaktadır

Diğeriyle birlikte Mini USB güç kaynağı ve bilgisayara bağlantı için

bağırsaklar

Kasanın içinde CYPRESS'ten CY7C68013A yüksek hızlı USB arayüzüne sahip bir mikroişlemci, bir EEPROM ATMLH432 ve NXP'den bir LVC245A veri yolu sürücüsü içeren bir kart bulunmaktadır.

Analizör girişinde 100 Ohm akım sınırlayıcı dirençler, 100 KOhm pull-up dirençler ve 5 pF kapasitör bulunmaktadır. Açıklamasında olduğu gibi her şey dürüst.

Bağlantı

Analiz cihazını bağlamak için kit, pin kontakları için 10 bağlantı kablosu içerir. Hemen bu klipsli klipleri satın aldım.

Kelepçelerin kalitesi çok vasat, ancak iyi kelepçeler analizörün kendisinden daha pahalıya mal olacak

Yazılım

Bu belki de bu analizörle ilgili en ilginç şey. Saleae Logic'in yerel yazılımıyla birlikte gelir.

Sürümler OSX, Linux ve Windows için 32 ve 64 bit olarak mevcuttur.
Windows 7 altında Saleae Logic 1.2.3 yarım vuruşla çalıştı, yazılım başladı, “Beta” sürüm işaretine rağmen donanım tanındı.

Saleae Logic'in yazılımındaki ilginç özellikler

Her kanalda mantıksal bir sıranın kaydedilmesi için tetikleyici

  • Mantıksal seviyeyi “0” olarak değiştirmek için
  • Mantıksal seviyeyi “1” olarak değiştirmek için
  • Belirli bir süredeki olumlu bir dürtü için
  • Belirli bir sürenin negatif darbesine

Mevcut ölçüme dayalı istatistiksel okumaların hesaplanması

Kod çözme protokolleri: Asenkron Seri, I2C, SPI, Gizle, 1 Kablolu, Atmel SWI, BISS C, CAN, DMX-512, HD44780, HDLC, HGMI CEC, I2S/ PCM, JTAC, LIN, MDIO, Manchester, Midi, Modbus , PS/2 Klavye/Fare, SMBus, SWD, Basit Paralel, UNI/O, USB LS ve FS

Kodu çözülebilir protokolü kullanarak günlüğe kaydetme

Ek olarak, bu analizör USBee'den gelen yazılımla flaşlanabilir

Biraz analiz yapalım

Tamamen aynı görünen ancak tamamen farklı çalışan DYP-ME007Y ultrasonik sensörleri bağlamayı düşünüyordum.

Tam olarak veri sayfasına göre çalışıyorsa: "tetikleyiciye" kısa bir darbe, ultrasonik bir darbeyi tetikler ve mesafe, yankının süresine göre ölçülür. Daha sonra ikinci ve üçüncü (yanıp sönen LED ile) yaklaşık olarak her 100 ms'de bir, herhangi bir harici vuruş olmadan mesafeyi ölçer ve bunu dört bayt (dahil olmak üzere) şeklinde 9600 hızında gönderir. sağlama toplamı). Saleae Logic sinyal kod çözmeyi etkinleştirmenizi sağlar seri veri yolu bir bayt dizisine dönüştürür. İkinci tip sensörler, "TRIG" çıkışı devre dışı bırakıldığında mükemmel çalışır, ancak bu girişte bir komut bekliyor olabilirler, ancak sihirli bir cihaz bile bunu göstermez.

Sonra Atmegi 168'in PWM sinyaline bakmak mı istediniz? PWM'yi farklı seviyelerde destekleyen altı kanalın tamamını açtım ve iki PWM kanalının frekansının diğer 4 kanaldan farklı olduğunu görünce şaşırdım. Farklı zamanlayıcılar dahil mi?

Veri yolumda ne var?

Sihirli cihaz ve program normalde LED'lere verilen sıralı çıktının kodunu çözüyordu. LED'lerin renkleri bile ortaya çıktı.

I2C veriyolunun analizinde de herhangi bir sorun yoktur. Yazılım kod çözmeyle iyi başa çıktı. TM1637 ekran sürücüsü çalışırken paketlerin kayıtlara yazıldığını görebilirsiniz.

Doğrudan analizöre bağlanan 315 MHz RF alıcısı, radyo anahtarlarından bir sinyal aldı ve bir Manchester kodu yayınladı. Hız seçildikten sonra Manchester kodu akıllı bir program tarafından bir bayt dizisine dönüştürülür.

Acaba zaman aralıklarını ölçmenin doğruluğu ne durumda? Elimde tam bir puls üreteci yoktu, ancak 1000Hz'de Arduino tonu (1000)

ve 20KHz'deki tone(20000) oldukça doğru bir sonuç verir.

Yüksek frekansı test etmek için NE555'i temel alan bir jeneratörü hızla monte ettim. Bundan 8 MHz çıkarmayı başardık. Analizör bu frekansı normal şekilde absorbe etti. 20 MHz'de test etmek mümkün olmadı ama 8, bu kadar ucuz bir donanım için de çok iyi bir sonuç.

Kısa bir özet

Mantık analizörü, mikrodenetleyiciler için Çin çevre birimlerini araştıranlar için çok gerekli ve yararlı bir şeydir (buna güzelce diyelim - tersine mühendislik)
Bu demir parçasının avantajları arasında şunu belirtmek isterim:

  • Cazip fiyat
  • Oldukça kullanışlı Saleae Logic yazılımıyla uyumlu
  • LVC245A veri yolu sürücüsü biçiminde giriş koruması
  • Küçük boyutlar

Bu donanımda belirgin bir eksiklik bulamadım. Keşke daha önce bir mantık analizörü satın alsaydım; bu kadar çok projede ne kadar zaman kazanırdım. Kuşkusuz bazıları için bu donanımın yetenekleri yeterli olmayacaktır. Çok daha karmaşık modeller var, ancak 100-200 dolarlık fiyatları bu cihazları radyo amatörleri için çok daha az uygun hale getiriyor.

Başka bir şeyi analiz edelim mi?

Karmaşık dijital devrelerde çalışmak için Çinli bir mantık analizörü son derece gerekli bir şeydir. Düşük fiyatı ve kullanışlı yazılımı da büyüleyici. Ve farklı kaynaklardan beslenen ve ortak bir zemine sahip olmayan farklı devre düğümlerinin çalışmasını aynı anda görüntüleme ihtiyacı ortaya çıkana kadar bu bana oldukça uygundu. Başlangıçta analizör, girişte 5 volt darbe genliğine sahip, güç bağlantısız 8 kanala sahiptir. Bu modifikasyon, analizör girişlerinin galvanik olarak izole edilmesini ve 3 volttan 25 volta kadar genliğe sahip darbelerle çalışmasını mümkün kılar. Bisküvi anahtarlarının konumu, giriş darbelerinin aralığına bağlı olarak seçilir. Ancak tasarım devresi 65 volta kadar çalışır durumda kalacaktır.

Devre, fiber optik ağlarda çalışmak üzere tasarlanmış yüksek hızlı optokuplörler kullanıyor. Optokuplörün frekans özellikleri, analizörün kaydedebileceği minimum darbe süresi 42 nanosaniye gibi bir şey olduğundan, analizörün kaçırabileceğinden daha yüksektir. Optocoupler LED akımı 6-7,5mA aralığında seçilir. Optokuplör akımın 15mA'ya kadar yükselmesini sağlar. Ve anahtar “25v” konumundayken 65 volt giriş voltajında ​​​​böyle bir akım ortaya çıkacaktır.

Spesifik olarak, kartım galvanik olarak izole edilmiş 4 kanal ve 5 voltluk girişlerle izole edilmemiş 4 kanal içeriyor. Güç analizör panosundan sağlanır. Bu durumda bazı değişiklikler yapmak gerekir: analizör kartını kasadan çıkarın, konnektörün 9 numaralı pimine giden yolu kesin ve LM1117'nin sağ piminden bu pime 10 Ohm'luk bir direnç aracılığıyla voltaj uygulayın.

Düzen ve tasarımın oldukça basit olduğu ortaya çıktı ve kullanım olanakları önemli ölçüde arttı.
Galvanik olarak izole edilmiş girişleri test ederken deneyin saflığı için girişler paralel olarak bağlandı. Yani IN A,B,C,D ve buna bağlı olarak Gnd A,B,C,D'nin 4 girişi karşılıklı olarak bağlanmıştır. Anahtarlar aynı konuma ayarlandı. Darbeler, kontakların yapay olarak sıçraması ve uygun voltajdaki harici bir güç kaynağı ile oluşturuldu.

Montaj sırasında 6N137 optokuplörler ve MPN-1 anahtarları kullanıldı; bölücüler smd0805 dirençleri içerir, ancak 1206 da sığacaktır. Analizöre bağlantı için kabloyu lehimlerken sıra kısmen değiştirildi, ancak her şey kartta etiketlendi.

MPN-1 anahtarları yerine başkalarını kullanabilirsiniz, ancak baskılı devre kartını ayarlamanız veya kablo kullanmanız gerekecek. Yazar - Dubovitsky Nikolay.

Cihazın ana özellikleri:

  • 32'ye kadar giriş kanalı;
  • bellek kanal başına 128 KB;
  • 100 MHz'e kadar örnekleme frekansı;
  • harici saat girişi;
  • tüm girişler 3,3 V ve 5 V mantığıyla uyumludur;
  • yapılandırılabilir önceden getirme/sonradan getirme arabellek boyutu 8 KB'nin katıdır;
  • 16 bit dahili saat üreteci;
  • birkaç dahili senkronizasyon modu;
  • programlanabilir senkronizasyon gecikmesi;
  • programlanabilir senkronizasyon olay sayacı;
  • harici senkronizasyon girişi;
  • LPT (EPP modu) veya USB arayüzü aracılığıyla PC ile iletişim;
  • Çeşitli işletim sistemleri için PC uygulamalarının çeşitli versiyonları.

Lojik analizörün ana unsuru, şirket tarafından üretilen ve tüm ana fonksiyonları yerine getiren FPGA'dır. Cihazın şematik diyagramı Şekil 1'de gösterilmektedir.

Eskisinden ödünç alınan osilatör IC4 (IC6), FPGA için saat kaynağı olarak kullanılıyor anakart bilgisayar. Osilatörün 5 V voltajda çalışacak şekilde tasarlanmış olmasına rağmen, cihazın 3,3 V voltajla çalıştırıldığında çalışmasında herhangi bir sorun tespit edilmedi.

Numuneleri depolamak için harici bir yüksek hızlı RAM çipi kullanılır.

Cihaza güç sağlamak için kullanılır dış kaynak 15 V'a kadar çıkış voltajıyla. FPGA ve RAM'in besleme voltajı 3,3 V olduğundan, LD1117DT33 serisinin 3,3 V voltaj regülatörü takılıdır.

K7 paralel port konektörü lojik analizör kartı üzerinde bulunur ve doğrudan FPGA'ya bağlanır. Mantık analizörünün devre kartı, yüzeye monte bileşenler ve geleneksel kurşunlu bileşenler kullanılarak çift taraflıdır. Baskılı devre kartının bir görünümü Şekil 2'de gösterilmektedir.

Yorum. SRAM çipinin 40 numaralı pimi (Vss) yerine bu çipin 39 numaralı pimi toprağa bağlanır. Çözüm: PCB üzerindeki 39 ve 40 numaralı pinleri birbirine bağlayın (39 numaralı pin SRAM yongasında kullanılmaz).

Bağlanmak için kişisel bilgisayar USB arayüzü için şeması Şekil 3'te gösterilen özel bir adaptör kullanmanız gerekir.

Lojik analizör için USB arayüz adaptörü, FTDI tarafından üretilen bir FT2232C serisi çip üzerine monte edilmiştir. Bu çip, iki ayrı çip olan FT232BM ve FT245BM'nin işlevselliğini birleştiriyor. Ayrı olarak yapılandırılmış iki G/Ç kanalı vardır. FT2232C konfigürasyonunun cihazın bir parçası olarak kullanılmasının ana noktaları, USB arayüzünden güç kaynağı ve mikro denetleyici veri yolu emülasyon modudur (MCU Ana Bilgisayar Veri Yolu Emülasyon modu). Bu mod, IC3 74HCT4053D çoklayıcı kullanılarak EPP protokolüne dönüştürülür. /DST, /AST ve RD/WR sinyallerinin doğrudan kodunun çözülmesi zamanlama çakışmalarına neden olabileceğinden, EPP protokolü aracılığıyla veri iletimi dönemleri sırasında RD/WR sinyali (okuma/yazma) olarak kullanılan ek bir A8 sinyali kullanılır. .

JTAG konektörü (CON2) FPGA'yı yapılandırmak için kullanılır - bu gelecekteki geliştirmeler içindir, şu anda bu arayüz kullanılmamaktadır.

93LC56 serisi EEPROM (IC2), FT2232C'nin konfigürasyon verilerini saklar ve programlanabilir arayüzün düzgün çalışması için gereklidir. Bu çipi programlamak için FT_Prog yardımcı programı kullanılır (daha önce MProg olarak adlandırılıyordu). Bu yardımcı program ve FT2232C sürücüleri FTDI web sitesinden indirilebilir.

Adaptör baskılı devre kartı, üretimini kolaylaştıracak şekilde tek taraflı tasarlanmıştır.

Ayrıca B 1.0 sürümü de var USB adaptörü arayüzü (Şekil 5). Bu versiyon JTAG konektörünün yokluğunda farklılık gösterir ve baskılı devre kartı CANNON 25 konnektörünün mahfazasına entegrasyonu dikkate alınarak yapılmıştır. Dış görünüşŞekil 6'da monte edilmiş adaptörler.

A) B)
Şekil 6. USB arabirim adaptörü sürüm A 1.1 (a) ve sürüm B 1.0 (b)'nin görünümü

Ayrıca USB ve LPT arayüzlerinin halihazırda entegre edildiği mantık analizör devresinin başka bir versiyonu da bulunmaktadır (Şekil 7). Bu seçeneğin yazarı Bob Grieb'dir ve devreyi geliştirirken TinyCAD ortamı kullanılmış, bunun için baskılı devre kartı FreePCB editöründe geliştirilmiştir.




Tepe