báo cáo thiết kế hệ thống nhúng tìm hiểu arm lpc2378 - Pdf 15

HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG

BÁO CÁO THIẾT KẾ HỆ THỐNG NHÚNG

ĐỀ TÀI : TÌM HIỂU ARM LPC2378 Giáo viên hướng dẫn: TS. Nguyễn Ngọc Minh
Nhóm sinh viên: 1. Nguyễn Gia Thắng
2. Nguyễn Xuân Thống
3. Nguyễn Văn Việt
4. Bùi Văn Linh
HÀ NỘI 2011

1. Tổng quan về vi điều khiển LPC2378
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

Bảng sau thể hiện phân vùng của thiết bị APB. 1.2 Mô tả pinout
LPC2378 gồm 144 chân Sau đây là một số chân và tác dụng của chúng
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).
Ở đâ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.

qua bộ điều khiển bộ nhớ bên ngoài, cũng như SRAM các vị trí trên AHB1, nếu không được sử
dụng bởi các khối USB. Tuy nhiên, sử dụng bộ nhớ khác với Ethernet SRAM, đặc biệt là off-
chip bộ nhớ, sẽ làm chậm truy cập Ethernet vào bộ nhớ và tăng tải của AHB1. Khối Ethernet
giao diện giữa một Ethernet off-chip PHY sử dụng MII (Media Independent Interface) hoặc
RMII(ReduceMII)giao thức và các MIIM trên chip (Media Independent Interface) bus nối tiếp.
Sơ đồ khối kiến trúc của Ethernet
1.3.2 Giao tiếp USB
Các Universal Serial Bus (USB) là một bus bốn dây có hỗ trợ giao tiếp giữa một máy chủ và
một hoặc nhiều (lên đến 127) thiết bị ngoại vi. Bộ điều khiển máy chủ cấp phát các USB băng
thông để gắn các thiết bị thông qua một giao thức dựa trên mã thông báo. Bus hỗ trợ cắm và cấu
hình năng động của các thiết bị. Mọi giao dịch được thực hiện bởi một máy chủ điều khiển.
Sơ đồ kiến trúc của thiết bị điều khiển USB

1.3.3 Giao tiếp SPI (Serial Peripheral Interface)
SPI là một giao diện song công nối tiếp. Nó có thể xử lý nhiều master và slave được
kết nối với một Bus đã cho. Chỉ có một master duy nhất và một slave duy nhất có thể truyền dữ
liệu tại một thời điểm nhất định. Trong thời gian chuyển dữ liệu master luôn luôn gửi 8 đến16 bit
dữ liệu cho slave, và slave luôn luôn gửi một byte dữ liệu tới master.
SCLK: clock; MOSI: Master out slave in; MISO:Master in slave out SS: Slave select
1.3.4 I2C Inter-intergrated circuit
-I2C là giao thức để kết nối với các thiết bị bên ngoài, như LCD, bộ nhớ ngoài,
-Giao tiếp chuẩn I2C, có thể thiết lập ở chế độ Master, Slave hay Master/Slave.
-Cơ chế trọng tài, cho phép truyền nhận dữ liệu liên tục mà không bị gián đoạn dữ liệu.
-Xung có thể thay đổi phù hợp với tốc độ truyền.


UART : Universal Asynchronous Receiver Transmitter là giao tiếp truyền thông nối tiếp bất
đồng bộ, dùng để truyền và nhận dữ liệu nối tiếp. LPC2378 hỗ trợ 4 bộ truyền nhận nối tiếp
UART0, UART1, UART2 và UART3 (truyền nhận 16 byte với cơ chế FIFO).
Kiến trúc của nó :
 Mọi sự truyền nhận thông tin giữa CPU và UART đều thông qua APB
 Việc nhận tín hiệu của UART : thông qua chân RXD và đi vào thanh ghi dịch (UnRSR)
sau đó dữ liệu sẽ được chuyển qua thanh ghi chứa dữ liệu (UART RX Buffer Register FIFO) và
dữ liệu sẽ ở đây chờ CPU tới đọc.
 Việc truyền tín hiệu của UART : cũng tương tự như thế, CPU truyền dữ liệu vào trong
buffer ở trong thanh ghi UnTHR (UART TX Holding Register FIFO), sau đó dữ liệu từ thanh ghi
này được chuyển sang thanh ghi dịch (UnTSR) và từ từ truyền ra ngoài thông qua chân TXD
 Về tốc độ truyền dữ liệu UART cho phép cho thiết lập tốc độ baud thông qua các thanh
ghi. Và ta phải tự tìm ra tốc độ baud nào hợp lý nhất (tức xác suất lỗi trên đường truyền ít nhất)
Vấn đề này sẽ được thảo luận trong phần sau.
 Các sự thiết lập interrupt ở trong thanh ghi UnIER và UnIIR
 Thông tin từ việc truyền nhận (2 chân TX và RX) được lưu trong thanh ghi UnLSR.
 Thông tin điều khiển nằm ở trong thanh ghi UnLCR


Sơ đồ khối của LPC2378
2. Tìm hiểu về lõi ARM7

2.1 Mô tả sơ đồ kiến trúc lõi, chức năng các khối
Kiến trúc của ARM được thiết kế chuyên dụng cho các ứng dụng nhúng.Do đó hiên thực hóa
chíp ARM được thiết kê cho các ứng dụng nhỏnhưng có hiệu năng cao tiêu thụ it năng lượng
Lõi Arm được thiết kế theo kiến trúc RISC nó chứa các kiến trúc RISC chung
-Các thanh ghi đồng dạng
-Kiến trúc dạng Load-Strore .Các địa chỉ load/store chỉ được xác định từ nội dung các thanh ghi
và các chỉ lệnh
-Các kiểu đánh địa chỉ đơn giản
-Các chỉ lệnh có độ dài cố định và đồng dạng do đó đơn giản hóa việc giải mã các câu lệnh
-Thay vì chỉ dùng 1 chu kì xung nhịp cho tất cả các điah chỉ lệnh ARM thiết kế để sao cho tối
giản số chu kì xung nhịp cho một địa chỉ lệnh do đó tăng được sự phức tạp cho các lệnh đơn lẻ

Các thanh ghi trong lõi ARM

2.3 Các ngoại lệ ,xử lí các ngoại lệ, bảng Vector ngoại lệ
Ngoại lệ là rất quan trọng trong các hệ thống nhúng, không có ngoại lệ sự phát triển của
hệ thống sẽ là một nhiệm vụ hết sức phức tạp.
Một ngoại lệ bất kì để ngăn chăn thực thi các chương trình bình thường
Ngoại lệ Mode
Yêu cầu ngắt nhanh FIQ
Yêu cầu ngắt IRQ
SWI và RESET SVC
Hướng dẫn lấy hoặc không ABT
truy cập bộ nhớ
Không xác định chỉ thị UND
Có 7 chế độ hoạt động ngoại lệ của VXL; 6 chế độ đặc quyền (Abort, fast interrupt request,
interrupt request, supervisor, system, undefined) và một chế độ ko đặc quyền user.Sơ đồ các
thanh ghi và các chế độ như hình dưới.

Chế độ hoạt động System sử dụng các thanh ghi ở chế độ user

Các chế độ hoạt động và các thanh ghi
Hoạt đông của các chế độ như sau
-Bộ VXL hoạt đông ở chế độ Abort khi bộ vi xử lí không thể truy cập bộ nhớ
-Bộ VXL hoạt động ở chế độ interrupt request(IRQ) và fast interrupt request(FIQ) tương ứng với
hai mức ngắt của chip ARM. Chúng ta có thể thông báo trong bảng vector là trường hợp ngoại lệ xử lý FIQ được đặt ở cuối
vector bảng, vì vậy không cần phải có một chỉ dẫn nhánh, chúng ta có thể đặt các xử lý ngoại lệ
trực tiếp xử lý như vậy có bắt đầu nhanh hơn bằng cách loại bỏ thời gian của phân nhánh.
Tại các địa chỉ này chúng tôi tìm thấy một bước nhảy
hướng dẫn như vậy:
ldr pc, [pc, # _IRQ_handler_offset]

2.4 Tập lệnh ARM, tập lệnh Thumb, đánh giá
VXL ARM sử dụng cấu trúc load-store. Điều đố có nghĩa là :tất cả các lệnh đều thực hiện trên
thanh ghi.Các lệnh ARM thường có 2 đến 3 toán tử.
Mặc dù vậy các phiên bản kiến trúc ARM khác nhau hỗ trợ các tập lệnh khác nhau các phiên
bản mới thường tương thích nguợc với các phiên bản cũ.
+Danh sách các lệnh :
-Các lệnh xử lí dữ liệu
-Các lệnh dich chuyển
-Các lệnh số học
-Các lệnh logic
-Các lệnh so sánh
- Các lệnh nhân
-Các lệnh rẽ nhánh
-Các lệnh chuyển dữ liệu Load-Store

Tập lênh thumb:Một tính năng quan trọng của ARM là hỗ trợ tậo lệnh thumb . Tập lệnh
Thumb bao gồm các lệnh 16 bit .Do đó chúng chiếm it bộ nhớ hơn và có hiệu năng tương đối
cao hơn đối với dữ liệu 15 bít .Đối với các ứng dụng nhúng cần tối ưu bộ nhớ ,mật độ lênh rất
quan trọng


Nhờ tải bản gốc
Music ♫

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