tổng quan vi xử lý lpc2378 hướng dẫn sử dụng board mcb2300 - Pdf 13

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
KHOA CÔNG NGHỆ THÔNG TIN
o0o
BÁO CÁO ĐỒ ÁN TIN HỌC
TỔNG QUAN VI XỬ LÝ LPC2378
HƯỚNG DẪN SỬ DỤNG BOARD MCB2300
GVHD: TS. Đinh Đức Anh Vũ
SVTH:
Đặng Việt Hùng - 50401023
Trần Trung Tín - 50402645
1
Tp HCM, Thaùng 12/2007
2
3
MỤC LỤC
Đề mục Trang
1. Tổng quan về đồ án 1
2. Cách sử dụng board MCB2300 2
2.1. Giới thiệu board thực tập MCB2300 2
2.2. Cài đặt board MCB2300 4
2.3. Thiết lập jumper trên board MCB2300 8
3. Cách đánh địa chỉ trong LPC2300 9
3.1. Tổ chức bộ nhớ và địa chỉ của các thiết bị ngoại vi 9
3.2. Phân vùng bộ nhớ 10
3.3. Địa chỉ thiết bị APB 12
3.4. Phần vùng lại bộ nhớ và boot ROM 13
3.5. Điều khiển phân vùng bộ nhớ 14
4. Khối điều khiển hệ thống 16
4.1. Giới thiệu 16
4.2. Chân kết ngối ngoài 17

Kết luận.

5
CHƯƠNG 1. TỔNG QUAN VỀ ĐỒ ÁN.
LPC2378 là một vi xử lý dựa trên nền tảng ARM và được dùng cho các ứng dụng yêu cầu
truyền nhận dữ liệu tuần tự. Vi xử lý này tính hợp một giao tiếp 10/100 Ethernet 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 LPC2364, 2366, 2368 và
2378. Trong khuôn khổ báo cáo này, chúng ta chỉ quan tâm đến LPC2378.
Đồ án tin học này sẽ giới thiệu một số đặc điểm chính của kiến trúc LPC2378 cũng như tính
năng, ứng dụng và các ví dụ dựa trên thí nghiệm với board MCB2300.
6
CHƯƠNG 2 CÁCH SỬ DỤNG BOARD MCB2300
2.1 Giới thiệu board thực tập MCB 2300
Board thí nghiệm MCB2300 cho phép tạo ra và chạy những chương trình trên họ thiết bị
LPC23xx của NXP. Board thí nghiệm có 2 phiên bản khác nhau là MCB2360 và MCB2370.
 Board MCB 2360 thông dụng với vi điều khiển NXP LPC2368.
 Board MCB 2370 thông dụng với vi điều khiển NXP LPC2378.
Trong phạm vi báo cáo này, chúng ta chỉ đề cập đến board MCB 2370. Khi nói đến board
MCB 2300 tức là bao gồm cả MCD 2368 và MCB 2378.
2.1.1 Kit thí nghiệm MCB2300
Bên trong một bộ kit thí nghiệm MCB 2300 bao gồm
_ Board thí nghiệm MCB 2300.
_ Hướng dẫn nhanh Vision µIDE.
_ Bản giới thiệu tổng quan về công cụ phát triển của ARM.
_ Một CD-ROM chứa:
7
+ Bản dùng thử chương trình “RealView MDK-ARM Microcontroller
Development Kit”.

Sau khi đã chuẩn bị đầy đủ các yêu cầu về phần cứng và phần mềm, chúng ta có thể tiến hành
các bước sau đây để cài đặt và sẵn sàng thí nghiệm trên board MCB2300.
2.2.1 Cài đặt board.
Board MCB2300 dùng nguồn điện từ cổng USB.
Board MCB2300 kết nối trực tiếp đến phần mềm “Keil µVision Debugger” bằng adapter
“Keil ULINK USB-JTAG”, không cần cài đặt thêm bất cứ phần mềm nào trên board.
9
2.2.2. Các thành phần quan trọng trên board MCB2300.
2.2.3 Kết nối với U-LINK.
 Bước 1, kết nối U-LINK với PC thông qua cable USB.
 Bước 2, kết nối U-LINK đến cổng JTAG nằm trên board MCB2300.
 Bước 3, cấp nguồn cho board MCB2300 bằng cabke USB.
 Bước 4, thiết lập mức xung JTAG cho adapter U-LINK.
_ Cho hoạt động board MCB2300.
_ Trong phần mềm µVision, thiết lập bộ Debug trong hộp thoại Project\Options for
Target\Debug.
10
_ Chọn “Use: ULINK ARM Debugger” trong danh sách thả xuống.
_ Click lên nút “Setting” để mở hộp thoại “ARM Target Driver Setup”.
_ Danh sách thà xuống “Max JTAG Clock” dùng để chỉ định xung JTAG cao nhất
được dùng để giao tiếp với board thí nghiệm. Nên chọn giá trị 200 kHz để board
MCB2300 hoạt động tốt nhất.
*_ ULINK2 JTAG có thêm chân RTCK (Return Clock). Nếu sử dụng adapter ULINK2,
chúng ta có thể thiết lập Max JTAG Clock là 200 kHz hoặc RTCK.
2.2.4 Kết nối thông qua giao tiếp Serial
 Bước 1, thiết lập jumper trên board MCB2300
_ J9 và J10 : ON.
_ J13 : OFF.
 Bước 2, cấp nguồn cho board MCB2300 bằng cabke USB.
 Bước 3, Kết nối board MCB2300 vào máy tính qua cổng COM từ cổng COM0 trên

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.
15
3.2.1 Phân vùng bộ nhớ cho 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ị.
16
3.3. Địa chỉ thiết bị APB.
Bảng sau thể hiện phân vùng của thiết bị APB.
17
3.4 Phân vùng lại bộ nhớ trong LPC2300 và boot ROM
3.4.1 Nguyên lý và các chế độ hoạt động
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ớ.
18
3.4.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.
3.5. Đ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ỉ

23
4.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.
Sơ đồ khối điểu khiển Reset
4.5 Các chức năng điều khiển khác.
Tham khảo User Manual – Chapter 3
24
CHƯƠNG 5. CÁCH THIẾT LẬP PIN CHO LPC2378
Mỗi chân trong LPC2378 có thể có nhiều chức năng hoặc input, output hay làm 1 chức năng
cụ thể của 1 phần nào đấy. Ví dụ như : P0[1] (port số 0 chân số 1) có thể làm chức năng input,
output căn bản hay cũng có thể làm chức năng là chân nhận dữ liệu của Control Area Network
1 (CAN1).
Chi tiết của từng chân tham khảo trong user manual trang 95. Ý tưởng ở đây là chúng ta biết
mỗi chân có nhiều chức năng và khi muốn sử dụng chức năng nào thì ta phải thiết lập 1 số giá
trị nhất định cho thanh ghi nào đó.
Như vậy ta sẽ phải có 1 thanh ghi để chọn chức năng cho từng chân. Thanh ghi đó là PINSEL,
có 10 thanh ghi PINSEL0 -> PINSEL9. Mỗi 1 chân của LPC2378 sẽ tương ứng với 2 bit
trong 1 thanh ghi này.
PINSEL Chức năng
00 Chức năng input,output căn bản
01 Chức năng số 1
10 Chức năng số 2
11 Chức năng số 3
Mọi chân đều có thể làm input,output, tùy vào từng chân mà chức năng số 1,2,3 sẽ là gì.
Chi tiết chức năng của từng chân xem user manul trang 115
25


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status