1. Trang chủ
  2. » Luận Văn - Báo Cáo

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

Đ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

Thông tin cơ bản

Tiêu đề Nghiên cứu vi điều khiển ARM LPC2103 ứng dụng lập trình quang báo
Tác giả Mai Thế Anh
Người hướng dẫn KS. Đặng Thái Sơn
Trường học Trường Đại Học Vinh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ án tốt nghiệp
Năm xuất bản 2010
Thành phố Vinh
Định dạng
Số trang 108
Dung lượng 2,44 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Kĩ thuật vi điều khiển được sử dụng nhờ nhữngtí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ự h

Trang 1

TRƯỜNG ĐẠI HỌC VINH KHOA CÔNG NGHỆ

Trang 2

VINH, 5/2010

Trang 3

Mục lục

Mục lục 1

Lời nói đầu 5

Thuật ngữ viết tắt 6

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

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

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áo trong 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.1.1 Khái quát 13

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

2.1.2.1 Tổng quan kiến trúc 14

2.1.2.2 Bộ xử lí ARM7TDMI-S 14

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

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

2.1.3 Ứng dụng 17

2.1.4 Sơ đồ khối 18

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

2.2.1 Khái quát 22

2.2.2 Các chân chức năng 22

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

2.2.4 Nguồn dao động 24

2.2.5 Ngõ vào ngắt ngoài 24

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.6.5 Các chế độ hoạt động của PLL 34

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

2.2.6.7 PLL và chế độ Power Down 35

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

2.2.6.9 Thủ tục xác định cấu hình PLL 35

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.2.8 Reset 38

2.2.9 Bộ chia VPB 39

2.2.9.1 Thanh ghi của bộ chia VPB (VPBDIV - 0xE01FC100) 39

2.2.10 Wakeup time 40

2.3 Bộ điều khiển vector ngắt(VIC) 41

2.3.1 Chức năng 41

2.3.2 Diễn giải 41

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> 50

2.6.3.4 Thanh ghi nhận dạng ngắt truyền thông nối tiếp <U0IIR - 0xE000C008> 51

2.6.3.5 Thanh ghi điều khiển FIFO cho truyền thông nối tiếp <U0FCR-0xE000C008> 52

2.6.3.6 Thanh ghi điều khiển đường truyền cho truyền thông nối tiếp <U0LCR-0xE000C00C> 53

2.6.3.7 Thanh ghi điều khiển trạng thái cho đường truyền cho truyền thông nối tiếp (U0LSR-0xC000C014) 54

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

3.1 Công cụ phát triển 60

3.2 Cài đặt keil 61

3.3 Trình biên dịch C 62

3.4 Xây dựng một đề án 63

3.4.1 Tạo một đề án 63

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.1 Cấu trúc nguyên lý phần cứng 67

4.1.1 Sơ đồ khối tổng quát 67

4.1.2 Khối nguồn 68

4.1.3 Khối điều khiển trung tâm 70

4.1.3.1 Mạch kết nối JTAG 71

4.1.3.2 Mạch Reset hệ thống 71

4.1.3.3 Mạch giao tiếp cổng COM 72

4.1.4 Khối đệm và giải mã hàng 73

4.1.5 Khối đệm và giải mã cột 75

4.1.6 Khối hiển thị (ledmatrix) 77

4.2 Thiết kế phần mềm 80

4.2.1 Thiết kế lưu đồ chương trình 80

4.2.1.1 Lưu đồ chương trình chính 81

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ữngtí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ínhmề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, đọccá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ácthô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 ứngdụ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ờigian 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

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

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

Ports

Ngõ vào ra đa dụng

Environment

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

Trang 9

LR Link Register Thanh ghi liên kết

Computer

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

Computer

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

Receiver/Transmitter

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ụnglậ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 ARMtrở 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ìmthấ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ệnthoạ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ổitiế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ủacô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ểnmộ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à 16thanh ghi 32-bit Một trong những thanh ghi này đóng vai trò là bộ đếm chương trìnhvớ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ồm30.000 transistor (so với bộ vi xử lý lâu hơn bốn năm của Motorola là 68000 vớikhoảng 68.000 transistor) Sự đơn giản như vậy có được nhờ ARM không có vichươ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êuthụ 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ợptá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 RISCMachines Vì lý do đó bạn thường được giải thích ARM là chữ viết tắt của AdvancedRISC Machines thay vì Acorn RISC Machine Advanced RISC Machines trở thànhcô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ệuApple Newton Vào năm 1994, Acorn dùng ARM 610 làm CPU trong các máy vi tínhRiscPC 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ủanhà 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 ratrê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ớinhiề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à SegaDreamcast 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êutá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 Dreamcastcũng tạo ra một chip xử lý âm thanh được thiết kế bởi Yamaha với lõi ARM7 Bêncạ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ấpnhậ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 i960của họ bằng Strong ARM Từ đó, Intel đã phát triển cho chính họ một sản phẩm chứcnă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ếutrong 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ũngbắ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ĩnhvự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ứngkhoá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 chothà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ácdụ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ằngLED 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, doanhnghiệ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 tolớ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ảngLED 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ềungà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ểnhiệ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ảngcá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ợpcá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ụngARM 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ựngtrên cấu trúc của ARM7TDMI-S LPC2103 có 32kB bộ nhớ flash tốc độ cao, vùngnhớ 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ậplệ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ồnngắt ngoài, LPC2103 thích hợp cho những ứng dụng công nghiệp, hóa học, nghiêncứ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 ítnhấ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ặctoàn bộ chip trong thời gian 1ms, lập trình ghi 256 bytes trong thời gian1ms

- 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ípvớ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àitầ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íchhoạ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éptừ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ế độ Powerdown 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 busAMBA (Advanced Microcontroller Bus Architecture) Ngoại vi AHB cho phép kếtnố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ủaLPC2103 đượ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ônggian 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àyphả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ănglượng thấp Kiến trúc ARM dựa trên nguyên lí kiến trúc RISC(Reduced InstructionSet Conputer) với tập lệnh và mã máy đơn giản hơn kiến trúc CISC(ComplexInstruction Set Computer)

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

Trang 17

Bộ xử lí ARM7TDMI-S cũng sử dụng chế độ THUM, phù hợp với các ứngdụng tốc độ cao với bộ nhớ hạn chế Ý tưởng chính của chế độ THUM cung cấp tậplệ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ừ 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:

R0 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áccách sau:

- Sử dụng giao diện JTAG truyền nối tiếp

R2

R0R0R0R0R0R0

R1

R4 R3

Current Program Status Register

PC LR SP

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 SRAMtrê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ìnhtrạ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ềmyê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 truycậ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 khiReset, 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ộcvào chức năng từng chân được chọn thông quakhố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ânra

P0.0/TXD0/

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

P0.1/RXD0/

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

P0.5/MISO0/

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

P0.7/SSEL0/

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

P0.8/TXD1/

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

P0.10/RTS1/

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

P0.11/CTS1/

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

P0.12/DSR1/

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

P0.15/RI1/

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

P0.16/EINT0/

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

P0.17/CAP1.2/

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

P0.18/CAP1.3/

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

P0.19/MAT1.2/

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

P0.20/MAT1.3/

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

P0.21/SSEL1/

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

P0.27/TRST/

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

P0.28/TMS/

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

P0.29/TCK/

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

P0.30/TDI/

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ăngnày

+ Mức thấp trên các chân này ngay sau khi Reset ngoài sẽ cấuhì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.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ácthô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

Đọc/ghi

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 haymức

Đọc/ghi

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ứcnă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ânngắ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

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

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

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

0

wake up vi xử lý từ chế độ Powerdown

0

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ắtmứ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 thanhghi 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 ghiEXTINT 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

0

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ạnhlên (được định nghĩa bởi

EXTMODE0)

0

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 trongkhố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ẽ

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ânvào CCLK trong tầm từ 10MHz đến 60MHz sử dụng máy dao động điều khiển hiệntạ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ạntầ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 PLLkhô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ủaPLL đượ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 choPLL, 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ềukhiể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ậpnhật giá tri PLL mới hợp lệ

Đọc/ghi

này giữ giá trị để cập nhật các bit điềukhiể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ậpnhậ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ếuthanh ghi PLLCON hoặc PLLCFG đãđược ghi giá trị mới, nhưng quá trìnhcậ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áiPLL hiện tại Đọc giá trị của thanh ghinày sẽ cho biết giá trị thật sự điều khiểnPLL hoặc trạng thái thật sự của PLLtrong thời điểm đó

Chỉ đọc

ăn-feed) giá trị thanh ghi PLL FeedRegister Thanh ghi này cho phép loadcác thông tin về điều khiển và cấu hìnhcủa thanh ghi PLLCON và PLLCFG vàothanh ghi phụ (shadow) có ảnh hưởngtrự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 PLLkhô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

0

Kết nối PLL Khi [PLLC,PLLE]=‘11’,sau khi quá trình cập nhật giá trị PLLdiễ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

0

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ự độngkhô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 PLLkhi đ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 đổigiá 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 ngaythờ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ế độPower Down

0

Giá trị bit điều khiển PLL hiện tại

+ PLLC-PLLE=’11’: PLL đang sử dụng

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ừ xungnhịp ngoài Bit này sẽ tự động xóa khi vàochế độ Power Down

0

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

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 baogồ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 thanhghi 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 PLLphải được ghi vàothanh ghi này để

sự thay đổi cấuhình và điềukhiển thanh ghiPLL 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ừ PowerDown 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àmbằ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ắtlà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 Resetxả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ắtngoà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êngbiệ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ăngriê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ạngthái hoạt động

0

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 độnglại, xóa PD và phục hồi các lệnh

0

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ìnhReset 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 đượckhở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ếtkhi 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

Nguồn tham khảo

Tài liệu tham khảo Loại Chi tiết
[1] Hồ Anh Túy, Lí thuyết mạch, NXB Giáo dục, năm 2006 Sách, tạp chí
Tiêu đề: Lí thuyết mạch
Nhà XB: NXB Giáo dục
[2] Phạm Minh Hà, Kĩ thuật mạch điện tử, NXB Khoa học kỹ thuật, năm 2006 Sách, tạp chí
Tiêu đề: Kĩ thuật mạch điện tử
Nhà XB: NXB Khoa học kỹ thuật
[3] Phạm Văn Ất, Kĩ thuật lập trình C, NXB Khoa học kỹ thuật, năm 2005 Sách, tạp chí
Tiêu đề: Kĩ thuật lập trình C
Nhà XB: NXB Khoa học kỹ thuật
[6] Các website:http://www.hocavr.com http://www.pnlabvn.com http://bkit4u.com Link
[4] Trevor Martin, The Insider’s Guide To The Philips ARM7, Based Microcontrollers Khác
[5] User manual LPC2101/02/03 NPX Khác

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 (Trang 13)
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 (Trang 16)
Hình  2.4. Chọn dao động từ nguồn  dao độ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
nh 2.4. Chọn dao động từ nguồn dao động (Trang 22)
Bảng 2.4. Các thanh ghi 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.4. Các thanh ghi ngắt ngoài (Trang 23)
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 (Trang 24)
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 (Trang 25)
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 (Trang 26)
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 (Trang 29)
Bảng 2.10. Thanh ghi điều khiể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ều khiển PLL (Trang 30)
Bảng 2.16. Các thanh ghi điều khiể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ều khiển nguồn (Trang 34)
Bảng 2.17. Thanh ghi điều khiể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ều khiển nguồn PCON (Trang 35)
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
nh 2.9. Giản đồ khối reset bao gồm cả đồng hồ Wakeup (Trang 36)
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 (Trang 37)
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
nh 2.10. Kết nối của bộ chia VPB với PLL (Trang 38)
Bảng 2.34. Thanh ghi điều khiể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ều khiển FIFO cho truyền thông nối tiếp (Trang 50)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w