1. Trang chủ
  2. » Luận Văn - Báo Cáo

TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300

97 343 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 97
Dung lượng 3,24 MB

Nội dung

TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA

KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

Giảng viên hướng dẫn

Nguyễn Quốc Tuấn

Sinh viên thực hiện Nguyễn Thanh Bi – 51100264

Đỗ Minh Chiến - 51100372

Trang 2

I

Phục Lục Hình IV

Phụ Lục Bảng VI

LỜI CẢM ƠN 1

CHƯƠNG MỞ ĐẦU 2

I TỔNG QUAN VỀ VI XỬ LÝ LPC2300 3

I.1 Mô tả chung về LPC2300 3

I.2 Đặc điểm chính 4

I.3 Sơ đồ khối 5

I.4 Địa Chỉ Bộ Nhớ Trong LPC2300 10

I.4.1 Tổ chức bộ nhớ và địa chỉ của các thiết bị ngoại vi 10

I.4.2 Phân vùng bộ nhớ 11

I.4.3 Phân vùng bộ nhớ thiết bị ngoại vi 16

I.4.4 Địa chỉ thiết bị APB 18

I.4.5 Phân vùng lại bộ nhớ trong LPC2300 và boot ROM 19

I.5 Khối Điều Khiển Hệ Thống 23

I.5.1 Giới thiệu 23

I.5.2 Chân kết nối ngoài của khối điều khiển hệ thống 23

I.5.3 Các thanh ghi liên quan 24

I.5.4 Reset 24

I.5.5 External interrupt 27

I.6 Mô Đun Tăng Tốc Bộ Nhớ (Memory Acceleration Module - MAM) 29

I.7 Khối Điều Khiển Vectơ Interrupt (Vectored Interrupt Controller - VIC) 29

I.7.2 Giới thiệu 29

I.7.2 Các loại thanh ghi VIC 30

I.7.3 Kiến trúc Interrupt 31

I.7.4 Nguồn Interrupt 32

Trang 3

I.9 Tổng Quan Chức Năng Cổng Input/Ouput Vi Xử Lý LPC2300(GPIO) 35

I.9.1 Đặc điểm chung 35

I.9.2 Địa chỉ thanh ghi 35

I.9.3 Một số code mẫu sử dụng GPIO 37

I.10 Ethernet 38

I.10.1 Đặc điểm chung 39

I.10.2 Kiến trức 40

I.10.3 DMA 40

I.10.3 Gói trong Etherrnet 41

I.10.4 Mô tả chức năng các chân 41

I.10.5 Địa chỉ thanh ghi 42

I.11 CAN 44

I.11.1 Định nghĩa 44

I.11.2 Kiến trúc 44

I.11.3 Địa chỉ bộ nhớ 46

I.11.4 Thanh ghi điều khiển CAN 46

I.12 USB 48

I.12.1 Định nghĩa 48

I.12.2 Kiến trúc 48

I.12.3 Địa chỉ thanh ghi 49

I.13 UART 50

I.13.1 Giới thiệu 50

I.13.2 Kiến trúc 50

I.13.3 Địa chỉ thanh ghi 53

I.14 SPI 59

I.14.1 Định nghĩa 59

I.14.2 Truyền dữ liệu trong SPI 59

I.14.3 Địa chỉ thanh ghi 60

I.14.4 Kiến trúc 65

I.15 I2C 66

I.15.1 Giới thiệu 66

I.15.2 Nguyên lý hoạt động của I2C 66

Trang 4

I.15.4 Kết nối vật lý 70

I.15.5 Sơ đồ khối của I2C 71

I.15.6 Địa chỉ thanh ghi 73

I.16 TIMER 77

I.16.1 Giới thiệu 77

I.16.2 Hoạt động của TIMER 77

I.16.3 Địa chỉ thanh ghi 77

I.16.4 Ví dụ hoat động của Timer 78

I.16.5 Kiến trúc 79

II CÁCH SỬ DỤNG BOARD MCB2300 81

II.16.1 Giới thiệu board thực tập MCB 2300 81

II.16.2 Kit thí nghiệm MCB2300 81

II.16.3 Đặc điểm chính của MCB2300.board 82

II.16.4 Chuẩn bị về phần cứng 82

II.16.5 Chuẩn bị về phần mềm 83

II.16.6 Cài đặt board thí nghiệm MCB2300 83

II.16.7 Thiết lập jumper trên board MCB2300 87

PHỤ LỤC 88

ĐIỀU KHIỂN LED 88

ĐIỀU KHIỂN LCD 89

Trang 5

Phục Lục Hình

Hình 1 Sơ đồ khối LPC2361/62 5

Hình 2 Sơ đồ khối LPC2364/65/66/67/68 6

Hình 3 Sơ đồ khối LPC2377/78 7

Hình 4 Sơ đồ khối LPC2387 8

Hình 5 Sơ đồ khối LPC2388 9

Hình 6 Phân vùng bộ nhớ LPC2461/63 11

Hình 7 Phân vùng bộ nhớ LPC2364/65/66/67/68 12

Hình 8 Phân vùng bộ nhớ LPC2377/78 13

Hình 9 Phân vùng bộ nhớ LPC2387 14

Hình 10 Phân vùng bộ nhớ LPC2388 15

Hình 11 Phân vùng bộ nhớ Thiết bị ngoại vi 16

Hình 12 Phân vùng bộ nhớ thiết bị AHB 17

Hình 13 Bộ nhớ ở mức độ thấp cho thấy quá trình tái phân vùng bộ nhớ 22

Hình 14 Thiết lập lại sơ đồ khối bao gồm bộ đếm thời gian wakeup 25

Hình 15 Ví dụ khởi động lại sau reset 26

Hình 16 Sơ đồ khối đơn giản của MAM 29

Hình 17 Sơ đồ khối của VIC 31

Hình 18 Sơ đồ khối Etherrnet 40

Hình 19 Ethernet packet fields 41

Hình 20 Khối điều khiển CAN 44

Hình 21 Giao diện bố trí của TXB từ cơ bản đến mở rộng 45

Hình 22 Giao diện bố trí của RXB từ cơ bản đến mở rộng 45

Hình 23 Sơ đồ khối thiết bị điều khiển USB 48

Hình 24 Sơ đồ khối LPC2300 UART0, 2 và 3 51

Hình 25 Sơ đồ khối LPC2300 UART1 52

Hình 26 Autobaud ở mode 0 55

Hình 27 Autobaud ở mode 1 56

Hình 28 Sơ đồ flow chart 57

Hình 29 Truyền dữ liệu trong SPI (CPHA = 0 và CPHA = 1) 59

Hình 30 Sơ đồ khối SPI 65

Hình 31 Định dạng ở chế độ Master truyền 67

Hình 32 Định dạng ở chế độ Master nhận 68

Hình 33 Chế độ Master nhận chuyển thành Master truyền sau khi gửi START lặp lại 68

Hình 34 Định dạng ở chế độ Slave nhận 69

Hình 35 Định dạng ở chế độ Slave truyền 69

Hình 36 Cấu hình bus I2C 70

Hình 37 Sơ đồ khối I2C 71

Hình 38 Xung clock đồng bộ 72

Trang 6

Hình 41 Chu kì của một timer với PR=2, MRx=6 và interrupt, stop đã được kích hoạt 79

Hình 42 Sơ đồ khối của Timer 80

Hình 43 Board MCB 2370 82

Hình 44 Board MCB2300 với cổng USB 83

Hình 45 Board MCB2300 với chú thích trên hình 84

Hình 46 Board MCB2300 với kết nối ULink 84

Hình 47 Setup ARM 85

Trang 7

Phụ Lục Bảng

Bảng 1 Đặc điểm tổng quát LPC2300 4

Bảng 2 Bảng Phân bố địa chỉ của vùng bộ nhớ trong ARM 10

Bảng 3 Phân vùng địa chỉ cơ bản của thiết bị APB 18

Bảng 4 Địa chỉ ô nhớ ngoại lệ của ARM 19

Bảng 5 Những chế độ hoạt động của bộ nhớ trong LPC2300 19

Bảng 6 Thanh ghi điều khiển phân vùng bộ nhớ 21

Bảng 7 Thanh ghi điều khiển phân vùng bộ nhớ - mô tả bit địa chỉ 0xE01F C040 21

Bảng 8 Bộ nhớ ở mức độ thấp cho thấy quá trình tái phân vùng bộ nhớ 23

Bảng 9 Tóm tắt các thanh ghi điều khiển hệ thống 24

Bảng 10 Sự tương tác giữa 4 nguồn Reset 27

Bảng 11 Các thanh ghi của External interrupt 27

Bảng 12 Thanh ghi Flag của External interrupt (EXTINT) 28

Bảng 13 Thanh ghi Mode của External interrupt (EXTMODE) 28

Bảng 14 Thanh ghi Polar của External interrupt (EXTPOLAR) 28

Bảng 15 Các loại thanh ghi VIC 30

Bảng 16 Sự kết nối của nguồn Interrupt đến VIC 32

Bảng 17 Chức năng của các chân 34

Bảng 18 Địa chỉ của các thanh ghi chức năng 34

Bảng 19 Địa chỉ thanh ghi GPIO (legacy APB accessible registers) 35

Bảng 20 Địa chỉ thanh ghi GPIO (local bus accessible registers - enhanced GPIO features) 36

Bảng 21 Địa chỉ thanh ghi interrupt GPIO 37

Bảng 22 Bảng viết tắt, định nghĩa trong phần này 38

Bảng 23 Ethernet RMII pin descriptions 41

Bảng 24 Ethernet MIIM pin descriptions 41

Bảng 25 Địa chỉ thanh ghi Etherrnet 42

Bảng 26 Địa chỉ bộ nhớ của khối CAN 46

Bảng 27 Địa chỉ thanh ghi điều khiển CAN 46

Bảng 28 Địa chỉ thanh ghi thiết bị USB 49

Bảng 29 Mối quan hệ giữa dữ liệu SPI và giai đoạn của Clock 60

Bảng 30 Địa chỉ thanh ghi trong SPI 60

Bảng 31 Mô tả chức năng các bit của thanh ghi S0SPCR 61

Bảng 32 Mô tả chức năng các bit của thanh ghi S0SPSR 63

Bảng 33 Mô tả các bit của thanh ghi SPTCR 64

Bảng 34 Mô tả các bit của thanh ghi SPTSR 64

Bảng 35 Thanh ghi I2CnCONSET được sử dụng trong chế độ Master 67

Bảng 36 Thanh ghi I2CnCONSET được sử dụng trong chế độ Slave 68

Bảng 37 I2C PIN 70

Bảng 38 Mô tả các bit của thanh ghi I2CCONSET 75

Trang 8

LỜI CẢM ƠN

Trên thực tế không có sự thành công nào mà không gắn liền với những

sự hỗ trợ, giúp đỡ dù ít hay nhiều, dù trực tiếp hay gián tiếp của người khác Trong suốt thời gian từ khi bắt đầu học tập ở giảng đường đại học đến nay,

em đã nhận được rất nhiều sự quan tâm, giúp đỡ của quý Thầy Cô, gia đình

Em xin chân thành cảm ơn Thầy Nguyễn Quốc Tuấn đã tận tâm hướng dẫn chúng em trong những buổi nói chuyện, thảo luận về lĩnh vực vi xử lý Nếu không có những lời hướng dẫn, dạy bảo của thầy thì em nghĩ bài thu hoạch này của em rất khó có thể hoàn thiện được Một lần nữa, em xin chân thành cảm ơn thầy

Bài thu hoạch được thực hiện trong khoảng thời gian gần 4 tuần Bước đầu đi vào thực tế, tìm hiểu về lĩnh vực vi xử lý, kiến thức của em còn hạn chế và còn nhiều bỡ ngỡ Do vậy, không tránh khỏi những thiếu sót là điều chắc chắn, em rất mong nhận được những ý kiến đóng góp quý báu của quý Thầy Cô và các bạn học cùng lớp để kiến thức của em trong lĩnh vực này được hoàn thiện hơn Sau cùng, em xin kính chúc quý Thầy Cô trong Khoa Khoa Học & Kỹ Thuật Máy Tính và Thầy Nguyễn Quốc Tuấn thật dồi dào sức khỏe, niềm tin để tiếp tục thực hiện sứ mệnh cao đẹp của mình là truyền đạt kiến thức cho thế hệ mai sau

Trân trọng

TP HCM, ngày 2 tháng1 năm 2014

Nhóm Sinh viên thực hiện

Trang 9

LỜI MỞ ĐẦU

Trong sự nghiệp cộng nghiệp hóa và hiện đại hóa hiện nay, khoa học và

kỹ thuật chiếm một vị trí đặc biệt Công nghệ luôn chạy đua nối tiếp nhau từng ngày Ngay từ đầu với định hướng xây dựng kiến thức tổng quát phải cứng nền tảng trước, việc nghiêm cứu về các vi xử lý – một phần quan trọng của công nghệ đó là điều mà các sinh viên lĩnh vực kỹ thuật máy tính cần nghiêm cứu

Chúng ta cần phải nắm bắt những gì? Đó là tổng quan về vi xử lý cũng như nguyên lý hoạt động và cách sử dụng Đó là lý do vì sao nhóm nghiêm cứu về đề tài này

Trang 10

I TỔNG QUAN VỀ VI XỬ LÝ LPC2300

I.1 Mô tả chung về LPC2300

LPC2300 là một vi xử lý dựa trên nền tảng CPU ARM với mô phỏng thời gian thực kết hợp với

vi điều khiển được nhúng bộ nhớ flash tốc độ cao LPC2300 rất phù hợp với các ứng dụng truyền nhận

dữ liệu tuần tự, các ứng dụng giao tiếp nối tiếp đa năng Vi xử lý này tính hợp một giao tiếp 10/100 Ethernet Media Access Controller (MAC), giao tiếp USB 2.0 Full Speed, 4 giao tiếp UART, 2 kênh CAN, 1 cổng SPI, 2 cổng SSP (Synchronous Serial Ports), 3 giao tiếp I2C, 1 giao tiếp I2S và 1 MiniBus

Thuật ngữ LPC2300 được áp dụng cho toàn bộ họ vi xử lý gồm :

Trang 11

EMC USB/

GP SRAM (kB)

USB device

USB Host/

OTG

Ethernet Ethernet

GP SRAM (kB)

CAN channels

SD/

MMC

ADC channels

GPIO pins

Trang 12

I.3 Sơ đồ khối

Hình 1 Sơ đồ khối LPC2361/62

Trang 13

Hình 2 Sơ đồ khối LPC2364/65/66/67/68

Trang 14

Hình 3 Sơ đồ khối LPC2377/78

Trang 15

Hình 4 Sơ đồ khối LPC2387

Trang 16

Hình 5 Sơ đồ khối LPC2388

Trang 17

I.4 Địa Chỉ Bộ Nhớ Trong LPC2300

I.4.1 Tổ chức bộ nhớ và địa chỉ của các thiết bị ngoại vi

Bộ xử lý ARM có thể quản lý một không gian địa chỉ bộ nhớ 4 GB Bảng dưới đây thể hiện sự phân bố địa chỉ của vùng bộ nhớ trong các thiết bị ARM:

Bảng 2 Bảng Phân bố địa chỉ của vùng bộ nhớ trong ARM

0x0000 0000 - 0x0007 FFFF flash memory (up to 512 kB) 0x3FFF C000 - 0x3FFF FFFF fast GPIO registers

0x4000 0000 to

0x7FFF FFFF

on-chip RAM 0x4000 0000 - 0x4000 7FFF RAM (up to 32 kB)

0x4000 0000 - 0x4000 FFFF RAM (64 kB for LPC2387/88) 0x7FD0 0000 - 0x7FD0 1FFF USB RAM (8 kB)

0x7FD0 0000 - 0x7FD0 3FFF USB RAM (16 kB for LPC2387/88) 0x7FE0 0000 - 0x7FE0 3FFF Ethernet RAM (16 kB)

0x8000 0000 to

0xDFFF FFFF

off-chip memory

Two static memory banks, 64 KB each (LPC2377/78 and LPC2388 only):

0x8000 0000 - 0x8000 FFFF static memory bank 0, 64 KB 0x8100 0000 - 0x8100 FFFF static memory bank 1, 64 KB 0xE000 0000

to

0xEFFF FFFF

APB peripherals

0xE000 0000 - 0xE008 FFFF 36 peripheral blocks, 16 kB each (some unused)

0xE01F C000 - 0xE01F FFFF System Control Block 0xF000 0000 to

0xFFFF FFFF

AHB peripherals

0xFFE0 0000 - 0xFFE0 3FFF Ethernet Controller (not LPC2361) 0xFFE0 4000 - 0xFFE0 7FFF General Purpose DMA Controller 0xFFE0 8000- 0xFFE0 BFFF External Memory Controller (EMC) (LPC2377/78, LPC2388 only)

0xFFE0 C000 - 0xFFE0 FFFF USB Controller (LPC2361/62/64/66/68, LPC2378,LPC2387, and LPC2388 only)

0xFFFF F000 - 0xFFFF FFFF Vectored Interrupt Controller (VIC)

Trang 18

I.4.2 Phân vùng bộ nhớ

LPC2300 quản lý chặt chẽ từng vùng nhớ riêng biệt Bảng sau thể hiện toàn bộ không gian địa chỉ Vùng nhớ chứa địa chỉ vector ngắt phục vụ cho việc đánh lại địa chỉ nhớ, vấn đề này sẽ được đề cập trong phần sau

Hình 6 Phân vùng bộ nhớ LPC2461/63

Trang 19

Hình 7 Phân vùng bộ nhớ LPC2364/65/66/67/68

Trang 20

Hình 8 Phân vùng bộ nhớ LPC2377/78

Trang 21

Hình 9 Phân vùng bộ nhớ LPC2387

Trang 22

Hình 10 Phân vùng bộ nhớ LPC2388

Trang 23

I.4.3 Phân vùng bộ nhớ thiết bị ngoại vi

Hình 11 Phân vùng bộ nhớ Thiết bị ngoại vi

Cả hai vùng nhớ cho thiết bị AHB và APB để có không gian là 2MB và chia đều cho 128 thiết bị., mỗi thiết bị được phân 16 KB Điều này đơn giản việc giải mã địa chỉ cho từng thiết bị

Trang 24

Hình 12 Phân vùng bộ nhớ thiết bị AHB

Trang 25

I.4.4 Địa chỉ thiết bị APB

Bảng sau thể hiện phân vùng của thiết bị APB

Bảng 3 Phân vùng địa chỉ cơ bản của thiết bị APB

Thiết bị APB Địa chỉ cơ bản Tên thiết bị ngoại vi

19 - 22 0xE004 C000 - 0xE005 8000 Không sử dụng

36- 126 0xE009 0000 - 0xE01F BFFF Không sử dụng

[1] CAN được dùng trong các vi xử lý LPC2364/66/68, LPC2378, LPC2387, và LPC2388

[2] The SD/MMC card được dùng trong các vi xử lý LPC2365/66, LPC2377/78, LPC2387, và LPC2388

Trang 26

I.4.5 Phân vùng lại bộ nhớ trong LPC2300 và boot ROM

I.4.5.1 Nguyên lý và những chế độ hoạt động

Mỗi vùng nhớ trong LPC2300 có một vị trí cố định trong bản đồ bộ nhớ Phần lớn mỗi không gian bộ nhớ vẫn luôn cố định vĩnh viễn trong cùng một vị trí, và loại bỏ sự cần thiết phải có các phần của mã được thiết kế để chạy trong phạm vi địa chỉ khác nhau

Bảng vector ngắt của ARM7 được phân vùng từ 0x000 0000 đến 0x0000 001C, vì thế, một phần chia của Boot ROM và SRAM cần được phân vùng lại để có thể hoạt động trong những chế độ khác nhau Việc phân vùng lại vector ngắt liên quan chặt chẽ đến Bộ Điều khiển Phân vùng nhớ

Bảng 4 Địa chỉ ô nhớ ngoại lệ của ARM

Địa chỉ Trường hợp ngoại lệ

of the Flash memory(the Boot Flash) is available to hold part of the Boot Code

Activated by a User Program as desired Interrupt vectors are re-mapped

to the bottom of the Static RAM

Activated by a User Program as desired Interrupt vectors are re-mapped

to external memory bank 0

Trang 27

I.4.5.2 Phân vùng lại bộ nhớ

Boot ROM được phân vùng trên cùng của bộ nhớ, một chương trình dù chiếm nhiều hay ít bộ nhớ đều không ảnh hưởng đến vị trí của Boot ROM hoặc không thay đổi phân vùng của véc tơ ngắt Boot ROM

Phân vùng bộ nhớ được cấp phát lại cho phép thực hiện quá trình ngắt ở những chế độ khác nhau, áp dụng cho vùng vectơ ngắt (32 bytes) và cả 32 bytes mở rộng Mã điều khiển việc phân vùng được cất giữ ở địa chỉ từ 0x0000 0000 và 0x0000 003F Chương trình trong bộ nhớ Flash được có điểu khiển FIQ lưu ở 0x0000 001C Vectơ chứa trong SRAM, bộ nhớ ngoài

và Boot ROM phải chứa địa chỉ đến điều khiển ngắt thật sự một cách trực tiếp hay gián tiếp hông qua một câu lệnh khác

Có ba lý do cấu hình này đã được lựa chọn:

1 Để cung cấp cho các xử lý FIQ trong bộ nhớ Flash lợi thế là không phải mất một ranh giới bộ nhớ gây ra bởi ánh xạ lại vào tài khoản

2 Giảm thiểu sự cần thiết phải cho SRAM và khởi động vector ROM để giải quyết với bất kỳ giới hạn giữa không gian mã

3 Để cung cấp không gian lưu trữ các hằng số vượt ra ngoài phạm vi của những câu lệnh chuyển ngữ cảnh

Phân vùng lại bộ nhớ bao gồm cả boot ROM và vector interrupt, tiếp tục xuất hiện trong bộ nhớ góc thêm vào các địa chỉ phân vùng lại bộ nhớ

I.4.5.3 Điều khiển phân vùng bộ nhớ

Điều khiển phân vùng bộ nhớ thay đổi phân vùng của những vector ngắt xuất hiện ở địa chỉ 0x0000 0000 Mã chương trình sẽ được phép chạy ở những vùng nhớ khác và điều khiển những ngắt

I.4.5.3.1 Thanh ghi điều khiển phân vùng bộ nhớ (MEMMAP – 0xE01FC040)

Khi một điều khiển ngoại lệ cần thiết, vi xử lý sẽ nạp câu lệnh điền khiển địa chỉ của ngoại lệ căn cứ vào bảng 4 trang 20 Thanh ghi MEMMAP xác định địa chỉ nguồn của dữ liệu

sẽ nạp vào bảng này

Trang 28

Bảng 6 Thanh ghi điều khiển phân vùng bộ nhớ

Name Description Access Reset

value

Address

MEMMAP Memory mapping control Selects whether the

ARM interrupt vectors are read from the Boot ROM, User Flash, or RAM

Bảng 7 Thanh ghi điều khiển phân vùng bộ nhớ - mô tả bit địa chỉ 0xE01F C040

Bit Symbol Value Description Reset

value 1:0 MAP 00 Boot Loader Mode Interrupt vectors are re-mapped to Boot

7:2 - - Reserved, user software should not write ones to reserved bits

The value read from a reserved bit is not defined

NA

I.4.5.3.2 Ghi chú sử dụng điều khiển phân vùng bộ nhớ

Điều khiển phân vùng bộ nhớ chỉ đơn giản là lựa chọn một trong số ba nguồn

có sẵn dữ liệu (mỗi nguồn có 64 byte) cần thiết để xử lý các trường hợp ngoại lệ ARM (interrupts)

Trang 29

Hình 13 Bộ nhớ ở mức độ thấp cho thấy quá trình tái phân vùng bộ nhớ

Trang 30

I.5 Khối Điều Khiển Hệ Thống

I.5.1 Giới thiệu

Khối điều khiển hệ thống bao gồm nhiều đặc tính hệ thống và nó điều khiển những thanh ghi cho một số chức năng riêng biệt, không liên quan đến bất cứ thiết bị ngoại vi nào Những chức năng

đó là:

 Reset

 Brown-Out Detection

 Ngõ nhập ngoài tạo ngắt

 Điều khiển/ Thông số hệ thống

 Bảo mật và Tìm lỗi code

 AHB configuration

Mỗi chức năng có một hay nhiều thanh ghi của riêng nó Những bit không cần thiết trong thanh ghi sẽ được giữ lại cho những mở rộng về sau Những chức năng không liên quan với nhau không chia

sẽ chung bất cứ thanh ghi nào

I.5.2 Chân kết nối ngoài của khối điều khiển hệ thống

Bảng sau đây thể hiện những chân kết nối ngoài liên quan đến những chức năng của khối điều khiển hệ thống

Bảng 8 Bộ nhớ ở mức độ thấp cho thấy quá trình tái phân vùng bộ nhớ

Pin name Pin

direction

Pin description

EINT0 Input External Interrupt Input 0- An active low/high level or falling/rising

edge general purpose interrupt input This pin may be used to wake up the processor from Idle or Power-down modes

EINT1 Input External Interrupt Input 1- See the EINT0 description above

EINT2 Input External Interrupt Input 2- See the EINT0 description above

EINT3 Input External Interrupt Input 3- See the EINT0 description above

RESET Input External Reset input- A LOW on this pin resets the chip, causing

I/O ports and peripherals to take on their default states, and the processor to begin execution at address 0x0000 0000

Trang 31

I.5.3 Các thanh ghi liên quan

Bảng sau đây thể hiện những thanh ghi liên quan đến những chức năng của khối điều khiển hệ thống

Bảng 9 Tóm tắt các thanh ghi điều khiển hệ thống

Name Description Access Reset

value

Address

External interrupts

Reset

text

0xE01F C180

AHB configuration registers

Syscon miscellaneous registers

I.5.4 Reset

Có 4 cách Reset trên LPC2300:

 Chân RESET (ngõ nhập Schmitt trigger)

 Lệnh Reset của Watchdog

 Reset khi mở nguồn

 Mạch Brown Out Dectection

Trang 32

Hình 14 Thiết lập lại sơ đồ khối bao gồm bộ đếm thời gian wakeup

Sự xác nhận của bất kỳ nguồn reset nào : POR, BOD reset, External reset và Watchdog reset thì IRC khởi động Sau thời gian IRC khởi động (tối đa là 60 𝜇s ) và sau khi IRC cấp phát xung clock

ổn định, tín hiệu reset được chốt và đồng bộ IRC clock

Sau đó, hai trình tự sau đây bắt đầu cùng một lúc:

1 2-bit IRC wake-up đếm thời gian bắt đầu khi reset đồng bộ được kích hoạt Các mã khởi động trong ROM bắt đầu chạy khi IRC wake-up hết thời gian hẹn giờ (times out).Các mã khởi động thực hiện các nhiệm vụ khởi động và có thể nhảy đến Flash Nếu Flash là không sẵn sàng, các MAM sẽ chèn những chu kỳ chờ đợi (wait cycles) cho đến khi Flash sẵn sàng

2 Flash wake-up-timer (9-bit) đếm thời gian bắt đầu khi reset đồng bộ được kích hoạt Sau

đó Flash wake-up-timer đợi 100 𝜇s Sau khi times out trình tự khởi tạo Flash được bắt đầu ( tốn khoảng 250 chu kì) Sau khi hoàn thành, các MAM sẽ được cấp quyền truy cập vào Flash

Trang 33

Khi bộ vi xử lý bắt đầu xử lý tại địa chỉ 0, đó là bước đầu Reset vector ánh xạ từ Boot Block Vào thời điểm đó, tất cả các thanh ghi xử lý và thiết bị ngoại vi đã được khởi tạo các giá trị xác định

Sau đây là một ví dụ về mối liên hệ giữa RESET, IRC, và tình trạng xử lý khi LPC2300 sau khi reset

Reset khác nhau có một số khác biệt nhỏ

Hình 15 Ví dụ khởi động lại sau reset

Trang 34

II.4.5.1 Reset Source Identification Register (RSIR - 0xE01F C180)

Thanh ghi chứa 1 bit cho từng nguồn Reset riêng biệt Dưới đây là bảng thể hiện sự tương tác giữa 4 nguồn Reset

Bảng 10 Sự tương tác giữa 4 nguồn Reset

Bit Symbol Description Reset

value

0 POR Assertion of the POR signal sets this bit, and clears all of the other bits

in this register But if another Reset signal (e.g., External Reset) remains asserted after the POR signal is negated, then its bit is set This bit is not affected by any of the other sources of Reset

See text

1 EXTR Assertion of the RESET signal sets this bit This bit is cleared by POR,

but is not affected by WDT or BOD reset

See text

2 WDTR This bit is set when the Watchdog Timer times out and the

WDTRESET bit in the Watchdog Mode Register is 1 It is cleared by any of the other sources of Reset

See text

3 BODR This bit is set when the 3.3 V power reaches a level below 2.6 V.If the

VDD(DCDC)(3V3) voltage dips from 3.3 V to 2.5 V and backs up, the BODR bit will be set to 1.If the VDD(DCDC)(3V3) voltage dips from 3.3 V to 2.5 V and continues to decline to the level at which POR is asserted (nominally 1 V), the BODR bit is cleared If the VDD(DCDC)(3V3) voltage rises continuously from below 1 V to a level above 2.6 V, the BODR will be set to 1 This bit is not affected

by External Reset nor Watchdog Reset Note:Only in case when a reset occurs and the POR = 0, the BODR bit indicates if the VDD(DCDC)(3V3)voltage was below 2.6 V or not

See text

I.5.5 External interrupt

Vi xử lý LPC2300 bao gồm bốn đầu vào External interrupt Ngoài ra, External interrupt có khả năng wakeup CPU từ chế độ Power điều này được điều khiển bởi thanh ghi INTWAKE

Bảng 11 Các thanh ghi của External interrupt

Name Description Access Reset

value

Address

EXTINT The External Interrupt Flag Register

contains interrupt flags for EINT0, EINT1, EINT2 and EINT3

EXTMODE The External Interrupt Mode Register

controls whether each pin is edge-or level-sensitive

0xE01F C148

EXTPOLAR The External Interrupt Polarity

Register controls which level or edge

on each pin will cause an interrupt

0xE01F C14C

Trang 35

Bảng 12 Thanh ghi Flag của External interrupt (EXTINT)

Bit Symbol Description Reset

value

0 EINT0 In level-sensitive mode, this bit is set if the EINT0 function is selected for

its pin, and the pin is in its active state In edge-sensitive mode, this bit is set if the EINT0 function is selected for its pin, and the selected edge occurs

on the pin

00

1 EINT1 In level-sensitive mode, this bit is set if the EINT1 function is selected for

its pin, and the pin is in its active state In edge-sensitive mode, this bit is set if the EINT1 function is selected for its pin, and the selected edge occurs

on the pin

2 EINT2 In level-sensitive mode, this bit is set if the EINT2 function is selected for

its pin, and the pin is in its active state In edge-sensitive mode, this bit is set if the EINT2 function is selected for its pin, and the selected edge occurs

on the pin

3 EINT3 In level-sensitive mode, this bit is set if the EINT3 function is selected for

its pin, and the pin is in its active state In edge-sensitive mode, this bit is set if the EINT3 function is selected for its pin, and the selected edge occurs

on the pin

Bảng 13 Thanh ghi Mode của External interrupt (EXTMODE)

Bit Symbol Value Reset

Bảng 14 Thanh ghi Polar của External interrupt (EXTPOLAR)

Bit Symbol Value Reset

Trang 36

I.6 Mô Đun Tăng Tốc Bộ Nhớ (Memory Acceleration Module - MAM)

Khối MAM trong vi xử lý LPC2300 góp phần tối đa hiệu suất của bộ vi xử lý ARM khi chạy các đoạn code trong bộ nhớ flash

Hình 16 Sơ đồ khối đơn giản của MAM

I.7 Khối Điều Khiển Vectơ Interrupt (Vectored Interrupt Controller - VIC)

I.7.2 Giới thiệu

LPC2300 hỗ trợ 32 vector IRQ interrupt và có 16 mức độ ưu tiên

Cốt lỗi của vi xử lý ARM có 2 interrupt được gọi là Interrupt Request (IRQ) và Fast Interrupt reQuest (FIQ)

Vectored Interrupt Controller (VIC) hỗ trợ 32 yêu cầu interrupt, ta sẽ lập trình vector đó tương ứng với loại interrupt nào (IRQ hay FIQ)

Fast Interrupt Request là interrupt có độ ưu tiên cao nhất Nếu có cùng độ ưu tiên thì interrupt

ở vector có chỉ số nhỏ nhất sẽ được làm trước IRQ có độ ưu tiên thấp hơn, cũng tương tự như FIQ nếu có nhiều interrupt cùng độ ưu tiên thì interrupt nào ở vector có chỉ số nhỏ hơn sẽ được thực thi trước

Trang 37

I.7.2 Các loại thanh ghi VIC

Bảng 15 Các loại thanh ghi VIC

Name Description Access Reset

value

Address

VICIRQStatus IRQ Status Register This register reads out the

state of those interrupt requests that are enabled and classified as IRQ

F00

VICFIQStatus FIQ Status Requests This register reads out the

state of those interrupt requests that are enabled and classified as FIQ

F04

VICRawIntr Raw Interrupt Status Register This register

readsout the state of the 32 interrupt requests / software interrupts, regardless of enabling or classification

F08

VICIntSelect Interrupt SelectRegister This register classifies

each of the 32 interrupt requests as contributing to FIQ or IRQ

F0C

VICIntEnable Interrupt EnableRegister This register controls

which of the 32 interrupt requests and software interrupts are enabled to contribute to FIQ or IRQ

F10

VICIntEnClr Interrupt Enable Clear Register This register

allows software to clear one or more bits in the Interrupt Enable register

F14

VICSoftInt Software Interrupt Register The contents of this

register are ORed with the 32 interrupt requests from various peripheral functions

VICProtection Protection enable register This register allows

limiting access to the VIC registers by software running in privileged mode

FF

0xFFFF F24

VICVectAddr0 Vector address 0 register Vector Address Registers

0-31 hold the addresses of the Interrupt Service routines (ISRs) for the 32

vectored IRQ slots

VICVectPriority Vector priority 0 register Vector Priority Registers R/W 0xF 0xFFFF

Trang 38

these registers designates the priority of the corresponding

vectored IRQ slot

I.7.3 Kiến trúc Interrupt

Hình 17 Sơ đồ khối của VIC

Nhìn vào sơ đồ khối ta có thể thấy : Phần interrupt của LPC2378 có 4 khối: phần interrupt request, khối status interrupt, khối priority, khối vecto interrupt

Trong đó gồm :

 Khối interrupt request : có vai trò khi bất cứ interrupt nào được bật lên thì nó sẽ cập nhật lại khối status interrupt

Trang 39

 Khối status interrupt có vai trò : chứa các thông tin về các interrupt hiện tại và sinh ra FIQ

 Khối vectored interrupt chứa thông tin về vector IRQ và địa chỉ cần nhảy tới khi có interrupt

 Khối priority and generation: có nhiệm vụ chọn interrupt nào sẽ làm, và địa chỉ nào sẽ nhảy tới

I.7.4 Nguồn Interrupt

Bảng 16 Sự kết nối của nguồn Interrupt đến VIC

Hex

Channel # and Mask

Reserved for Software Interrupts only 1 0x0000 0002

Transmit Holding Register Empty (THRE)

Rx Data Available (RDA) Character Time-out Indicator (CTI)

6 0x0000 0040

Transmit Holding Register Empty (THRE)

Rx Data Available (RDA) Character Time-out Indicator (CTI) Modem Control Change

SPI, SSP0 SPI Interrupt Flag of SPI (SPIF)

Mode Fault of SPI0 (MODF)

Tx FIFO half empty of SSP1

Rx FIFO half full of SSP1

Rx Timeout of SSP1

Rx Overrun of SSP1

10 0x0000 0400

Rx FIFO half full

13 0x0000 2000

Trang 40

External Interrupt 2 (EINT2) 16 0x0001 0000

TxFinishedInt, TxErrorInt, TxUnderrunInt, RxDoneInt, RxFinishedInt, RxErrorInt, RxOverrunInt

21 0x0020 0000

USB_INT_REQ_HP, USB_INT_REQ_DMA

TxFifoHalfEmpty, RxActive, TxActive, CmdActive,DataBlockEnd, StartBitErr, DataEnd, CmdSent, CmdRespEnd, RxOverrun, TxUnderrun, DataTimeOut, CmdTimeOut, DataCrcFail, CmdCrcFail

Transmit Holding Register Empty (THRE)

Rx Data Available (RDA) Character Time-out Indicator (CTI)

28 0x1000 0000

Transmit Holding Register Empty (THRE)

Rx Data Available (RDA) Character Time-out Indicator (CTI)

Ngày đăng: 21/01/2016, 21:40

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w