• Forumu kullanabilmek için lütfen üye olunuz. 😊

Nuvoton Kullanırken Nelere Dikkat Etmeliyiz ?

Argeolog

Admin
Yetkili
Aldığım bir duyuma göre işlemcinin içinde yer alan inputlar için gerekli olan Pull-Up ve Pull-Down Dirençlerinde İnputlar'da kararsızlık söz konusu olabiliyormuş. Bu durumda Harici olarak Pull-Up veya Pull-Down Dirençlerini Kullanmak mantıklı olacak kanaatindeyim.

Bir başka okuğudum şikayet ise ADC okuma ile ilgili. Datasheet' de Analog pinin 12 Bit olduğu yazıyor iken kullanıcı maximum 10 bit okuyabildiğinden bahsetmişti.

Edit: Edindiğim bir başka bilgi ise 2 Bit işlemcilerin yanılma payı olarak geçmekte imiş.

Not: Sadece duyumdur, tecrübe etmedim.
 
M031 işlemci ailesinin Reference Manuel dökümanında da böyle bir ibareyle karşılaşmıştım. 12-bit okuma yapabiliyorum, fakat doğruluğunu test etme imkanım olmadı. Tabi uzun kullanımda ve farklı sıcaklık değerlerindeki performansına da bakmak lazım.
 

Ekli dosyalar

  • Ekran Alıntısı.PNG
    Ekran Alıntısı.PNG
    213.6 KB · Görüntüleme: 13
Bunun haricinde ADC biriminden okuduğum ilk değerler yanlış oluyor. Bunun için yaptığım ilk 1000 değeri kaydetmiyorum ve yapacağım işlemlere dahil etmiyorum. Tabii ki bu sorun Nuvoton ile doğrudan alakalı değil, diğer mikrodenetleyici ailelerinde de bu sorunu yaşanları duymuştum.
 

Argeolog

Admin
Yetkili
Bunun haricinde ADC biriminden okuduğum ilk değerler yanlış oluyor. Bunun için yaptığım ilk 1000 değeri kaydetmiyorum ve yapacağım işlemlere dahil etmiyorum.
Bu çok riskli bir durum. Bu sorunu gösteren bir video ve kod örneği varsa nuvoton yurtdisindan sorunla ilgili açıklama isteyelim.
 
Bu çok riskli bir durum. Bu sorunu gösteren bir video ve kod örneği varsa nuvoton yurtdisindan sorunla ilgili açıklama isteyelim.
Bu konuyla alakalı müsait bir zamanda bir örnek yaparım, ama bahsettiğim gibi bu sorun Nuvoton ile sınırlı değil başka mikrodenetleyici aileleriyle aynı sorunun yaşandığını duymuştum.
 

Argeolog

Admin
Yetkili
Çok ilginç daha önce çokça adc'den veri okudum. Benzer bir sorunla karşılaşmadım. Devre tasarımınızı paylaşır misiniz ?
 

FMC

Üye
Bunun haricinde ADC biriminden okuduğum ilk değerler yanlış oluyor. Bunun için yaptığım ilk 1000 değeri kaydetmiyorum ve yapacağım işlemlere dahil etmiyorum. Tabii ki bu sorun Nuvoton ile doğrudan alakalı değil, diğer mikrodenetleyici ailelerinde de bu sorunu yaşanları duymuştum.
Daha öncesinde ADC ile bende çalışmalar yürüttüm fakat bende karşılaşmadım böyle bir sorunla açıkçası. Evet işlemci ilk açılış sırasında kararlı hale gelmesi zaman alıyor fakat işlemci hazırken herhangi bir işlemde bu sorunu yaşamadım.
 

mzturk

Üye
Selamlar, sadece 0 ve 2. kanalda sinyallerim var diğer kanallara bir sinyal uygulamıyorum(tüm kanallarım pull-down bağlı). ADC 24 Mhz'de çalışıyor. 48Mhz çalıştığında kanal 1 deki dönüşüm değeri 90-100 arasında oluyor. Sampling time artırılarak biraz daha azaltılacağını düşünüyorum.
 

Ekli dosyalar

  • ScreenShot_20231225144624.png
    ScreenShot_20231225144624.png
    5.8 KB · Görüntüleme: 7

Bowman

Üye
Selamlar, sadece 0 ve 2. kanalda sinyallerim var diğer kanallara bir sinyal uygulamıyorum(tüm kanallarım pull-down bağlı). ADC 24 Mhz'de çalışıyor. 48Mhz çalıştığında kanal 1 deki dönüşüm değeri 90-100 arasında oluyor. Sampling time artırılarak biraz daha azaltılacağını düşünüyorum.
Nuvoton'da ADC 34 MHz ve üstünde çalıştırılmamalı. Datasheet öyle söylüyor
 

iekmekci

Moderator
Yetkili
Arkadaşlar merhaba,
Sırası ile sorularınıza yanıt vermeye çalışacağım.

İlk olarak işlemci içerisinde 100k PullUp direnci mevcut. Biz bu konuda hiç bir kararsızlık yaşamadık.
Belki kullanıma bağlı hatalar olabilir. Bunlara örnek vermek gerekirse,
GPIO pinini internal pullup aktif etmek için öncelikle Quasi modda set etmek gerek.
Datasheete baktığınızda bu pinin iç direnci oldukça yüksek. Buraya güçlü bir kaynak girecek olursa (Button gibi doğrudan voltajı pine verecek) burada herhangi bir kararsızlık söz konusu değil. Fakat bu pine bir RF modül inputu bağladığınızda RF sinyalin zayıflığından dolayı 100k fazla geleceğinden dolayı Lowa çekememe durumu olabilir. Bunun için pine input olarak vereceğiniz giriş kaynağının güçlü olmaması durumunda external ve 100kdan daha düşük bir direnç önermekteyiz.
Sahada yaşadığımız RF tecrübelerine göre 100k direnç RF uygulamaları için fazla gelmekte.
Eğer input güçlü ve hala kararsız olduğunu düşünüyorsanız bu konuya birlikte detaylı bakabiliriz.

ADC konusu bizim en hassas olduğumuz konulardan birisi.
12 bit çözünürlüklü tüm işlemciler SAR ADC yapısını kullanmakta ki SAR ADC mantığına bakıldığında yaklaşmalı bir değer okumakta (Bu nuvotona özgü değil tüm işlemcilere özgü) Hal böyleyken son iki biti maalesef ki hiç bir işlemci garanti etmemekte. Bu dez avantaj Nuvotondan değil SAR adc yapısından kaynaklanmakta. Diğer bir konu ise ADC frekansı, yukarıda bir arkadaşımızın da belirttiği gibi ADC çalışma frekansı HIRC frekansından farklı. Bu nedenle ADC Clock değerini mutlaka datasheette yazan değere göre set etmek gerek.
Bir diğer konu ise yine ADC nin çalışma mantığından gelmekte. X kanallı bir ADC demek aslında 1 ADC çevreselini Multiplexer kullanarak okumak demek. Yani siz 1-3-5-7 kanalları ADC olarak okumak istediğinizde ADC çevreseli önce 1i, daha sonra 3ü, daha sonra 5i ve son olarak 7ci kanalı okumakta. Bu Multiplexer yapısına daha detaylı baktığımızda bir Sample And Hold kapasitörünün okumayı sağladığını görmekteyiz. Eğer siz okuduğunuz iki kanal arasındaki süreyi, bu Sample And Hold kapasitörünün dolma ve boşalma sürelerine dikkat etmeden okuduğunuzda maalesef ki yanlış değerler almanız gayet doğal.
Burada Nuvoton'un yeni jenerasyon işlemcilerinde bu problemin önüne geçmek için ExtendedSampleRate diye bir fonksiyonu bulunmakta.
Bu fonksiyon sayesinde bir ADC kanalı okunup diğerine geçmeden önce işlemcinin beklemesi gereken süreyi ayarlayabiliyorsunuz. Bu da size Sample And Hold kapasitörünün doğru bir şekilde dolma ve boşalmasına olanak tanımakta.
Özetle önce ADC Clock tam olarak datasheet değerine göre seçilmeli, daha sonra eğer 1den fazla kanal okunacaksa ExtendeSampleRate kullanılmalı ve son iki bitin SAR ADC mantığından dolayı oynayabileceğini kabul ettiğimizde çok doğru sonuçlar görmek mümkündür.

Yine soruları olanlar
iekmekci@ozdisan.com adresinden bana doğrudan ulaşabilir.
 
Üst