TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300

97 343 0
TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300, TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH - - Đồ án môn học Thiết Kế Luận Lý TỔNG QUAN VI XỬ LÝ LPC2300 HƯỚNG DẪN SỬ DỤNG BOARD MCB 2300 Giảng viên hướng dẫn Nguyễn Quốc Tuấn Sinh viên thực Nguyễn Thanh Bi – 51100264 Đỗ Minh Chiến - 51100372 TP HCM, 12/2013 I Phục Lục Hình IV Phụ Lục Bảng VI LỜI CẢM ƠN CHƯƠNG MỞ ĐẦU I TỔNG QUAN VỀ VI XỬ LÝ LPC2300 I.1 Mô tả chung LPC2300 I.2 Đặc điểm I.3 Sơ đồ khối I.4 Địa Chỉ Bộ Nhớ Trong LPC2300 10 I.4.1 Tổ chức nhớ địa thiết bị ngoại vi 10 I.4.2 Phân vùng nhớ 11 I.4.3 Phân vùng nhớ thiết bị ngoại vi 16 I.4.4 Địa thiết bị APB 18 I.4.5 Phân vùng lại nhớ LPC2300 boot ROM 19 I.5 Khối Điều Khiển Hệ Thống 23 I.5.1 Giới thiệu 23 I.5.2 Chân kết nối khối điều khiển hệ thống 23 I.5.3 Các ghi liên quan 24 I.5.4 Reset 24 I.5.5 External interrupt 27 I.6 Mô Đun Tăng Tốc Bộ Nhớ (Memory Acceleration Module - MAM) 29 I.7 Khối Điều Khiển Vectơ Interrupt (Vectored Interrupt Controller - VIC) 29 I.7.2 Giới thiệu 29 I.7.2 Các loại ghi VIC 30 I.7.3 Kiến trúc Interrupt 31 I.7.4 Nguồn Interrupt 32 I.8 Các Thiết Lập Chân Cho LPC2300 34 I I.9 Tổng Quan Chức Năng Cổng Input/Ouput Vi Xử Lý LPC2300(GPIO) 35 I.9.1 Đặc điểm chung 35 I.9.2 Địa ghi 35 I.9.3 Một số code mẫu sử dụng GPIO 37 I.10 Ethernet 38 I.10.1 Đặc điểm chung 39 I.10.2 Kiến trức 40 I.10.3 DMA 40 I.10.3 Gói Etherrnet 41 I.10.4 Mô tả chức chân 41 I.10.5 Địa ghi 42 I.11 CAN 44 I.11.1 Định nghĩa 44 I.11.2 Kiến trúc 44 I.11.3 Địa nhớ 46 I.11.4 Thanh ghi điều khiển CAN 46 I.12 USB 48 I.12.1 Định nghĩa 48 I.12.2 Kiến trúc 48 I.12.3 Địa ghi 49 I.13 UART 50 I.13.1 Giới thiệu 50 I.13.2 Kiến trúc 50 I.13.3 Địa ghi 53 I.14 SPI 59 I.14.1 Định nghĩa 59 I.14.2 Truyền liệu SPI 59 I.14.3 Địa ghi 60 I.14.4 Kiến trúc 65 I.15 I2C 66 I.15.1 Giới thiệu 66 I.15.2 Nguyên lý hoạt động I2C 66 I.15.3 Các chế độ hoạt động I2C 66 II I.15.4 Kết nối vật lý 70 I.15.5 Sơ đồ khối I2C 71 I.15.6 Địa ghi 73 I.16 TIMER 77 I.16.1 Giới thiệu 77 I.16.2 Hoạt động TIMER 77 I.16.3 Địa ghi 77 I.16.4 Ví dụ hoat động Timer 78 I.16.5 Kiến trúc 79 II CÁCH SỬ DỤNG BOARD MCB2300 81 II.16.1 Giới thiệu board thực tập MCB 2300 81 II.16.2 Kit thí nghiệm MCB2300 81 II.16.3 Đặc điểm MCB2300.board 82 II.16.4 Chuẩn bị phần cứng 82 II.16.5 Chuẩn bị phần mềm 83 II.16.6 Cài đặt board thí nghiệm MCB2300 83 II.16.7 Thiết lập jumper board MCB2300 87 PHỤ LỤC 88 ĐIỀU KHIỂN LED 88 ĐIỀU KHIỂN LCD 89 III Phục Lục Hình Hình Sơ đồ khối LPC2361/62 Hình Sơ đồ khối LPC2364/65/66/67/68 Hình Sơ đồ khối LPC2377/78 Hình Sơ đồ khối LPC2387 Hình Sơ đồ khối LPC2388 Hình Phân vùng nhớ LPC2461/63 11 Hình Phân vùng nhớ LPC2364/65/66/67/68 12 Hình Phân vùng nhớ LPC2377/78 13 Hình Phân vùng nhớ LPC2387 14 Hình 10 Phân vùng nhớ LPC2388 15 Hình 11 Phân vùng nhớ Thiết bị ngoại vi 16 Hình 12 Phân vùng nhớ thiết bị AHB 17 Hình 13 Bộ nhớ mức độ thấp cho thấy trình tái phân vùng nhớ 22 Hình 14 Thiết lập lại sơ đồ khối bao gồm đếm thời gian wakeup 25 Hình 15 Ví dụ khởi động lại sau reset 26 Hình 16 Sơ đồ khối đơn giản MAM 29 Hình 17 Sơ đồ khối VIC 31 Hình 18 Sơ đồ khối Etherrnet 40 Hình 19 Ethernet packet fields 41 Hình 20 Khối điều khiển CAN 44 Hình 21 Giao diện bố trí TXB từ đến mở rộng 45 Hình 22 Giao diện bố trí RXB từ đến mở rộng 45 Hình 23 Sơ đồ khối thiết bị điều khiển USB 48 Hình 24 Sơ đồ khối LPC2300 UART0, 51 Hình 25 Sơ đồ khối LPC2300 UART1 52 Hình 26 Autobaud mode 55 Hình 27 Autobaud mode 56 Hình 28 Sơ đồ flow chart 57 Hình 29 Truyền liệu SPI (CPHA = CPHA = 1) 59 Hình 30 Sơ đồ khối SPI 65 Hình 31 Định dạng chế độ Master truyền 67 Hình 32 Định dạng chế độ Master nhận 68 Hình 33 Chế độ Master nhận chuyển thành Master truyền sau gửi START lặp lại 68 Hình 34 Định dạng chế độ Slave nhận 69 Hình 35 Định dạng chế độ Slave truyền 69 Hình 36 Cấu hình bus I2C 70 Hình 37 Sơ đồ khối I2C 71 Hình 38 Xung clock đồng 72 Hình 39 Địa ghi I2C 73 Hình 40 Chu kì timer với PR=2, MRx=6 interrupt, reset kích hoạt 79 IV Hình 41 Chu kì timer với PR=2, MRx=6 interrupt, stop kích hoạt 79 Hình 42 Sơ đồ khối Timer 80 Hình 43 Board MCB 2370 82 Hình 44 Board MCB2300 với cổng USB 83 Hình 45 Board MCB2300 với thích hình 84 Hình 46 Board MCB2300 với kết nối ULink 84 Hình 47 Setup ARM 85 V Phụ Lục Bảng Bảng Đặc điểm tổng quát LPC2300 Bảng Bảng Phân bố địa vùng nhớ ARM 10 Bảng Phân vùng địa thiết bị APB 18 Bảng Địa ô nhớ ngoại lệ ARM 19 Bảng Những chế độ hoạt động nhớ LPC2300 19 Bảng Thanh ghi điều khiển phân vùng nhớ 21 Bảng Thanh ghi điều khiển phân vùng nhớ - mô tả bit địa 0xE01F C040 21 Bảng Bộ nhớ mức độ thấp cho thấy trình tái phân vùng nhớ 23 Bảng Tóm tắt ghi điều khiển hệ thống 24 Bảng 10 Sự tương tác nguồn Reset 27 Bảng 11 Các ghi External interrupt 27 Bảng 12 Thanh ghi Flag External interrupt (EXTINT) 28 Bảng 13 Thanh ghi Mode External interrupt (EXTMODE) 28 Bảng 14 Thanh ghi Polar External interrupt (EXTPOLAR) 28 Bảng 15 Các loại ghi VIC 30 Bảng 16 Sự kết nối nguồn Interrupt đến VIC 32 Bảng 17 Chức chân 34 Bảng 18 Địa ghi chức 34 Bảng 19 Địa ghi GPIO (legacy APB accessible registers) 35 Bảng 20 Địa ghi GPIO (local bus accessible registers - enhanced GPIO features) 36 Bảng 21 Địa ghi interrupt GPIO 37 Bảng 22 Bảng viết tắt, định nghĩa phần 38 Bảng 23 Ethernet RMII pin descriptions 41 Bảng 24 Ethernet MIIM pin descriptions 41 Bảng 25 Địa ghi Etherrnet 42 Bảng 26 Địa nhớ khối CAN 46 Bảng 27 Địa ghi điều khiển CAN 46 Bảng 28 Địa ghi thiết bị USB 49 Bảng 29 Mối quan hệ liệu SPI giai đoạn Clock 60 Bảng 30 Địa ghi SPI 60 Bảng 31 Mô tả chức bit ghi S0SPCR 61 Bảng 32 Mô tả chức bit ghi S0SPSR 63 Bảng 33 Mô tả bit ghi SPTCR 64 Bảng 34 Mô tả bit ghi SPTSR 64 Bảng 35 Thanh ghi I2CnCONSET sử dụng chế độ Master 67 Bảng 36 Thanh ghi I2CnCONSET sử dụng chế độ Slave 68 Bảng 37 I2C PIN 70 Bảng 38 Mô tả bit ghi I2CCONSET 75 Bảng 39 Mô tả bit ghi I2CCONCLR 75 VI LỜI CẢM ƠN Trên thực tế thành công mà không gắn liền với hỗ trợ, giúp đỡ dù hay nhiều, dù trực tiếp hay gián tiếp người khác Trong suốt thời gian từ bắt đầu học tập giảng đường đại học đến nay, em nhận nhiều quan tâm, giúp đỡ quý Thầy Cô, gia đình bạn bè Với lòng biết ơn sâu sắc nhất, em xin gửi đến quý Thầy Cô Khoa Khoa Học & Kỹ Thuật Máy Tính – Trường Đại Học Bách Khoa Thành Phố Hồ Chí Minh với tri thức tâm huyết để truyền đạt vốn kiến thức quý báu cho chúng em suốt thời gian học tập trường Và đặc biệt, học kỳ này, Khoa tổ chức cho chúng em tiếp cận với môn học mà theo em hữu ích sinh viên ngành Kỹ Thuật Máy Tính tất sinh viên thuộc chuyên ngành Khoa Học Kĩ Thuật khác Đó môn học “Đồ Án Thiết Kế Luận Lý” Em xin chân thành cảm ơn Thầy Nguyễn Quốc Tuấn tận tâm hướng dẫn chúng em buổi nói chuyện, thảo luận lĩnh vực vi xử lý Nếu lời hướng dẫn, dạy bảo thầy em nghĩ thu hoạch em khó hoàn thiện Một lần nữa, em xin chân thành cảm ơn thầy Bài thu hoạch thực khoảng thời gian gần tuần Bước đầu vào thực tế, tìm hiểu lĩnh vực vi xử lý, kiến thức em hạn chế nhiều bỡ ngỡ Do vậy, không tránh khỏi thiếu sót điều chắn, em mong nhận ý kiến đóng góp quý báu quý Thầy Cô bạn học lớp để kiến thức em lĩnh vực hoàn thiện Sau cùng, em xin kính chúc quý Thầy Cô Khoa Khoa Học & Kỹ Thuật Máy Tính Thầy Nguyễn Quốc Tuấn thật dồi sức khỏe, niềm tin để tiếp tục thực sứ mệnh cao đẹp truyền đạt kiến thức cho hệ mai sau Trân trọng TP HCM, ngày tháng1 năm 2014 Nhóm Sinh viên thực KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang LỜI MỞ ĐẦU Trong nghiệp cộng nghiệp hóa đại hóa nay, khoa học kỹ thuật chiếm vị trí đặc biệt Công nghệ chạy đua nối tiếp ngày Ngay từ đầu với định hướng xây dựng kiến thức tổng quát phải cứng tảng trước, việc nghiêm cứu vi xử lý – phần quan trọng công nghệ điều mà sinh viên lĩnh vực kỹ thuật máy tính cần nghiêm cứu Chúng ta cần phải nắm bắt gì? Đó tổng quan vi xử lý nguyên lý hoạt động cách sử dụng Đó lý nhóm nghiêm cứu đề tài KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang I TỔNG QUAN VỀ VI XỬ LÝ LPC2300 I.1 Mô tả chung LPC2300 LPC2300 vi xử lý dựa tảng CPU ARM với mô thời gian thực kết hợp với vi điều khiển nhúng nhớ flash tốc độ cao LPC2300 phù hợp với ứng dụng truyền nhận liệu tuần tự, ứng dụng giao tiếp nối tiếp đa Vi xử lý tính hợp giao tiếp 10/100 Ethernet Media Access Controller (MAC), giao tiếp USB 2.0 Full Speed, giao tiếp UART, kênh CAN, cổng SPI, cổng SSP (Synchronous Serial Ports), giao tiếp I2C, giao tiếp I2S MiniBus Thuật ngữ LPC2300 áp dụng cho toàn họ vi xử lý gồm :  LPC2361/62  LPC2364/65/66/67/68  LPC2377/78  LPC2387  LPC2388 Ứng dụng điều khiển công nghiệp, hệ thống y tế, thông tin liên lạc, Protocol converter KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang I2CDAT có nhiệm vụ chứa liệu truyền liệu vừa nhận CPU đọc ghi vào ghi Dữ liệu I2CDAT luôn chuyển từ phải sang trái: bit truyền MSB (bit 7), sau byte nhận, bit liệu nhận đặt MSB I2CDAT I.15.6.5 I2C Slave Address Register (I2C[0/1/2]ADR - 0xE001 C00C, 0xE005 C00C, 0xE008 000C) I2CADR thiết lập chế độ Slave, chế độ master ghi hiệu lực I.15.6.6 I2C SCL High Duty Cycle Register (I2C[0/1/2]SCLH - 0xE001 C010, 0xE0015 C010, 0xE008 0010) Tính cho SCL lựa chọn khoảng thời gian HIGH I.15.6.7 I2C SCL Low Duty Cycle Register (I2C[0/1/2]SCLL - 0xE001 C014, 0xE0015 C014, 0xE008 0014) Tính cho SCL lựa chọn khoảng thời gian LOW I.15.6.8 Lựa chọn c tốc độ liệu I2C duty cyclethích hợp Phần mềm phải set giá trị I2SCLH I2SCLL để lựa chọn tốc độ liệu duty cycle thích hợp KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 76 I.16 TIMER I.16.1 Giới thiệu Có chức : ta dùng làm đồng hồ để chạy thời gian, đếm số kiện (bên hay bên ngoài) Sau khoảng thời gian quy định trước hay sau số kiện timer sinh interrupt (chương trình nhảy đến địa chứa hàm interrupt thực thi hàm đó) LPC2378 hỗ trợ timer 0,1,2,3 , tất 32 bit I.16.2 Hoạt động TIMER Thanh ghi TC : ghi đếm (thời gian hay kiện) Cứ sau thời gian hay kiện ghi TC tăng lên Tăng đến giá trị ghi MRn (n = 0-3) sinh interrupt Interrupt reset TC, stop timer (Tùy vào thiết lập giá trị cho ghi TnMCR) I.16.3 Địa ghi I.16.3.1 Interrupt Register (T[0/1/2/3]IR - 0xE000 4000, 0xE000 8000, 0xE007 0000, 0xE007 4000) TnIR gồm bit interrupt Khi interrupt tạo bit TnIR set mức cao, không mức thấp I.16.3.2 Timer Control Register (T[0/1/2/3]CR - 0xE000 4004, 0xE000 8004, 0xE007 0004, 0xE007 4004) TCR sử dụng để kiểm soát hoạt động Timer / Counter I.16.3.3 Count Control Register (T[0/1/2/3]CTCR - 0xE000 4070, 0xE000 8070, 0xE007 0070, 0xE007 4070) TnCTCR sử dụng để lựa chọn chế độ Timer Counter, chế độ Counter để chọn chân cạnh để đếm I.16.3.4 Timer Counter registers (T0TC - T3TC, 0xE000 4008, 0xE000 8008, 0xE007 0008, 0xE007 4008) TnTC tăng lên kích hoạt đếm I.16.3.5 Prescale register (T0PR - T3PR, 0xE000 400C, 0xE000 800C, 0xE007 000C, 0xE007 400C) TnPR quy định cụ thể giá trị tối đa Prescale Counter KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 77 I.16.3.6 Prescale Counter register (T0PC - T3PC, 0xE000 4010, 0xE000 8010, 0xE007 0010, 0xE007 4010) TnPC kiểm soát phân chia PCLK số giá trị không đổi trước áp dụng cho Timer Counter Điều cho phép kiểm soát độ phân giải đếm thời gian so với thời gian tối đa trước tràn đếm thời gian I.16.3.7 Match Registers (MR0 - MR3) MRn liên tục so sánh giá trị với Timer Counter : hai giá trị hoạt động tự kích hoạt Hoạt động tạo interrupt, reset Timer Counter, đừng đếm điều khiển ghi MCR I.16.3.8 Match Control Register (T[0/1/2/3]MCR - 0xE000 4014, 0xE000 8014, 0xE007 0014, 0xE007 4014) MCR sử dụng để kiểm soát hoạt động thực MRn giá trị Timer Counter I.16.3.9 Capture Registers (CR0 - CR3) Mỗi Capture đăng ký kết hợp với thiết bị chân load giá trị Timer Counter vấn đề xảy chân Các thiết lập ghi Capture Control Register xác định chức kích hoạt, liệu có capture tích cực cạnh lên/cạnh xuống chân hay không I.16.3.10 Capture Control Register (T[0/1/2/3]CCR - 0xE000 4028, 0xE000 8028, 0xE007 0028, 0xE007 4028) TnCCR sử dụng để kiểm soát xem bốn ghi Capture đồng thời nạp với giá trị vào Timer Counter Capture giữ xảy ra, có interrupt tạo I.16.3.11 External Match Register (T[0/1/2/3]EMR - 0xE000 403C, 0xE000 803C, 0xE007 003C, 0xE007 403C) TnEMR cung cấp kiểm soát tình trạng chân EM I.16.4 Ví dụ hoat động Timer KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 78 Hình 40 Chu kì timer với PR=2, MRx=6 interrupt, reset kích hoạt Hình 41 Chu kì timer với PR=2, MRx=6 interrupt, stop kích hoạt I.16.5 Kiến trúc Nhìn vào hình bên ta thấy cách tổng quát hoạt động timer: Đầu tiên clock PCLK đưa vào Prescale Counter (thanh ghi điều khiển việc chia clock PCLK) cụ thể PCLK vào ghi Prescale Counter tăng lên 1, tăng lên đến giá trị ghi Precale Register ghi TC tăng lên Thanh ghi TC tăng lên với giá trị ghi MRn sinh interrupt Ngoài có ghi TCR (để điều khiển có cho timer chạy hay không) Và ghi Capter Register để load giá trị ghi TC vào cần thiết KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 79 Hình 42 Sơ đồ khối Timer KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 80 II CÁCH SỬ DỤNG BOARD MCB2300 II.16.1 Giới thiệu board thực tập MCB 2300 Board thí nghiệm MCB2300 cho phép tạo chạy chương trình họ thiết bị LPC23xx NXP Board gồm có giao diện serial, load, đầu vào analog, giao diện CAN, hình LCD, USB, Ethernet, đèn LED, tất khỏi đầu để phát triển ARM Board thí nghiệm có phiên khác MCB2360, MCB2370, MCB 2387 MCB 2388  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  Board MCB 2387 thông dụng với vi điều khiển NXP LPC2387  Board MCB 2388 thông dụng với vi điều khiển NXP LPC2388 Board MCB 2370 sử dụng vi điều khiển NXP LPC2378 có gói kích thước lớn số lượng pin so với NXP LPC2368 LPC2387 Board MCB 2387 2388 có thêm USB "A" kết nối mini-USB để hỗ trợ USB-OTG II.16.2 Kit thí nghiệm MCB2300  Bên 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 công cụ phát triển ARM  Một CD-ROM chứa: o Bản dùng thử chương trình “RealView MDK-ARM Microcontroller Development Kit” o Một số chương trình ví dụ chạy board MCB2300 o File hướng dẫn sử dụng board MCB2300  Chương trình ví dụ chạy board MCB2300 tìm thấy KEIL\ARM\RV30\BOARDS\KEIL\MCB2300 CD-ROM Tất ví dụ dịch chạy dùng thử KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 81 II.16.3 Đặc điểm MCB2300.board  LPC2300 MCUs  58KB On-chip RAM (for MCB2370)  98KB On-chip RAM (for MCB2388)  512KB On-chip FLASH  Có hai cổng giao tiếp serial  Có hai cổng giao tiếp CAN  Cổng Ethernet  LCD hiển thị  LF Amplifier  Điều khiển điện áp tương tự cho cổng vào ADC  Giao diện JTAG để nạp chạy debug Hình 43 Board MCB 2370 II.16.4 Chuẩn bị phần cứng Để sử dụng board MCB2300, cần chuẩn bị:  Board thí nghiệm MCB2300  Máy tính chuẩn IBM trống:  cổng USB : cổng cung cấp nguồn điện cổng dùng để  cổng COM RS-232 sử dụng cách nạp ISP thông qua cổng giao tiếp download/debug serial KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 82  Bộ giao tiếp JTAG : bao gồm Adapter JTAG dây cáp nối USB  Trong TH cần sử dụng tiện ích “Flash Magic Utility” dây cáp serial, đầu đực/1 đầu cái, ngắn 3m II.16.5 Chuẩn bị phần mềm  Hệ điều hành Microsoft Windows  Phần mềm “Keil Vision”  Phần mềm “RealView MDK-ARM Evaluation Tools”  Các ví dụ viết cho MCB2300 kèm theo MDK-ARM, DB-ARM Keil ARM Evalution Toolkits II.16.6 Cài đặt board thí nghiệm MCB2300 Sau chuẩn bị đầy đủ yêu cầu phần cứng phần mềm, tiến hành bước sau để cài đặt sẵn sàng thí nghiệm board MCB2300 II.16.6.1 Cài đặt board Board MCB2300 dùng nguồn điện từ cổng USB Hình 44 Board MCB2300 với cổng USB Board MCB2300 kết nối trực tiếp đến phần mềm “Keil Vision Debugger” adapter “Keil ULINK USB-JTAG”, không cần cài đặt thêm phần mềm board KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 83 II.16.6.2 Các thành phần quan trọng board MCB2300 Hình 45 Board MCB2300 với thích hình II.16.6.3 Kết nối với U-LINK Hình 46 Board MCB2300 với kết nối ULink  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 board MCB2300  Bước 3: cấp nguồn cho board MCB2300 cabke USB  Bước 4: thiết lập mức xung JTAG cho adapter U-LINK  Cho hoạt động board MCB2300 KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 84  Trong phần mềm Vision, thiết lập Debug hộp thoại Project\Options for Target\Debug  Chọn “Use: ULINK ARM Debugger” danh sách thả xuống  Click lên nút “Setting” để mở hộp thoại “ARM Target Driver Setup”  Danh sách xuống “Max JTAG Clock” dùng để định xung JTAG cao 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 ULINK2 JTAG có thêm chân RTCK (Return Clock) Nếu sử dụng adapter ULINK2, thiết lập Max JTAG Clock 200 kHz RTCK Hình 47 Setup ARM II.16.6.4 Kết nối thông qua giao tiếp Serial  Bước 1, thiết lập jumper board MCB2300  J9 J10 : ON  J13 : OFF  Bước 2, cấp nguồn cho board MCB2300 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 board  Bước 4, Xác nhận kết nối tiện ích “Flash Magic”  Chạy “Flash Magic” thiết lập thông số sau: KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 85  Xác nhận cổng COM lệnh ISP – Read Device Signature  Cừa sổ sau hiển thị thông số kết nối KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 86 II.16.7 Thiết lập jumper board MCB2300 Các jumper board MCB2300, thông số mặc định TH kết nối board thông qua ULINK2 Jumper State Description J1 - USB (D-) ON Connects USB Line D- to the USB connector J2 - USB (D+) ON Connects USB Line D+ to the USB connector J3 - AOUT ON Connects AOUT via LF amplifier to the loudspeaker J4 - Not used J5 - UMODE ON Allows soft-connect of the USB device by issuing a software restart via P0.14 J6 - AD0.0 ON Connects POT1 potentiometer to AIN0 for analog input demonstration J8 - INT0 ON Enable INT0 Push Button J9 - RST ON Enables Reset via COM0 J10 - ISP OFF Disables In-System Programming via COM0 J11 - LED ON Enables Port2.0 - Port2.7 LEDs J13 - ETM ON Enables the Embedded Trace Macrocell (so that the USB soft-connect and the LED's can be used) KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 87 PHỤ LỤC ĐIỀU KHIỂN LED Trên board MCB2300 gồm có led nhỏ, từ P2.0 đến P2.7 Để sử dụng ta việc set chân chân output Điều thực thông qua hàm LED_Init /* Function that initializes LEDs */ void LED_Init(void) { PINSEL10 = 0; FIO2DIR /* Disable ETM interface, enable LEDs */ = 0x000000FF; /* P2.0 defined as Outputs */ FIO2MASK = 0x00000000; } Ngoài để điều khiển xuất giá trị định LED ta dùng hàm bật - LED_On, tắt LED_Off xuất - LED_Out /* Function that turns on requested LED */ void LED_On (unsigned int num) { FIO2SET = (1 [...]... Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 25 Khi bộ vi xử lý bắt đầu xử lý tại địa chỉ 0, đó là bước đầu Reset vector ánh xạ từ Boot Block Vào thời điểm đó, tất cả các thanh ghi xử lý và thiết bị ngoại vi đã được khởi tạo các giá trị xác định Sau đây là một ví dụ về mối liên hệ giữa RESET, IRC, và tình trạng xử lý khi LPC2300 sau khi reset Reset... các vi xử lý LPC2364/66/68, LPC2378, LPC2387, và LPC2388 [2] The SD/MMC card được dùng trong các vi xử lý LPC2365/66, LPC2377/78, LPC2387, và LPC2388 KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 18 I.4.5 Phân vùng lại bộ nhớ trong LPC2300 và boot ROM I.4.5.1 Nguyên lý và những chế độ hoạt động Mỗi vùng nhớ trong LPC2300. .. Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 28 I.6 Mô Đun Tăng Tốc Bộ Nhớ (Memory Acceleration Module - MAM) Khối MAM trong vi xử lý LPC2300 góp phần tối đa hiệu suất của bộ vi xử lý ARM khi chạy các đoạn code trong bộ nhớ flash Hình 16 Sơ đồ khối đơn giản của MAM I.7 Khối Điều Khiển Vectơ Interrupt (Vectored Interrupt Controller - VIC) I.7.2 Giới thiệu LPC2300. .. - 0xE005 8000 Không sử dụng 19 - 22 0xE005 C000 I2C1 23 0xE006 0000 Không sử dụng 24 0xE006 4000 Không sử dụng 25 0xE006 8000 SSP0 26 0xE006 C000 DAC 27 0xE007 0000 Timer 2 28 0xE007 4000 Timer 3 29 0xE007 8000 UART2 30 0xE007 C000 UART3 31 0xE008 0000 I2C2 32 0xE008 4000 Battery RAM 33 0xE008 8000 I2S 34 0xE008 C000 SD/MMC Card Interface[2] 35 0xE009 0000 - 0xE01F BFFF Không sử dụng 36- 126 0xE01F... KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 9 I.4 Địa Chỉ Bộ Nhớ Trong LPC2300 I.4.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 dưới đây thể hiện sự phân bố địa chỉ của vùng bộ nhớ trong các thiết bị ARM: Bảng 2 Bảng Phân bố địa chỉ của vùng... device Reserved, user software should not write ones to reserved bits NA The value read from a reserved bit is not defined I.4.5.3.2 Ghi chú sử dụng điều khiển phân vùng bộ nhớ Điều khiển phân vùng bộ nhớ chỉ đơn giản là lựa chọn một trong số ba nguồn có sẵn dữ liệu (mỗi nguồn có 64 byte) cần thiết để xử lý các trường hợp ngoại lệ ARM (interrupts) KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý. .. F000 - 0xFFFF FFFF Vectored Interrupt Controller (VIC) KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 10 I.4.2 Phân vùng bộ nhớ 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...I.2 Đặc điểm chính Bảng dưới đây là những đặc điểm khác biệt của họ LPC2300 Bảng 1 Đặc điểm tổng quát LPC2300 Part Local Bus SRAM (kB) Flash (kB) EMC USB/ GP SRAM (kB) USB device USB Host/ OTG Ethernet Ethernet GP SRAM (kB) CAN channels SD/ MMC ADC channels GPIO pins LPC2361 8 64 No 8 Yes Yes No 16 2 No 6 70 LPC2362 32 128... affected by External Reset nor Watchdog Reset Note:Only in case when a reset occurs and the POR = 0, the BODR bit indicates if the VDD(DCDC)(3V3)voltage was below 2.6 V or not I.5.5 External interrupt Vi xử lý LPC2300 bao gồm bốn đầu vào External interrupt Ngoài ra, External interrupt có khả năng wakeup CPU từ chế độ Power điều này được điều khiển bởi thanh ghi INTWAKE Bảng 11 Các thanh ghi của External interrupt... Thanh ghi điều khiển phân vùng bộ nhớ (MEMMAP – 0xE01FC040) Khi một điều khiển ngoại lệ cần thiết, vi xử lý sẽ nạp câu lệnh điền khiển địa chỉ của ngoại lệ căn cứ vào bảng 4 trang 20 Thanh ghi MEMMAP xác định địa chỉ nguồn của dữ liệu sẽ nạp vào bảng này KHOA HỌC & KỸ THUẬT MÁY TÍNH Đồ án Thiết Kế Luận Lý – GVHD : Nguyễn Quốc Tuấn Thực hiện : Nguyễn Thanh Bi – Đỗ Minh Chiến Trang 20 Bảng 6 Thanh ghi

Ngày đăng: 21/01/2016, 21:40

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan