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

Thiết kế mạch điều khiển từ xa bằng điện thoại 7 ngõ ra có phản hồi âm thanh

58 848 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 58
Dung lượng 2,35 MB

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

Nội dung

Do vậy các công nghệ mới càng hướng đến khả năng không dây làm cho conngười được giải phóng, tự do và thoải mái hơn.Và thiết bị điêu khiển từ xa làmột trong những công nghệ đóng góp một

Trang 1

LỜI CẢM ƠN

Trong thời gian học tập và làm đồ án tốt nghiệp, em đã nhận được rất nhiều

sự hướng dẫn giúp đỡ quý báu của các thầy, cô giáo trong khoa Điện – Điện Tử.Nhất là các thầy, cô giáo trong ngành Điện tử viễn thông, những nhà giáo đã tậntình giảng dạy cho em trong suốt thời gian học tập tại trường

Đặc biệt em xin gửi lời biết ơn sâu sắc đến những người thân là bố mẹnhững người luôn theo sát em học tập và là chỗ tựa để em hoàn thành thời gianhọc tập tại trường, em cũng gửi lời chúc tới thầy,Thạc sĩ.Nguyễn Phương Lâm,người thầy kính mến đã hướng dẫn, động viên, tạo mọi điều kiện thuận lợi cho

em trong suốt quá trình học tập và hướng dẫn trực tiếp em hoàn thành đồ án tốtnghiệp này Em xin bày tỏ lòng biết ơn sâu sắc đến Thầy

Em cũng xin bày tỏ lòng cảm ơn tới Ban giám hiệu Trường Đại học Hànghải Việt Nam, các bạn bè đã nhiệt tình giúp đỡ, tạo mọi điều kiện thuận lợi để

em hoàn thành đúng tiến độ bản đồ án tốt nghiệp này

Trang 2

LỜI CAM ĐOAN

Tôi xin cam đoan đây là đề tài nghiên cứu do tôi thực hiện Các số liệu vàkết luận nghiên cứu được trình bày trong đồ án chưa từng được công bố ở cácnghiên cứu khác

Tôi xin hoàn toàn chịu trách nhiệm về lời cam đoan của mình

Hải Phòng, tháng 12 năm 2015

Sinh viênHoàng Văn Tự

Trang 3

MỤC LỤC

LỜI CẢM ƠN i

LỜI CAM ĐOAN ii

MỤC LỤC iii

MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN v

DANH MỤC CÁC BẢNG vi

DANH MỤC CÁC HÌNH VẼ vi

MỞ ĐẦU 1

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI .2

1.1 SƠ ĐỒ KHỐI CỦA THIẾT BỊ ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI 2

1.2 TELEPHONE LINE 3

1.3 PHỐI GHÉP 5

1.3.1 IC chuyên dụng MT8870 5

1.3.2 Sơ đồ khối của IC MT8870 6

1.3.3 Phương thức giải mã DTMF 7

1.4 KHỐI MCU 9

1.4.1 MCU 9

1.4.2 Vi điều khiển ATmega16 10

1.4.3 Cấu trúc bên trong ATmega16 11

1.5 KHỐI RELAY VÀ LCD 22

1.5.1 Relay 22

1.5.2 LCD hiển thị 23

CHƯƠNG 2: MÔ HÌNH MẠCH ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI 24

2.1 Sơ đồ khối và sơ đồ nguyên lý tổng thể của mô hình mạch 24

2.2 Nguyên lý của từng khối trong mạch 25

2.2.1 Mạch nguồn 25

2.2.2 Mạch phối ghép 26

Trang 4

2.2.3 Mạch vi điều khiển MCU 28

2.2.4 Khối hiển thị 30

2.2.5 Mạch relay 31

2.3 Hoạt động thực tế của mạch 32

CHƯƠNG 3: XÂY DỰNG THUẬT TOÁN VÀ LẬP TRÌNH CHO THIẾT BỊ ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI 36

3.1 YÊU CẦU ĐẶT RA 36

3.2 NGÔN NGỮ LẬP TRÌNH C VÀ PHẦN MỀM CODEVISION 36

3.2.1 Cơ bản về ngôn ngữ C 36

3.2.2 Phần mềm Codevision 41

3.3 SƠ ĐỒ THUẬT TOÁN XỬ LÝ 46

KẾT LUẬN 47

DANH MỤC TÀI LIỆU THAM KHẢO 48

NHẬN XÉT TÓM TẮT CỦA GIẢNG VIÊN HƯỚNG DẪN 49

ĐÁNH GIÁ CỦA NGƯỜI PHẢN BIỆN 50

Trang 5

MỘT SỐ TỪ VIẾT TẮT SỬ DỤNG TRONG ĐỒ ÁN

DTMF Dual Tone Multi Frequency: Âm kép đa tần số

MCU Micro-controller Unit: Bộ vi điều khiển

LCD

LED

Liquid Crystal Display: Màn hình tinh thể lỏngLight Emitting Diode: Đi ốt phát quang

DC Direct current: Dòng điện một chiều

AC Alternating current: Dòng điện xoay chiều

Vpp Voltage peak to peak: Điện áp đỉnh đỉnh

Vrms Voltage root mean square: Điện áp trung bình bình phương

CMOS Complementary Metal-Oxide-Semiconductor: công nghệ dùng để chế

Trang 6

DANH MỤC CÁC BẢNG

3.1 Bảng 3.1: Các kiểu dữ liệu thường dùng khi lập trình C cho vi

điều khiển

41

Trang 7

1.10 Relay 5V – 220V / 10A và sơ đồ đấu nối 22

Trang 8

3.4 Cửa sổ định dạng chuẩn giao tiếp I2C 44

3.6 Lưu đồ thuật toán của chương trình 46

Trang 9

MỞ ĐẦU

Ngày nay với với sự phát triển nhanh chóng của khoa học kỹ thuật,nhiều công nghệ mới ra đời với mục đích làm cho mọi việc trở nên đơn giản,tiện lợi nhằm đáp ứng nhu cầu ngày càng cao của con người trong mọi lĩnh vực

Do vậy các công nghệ mới càng hướng đến khả năng không dây làm cho conngười được giải phóng, tự do và thoải mái hơn.Và thiết bị điêu khiển từ xa làmột trong những công nghệ đóng góp một phần vào sự hiện đại này của nhânloại

“Chúng ta hiện nay đang sống trong một xã hội đang phát triển về mọimặt: kinh tế, đời sống, văn hóa, xã hội… chính vì vậy, chúng ta muốn thích nghiđược thì phải không ngừng học tập và nghiên cứu Sinh viên chúng em cũng vậyphải luôn học tập và hoàn thiện mình hơn Khi kinh tế phát triển thì nhu cầucuộc sống cũng tăng theo Nhận thấy được điều đó, nên ngành điện tử khôngngừng phát triển để phục vụ con người được tốt hơn, phát triển hơn là ngànhđiều khiển tự động

Chạy theo nhu cầu cuộc sống ngày càng hiện đại, nên em đã tham khảonhiều tài liệu và cuối cùng em đã chọn đề tài: “Thiết kế mạch điều khiển từ xabằng điện thoại 7 ngõ ra có phản hồi âm thanh” Nhằm giúp ích cho, mọi ngườitrong việc điều khiển các thiết bị trong nhà nói riêng, cũng như các thiết bị trongcông nghiệp nói chung mà con người không thể làm việc trực tiếp được

Mục đích của mạch điều khiển từ xa nay là điều khiển 7 ngõ ra một cáchđộc lập với nhau mà không cần đi đến tận nơi để bật công tắc Mạch có thể điềukhiển từ xa bằng tất cả các loại điện thoại tiện lợi cho người điều khiển ở có kếtnối thông tin liên lạc Một cách chính xác, hiệu quả mà không cần mất thời gian

và sức lực

Yêu cầu của mạch điều khiển này là chạy chính xác, ổn định, nhỏ gọn, dễlắp đắt sửa chữa, dễ sử dụng cho tất cả mọi người.”(http://doc.edu.vn/tai-lieu/de-tai-he-thong-bao-trom-bao-chay-qua-duong-day-dien-thoai-2859/)

Trang 10

CHƯƠNG 1: TỔNG QUAN VỀ HỆ THỐNG ĐIỀU KHIỂN TỪ XA BẰNG

ĐIỆN THOẠI

Hiện nay trên thị trường có nhiều thiết bị điều khiển từ xa khác nhau, đặcbiệt là thiết bị điều khiển từ xa bằng điện thoại Điện thoại không chỉ có chứcnăng nghe, gọi, nhắn tin… Mà nó còn có khả năng như một thiết bị điều khiển

từ xa rất tiện dụng mà hầu như ai ai cũng luôn mang theo bên mình Khi chúng

ta đi đâu đó xa nhà, trang trại, công sở… Vô tình quên tắt bật hoặc muốn tắt bậtcác thiết bị khi chúng ta không ở đó thì thiết bị điều khiển từ xa bằng điện thoại

có thể thay thế chúng ta làm công việc này Từ đây, chúng ta có thể thấy mộtđiều, thiết bị điều khiển từ xa bằng điện thoại giúp chúng ta tiện lợi hơn rấtnhiều trong cuộc sống hàng ngày Để tìm hiểu về công nghệ này em xin trìnhbày quá trình mô hình hóa thiết bị điều khiển từ xa bằng điện thoại và làm rõhơn hoạt động của nó sau đây

1.1 SƠ ĐỒ KHỐI CỦA THIẾT BỊ ĐIỀU KHIỂN TỪ XA BẰNG ĐIỆN THOẠI

Sơ đồ khối của thiết bị điều khiển từ xa bằng điện thoại:

Hình 1.1: Sơ đồ khối hệ thống điều khiển từ xa bằng điện thoại

Mô tả chức năng của các khối:

Trang 11

b Khối phối ghép:

Tín hiệu âm đa tần DTMF được mã hóa thành mã nhị phân “0” và “1” ra 4bit BCD là Q4Q3Q2Q1 Bộ tín hiệu này được chuyển tới khối MCU tiếp tục sửlý

c Khối MCU:

Nhận bộ tín hiệu số Q3Q2Q1Q0 từ khối phối ghép đưa tới tại đây các tínhiệu số tương ứng vơi các nút ấn trên bàn phím điện thoại này sẽ được lập trìnhđiều khiển gán cho các thiết bị ngoại vi tương ứng

d Khối relay và LCD:

Các relay đóng ngắt điện áp cao

Màn hình LCD hiển thị trạng hoạt động của các thiết bị được điều khiển

1.2 TELEPHONE LINE

Telephone line là đường truyền tín hiệu điện thoại, đường truyền này hìnhthành do quá trình hoạt động của điện thoại với tổng đài

a Định nghĩa điện thoại và tổng đài

Điện thoại là thiết bị viễn thông dùng để trao đổi thông tin, thông dụngnhất là truyền giọng nói - tức là "thoại" (nói), từ xa giữa hai hay nhiềungười Điện thoại biến tiếng nói thành tín hiệu điện và truyền trong mạng điệnthoại phức tạp thông qua kết nối để đến người sử dụng khác

Tổng đài là hệ thống chuyển mạch có khả năng kết nối nhiều cuộc liên lạcgiữa các thuê bao với nhau

b Phương thức thực hiện một cuộc gọi

Thuê bao gọi thực hiện nhấn phím số bằng Tone (Tone - Dialing): Máyđiện thoại phát ra cùng lúc hai tín hiệu với tần số dao động khác nhau tương ứngvới số muốn nhấn (DTMF: Dual Tone Multi Frequence) Mã DTMF là khi bất

kỳ phím "0","1", "2","3","4","5","6","7","8","9","*", "#",.v.v được nhấn mã đặcbiệt được truyền đi Mã này là bao gồm hai tần số trong số đó là một tần số cao

Trang 12

hơn và thứ hai là tần số thấp hơn Bảng dưới đây cho thấy sự kết hợp của tần sốcho các phím:

Bảng 1.1: Phân loại tần số tín hiệu Tone

Ví dụ: Theo bảng trên phím "1" là sự kết hợp của tần số thấp hơn 697Hz

và tần số cao 1209Hz, phím "5" là sự kết hợp của tần số thấp hơn 770Hz và tần

số cao hơn 1336Hz, phím "9" là sự kết hợp của tần số thấp hơn 852Hz và tần sốcao hơn 1447Hz Vì vậy, đây là tất cả về mã DTMF

“Tổng đài nhận được các số liệu của thuê bao gọi gửi tới, sẽ xem xét:Nếu các đường dây nối thông thoại đều bị bận, thuê bao bị gọi bận thìtổng đài sẽ cấp tín hiệu báo bận (Number Buzy)

Nếu thuê bao được gọi rảnh, tổng đài sẽ cấp tín hiệu chuông cho thuê baovới điện áp 90Vrms(AC) với tần số 25Hz có chu kì 3s có và 4s không Đồngthời cấp âm hiệu hồi chuông (Ring Back Tone) cho thuê bao gọi, âm hiệu này làtín hiệu sine với tần số 425 ± 25Hz cùng chu kỳ nhịp với tín hiệu chuông gửicho thuê bao được gọi Khi thuê bao được gọi nhấc máy, tổng đài nhận biếttrạng thái này thì tổng đài ngưng cấp tín hiệu chuông để không làm hỏng mạchthoại Đồng thời tiến hành cắt âm hiệu (Ring Back Tone) cho thuê bao gọi vàtiến hành kết nối thông thoại cho 2 thuê bao Trong quá trình thông thoại khithuê bao gọi nhấn các phím trên bàn phím, âm bàn phím DTMF sẽ phát ra vàtruyền tới thuê bao bị gọi Tín hiệu trên đường dây đến máy điện thoại tươngứng với tín hiệu thoại cộng với giá trị khoảng 300mVpp Tín hiệu ra khỏi máy

Trang 13

điện thoại chịu sự suy hao trên đường dây với mất mát công suất trong khoảng

10 ÷ 25dB Giả sử thêu bao là 20dB, suy ra tín hiệu ra khỏi máy điện thoại cógiá trị khoảng 3Vpp Tín hiệu thoại trên đường dây là tín hiệu điện mang cácthông tin có nguồn gốc từ âm thanh trong quá trình trao đổi giữa hai thuê bao.Trong đó âm thanh được tạo ra bởi các dao động cơ học, nó truyền trong môitrường dẫn âm Khi truyền đi trong mạng điện thoại thì tín hiệu thường bị méodạng do những lý do: Nhiễu, suy hao tín hiệu trên đường dây do bức xạ sóngtrên đường dây do bức xạ sóng trên đường dây với các tần số khác nhau Đểđảm bảo tín hiệu điện thoại nghe rõ và trung thực, ngày nay trên mạng điênthoại người ta sử dụng tín hiệu thoại có tần số từ 300 ÷ 3400Hz

Tổng đài giải tỏa một số thiết biết bị không cần thiết để tiếp tục phục vụcho các cuộc đàm thoại khác Khi hai thuê bao đang đàm thoại mà có một thuêbao gác máy, tổng đài nhận biết trạng thái gác máy này, cắt thông thoại cho cảhai bên, cấp tín hiệu bận (Busy Tone) cho thuê bao còn lại, giải tỏa link để phục

vụ cho các đàm thoại khác Khi thuê bao còn lại gác máy, tổng đài xác nhậntrạng thái gác máy, cắt âm hiệu báo bận, kết thúc chương trình phục vụ thuêbao.”(http://doantotnghiep.vn/do-an-tot-nghiep-dien-dien-tu/he-thong-bao-dong-va-dieu-khien-thiet-bi-qua-line-dien-thoai.html668)

Trang 14

IC MT8870 được sử dụng vào nhiều ứng dụng khác nhau, nhưng thườngxuất hiện ở trong các mạch điều khiển từ xa, mạch thu cho tổng đài, mạch tínhcước điện thoại.v.v.

Dưới đây là kiểu dáng và sơ đồ chân của một linh kiện IC MT8870 hoànchỉnh:

Hình 1.2: Kiểu dáng và sơ đồ chân của IC MT8870

1.3.2 Sơ đồ khối của IC MT8870

Hình 1.3: Sơ đồ khối IC MT8870

Trang 15

Lúc này đầu ra GT kích hoạt và đẩy Vc lên tới Vdd GT tiếp tục đẩy lêncao cho tới khi TST lên mức cao trở lại Cuối cùng sau một thời gian Delayngắn cho phép việc chốt Data được thực hiện xong thì cờ của mạch steering lênHIGH báo hiệu rằng cặp Tone thu được đã được lưu vào thanh ghi.

Mạch chốt ngõ ra được điều khiển bởi chân ngõ vào 3 trạng thái TOE, khiTOE lên mức 1 thì cho phép xuất Data 4 bit ra Bus

1.3.3 Phương thức giải mã DTMF

Khi bất kỳ mã DTMF đã được nhận vào điện thoại di động hoặc máy điệnthoại bàn của nó có thể được nghe qua loa Vì vậy, để giải mã này mã DTMF

Trang 16

đầu ra loa nó tự có thể được sử dụng Đầu ra của loa được kết nối với MT8870

mà là bộ giải mã DTMF (MT8870 Datasheet) Nó được sử dụng rộng rãi để giải

mã mã DTMF Nó cung cấp cho 4 bit đầu ra kỹ thuật số Q4Q3Q2Q1 và theo cácphím nhận được

Bảng dưới đây cho thấy sự mã hóa kỹ thuật số tương đương cho mỗi phím

số trên bàn phím điện thoại sử dụng mã BCD 4 bit Bộ mã này tạo ra 16 tổ hợp

Trang 17

Khác nhau cơ bản giữa các MCU là các ngoại vi Các bạn cứ nghĩ đơn giản việchiện thực trên MCU cũng chỉ là read, write các thanh ghi và vùng nhớ Chỉ cóđiều với MCU này thì chúng ta phải set giá trị khác, ở một địa chỉ khác so vớiMCU khác để điều khiển những gì mà ta muốn MCU làm.

b Công cụ:

Có 2 công cụ chúng ta cần quan tâm:

Trình biên dịch: tốt nhất là dùng IDE mà nhà sản xuất MCU cung cấptrong examples

Trình nạp và mạch nạp cho MCU: mỗi MCU sẽ có chương trình và mạchphù hợp

c Các ngoại vi:

Tuy các ứng dụng khác nhau mà ta cần sử dụng các ngoại vi khác nhau.Ngoại vi các MCU cơ bản là làm việc giống nhau, và là chuẩn giao tiếp cơ bản.Các bạn chỉ cần biết ngoại vi đó hoạt động ra sao là đủ, không cần thiết phải biết

nó bao gồm thanh ghi gì, cài đặt ra sao vì mỗi MCU có cách set khác nhau.Hiện nay, thì mỗi MCU đều có một bộ thư viện C giúp chúng ta có thể làm việcnhanh với các ngoại vi này mà không cần biết thanh ghi đó là gì, chúng ta chỉbiết cách gọi hàm với các thông số tương ứng mà chúng ta muốn ngoại vi hoạtđộng như thế nào

Tất cả các ngoại vi đề có một trình tự để sử dụng như sau:

Trang 18

Cài đặt các thông số: set clock cho bus, cấu hình (ví dụ như USART thìset baud rate, parity…)

Sau đó là tiến hành giao tiếp dữ liệu với ngoại vi này

Và tất cả cái này đều có examples, thư viện mà nhà cung cấp MCU đưacho Chúng ta chỉ việc tham khảo và copy, paste, modified những gì ta muốn.”(http://trueconf.com.vn/cong-nghe/de-lam-project-nhanh-tren-mcu-moi-hoan-toan-mcu-la-gi-1790.html)

1.4.2 Vi điều khiển ATmega16

ATmega16 là bộ vi điều khiển CMOS 8 bit tiêu thụ điện năng thấp dựatrên kiến trúc RISC (Reduced Intruction Set Computer) Vào ra Analog – digital

và ngược lại “Với công nghệ này cho phép các lệnh thực thi chỉ trong một chu

kì xung nhịp, vì thế tốc độ xử lý dữ liệu có thể đạt đến 1 triệu lệnh trên giây ởtần số 1 Mhz Vi điều hiển này cho phép người thiết kế có thể tối ưu hoá chế độ

độ tiêu thụ năng lượng mà vẫn đảm bảo tốc độ xử lí

ATmega16 có tập lệnh phong phú về số lượng với 32 thanh ghi làm việc

đa năng Toàn bộ 32 thanh ghi đều được nối trực tiếp với ALU (ArithmeticLogic Unit), cho phép truy cập 2 thanh ghi độc lập bằng một chu kì xung nhịp.Kiến trúc đạt được có tốc độ xử lý nhanh gấp 10 lần vi điều khiển dạng CISC(Complex Intruction Set omputer) thông thường

Khi sử dụng vi điều khiển Atmega16, có rất nhiều phần mềm được dùng

để lập trình bằng nhiều ngôn ngữ khác nhau đó là: Trình dịch Assembly nhưAVR studio của Atmel, Trình dịch C như win AVR, CodeVisionAVR C,ICCAVR C - CMPPILER của GNU… Trình dịch C đã được nhiều người dụng

và đánh giá tương đối mạnh, dễ tiếp cận đối với những người bắt đầu tìm hiểu

Trang 19

AVR, đó là trình dịch CodeVisionAVR.”(http://bkit4u.com/?topic=page&id=8)

Hình 1.4: Kiểu dáng và sơ đồ chân ATmega16

Chapter 1 1.4.3 Cấu trúc bên trong ATmega16

Sơ đồ khối cấu trúc ATmega16 được trình bày theo sơ đồ dưới đây:

Trang 20

Hình 1.5: Sơ đồ khối cấu trúc AVR ATmega16.

Trang 21

1.4.3.1 CPU

a ALU – Arithmetic Logic Unit

Thực thi cao AVR ALU hoạt động trong sự kết nối trực tiếp với tất cả 32thanh ghi hỗ trợ làm việc Hoạt động trong ALU được chia thành 3 chức năngchính: số học, logic và chức năng bit

b Thanh ghi trạng thái (Status Registers)

Chứa thông tin về kết quả của các tính toán được thực thi gần nhất Chú ýStatus Register được thay đổi sau tất cả các phép tính toán trong ALU

Bit 7 6 5 4 3 2 1 0

Reade/wite: R/W R/W R/W R/W R/W R/W R/W R/W

Khởi tạo: 0 0 0 0 0 0 0 0

Bit 7-I: cho phép ngắt toàn cục Không cho phép người sử dụng tự ý xóa.Chỉ bị xóa khi có ngắt mới xuất hiện và được chỉ dẫn bởi RETI cho những ngắt

kế tiếp Có thể được đặt hoặc được xóa bởi SEI và CLI

Bit 6-T: bit lưu trữ Có thể chép từ BST sang BLD và ngược lại

Bit 5-H: Cờ nhớ nửa H sử dụng để nhớ nửa hữu ích trong phép tính sốBCD

+ Bit 3-D: 2 cờ tràn

+ Bit 2-N: cờ phủ định

+ Bit 1-Z: cờ zero

+ Bit 0-C: cờ nhớ

c Thanh ghi mục đích chung

Thanh ghi file được tối ưu hóa cho AVR tăng cường lập tập tin Trongmệnh lệnh để đạt được sự thực hiện đòi hỏi và tính tối ưu hóa những sơ đồ vào

ra đây được hỗ trợ:

Trang 22

Một toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit.

Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 8 bit

Hai toán hạng ngõ ra 8 bit và một kết quả ngõ vào 16 bit

Một toán hạng ngõ ra 16 bit và một kết quả ngõ vào 16 bit

Hình 1.6: Các thanh ghi hỗ trợ làm việc AVR CPU

d Con trỏ ngăn xếp (Stack pointer)

Bit 15 14 13 12 11 10 98

Trang 23

0 0 0 0 0 0 0 0

Thanh ghi Stack Poiter luôn trỏ đến đỉnh của ngăn xếp

“Stack Poiter trỏ đến ngăn xếp dữ liệu SRAM lưu trữ những process con

và những ngắt cục bộ Khoảng trống trong SRAM phải được định nghĩa bởiprocess trước bất kỳ process con nào gọi nó thực thi hoặc ngắt nào được hoạtđộng Stack Poiter giảm đi 1 khi dữ liệu được đẩy lên trên Stack với lệnh PUSH,

và giảm đi 2 khi trả về địa chỉ được đẩy lên trên Stack với sự gọi process conhoặc ngắt được gọi Stack Poiter tăng lên 1 khi dữ liệu được đưa ra khỏi Stackvới lệnh POP, và tăng lên 2 khi dữ liệu được đưa ra khỏi Stack trả về từ processcon RET hoặc trả về từ ngắt RETI

Stack Poiter AVR được bổ xung như 2 thanh ghi 8 bit trong không gian I/

O Số lượng các bít được sử dụng là sự thi hành phụ thuộc Chú ý không gian dữliệu trong bổ xung của kiến trúc AVR nhỏ nên chỉ sử dụng thanh ghi SPL, trongtrường hợp này không có thanh ghi SPH

e Reset và xử lý ngắt

AVR cung cấp vài nguồn ngắt khác nhau Các ngắt này có vector Resetriêng biệt với vector process Tất cả các ngắt ghi ở mức logic 1 cùng với ngăttoàn cục Trong thanh ghi trạng thái các bit cho phép ngắt phụ thuộc giá trịCounter process Các ngắt có thể tự động bị cấm khi khởi động khóa bit BLB02hoặc BLB12 Khi một ngắt xuất hiện, ngắt toàn cục cho phép I-bit xóa và tất cảcác ngắt còn lại bị cấm Sử dụng phần mềm có thể ghi logic 1 cho I-bit cho phépngắt Tất cả các ngắt được cho phép có thể ngắt thường trình I-bit tự động đượclập khi một lệnh ngắt trở lại thực thi từ RETI

Có hai kiểu ngắt cơ bản:

Kiểu 1: hoạt động bởi 1 sự kiện lập bởi cờ ngắt Với mỗi ngắt Counterprocess là một vector tới vector ngắt hiện tại trong thứ tự thực thi, phần cứng sẽ

Trang 24

xóa cờ ngắt Các cờ ngắt có thể bị xóa bởi ghi logic 1 tới vị trí bit cờ để xóa.Nếu điều kiện một ngắt xuất hiện trong khi cho phép ngắt bit bị xóa thì cờ ngắt

sẽ được lập và nhớ đến khi ngắt cho phép hoặc cờ ngắt bị xóa bởi phần mềm.Tương tự, điều kiện để các ngắt xuất hiện trong khi bit GIE(Global InterruptEnable) bị xóa thì cờ nhớ sẽ lập và nhớ đến khi bit GIE được lập

Kiểu 2: các ngắt sẽ được hoạt động nếu điều kiện để ngắt có mặt Nhữngngắt này không cần có cờ ngắt Nếu điều kiện ngắt không xuất hiện trước khingắt cho phép ngắt sẽ không được hoạt động

Khi AVR thoát khỏi 1 ngắt, nó sẽ luôn trả về process chính và thực thihơn một lệnh trước khi tạm dừng ngắt Chú ý thanh ghi trạng thái không tự độnglưu trữ khi vào một thủ tục ngắt và cũng không tự phục hồi khi thoát ra khỏi thủtục Khi sử dụng lệnh CLI để cấm các ngắt thì ngắt sẽ không trực tiếp bị cấm.Không có ngắt được thực thi sau lệnh CLI ngay cả khi xuất hiện đồng thời vớilệnh.”(http://timtailieu.vn/tai-lieu/do-an-bao-trom-bao-chay-qua-duong-day-dien-thoai-341/)

g Ngắt đáp ứng lại thời gian

“Ngắt thực thi đáp ứng cho tất cả các ngắt cho phép của AVR là 4 chu kỳxung tối thiểu Sau 4 chu kỳ xung vector process thêm địa chỉ cho ngắt đanghoạt động trong process con thực thi Trong khoảng thời gian này bộ nhớprocess sẽ đẩy lên trên Stack Vector ngắt nhảy đến ngắt trong process con vàlệnh ngắt này sẽ đưa ra 3 chu kỳ xung Nếu một ngắt xuất hiện trong khi thực thinhiều chu trình lệnh,thì lệnh sẽ được trước khi ngắt được thực hiện Nếu mộtngắt xuất hiện khi MCU ở chế độ ngủ, ngắt thực thi yêu cầu thời gian tăng bởi 4chu kỳ xung

Trở về từ ngắt process con đưa rad 4 chu kỳ xung bộ đếm chương trình sẽđược đưa ra từ Stack, Stack Poiter tăng thêm 2 và I-bit trong SREG được lập

Trang 25

1.4.3.2 Bộ nhớ

Phần này mô tả các bộ nhớ khác nhau trong Atmega16 Kiến trúc AVR có

2 bộ nhớ chính: bộ nhớ dữ liệu và bộ nhớ process Bổ xung thêm vào đặc tínhAVR một bộ nhớ EEPROM lưu trữ dữ liệu

a Hệ thống bộ nhớ lập trình lại Flash

Atmega16 chứa 16 K bytes On-Chip trong hệ thống bộ nhớ lập trình lạiFlash để lưu trữ process Cho AVR 16 hoặc 32 bit thì bộ nhớ flash là 8K*16 Bộnhớ Flash có khả năng ghi/ xóa 1000 lần cho mỗi vòng Atmega16 có Counter

13 bit cùng với 8K địa chỉ process

Trang 26

Hình 1.8: Sơ đồ bộ nhớ dữ liệu.

Hình 1.9: Những chu kỳ truy xuất SRAM

c Bộ nhớ dữ liệu EEPROM

Trang 27

Atmega16 chứa 512 byte bộ nhớ dữ liệu EEPROM Nó được tổ chức nhưmột không gian dữ liệu riêng biệt, mỗi byte đơn có thể đọc và ghi EEPRAM cókhả năng thực hiện 100.000 chu kỳ ghi/xóa Truy xuất giữa EEPRAM và CPUđược mô tả theo đặc tả thanh ghi địa chỉ, thanh ghi dữ liệu và thanh ghi điềukhiển EEPROM.

Thanh ghi địa chỉ EEPROM: EEARH và EEARL

Bit 15 14 13 12 11 10 98

EEAR

7

EEAR6

EEAR5

EEAR4

EEAR3

EEAR2

EEAR1

EEAR0

Bit 7 6 5 4 3 2 10

Bit 15…9 – Res: các bit đã đăng ký trước

Các bit này sẽ luôn được đọc là 0

Bit 8…0 – EER8…0: địa chỉ EEPROM

Thanh ghi địa chỉ EEPROM - EEARH và EEARL mô tả địa chỉEEPROM trong 512 byte không gian EEPROM Các byte dữ liệu EEPROMđược thêm vào tuyến tính giữa 0 và 511 Giá trị đầu của EEAR là không xácđịnh Một giá trị riêng phải được ghi trước

1.4.3.3 Thanh ghi dữ liệu EEPROM: EEDR

Bit 7 6 5 4 3 2 10

Trang 28

MSB LSB

Read/write

R/W R/W R/W R/W R/W R/W R/WR/W

Khởi tạo

0 0 0 0 0 0 00

Bit 7…0 – EEDR7…0 : EEPROM dữ liệu

EEPROM ghi hoạt động, thanh ghi EEDR chứa dữ liệu ghi tới EEPROM trongđịa chỉ đưa bởi thanh ghi EEAR Cho hoạt động đọc EEPROM, EEDR chứa dữliệu đọc ngoài từ EEPROM tại địa chỉ đưa bởi EEAR

1.4.3.4 Thanh ghi điều khiển EEPROM: EECR

Bit 7 6 5 4 3 2 10

Read/write

R/W R/W R/W R/W R/W R/W R/WR/W

Khởi tạo

0 0 0 0 0 0 00

Bit 7…4 – Res: các bit đăng ký trước

Các bit này đã được đăng ký trước trong Atmega16 và luôn được đọc là 0

Bit 3 – EERIE: EEPROM sẵn sàng cho phép ngắt

Trang 29

Ghi EERIE lên 1 cho phép EEPROM sẵn sàng ngắt nếu I-bit trong SREGđược lập Ghi EERIE về 0 sẽ cấm ngắt Khi EEWE bị xóa EEPROM sẵn sàngphát ra ngắt là một hằng số ngắt.

Bit 2 – EEMWE: EEPROM chỉ cho phép ghi

Khi Bit EEMWE được lập, lập EEWE với 4 chu kỳ xung sẽ ghi dữ liệutới EEPROM tại địa chỉ được chọn Nếu EEMWE = 0, lập EEWE sẽ không cóảnh hưởng Khi EEMWE được ghi lên 1 bởi phần mềm, phần cứng xóa bit về 0sau 4 chu kỳ xung

Bit 1 – EEWE: EEPROM cho phép ghi

EEPROM cho phép ghi tín hiệu EEWE được ghi tín hiệu tra cứu tớiEEPROM Khi địa chỉ và dữ liệu đưa lên chính xác, bit EEWE phải ghi lên 1.Bit EEMWE phải ghi lên 1 trước khi logic 1 được ghi cho EEWE Các bước cầnlàm khi ghi EEPROM (bước 3 và 4 có thể bỏ qua)

+ Đợi đến khi EEWE trở về 0

+ Đợi đến khi SPMEN trong SPMCR trở về 0

+ Ghi địa chỉ mới EEPROM tới EEAR (tùy chọn)

+ Ghi dữ liệu mới EEPROM tới EEAR (tùy chọn)

+ Ghi logic 1 tới bit EEMWE trong khi ghi EEWE trong EECR về 0 + Trong 4 chu kỳ xung đồng hồ sau khi lập EEMWE ghi logic 1 choEEWE

Bit 0 – EERE: EEPROM cho phép đọc

Tín hiệu cho phép đọc EERE đọc tín hiệu tra cứu tới EEPROM Khi địachỉ đúng thì lập lên thanh ghi EEAR, bit EERE phải ghi ở logic 1 để khởi độngEEPROM đọc Sự truy xuất EEPROM đọc cần 1 lệnh và yêu cầu dữ liệu có giátrị trực tiếp Khi EEPROM được đọc CPU bị dừng trong 4 chu kỳ trước khi lệnhtiếp được thực thi Người sử dụng cần phải kiểm tra bit EEWE trước thao tácđọc Nếu ghi hoạt động trong tiến trình thì không cái nào có thể đọc EEPROM,cũng không thể thay đổi thanh ghi EEAR Bộ dao động chuẩn được sử dụng đểlấy thời gian truy xuất EEPROM

Ngày đăng: 09/03/2018, 12:07

TỪ KHÓA LIÊN QUAN

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

w