AVR Mikrodenetleyici Türleri - Atmega32 ve ATmega8

Sorunları Ortadan Kaldırmak Için Enstrümanımızı Deneyin





ATmega32 - 8 Bit AVR Mikrodenetleyici

AVR mikro denetleyicileri, gelişmiş RISC mimarisine dayanmaktadır. ATmega32, AVR ile geliştirilmiş RISC mimarisine dayalı düşük güçlü bir CMOS 8-bit mikro denetleyicidir. Döngü frekansı 1MHz ise AVR saniyede 1 milyon komut yürütebilir.

ATmega32

ATmega32'nin 40 pin DIP fotoğrafı



Ana Özellikler:


  • 32 x 8 genel çalışma amaçlı kayıt.
  • 32K bayt sistem içi programlanabilir flash program belleği
  • 2K bayt dahili SRAM
  • 1024 bayt EEPROM
  • 40 pinli DIP, 44 uçlu QTFP, 44 pedli QFN / MLF olarak mevcuttur
  • 32 programlanabilir I / O hattı
  • 8 Kanal, 10 bit ADC
  • Ayrı ön ölçekleyicilere ve karşılaştırma modlarına sahip iki adet 8-bit zamanlayıcı / sayaç
  • Ayrı ön ölçekleyici, karşılaştırma modu ve yakalama moduna sahip bir 16 bit zamanlayıcı / sayaç.
  • 4 PWM kanalı
  • Çip üzerinde önyükleme programı ile sistem programlamasında
  • Ayrı çip üstü osilatör ile programlanabilir bekçi köpeği zamanlayıcı.
  • Programlanabilir seri USART
  • Master / slave SPI seri arayüzü

Özel Mikrodenetleyici Özellikleri:

  • Altı uyku modu: Boşta, ADC gürültü azaltma, güç tasarrufu, güç kapatma, bekleme ve uzatılmış bekleme.
  • Dahili kalibre edilmiş RC osilatör
  • Harici ve dahili kesinti kaynakları
  • Gücü açma sıfırlama ve programlanabilir kesinti algılama.
ATmega32

ATmega32'nin 40-Pin DIP'si



32 yazmacın tümü doğrudan Aritmetik Mantık Birimine (ALU) bağlanır ve iki bağımsız yazmacı, bir saat döngüsünde yürütülen tek bir komutta erişilmesine izin verir.

Kapatma, yazmaç içeriğini kaydeder ancak osilatörü dondurur. Diğer tüm çip işlevleri, bir sonraki harici kesinti ortaya çıkana kadar devre dışı bırakılacaktır. Eşzamansız zamanlayıcı, kullanıcının, cihazın geri kalanı uyurken güç tasarrufu moduna dayalı bir zamanlayıcıyı korumasına olanak tanır.

ADC gürültü azaltma modu, CPU'yu ve ADC ve asenkron zamanlayıcı hariç tüm G / Ç modüllerini durdurur. Bekleme modunda, kristal osilatör dışında, cihazın geri kalanı uyuyor. Hem ana osilatör hem de asenkron zamanlayıcı, genişletilmiş bekleme modunda çalışmaya devam eder.

ATmega32, monolitik bir yonga üzerindeki sistem içi kendi kendine programlanabilir flaşı nedeniyle güçlü bir mikro denetleyicidir ve birçok gömülü kontrol uygulaması için yüksek esneklik ve uygun maliyetli bir çözüm sağlar.


44-pad TQFP / MLF

44-pad TQFP / MLF

Pin Açıklamaları:

VCC: Dijital voltaj kaynağı

GND: Zemin

Bağlantı Noktası A (PA7-PA0): Bu bağlantı noktası, A / D dönüştürücüye analog girişler olarak hizmet eder. Ayrıca, A / D dönüştürücü kullanılmadığında 8 bitlik çift yönlü G / Ç bağlantı noktası görevi görür.

Bağlantı Noktası B (PB7-PB0) ve Bağlantı Noktası D (PD7-PD0): 8 bitlik çift yönlü bir G / Ç bağlantı noktasıdır. Çıkış tamponları, hem yüksek hem de kaynak kapasitesine sahip simetrik sürücü özelliklerine sahiptir. Girişler olarak, kaldırma dirençleri etkinleştirilirse bunlar son derece düşük çekilir. Ayrıca ATmega32'nin çeşitli özel fonksiyon özelliklerine de hizmet eder.

Bağlantı Noktası C (PC7-PC0): 8 bitlik çift yönlü bir G / Ç bağlantı noktasıdır. JTAG arabirimi etkinleştirilirse, PC5 (TDI), PC3 (TMS) ve PC2 (TCK) pinlerindeki kaldırma dirençleri etkinleştirilecektir.

ATmega32

ATmega32'nin C bağlantı noktasını kullanarak JTAG arabirimi

Sıfırla: Bu bir girdidir.

XTAL1: Ters çeviren osilatör yükselticisine ve dahili saat işletim devresine bir giriştir.

XTAL2: Ters çeviren osilatör yükselticisinden gelen bir çıktıdır.

AVCC: Port A ve A / D dönüştürücü için besleme voltajı pinidir. VCC'ye bağlanmalıdır.

AREF: AREF, A / D dönüştürücü için analog referans pinidir.

ATmega32 Anıları:

İki ana bellek alanı veri belleğine ve program bellek alanına sahiptir. Ek olarak, veri depolama için bir EEPROM hafızasına sahiptir.

Sistem Programlanabilir Flaş Program Hafızasında:

ATmega32, program depolama için sistem yeniden programlanabilir flash bellek içinde 32Kbyte çip üzerinde içerir. Flash, 16k X 16 olarak düzenlenmiştir ve belleği, Önyükleme programı bölümü ve uygulama programı bölümü olmak üzere iki bölüme ayrılmıştır.

ISP programcı devre şeması

ISP Programcı Devre Şeması

SRAM Veri Belleği:

Kayıt dosyası, G / Ç belleği ve dahili veri SRAM'ı, daha düşük 2144 veri belleği konumu tarafından adreslenir. İlk 96 konum, Kayıt dosyası ve G / Ç belleğini adresler ve dahili veri SRAM'ı sonraki 2048 konum tarafından adreslenir. Doğrudan, yer değiştirme ile dolaylı, dolaylı, ön azaltma ile dolaylı ve sonradan azaltma ile doğrudan, veri belleği kapsamı için 5 farklı adresleme modudur. 32 genel amaçlı kayıt, 64 G / Ç kaydı ve 2048 bayt dahili veri SRAM'ı bu adresleme modları kullanılarak erişilebilir.

ATmega32

ATmega32'nin blok diyagramı

EEPROM Veri Belleği:

1024 bayt veri EEPROM belleği içerir. Tek baytların okunup yazılabildiği ayrı bir veri alanı olarak erişilebilir.

G / Ç Belleği:

Tüm G / Ç'ler ve çevre birimleri G / Ç alanına yerleştirilir. G / Ç konumlarına GİRİŞ ve ÇIKIŞ komutlarıyla erişilir, veriler 32 genel amaçlı kayıt ve G / Ç alanı arasında aktarılır. 00-1F adresinde bulunan I / O kayıtlarına SBI ve CBI komutları kullanılarak doğrudan bit erişilebilir.

ATmega8

Giriş

AVR ailesinden (1996'da Atmel Corporation tarafından geliştirilen) 8 bitlik CMOS yapılı bir mikro denetleyicidir ve RSIC (Azaltılmış Komut Seti Bilgisayarı) mimarisi üzerine kurulmuştur. Temel avantajı herhangi bir akümülatör içermemesi ve herhangi bir işlemin sonucunun komutla tanımlanan herhangi bir kayıtta saklanabilmesidir.

Mimari

Mimari

Mimari

Hafıza

8KB flash bellek, 1KB SRAM ve 512 Byte EEPROM'dan oluşur. 8K flaş 2 kısma ayrılmıştır - alt kısım önyükleme flaş bölümü olarak kullanılır ve üst kısım uygulama flaş bölümü olarak kullanılır. SRAM, 1K bayt ile birlikte 1120 bayt genel amaçlı yazmaç ve G / Ç yazmaçlarını içerir. Alt 32 adres konumu, 32 genel amaçlı 8 bit kayıt için kullanılır. Sonraki 64 adres G / Ç kayıtları için kullanılır. Tüm kayıtlar doğrudan ALU'ya bağlanır. EEPROM, kullanıcı tanımlı verileri depolamak için kullanılır.

Giriş / çıkış bağlantı noktaları

B, C ve D olarak adlandırılan 3 G / Ç bağlantı noktasına sahip 23 G / Ç hattından oluşur.B Bağlantı Noktası 8 G / Ç hattından, C Bağlantı Noktası 7 G / Ç hattından ve D Bağlantı Noktası 8 G / Ç'den oluşur çizgiler.

Herhangi bir bağlantı noktasına (B, C veya D) karşılık gelen yazmaçlar şunlardır:

DDRX : Port X veri yönü kaydı

PORTX : Port X veri kaydı

PINX : Port X giriş kaydı

Zamanlayıcılar ve Sayaçlar

Karşılaştırılabilir modlara sahip 3 zamanlayıcıdan oluşur. İkisi 8 bit, üçüncüsü 16 bittir.

Osilatörler

Herhangi bir harici giriş ihtiyacını ortadan kaldırmayı mümkün kılan dahili sıfırlama ve osilatör içerir. Dahili RC osilatörü, programlandığı gibi 1MHz, 2MHz, 4MHz veya 8MHz herhangi bir frekansta çalışabilen dahili saat üretme kapasitesine sahiptir. Ayrıca maksimum 16 MHz frekanslı harici osilatörü de destekler.

İletişim

USART (Universal Synchronous and Asynchronous Receiver Transmitter) aracılığıyla hem senkronize hem de asenkron veri aktarım şemaları, yani modemler ve diğer seri cihazlarla iletişim sağlar. Ayrıca, master-slave yöntemine dayalı olarak cihazlar arasında iletişim için kullanılan SPI'yi (Seri Çevre Birimi Arabirimi) destekler. Desteklenen diğer bir iletişim türü TWI'dir (İki telli Arayüz). Ortak bir toprak bağlantısı ile birlikte 2 kablo kullanarak herhangi iki cihaz arasında iletişim sağlar.

Ayrıca, analog karşılaştırıcının iki girişine harici yongalar aracılığıyla bağlanan iki voltaj arasında karşılaştırma sağlamak için çipe entegre bir karşılaştırma modülüne sahiptir.

Ayrıca 4'ü 10 bit doğruluğu ve 2'si 8 bit doğruluğu olan 6 kanallı bir ADC içerir.

Durum Kayıt : Halihazırda yürütülen aritmetik komut seti hakkında bilgi içerir.

ATmega Pin Şeması :

ATmega Pin Şeması

ATmega Pin Şeması

ATmega8'in önemli özelliklerinden biri de 5 pin dışında diğer tüm pinlerin iki sinyali desteklemesi.

  • 23,24,25,26,27,28 ve 1 pinleri C portu için kullanılırken, 9,10,14,15,16,17,18,19 pinleri B portu ve 2,3,4 pinleri kullanılır. 5,6,11,12 D bağlantı noktası için kullanılır.
  • Pin 1 aynı zamanda Sıfırlama pinidir ve minimum darbe uzunluğundan daha uzun bir süre için düşük seviyeli bir sinyal uygulamak bir sıfırlama oluşturacaktır.
  • Pim 2 ve 3, USART için seri iletişim için de kullanılır.
  • 4 ve 5 numaralı pinler harici kesintiler olarak kullanılır. Durum kaydının kesme bayrağı biti ayarlandığında bunlardan biri tetiklenecek ve diğeri, kesme koşulu devam ettiği sürece tetiklenecektir.
  • 9 ve 10 numaralı pinler harici osilatör olarak ve ayrıca kristalin pinler arasına doğrudan bağlandığı zamanlayıcı sayaç osilatörleri olarak kullanılır. Pin 10, kristal osilatör veya düşük frekanslı kristal osilatör için kullanılır. Dahili kalibre edilmiş RC osilatörü saat kaynağı olarak kullanılırsa ve asenkron zamanlayıcı etkinleştirilirse, bu pinler bir zamanlayıcı osilatör pimleri olarak kullanılabilir.
  • Pin 19, Ana Saat çıkışı, SPI kanalı için bağımlı saat girişi olarak kullanılır.
  • Pin 18, Master clock girişi, slave clock çıkışı olarak kullanılır.
  • Pin 17, Ana veri çıkışı, SPI kanalı için bağımlı veri girişi olarak kullanılır. Bir slave tarafından etkinleştirildiğinde bir giriş olarak kullanılır ve master tarafından etkinleştirildiğinde çift yönlüdür. Bu pin aynı zamanda zamanlayıcı / sayaç karşılaştırma eşleşmesi için harici bir çıkış görevi gören bir çıkış karşılaştırma eşleşme çıkışı olarak da kullanılabilir.
  • Pin16, bağımlı seçim girişi olarak kullanılır. PB2 pinini bir çıkış olarak yapılandırarak bir zamanlayıcı / sayaç1 karşılaştırma eşleşmesi olarak da kullanılabilir.
  • Pin15, zamanlayıcı / sayaç karşılaştırma eşleşmesi A için harici bir çıkış olarak kullanılabilir.
  • 23 ile 28 arasındaki pinler ADC kanalları için kullanılır. Pin 27, Seri arayüz saati olarak da kullanılabilir ve pin 28, seri arayüz verileri olarak kullanılabilir
  • 13 ve 12 numaralı pinler Analog Karşılaştırıcı girişleri olarak kullanılır.
  • 11 ve 6 numaralı pinler zamanlayıcı / sayaç kaynakları olarak kullanılır.

Mikrodenetleyici Uyku Modları

Mikrodenetleyici 6 uyku modunda çalışır.

  • Bekleme modu: CPU'nun çalışmasını durdurur ancak SPI, USART, ADC, TWI, Timer / Counter ve Watchdog'un çalışmasına izin verir ve sistemi keser. MCU kayıt bayrağının SM0 - SM2 bitlerinin sıfıra ayarlanmasıyla elde edilir.
  • ADC Gürültü Azaltma Modu : CPU'yu durdurur ancak ADC'nin, harici kesintilerin, timer / counter2 ve watchdog'un çalışmasına izin verir.
  • Güç Kapatma Modu : Harici osilatörü devre dışı bırakırken harici kesintileri, 2 kablolu seri arabirimi, bekçi uygulamasını etkinleştirir. Üretilen tüm saatleri durdurur.
  • Güç tasarrufu modu : Zamanlayıcı / Sayaç saat uyumsuz olarak saatlendiğinde kullanılır. Clk hariç tüm saatleri durdururASY.
  • Bekleme modu : Bu modda, osilatörün diğer tüm işlemleri durdurarak çalışmasına izin verilir.

Atmega8'i İçeren Uygulamalar

Yanıp sönen LED

Atmega8 içeren uygulamalar

Yanıp Sönen LEd Şeması

Program C dili kullanılarak yazılır ve önce .c dosyası olarak derlenir. ATMEL yazılım aracı, bu dosyayı ikili bir ELF nesne dosyasına dönüştürecektir. Daha sonra tekrar hex dosyasına dönüştürülür. Hex dosyası daha sonra AVR dude programı kullanılarak mikro denetleyiciye aktarılır.

Fotoğraf kredisi: