Pengantar Arsitektur Mikrokontroler LPC2148 Berbasis ARM7

Coba Instrumen Kami Untuk Menghilangkan Masalah





ARM (Advanced RISC Machine) telah meluncurkan beberapa prosesor yang memiliki fitur berbeda serta inti berbeda untuk berbagai macam aplikasi. Rancangan arsitektur ARM yang pertama memiliki prosesor 26-bit, namun sekarang sudah mencapai prosesor 64-bit. Perluasan umum produk ARM tidak dapat dikategorikan menjadi beberapa informasi tertentu. Namun produk ARM dapat dipahami berdasarkan arsitekturnya. Prosesor seri ARM standar yang tersedia di pasaran mulai dari ARM7 hingga ARM11. Prosesor ini memiliki beberapa fitur seperti cache, memori Data Tightly Coupled, MPU, MMU, dll. Beberapa seri prosesor ARM yang terkenal adalah ARM926EJ-S, ARM7TDMI, dan ARM11 MPCore. Artikel ini secara khusus ditujukan untuk ikhtisar arsitektur mikrokontroler LPC2148 berbasis ARM7 yang akan memberi Anda informasi singkat tentang mikrokontroler Arsitektur.

Arsitektur Mikrokontroler LPC2148 berbasis ARM7

ARM7 adalah serbaguna 32-bit mikroprosesor , dan menawarkan beberapa fitur seperti penggunaan daya yang kecil, dan kinerja tinggi. Arsitektur ARM bergantung pada prinsip RISC . Mekanisme dekode terkait, serta set instruksi RISC- jauh lebih mudah jika kita membandingkannya CISC terprogram Komputer Instruksi -Complex Set.




Metode Pipeline digunakan untuk memproses semua blok dalam arsitektur. Secara umum, satu set instruksi dilakukan, kemudian turunannya sedang diterjemahkan, & a 3rd-instruksi sedang diperoleh dari memori.

Eksklusif denah arsitektur ARM7 disebut sebagai Thumb, dan sangat cocok untuk aplikasi volume tinggi di mana kekompakan kode menjadi masalah. ARM7 juga menggunakan arsitektur eksklusif yaitu Thumb. Itu membuatnya sangat cocok untuk aplikasi yang berbeda dengan batasan memori di mana kepadatan kode adalah masalah.



Arsitektur Mikrokontroler Berbasis ARM7 (LPC2148)

Arsitektur Mikrokontroler Berbasis ARM7 (LPC2148)

Sumber interupsi

Setiap perangkat periferal terdiri dari satu baris interupsi yang digabungkan dengan VIC (pengontrol interupsi vektor), meskipun dapat memiliki berbagai flag interupsi di dalamnya. Bendera interupsi individu juga dapat menandakan satu atau lebih sumber daya interupsi.


Memori Program Flash On-chip

Mikrokontroler LPC2141 / 42/44/46/48 mencakup memori flash seperti 32-kilobyte, kilobyte, 128-kilobyte, 256-kilobyte masing-masing. Memori flash ini dapat digunakan untuk penyimpanan data maupun kode. Pemrograman memori flash dapat dilakukan di sistem melalui port serial.

Aplikasi program juga dapat menghapus saat aplikasi program berjalan, memungkinkan fleksibilitas perbaikan firmware bidang penyimpanan data, dll. Karena pemilihan solusi arsitektur untuk bootloader on-chip, memori yang tersedia untuk mikrokontroler LPC2141 / 42 / 44/46/48 adalah 32-kilobyte, kilobyte, 128-kilobyte, 256-kilobyte, & 500-kilobyte. Memori flash mikrokontroler ini menawarkan 1, 00.000 penghapusan per siklus dan penyimpanan data selama bertahun-tahun.

Pin Connect Block

Blok ini mengizinkan pemilihan pin mikrokontroler LPC2148 berbasis ARM7 karena memiliki beberapa fungsi. Multiplexer dapat dikontrol oleh register konfigurasi untuk memungkinkan hubungan antara pin serta periferal on-chip.

Periferal harus digabungkan dengan pin yang sesuai sebelum dipicu, dan sebelum interupsi yang terhubung diizinkan. Fungsionalitas mikrokontroler dapat ditentukan oleh modul kontrol pin dengan pemilihan pin registernya di lingkungan perangkat keras tertentu.

Setelah mengatur ulang semua pin port (port 0 & port 1) diatur sebagai i / p oleh pengecualian yang diberikan. Jika debug diperbolehkan

Jika debug diizinkan, pin JTAG akan menebak fungsionalitas JTAG. Jika jejak diperbolehkan, maka pin Jejak akan menebak fungsionalitas jejak. Pin yang terhubung ke pin I2C0 dan I2C1 adalah open drain.

GPIO- Tujuan Umum Paralel Input / output

Register GPIO mengontrol pin perangkat yang tidak terhubung ke fungsi periferal tertentu. Pin perangkat dapat diatur sebagai i / p [s atau o / ps. Register individu memungkinkan untuk menghapus sejumlah output daya secara bersamaan. Nilai register keluaran dapat dibaca kembali, & kondisi pin port saat ini. Mikrokontroler ini memulai fungsi yang dipercepat melalui perangkat LPC200.

Register input / output tujuan umum dipindahkan ke bus prosesor yang digunakan untuk kemungkinan waktu I / O terbaik.

  • Register ini adalah byte yang dapat dialamatkan.
  • Nilai total port bisa
  • Nilai lengkap port dapat ditulis dalam satu-satunya instruksi

ADC 10-bit (Pengonversi Analog ke Digital)

Mikrokontroler seperti LPC2141 atau 42 menyertakan dua Pengonversi ADC , dan ini hanya 10-bit yang memiliki satu & LPC2144 / 46/48 memiliki dua ADC, dan ini hanya ADC perkiraan lurus 10-bit. Meskipun ADC0 memiliki 6 saluran dan ADC1 memiliki 8 saluran. Jadi, jumlah ADC i / ps yang dapat diakses untuk LPC2141 atau 42 adalah 6 & 14 untuk LPC2141 atau 42.

10-bit DAC (Digital ke Analog Converter)

DAC memungkinkan mikrokontroler ini menghasilkan output daya analog dan V yang dapat diubahREFadalah hasil maksimal dari a digital ke analog tegangan.

Pengontrol Perangkat-USB 2.0

Bus serial universal terdiri dari 4 kabel, dan memberikan dukungan untuk komunikasi antara sejumlah periferal dan host. Pengontrol ini memungkinkan bandwidth USB untuk menghubungkan perangkat menggunakan protokol berdasarkan token.

Bus mendukung pencabutan hot plugging dan pengumpulan dinamis dari perangkat. Setiap komunikasi dimulai melalui pengontrol-host. Mikrokontroler ini dirancang dengan pengontrol peralatan bus serial universal yang memungkinkan data 12 Mbit / detik diganti dengan pengontrol host USB.

UART

Mikrokontroler ini mencakup dua UART untuk transmisi standar & dapatkan jalur data. Dibandingkan dengan mikrokontroler sebelumnya (LPC2000), UART di mikrokontroler LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 memulai generator baud rate parsial yang digunakan untuk kedua UART, memungkinkan jenis mikrokontroler ini mencapai kecepatan baud tipikal seperti 115200 dengan setiap frekuensi kristal di atas 2 MHz . Selain itu, fungsi kontrol seperti CTS / RTS sepenuhnya dijalankan di perangkat keras.

Pengontrol I / O Serial dari I2C-bus

Setiap mikrokontroler dari LPC2141 / LPC2142 / LPC2144 / LPC2146 / LPC2148 termasuk dua I2C pengendali bus, dan ini dua arah. Kontrol antar IC dapat dilakukan dengan bantuan dua kabel yaitu SCL dan SDA. Di sini SDA & SCL adalah jalur jam serial dan jalur data serial

Setiap peralatan diidentifikasi dengan alamat individu. Di sini, pemancar dan penerima dapat bekerja dalam dua mode seperti mode master / mode slave. Ini adalah bus multi-master, dan dapat dikelola oleh satu atau lebih master bus yang terhubung dengannya. Mikrokontroler ini mendukung bit rate hingga-400 kbit / s.

Pengontrol Input / Output Serial SPI

Mikrokontroler ini menyertakan satu pengontrol SPI dan dimaksudkan untuk menangani banyak master & budak yang terkait dengan bus tertentu.

Cukup seorang master & seorang budak dapat berkomunikasi melalui antarmuka melalui transmisi data yang ditentukan. Selama ini, master terus-menerus mentransmisikan satu byte-of-data ke slave, serta slave terus-menerus mengirimkan data ke master.

Pengontrol Input / Output Serial SSP

Mikrokontroler ini berisi SSP tunggal, dan pengontrol ini mampu memproses pada SPI, bus Microwire, atau SSI 4 kabel. Itu dapat berkomunikasi dengan bus dari beberapa tuan serta budak

Tapi, hanya master tertentu, serta budak, dapat berkomunikasi di bus melalui transmisi data tertentu. Mikrokontroler ini mendukung transfer full-duplex, dengan frame data 4-16 bit yang digunakan untuk aliran data dari master- slave maupun dari slave-master.

Pengatur Waktu / Penghitung

Pengatur waktu dan penghitung dirancang untuk menghitung siklus PCLK (jam periferal) & secara opsional menghasilkan interupsi berdasarkan register 4-pertandingan.

Dan itu terdiri dari empat menangkap i / ps untuk menangkap nilai pengatur waktu ketika sinyal i / p berubah. Beberapa pin dapat dipilih untuk melakukan penangkapan tertentu. Mikrokontroler ini dapat menghitung peristiwa eksterior pada input penangkapan jika pulsa eksterior paling sedikit setara. Dalam pengaturan ini, garis penangkapan idle dapat dipilih sebagai timer capture biasa i / ps.

Timer Pengawas

Pengatur waktu pengawas digunakan untuk mengatur ulang mikrokontroler dalam jumlah waktu yang wajar. Jika diijinkan maka timer akan menghasilkan reset sistem jika program konsumen tidak berhasil memuat ulang timer dalam jumlah waktu yang tetap.

RTC-Jam Waktu Nyata

RTC dimaksudkan untuk menyediakan penghitung untuk menghitung waktu ketika metode operasi normal atau idle dipilih. RTC menggunakan sedikit daya dan dirancang untuk pengaturan yang digerakkan oleh daya baterai yang sesuai di mana unit pemrosesan pusat tidak berfungsi terus-menerus

Kontrol Daya

Mikrokontroler ini mendukung dua mode daya kental seperti mode power-down dan mode idle. Dalam mode Idle, eksekusi instruksi diseimbangkan sampai terjadi interupsi atau RST. Fungsi operasi pemeliharaan periferal selama mode siaga & dapat menghasilkan interupsi yang menyebabkan CPU memulai ulang penyelesaian. Mode diam menghilangkan daya yang digunakan oleh CPU, pengontrol, sistem memori, dan bus dalam.

Dalam mode daya mati, osilator dinonaktifkan dan IC tidak mendapat jam bagian dalam. Register periferal, kondisi prosesor dengan register, nilai SRAM dalam dipertahankan selama mode Power-down & pin output level logika chip tetap terpasang.

Mode ini dapat diselesaikan dan proses umum dimulai ulang oleh interupsi tertentu yang mampu bekerja tanpa jam. Karena operasi chip seimbang, mode Power-down mengurangi penggunaan daya chip hingga hampir nol.

PWM -Modulator Lebar Pulsa

PWM didasarkan pada timer-block normal & juga masuk ke semua fitur, meskipun hanya fungsi modulator lebar pulsa yang diperbaiki pada mikrokontroler seperti LPC2141 / 42/44/46/48.

Timer dimaksudkan untuk menghitung siklus PCLK (jam periferal) & secara opsional menghasilkan interupsi ketika nilai timer tertentu muncul berdasarkan register 7-pertandingan, dan fungsi PWM juga bergantung pada kejadian register pertandingan.

Kemampuan untuk mengontrol kenaikan & penurunan posisi batas secara individual memungkinkan modulasi lebar pulsa digunakan untuk beberapa aplikasi. Misalnya, kontrol motor tipikal dengan multi-fase menggunakan output PWM 3-non-tumpang tindih dengan kontrol terpisah dari setiap lebar pulsa serta posisi.

VPB Bus

Pembagi VPB menyelesaikan hubungan antara CCLK (jam prosesor) dan PCLK (jam yang digunakan oleh perangkat periferal). Pembatas ini digunakan untuk dua tujuan. Penggunaan pertama adalah untuk memasok periferal oleh PCLK yang disukai menggunakan bus VPB sehingga dapat bekerja pada kecepatan prosesor ARM yang dipilih. Untuk mencapai ini, kecepatan bus ini dapat mengurangi laju clock prosesor dari 1⁄ 2 -1⁄4.

Karena bus ini harus bekerja secara akurat saat power-up, dan status default pada RST (reset) adalah bus bekerja pada 1⁄4 dari kecepatan clock prosesor. Kegunaan kedua dari ini adalah untuk memungkinkan penghematan daya setiap kali aplikasi tidak memerlukan periferal apa pun untuk bekerja pada kecepatan prosesor yang lengkap. Karena pembagi VPB dikaitkan dengan output PLL, ini tetap aktif selama mode siaga.

Emulasi & Debugging

Mikrokontroler (LPC2141 / 42/44/46/48) menahan emulasi & debugging melalui port serial-JTAG. Izin pelacakan-port melacak eksekusi program. Fungsi pelacakan & konsep debugging digandakan dengan port1 dan GPIO.

Keamanan Kode

Fitur keamanan kode dari mikrokontroler LPC2141 / 42/44/46/48 ini memungkinkan fungsi untuk mengontrol apakah itu dapat dilindungi atau di-debug dari inspeksi.

Jadi, ini semua tentang arsitektur mikrokontroler LPC2148 berbasis ARM7. Dari artikel di atas, akhirnya kita dapat menyimpulkan bahwa ARM adalah arsitektur yang digunakan di banyak prosesor dan juga mikrokontroler. Ini pertanyaan untuk Anda, apa arsitektur prosesor ARM?