İçindekiler:

EZ430 Tabanlı Mantık Probu olan EZProbe: 4 Adım
EZ430 Tabanlı Mantık Probu olan EZProbe: 4 Adım

Video: EZ430 Tabanlı Mantık Probu olan EZProbe: 4 Adım

Video: EZ430 Tabanlı Mantık Probu olan EZProbe: 4 Adım
Video: TI EZ430 EZProbe 2024, Kasım
Anonim
EZProbe, EZ430 Tabanlı Mantık Probu
EZProbe, EZ430 Tabanlı Mantık Probu

bu, TI EZ430 donanım kilidine dayalı basit bir mantık araştırması projesidir. Eylül 2010'da TI'den birkaç ez430'da ücretsiz bir tekliften yararlandım. Küçük kod parçacıklarını denemek ve led yanıp sönmeyi izlemek için çok kullanışlı ve eğlenceliler. O zamandan beri masamın etrafında yatıyorlardı ve onlar için bir şeyler bulmam gerekiyordu. ve insanların gelip "hafıza çubuğumu" ödünç almalarını engellemek istiyorum. peki, bu bir bellek çubuğu değil, çok kanallı ADC'ler ile 16bit MCU, yeterli 2K programlama belleği ve 16Mhz'ye kadar çalışıyor. hepsi güzel bir usb cihaz paketinde hata ayıklama programlama arayüz kartı ile paketlenmiştir. ana tasarım hedefim, müdahalemi orijinal ez430 ile sınırlamak. bu yüzden onu fiziksel olarak çok fazla değiştirmek istemiyorum ve diğer hedef pano projeleri için programlama/hata ayıklama işlevini korumak istiyorum. tüm bunlar ek faydalı amaçlara hizmet ederken. Bu bir linux projesi, her zamanki gibi, pencerelerin altında inşa edilebilmesi için hükümler çıkarmaya en iyi bilgimle dikkat ettim. ancak Windows altında her şeyi denemek için zamanım ve kaynaklarım yok. elektronik projelerimin çoğu çok küçük devre tahtaları üzerinde yapılıyor ve genellikle dar alanlarda çalışıyorum (mutfak masası, yarım ödünç çalışma masası, vb.). devre mantık seviyelerini kontrol etmem gereken birçok durum var ve bir şeyleri kontrol etmek için bir multimetre (bir tuğla boyutunda) kullanıyorum. projelerim multimetremden çok daha küçük olduğundan ve her zaman yoluma çıktığını fark ettiğim için bu beni her zaman rahatsız eder. bir alternatife ihtiyacım var, küçük bir mantık araştırması yapacak. ez430 bu görev için mükemmeldir. Başlangıç olarak, zaten bir prob şeklinde, sadece bir çivi ve birkaç led eklemem gerekiyor. Daha önce de belirttiğim gibi, bu projeyi basit ve yıkıcı olmayan hale getirmek istiyorum. ve zaten mevcut olanı kullandım. projeyi bir pcb/pref-board üzerine inşa etmek yerine, bunu bir hedef msp430f2012 panosunda inşa ediyorum, prototipleme alanım olarak deliklerden 14 pin başlığını kullanıyorum. küçük ledlerin gittiği yer burasıdır. plastik kasaya delik açmak istemiyorum, çok fazla kablo geçirmek veya ek kontak noktaları eklemek istemiyorum. tek ihtiyacım olan bir prob io kontağı ve fonksiyon seçimi için bir düğme girişi, artı gnd ve vcc. usb bağlantısı bu görev için mükemmel görünüyor. probu usb üzerinden çalıştıracağım (programlayıcı devresi benim için yaklaşık 3v potansiyeli ayarlayacaktır) ve probum ve anahtarım için D+ ve D-usb bağlantılarını kullanacağım. ez430, bağımlı/istemci cihaz olduğundan, başlatma sırasında D+'da bir çekme dışında bir şey yapmaz ("yüksek hızlı" bir usb olduğunu belirtmek için). kayan D-'yi prob io olarak ve D+'yı dokunsal düğme girişi olarak kullanıyorum (bunun için bir pull-up direnci kurmama bile gerek yok, zaten orada) ek bilgiler de burada bulunabilir.

Adım 1: Özellikler ve Uygulama

Özellikler ve Uygulama
Özellikler ve Uygulama

özellikler * usb konektörü ile devreden besleme * mantık okuma, darbe çıkışı, pwm çıkışı arasında dönen 3 çalışma modu * uzun tuşa basma (yaklaşık 1.5 sn) 3 çalışma modu arasında döner * p1.0 mod göstergesi olarak orijinal yeşil led, kapalı - prob, açık - çıkış, yanıp sönme - pwmlogic prob * lojik prob kırmızı - merhaba, yeşil - düşük, yok - kayan * mantık probu kırmızı / yeşil sürekli darbe okumalarında yanıp söner > 100hz * 4 sarı led algılanan frekansları 8 adımda gösterir, sarı yanıp söner yüksek aralığı göster (yani adım 5-8) * 100hz+, 500hz+, 1khz+, 5khz+, 10khz+, 50khz+, 100khz+, 500khz+ için algılanan darbe frekanslarını gösterir * sürekli olmayan tek darbe patlamaları için, kırmızı / yeşil ledler yanar ve ardından darbe sayıları ledlerde kademeli olarak görüntülenir, 8 darbeye kadar sayar sürekli darbe çıkışı, frekans ayarı * p1.0 ile gösterilir orijinal yeşil led açık * 4 sarı led 9 adımda çıkış darbe frekanslarını gösterir, yanıp sönen sarılar yüksek aralığı gösterir (örn. adım 5-8) * darbe frekansları 100hz, 500hz, 1khz, 5khz, 10khz, 50khz, 100khz, 500khz, 1mhz için çıkış * Kısa düğmeye basıldığında 9 farklı frekans ayarı döndürülür. Sürekli darbe çıkışı, pwm ayarı * p1.0 ile gösterilir orijinal yeşil led yanıp söner * öncekiyle aynı çalışma modu hariç, frekans yerine pwm değerleri gösterilir (ve kurulabilir) * 4 sarı led 9 adımda çıkış pwm yüzdelerini gösterir, yanıp sönen sarılar yüksek aralığı gösterir (yani adım 5-8) * %0, %12,5, %25, %37,5, %50, %62,5, %75, %87,5, %100 için pwm yüzdeleri * kısa tuşa basıldığında 9 farklı pwm ayarı döndürülür.şematik şematiktir bir çift usb konektörü ile bağlandıkları iki parçadan oluşur. sol taraftaki şema, bir F2012 hedef panosu ile EZ430 dongle'a yapılan eklemeleri gösterir. sağ taraftaki şema, mantık prob kafasıdır ve sıfırdan oluşturulacaktır.

Adım 2: Parça Listesi ve Yapım

Parça Listesi ve Yapım
Parça Listesi ve Yapım
Parça Listesi ve Yapım
Parça Listesi ve Yapım

parça listesi * ti ez430-f2013 (programlayıcı bölümünü kullanın) * ti ez430 f2012 hedef tahtası * led'ler 1,2 x 0,8 mm, 4 sarı, 1 kırmızı, 1 yeşil * bir çivi, yaklaşık 3/4 inç, düz başlı * bir dokunsal düğme * 1 gram süper yapıştırıcıdan kapak (süper yapıştırıcının kendisi de gereklidir) * usb tip a konektör (bilgisayar tarafı) * teller konstrüksiyonu ez430 dongle ile birlikte gelen f2013 hedef tahtası yerine msp430f2012 hedef kartını kullanıyorum çünkü sadece sahip olduğum için bunlardan birkaçı. orijinal f2013 hedef panosunu kullanmak istiyorsanız, kayan durumu tespit etmek için adc kullanan çok küçük bir kod bölümünü yeniden yazmanız gerekecektir. f2013, yapımda kullandığım 10 bit yerine 16 bit adc'ye sahip. ince bir lehim ucu ve bir sıcaklık kontrol havyası (veya istasyonu) kullanmanız gerekecek, ledleri normal bir demirle lehimleyebileceğini hayal edemiyorum. benim yaptığım yol, önce başlık pedlerini kalaylamak, ardından smd led'lerini yerleştirmek için bir çift ince tweeter kullanmak. kırmızı ve sarı ledleri hizaladıktan sonra 1/8 watt'lık bir direncin bir ayağını kalaylayıp pcb'ye lehimliyorum, bir ucu ortak bir gnd'ye gidiyor. yeşil led en son gider. çok sıkıdır ve sadece bir şeyleri birbirine yapıştırmak için yeterli miktarda lehim uygulamak istersiniz. ayrıca flux bir zorunluluktur. eklemlerinizi test etmek için bir multimetre kullanın. daha sonra düğme teli ile sonda telini köprülemeniz gerekecektir. cat5e kesimlerini kullanıyorum ama yüksek ölçülü teller yapacak. şemada ve resimde gösterildiği gibi, hedef karttan usb konektörüne kadar çalışırlar. İstediğim zaman ayrılabilmeleri için küçük bir konektör bulabilirsem iyi olurdu, ama şimdilik bu yeterli.

Adım 3: Prob Kafası Yapısı

Prob Kafası Yapısı
Prob Kafası Yapısı

altta, prob kafası tertibatını "yapılandırmak" (süper yapıştırıcı) için kullandığım bitleri göreceksiniz. benim fikrim, onu bir usb konektörü üzerine kurmak, böylece ürün yazılımı güncellemeleri için ayrılabilir. Her şeyi bir araya getirmek için süper yapıştırıcı kullandım. "çivi", çok hızlı mod değiştirme ve frekans / pwm ayarı için doğrudan dokunsal bir düğmenin üzerine yapıştırılmıştır. sizin için işe yaramazsa başka türlü yapmak isteyebilirsiniz. dokunsal düğme mekanizmasından biraz sallanma olacak, bir tasarımda sallanmayı sınırlamak için ataş kullandım ve başka bir prob kafası çivi konumunu sabitlemek için süper yapıştırıcıdan gelen kapağı kullandım. Ayrıca buna koruma direnci/diyot eklemek isteyebilirsiniz. usb konektörü şu bağlantılara sahiptir, (1) 5v, (2) D-, (3) D+ ve (4) Gnd, D- çiviye bağlanacak, D+ dokunsal düğmeye bağlanacak, diğeri dokunsal düğmenin ucunun toprağa bağlanması gerekir. bu konektör üzerinde prob stratejisi bana çok fazla esneklik sağlıyor, prob kafasındaki güç hattı ile devreyi genişletebilir ve bu projeyi sadece "kafa" ve bellenimi değiştirerek başka bir şeye dönüştürebilirsiniz, ör. bir volt metre, bir tv-b-gitti (prob kafasında transistör ve pil ile) vb. olabilir. Daha sonra ona beyaz bir led "ön far" eklerdim.

Adım 4: Uygulama Notları ve Alternatif Uygulamalar

Uygulama Notları ve Alternatif Uygulamalar
Uygulama Notları ve Alternatif Uygulamalar

uygulama notları

* wdt (watchdog timer) buton zamanlaması sağlamak için (zıplama ve bas-bekle) ayrıca ışıklandırma ledlerine darbe yapmak için kullanılır. ledlerin sınırlayıcı dirençleri olmadığından ve sürekli olarak açılamadığından bu gereklidir. * 3v hedef devrelerini barındırmak için 12 mhz'de ayarlanmış dco saat. * adc kayan bir pinde araştırma yapıp yapmadığımıza karar vermek için kullanılır, kaynak kodu üzerinden eşik değerleri ayarlanabilir. * frekans belirleme, timer_a'yı kenar algılama için yakalamaya ayarlayarak ve darbeyi bir süre içinde sayarak yapılır. * çıkış modu timer_a sürekli modunu, çıkış modu 7'yi (ayarlama/sıfırlama) kullanır, darbe genişliği modülasyonu elde etmek için hem yakalar hem de kayıtları karşılaştırır (CCR0 ve CCR1).

kaynak kodu

bunlar yalnızca linux için talimatlardır, ortamım ubuntu 10.04, diğer dağıtımlar, msp403 araç zincirini ve mspdebug'u düzgün yüklediğiniz sürece çalışmalıdır.

bir dizin oluşturabilir ve aşağıdaki dosyaları içine yerleştirebilirsiniz ezprobe.c'yi indirmek için tıklayın

Bunun derlenmesi için bir makefile dosyam yok, projelerimin çoğunu derlemek için bir bash betiği kullanıyorum, launchpad kalkan sayfamda bahsediliyor, "çalışma alanı dizini düzeni" bölümüne gidin ve ayrıntıları alın.

veya aşağıdakileri yapabilirsiniz

msp430-gcc -Os -mmcu=msp430x2012 -o ezprobe.elf ezprobe.c msp430-objdump -DS ezprobe.elf > ezprobe.lst msp430-objdump -h ezprobe.elf msp430-size ezprobe.elf

bellenimi flaş etmek için ez430 dongle'ınızı takın ve

mspdebug -d /dev/ttyUSB0 uif "prog ezprobe.elf"

alternatif uygulama olanakları

Bu tasarımın esnek doğasına dayanarak, ezprobe rolünü kolayca değiştirebilir ve hızlı bir flash indirme ile farklı bir cihaz haline gelebilir, işte gelecekte uygulamayı düşündüğüm bazı fikirler.

* servo test cihazı, bu benim ezprobe_servo.c'yi indirmek için tıkladım kafa * pong saati, w/ 2 dirençli tv çıkışı prob kafası

sorun giderme

* Gerçekten bir sıcaklık kontrol demirine/istasyonuna ve ince lehim uçlarına ihtiyacınız var, ledler (hepsi birlikte) bir pirinç tanesinden daha küçüktür. * akı kullanın. * Hata ayıklama sırasında D- ve D+ kablolarının bağlantısını kesmeye hazır olun, normal usb çalışmasına müdahale edebilirler. değiştirilen cihaza firmware yazarsanız, firmware'iniz başladığında bu iki pin üzerinde çıkış yapmayın. ve bunu yaparsanız, artık bellenimi indiremezsiniz (tabii ki bu olursa lehimlerini kaldırabilirsiniz). usb kasasına uyan küçük konektörler bulabilirseniz, bunları kullanın. * Hedef kartın güç kaynağı, programlayıcı kartından bir regülatör aracılığıyla alınır ve bu da usb'den 5v alır. ezprobe'u devrede kullanırken, genellikle ikiz 1.5v AAA'lardan 3v hedef proje kaynağım olur, bu yeterlidir ancak proje 12 mhz'de veya altında kalmalıdır. 16mhz dco, tam 5v kaynak gücü gerektirir. * Probu korumak için sınırlayıcı direnç veya zener diyot kullanmadım. bunu yapmak isteyebilirsiniz.

Önerilen: