ARM7 Tabanlı LPC2148 Mikrodenetleyici Mimarisine Giriş

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





ARM (Gelişmiş RISC Makinesi), farklı özelliklere ve çok çeşitli uygulamalar için farklı çekirdeklere sahip birkaç işlemciyi piyasaya sürdü. İlk ARM mimari tasarımında 26 bit işlemciler var, ancak şimdi 64 bit işlemcilere ulaştı. ARM ürünlerinin genel genişlemesi, bazı özel bilgilerde kategorize edilemez. Ancak ARM ürünleri, mimarisine göre anlaşılabilir. Piyasada bulunan standart ARM serisi işlemciler, ARM7'den ARM11'e kadar başlıyor. Bu işlemciler, önbellek, Veri Sıkıca Bağlanmış bellek, MPU, MMU vb. Gibi çeşitli özelliklere sahiptir. Yaygın olarak bilinen ARM işlemci serilerinden bazıları ARM926EJ-S, ARM7TDMI ve ARM11 MPCore'dur. Bu makale özellikle size hakkında kısa bilgi verecek olan ARM7 tabanlı LPC2148 mikro denetleyici mimarisine genel bakış için hazırlanmıştır. mikrodenetleyici mimari.

ARM7 tabanlı LPC2148 Mikrodenetleyici Mimarisi

ARM7, 32 bitlik bir genel amaçlıdır mikroişlemci ve az güç kullanımı ve yüksek performans gibi bazı özellikler sunar. Bir ARM'nin mimarisi, RISC ilkeleri . İlişkili kod çözme mekanizmasının yanı sıra RISC talimatları seti, aşağıdakilerle karşılaştırdığımızda çok kolaydır. mikro programlanmış CISC -Karmaşık Komut Seti Bilgisayarları.




Pipeline yöntemi, mimarideki tüm blokları işlemek için kullanılır. Genel olarak, tek bir komut seti gerçekleştirilir, ardından onun soyundan gelen tercüme edilir ve bir 3rd-öğrenim bellekten elde edilmektedir.

Özel ARM7 mimari planı Thumb olarak adlandırılır ve kodun kompaktlığının önemli olduğu yüksek hacimli uygulamalar için mükemmel bir şekilde uygundur. ARM7 ayrıca Thumb adında özel bir mimari kullanır. Kod yoğunluğunun önemli olduğu bellek sınırlamaları ile farklı uygulamalar için mükemmel şekilde uygun hale getirir.



ARM7 Tabanlı Mikrodenetleyici (LPC2148) Mimarisi

ARM7 Tabanlı Mikrodenetleyici (LPC2148) Mimarisi

Kaynakları kes

Her çevresel aygıt, içinde çeşitli kesme bayraklarına sahip olabilmesine rağmen, VIC (vektör kesme denetleyicisi) ile bağlantılı tek bir kesme hattından oluşur. Ayrı kesme bayrakları ayrıca bir veya daha fazla kesinti kaynağını belirtebilir.


Çip üzerinde Flash Program Belleği

Mikrodenetleyici LPC2141 / 42/44/46/48, sırasıyla 32 kilobayt, kilobayt, 128 kilobayt, 256 kilobayt gibi bir flash bellek içerir. Bu flash bellek hem veri depolama hem de kod için kullanılabilir. Flash bellek programlaması sistemde seri port üzerinden yapılabilir.

Program uygulaması, programın uygulaması çalışırken veri depolama alanı sabit yazılım geliştirmelerinin esnekliğine izin vererek silebilir. Yonga üzerinde bir önyükleyici için mimari bir çözümün seçilmesi nedeniyle, mikro denetleyiciler için kullanılabilir bellek LPC2141 / 42 / 44/46/48, 32 kilobayt, kilobayt, 128 kilobayt, 256 kilobayt ve 500 kilobayt'tır. Bu mikro denetleyicilerin flash belleği, döngü başına 1, 00.000 silme ve uzun yıllar veri koruması sunar.

Pin Bağlantı Bloğu

Bu blok, birkaç işleve sahip olmak için ARM7 tabanlı LPC2148 mikro denetleyicinin seçilen pinlerine izin verir. Çoklayıcılar pim ve çip üstü çevre birimleri arasındaki bağlantıya izin vermek için konfigürasyon kayıtları tarafından kontrol edilebilir.

Çevre birimleri, tetiklenmeden önce ve izin verilen herhangi bir bağlı kesintiden önce uygun pimlerle birleştirilmelidir. Mikrodenetleyici işlevselliği, belirli bir donanım ortamında pin kayıt listesi tarafından pin kontrol modülü tarafından tanımlanabilir.

Tüm bağlantı noktalarını yeniden düzenledikten sonra (bağlantı noktası 0 ve bağlantı noktası 1), verilen istisnalara göre i / p olarak düzenlenir. Hata ayıklamaya izin veriliyorsa

Hata ayıklamaya izin verilirse, JTAG'ın pinleri JTAG'ın işlevselliğini tahmin edecektir. Bir izlemeye izin veriliyorsa, İzleme pimleri izlemenin işlevselliğini tahmin edecektir. I2C0 ve I2C1 pinlerine bağlı pinler açık tahliyedir.

GPIO - Genel Amaçlı Paralel Giriş / çıkış

GPIO kayıtları, belirli bir çevresel işlevle bağlantılı olmayan cihaz pinlerini kontrol eder. Cihaz pimleri i / p [s veya o / ps olarak düzenlenebilir. Ayrı kayıtlar, aynı anda herhangi bir sayıda o / p'nin silinmesine izin verir. Çıkış yazmacı değeri ve bağlantı noktası pinlerinin mevcut durumu geri okunabilir. Bu mikro denetleyiciler, LPC200 cihazları üzerinden hızlandırılmış bir işleve başlar.

Genel amaçlı giriş / çıkış yazmaçları, olası en iyi G / Ç süresi için kullanılan işlemci veriyoluna taşınır.

  • Bu kayıtlar adreslenebilir baytlardır.
  • Bir bağlantı noktasının toplam değeri olabilir
  • Bağlantı noktasının tam değeri tek talimatta yazılabilir

10-bit ADC (Analogdan Dijitale Dönüştürücü)

LPC2141 veya 42 gibi mikro denetleyiciler iki ADC dönüştürücüler ve bunlar sadece 10-bit bir tane var ve LPC2144 / 46/48 iki ADC'ye sahip ve bunlar sadece 10-bitlik düz yaklaşım ADC’ler. ADC0 6 kanallı ve ADC1 8 kanallı olmasına rağmen. Bu nedenle, LPC2141 veya 42 için erişilebilir ADC i / ps sayısı, LPC2141 veya 42 için 6 ve 14'tür.

10-bit DAC (Dijital - Analog Dönüştürücü)

DAC, bu mikro denetleyicilerin değiştirilebilir bir analog o / p ve V üretmesine izin verirREFen büyük çıktısı bir dijitalden analoğa Voltaj.

Aygıt Denetleyicisi-USB 2.0

Evrensel seri veri yolu 4 telden oluşur ve bu, birkaç çevre birimi ile ana bilgisayar arasındaki iletişim için destek sağlar. Bu denetleyici, token tabanlı bir protokol kullanarak cihazları bağlamak için USB bant genişliğine izin verir.

Veriyolu, cihazların çıkarılıp takılıp çıkarılmasını ve dinamik olarak toplanmasını destekler. Her iletişim, ana bilgisayar denetleyicisi aracılığıyla başlatılır. Bu mikro denetleyiciler, 12 Mbit / sn verinin USB ana denetleyicisiyle değiştirilmesine izin veren evrensel bir seri veri yolu aygıt denetleyicisi ile tasarlanmıştır.

UART'lar

Bu mikro denetleyiciler, standart iletim ve veri hatları almak için iki UART içerir. Daha önceki mikrodenetleyicilerin (LPC2000) aksine, mikro denetleyicilerdeki UART'lar LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148, her iki UART için kullanılan kısmi bir baud hızı üretecini başlatarak, 2 MHz üzerindeki her kristal frekansı ile 115200 gibi tipik baud hızlarına ulaşmak için bu tür mikro denetleyicilere izin verir. . Ek olarak, CTS / RTS gibi kontrol fonksiyonları tamamen donanımda yürütülür.

I2C-veriyolunun Seri I / O Denetleyicisi

LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148'den gelen her mikro denetleyici şunları içerir: iki I2C veri yolu denetleyicileri ve bu iki yönlüdür. IC'ler arası kontrol, SCL ve SDA olmak üzere iki telin yardımıyla yapılabilir. Burada SDA ve SCL, seri saat hattı ve seri veri hattıdır.

Her aygıt ayrı bir adresle tanımlanır. Burada, vericiler ve alıcılar ana mod / bağımlı mod gibi iki modda çalışabilir. Bu çoklu ana veriyoludur ve ona bağlı bir veya daha fazla veri yolu yöneticisi tarafından yönetilebilir. Bu mikro denetleyiciler 400 kbit / s'ye kadar bit hızlarını destekler.

SPI Seri Giriş / Çıkış Denetleyicisi

Bu mikro denetleyiciler, tek bir SPI denetleyicisi içerir ve belirli bir veri yolu ile ilişkili çok sayıda ana bilgisayarı ve bağımlıyı yönetmeyi amaçlamaktadır.

Basitçe bir master ve bir slave, belirtilen veri iletimi boyunca arayüz üzerinden iletişim kurabilir. Bu sırada, ana birim sürekli olarak veri baytını köleye doğru iletir ve ikincil birim sürekli olarak ana aygıta veri iletir.

SSP Seri Giriş / Çıkış Kontrolörü

Bu mikro denetleyiciler tek bir SSP içerir ve bu denetleyici bir SPI, Microwire veriyolu veya 4 telli SSI üzerinde işlem yapabilir. Slave'lerin yanı sıra birkaç yöneticinin veri yolu ile iletişim kurabilir

Ancak, sadece belirli bir ana birim ve bir bağımlı, belirli bir veri iletimi boyunca veri yolu üzerinde sohbet edebilir. Bu mikrodenetleyici, ana birimden-köle ve köle-ana bilgisayardan veri akışı için kullanılan 4-16 bitlik veri çerçeveleri ile tam çift yönlü transferleri destekler.

Zamanlayıcılar / Sayaçlar

Zamanlayıcılar ve sayaçlar PCLK (çevresel saat) döngülerini saymak ve isteğe bağlı olarak 4 maç kayıtlarına dayalı kesintiler üretmek için tasarlanmıştır.

Ve bir i / p sinyali değiştiğinde bir zamanlayıcının değerini yakalamak için dört yakalama i / ps içerir. Belirli bir yakalamayı gerçekleştirmek için birkaç pim seçilebilir. Bu mikro denetleyiciler, en az dış darbe eşdeğerse, yakalama girişleri üzerindeki dış olayları hesaplayabilir. Bu düzenlemede, boşta yakalama hatları olağan zamanlayıcı yakalama i / ps olarak seçilebilir.

Watchdog Zamanlayıcı

Bekçi uygulaması zamanlayıcısı, mikro denetleyiciyi makul bir sürede sıfırlamak için kullanılır. İzin verildiğinde, tüketici programı sabit bir süre içinde zamanlayıcıyı yeniden yüklemeyi başaramazsa, zamanlayıcı bir sistemin sıfırlanmasını sağlayacaktır.

RTC-Gerçek Zamanlı Saat

RTC, boşta veya normal çalışma yöntemi seçildiğinde zamanı hesaplamak için sayaçlar sağlamaya yöneliktir. RTC, az miktarda güç kullanır ve merkezi işlem biriminin sürekli çalışmadığı durumlarda pil gücüyle çalışan uygun düzenlemeler için tasarlanmıştır.

Güç kontrolü

Bu mikro denetleyiciler, güç kapatma modu ve boşta modu gibi iki yoğunlaştırılmış güç modunu destekler. Bekleme modunda, komutların yürütülmesi bir kesinti veya RST meydana gelene kadar dengelenir. Çevresel birimin işlevleri boş mod boyunca çalışmayı sürdürür ve CPU'nun bitirmeyi yeniden başlatmasına neden olan kesintilere neden olabilir. Boşta modu, CPU, denetleyiciler, bellek sistemleri ve iç veri yolları tarafından kullanılan gücü ortadan kaldırır.

Güç kapatma modunda, osilatör devre dışı bırakılır ve IC hiçbir iç saat almaz. Çevresel kayıtlar, kaydedicili işlemci durumu, iç SRAM değerleri, Güç kapama modu sırasında korunur ve yonga mantık seviyeleri çıkış pinleri sabit kalır.

Bu mod bitirilebilir ve ortak süreç saat olmadan çalışabilen belirli kesintilerle yeniden başlatılabilir. Çip çalışması dengeli olduğundan, Güç azaltma modu, yonga gücü kullanımını neredeyse sıfıra indirir.

PWM - Darbe Genişliği Modülatörü

PWM'ler normal zamanlayıcı bloğuna dayalıdır ve aynı zamanda tüm özelliklere sahiptir, ancak basitçe darbe genişlik modülatörü işlevi LPC2141 / 42/44/46/48 gibi mikro denetleyicilerde sabitlenmiştir.

Zamanlayıcının PCLK (çevresel saat) döngülerini hesaplaması ve isteğe bağlı olarak 7-maç kayıtlarına bağlı olarak belirli zamanlayıcı değerleri ortaya çıktığında kesintiler üretmesi ve PWM işlevi de maç kaydı olaylarına bağlı olması amaçlanmıştır.

Sınır konumlarını artırma ve azaltma ayrı ayrı kontrol etme yeteneği, darbe genişlik modülasyonunun çeşitli uygulamalar için kullanılmasına izin verir. Örneğin, çok fazlı tipik motor kontrolü, pozisyonların yanı sıra her darbe genişliğinin ayrı kontrolü ile PWM'nin 3 üst üste binmeyen çıkışlarını kullanır.

VPB Otobüs

VPB bölücü, CCLK (işlemci saati) ve PCLK (çevresel aygıtlar tarafından kullanılan saat) arasındaki ilişkiyi çözer. Bu bölücü iki amaç için kullanılır. İlk kullanım, çevre birimlerini, ARM işlemcinin seçilen hızında çalışabilmeleri için VPB veriyolu kullanarak tercih edilen PCLK tarafından sağlamaktır. Bunu başarmak için, bu veri yolu hızı işlemcinin saat hızını 1⁄ 2 -1⁄ 4'ten düşürülebilir.

Çünkü bu veri yolu açılışta doğru çalışmalıdır ve RST'deki (sıfırlama) varsayılan durum, veri yolunun işlemci saat hızının 1⁄4'ünde çalışması içindir. Bunun ikinci kullanımı, bir uygulama tam işlemci hızında çalışmak için herhangi bir çevre birimine ihtiyaç duymadığında güç tasarrufuna izin vermektir. VPB bölücü PLL çıkışı ile ilişkili olduğundan, bu boş mod boyunca aktif kalır.

Öykünme ve Hata Ayıklama

Mikrodenetleyici (LPC2141 / 42/44/46/48), seri port-JTAG üzerinden öykünme ve hata ayıklama tutar. Bir izleme portu, programın yürütülmesini izlemeye izin verir. İzleme işlevleri ve hata ayıklama kavramları, port1 ve GPIO'larla çoklanır.

Kod Güvenliği

Bu mikro denetleyicilerin kod güvenlik özelliği LPC2141 / 42/44/46/48, bir işleve, denetlemeden korunup korunamayacağını veya hata ayıklanıp ayıklanmayacağını kontrol etme olanağı sağlar.

Dolayısıyla, bu tamamen ARM7 tabanlı LPC2148 mikro denetleyici mimarisiyle ilgilidir. Son olarak yukarıdaki makaleden, ARM'nin çok sayıda işlemcide ve mikro denetleyicide kullanılan bir mimari olduğu sonucuna varabiliriz. İşte size bir soru, bir ARM işlemcinin mimarisi nedir?