Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 23 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
23
Dung lượng
1,25 MB
Nội dung
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: Nguyễn Gia Thắng Nguyễn Xuân Thống Nguyễn Văn Việt Bùi Văn Linh HÀ NỘI 2011 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tổng quan vi điều khiển LPC2378 LPC2378 vi xử lý dựa tảng ARM dùng cho ứng dụng yêu cầu truyền nhận liệu LPC2378 phương tiện lý tưởng cho ứng dụng đa truyền thơng nối tiếp Nó tích hợp giao tiếp 10/100 Ethernet Media Access Controller (MAC), giao tiếp USB full speed với kB nhớ RAM, bốn cổng UART, kênh CAN(Controller Area Network), giao diện SPI, hai cổng đồng nối tiếp (SSP), ba cổng giao tiếp I2C, giao tiếp I2S, Minibus điều khiển nhớ bên (EMC) 1.1 Tổ chức nhớ địa thiết bị ngoại vi Bộ xử lý ARM quản lý không gian địa nhớ GB Bảng sau thể phân bố địa vùng nhớ thiết bị ARM: Note: GPIO: General Purpose Input Output: cổng 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ẽ vùng nhớ riêng biệt Bảng sau thể tồn khơng gian địa Vùng nhớ chứa địa vector ngắt phục vụ cho việc đánh lại địa nhớ, vấn đề đề cập phần sau LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Note: non-volatile memory: nhớ không thay đổi Reserved address space: không gian dành riêng cho địa Tất địa đăng ký ngoại vi gán liên kết (đến ranh giới 32 bit) khơng phân biệt kích thước chúng Điều giúp cho phần cứng byte lập đồ đường yêu cầu phép byte (8 bit) nửa từ-(16 bit) truy cập để xảy ranh giới nhỏ Ý nghĩa việc từ từ nửa đăng ký phải truy cập tất lúc Ví dụ, khơng thể đọc viết byte từ đăng ký riêng biệt LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Cả hai vùng nhớ cho thiết bị AHB(Advanced High-performance bus) APB(Advanced Peripheral Bus) để có khơng gian 2MB chia cho 128 thiết bị., thiết bị phân 16 KB Điều đơn giản việc giải mã địa cho thiết bị LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Địa thiết bị APB Bảng sau thể phân vùng thiết bị APB LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.2 Mô tả pinout LPC2378 gồm 144 chân Sau số chân tác dụng chúng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Cách thiết lập pin cho LPC2378 Mỗi chân LPC2378 có nhiều chức input, output hay làm chức cụ thể phần Ví dụ : P0[1] (port số chân số 1) làm chức input, output hay làm chức chân nhận liệu Control Area Network (CAN1) Ở biết chân có nhiều chức muốn sử dụng chức ta phải thiết lập số giá trị định cho ghi Như ta phải có ghi để chọn chức cho chân Thanh ghi PINSEL, có 10 ghi PINSEL0 -> PINSEL9 Mỗi chân LPC2378 tương ứng với bit ghi PINSEL Chức 00 Chức input,output 01 Chức số 10 Chức số 11 Chức số Mọi chân làm input,output, tùy vào chân mà chức số 1,2,3 Lấy ví dụ ta muốn set chân P0.2 TXD P0.3 RXD chân lại giữ nguyên ta dung câu lệnh : PINSEL0 |=0x50; //set bit số giữ nguyên bit cịn lại PINSEL0 &=~0xA0; // xóa bit số số giữ nguyên bit lại 1.3 Các giao tiếp LPC2378 1.3.1 Ethernet Khối Ethernet chứa đầy đủ tính 10 Mbps hay 100 Mbps Ethernet MAC (Media Access Controller) 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 bao gồm điều khiển rộng rãi sổ đăng ký, nửa tồn song hoạt động, kiểm số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 gói lọc thức tỉnh hoạt động mạng LAN Khung tự động truyền tải 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 chia sẻ CPU AHB hệ thống chuyên dụng (AHB2) sử dụng để truy cập vào SRAM Ethernet cho liệu Ethernet, kiểm sốt, thơng tin trạng thái Tất AHB giao thông LPC2300 diễn hệ thống AHB khác nhau, có hiệu tách hoạt động Ethernet LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com với phần lại hệ thống Các DMA Ethernet truy cập nhớ off-chip thơng qua điều khiển nhớ bên ngoài, SRAM vị trí AHB1, khơng sử dụng khối USB Tuy nhiên, sử dụng nhớ khác với Ethernet SRAM, đặc biệt offchip nhớ, làm chậm truy cập Ethernet vào nhớ tăng tải AHB1 Khối Ethernet giao diện Ethernet off-chip PHY sử dụng MII (Media Independent Interface) RMII(ReduceMII)giao thức MIIM chip (Media Independent Interface) bus nối tiếp Sơ đồ khối kiến trúc Ethernet 1.3.2 Giao tiếp USB Các Universal Serial Bus (USB) bus bốn dây có hỗ trợ giao tiếp máy chủ nhiều (lên đến 127) thiết bị ngoại vi Bộ điều khiển máy chủ cấp phát USB băng thông để gắn thiết bị thông qua giao thức dựa mã thông báo Bus hỗ trợ cắm cấu hình động thiết bị Mọi giao dịch thực máy chủ điều khiển Sơ đồ kiến trúc thiết bị điều khiển USB LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.3.3 Giao tiếp SPI (Serial Peripheral Interface) SPI giao diện song cơng nối tiếp Nó xử lý nhiều master slave kết nối với Bus cho Chỉ có master slave truyền liệu thời điểm định Trong thời gian chuyển liệu master luôn gửi đến16 bit liệu cho slave, slave luôn gửi byte liệu tới master SCLK: clock; MOSI: Master out slave in; MISO:Master in slave out SS: Slave select LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.3.4 I2C Inter-intergrated circuit -I2C giao thức để kết nối với thiết bị bên ngoài, LCD, nhớ ngoài, -Giao tiếp chuẩn I2C, thiết lập chế độ Master, Slave hay Master/Slave -Cơ chế trọng tài, cho phép truyền nhận liệu liên tục mà không bị gián đoạn liệu -Xung thay đổi phù hợp với tốc độ truyền -Truyền nhận chiều Master Slave -Đồng xung cho phép nhiều thiết bị với tốc độ truyền nhận khác giao tiếp kênh Nguyên lý hoạt động I2C Có loại liệu chấp nhận kênh truyền I2C * Dữ liệu gửi từ Master đến Slave Byte địa Slave Sau chuỗi byte liệu cần truyền Slave cần gửi trả ACK byte nhận * Dữ liệu gửi từ Slave đến Master Slave nhận byte đầu tiên, địa Slave, gửi Master Slave trả ACK Sau Salve gửi chuỗi byte liệu cần truyền Master cần gửi trả ACK byte nhận, ngoại trừ byte liệu cuối Sau nhận tất byte liệu, Master gửi NACK Master thiết bị tạo tất xung đồng tín hiệu START / STOP Trước tín hiệu START (cũng tín hiệu bắt đầu trình chuyển liệu tuầu tự khác), kênh truyền I2C tích cực Giao thức I2C hướng đến byte, hoạt động chế độ : Master truyền, Master nhận, Slave truyền Slave nhận LPC2378 có giao tiếp I2C, riêng I2C[0] điều khiển tắt thiết bị LPC2378 mà khơng ảnh hưởng đến thiết bị cịn lại kênh truyền LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết nối vật lý LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ khối I2C LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 1.3.4 Giao tiếp UART (Universal Asynchronous Receiver/Transmitter) UART : Universal Asynchronous Receiver Transmitter giao tiếp truyền thông nối tiếp bất đồng bộ, dùng để truyền nhận liệu nối tiếp LPC2378 hỗ trợ truyền nhận nối tiếp UART0, UART1, UART2 UART3 (truyền nhận 16 byte với chế FIFO) Kiến trúc : Mọi truyền nhận thông tin CPU UART thông qua APB Việc nhận tín hiệu UART : thơng qua chân RXD vào ghi dịch (UnRSR) sau liệu chuyển qua ghi chứa liệu (UART RX Buffer Register FIFO) liệu chờ CPU tới đọc Việc truyền tín hiệu UART : tương tự thế, CPU truyền liệu vào buffer ghi UnTHR (UART TX Holding Register FIFO), sau liệu từ ghi chuyển sang ghi dịch (UnTSR) từ từ truyền ngồi thơng qua chân TXD Về tốc độ truyền liệu UART cho phép cho thiết lập tốc độ baud thông qua ghi Và ta phải tự tìm tốc độ baud hợp lý (tức xác suất lỗi đường truyền nhất) Vấn đề thảo luận phần sau Các thiết lập interrupt ghi UnIER UnIIR Thông tin từ việc truyền nhận (2 chân TX RX) lưu ghi UnLSR Thông tin điều khiển nằm ghi UnLCR LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ khối UART UART giao tiếp với bên qua chân TXD RXD (mũi tên màu đỏ hình) LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Nhìn vào sơ đồ khối ta thấy UART gồm có : Bộ Interrupt : điều khiển việc interrupt, lưu trữ status có interrupt đẩy chân UnINTR Bộ điều khiển Clock UnBRG điều khiển việc sinh CLK từ liệu vào UnDLL UnDLM Bộ truyền liệu : UnTX có ghi : ghi chứa liệu ghi truyền serial thông qua chân TXD Bộ nhận liệu : UnRX gồm có ghi ghi chứa liệu ghi truyền serial Dữ liệu nhận vào chân RXD đẩy vào ghi truyền serial đưa vào ghi nhận liệu Ngoài LPC2378 cho t giao tiếp khác I2S, kênh CAN, SSP… LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Sơ đồ khối LPC2378 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Tìm hiểu lõi ARM7 2.1 Mô tả sơ đồ kiến trúc lõi, chức khối Kiến trúc ARM thiết kế chuyên dụng cho ứng dụng nhúng.Do hiên thực hóa chíp ARM thiết kê cho ứng dụng nhỏnhưng có hiệu cao tiêu thụ it lượng Lõi Arm thiết kế theo kiến trúc RISC chứa kiến trúc RISC chung -Các ghi đồng dạng -Kiến trúc dạng Load-Strore Các địa load/store xác định từ nội dung ghi lệnh -Các kiểu đánh địa đơn giản -Các lệnh có độ dài cố định đồng dạng đơn giản hóa việc giải mã câu lệnh -Thay dùng chu kì xung nhịp cho tất điah lệnh ARM thiết kế để cho tối giản số chu kì xung nhịp cho địa lệnh tăng phức tạp cho lệnh đơn lẻ Ngoài kiến trúc ARM cung cấp : -Điểu khiển khối logic số học (ALU) dịch chuyển(Shifter) lệnh xử lí liêu để tối đa hóa việc sử dung ALU dịch chuyển -Các chế độ địa tự tăng tự giảm để tối ưu hóa lênh vịng lặp -Các lệnh Load /Store để tối đa liêu truyền qua Nhờ tối ưu kiến trúc RISC bản, lõi ARM đạt cân hiệu cao kích thước mã nguồn cơng suất tiêu thụ thấp 2.2 Các ghi vai trò ghi Lõi ARM có 37 ghi có 31 ghi đa dụng.Tuy nhiên thời điểm có 16 ghi đa dụng ghi hiển thị.Các ghi khác dạng ẩn hiển thị số chế độ hoạt đơng riêng Các ghi đa dụng lưu trữ liệu địa Các ghi đánh dấu kí hiệu r.Tất ghi 32 bit Trong ghi đa dụng trên, có ghi cịn dùng để chức nhiệm vụ đăc biệt riêng:r13, r14,r15 -Thanh ghi r13 sử dụng làm stack pointer (sp) -Thang ghi r14 gọi ghi kết nố i(lr) chứa địa quay lại chương trình chạy chương trình -Thanh ghi r15 đếm chương trình (pc) chứa địa lênh Hai ghi trạng thái bao gồm ghi chứa trạng thái chương trình (cpsr) dùng để giám sát trang thái hoạt động trạng thái chương trình lưu(spsr) dùng để lưu trữ giá trị cpsr có trường hợp ngoại lệ xảy LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Các ghi Các ghi ẩn Các ghi lõi ARM 2.3 Các ngoại lệ ,xử lí ngoại lệ, bảng Vector ngoại lệ Ngoại lệ quan trọng hệ thống nhúng, khơng có ngoại lệ phát triển hệ thống nhiệm vụ phức tạp Một ngoại lệ để ngăn chăn thực thi 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 RESET SVC Hướng dẫn lấy không ABT truy cập nhớ Không xác định thị UND LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Có chế độ hoạt động ngoại lệ VXL; chế độ đặc quyền (Abort, fast interrupt request, interrupt request, supervisor, system, undefined) chế độ ko đặc quyền user.Sơ đồ ghi chế độ hình Chế độ hoạt động System sử dụng ghi chế độ user Các chế độ hoạt động ghi Hoạt đông chế độ sau -Bộ VXL hoạt đông chế độ Abort vi xử lí khơng thể truy cập nhớ -Bộ VXL hoạt động chế độ interrupt request(IRQ) fast interrupt request(FIQ) tương ứng với hai mức ngắt chip ARM -Bộ VXL hoạt động chế đô Supervisor hệ thong khởi động(reset)và nhân hệ điều hành hoạt động -Bộ VXL hoạt động chế độ System hệ thống truy cập đọc ,ghi tồn ghi cpsr chế độ đặc biệt chế độ user -Bộ VXL chuyển sang chế độ Undefined VXL gặp lênh không xác định không hỗ trợ -Bộ VXL hoạt động chế độ User để chạy chương trình ứng dụng thơng thường Đối với chế độ có ghi cho chế độ LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Bảng bảng vector xác với dẫn nhánh Nó bảng hướng dẫn ngành cốt lõi ARM đến ngoại lệ nâng lên Những hướng dẫn địa điểm phần cụ thể nhớ địa có liên quan đến ngoại lệ Nó ln ln có dẫn nhánh hình thức sau đây: • B Hướng dẫn sử dụng để làm phân nhánh đến vị trí nhớ với địa "Add" tương đối so với vị trí pc • LDR pc, [pc, # offset] Hướng dẫn sử dụng để tải chương trình truy cập đăng ký giá trị cũ + offset giá trị "offset" • LDR pc, [pc, #-0xff0] Hướng dẫn sử dụng điều khiển ngắt có sẵn, để tải ISR cụ thể địa từ bảng vector Việc gián đoạn điều khiển vector (VIC) đặt địa 0xfffff000 nhớ địa sở VIC Các ISR địa ln ln nằm 0xfffff030 • MOV pc, # Tải chương trình truy cập giá trị "ngay lập tức" Một bảng vector xác với dẫn nhánh LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Chúng ta thơng báo bảng vector trường hợp ngoại lệ xử lý FIQ đặt cuối vector bảng, khơng cần phải có dẫn nhánh, đặt xử lý ngoại lệ trực tiếp xử lý có bắt đầu nhanh cách loại bỏ thời gian phân nhánh Tại địa chúng tơi tìm thấy bước nhảy hướng dẫn 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 :tất lệnh thực ghi.Các lệnh ARM thường có đến tốn tử Mặc dù phiên kiến trúc ARM khác hỗ trợ tập lệnh khác phiên thường tương thích nguợc với phiên cũ +Danh sách lệnh : -Các lệnh xử lí 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 liệu Load-Store Tập lênh thumb:Một tính quan trọng ARM hỗ trợ tậo lệnh thumb Tập lệnh Thumb bao gồm lệnh 16 bit Do chúng chiếm it nhớ có hiệu tương đối cao liệu 15 bít Đối với ứng dụng nhúng cần tối ưu nhớ ,mật độ lênh quan trọng LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... luanvanchat@agmail.com Tìm hiểu lõi ARM7 2.1 Mô tả sơ đồ kiến trúc lõi, chức khối Kiến trúc ARM thiết kế chuyên dụng cho ứng dụng nhúng. Do hiên thực hóa chíp ARM thiết kê cho ứng dụng nhỏnhưng có... luanvanchat@agmail.com Các ghi Các ghi ẩn Các ghi lõi ARM 2.3 Các ngoại lệ ,xử lí ngoại lệ, bảng Vector ngoại lệ Ngoại lệ quan trọng hệ thống nhúng, khơng có ngoại lệ phát triển hệ thống nhiệm vụ phức tạp Một ngoại... nhận LPC2378 có giao tiếp I2C, riêng I2C[0] điều khiển tắt thiết bị LPC2378 mà khơng ảnh hưởng đến thiết bị cịn lại kênh truyền LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Kết nối