1. Trang chủ
  2. » Thể loại khác

COMPUTER SYSTEM - Phuong-Giang Nguyen ď Chuong 10 ARM

27 101 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 27
Dung lượng 1,46 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Cấu trúc ARM viết tắt từ tên gốc là Advanced RISC Machine là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng.. Chúng có đặc điểm tiết

Trang 1

Chương 10 VI ĐIỀU KHIỂN ARM

NỘI DUNG:

– Giới thiệu chung về họ vi điều khiển ARM

– Cấu trúc bên trong

– Mô phỏng trên phần mềm

– Thí dụ trên board SAM7S256-Amtel

22/01/2017

Trang 2

Cấu trúc ARM (viết tắt từ tên gốc là Advanced RISC Machine) là một loại cấu trúc vi xử lý 32 bit và 64 bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng Chúng có đặc điểm tiết kiệm năng lượng, vì vậy các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động.

Các đặc tính của ARM bao gồm:

Trang 3

ĐẶC ĐiỂM HỌ VI ĐiỀU KHIỂN ARM

• Là vi điều khiển tiên tiến xử lý 32 bít

• Được sử dụng rộng rãi trên các điện thoại

Trang 4

ĐẶC ĐiỂM HỌ VI ĐiỀU KHIỂN ARM

• Cơ chế pipeline:

Trang 5

CẤU TRÚC BÊN TRONG

• Gồm 15 thanh ghi

32 bít:

22/01/2017

Trang 6

CẤU TRÚC BÊN TRONG

• Hỗ trợ xử lý 2 kiểu tập lệnh

• Tập lệnh ARM 32 bít

• Tập lệnh Thumb 16 bít

Trang 7

CẤU TRÚC BÊN TRONG

• Ưu điểm của tập lệnh thunb

– Tập lệnh THUMB cho giá trị kết quả thấp hơn tập lệnh ARM nhưng mà các kết quả này

chiếm một tỷ lệ lớn hơn

– Tập lệnh THUMB tiết kiệm được không gian nhớ 30% và chạy nhanh hơn 40% so với tập lệnh ARM.

– Tập lệnh THUMB không có điều kiện thực thi trừ các lệnh rẽ nhánh

22/01/2017

Trang 8

CẤU TRÚC BÊN TRONG

• Khi sử dụng tập lệnh thumb các thanh ghi cao

từ R8-R12 bị giới hạn truy cập:

Trang 9

CẤU TRÚC BÊN TRONG

• Cách viết chương trình C với tập lệnh ARM và tập

unsigned long i,delay;

for (i = 0x00010000;i < 0x01000000 ;i = i<<1){

for (delay = 0;delay<0x000100000;delay++){} //tạo vòng lặp

IOSET1 = i; //chuyển đến led tiếp theo

22/01/2017

Trang 10

CẤU TRÚC BÊN TRONG

• Cách viết chương trình C với tập lệnh

Trang 12

MEMORY ACELARATER MODULE

(MAM)

• Là bộ nhớ nằm giữa bộ nhớ Flash và CPU ARM, có tốc độ thực thi cao:

Trang 13

MEMORY ACELARATER MODULE

(MAM)

• MAM được tạo ra như là một cache đầy

đủ cho phép CPU dễ dàng truy cập trực tiếp vào FLASH:

22/01/2017

Trang 14

MEMORY ACELARATER MODULE

(MAM)

• #include "LPC21xx.h"

• void ChangeGPIOPinState(unsigned int state);

• int main(void){

• unsigned int delay,val;

• unsigned int FLASHer = 0x00010000; // Khai báo cục bộ

• IODIR0 = 0x00FF0000; // Thiết lập các chân ra

• ChangeGPIOPinState(FLASHer); //Đổi trạng thái các chân ra ở cổng

• FLASHer = FLASHer <<1; //Dịch đến đèn led tiếp

• if(FLASHer&0x01000000) {

• FLASHer = 0x00010000; //Lặp lại đèn đầu tiên

Trang 15

PLL- Phase Locked Loop

• Tạo ra một tần số dao động ngoài từ

độ thực thi để duy trì nguồn năng lượng

khi ở trạng thái rảnh rỗi

22/01/2017

Trang 16

PLL- Phase Locked Loop

Trang 17

PLL- Phase Locked Loop

Trang 18

PLL- Phase Locked Loop

• Khi cập nhật giá trị thanh ghi PLLCON và PLLCFG thì phải ghi liên tiếp hai giá trị

0x000000AA và 0x00000055 cho thanh

ghi PLLFEED trong các chu kỳ liên tiếp

• Để cài đặt PLL phải ghi các giá trị cho P

và M tới thanh ghi PLLCFG, sau đó set D0 của thanh ghi PLLCON để cho phép PLL

Trang 19

PLL- Phase Locked Loop

• Thanh ghi PLLCFG:

22/01/2017

Trang 20

PLL- Phase Locked Loop

• Thuật toán khởi động PLL

Trang 21

Bộ chia tần (VLSI Peripheral Bus

Trang 22

while (!(PLLSTAT & 0x00000400)); // kiểm tra bít Lock

PLLCON = 0x00000003; // Kết nối tới PLL

Trang 23

KHỐI ĐA CHỨC NĂNG

22/01/2017

Trang 24

THÍ DỤ CẤU HÌNH PINSEL CHO

Trang 26

KIT AT91SAM7S256

Trang 27

KIT AT91SAM7S256

22/01/2017

Ngày đăng: 11/12/2017, 18:37

TỪ KHÓA LIÊN QUAN