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

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
truyền nhận dữ liệu tuần tự. LPC2378 là phương tiện lý tưởng cho các ứng dụng đa truyền thông
nối tiếp. Nó tích hợp một giao tiếp 10/100 Ethernet Media Access Controller (MAC), giao tiếp
USB full speed với 4 kB bộ nhớ RAM, bốn cổng UART, 2 kênh CAN(Controller Area
Network), một giao diện SPI, hai cổng đồng bộ nối tiếp (SSP), ba cổng giao tiếp I2C, một giao
tiếp I2S, một Minibus và một điều khiển bộ nhớ bên ngoài (EMC).
1.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 sau đây thể hiện sự
phân bố địa chỉ của vùng bộ nhớ trong các thiết bị ARM:
Note: GPIO: General Purpose Input Output: các cổng ra vào chung
AHB: Advanced High-performance bus: Bus hỗ trợ hiệu suất cao
APB: Advanced Peripheral Bus: Bus hỗ trợ ngoại vi
Memory map
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.
Note: non-volatile memory: bộ nhớ không thay đổi được
Reserved address space: không gian dành riêng cho địa nhỉ
Tất cả các địa chỉ đăng ký ngoại vi được gán liên kết (đến ranh giới 32 bit) không phân biệt
kích thước của chúng. Điều này giúp cho phần cứng byte lập bản đồ làn đường đó sẽ được yêu
cầu để cho phép byte (8 bit) hoặc một nửa từ-(16 bit) truy cập để xảy ra ở ranh giới nhỏ hơn. Ý

PINSEL0 |=0x50; //set bit 4 và số 6 giữ nguyên các bit còn lại
PINSEL0 &=~0xA0; // xóa bit số 5 và số 7 giữ nguyên các bit còn lại
1.3 Các giao tiếp trên LPC2378
1.3.1 Ethernet
Khối Ethernet chứa đầy đủ tính năng của 10 Mbps hay 100 Mbps Ethernet MAC (Media
Access Controller) được thiết kế để cung cấp tối ưu hóa hiệu suất thông qua việc sử dụng DMA
làm tăng tốc phần cứng. Tính năng bao gồm một bộ điều khiển rộng rãi của sổ đăng ký, một nửa
hoặc toàn song hoạt động, kiểm soát dòng chảy, khung điều khiển, phần cứng tăng tốc cho
truyền thử lại, nhận được gói lọc và thức tỉnh hoạt động trên mạng LAN. Khung tự động truyền
tải và tiếp nhận với tan-Tập hợp tắt DMA-tải nhiều hoạt động từ CPU. Khối Ethernet và chia sẻ
CPU một AHB hệ thống con chuyên dụng (AHB2) được sử dụng để truy cập vào SRAM
Ethernet cho dữ liệu Ethernet, kiểm soát, và các thông tin trạng thái. Tất cả các AHB giao thông
ở LPC2300 diễn ra trên một hệ thống con AHB khác nhau, có hiệu quả tách hoạt động Ethernet
với phần còn lại của hệ thống. Các DMA Ethernet cũng có thể truy cập bộ nhớ off-chip thông
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ữ

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 UART
UART giao tiếp với bên ngoài qua 2 chân TXD và RXD (mũi tên màu đỏ ở trên hình)
Nhìn vào sơ đồ khối ta có thể thấy UART gồm có 4 bộ chính :
 Bộ Interrupt : điều khiển việc interrupt, lưu trữ status và khi nào có interrupt sẽ đẩy ra
chân UnINTR
 Bộ điều khiển Clock UnBRG điều khiển việc sinh ra CLK từ 2 dữ liệu vào là UnDLL và
UnDLM
 Bộ truyền dữ liệu : UnTX có 2 thanh ghi : thanh ghi chứa dữ liệu và thanh ghi truyền
serial ra ngoài thông qua chân TXD
 Bộ nhận dữ liệu : UnRX gồm có 2 thanh ghi là thanh ghi chứa dữ liệu và thanh ghi truyền
serial. Dữ liệu nhận vào ở chân RXD sẽ đẩy vào thanh ghi truyền serial rồi đưa vào thanh ghi
nhận dữ liệu.
Ngoài ra LPC2378 còn cho t các giao tiếp khác như I2S, 2 kênh CAN, SSP…

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

Hai thanh ghi trạng thái bao gồm thanh ghi chứa trạng thái chương trình hiện tại (cpsr) dùng để
giám sát các trang thái hoạt động hiện tại và thanh trạng thái chương trình lưu(spsr) dùng để lưu
trữ giá trị của cpsr khi có một trường hợp ngoại lệ xảy ra.
Các thanh ghi hiện Các thanh ghi ẩn

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.
-Bộ VXL hoạt động ở chế đô Supervisor khi hệ thong khởi động(reset)và khi nhân của hệ điều
hành hoạt động.
-Bộ VXL hoạt động ở chế độ System khi hệ thống có thể truy cập và đọc ,ghi toàn bộ thanh ghi

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