Florinio

New Member

Download miễn phí Đề tài Tìm hiểu ARM LPC2378





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.



Để tải bản Đầy Đủ của tài liệu, xin Trả lời bài viết này, Mods sẽ gửi Link download cho bạn sớm nhất qua hòm tin nhắn.
Ai cần download tài liệu gì mà không tìm thấy ở đây, thì đăng yêu cầu down tại đây nhé:
Nhận download tài liệu miễn phí

Tóm tắt nội dung tài liệu:

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) hay một nửa từ-(16 bit) truy cập để xảy ra ở ranh giới nhỏ hơn. Ý
nghĩa của việc này là từ từ và nửa đăng ký phải được truy cập tất cả cùng một lúc.
Ví dụ, nó không thể đọc hay viết các byte trên của một từ đăng ký riêng biệt.
Cả hai vùng nhớ cho thiết bị AHB(Advanced High-performance bus) và APB(Advanced
Peripheral Bus) để 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ị.
Địa chỉ thiết bị APB.
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 hay 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.
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ì.
Lấy ví dụ như ta muốn set chân P0.2 là TXD và P0.3 là RXD còn các chân còn lại giữ nguyên
thì ta sẽ dung câu lệnh :
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 đủ chức 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. chức 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
hay 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) hay
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 hay 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.
-Truyền nhận 2 chiều giữa Master và Slave.
-Đồng bộ bằng xung tuần tự cho phép nhiều thiết bị với tốc độ truyền nhận khác nhau giao tiếp
trên cùng một kênh.
Nguyên lý hoạt động của I2C
Có 2 loại dữ liệu được chấp nhận trên kênh truyền I2C.
* Dữ liệu được gửi từ Master đến Slave. Byte đầu tiên là địa chỉ của Slave. Sau đó là chuỗi byte
dữ liệu cần truyền. Slave cần gửi trả về ACK đối với mỗi byte đã nhận.
* Dữ liệu gửi từ Slave đến Master. Slave nhận byte đầu tiên, cũng là địa chỉ của Slave, được gửi
bởi Master. Slave trả về ACK. Sau đó Salve gửi chuỗi byte dữ liệu cần truyền. Master cần gửi trả
về ACK đối với mỗi byte đã nhận, ngoại trừ byte dữ liệu cuối cùng. Sau khi nhận tất cả các byte
dữ liệu, Master...
 
Các chủ đề có liên quan khác

Các chủ đề có liên quan khác

Top