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

Nghiên cứu họ vi điều khiển ST7 của hãng ST Microelectronics để ứng dụng trong đào tạo kỹ thuật công nghệ các sản phẩm thuộc họ vi điều khiển ST7

102 17 0

Đ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

Định dạng
Số trang 102
Dung lượng 1,76 MB

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

Nội dung

Nghiên cứu họ vi điều khiển ST7 của hãng ST Microelectronics để ứng dụng trong đào tạo kỹ thuật công nghệ các sản phẩm thuộc họ vi điều khiển ST7 Nghiên cứu họ vi điều khiển ST7 của hãng ST Microelectronics để ứng dụng trong đào tạo kỹ thuật công nghệ các sản phẩm thuộc họ vi điều khiển ST7 luận văn tốt nghiệp thạc sĩ

Trang 1

B Ộ GIÁO DỤC VÀ ĐÀO TẠO TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

MICROELECTRONIC ĐỂ ỨNG DỤNG TRONG ĐÀO

NGÀNH SƯ PHẠM KỸ THUẬT ĐIỆN TỬ

Hà N ội, 2010

Trang 2

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

MICROELECTRONIC ĐỂ ỨNG DỤNG TRONG ĐÀO

Trang 3

L ỜI CAM ĐOAN

Tôi xin cam đoan những gì mà tôi viết trong luận văn này là do sự tìm hiểu

và nghiên cứu của bản thân tôi Mọi kết quả nghiên cứu cũng như ý tưởng của các tác giả khác nếu có đều được trích dẫn nguồn gốc cụ thể

Luận văn này cho đến nay chưa được bảo vệ tại bất kỳ một hội đồng bảo vệ

luận văn thạc sỹ nào và chưa được công bố trên bất kỳ một phương tiện thông tin nào

Tôi xin hoàn toàn chịu trách nhiệm về những gì mà tôi đã cam đoan ở trên đây

Hà N ội, ngày 10 tháng 10 năm 2010

Người thực hiện

Hoàng Nh ật Thanh

Trang 4

LỜI CẢM ƠN Sau 6 tháng nghiên cứu, đến nay đề tài “ Nghiên cứu họ vi điều khiển ST 7

c ủa hãng ST Microelectronics để ứng dụng trong đào tạo kỹ thuật công nghệ các

s ản phẩm thuộc họ vi điều khiển ST 7” đã hoàn thành mục tiêu ban đầu đề ra

Tôi xin chân thành cảm ơn thầy giáo TS Phạm Văn Bình- Trưởng bộ môn

xử lý mạch tín hiệu – khoa Điện tử viễn thông trường ĐH Bách khoa Hà Nội đã hướng dẫn tận tình để tôi hoàn thành bản luận văn này

Tôi xin được gửi lời cảm ơn chân thành đến các thầy, cô trong khoa Sư

phạm kỹ thuật, Viện đào tạo sau đại học trường Đại học Bách Khoa Hà Nội đã giúp

đỡ tôi rất nhiều về kiến thức chuyên môn và tài liệu nghiên cứu

Chân thành cảm ơn Ban giám hiệu cùng các đồng nghiệp tại trường Cao đẳng Điện tử - Điện lạnh Hà Nội và gia đình đã tạo điều kiện thuận lợi cho tôi học tập và nghiên cứu trong thời gian qua

Tuy bản thân đã rất cố gắng nhưng luận văn khó có thể tránh được thiếu sót,

rất mong nhận được sự góp ý của các thầy cô và đồng nghiệp để đề tài được hoàn thiện hơn

Hà Nội, tháng 10 năm 2010 Người thực hiện: Hoàng Nhật Thanh

Trang 5

Chương 1: TỔNG QUAN VỀ VI ĐIỀU KHIỂN

1.1 GI ỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN 11

1.3.7 ADC- Analog-to-Digital Converter 14

Chương 2: H Ọ VI ĐIỀU KHIỂN ST7 CỦA HÃNG

Trang 6

2.5.1 Giới thiệu (Introduction) 24

2.11.4 Định địa chỉ NO OFFSET INDEXED 78

Trang 7

2.11.5 Định địa chỉ SHORT INDEXED ADDRESSING 78

2.11.9 Định địa chỉ SHORT INDIRECT INDEXED 78 2.11.11 Định địa chỉ LONG INDIRECT INDEXED 78

Chương 3: THIẾT KẾ VÀ HỆ THỐNG LẠI KIẾN

THỨC MỘT CÁCH TRỰC QUAN NÂNG CAO

HIỆU QUẢ TIẾP CẬN VỚI VI ĐIỀU KHIỂN

3.2.8 Bài 08 – Tính tổng của 20 số 88 3.2.9 Bài 09 – Tính tổng của hơn 20 số 89 3.2.10 Bài 10 – Tính tổng và trung bình các giá trị trong 91

3.6 H ệ thống kiến thức với những liên kết chặt chẽ 96

Chương 4: Kết luận

Trang 8

ADC (Analog-to-Digital Converter): Bộ phận chuyển tín hiệu analog sang tín

hiệu digital

ALU (Arithmetic Logic Unit) là bộ phận thao tác trên các dữ liệu

CISC: là vi điều khiển có tập lệnh phức tạp

CPU (Central Processing Unit): Khối xử lý trung tâm

RISC: là vi điều khiển có tập lệnh đơn giản

ROM (Read Only Memory) là bộ nhớ dùng để lưu giữ chương trình

ICP (In-circuit programming): giao tiếp với thiết bị lập trình bên ngoài

EEPROM: có thể được lập trình hay xóa

I/O: Các cổng dùng để truyền dữ liệu

MOSI: dữ liệu Master Out / Slave In

SCK: Xung nối tiếp ngõ xuất bởi SPI master và ngõ nhập bởi SPI slave

SS: Chọn slave

Operation : chỉ định các lệnh thao tác cho assembly

Operand: đối tượng mà lệnh thao tác

Comment : ghi các ghi chú liên quan đến dòng lệnh

RCF - Reset cờ nhớ ; RSP - Reset Stack Pointer

HALT ; WFI – Chế độ tiêu thụ thấp

TRAP – Ngắt (phần mềm)

RET - Return ; IRET -Interrupt Return: ngắt

SIM – Thiết lập Interrupt Mask ; RIM - Reset Interrupt Mask

Trang 9

Hình 2.1: Sơ đồ khối vi điều khiển ST7 Trang 16 Hình 2.2: Sơ đồ các chân vi điều khiển ST7 16 Hình 2.3: Sơ đồ bộ nhớ vi điều khiển ST7 17 Hình 2.4: Sơ đồ các thanh ghi phần cứng (Hardware register) 18

Hình 2.6: Sơ đồ CPU có kiến trúc 8-bit và có 6 thanh ghi nội 24 Hình 2.7: Stack pointer là một thanh ghi 16 bits 26 Hình 2.8: Sơ đồ khối các cổng I/O dùng để truyền dữ liệu 29 Hình 2.9: Sơ đồ khối bộ định thời Watchdog 35 Hình 2.10: Sơ đồ khối bộ định thời 12 bit tự động nạp 38 Hình 2.11: Sơ đồ tín hiệu Pulse Width Modulated (xung được

Hình 2.12: Sơ đồ khối khuôn mẫu gián đoạn 42 Hình 2.13: Đồ thị tín hiệu đầu vào bộ đếm 44 Hình 2.14: Sơ đồ khối giao tiếp ngoại vi nối tiếp SPI 45 Hình 2.15 : Tín hiệu SPI master giao tiếp với các slave 52 Hình 2.16 : Tín hiệu chọn slave bằng phần mềm 53 Hình 2.17 : Tín hiệu quá trình truyền SPI 54 Hình 2.18 : Tín hiệu xóa bit WCOL về 0 56 Hình 2.19 : Hệ thống đơn master điển hình 57

Hình 3.1: Tạo mới file asm để viết ứng dụng 82

Hình 3.3: Các loại phương tiện theo Hình nón tư duy 96 Hình 3.4: Sơ đồ Mind map là cách cho phép biến đổi kiến thức

phẳng và tuyến tính thành dạng cây 97

Trang 10

Bảng 2.1: Biểu đồ mô tả những chế độ truy xuất vùng nhớ khác

nhau

Trang 25

Bảng 2.3: Bảng trạng thái quá trình ngắt 32

Bảng 2.4: Bảng trạng thái của các cổng I/O 37

Bảng 2.5: Bảng giá trị các thanh ghi ADC 39

Bảng 3.1: Lưu đồ thuật toán tính tổng X 83

Bảng 3.2: Lưu đồ thuật toán thực hiện đếm 10 84

Bảng 3.3: Lưu đồ thuật toán thực hiện đếm 100 86

Bảng 3.4: Lưu đồ thuật toán thực hiện tính tổng của 20 số 88

Bảng 3.5: Lưu đồ thuật toán thực hiện tính tổng của hơn 20 số 88

Bảng 3.6: Lưu đồ thuật toán tính tổng các giá trị trong bảng 89

Bảng 3.7: Lưu đồ giải thuật điều khiển LED On_Off 92

Bảng 3.8: Lưu đồ giải thuật điều khiển ADC 93

Bảng 3.9: Lưu đồ giải thuật điều khiển LED 7 thanh 94

Trang 11

1 Lý do ch ọn đề tài

Đổi mới phương pháp dạy học đang là chủ trương của nhà nước ta Nghị quyết

Đại hội đại biểu toàn quốc lần thứ IX đã nêu rõ: "Đổi mới mạnh mẽ phương pháp dạy học, khắc phục lối truyền thụ một chiều, rèn luyện nếp tư duy sáng tạo của người học Từng bước áp dụng các phương pháp dạy học tiên tiến và phương tiện hiện đại vào quá trình dạy học "

Trường Cao đẳng Điện tử - Điện lạnh Hà Nội đang có những khó khăn trong việc đổi mới về phương pháp và phương tiện dạy học và đang từng bước khắc phục những khó khăn và thay đổi cho phù hợp với nhu cầu mới của thời đại về giáo dục và

đào tạo cũng như gắn đào tạo với nhu cầu của xã hội

Hiện nay, trong dũng phỏt triển như vũ bóo của khoa học cụng nghệ, vi điều khiển ngày càng đúng một vai trũ quan trọng Chỳng được ứng dụng rộng rói trong cỏc dõy truyền sản xuất nhỏ, cỏc rụ bốt, cỏc mạch điện tử ứng dụng… Đặc biệt nú vụ cựng cần thiết cho những sinh viờn ngành kĩ thuật trong việc nghiờn cứu khoa học, làm những đồ ỏn nhỏ,v…v Nhưng hầu hết sinh viờn đều khú khăn trong việc tiếp cận

và tỡm hiểu về vi điều khiển Những vướng mắc của sinh viờn thường xuyờn gặp phải như :

Băn khoăn khụng biết dung loại vi điều khiển nào cho phự hợp, hiện nay cú khỏ nhiều loại vi điều khiển khỏc nhau,

Rồi khi chọn vi điều khiển này thỡ lại vướng mắc trong việc tỡm hiểu tài liệu cho phự hợp, dễ hiểu cú thể nhanh chúng nắm bắt được… Hầu hết sinh viờn hiện nay

phải mày mũ tỡm hiểu dần dần qua những người biết trước, hay trờn internet Khụng

cú những hướng dẫn trực quan dễ tiếp cận

Nắm bắt được những khú khăn chung của sinh viờn cũng như chớnh cụng tỏc

giảng dạy của cỏ nhõn tại trường Cao đẳng cụng nghệ núi riờng khi lần đầu tiếp cận

với vi điều khiển, tụi đó chọn đề tài Vi điều khiển để hy vọng sẽ đem lại những bạn sinh viờn cú thể nhanh chúng nắm bắt được và thỏa sức sỏng tạo nghiờn cứu khoa

Trang 12

một đồng kiến thức sẽ dần được lấp đầy dần dần qua từng bài học Cũng theo đú cỏc

chức năng cơ bản của vi điều khiển sẽ được xuất hiện đầy đủ qua từng bài tập đơn

giản đến phức tạp Để cuối cựng tụi đó xõy dựng một bài tập hoàn chỉnh bao gồm đầy

đủ cỏc chức năng của vi xử lý như ngắt, IO, SPI, ADC, …

2 M ục đớch và nhiệm vụ nghiờn cứu

- Nghiờn cứu họ vi điều khiển ST7 của hóng ST Microelectronics để ứng dụng trong đào tạo kỹ thuật cụng nghệ cỏc sản phẩm thuộc họ vi điều khiển ST7

- ứng dụng vi điều khiển ST7 của hãng ST Microelectronics trong giảng dạy lý thuyết và thực hành học phần Vi Xử lý nhằm góp phần nâng cao chất lượng đào tạo

tại Trường Cao đẳng Điện tử - Điện lạnh Hà Nội

3 Đối tượng và phạm vi nghiờn cứu

- Đối tượng nghiờn cứu: Nghiờn cứu họ vi điều khiển ST7 của hóng ST Microelectronics

- Phạm vi nghiờn cứu: Tìm hiểu về họ vi điều khiển ST7 và xây dựng các bài tập ứng dụng

4 Gi ả thiết khoa học

Nếu ứng dụng tốt họ vi điều khiển ST7 của hóng ST Microelectronics

thỡ sẽ mang lại cỏc kết quả sau:

- Thực hiện viết được chương trỡnh cho họ vi điều khiển ST7

- Nõng cao chất lượng giảng dạy và học tập tại cỏc trường Cao đẳng cụng nghệ

- Phỏt triển nền cụng nghiệp gúp phần vào cụng việc cụng nghiệp húa và hiện đại húa đất nước

5 Phương phỏp nghiờn cứu

- Nghiờn cứu lý thuyết (nghiờn cứu cơ sở lý luận, tổng hợp phõn tớch tài liệu cú liờn quan)

- Nghiờn cứu thực nghiệm( Quan sỏt, xõy dựng phương phỏp thực hiện, bài tập minh hoạ)

Trang 13

T ỔNG QUAN VỀ VI ĐIỀU KHIỂN

1.1 GIỚI THIỆU KHÁI QUÁT VỀ VI ĐIỀU KHIỂN

Bộ Vi xử lý có khả năng vượt bậc so với các hệ thống khác về khả năng tính toán, xử lý, và thay đổi chương trình linh hoạt theo mục đích người dùng, đặc biệt

hiệu quả đối với các bài toán và hệ thống lớn.Tuy nhiên đối với các ứng dụng nhỏ,

tầm tính toán không đòi hỏi khả năng tính toán lớn thì việc ứng dụng vi xử lý cần cân nhắc Bởi vì hệ thống dù lớn hay nhỏ, nếu dùng vi xử lý thì cũng đòi hỏi các

khối mạch điện giao tiếp phức tạp như nhau Các khối này bao gồm bộ nhớ để chứa

dữ liệu và chương trình thực hiện, các mạch điện giao tiếp ngoại vi để xuất nhập và điều khiển trở lại, các khối này cùng liên kết với vi xử lý thì mới thực hiện được công việc Để kết nối các khối này đòi hỏi người thiết kế phải hiểu biết tinh tường

về các thành phần vi xử lý, bộ nhớ, các thiết bị ngoại vi Hệ thống được tạo ra khá

phức tạp, chiếm nhiều không gian, mạch in phức tạp và vấn đề chính là trình độ người thiết kế Kết quả là giá thành sản phẩm cuối cùng rất cao, không phù hợp để

áp dụng cho các hệ thống nhỏ

Vì một số nhược điểm trên nên các nhà chế tạo tích hợp một ít bộ nhớ và một số

mạch giao tiếp ngoại vi cùng với vi xử lý vào một IC duy nhất được gọi là Microcontroller-Vi điều khiển

Một số đặc điểm khác nhau giữa vi xử lí và vi điều khiển:

Về phần cứng: vi xử lí cần được ghép thêm các thiết bị ngoại vi bên ngoài như bộ

nhớ, và các thiết bị ngoại vi khác, … để có thể tạo thành một bản mạch hoàn chỉnh Đối với vi điều khiển thì bản thân nó đã là một hệ máy tính hoàn chỉnh với CPU, bộ

nhớ, các mạch giao tiếp, các bộ định thời và mạch điều khiển ngắt được tích hợp bên trong mạch

Về các đặc trưng của tập lệnh: Do ứng dụng khác nhau nên các bộ vi xử lí và vi điều khiển cũng có những yêu cầu khác nhau đối với tập lệnh của chúng Tập lệnh

Trang 14

động trên các lượng dữ liệu lớn như 1byte, ½ byte, word, double word, Ở các bộ vi điều khiển, các tập lệnh rất mạnh trong việc xử lý các kiêu dữ liệu nhỏ như bit hoặc

một vài bit

Do vi điều khiển cấu tạo về phần cứng và khả năng xử lí thấp hơn nhiều so với vi

xử lí nên giá thành của vi điều khiển cũng rẻ hơn nhiều Tuy nhiên nó vẫn đủ khả năng đáp ứng được tất cả các yêu cầu của người dùng

Vi điều khiển được ứng dụng trong các dây chuyền tự động loại nhỏ, các robot có

chức năng đơn giản, trong máy giặt, ôtô v.v

1.2 PHÂN LOẠI

1.2.1 Độ dài thanh ghi

Dựa vào độ dài của các thanh ghi và các lệnh của vi điều khiển mà người ta chia

ra các loại vi điều khiển 8bit, 16bit, hay 32bit

Các loại vi điều khiển 16bit do có độ dài lệnh lớn hơn nên các tập lệnh cũng nhiều hơn, phong phú hơn Tuy nhiên bất cứ chương trình nào viết bằng vi điều khiển 16 bit chúng ta đều có thể viết trên vi điều khiển 8 bit với chương trình thích hợp

1.2.2 Ki ến trúc CISC và RISC

Vi xử lí hoặc vi điều khiển CISC là vi điều khiển có tập lệnh phức tạp Các vi điều khiển này có một số lượng lớn các lệnh nên giúp cho người lập trình có thể linh

hoạt và dễ dàng hơn khi viết chương trình

Vi điều khiển RISC là vi điều khiển có tập lệnh đơn giản Chúng có một số lượng

nhỏ các lệnh đơn giản DO đó, chúng đòi hỏi phần cứng ít hơn, giá thành thấp hơn,

và nhanh hơn so với CISC Tuy nhiên nó đòi hỏi người lập trình phải viết các chương trình phức tạp hơn, nhiều lệnh hơn

1.2.3 Ki ến trúc Harvard và kiến trúc Vonneumann

Kiến trúc Harvard sử dụng bộ nhớ riêng biệt cho chương trình và dữ liệu Bus địa

chỉ và bus dữ liệu độc lập với nhau nên quá trình truyền nhận dữ liệu đơn giản hơn

Kiến trúc Vonneumann sử dụng chung bộ nhớ cho chương trình và dữ liệu

Trang 15

Một số loại vi điều khiển có trên thị trường:

- VDK MCS-51: 8031, 8032, 8051, 8052,

- VDK ATMEL: 89Cxx, AT89Cxx51

- VDK AVR AT90Sxxxx

- VDK PIC 16C5x, 17C43

1.3 CẤU TRÚC TỔNG QUAN CỦA VI ĐIỀU KHIỂN:

1.3.1 CPU – Central Processing Unit

Là trái tim của hệ thống Là nơi quản lí tất cả các hoạt động của vi điều khiển Bên trong CPU gồm:

+ ALU (Arithmetic Logic Unit) là bộ phận thao tác trên các dữ liệu

+ Bộ giải mã lệnh và điều khiển, xác định các thao tác mà CPU cần thực hiện + Thanh ghi lệnh IR, lưu giữ opcode của lệnh được thực thi

+ Thanh ghi PC, lưu giũ địa chỉ của lệnh kế tiếp cần thực thi

+ Một tập các thanh ghi dùng để lưu thông tin tạm thời

1.3.2 ROM – Read Only Memory :

ROM là bộ nhớ dùng để lưu giữ chương trình ROM còn dùng để chứa số liệu các

bảng, các tham số hệ thống, các số liệu cố định của hệ thống Trong quá trình hoạt động nội dung ROM là cố định, không thể thay đổi, nội dung ROM chỉ thay đổi khi ROM ở chế độ xóa hoặc nạp chương trình

1.3.3 RAM- Random Access Memory:

RAM là bọ nhớ dữ liệu Bộ nhớ RAM dùng làm môi trường xử lý thông tin, lưu

trữ các kết quả trung gian và kết quả cuối cùng của các phép toán, xử lí thông tin Nó cũng dùng để tổ chức các vùng đệm dữ liệu, trong các thao tác thu phát, chuyển đổi

dữ liệu

1.3.4 BUS:

BUS là các đường dẫn dùng để di chuyển dữ liệu Bao gồm: bus địa chỉ, bus dữ

liệu , và bus điều khiển

Trang 16

1.3.6 Watchdog: Bộ phận dùng để reset lại hệ thống khi hệ thống gặp “bất thường”

1.3.7 ADC- Analog-to-Digital Converter:

Bộ phận chuyển tín hiệu analog sang tín hiệu digital Các tín hiệu bên ngoài đi vào vi điều khiển thường ở dạng analog ADC sẽ chuyển tín hiệu này về dạng tín

hiệu digital mà vi điều khiển có thể hiểu được

Trang 17

H Ọ VI ĐIỀU KHIỂN ST7 CỦA HÃNG MICROELECTRONICS 2.1 GI ỚI THIỆU

ST Microelectronics là tập đoàn sản xuất linh kiện bán dẫn hàng đầu trên thế giới

ST có trụ sở tại Geneva, Thụy Sỹ Hiện nay ST tập trung nghiên cứu công nghệ cao vào 5 lĩnh vực chính: Viễn thông, điện tử gia dụng, máy tính, giao thông và công nghiệp

ST đã có mặt tại Việt Nam và sẽ đem đến cho khách hàng công nghệ vi điện

tử tiên tiến nhất, cung cấp các chương trình đào tạo, hỗ trợ kỹ thuật

Với các giải pháp, ứng dụng của ST cũng như thiện chí của mình trong việc phát triển sự hiểu biết và khả năng nội địa, ST tin rằng mình có thể đóng góp vào

việc tạo ra ngành công nghiệp điện tử nội địa thực sự, với khả năng hỗ trợ trên phạm

vi rộng lớn các ngành công nghiệp khác-từ tài chính ngân hàng, giao thông vận tài hay truyền thông…tại Việt Nam

Vi điều khiển ST 7 của hãng ST Microelectronics là một máy tính được tích hợp trên một chíp, nó thường được sử dụng để điều khiển các thiết bị điện tử Vi điều khiển, thực chất, là một hệ thống bao gồm một vi xử lý có hiệu suất đủ dùng và giá thành thấp kết hợp với các khối ngoại vi như bộ nhớ, các mô đun vào/ra, các mô đun

biến đổi số sang tương tự và tương tự sang số

Vi điều khiển ST 7 của hãng ST Microelectronics thường được dùng để xây dựng các hệ thống nhúng Nó xuất hiện khá nhiều trong các dụng cụ điện tử, thiết bị điện, máy giặt, lò vi sóng, điện thoại, đầu đọc DVD, thiết bị đa phương tiện, dây chuyền tự động, v.v

ST7LITE2 là thành viên của họ vi điều khiển ST7 Tất cả thiết bị ST7 cơ bản dựa trên nhân 8 bit chuẩn công nghiệp bình thường, nét đặc biệt là có một tập lệnh nâng cao

ST7LITE2 mô tả bộ nhớ Flash với khả năng lập trình circuit(ICP) và application (IAP)theo khối từng byte một

Trang 18

in-WAIT (đợi), SLOW (chậm), hay HALT (nghỉ), sự tiêu thụ năng lượng giảm xuống khi ứng dụng ở trạng thái nhàn rỗi (idle) hay tạm nghỉ (stand by)

Tập lệnh và chế độ định địa chỉ của ST7 cho thấy sức mạnh và tính linh hoạt đối

với những người phát triển phần mềm, cho phép thiết kế mã ứng dụng ngắn gọn và đạt hiệu quả cao Thêm vào đó , tất cả vi điều khiển ST7 có đặc điểm tính toán trên

từng bit, tính toán số không dấu 8x8 và chế độ định địa chỉ gián tiếp

Thiết bị có một module debug trên chip (DM) hỗ trợ debug trên circuit debugging)

mạch(ICD-in-Hình 2.1: Sơ đồ khối vi điều khiển ST7

Trang 19

Hình 2.2: Sơ đồ các chân vi điều khiển ST7

2.3 SƠ ĐỒ BỘ NHỚ VÀ THANH GHI

Như được thấy trong figure 4, MCU có khả năng định địa chỉ đến 64 k bytes bộ

nhớ và có những thanh ghi xuất/nhập

Bộ nhớ bao gồm 128 bytes định vị các thanh ghi phần cứng (Hardware register)

xem bảng 2, 384 bytes RAM, 256 bytes EEPROM và 8 kbytes bộ nhớ lập trình

Không gian bộ nhớ RAM dành tới 128 bytes cho vùng stack được đánh địa chỉ từ

0180F tới 01FFh

Những bytes địa chỉ cao nhất chứa trạng thái reset và bảng vector ngắt

Vùng nhớ Flash chứa 2 sector(Figure 4) được ánh xạ vào tầm địa chỉ cao nhất vì

vậy bảng reset và vector ngắt được định vị ở sector 0 (F000h – FFFFh)

Kích thước của Flash sector 0 và những lựa chọn thiết bị khác được định dạng bởi

option byte

Quan trọng (Important): vùng nhớ dành sẵn (“reserved”) không bao giờ được

truy suất Truy suất vùng nhớ này có thể có những ảnh hưởng không lường trước

được trên thiết bị

Trang 20

Hình 2.3: Sơ đồ bộ nhớ vi điều khiển ST7

Trang 22

Hình 2.4: Sơ đồ các thanh ghi phần cứng (Hardware register) Ghi chú: x = không xác định, R/W = Đọc/ghi

Chú ý:

1 Nội dung của thanh ghi DR của các cổng giao tiếp I/O chỉ có thể được đọc ở

cấu hình ngõ xuất Trong cấu hình ngõ nhập, giá trị của các chân I/O sẽ được trả về thay vì nội dung của thanh ghi DR

2 Các bit liên đới với những chân không sử dụng phải được giữ ở giá trị khởi tạo

của nó

2.4 VÙNG NH Ớ LẬP TRÌNH FLASH (Flash Programming Memory)

2.4.1 Gi ới thiệu

Bộ nhớ của ST7 sử dụng công nghệ Xflash( Extended Flash), Xflash là flash mở

rộng, có thể được xóa bằng điện và lập trình theo byte hoặc cho đến khối 32 bytes song song

Thiết bị Xflash có thể được lập trình off-board( được cắm vào công cụ lập trình)

Trang 23

hoặc on-board tùy vào phương pháp lập trình circuit programming hay

In-application programming

Việc tổ chức bộ nhớ theo ma trận cho phép mỗi sector được lập trình và xóa không ảnh hưởng đến sector khác

2.4 2 Đặc điểm chính (main features)

• ICP (In-circuit programming)

• IAP (In-application programming)

• ICT (In-circuit testing) - load và thực thi mẫu kiểm tra ứng dụng của user trong Ram

• Kích thước sector 0 được thiết lập bởi option byte

• Bảo vệ đọc và ghi

2.4.3 Ch ế độ lập trình (Programming Modes)

ST7 có thể được lập trình theo 3 cách:

• Lập trình bình thường, ở chế độ này sử dụng Flash sector 0 và 1, option byte

và data EEPROM (nếu có) có thể được lập trình hay xóa

• In-Circuit Programming: ở chế độ này sử dụng vùng nhớ Flash sector 0 và 1, option byte và

EEPROM (nếu có) có thể được lập trình hay xóa không cần tháo thiết bị ra khỏi board ứng dụng

• In-Application programming: ở chế độ này,vùng nhớ sector 1 và dữ

liệu trong vùng EEPROM(nếu có) có thể được lập trình hay xóa mà không lấy thiết bị ra khỏi board ứng dụng trong lúc ứng dụng đang chạy

2.4.3.1 In-circuit programming(ICP)

ICP sử dụng giao thức được gọi là ICC (In-cỉcuit communication) cho phép

một vi điều khiển cắm trên board mạch in (PCB-printed cỉcuit board) giao tiếp với thiết bị lập trình bên ngoài thông qua cáp ICP hoạt động theo 3 bước:

• Đưa ST7 vào chế độ ICC : Điều này được thực hiện bằng cách điều khiển chuỗi tín hiệu đặc biệt thông qua chân ICCCLK/DATA trong lúc chân RESET ở

mức thấp khi ST7 vào chế độ ICC, nó tìm thấy vector RESET đặc biệt chỉ tới bộ

nhớ hệ thống của có chứa thủ tục giao thức ICC Thủ tục này cho phép ST7 nhận bytes từ giao tiếp ICC

• Nạp code driver ICP vào trong ram từ chân ICCDATA

• Thi hành doạn mã vừa nạp vào trong ram để lập trình vùng nhớ FLASH

Phụ thuộc vào đoạn mã được nạp vào ram , lập trình vùng nhớ FLASH có thể

bị thay đổi (số bytes chương trình, định vị chương trình, hay lựa chọn giao tiếp

Trang 24

tuần tự để nạp chương trình)

2.4.3.2 In-Application programming (IAP)

Chế độ này sử dụng một chương trình điều khiển IAP được nạp vào sector 0

bởi người sử dụng trước đó( in ICP mode)

Chế độ này được điều khiển hoàn toàn bởi phần mềm của user Điều này cho phép nó uyển chuyển với ứng dụng của user

Chế độ IAP có thể được dùng để lập trình mọi vùng nhớ trừ secter 0, đây là vùng cấm không được ghi hoặc xóa vì nó dùng để phục hồi trong trường hợp thực thi chương trình bị lỗi

2.4.4 Giao ti ếp ICC (ICC Interface)

ICP cần tối thiểu từ 4 cho đến 6 chân để kết nối với công cụ lập trình Những chân này là:

ƒ RESET: Reset thiết bị

ƒ VSS : Devide power supply ground

ƒ ICCCLK: Cổng nhập dữ liệu tuần tự ICC

ƒ CLKIN/PB4: Chân nhận xung CLOCK từ bên ngoài

ƒ VDD: Nguồn cung cấp cho ứng dụng

2.4.5 B ảo vệ vùng nhớ ( Memory Protection)

Có hai kiểu bảo vệ vùng nhớ khác nhau: bảo vệ đọc và bảo vệ ghi xóa được dùng bởi cá nhân

2.4.5.1 B ảo vệ đọc (read-out protection)

Bảo vệ đọc, khi được chọn cung cấp sự bảo vệ dựa trên nguồn gốc nội dung vùng nhớ chương trình và dựa trên truy suất ghi tới vùng nhớ Flash

Trong thiết bị Flash , sự bảo vệ này được bỏ đi bởi lựa chọn tái lập trình Trong trường hợp này, cả bộ nhớ dữ liệu E2 và bộ nhớ lập trình được tự động xóa và thiết

bị có thể được lập trình lại bảo vệ đọc phụ thuộc vào loại thiết bị:

Trong thiết bị Flash , nó được cho phép và loại bỏ thông qua bit FMP_R trong byte lựa chọn (option byte)

Trong thiết bị rom nó được cho phép bởi lựa chọn mặt nạ đặc biệt trong danh sách lựa chọn(option byte)

2.4.5.2 B ảo vệ ghi xóa vùng nhớ Flash (Flash Write/eraser Protection)

Bảo vệ ghi /xóa , khi được thiết lập thì không thể overwrite và xóa bộ nhớ chương trình Nó không dùng với dữ liệu E2 mục đích của nó cung cấp chế độ

bảo mật cao cho ứng dụng và ngăn chặn mọi thay đổi nội dung vùng nhớ

Cảnh báo: mỗi lần thiết lập chế độ bảo vệ này, nó có thể không bao giờ được

Trang 25

xóa Thiết bị Flash

được bảo vệ ghi thì không tái lập trình được nữa bảo vệ ghi/xóa được cho phép thông qua bit FMP_W trong byte option

2.4.6 Tài li ệu liên quan (Related Documentation)

Để có thêm chi tiết về lập trình Flash và giao thức ICC, tham khảo “The ST7 Flash programming reference manual” và “The ST7 ICC protocol reference manual”

2.4.7 Mô t ả thanh ghi (Register description)

Thanh ghi trạng thái/điều khiển Flash (Flash control/status register-FCSR) Có

2.5.1 Gi ới thiệu (Introduction)

Bộ nhớ chỉ đọc có khả năng lập trình xóa bằng điện(EEPROM) được dùng để lưu trữ dữ liệu Sử dụng EEPROM yêu cầu một giao thức truy xuất cơ bản được

mô tả trong chương này

Trang 26

Hình 2.5: Sơ đồ khối EEPROM

2.5 2 Đặc điểm chính

• Lên đến 32 byte được lập trình trong cùng chu kỳ

• EEPROM điện thế đơn (mono-voltage)

Tác vụ đọc( Read Operation [E2LAT = 0])

EEPROM có thể được đọc như bộ nhớ ROM bình thường khi bit E2LAT của thanh ghi EECSR được xóa

Đối với ST7, DATA EEPROM cũng có thể được dùng để thực thi mã máy

Trang 27

Tránh ghi lên vùng nhớ DATA EEPROM khi nó đang thực thi lệnh, điều này có

thể dẫn tới một đoạn code không được mong đợi được thực thi

Tác vụ ghi (E2LAT = 1)

Để truy xuất chế độ ghi, bit E2LAT phải được lập bởi phần mềm( bit E2PGM còn lại được xóa)

B ảng 2.1: Biểu đồ mô tả những chế độ truy xuất vùng nhớ khác nhau

2.6 B Ộ XỬ LÝ TRUNG TÂM (Central Processing Unit)

Trang 28

• Thanh ghi stack pointer 16 bits

• Ngắt phần cứng có thể che

• Ngắt phần mềm không thể che

2.6.3 Các thanh ghi n ội

Sáu thanh ghi nội được chỉ trong hình 10 thì không xuất hiện trong vùng bộ

nhớ và được truy xuất bằng những câu lệnh đặc biệt

THANH GHI TÍCH LŨY (Accumulator-A):

Thanh ghi A là một thanh ghi dùng chung 8-bit thường dùng để chứa toán hạng

và kết quả của các phép toán số học và logic và dùng để tính toán

THANH GHI CHỈ SỐ (X và Y):

Trong chế độ định địa chỉ bằng chỉ số, hai thanh ghi 8 bits này thường dùng để

tạo ra những địa chỉ trực tiếp hoặc chứa kết quả tạm thời cho việc tính toán Thanh ghi Y không bị ảnh hưởng bởi lệnh gọi những chương trình con( không push vào

hoặc pop ra stack)

Hình 2.6: Sơ đồ CPU có kiến trúc 8-bit và có 6 thanh ghi nội Program counter(PC): PC là thanh ghi 16-bit chứa địa chỉ của lệnh kế tiếp để được thực thi bởi

Trang 29

CPU Nó được tạo bởi hai thanh ghi 8-bit, PCL là 8 bits thấp, PCH là 8 bits cao CONDITION CODE REGISTER (CC): Đọc / Ghi

Giá trị khởi tạo : 111x1xxx

Thanh ghi CC 8-bit chứa trạng thái ngắt quãng và 4 cờ trạng thái của kết quả

vừa được tính toán Thanh ghi này có thể được điều khiển bởi lệnh push và pop

Những bit này có thể được truy xuất riêng rẽ hay được điều khiển bởi những câu lệnh đặc biệt

Bit H (half cary): Bit này được lập bởi phần cứng khi có nhớ xuất hiện giữa bit

3 và 4 trong ALU khi thực hiện lệnh ADD hoặc ADC Nó cũng được reset bởi

phần cứng khi thực hiện những lệnh trên

H = 0: không có half carry xuất hiện H = 1: có half carry xuất hiện

Bit này được kiểm tra bằng lệnh JRH hoặc JRNH bit H rất có ích trong chương trình BCD

Bit I (interrup mask): Bit này được lập bởi phần cứng khi bước vào interrup

hoặc bằng phần mềm để khóa tất cả interrup ngoại trừ interrup mềm TRAP Bit này được xóa bởi phần mềm

I = 0: cho phép ngắt

I = 1: cấm ngắt

Bit này được điều khiển bởi lệnh RIM,SIM,IRET và được kiểm tra bởi lệnh JRM và JRNM

Bit N (Negative): Bit này được set và clear bởi phần cứng nó biểu diễn dấu kết

của quả của phép toán số học , nó chính là bit thứ 7 của kết quả

0: kết quả của phép tính cuối cùng là dương hoặc bằng 0

1: kết quả của phép tính cuối cùng là âm

Bit này được truy suất bởi lệnh JRMI và JRPL

Bit Z (zero): Bit này được lập và xóa bởi phần cứng bit này chỉ ra rằng kết quả

của phép toán là 0

0: kết quả phép toán khác không

1: kết quả phép toán bằng không

Bit này được truy xuất bởi lệnh kiểm tra JREQ và JRNE

Trang 30

Bit C (nhớ/mượn): Bit này được lập và xóa bởi phần cứng và phần mềm nó chỉ

ra rằng có tràn hoặc mượn xảy ra khi thực hiện phép toán số học

0: không có nhớ hoặc mượn xuất hiện

1: có nhớ hoặc mượn xuất hiện

Bit này được điều khiển bởi lệnh SCF, RCF và kiểm tra bởi lệnh JRC và JRNC

Nó cũng bị ảnh hưởng bởi lệnh dịch và quay

STACK POINTER (SP) : Đọc / ghi

Giá trị khởi tạo: 01FFh

Stack pointer là một thanh ghi 16 bits luôn luôn chỉ đến byte kế tiếp trong vùng stack Nó bị giảm đi sau khi đẩy dữ liệu vào vùng stack và tăng lên sau khi lấy dữ

liệu ra khỏi vùng stack( Figure 11)

Vùng stack có 128 bytes có địa chỉ từ 0180h tới 01FFh Sau khi reset MCU hay sau lệnh reset stack(RSP) con trỏ stack chứa giá trị 01FFh( bit sp0 đến sp6 được lập) ở địa chỉ cao nhất của vùng stack

Chú ý: khi vượt qua địa chỉ thấp của vùng stack(0180h) con trỏ stack sẽ chỉ đến địa chỉ cao nhất của stack(01FFh) , vì vậy dữ liệu trước đó sẽ bị ghi đè lên và bị

mất Trường hợp tương tự khi stack vượt qua địa chỉ cao nhất của stack

Stack thường dùng để lưu địa chỉ trả về khi gọi chương trình con (trả về PC của

lệnh tiếp theo lời gọi chương trình con ) và ngữ cảnh CPU( PC+X+A+CC) khi có interrup

Trang 31

Hình 2.7: Stack pointer là một thanh ghi 16 bits

2.7 NG ẮT

Nhân ST7 có thể bị ngắt bởi một hoặc hai yếu tố khác nhau: Các ngắt phần cứng

có thể che và ngắt phần mềm không thể che (TRAP) Lưu đồ quá trình ngắt được

chỉ ra trong bảng 2.2 Ngắt có thể che phải được khởi động bằng cách gán 0 cho bit

I để có thể được phục vụ Tuy nhiên, việc vô hiệu ngắt có thể được chốt và và tiến hành khi nó chúng được kích hoạt

Chú ý: Sau khi reset, tất cả các ngắt đề bị vô hiệu hóa Khi một ngắt được phục

vụ:

Quá trình bình thường bị đình chỉ sau khi thực thi xong lệnh hiện tại

Các thanh ghi PC, X, A và CC được lưu vào trong stack

Bit I của thanh ghi CC được gán 1 để ngăn không cho thêm lệnh ngắt nào được thực hiện

Thanh ghi PC được nạp giá trị vector ngắt của lệnh ngắt được phục vụ và lệnh đầu tiên của thủ tục phục vụ ngắt sẽ được tìm nạp

Thủ tục phục vụ ngắt nên được kết thúc bằng câu lệnh IRET để phục hồi trạng thái các thanh ghi đã được đưa vào stack Sau lệnh IRET, bit I được xóa về 0 và

Trang 32

chương trình chính được phục hồi

Quản lí quyền ưu tiên

Mặc định, một phục vụ ngắt không thể bị ngắt quãng vì bit I được gán giá trị 1

bởi phần cứng để bắt đầu một tác vụ ngắt

Trong trường hợp khi một vài ngắt được diễn ra đồng thời, quyền ưu tiên do

phần cứng chỉ định sẽ quyết định một trong số đó được thực hiện trước

Ngắt và Chế độ tiết kiệm năng lượng

Tất cả các ngắt cho phép bộ xử lí thoát khỏi chế độ tiết kiệm năng lương WAIT

Chỉ có một số các ngắt ngoại có khả năng cho phép bộ xử lí thoát khỏi chế độ tiết

kiệm năng lượng HALT

2.7.1 Ng ắt mềm không che được

Ngắt này được bắt đầu khi câu lệnh TRAP được thực thi mà không cần quan tâm đến trạng thái của bit I Nó sẽ được phục vụ như trong lưu đồ ở Hình 2.2

Trang 33

Cực tính ngắt ngoại được chọn thông qua thanh ghi hỗn hợp hoặc thanh ghi

ngắt (nếu có)

Một ngắt ngoại được kích hoạt sẽ được chốt và yêu cầu ngắt sẽ tự động bị xóa khi bắt đầu thủ tục phục vụ ngắt

2.7.3 Ng ắt thiết bị ngoại vi

Các cờ ngắt thiết bị ngoại vi khác nhau trong thanh ghi trạng thái có thể gây ra

ngắt khi chúng được kích hoạt nếu có đủ 2 điều kiện:

Bit I trên thanh ghi CC có giá trị 0

Bit kích hoạt tương ứng được gán giá trị 1 trên thanh ghi điều khiển

Nếu một trong hai điều kiện trên không thỏa mãn, Ngắt sẽ bị khóa và đợi cho đến khi thỏa mãn

Xóa một yêu cầu ngắt được thực hiện theo một trong các cách sau:

Ghi giá trị 0 vào bit tương ứng trên thanh ghi trạng thái

Truy xuất thanh ghi trạng thái trong khi cờ được gán 1 và tiếp sau đó là đọc

hoặc ghi một thanh ghi kết hợp

Chú ý: Quá trình xóa trên sẽ reset lại chốt nội Vì thế các ngắt đang trong trạng thái đợi sẽ bị mất nếu quá trình trên được thực thi

Trang 34

B ảng 2.3: Bảng trạng thái quá trình ngắt

THANH GHI EXTERNAL INTERRUPT CONTROL (EICR)

Đọc/Ghi

Giá trị khởi tạo : 0000 0000 (00h)

Bit 7:6 = IS3[1:0] -tính nhạy ei3

Những bit này chỉ ra tính nhạy ngắt cho ei3 (Cổng B0) theo như bảng 6

Bit 5:4 = IS2[1:0] -tính nhạy ei2

Những bit này chỉ ra tính nhạy ngắt cho ei2 (Cổng B3) theo như bảng 6 Bit 3:2

= IS1[1:0] -tính nhạy ei1

Những bit này chỉ ra tính nhạy ngắt cho ei1 (Cổng A7) theo như bảng 6 Bit 1:0

= IS0[1:0] -tính nhạy ei0

Những bit này chỉ ra tính nhạy ngắt cho ei0 (Cổng A0) theo như bảng 6 Chú ý: Thanh ghi 8 bit này chỉ có thể được ghi khi bit I trên thanh ghi CC được gán giá trị 1

Trang 35

Thay đổi độ nhạy của một ngắt ngoại sẽ xóa ngắt đang trong trạng thái chờ này Điều này có thể được sử dụng để xóa những ngắt không mong muốn đang trong trạng thái chờ

THANH GHI EXTERNAL INTERRUPT SELECTION (EISR)

Đọc/Ghi

Giá trị khởi tạo: 0000 1100 (0Ch)

Bit 7:6 = ei3[1:0] – Chọn chân ei3

Các bit này được ghi bằng phần mềm Chúng lực chọn các chân giao tiếp cổng

B được sử dụng cho ngắt ngoại ei3 như bảng dưới đây

Bit 5:4 = ei2[1:0] – Chọn chân ei2

Các bit này được ghi bằng phần mềm Chúng lực chọn các chân giao tiếp cổng

B được sử dụng cho ngắt ngoại ei2 như bảng dưới đây

1) Trạng thái reset

1) Trạng thái reset

2) PB4 không thể được sử dụng như một ngắt ngoại trong chế độ HALT

Bit 3:2 = ei1[1:0] – Chọn chân ei1

Trang 36

Các bit này được ghi bằng phần mềm Chúng lực chọn các chân giao tiếp cổng

A được sử dụng cho ngắt ngoại ei1 như bảng dưới đây

* Trạng thái reset

Bit 1:0 = ei1[1:0] – Chọn chân ei0

Các bit này được ghi bằng phần mềm Chúng lực chọn các chân giao tiếp cổng

A được sử dụng cho ngắt ngoại ei0 như bảng dưới đây

2.8.2 Ch ức năng:

Mỗi cổng đều có một thanh ghi Data (DR) và một thanh ghi Data Direction (DDR) Thanh ghi Option (OR)- Thanh ghi dùng để quy định cổng xuất hay nhập- thì có thể được cung cấp hoặc không

Mỗi chân I/O được lập trình với các bit tương ứng trên các thanh ghi DDR, DR hay OR: bit x tương ứng với chân x của cổng

Trang 37

Hình 2.8: Sơ đồ khối các cổng I/O dùng để truyền dữ liệu

Trang 38

DR

Tùy vào thiết bị, có thể thiết lập một cổng I/O như là một cổng nhận tín hiệu

ngắt bằng cách gán giá trị 1cho bit ORx tương ứng Ở chức năng này một tín hiệu kích cạnh hoặc một tín hiệu số trên cổng nhập sẽ sinh ra một yêu cầu ngắt thông qua vector ngắt tương ứng

Việc nhận tín hiệu kích cạnh lên hay xuống sẽ được lập trình độc lập cho mỗi vector ngắt Thanh ghi External Interrupt Control (EICR) hoặc thanh ghi hỗn hợp (Miscellaneous) sẽ điều khiển các trạng thái này, tùy vào từng thiết bị

2.2 Chế độ cổng xuất

Thiết lập một chân là cổng xuất bằng cách gán 0 cho bit DDRx tương ứng

Việc ghi bit DR sẽ gán một giá trị số vào cổng I/O thông qua chốt Việc đọc bit DR

sẽ trả về giá trị được chứa trước đó

2.3 Chức năng thay thế (alternative function):

Rất nhiều cổng I/O có một hoặc nhiều chức năng alternate Việc này có thể bao

gồm xuất tín hiệu từ, hoặc nhận tín hiệu vào một thiết bị ngoại vi on-chip Bảng

mô tả chân sẽ mô tả tín hiệu của thiết bị ngoại vi nào có thể là tín hiệu xuất/ nhập đến cổng nào

Một tín hiệu đến từ một thiết bị ngoại vi on-chip có thể là tín hiệu xuất trên một chân I/O Để làm điều này, chúng ta sẽ kích hoạt thiết bị ngoại vi on-chip như là

một cổng xuất ( thiết lập bit trong thanh ghi Control của thiết bị ngoại vi) Khi đó

việc thiết lập các thiết bị ngoại vi sẽ có ưu tiên cao hơn việc thiết lập các cổng I/O tiêu chuẩn Trạng thái của cổng I/O có thể được đọc ở địa chỉ của thanh ghi Data

DR của chân I/O tương ứng

Khi I/O được thiết lập chức năng alternate thì nó sẽ được thả nổi (floating), vì

nếu ở trạng thái kéo lên (pull-up) sẽ làm tăng sự tiêu thụ điện năng Trước khi sử

dụng I/O như một cổng nhập alternate, phải thiết lập nó không có ngắt Nếu không

việc ngắt có thể bị sai lệch

Các cổng I/O mà có thể được thiết lập chức năng alternate cho cả các tín hiệu tương tự lẫn các tín hiệu số thì cần thêm một số chú ý đặc biệt Người sử dụng phải điều khiển các thiết bị ngoại vi sao cho các tín hiệu không đến cùng một thời điểm

tại cùng một chân

2.8.3 Th ực thi các cổng I/O

Việc thực thi phần cứng trên mỗi cổng I/O phụ thuộc vào việc thiết lập các thanh ghi DDR hoặc OR và chức năng của các cổng I/O đặc biệt như cổng nhập ADC

Trang 39

Chuyển đổi trạng thái của các cổng I/O từ trạng thái này sang trạng thái khác nên được thực hiện trong một chuỗi sự kiện được bảo vệ khỏi các hiệu ứng lề không mong đợi Các chuyển đổi an toàn được liệt kê trong Figure 32 dưới đây.Những chuyển đổi khác có khả năng rủi ro và nên tránh vì chúng có thể có

những hiệu ứng lề như việc sinh các ngắt bị sai lệch

B ảng 2.4: Bảng trạng thái của các cổng I/O

2.8 4 Các chân không được sử dụng

Những chân không được sử dụng phải được gắn với các mức điện thế cố định

2.8.5 Ch ế độ tiết kiệm năng lượng

Có hai chế độ : Chế độ WAITvà HALT Ở các chế độ này, các cổng I/O không

có bất cứ hiệu ứng hay sự thi hành nào Các ngắt ngoại sẽ giải phóng thiết bị khỏi

chế độ tiết kiệm năng lượng

2.8.6 Ng ắt

Một sự kiện ngắt ngoại xuất hiện khi các bit tương ứng ở các thanh ghi DDR và

OR là 1 và bit I trong thanh ghi CC bị xóa về 0 (lệnh RIM)

2.9 CÁC THIẾT BỊ NGOẠI VI ĐƯỢC TÍCH HỢP:

2.9.1 B ộ định thời Watchdog (WDG) :

1.1 Giới thiệu:

Bộ định thời Watchdog được dùng để phát hiện các sự cố lỗi phần mềm, xảy ra

do một tác nhân bên trong hay một điều kiện luận lí không biết trước khiến chương trình ứng dụng hoạt động không theo trình tự bình thường Bộ phận Watchdog sẽ

tạo sự kiện reset MCU vào cuối một khoảng thời gian định trước, nếu chương trình không nạp lại nội dung của bộ đếm trước khi bit T6 trở về 0

1.2 Các đặc điểm chính:

Bộ đếm lùi tự do khả lập trình

Trang 40

Reset khả lập trình

Reset (nếu watchdog được kích hoạt) khi bit T6 trở về 0

Có thể chọn reset ở chế độ HALT (tiết kiệm năng lương) (thiết lập bằng cách

chỉnh sửa byte option) Phần cứng Watchdog có thể được chọn bằng Option Byte

Hình 2.9: Sơ đồ khối bộ định thời Watchdog

Chương trình ứng dụng phải thiết lập giá trị cho thanh ghi CR trong những khoảng thời gian đều đặn để tránh việc MCU bị reset Bộ đếm được sử dụng là một

bộ đếm chạy độc lập: nó đếm xuống cả khi watchdog bị vô hiệu Giá trị trong thanh ghi CR phải nằm giữa FFh và C0h :

Bit WDGA có giá trị 1 (watchdog được kích hoạt)

Ngày đăng: 09/02/2021, 18:20

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