1. Trang chủ
  2. » Giáo Dục - Đào Tạo

3 3 VI điều KHIỂN họ RAM

45 331 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 45
Dung lượng 2,11 MB

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

Nội dung

Vi điều khiển họ ARM• Kiến trúc tổng quan lõi vi xử lý ARM • Kiến trúc vi điều khiển lõi ARM920T S3C2440 • Lập trình ứng dụng trên hệ điều hành Linux nhúng... Kiến trúc tổng quan lõi vi

Trang 1

3.3 Vi điều khiển họ ARM

• Kiến trúc tổng quan lõi vi xử lý ARM

• Kiến trúc vi điều khiển lõi ARM920T (S3C2440)

• Lập trình ứng dụng trên hệ điều hành Linux nhúng

Trang 2

Kiến trúc tổng quan lõi vi xử lý ARM

• ARM là dòng vi xử lý 32 bit được thiết kế theo kiến trúc tập lệnh RISC (Reduced Instruction Set Computer)

• ARM viết tắt của

• Advanced RISC Machine

• Acorn RISC Machine

• ARM là kiến trúc được sử dụng rộng rãi trong các hệ thống nhúng: Mobile phones, PDAs, thiết bị điện tử gia dụng…

2

Trang 3

Kiến trúc tổng quan vi xử lý lõi ARM

• Kế thừa các đặc điểm của kiến trúc tập lệnh RISC

• Số lượng thanh ghi lớn và có kích thước giống nhau

• Tập lệnh load/store, không cho phép các thao tác xử lý dữ liệu trực tiếp trên

bộ nhớ

• Chế độ địa chỉ đơn giản (ít chế độ địa chỉ hơn kiến trúc CISC)

• Phát triển các đặc trưng mới của ARM

• Các lệnh có kết hợp với lệnh dịch hoặc các lệnh logic

• Chế độ địa chỉ tự động tăng-giảm để tối ưu hóa các vòng lặp

• Nạp và lưu (load/store) nhiều lệnh cùng lúc cho phép nâng cao thông lượng

Trang 4

Kiến trúc tổng quan lõi vi xử lý ARM

4

Kiến trúc các dòng ARM

Trang 5

• Thumb Instruction Set: tập lệnh 16 bit cho phép tăng mật độ lệnh

• Jazelle: công nghệ cho phép tăng tốc các ứng dụng viết bằng Java

• SIMD, NEON: công nghệ nâng cao hiệu năng cho các ứng dụng Video/Audio

• TrustZone: công nghệ nâng cao tính bảo mật

Công nghệ đặc trưng

Trang 6

So sánh hiệu năng các dòng ARM

6

Phân nhóm theo hiệu năng và tính hữu dụng

Trang 7

Kiến trúc tổng quan vi xử lý lõi ARM

• ARM được rất nhiều hãng phát triển và sản xuất, ở Việt Nam phổ biến chip ARM của các hãng

• ATMEL: AT91SAM7, AT91SAM9…

• NXP: LPC2138, LPC2148, LPC2300…

• TI (Texas Instrument): TMS470, TMS570…

• SAMSUNG: S3C2440

• …

Trang 8

Kiến trúc vi điều khiển S3C2440

• Đặc điểm của chip S3C2440

• Core:

• ARM920T core , 16 Kbytes Data Cache, 16 Kbytes Instruction cache

• Xung nhịp tối đa: 400 MHz

• Memories

• Giao diện bus AMBA (Advanced Micro controller Bus Architecture)

• 4 KByte SRAM nội

8

Trang 9

Lõi vi xử lý ARM920T

Trang 10

Kiến trúc vi điều khiển S3C2440

• Đặc điểm của chip S3C2440 (tiếp)

• Multimedia Card Interface

• ADC 10 bit 8 kênh

• Giao tiếp cảm biến ảnh (Image Sensor)

• Điều khiển LCD

• Điều khiển AC97 audio codec

10

Trang 11

Kiến trúc vi điều khiển S3C2440

• Đặc điểm của chip S3C2440(tiếp)

• Hệ thống

• 4 kênh DMA (Direct Memory Access)

• Boot hệ thống từ NOR Flash, NAND Flash, SDCard, Ethernet

• Bộ điều khiển ngắt nâng cao AIC(Advanced Interrupt Controller)

• Vào ra

• 130 chân vào ra lập trình được

Trang 13

Tập thanh ghi và chế độ hoạt động

Trang 14

Thanh ghi trạng thái chương trình

14

Các cờ kết quả hoạt động của ALU

Điều khiển cho phép/cấm ngắt

Thiết lập chế độ hoạt động

Trang 15

Mode bits

Trang 16

Tập lệnh của S3C2440

• Tập lệnh ARM chia thành các nhóm lệnh

• Lệnh rẽ nhánh (Branch)

• Lệnh xử lý dữ liệu (Data Processing)

• Trao đổi thanh ghi trạng thái (Status Register Transfer)

• Nạp và lưu (Load and Store)

• Phát sinh ngoại lệ (Exception-Generating)

Trang 17

Bản đồ bộ nhớ

• Bus địa chỉ 32 bit

• Địa chỉ bắt đầu: 0x00000000

• Địa chỉ kết thúc: 0x40000000

• Chia thành nhiều bank nhớ, mỗi bank 128 MB, tổng không gian bộ nhớ 1GB

• 6 bank nhớ cho ROM, SRAM

• 2 bank nhớ cho ROM, SRAM, SDRAM, ….

• Hỗ trợ cả hai kiểu lưu trữ: little endian, big endian

Trang 18

18

Trang 20

Giới thiệu KIT nhúng mini2440

20

Trang 21

Giới thiệu KIT nhúng mini2440

Trang 22

Giới thiệu KIT nhúng mini2440

• Thông số kỹ thuật

22

Trang 23

Giới thiệu KIT nhúng mini2440

Trang 24

Môi trường phát triển ứng dụng

Trang 25

Môi trường phát triển ứng dụng

Trang 26

• Chạy chương trình trên nền hệ điều hành Linux nhúng

• Trên KIT cài TFTP client

• Trên máy phát triển, cài TFTP server

• Trên KIT dùng lệnh TFTP để download chương trình

26

Trang 28

Thảo luận

Trang 29

Lập trình ứng dụng trên Linux

• Cài đặt môi trường phát triển

• Xây dựng chương trình HelloWorld

• Lập trình vào ra căn bản

• Lập trình xử lý ngắt

• Lập trình giao tiếp cổng COM

• Lập trình ứng dụng đồ họa

Trang 30

Cài đặt môi trường phát triển

• Môi trường phát triển

• Hệ điều hành Linux (Ubuntu 9.04)

• Trình biên dịch chéo: ARM Linux GCC 4.3.2

Trang 31

Xây dựng chương trình Hello World

Bước 1: viết code chương trình

Bước 2: dịch chương trình

-Cách 1: dùng lệnh make

-Cách 2: dùng lệnh tường minh

arm-linux-gcc –o OutputFile Source.c

Bước 3: dùng tftp download chương trình xuống dưới KIT

tftp –l localfile –r remotefile –g ServerIP

Trang 32

Lập trình giao tiếp cổng COM

• Khởi tạo: Khai báo thư viện

Trang 33

Khai báo thư viện

• #include <stdio.h>

• #include <stdlib.h>

• #include <string.h>

• #include <unistd.h> // UNIX standard function

• #include <fcntl.h> // File control definitions

• #include <errno.h> // Error number definitions

• #include <termios.h> // POSIX terminal control

Trang 34

Bước 1: Mở cổng

• Sử dụng lệnh mở file

int fd = open ("/dev/ttyUSB0", O_RDWR);

• Fd >0 nếu mở file thành công

• Fd<0 nếu mở file thất bại

34

Trang 35

Bước 2: Thiết lập tham số

port_settings.c_cflag &= ~PARENB;

port_settings.c_cflag &= ~CSTOPB;

port_settings.c_cflag &= ~CSIZE;

port_settings.c_cflag |= CS8;

Trang 36

Bước 3: Đọc, ghi cổng

• Đọc cổng: sử dụng lệnh đọc file

n=read(fd,&result,sizeof(result));

N: số ký tự đọc được

Result: chứa kết quả

• Ghi cổng: sử dụng lệnh ghi file

n=write(fd,“Hello World\r",12);

N:số ký tự đã ghi

Fd: file id (có được từ thao tác mở file thành công)

36

Trang 38

Lập trình ứng dụng đồ họa

• Sử dụng nền tảng QT của Nokia

• Ứng dụng đa nền: Desktop, mobile, embedded computer

• Viết code 1 lần duy nhất, chạy trên nhiều nền tảng khác nhau

• Sử dụng ngôn ngữ C/C++

• Hỗ trợ các nền tảng: Windows, Linux, Embedded Linux, Win CE, Symbian, Maemo…

• Có thể tích hợp với các IDE thông dụng: Visual Studio, Eclipse

• Tham khảo: qt.nokia.com; qtcentre.org

38

Trang 39

Ứng dụng QT

Trang 40

Kiến trúc QT SDK

40

Trang 41

Cơ chế Signals and Slot của QT

• Signals: tương tự Event

• Slot: tương tự Event Handler

connect(sender, SIGNAL(signal), receiver, SLOT(slot));

VD: đồng bộ hai điều khiển trên QT

Trang 42

Môi trường phát triển

• IDE

1) QT Creator

2) Tích hợp vào Visual Studio, Eclipse

• Chương trình dịch: qmake

1) Qmake for Windows

2) Qmake for Linux

3) Qmake for Embedded Linux

42

Trang 43

QT Creator

Trang 44

Demo

Trang 45

Thảo luận

Ngày đăng: 13/11/2015, 18:34

TỪ KHÓA LIÊN QUAN

w