Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

108 1.5K 13
Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Đ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

Trang 1

TRƯỜNG ĐẠI HỌC VINH

Người hướng dẫn KS ĐẶNG THÁI SƠNSinh viên thực hiện MAI THẾ ANH

Trang 2

VINH, 5/2010

Trang 3

1.2 Phương pháp nghiên cứu 8

1.3 Tình hình nghiên cứu phát triển công nghệ vi điều khiển ARM, quang báotrong và ngoài nước 9

1.3.1 ARM 9

1.3.2 Quang báo 11

Chương 2 Vi điều khiển ARM LPC2103 13

2.1 Giới thiệu chung 13

2.2.5.1 Khái quát các thanh ghi 24

2.2.5.2 Thanh ghi chứa các cờ ngắt ngoài ( EXINT-0xE01FC140) 25

2.2.5.3 Thanh ghi thiết lập chức năng wakeup dùng ngắt ngoài (EXTWAKEUP-0xE01FC144) 26

Trang 4

2.2.5.4 Thanh ghi thiết lập các chế độ ngắt ngoài (EXTMODE-0x01FC148) 26

2.2.5.5 Thanh ghi thiết lập cực tính cho chế độ ngắt ngoài (EXTPOLAR-0xE01FC14C) 27

2.2.5.6 Kết hợp nhiều chân ngắt ngoài cho cùng nguồn ngắt 28

2.2.6 Vòng khóa pha (Phase locked loop-PLL) 28

2.2.6.1 Miêu tả thanh ghi 29

2.2.6.2 Thanh ghi điều khiển PLL 31

2.2.6.3 Thanh ghi tạo cấu hình PLL (PLLCFG-0xE01FC084) 32

2.2.6.4 Thanh ghi trạng thái PLL (PLLSTAT-0xE01FC088) 33

2.2.7 Điều khiển nguồn 36

2.2.7.1 Diễn tả thanh ghi 36

2.2.7.2 Thanh ghi điều khiển nguồn (PCON-0xE01FC0C0) 37

2.2.7.3 Thanh ghi điều khiển nguồn cho ngoại vi (PCONP-0xE01FC0C4) 37

2.3.3 Các thanh ghi điều khiển ngắt 42

2.3.4 Các bước thực hiện 1 chương trình ngắt 43

2.3.4.1 Đối với ngắt FIQ 43

2.3.4.2 Đối với ngắt IRQ 43

2.3.4.3 Đối với ngắt non IRQ 44

2.4 Sử dụng các thanh ghi xuất nhập đa dụng (GPIO) 45

Trang 5

2.5 Sử dụng ADC 46

2.6 UART0 và UART1 48

2.6.1 Chức năng 48

2.6.2 Diễn tả các chân chức năng 48

2.6.3 Diễn tả các thanh ghi chức năng 48

2.6.3.1 Thanh ghi đệm truyền thu <U0RBR - 0xE000C000> 48

2.6.3.2 Thanh ghi giữ giá trị truyền phát <U0THR - 0xE000C000> 49

2.6.3.3 Thanh ghi cho phép ngắt truyền thông nối tiếp <U0IER - 0xE000C004>

2.6.4 Kiến trúc của bộ truyền thông nối tiếp UART0 56

2.7 Time/Counter TIMER0 và TIMER1 57

2.7.1 Tính năng chính 57

2.7.2 Các thanh ghi điều khiển Timer/Counter 57

2.7.2.1 Thanh ghi cờ ngắt của Timer/Counter (IR, T0IR và T1IR) 57

2.7.2.2 Thanh ghi điều khiển Timer/Counter (TCR, T0TCR và T1TCR) 58

2.7.2.3 Thanh ghi điều khiển đếm (CCR, T0CTCR và T1CTCR) 58

2.7.2.4 Thanh ghi điều khiển ở chế độ Match (MCR, T0MCR và T1MCR): 59

Chương 3 Phương pháp lập trình với ARM 60

Trang 6

3.4.2 Quản lý một đề án (Project manager) 64

3.4.2.1 Cửa sổ soạn thảo chương trình (Application Editor) 65

3.4.2.2 Cửa sổ trạng thái ra (Outout Window) 65

3.4.2.3 Môi trường soạn thảo cấu hình linh kiện(Device Editor) 65

3.4.3 Môi trường gỡ rối Debbug 65

Chương 4 Ứng dụng lập trình quang báo 67

4.2.1.2 Lưu đồ chương trình hiển thị 82

4.2.1.3 Lưu đồ hiệu ứng dich chữ 84

4.2.1.4 Lưu đồ hiệu ứng chữ rơi 85

KẾT LUẬN 86

Phụ lục 1 Tài liệu tham khảo 87

Phụ lục 2 Mã nguồn chương trình 88

Trang 7

Lời nói đầu

Ngày nay đại đa số các lĩnh vực sản xuất điều khiển, giám sát, đo lường….đều được trang bị hệ thống tự động hóa Kĩ thuật vi điều khiển được sử dụng nhờ những tính năng ưu việt như: khả năng lập trình phù hợp với thiết kế nhỏ và lớn cũng như giao tiếp với thiết bị ngoại vi và máy tính đã đem lại sự hoàn hảo, độ chính xác và tính mềm dẻo cao thông qua giao tiếp giữa người và máy.

Vi điều khiển quản lý hoạt động của hệ thống thông qua phần mềm, nhờ vậy ta có thể mở rộng và thay đổi hoạt động một cách dễ dàng bằng cách thay đổi một số thông số của chương trình Vi điều khiển hoạt động theo chương trình đã nạp sẵn, đọc các tín hiệu từ bên ngoài đưa vào sau đó lưu trữ và xử lý, trên cơ sở đó đưa ra các thông báo, tín hiệu điều khiển các thiết bị bên ngoài hoạt động theo đúng thông số và yêu cầu của hệ thống.

Qua những kiến thức học tập và nghiên cứu một số họ vi điều khiển và được sự

hướng dẫn tận tình của thầy Đặng Thái Sơn em đã mạnh dạn chọn đề tài “Nghiên cứu

vi điều khiển ARM LPC2301 ứng dụng lập trình quang báo” làm đồ án tốt nghiệp

với mong muốn nâng cao khả năng hiểu biết của mình về dòng vi điều đang được ứng dụng rộng rãi này và kỹ thuật để làm ra một sản phẩm đáp ứng yêu cầu thực tế.

Nội dung đồ án gồm 4 chương: Chương 1 Giới thiệu đề tài.

Chương 2 Vi điều khiển ARM LPC2103 Chương 3 Phương pháp lập trình với ARM Chương 4 Ứng dụng lập trình quang báo.

Em xin chân thành cảm ơn thầy giáo KS.Đặng Thái Sơn đã tận tình hướng dẫn

em hoàn thành tốt đồ án này.

Mặc dù đã cố gắng nhưng với điều kiện khó khăn, kinh nghiệm hạn chế và thời gian có hạn nên kết quả đạt được còn hạn chế Em rất mong được sự góp ý và phê bình của quý thầy cô và bạn đọc

Sinh viên

Trang 8

Thuật ngữ viết tắt

triển RISC

Bus chức năng thực thi cao

Máy tính với tập lệnh đầy đủ

Ngõ vào ra đa dụng

Môi trường thiết kế hợp nhất

Trang 9

LR Link Register Thanh ghi liên kết

Máy tính khả trình thông minh

Máy tính với tập lệnh suy giảm

Chuẩn truyền/nhận không đồng bộ

Trang 10

Chương 1 Giới thiệu đề tài

1.1 Mục đích đề tài

Nghiên cứu để hiểu rõ về cấu trúc phần cứng, phần mềm lập trình Ứng dụng lập trình bảng điện tử thực hiện một số hiệu ứng thông dụng như: hiệu ứng dịch chữ trái, dịch phải, cuộn tròn, chớp tắt, hiệu ứng chữ rơi,…

1.2 Phương pháp nghiên cứu

Để thực hiện đề tài em đã thực hiện các trình tự nghiên cứu tuần tự như sau: Tìm hiểu một số chip vi điều khiển khả trình phổ dụng:

- Nghiên cứu cấu trúc và các tính năng của ARM LPC2103 - Nghiên cứu môi trường phát triển IDE.

- Nghiên cứu phương pháp thiết kế và lập trình trên chip ARM Tham khảo các thiết kế có sẵn với ARM.

Phần cứng đáp ứng các yêu cầu đặt ra: - Lập sơ đồ khối hệ thống.

- Sơ đồ nguyên lý của modun sử dụng Thiết kế phần mềm với các tính năng đặt ra:

- Thiết kế lưu đồ thuật toán chương trình chính - Thiết kế modul chương trình chính.

- Thiết kế lưu đồ thuật toán các modul chương trình con - Thiết kế các modul chương trình con.

Nạp chạy thử mạch và ghi nhận kết quả.

Trang 11

1.3 Tình hình nghiên cứu phát triển công nghệ vi điều khiển ARM,quang báo trong và ngoài nước

1.3.1 ARM

Cấu trúc ARM (viết tắt từ tên gốc là Acorn RISC Machine) là một loại cấu trúc vi xử lý 32-bit kiểu RISC được sử dụng rộng rãi trong các thiết kế nhúng Do có đặc điểm tiết kiệm năng lượng, các bộ CPU ARM chiếm ưu thế trong các sản phẩm điện tử di động, mà với các sản phẩm này việc tiêu tán công suất thấp là một mục tiêu thiết kế quan trọng hàng đầu.

Ngày nay, hơn 75% CPU nhúng 32-bit là thuộc họ ARM, điều này khiến ARM trở thành cấu trúc 32-bit được sản xuất nhiều nhất trên thế giới CPU ARM được tìm thấy khắp nơi trong các sản phẩm thương mại điện tử, từ thiết bị cầm tay (PDA, điện thoại di động, máy đa phương tiện, máy trò chơi cầm tay, và máy tính cầm tay) cho đến các thiết bị ngoại vi máy tính (ổ đĩa cứng, bộ định tuyến để bàn.) Một nhánh nổi tiếng của họ ARM là các vi xử lý Xscale của Intel.

Việc thiết kế ARM được bắt đầu từ năm 1983 trong một dự án phát triển của công ty máy tính Acorn.

Nhóm thiết kế, dẫn đầu bởi Roger Wilson và Steve Furber, bắt đầu phát triển một bộ vi xử lý có nhiều điểm tương đồng với Kỹ thuật MOS 6502 tiên tiến Acorn đã từng sản xuất nhiều máy tính dựa trên 6502, vì vậy việc tạo ra một chip như vậy là một bước tiến đáng kể của công ty này.

Nhóm thiết kế hoàn thành việc phát triển mẫu gọi là ARM1 vào năm 1985, và vào năm sau, nhóm hoàn thành sản phẩm “thực’’ gọi là ARM2 ARM2 có tuyến dữ liệu 32-bit, không gian địa chỉ 26-bit tức cho phép quản lý đến 64Mbyte địa chỉ và 16 thanh ghi 32-bit Một trong những thanh ghi này đóng vai trò là bộ đếm chương trình với 6 bit cao nhất và 2 bit thấp nhất lưu giữ các cờ trạng thái của bộ vi xử lý Có thể nói ARM2 là bộ vi xử lý 32-bit khả dụng đơn giản nhất trên thế giới, với chỉ gồm 30.000 transistor (so với bộ vi xử lý lâu hơn bốn năm của Motorola là 68000 với khoảng 68.000 transistor) Sự đơn giản như vậy có được nhờ ARM không có vi chương trình (mà chiếm khoảng ¼ đến 1/3 trong 68000) và cũng giống như hầu hết

Trang 12

các CPU vào thời đó, không hề chứa cache Sự đơn giản này đưa đến đặc điểm tiêu thụ công suất thấp của ARM, mà lại có tính năng tốt hơn cả 286 Thế hệ sau, ARM3, được tạo ra với 4KB cache và có chức năng được cải thiện tốt hơn nữa.

Vào những năm cuối thập niên 80, hãng máy tính Apple Computer bắt đầu hợp tác với Acorn để phát triển các thế hệ lõi ARM mới Công việc này trở nên quan trọng đến nỗi Acorn nâng nhóm thiết kế trở thành một công ty mới gọi là Advanced RISC Machines Vì lý do đó bạn thường được giải thích ARM là chữ viết tắt của Advanced RISC Machines thay vì Acorn RISC Machine Advanced RISC Machines trở thành công ty ARM Limited khi công ty này được đưa ra sàn chứng khoán London và NASDAQ năm 1998.

Kết quả sự hợp tác này là ARM6 Mẫu đầu tiên được công bố vào năm 1991 và Apple đã sử dụng bộ vi xử lý ARM 610 dựa trên ARM6 làm cơ sở cho PDA hiệu Apple Newton Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tính RiscPC của họ.

Trải qua nhiều thế hệ nhưng lõi ARM gần như không thay đổi kích thước ARM2 có 30.000 transistors trong khi ARM6 chỉ tăng lên đến 35.000 Ý tưởng của nhà sản xuất lõi ARM là sao cho người sử dụng có thể ghép lõi ARM với một số bộ phận tùy chọn nào đó để tạo ra một CPU hoàn chỉnh, một loại CPU mà có thể tạo ra trên những nhà máy sản xuất bán dẫn cũ và vẫn tiếp tục tạo ra được sản phẩm với nhiều tính năng mà giá thành vẫn thấp.

Thế hệ thành công nhất có lẽ là ARM7TDMI với hàng trăm triệu lõi được sử dụng trong các máy điện thoại di động, hệ thống video game cầm tay, và Sega Dreamcast Trong khi công ty ARM chỉ tập trung vào việc bán lõi IP, cũng có một số giấy phép tạo ra bộ vi điều khiển dựa trên lõi này.

Dreamcast đưa ra bộ vi xử lý SH4 mà chỉ mượn một số ý tưởng từ ARM (tiêu tán công suất thấp, tập lệnh gọn …) nhưng phần còn lại thì khác với ARM Dreamcast cũng tạo ra một chip xử lý âm thanh được thiết kế bởi Yamaha với lõi ARM7 Bên cạnh đó, Gameboy Advance của Nintendo, dùng ARM7TDMI ở tần số 16,78 MHz.

Hãng DEC cũng bán giấy phép về lõi cấu trúc ARM (đôi khi chúng ta có thể bị nhầm lẫn vì họ cũng sản xuất ra DEC Alpha) và sản xuất ra thế hệ Strong ARM Hoạt động ở tần số 233 MHz mà CPU này chỉ tiêu tốn khoảng 1 watt công suất (những đời

Trang 13

sau còn tiêu tốn ít công suất hơn nữa) Sau những kiện tụng, Intel cũng được chấp nhận sản xuất ARM và Intel đã nắm lấy cơ hội này để bổ sung vào thế hệ già cỗi i960 của họ bằng Strong ARM Từ đó, Intel đã phát triển cho chính họ một sản phẩm chức năng cao gọi tên là Xscale.

1.3.2 Quang báo

Trong  đời sống hiện đại ngày nay, quảng cáo là một phần không thể thiếu trong nhịp sống bùng nổ công nghệ thông tin như hiện nay Ở bất cứ nơi đâu ta cũng bắt gặp những biển quảng cáo từ đơn giản, thủ công cho đến những biển quảng cáo điện tử hiện đại, thẩm mỹ Đó là những bảng quảng cáo điện tử mà chúng ta gọi là những bảng đèn quang báo Công nghệ điện tử này còn được sử dụng trong nhiều lĩnh vực như những biển báo giao thông, những bảng điểm trên những sàn giao dịch chứng khoán, hay tại các sân bay, siêu thị Những bảng quang báo này góp phần làm cho thành phố chúng ta có được một bộ mặt của một thành phố hiện đại và văn minh Tác dụng của bảng quang báo là khá to lớn và tính kinh tế của việc dùng quảng cáo bằng LED nó tăng tính chú ý và đẹp.

Quảng đóng vai trò quan trọng trong sự phát triển của một công ty, doanh nghiệp hay thậm chí là của một cửa hàng Quảng cáo tốt sẽ đem lại nhiều lợi ích to lớn Cũng chính vì vậy mà không ngạc nhiên khi hàng năm các doanh nghiệp đã đầu tư rất nhiều vào vấn đề này Một trong những biện pháp được ưa dùng hiện nay đó là sử dụng bảng quảng cáo bằng đèn LED, vì sự đơn giản, hiện đại, bắt mắt, chi phí hợp lý cũng như tính hiệu quả của nó Những bảng thông tin, cổng chào hay những bảng LED quảng cáo với màu sắc sặc sỡ, bắt mắt, gây nhiều chú ý chắc hẳn đã không còn xa lạ đối với người dân, nhất là người dân đô thị.

Quảng cáo bằng đèn LED hiện nay được ứng dụng rất rộng rãi trong nhiều ngành, nhiều lĩnh vực Nó không chỉ giới hạn bởi việc hiển thị các dòng chữ, các biển hiệu nhấp nháy mà còn có thể hiển thị các hình ảnh đồ họa, các hình ảnh full colour và đặc biệt là có thể hiển thị được cả video Nó cũng không chỉ giới hạn trong việc quảng cáo trong nhà (indoor), bán ngoài trời (semi – outdoor ) mà còn có thể quảng cáo ở cả ngoài trời, ngay giữa ban ngày với độ sáng và độ sắc nét cao.

Trong những năm gần đây quang báo (bảng diện tử) được phát triển mạnh mẽ với nhiều chủng loại phục vụ cho các mục đích khác nhau.

Trang 14

Có nhiều IC chuyên dụng được sử dụng làm bảng điện tử cùng với việc kết hợp các công nghệ mới như FPGA, CPLD thì bảng điện tử thực sự được phát triển về quy mô và mức độ kỹ thuật:

- Các loại màn hình Full Color Indoor, Out Door - Bảng điện tử Led hiển thị số.

- Bảng điện tử Led ma trận một màu - Bảng điện tử Led ma trận ba màu, đa sắc - Bảng điện tử hiển thị thông tin Chứng khoán.

- Bảng điện tử hiển thị tỷ giá Ngân hàng, Kết quả xổ số, Nghiệp vụ Bưu điện - Bảng điện tử hiển thị múi giờ quốc tế.

- Bảng điện tử Led động - Biển vẫy.

- Trang trí nội thất , quán bar bằng công nghệ LED - Trang trí tòa nhà bằng LED.

Qua tìm hiểu các nguồn thông tin (mạng internet, thăm dò thị trường, báo chí công nghệ,….) em thấy có rất nhiều công ty lớn cũng như các công ti vừa và nhỏ thiết kế bảng điện tử với các công nghệ hiện đại và nhu cầu của xã hội là rất lớn.

Trong khuôn khổ đề tài với tính chất học thuật em mạnh dạn đưa ra ứng dụng ARM vào điều khiển bảng điện tử vì những tính năng mạnh ưu việt, tốc độ xử lý và dung lượng nhớ được tích hợp trên nó.

Trang 15

Chương 2 Vi điều khiển ARM LPC2103

2.1 Giới thiệu chung

2.1.1 Khái quát

LPC2103 là vi điều khiển 32 bít hỗ trợ thời gian thực và trace nhúng xây dựng trên cấu trúc của ARM7TDMI-S LPC2103 có 32kB bộ nhớ flash tốc độ cao, vùng nhớ nội mở rộng tới 128 bit địa chỉ, cấu hình cho phép thực thi các chỉ lệnh 32bit chỉ trong một chu kì xung nhịp Để tiện cho những ứng dụng nhỏ, LPC2103 hỗ trợ tập lệnh 16 bít thu gọn (Thumb) Với chế độ thu gọn này, kích thước tập lệnh chỉ còn 70% so với tập lệnh 32bit làm cùng chức năng.

Đóng gói 48 chân, sử dụng ít năng lượng, time 32bit, 8 kênh ADC, 9 nguồn ngắt ngoài, LPC2103 thích hợp cho những ứng dụng công nghiệp, hóa học, nghiên cứu điều khiển, và cả thương mại.

Hỗ trợ cấu trúc JTAG, ISP, IAP cho phép mở rộng các ứng dụng nhúng.

2.1.2 Các tính năng cơ bản

- Vi điều khiển ARM7TDMI-S 32bit đóng gói 48 chân.

- 8kB SRAM trong chip, 32kB bộ nhớ flash có thể lập trình (chu kì ghi xóa ít nhất là 10.000 lần).

- Bus mở rộng 8/16/32.

- Lập trình ISP/IAP sử dụng chế độ boot loader Có thẻ xóa một sector hoặc toàn bộ chip trong thời gian 1ms, lập trình ghi 256 bytes trong thời gian 1ms.

- Hỗ trợ chạy mô phỏng thời gian thực ngay trên ứng dụng nhúng (embeddedICE RT).

- 8 kênh ADC 10bit với thời gian chuyển đổi 2,44ms.

- 2 Time 32bit kết nối với 7 kênh capture và 7 kênh compare - 2 Time 16 bit kết nối với 3 kênh capture và 7 kênh compare.

- Giao diện nối tiếp gồm 2 kênh UART <16C550>, I2C tốc độ cao <400kbits/s>, 2 kênh SPI.

Trang 16

- Xung nhịp CPU tối đa 60MHz có sẵn nhờ vòng khóa pha trên chip có thể lập trình được (PLL).

- Vector ngắt có địa chỉ truy cập và các mức ưu tiên - Đến 32 chân xuất nhập đa dụng ở mức điện áp 5V - Có 13 chân ngắt ngoài theo mức hoặc cạnh.

- Tần số CPU có thể đạt 70MHz thông qua khả năng lập trình PLL trên chíp với tần số vào từ 10MHz đến 25MHz và thời gian thiết lập là 100

- Bộ dao động tích hợp trên chíp hoạt động với dao động thạch anh bên ngoài tần số từ 1MHz đến 25MHz.

- Các chế độ tiết kiệm nguồn Idle, Power down và Pown down với sự kích hoạt của RTC.

- Chức năng sử dụng tối ưu nguồn bằng cách cho phép hoặc không cho phép từng nguồn ngoại vi riêng lẻ.

- Đưa vi điều khiển vào lại chế độ hoạt động bình thường từ chế độ Power down nhờ ngắt ngoài hoặc RTC.

2.1.2.1 Tổng quan kiến trúc

Bộ xử lí trung tâm (CPU) của LPC2103 ARM7TDMI-S hỗ trợ giao tiếp bus AMBA (Advanced Microcontroller Bus Architecture) Ngoại vi AHB cho phép kết nối tới dải địa chỉ 2MB Mỗi vùng nhớ AHB có 16kB Các chức năng ngoại vi của LPC2103 được kết nối tới bus AHB Các ngoại vi APB cũng cho phép kết nối tới dải địa chỉ 2MB bắt đầu ở điểm 3.5GB Mỗi ngoại vi APB cũng được định vị đến không gian nhớ 16kB trong không gian nhớ APB.

Sự kết nối ngoại vi đến chân được điều khiển bởi khối kết nối chân Điều này phải được cấu hình bằng phần mềm tùy theo ứng dụng yêu cầu của người sử dụng.

2.1.2.2 Bộ xử lí ARM7TDMI-S

ARM7TDMI-S là bộ lí 32bit đa năng có tốc độ thực thi cao, tiêu thụ năng lượng thấp Kiến trúc ARM dựa trên nguyên lí kiến trúc RISC(Reduced Instruction Set Conputer) với tập lệnh và mã máy đơn giản hơn kiến trúc CISC(Complex Instruction Set Computer).

Kĩ thuật pipeline được sử dụng để bộ xử lí và hệ thống nhớ có thể hoạt động liên tục.

Trang 17

Bộ xử lí ARM7TDMI-S cũng sử dụng chế độ THUM, phù hợp với các ứng dụng tốc độ cao với bộ nhớ hạn chế Ý tưởng chính của chế độ THUM cung cấp tập lệnh suy giảm Vậy bộ xử lý ARM7TDMI-S có hai tập lệnh cơ bản:

- Tập lệnh tiêu chuẩn 32bit - Tập lệnh thum on 16bit THUM.

ARM7 có kiến trúc load-and-store vì vậy để thực hiện bất kỳ câu lệnh xử lý dữ liệu nào đầu tiên dữ liệu phải được chuyển từ bộ nhớ lưu trữ đến tập thanh ghi xử lý của hệ thống Chỉ lệnh xử lý dữ liệu sẽ được thực thi và sau đó dữ liệu sẽ được lưu dữ trở lại bộ nhớ.

Hình 2.1 Sơ đồ thể hiện thực hiện lệnh ADD của ARM7.

Tập thanh ghi trung tâm bao gồm 16 thanh ghi có độ rộng 32bit ký hiệu từ R0-R15 Các thanh ghi từ R0-R12 là các thanh ghi người sử dụng, chúng không có mục đích đặc biệt nào khác Các thanh ghi R13-R15 có các chức năng đặc biệt trong CPU:

- R13 là con trỏ dữ liệu SP (stack pointer) - R14 gọi là thanh ghi liên kết LR (link register) - R15 là bộ đếm chương trình PC (program counter).

Nhiều câu lệnh có thể được thực hiện trên các thanh ghi R13-R15 nếu chúng được sử dụng theo tiêu chuẩn thanh ghi người sử dụng.

Trang 18

Hình 2.2 Mô tả tập thanh ghi của ARM7.

CPSR (Curent Program Status Register) là thanh ghi trạng thái chương trình Thanh ghi này chỉ ra kết quả hoạt động xử lý dữ liệu hiện tại, các cờ người sử dụng, thiết lập chế độ hoạt động và cho phép ngắt.

2.1.2.3 Hệ thống nhớ flash trên chíp

LPC2103 tích hợp 32kB bộ nhớ flash trên chip Bộ nhớ này được sử dụng để lưu trữ chương trình và dữ liệu chương trình của bộ nhớ có thể được nạp theo các cách sau:

- Sử dụng giao diện JTAG truyền nối tiếp - Sử dụng ISP và UART.

- Sử dụng khả năng IAP.

Chương trình ứng dụng sử dụng chức năng IAP có thể xóa và lập trình bộ nhớ flash trong khi ứng dụng đang chạy, cung cấp sự mềm dẻo trong việc lưu trữ dữ liệu và phát triển chương trình.

Bộ nhớ flash của LPC2103 cung cấp tối thiểu 100.000 chu kì ghi đọc và có khả năng duy trì dữ liệu trong 20 năm.

Trang 19

2.1.2.4 Hệ thống nhớ SRAM trên chíp

Hệ thống nhớ SRAM trên chíp có thể được sử dụng cho việc lưu trữ mã và dữ liệu SRAM có thể được truy nhập theo 8bit, 16bit và 32bit LPC2103 có 8kB SRAM trên chíp.

SRAM của LPC2103 được thiết kế để quản lý bộ nhớ theo byte.

SRAM sử dụng điều khiển phối hợp bộ đệm phản hồi để ngăn CPU vào tình trạng treo vi điều khiển khi truy cập dữ liệu ngược Bộ đệm phản hồi luôn giữ giá trị cuối của phần mềm vào SRAM Dữ liệu này chỉ được ghi vào SRAM khi phần mềm yêu cầu quá trình ghi nhận khác Nếu quá trình Reset xảy ra, thanh ghi SRAM sẽ không phản ánh đúng giá trị ghi vào SRAM ngay trước khi Reset hệ thống Muốn truy cập đúng dữ liệu, phần mềm cần đưa ra đúng mã nhận dạng Vì thế, trước khi vào chế độ Idle hay Power- down, giá trị này được ghi vào bộ nhớ đệm<dummy> để sau khi Reset, sẽ truy cập đúng giá trị mong muốn.

2.1.3 Ứng dụng

- Điều khiển trong công nghiệp - Hệ thống y tế.

- Cổng thông tin, truyền thông đa phương tiện - Mục đích học thuật, nghiên cứu ứng dụng.

- Các mục đích đa dụng khác.

Trang 20

2.1.4 Sơ đồ khối

Hình 2.3 Sơ đồ khối của LPC2103.

Trang 21

Vùng bus ngoại vi AHB/VPB không được định nghĩa Bảng mô tả chức năng các chân của LPC2103

Bảng 2.1 Mô tả các chân chức năng của ARM LPC2103

từng bit Hoạt động của các chân Port0 phụ thuộc vào chức năng từng chân được chọn thông qua khối kết nối chân (Pin Connect Block).

Chú ý chân P0.31 chỉ được phép cấu hình là chân ra.

MAT3.1 13 I/O P0.0 chân vào ra đa dụng.O TXD0 ngõ ra của UART0.

MAT3.2 14 I/O P1.0 chân vào ra đa dụng.I Ngõ vào UART0.

CAP0.1 22 I/O P0.4 ngõ vào/ra đa dụng.I/O Ngõ xung clock cho SPI0 Ngõ ra clock SPI của master hoặc ngõ vào clock của slave.

MAT0.1 23 I/O P0.5 ngõ vào ra đa dụng.I/O MISO ngõ vào ra dữ liệu SPI0 Ngõ vào của master hoặc ngõ ra của slave.

I/O MAT0.1 ngõ ra PWM kênh 1 của time0 P0.6/MOSI/

CAP0.2 24 I/O P0.6 ngõ vào ra đa dụng.I/O MISO0 ngõ dữ liệu cho SPI0 Ngõ ra của master hoặc ngõ vào của slave.

MAT2.0 28 I/O P0.7 ngõ vào ra đa dụng.I SSEL0 lựa chọn slave cho SPI0.

MAT2.1 29 I/O P0.8 ngõ vào ra đa dụng.O TXD1 ngõ ra của UART1.

Trang 22

O MAT2.2 ngõ ra PWM kênh 2 time2 P0.9/RXD1/

MAT2.2 30 I/O P0.9 ngõ vào ra đa dụng.I RXD1 ngõ vào UART1.

CAP1.0/AD0.3 35 I/O P0.10 ngõ vào ra đa dụng.O RTS1 ngõ ra để gửi dữ liệu đối với UART1.

CAP1.1/AD0.4 36 I/O P0.11 ngõ vào ra đa dụng.I CTS1 đồng bộ để nhân dữ liệu của bộ UART1.

MAT1.0/AD0.5 37 I/O P0.12 ngõ vào ra đa dụng.I DSR1 đầu vào thiết lập sẵn sàng nhận dữ liệu của UART1.

SCK1/EINT1 44 I/O P0.14 ngõ vào ra đa dụng.I DCD1 phát hiện dữ liệu vào của UART1 I/O SCK1 xung clock nối tiếp cho SPI1.

EINT2 45 I/O P0.15 ngõ vào ra đa dụng.I RI1 dùng cho UART1.

MAT0.2 46 I/O P0.16 ngõ vào ra đa dụng.I EINT0 ngõ vào ngắt ngoài 0.

SCL1 47 I/O P0.17 ngõ vào ra đa dụng.I CAP1.2 ngõ vào capture kênh 2 timer 1 I/O SCL1 xung clock cho I2C1.

SDA1 48 I/O P0.18 ngõ vào ra đa dụng.I CAP1.3 ngõ vào capture kênh 3 timer1 I/O SDA1 ngõ dữ liệu cho I2C.

MISO1 1 I/O P0.19 ngõ vào ra đa dụng.O MAT1.2 ngõ ra PWM kênh 2 timer1 I/O MISO1 ngõ dữ liệu của SPI1.

MOSI1 2 I/O P0.20 ngõ vào ra đa dụng.O MAT1.3 ngõ ra PWM kênh 3 timer1 I/O MOSI1 ngõ dữ liệu của SPI1.

MAT3.0 3 I/O P0.21 ngõ vào ra đa dụng.I SSEL1 chân chọn SPI1.

Trang 23

O MAT3.0 ngõ ra PWM kênh 0 timer3

CAP2.0 8 I/O P0.27 ngõ vào ra đa dụng.I TRST kiểm tra reset cho giao diện JTAG.

CAP2.1 9 I/O P0.28 ngõ vào ra đa dụng.I TMS lựa chọn chế độ cho giao diện JTAG.

CAP2.2 10 I/O P0.29 ngõ vào ra đa dụng.I TCK kiểm tra JTAG cho giao diện JTAG.

MAT3.3 15 I/O P0.30 ngõ vào ra đa dụng.I TDI kiểm tra dữ liệu cho giao diện JTAG.

Trang 24

2.2 Khối điều khiển hệ thống<System Control Block>

2.2.1 Khái quát

Khối điều khiển hệ thống có một số chức năng và thanh ghi có quan hệ với một số thiết bị ngoại vi:

Bảng 2.2 Các chân chức năng điều khiển hệ thống

hệ thống từ các chế độ tiết kiệm nguồn(powerdown hoặc Idle) + P0.1 và P0.16 có thể được chọn để thực hiên chức năng này.

+ Mức thấp trên các chân này ngay sau khi Reset ngoài sẽ cấu hình cho phần cứng ngoài yêu cầu vào ISP.

Các chân P0.3 và P0.14 thực hiên chức năng này

+ Các chân P0.3 và P0.14 thực hiện chức năng này

+ Các chân P0.7 và P0.15 thực hiện chức năng này

chế độ reset: các ngoại vi vào trạng thái mặc định, vi xử lý bắt đầu từ địa chỉ 0x00000000.

Trang 25

2.2.3 Các thanh ghi chức năng

Bảng 2.3 Các thanh ghi chức năng điều khiển hệ thống

Ngắt ngoài

EXTMODE Thanh ghi định chế độ

Điều khiển phân vùng bộ nhớ

Điều khiển nguồn

Bộ chia bus ngoại vi VPB

Trang 26

2.2.4 Nguồn dao động

Cấu hình trên chip cho phép chọn dao động tần số từ 1MHz-30MHz Thường gặp dạng nguồn dao động ngoài như hình vẽ dưới:

LPC2103 có 3 ngõ vào ngắt ngoài được chọn trên các chân chức năng Các chân chứ năng này có thể được chọn để wakeup hệ thống khi vi xử lý đang ở chế độ tiết kiệm nguồn.

2.2.5.1 Khái quát các thanh ghi

Chứa năng ngắt ngoài dùng 4 thanh ghi đi kèm với nó Thanh ghi EXINT chứa cờ ngắt và thanh ghi EXTWAKEUP chứa bit cho phép từng ngắt ngoài có thể wakeup

Trang 27

hệ thống từ chế độ power down Thanh ghi EXTMODE và EXTPOLAR cho biết các thông số ngắt mức cạnh.

Bảng 2.4 Các thanh ghi ngắt ngoài

0xE01FC140 EXTINT Thanh ghi cờ ngắt ngoài chứa các cờngắt ngoài cho EINT0, EINT1, và

0xE01FC144 EXTWAKE Thanh ghi Wakeup ngắt ngoài chứa 3bit cho phép điều khiển mỗi nguồn ngắt ngoài có thể là nguồn để wakeup hệ thống khi vi xử lý đang trong chế độ Power down.

0xE01FC148 EXTMODE Thanh ghi chọn chế độ ngắt ngoài là

0xE01FC14C EXTPOLAR Thanh ghi phân cực ngắt ngoài: điều khiển ngắt trên mỗi chân là cạnh hay mức.

2.2.5.2 Thanh ghi chứa các cờ ngắt ngoài ( EXINT-0xE01FC140)

Khi ngõ vào ngắt ngoài được chọn, sự thay đổi mức (hoặc cạnh) trên chân chức năng tương ứng sẽ tạo ra cờ ngắt trên thanh ghi ngắt ngoài Cờ ngắt này sẽ được đáp ứng bởi vector ngắt (VIC) tương ứng.

Ghi “1” vào các bit EINT0 đến EINT3 trên thanh ghi EXTINT sẽ xóa các bit đáp ứng Nếu ở chế độ ngắt mức, việc ghi các bit này sẽ có tác động chỉ khi các chân ngắt ngoài tương ứng đang ở trạng thái không tích cực.

Trang 28

Bảng 2.5 Thanh ghi cờ ngắt ngoài

EINT0 được chọn và chân tương ứng của nó lên mức tích cực (P0.1 và P0.16).

+ Ngắt cạnh EINT0=1 nếu chức năng EINT0 được chọn và chân chức năng của nó chuyển mức (cạnh lên hoặc cạnh xuống) Bit này được xóa bằng cách gán cho nó giá

2.2.5.3 Thanh ghi thiết lập chức năng wakeup dùng ngắt ngoài (EXTWAKEUP-0xE01FC144)

Bảng 2.6 Thanh ghi wakeup ngắt ngoài

ngoài EINT0 sẽ wave up vi xử lý từ chế độ Power down.

2.2.5.4 Thanh ghi thiết lập các chế độ ngắt ngoài (EXTMODE-0x01FC148)

Các bit trên thanh ghi này cho phép đặt chế độ ngắt ngoài là ngắt cạnh hay ngắt mức Chỉ có các chân được cấu hình cho phép ngắt ngoài và được cho phép bởi thanh ghi ngắt toàn cục VICIntEnable mới có thể thực hiện chức năng ngắt ngoài.

Trang 29

Phần mềm lập trình chỉ nên thay đổi bit trong thanh ghi này khi các ngắt đã được cấm bởi thanh ghi VICIntEnable và nên gán bit tương ứng trong thanh ghi EXTINT bằng ‘1’ trước khi cho phép hoặc thay đổi chế độ hoạt động.

Bảng 2.7 Thanh ghi thiết lập chế độ ngắt ngoài

chọn tích cực mức.

+ Bit 1 ngắt ngoài EINT0 chế độ tích cực cạnh.

2.2.5.5 Thanh ghi thiết lập cực tính cho chế độ ngắt ngoài (EXTPOLAR-0xE01FC14C)

Nếu là ngắt mức, các bit của thanh ghi này xác định ngắt khi chân chức năng tương ứng xảy ra ngắt khi ở mức cao hay mức thấp.

Nếu là ngắt cạnh, các bit của thanh ghi này xác định là sẽ xảy ra ngắt khi tác động cạnh lên hay cạnh xuống ở chân chức năng tương ứng.

Chương trình phần mềm chỉ có thể can thiệp vào các bit trên thanh ghi này bằng cách vô hiệu hóa ngắt ở thanh ghi VICIntEnable và ghi ‘1’ vào bit EXTINT trước khi xóa bit EXTINT để có thể thay đổi cực tính cho chế độ hoạt động.

Bảng 2.8 Thanh ghi thiết lập cực tính cho ngắt ngoài

ngắt khi ở mức thấp hoặc tác động cạnh xuống (được định nghĩa bởi EXTMODE0).

+ EXTPOLAR0=1, EXNT0 xảy ra ngắt khi ở mức cao hoặc tác động cạnh lên (được định nghĩa bởi

EXTMODE1.

Trang 30

2 EXTPOLAR2 Tương tự với EXTPOLAR2 và EXTMODE2.

2.2.5.6 Kết hợp nhiều chân ngắt ngoài cho cùng nguồn ngắt

Phần mềm có thể chọn nhiều chân phục vụ cho 1 nguồn ngắt từ EINT0:2 trong khối thanh ghi chọn chân (Pin Select block).

Ở chế độ tích cực mức thấp, trạng thái của tất cả các chân chọn trong EINT sẽ sử dụng logic AND.

Ở chế độ tích cực mức cao, trạng thái của tất cả các chân chọn trong EINT sẽ sử dụng logic OR.

Ở chế độ ngắt cạnh, không cần để ý tới cực tính (ngắt cạnh lên hoặc cạnh xuống), chân sử dụng sẽ là GPIO (chân xuất nhập đa dụng) thấp nhất (nếu chọn nhiều chân kết hợp ngắt cạnh có thể gây lỗi chương trình).

Hình 2.7 Chọn chế độ cho các ngắt ngoài.

2.2.6 Vòng khóa pha (Phase locked loop-PLL)

PLL hoạt động với tần số dao động từ 1-25MHz Ngõ vào tần số được nhân vào CCLK trong tầm từ 10MHz đến 60MHz sử dụng máy dao động điều khiển hiện tại (Current Controlled Oscillator-CCO) Giá trị nhân vào có thể trong phạm vi từ 1 đến 32 (số nguyên) <thật ra, với LPC2103, hệ số này nhỏ hơn 6 vì bị giới hạn ngưỡng

Trang 31

trên của tần số dao động> CCO hoạt động trong tầm tần số từ 156MHz đến 320MHz, bởi vậy, có thêm một bộ chia trong vòng (loop) để giữ giá trị CCO trong tầm giới hạn tần số khi PLL tạo tần số dao động mong muốn Bộ chia ngoài có các số chia là 2, 4, 8, 16 để tạo tín hiệu xung nhịp ngõ ra.

Nếu số chia là 2, nó đảm bảo rằng tín hiệu ngõ ra của PLL có độ gợn 50% Hoạt động của PLL được điều khiển bởi thanh ghi PLLCFG Có 2 thanh ghi được bảo vệ để chống lại sự cố xảy ra do thay đổi các thông số của PLL hoặc PLL không hoạt động.Vì tất cả các thành phần trên chip, kể cả đồng hồ Watchdog, đều phụ thuộc vào PLL khi nó cung cấp xung nhịp cho chip, các sự cố xảy ra với PLL có thể gây ra các hoạt động không mong muốn trên vi điều khiển Chức năng bảo vệ của PLL được thực hiện bằng cách cập nhật giá trị liên tục giống như đồng hồ Watchdog PLL không hoạt động khi chip Reset hoặc vào chế độ Power Down PLL chỉ hoạt động khi người lập trình cho phép Chương trình lập trình phải định cấu hình cho PLL, cho nó hoạt động, chờ PLL khóa pha, sau đó xem PLL như là nguồn xung nhịp.

2.2.6.1 Miêu tả thanh ghi

PLL được điều khiển bằng các thanh ghi trong bảng dưới đây.

Lưu ý rằng việc thiết đặt các giá trị PLL không phù hợp có thể làm thiết bị hoạt động sai.

Bảng 2.9 Các thanh ghi điều khiển vòng khóa pha

này giữ giá trị để cập nhật các bit điều khiển PLL Giá trị ghi vào thanh ghi này sẽ có tác dụng khi xảy ra quá trình cập nhật giá tri PLL mới hợp lệ.

này giữ giá trị để cập nhật các bit điều khiển PLL Giá trị ghi vào thanh ghi này sẽ có tác dụng khi xảy ra quá trình cập nhật giá trị PLL mới hợp lệ.

Đọc/ghi

Trang 32

0xE01FC088 PLLSTAT Thanh ghi trạng thái PLL Đọc ngược giá trị của thanh ghi này để biết thông tin điều khiển và cấu hình của PLL Nếu thanh ghi PLLCON hoặc PLLCFG đã được ghi giá trị mới, nhưng quá trình cập nhật PLL liên tục(feed) không xảy ra, nó sẽ không ảnh hưởng tới trạng thái PLL hiện tại Đọc giá trị của thanh ghi này sẽ cho biết giá trị thật sự điều khiển PLL hoặc trạng thái thật sự của PLL trong thời điểm đó.

Chỉ đọc

ăn-feed) giá trị thanh ghi PLL Feed Register Thanh ghi này cho phép load các thông tin về điều khiển và cấu hình của thanh ghi PLLCON và PLLCFG vào thanh ghi phụ (shadow) có ảnh hưởng trực tiếp lên hoạt động của PLL.

Chỉ ghi

Trang 33

Giản đồ khối của vòng khóa pha PLL:

Hình 2.8 Giản đồ khối PLL.

2.2.6.2 Thanh ghi điều khiển PLL

Thanh ghi điều kiển PLL chứa các bit cho phép và kết nối PLL Cho phép PLL để nó thử khóa các giá trị thiết lập hiện tại của bộ chia và nhân tần số Kết nối PLL để vi xử lý hoạt động nhờ xung nhịp ngõ ra của PLL Sự thay đổi của thanh ghi PLL không ảnh hưởng hệ thống tới khi quá trình cập nhật giá trị tuần tự liên tục diễn ra đúng.

Trang 34

Bảng 2.10 Thanh ghi điều khiển PLL

0 PLLE Cho phép PLL Enable Khi PLLE=’1’ vàsau khi quá trình cập nhật giá trị PLL hợp lệ, bit này sẽ cho phép PLL để nó khóa giá trị tần số yêu cầu Xem thêm ở thanh ghi PLLSTAT.

Kết nối PLL Khi [PLLC,PLLE]=‘11’, sau khi quá trình cập nhật giá trị PLL diễn ra hợp lệ, ngõ ra xung nhịp của PLL được chọn là xung nhịp của hệ thống Ngược lại, xung nhịp của nguồn dao động là xung nhịp của hệ thống.

PLL phải được thiết đặt, cho phép, và thiết lập khóa (tạo được tần số dao động ổn định) trước khi nó có thể thành nguồn xung nhịp hệ thống khi chuyển từ tần số dao động ngoài thành xung nhịp PLL hoặc ngược lại, mạch dao động nội được vận hành để đảm bảo rằng không tạo ra các glitches Phần cứng thì không đảm bảo rằng PLL được khóa (dao động ổn định với tần số mong muốn) trước khi kết nối hay sẽ tự động không kết nối khi tần số dao động không ổn định Nếu xảy ra lỗi trên xung nhịp PLL khi đang hoạt động, kết quả giống như xung nhịp máy tạo dao động không ổn định và việc không kết nối PLL sẽ phải bắt buộc trong trường hợp này.

2.2.6.3 Thanh ghi tạo cấu hình PLL (PLLCFG-0xE01FC084)

Thanh ghi PLLCFG chứa các giá trị của bộ nhân và chia của PLL Sự thay đổi giá trị của thanh ghi này chỉ có tác dụng khi mà việc cập nhật giá trị PLL mới đã diễn ra hợp lệ.

Bảng 2.11 Thanh ghi tạo cấu hình cho PLL

value Đưa ra giá trị "M" ở phép tính

Trang 35

6:5 PSEL1:0 Giá trị bộ chia của PLL Multiplier value Đưa ra giá trị "P" ở phép tính tần

2.2.6.4 Thanh ghi trạng thái PLL (PLLSTAT-0xE01FC088)

Thanh ghi chỉ đọc này cho ta các giá trị thông số của PLL có tác động ngay thời điểm đọc.

Bảng 2.12 Thanh ghi trạng thái PLL

Giá trị bit cho phép PLL hiện tại + PLLE=’1’: PLL đang sử dụng.

+ PLLE=’0’: PLL không được sử dụng Bit này sẽ tự động xóa khi vào chế độ và được kết nối vào nguồn xung nhịp + PLLC-PLLE≠’11’: PLL không được sử dụng, nguồn dao động lúc này lấy từ xung nhịp ngoài Bit này sẽ tự động xóa khi vào chế độ Power Down.

10 PLOCK Bit cho biết trạng thái khóa của PLL.+ PLOCK=’1’: PLL đã hoạt động ổn định tại tần số mong muốn.

+ PLOCK=’0’: PLL chưa hoạt động ổn định tại tần số mong muốn.

Bit PLOCK trên thanh ghi PLLSTAT được nối với bộ điều khiển ngắt nó cho phép chương trình phần mềm tích cực PLL và tiếp tục thực hiện các chức năng khác mà không cần đợi PLL xác lập tại tần số mong muốn Khi ngắt xảy ra (PLOCK=’1’), PLL có thể được kết nối, và không cho phép ngắt.

Trang 36

2.2.6.6 Thanh ghi cập nhật giá trị PLL liên tục (PLLFEED-0xE01FC08C)

Giá trị cập nhật liên tục phải được ghi vào các thanh ghi PLLFEED nhằm mục đích các thay đổi ở PLLCON và PLLCFG diễn ra, quá trình cập nhật giá trị ấy bao gồm:

a PLLFEED=0xAA b PLLFEED=0x55

Phải thực hiện đúng trình tự cập nhật giá trị như trên, và phải trong các chu kì xung nhịp liên tục Điều cần lưu ý nữa là các ngắt trong quá trình cập nhật liên tiếp giá trị cho PLL đều không được phép xảy ra Nếu 1 trong 2 giá trị cập nhật là không đúng, hoặc 1 trong những lưu ý không được tuân thủ nghiêm ngặt, những thay đổi trên thanh ghi PLLCON hoặc PLLCFG sẽ không có tác dụng.

Bảng 2.14 Thanh ghi cập nhật giá trị PLL

nhật liên tục PLL phải được ghi vào thanh ghi này để sự thay đổi cấu hình và điều khiển thanh ghi PLL có tác dụng.

Không xác định

Trang 37

2.2.6.7 PLL và chế độ Power Down

Chế độ Power Down sẽ tự động tắt và không kết nối PLL Wakeup từ Power Down không tự động cập nhật lại các giá trị thiết đặt của PLL Điều đó phải được làm bằng chương trình phần mềm.Bởi vây, cần có chương trình gọi ngay PLL khi các ngắt làm cho hệ thống WakeUp từ Power Down, lưu ý là không được dùng các thông số sẵn có trên PLL trước khi vào Power Down, vì nó đã mất đi hoặc tùy định.

2.2.6.8 Tính toán tần số dao động của PLL

Các thông số đáng chú ý:

Fosc: Tần số dao động của tinh thể.

Fcco: Tần số của máy dao động được điều khiển hiện tại CCLK: Ngõ ra PLL (chu kì xung nhioj của hệ thống).

Trang 38

2.2.7 Điều khiển nguồn

LPC2103 có 2 chế độ tiết kiệm nguồn: Idle và Power Down:

- Trong chế độ Idle, tất cả các chỉ lệnh đều trì hoãn tới khi quá trình Reset xảy ra, ngoại vi vẫn hoạt động trong chế độ Idle và có thể sinh ra ngắt để đưa hệ thống trở lại hoạt động bình thường.

- Trong chế độ Power Down, xung nhịp hệ thống không còn hoạt động, các chân ngoại vi ở trạng thái tĩnh Năng lượng tiêu thụ gần như bằng 0 Có thể phục hồi hệ thống từ Power Down bằng cách Reset hoặc ngắt ngoài.

Chức năng điều khiển nguồn cho ngoại vi cho phép từng chân ngoại vi riêng biệt hoạt động, hoặc không hoạt động, và hệ thống sẽ tiết kiệm năng lượng hơn nữa.

2.2.7.1 Diễn tả thanh ghi

Bảng 2.16 Các thanh ghi điều khiển nguồn

0xE01FC0C0 PCON Thanh ghi điều khiển nguồn Thanh ghi nàychứa các bit điều khiển để vận hành 1 trong

0xE01FC0C4 PCONP Thanh ghi điều khiển nguồn cho ngoại vi.Thanh ghi này chứa các bit điều khiển để cho phép/không cho phép từng chức năng riêng biệt của ngoại vi.

Đọc/Ghi

Trang 39

2.2.7.2 Thanh ghi điều khiển nguồn (PCON-0xE01FC0C0)

Thanh ghi này chứa 2 bit: IDL và PD.

Bảng 2.17 Thanh ghi điều khiển nguồn PCON

0 IDL Chế độ Idle Khi IDL=’1’, một số chân ngoại vivẫn còn hoạt động, nguồn ngắt ngoài hoặc Reset ngoài được sử dụng để phục hồi lại trạng thái hoạt động.

1 PD Chế độ Power Down Khi PD=’1’ sẽ làm chotất cả các dao động trong chip dừng hẳn, điều khiển wakeup sẽ làm cho hệ thống khởi động lại, xóa PD và phục hồi các lệnh.

2.2.7.3 Thanh ghi điều khiển nguồn cho ngoại vi (PCONP-0xE01FC0C4)

Bảng 2.18 Thanh ghi điều khiển nguồn cho ngoại vi

Trang 40

10 PCSPI1 Tương tự với giao tiếp SPI1 1

2.2.8 Reset

Có 2 nguồn tạo reset hệ thống: trên chân RESET <Reset ngoài> và từ đồng hồ Watchdog <Reset trong> Tín hiệu Reset hợp lý sẽ khởi động đồng hồ Wakeup Timer Với quá trình POR, chân Reset cần phải giữ mức trong vòng 10ms, với quá trình Reset ngoài bình thường khi MCU đang hoạt động, chỉ cần 300ns.

Sau quá trình Reset, vi xử lý bắt đầu thực thi lệnh tại vùng địa chỉ 0x0000 0000 Vector ngắt được định vùng địa chỉ ở khối Boot, giá trị của các thanh ghi được khởi tạo ở những giá trị định nghĩa trước.

Quá trình Reset ngoài và reset trong <Watchdog Timer> có chút ít khác biệt, đó là do thời điểm Reset ngoài ta hoàn toàn biết được, còn Reset trong ta không biết khi nào thì nó xảy ra Bởi vậy, với quá trình Reset ngoài, ta có thể chủ động đưa nó vào các chế độ hoạt động mong muốn bằng cách kết nối ngoại vi, và phần mềm.

Hình 2.9 Giản đồ khối reset bao gồm cả đồng hồ Wakeup

Ngày đăng: 20/12/2013, 18:06

Hình ảnh liên quan

Hình 2.1. Sơ đồ thể hiện thực hiện lệnh ADD của ARM7. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.1..

Sơ đồ thể hiện thực hiện lệnh ADD của ARM7 Xem tại trang 13 của tài liệu.
Hình 2.3. Sơ đồ khối của LPC2103. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.3..

Sơ đồ khối của LPC2103 Xem tại trang 16 của tài liệu.
Bảng 2.6. Thanh ghi wakeup ngắt ngoài - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.6..

Thanh ghi wakeup ngắt ngoài Xem tại trang 24 của tài liệu.
Bảng 2.7. Thanh ghi thiết lập chế độ ngắt ngoài - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.7..

Thanh ghi thiết lập chế độ ngắt ngoài Xem tại trang 25 của tài liệu.
Hình 2.7. Chọn chế độ cho các ngắt ngoài. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.7..

Chọn chế độ cho các ngắt ngoài Xem tại trang 26 của tài liệu.
Hình 2.8. Giản đồ khối PLL. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.8..

Giản đồ khối PLL Xem tại trang 29 của tài liệu.
Bảng 2.10. Thanh ghi điềukhiển PLL - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.10..

Thanh ghi điềukhiển PLL Xem tại trang 30 của tài liệu.
Bảng 2.16. Các thanh ghi điềukhiển nguồn - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.16..

Các thanh ghi điềukhiển nguồn Xem tại trang 34 của tài liệu.
Bảng 2.17. Thanh ghi điềukhiển nguồn PCON - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.17..

Thanh ghi điềukhiển nguồn PCON Xem tại trang 35 của tài liệu.
2.2.9. Bộ chia VPB - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

2.2.9..

Bộ chia VPB Xem tại trang 36 của tài liệu.
Hình 2.9. Giản đồ khối reset bao gồm cả đồng hồ Wakeup - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.9..

Giản đồ khối reset bao gồm cả đồng hồ Wakeup Xem tại trang 36 của tài liệu.
Bảng 2.19. Thanh ghi của bộ chia VPB - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.19..

Thanh ghi của bộ chia VPB Xem tại trang 37 của tài liệu.
Hình 2.10. Kết nối của bộ chia VPB với PLL. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.10..

Kết nối của bộ chia VPB với PLL Xem tại trang 38 của tài liệu.
Bảng 2.26. Mô tả thanh ghi ADDR - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.26..

Mô tả thanh ghi ADDR Xem tại trang 45 của tài liệu.
Bảng 2.34. Thanh ghi điềukhiển FIFO cho truyền thông nối tiếp - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.34..

Thanh ghi điềukhiển FIFO cho truyền thông nối tiếp Xem tại trang 50 của tài liệu.
Bảng 2.36. Thanh ghi điềukhiển trạng thái đường truyền thông nối tiếp - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Bảng 2.36..

Thanh ghi điềukhiển trạng thái đường truyền thông nối tiếp Xem tại trang 52 của tài liệu.
Hình 2.11. Kiến trúc bộ truyền thông nối tiếp UART0. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 2.11..

Kiến trúc bộ truyền thông nối tiếp UART0 Xem tại trang 54 của tài liệu.
Chương 3. Phương pháp lập trình với ARM - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

h.

ương 3. Phương pháp lập trình với ARM Xem tại trang 58 của tài liệu.
Hình 3.2. Cấu trúc cụ thể của bộ công cụ Keil cho ARM - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 3.2..

Cấu trúc cụ thể của bộ công cụ Keil cho ARM Xem tại trang 59 của tài liệu.
Nạp cấu hình cho chip. -&gt; Đến ICE hoặc chip. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

p.

cấu hình cho chip. -&gt; Đến ICE hoặc chip Xem tại trang 62 của tài liệu.
Hình 4.1. Sơ đồ khối tổng quát. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.1..

Sơ đồ khối tổng quát Xem tại trang 65 của tài liệu.
Hình 4.4. Sơ đồ mạch điềukhiển trung tâm dùng ARM LPC2103. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.4..

Sơ đồ mạch điềukhiển trung tâm dùng ARM LPC2103 Xem tại trang 68 của tài liệu.
Hình 4.6. Sơ đồ mạch reset hệ thống. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.6..

Sơ đồ mạch reset hệ thống Xem tại trang 69 của tài liệu.
Hình 4.5. Sơ đồ mạch kết nối JTAG. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.5..

Sơ đồ mạch kết nối JTAG Xem tại trang 69 của tài liệu.
Hình 4.7. Sơ đồ mạch giao tiếp cổng COM. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.7..

Sơ đồ mạch giao tiếp cổng COM Xem tại trang 70 của tài liệu.
Hình 4.8. Sơ đồ mạch đệm và giải mã hàng. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.8..

Sơ đồ mạch đệm và giải mã hàng Xem tại trang 71 của tài liệu.
Hình 4.9. Sơ đồ mạch đệm và giải mã cột. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.9..

Sơ đồ mạch đệm và giải mã cột Xem tại trang 73 của tài liệu.
Hình 4.11. Mô tả cách dùng ma trận LED để hiển thị số 4. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.11..

Mô tả cách dùng ma trận LED để hiển thị số 4 Xem tại trang 76 của tài liệu.
Hình 4.12. Lưu đồ thuật toán chương trình chính. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.12..

Lưu đồ thuật toán chương trình chính Xem tại trang 79 của tài liệu.
Hình 4.15. Lưu đồ thuật toán chương trình tạo chữ rơi. - Luận văn nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo

Hình 4.15..

Lưu đồ thuật toán chương trình tạo chữ rơi Xem tại trang 93 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan