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

ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ QUA MẠNG ĐIỆN THOẠI

95 1,3K 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 95
Dung lượng 1,38 MB

Nội dung

Điều khiển và giám sát từ xa qua đường dây điện thoại là một hệthống mà con người có thể điều khiển được các thiết bị thông qua bàn phímđiện thoại , với thiết bị này, người điều khiển sẽ

Trang 1

LỜI GIỚI THIỆU Trong thời đại ngày nay, khoa học kỹ thuật phát triển đòi hỏi sinh viên –

học sinh học phải đi đôi với hành, bên cạnh những lý thuyết cơ bản ở trườnglớp, phải biết ứng dụng những gì đã học vào thực tiễn, có vậy mới giúpchúng ta nắm vững những kiến thức mình đã có, bổ sung thêm kiến thứcmới và góp phần phát huy khả năng năng động, sáng tạo

Sự xuất hiện của các linh kiện bán dẫn đã góp phần quan trọng trong sựphát triển của ngành công nghệ thông tin, ngành công nghiệp điện tử Cácthiết bị điện tử ra đời ngày càng tinh vi hơn, nhỏ gọn hơn và nhiều chứcnăng hơn, phục vụ tốt hơn cho nhu cầu ngày càng cao của con người

Tuy chỉ mới xuất hiện ở nước ta, nhưng công nghệ thông tin đã pháttriển rất nhanh và giữ vai trò quan trọng trong nhiều lĩnh vực như đời sống,sản xuất công nghiệp… Hệ thống viễn thông, dịch vụ khách hàng, thông tin

di động, ngày càng phát triển với tính hiện đại và tự động hóa ngày càngcao

Trang 2

Cuộc sống hiện đại đòi hỏi con người luôn bận rộn với công việc, mộtngười khi đang làm việc ở một nơi cách xa nhà mà không biết hoạt động củacác thiết bị điện trong nhà có an toàn hay không, những lúc như vậy, người

ấy cần có một thiết bị có thể giúp mình không những kiểm tra giám sátđược trạng thái của các thiết bị điện trong nhà, mà còn có thể điều khiểnchúng tắt hay mở theo ý muốn, điều này đòi hỏi phải có một thiết bị điềukhiển từ xa

Đối với hệ thống điều khiển từ xa bằng hồng ngoại có nhược điểm là

bị giới hạn về khoảng cách Tuy nhiên, sự ra đời của các mạng điện thoại đãđược mở rộng với quy mô trên toàn thế giới thì khoảng cách không còn làvấn đề khó khăn, bên cạnh đó, sự hoạt động ổn định và đáng tin cậy củamạng điện thoại đã mở ra một hướng đi mới cho việc điều khiển từ xa

Điều khiển và giám sát từ xa qua đường dây điện thoại là một hệthống mà con người có thể điều khiển được các thiết bị thông qua bàn phímđiện thoại , với thiết bị này, người điều khiển sẽ có thể tiết kiệm được nhiềuthời gian cho công việc, vừa đảm bảo các tính năng an toàn cho các thiết bịđiện gia dụng Ngoài ra, ứng dụng của hệ thống điều khiển và giám sát từ xabằng điện thoại giúp ta có thể điều khiển các thiết bị, máy móc ở những môitrường nguy hiểm mà con người không thể làm việc hoặc tiếp xúc trực tiếpđược

Với những tính năng như điều khiển dễ dàng, độ tin cậy cao, khả nănglàm việc ổn định (do sử dụng đường dây điện thoại để truyền dẫn tín hiệu),

Trang 3

hệ thống điều khiển và giám sát từ xa qua mạng điện thoại sẽ góp phần phục

vụ tốt hơn cho nhu cầu ngày càng cao của con người

Xuất phát từ những ý tưởng và tình hình thực tế như đã nêu, nhómchúng em quyết định chọn đề tài “ Điều khiển và giám sát thiết bị qua mạngđiện thoại” để làm đề tài tốt nghiệp

II Giới thiệu đề tài:

Điều khiển và giám sát thiết bị qua mạng điện thoại, mà ở đây là ứng

dụng tín hiệu truyền trên đường dây điện thoại do nhà mạng điện thoại cungcấp Nó là sự kết hợp giữa các ngành Điện – Điện Tử và Viễn Thông, sựphối hợp ứng dụng vi điều khiển hiện đại và hệ thống thông tin liên lạc đãhình thành một hướng nghiên cứu và phát triển cho Khoa Học – Kỹ Thuật

Điều khiển và giám sát thiết bị từ xa qua đường dây điện thoại khắcphục được nhiều giới hạn trong hệ thống điều khiển từ xa và báo động thôngthường Điểm nổi bật của hệ thống này là sự ổn định do sử dụng tín hiệu trênđường dây điện thoại do các nhà mạng cung cấp có tính ổn định cao, khôngchỉ thích hợp sử dụng cho các công ty, các doanh nghiệp vừa và nhỏ mà cònphù hợp sử dụng trong các hộ gia đình

Ý tưởng thiết kế là dựa vào mạng điện thoại có sẵn để thiết kế hệthống tự động điều khiển đóng ngắt các thiết bị điện trong nhà với sự trợgiúp của kỹ thuật vi điều khiển Hệ thống này được thiết kế trên mô hìnhđóng ngắt 4 thiết bị và giám sát qua việc phản hồi kết quả cho người điềukhiển biết bằng âm thanh được lưu trữ và cài đặt sẵn trạng thái hiện thời củathiết bị Ngoài ra, hệ thống này chỉ có thể điều khiển được khi nhấn đúng mãPassword nên không thể xảy ra trường hợp người ngoài có thể điều khiển hệthống do vô tình quay số ngẫu nhiên

Nếu không may có sự trùng hợp ngẫu nhiên, hệ thống bị xâm nhập

do người ngoài quay số ngẫu nhiên vào hệ thống thì người điều khiển có thể

sử dụng biện pháp an toàn là đổi mã password

Để điều khiển, đầu tiên người điều khiển phải gọi tới số máy điệnthoại nơi lắp đặt thiết bị điều khiển Điện thoại được gọi có mạch điều khiểnmắc song song với đường dây điện thoại (thiết bị muốn điều khiển được mắcvào mạch điều khiển) Sau một thời gian đổ chuông nhất định, nếu không có

ai nhấc máy thì mạch sẽ tự động điều khiển đóng mạch Sự đóng mạch nàytạo trạng thái tải giả để kết nối thuê bao Sau đó, người điều khiển sẽ nhấn

mã Password để xâm nhập vào hệ thống điều khiển Lúc này, mạch điều

Trang 4

khiển sẵn sàng nhận lệnh Nếu nhấn sai Password thì người điều khiểnkhông thể xâm nhập vào hệ thống điều khiển được.

Sau khi nhấn đúng mã Password, người điều khiển có thể bắt đầukiểm tra trạng thái tất cả các thiết bị trước khi điều khiển Để điều khiển hệthống, ta sẽ quy định các mã điều khiển như sau:

+ Mã Password để điều khiển là 1234

2 Phương án thiết kế và sơ đồ khối:

Mạch thi công gồm các khối sau:

• Khối cảm biến chuông

• Khối kết nối thuê bao

• Khối giải mã DTMF

• Khối xử lý trung tâm

• Khối âm thanh

• Khối công tắc bên ngoài

Từ các khối trên, ta kết hợp lại với nhau thành một hệ thống hoạtđộng hoàn chỉnh để thi công mạch và viết chương trình cho vi điều khiển đểđiều khiển mạch hoạt động đúng theo yêu cầu đề ra

+Sơ đồ khối:

KHỐI DTMF

KHỐI CẢM BIẾN TÍN HIỆU

BÊN NGOÀI

KHỐI XỬ LÝ TRUNG TÂM (CPU) TIP

RING

KHỐI ĐIỀU KHIỂN THIẾT BỊ

Trang 5

Hình 1.1: Sơ đồ các khối trong mạch.

Trong hệ thống này, người điều khiển có thể điều khiển tại chỗ các

thiết bị bằng công tắc riêng ở bên ngoài mà không cần thông qua điện thoại

3.Giải thích chức năng và mối quan hệ của các khối:

+ Khối xử lý trung tâm: điều khiển hoạt động của toàn hệ thống, nhận

tín hiệu chuông và sẽ quyết định kết nối thuê bao nếu không có người nhấc

máy, các mã điều khiển được lưu trữ trong CPU, khi nhận được mã từ người

điều khiển, CPU sẽ so sánh với mã lệnh được lưu trong bộ nhớ, từ đó sẽ cho

chạy chương trình điều khiển các thiết bị cũng như điều khiển phát âm thanh

+ Khối cảm biến chuông: cảm biến tín hiệu chuông, khi có một cuộc

gọi đến, khối này sẽ cảm biến tín hiệu, chuyển đến CPU để chạy chương trình

điều khiển kết nối thuê bao

+ Khối kết nối thuê bao: nhận tín hiệu điều khiển từ CPU, kết nối tạo

trạng thái tải giả giống như thuê bao đang nhấc máy

+ Khối DTMF: trên đường dây điện thoại, khi ấn phím điện thoại, các

số được truyền dưới dạng mã đa tần (gồm một tín hiệu có tần số cao và một

tín hiệu có tần số thấp), khối này sẽ thu nhận tổ hợp mã đa tần này, sau đó

chuyển thành 4bit nhị phân để chuyển đến CPU

+ Khối điều khiển: nhận lệnh điều khiển từ CPU để tắt / mở các thiết

bị

+ Khối công tắc ngoài: giúp người điều khiển có thể tắt / mở thiết bị

mà không cần sử dụng qua điện thoại

+ Khối âm thanh: tạo âm thanh phản hồi cho người điều khiển giám

sát trạng thái của các thiết bị

+ Khối nguồn: tạo điện áp ±5V ổn định cung cấp cho mạch hoạt động

KHỐI TẠO ÂM THANH KHỐI KẾT NỐI

THUÊ BAO

Trang 6

CHƯƠNG II:

CƠ SỞ LÝ THUYẾT

I GIỚI THIỆU SƠ LƯỢC VỀ TỔNG ĐÀI:

1 Khái niệm về tổng đài:

Tổng đài điện thoại là một hệ thống chuyển mạch, nó có nhiệm vụ kết nốicác cuộc liên lạc từ thiết bị đầu cuối chủ gọi đến thiết bị đầu cuối bị gọi.Ngày nay, kỹ thuật số và chuyển mạch, truyền dẫn phân chia theo thờigian đã trở nên rất phổ biến và là phương thức làm việc chủ yếu trong các hệtổng đài hiện nay Trong đó, kỹ thuật điều chế xung mã (PCM) được sửdụng rất hiệu quả trong các mạng truyền số liệu, tiếng nói, hình ảnh đangphát triển hiện nay, đó là mạng số liên kết dịch vụ ISDN

2 Phân loại tổng đài:

a Phân loại theo công nghệ: gồm hai loại

- Tổng đài nhân công: việc kết nối thông thoại cho các thuê bao đượcthực hiện bằng thao tác trực tiếp của con người

- Tổng đài tự động: chia làm hai loại chính

+ Tổng đài cơ điện: chuyển mạch nhờ vào các bộ chuyển mạch cơ khí,được điều khiển bằng các mạch điện tử, bao gồm: chuyển mạch quay tròn,chuyển mạch từng nấc, chuyển mạch ngang dọc

+ Tổng đài điện tử: các bộ chuyển mạch bao gồm các linh kiện bán

dẫn, vi mạch cùng với các relay, analog switch được điều khiển bởi cácmạch điện tử, vi mạch

b Phân loại theo cấu trúc mạng:

Hiện nay, mạng viễn thông Việt Nam có 5 loại sau:

• Tổng đài cơ quan PABE (Private Automatc Branch Exchange): được

sử dụng trong các cơ quan, khách sạn và chỉ sử dụng trung kế CO-Line

• Tổng đài nông thôn RE (Rural Exchange): được sử dụng ở các xã, khu

Trang 7

• Tổng đài nội hạt LE (Local Exchange): được đặt ở trung tâm huyệntỉnh và sử dụng tất cả các loại trung kế.

• Tổng đài đường dài TE (Toll Exchange): dùng để kết nối các tổng đàinội hạt ở các tỉnh với nhau, chuyển mạch các cuộc gọi đường dài trongnước, không có mạch thuê bao

• Tổng đài cửa ngõ quốc tế GWE (Gate Way Exchange): tổng đài nàyđược dùng chọn hướng và chuyển mạch cuộc gọi vào mạng quốc tế Để nốicác mạng quốc gia với nhau có thể chuyển quá giang các cuộc gọi

 Sơ đồ khối tổng đài điện thoại:

Hình 1.2 : Sơ đồ khối tổng đài điện thoại.

Chức năng từng khối:

 Khối chuyển mạch: thực hiện thiết lập tuyến nối giữa một đầu vào bất

kì với một đầu ra bất kì Đối với hệ thống chuyển mạch số, để thiết lậptuyến đàm thoại giữa hai thuê bao, cần phải thiết lập tuyến nối cho cảhai hướng: đi và về

Trang 8

 Khối báo hiệu: thực hiện việc trao đổi thông tin báo hiệu thuê bao,thông tin báo hiệu đường trung kế liên đài để phục vụ cho quá trìnhthiết lập, giải phóng các cuộc gọi.

 Khối điều khiển: phân tích, xử lý các thông tin từ khối báo hiệu đưatới để thiết lập hoặc giải phóng cuộc gọi Thực hiện tính cước cho cáccuộc gọi… Ngoài ra, khối điều khiển còn có chức năng thuộc về khaithác, bảo dưỡng hệ thống để đảm bảo cho hệ thống hoạt động tin cậy

 Ngoai vi thuê bao, trung kế: thực hiện chức năng giao tiếp giữa cácđường dây thuê bao, các đường trung kế với khối chuyển mạch Thuêbao được trang bị có thể là thuê bao Analog, Digital tùy theo cấu trúcmạng tổng đài Trung kế được trang bị có thể là trung kế Analog,Digital

3 Các kỹ thuật chuyển mạch điện tử:

• Chuyển mạch theo phương pháp kết nối không gian (spaceswitch): thường được sử dụng cho chuyển mạch tương tự Ngoài ra cònđược sử dụng kết hợp với chuyển mạch thời gian trong các hệ chuyển mạchTST, STS, TSTS…

• Chuyển mạch ghép: có hai loại là phân chia theo thời gian để ghépcác cuộc gọi theo thời gian và phân chia theo tần số để ghép các cuộc gọitheo tần số

4 Hệ thống âm hiệu của tổng đài:

Đường dây điện thoại hiện nay gồm có hai dây và thường gọi đó là Tip

và Ring có màu đỏ và xanh Tất cả các điện thoại hiện nay đều được cấpnguồn từ tổng đài thông qua hai dây Tip và Ring Điện áp cung cấp thường

là 48 VDC, nhưng nó cũng có thể thấp đến 47 VDC hoặc cao đến 105 VDCtùy thuộc vào tổng đài Ngoài ra, để hoạt động giao tiếp được dễ dàng, tổngđài gửi một số tín hiệu đặc biệt đến điện thoại như tín hiệu chuông, tín hiệubáo bận.v.v

a Tín hiệu chuông (Ring Signal):

4s 2s

48V

Trang 9

130 VRMS thường là 90 VRMS Tín hiệu chuông được gửi theo xung thường là

2 giây có, 4 giây không Hoặc có thể thay đổi tùy thuộc từng loại tổng đài.b.Tín hiệu mời gọi (Dial Signal):

Hình 1.4: Tín hiệu mời gọi

Đây là tín hiệu liên tục, không phải là tín hiệu xung như các tín hiệukhác sử dụng trong hệ thống điện thoại Tín hiệu này được tao ra bởi hai âmthanh có tần số 350Hz và 440Hz

b Tín hiệu báo bận (Busy Signal):

Khi thuê bao nhấc máy để thực hiện một cuộc gọi thì thuê bao sẽ nghemột trong hai tín hiệu:

- Tín hiệu mời cho phép thuê bao thực hiện ngay một cuộc gọi

- Tín hiệu báo bận báo cho thuê bao biết đường dây đang bận,không thể thực hiện cuộc gọi ngay lúc này

Tín hiệu báo bận là tín hiệu xoay chiều có dạng sin, tần số 425Hz, cóchu kỳ 1s (0.5s có và 0.5s không)

Hình 1.5: Tín hiệu báo bận

c Tín hiệu chuông hồi tiếp

4s 2s

0,5s 0,5s

Trang 10

Hình 1.6: Tín hiệu hồi âm chuông.

Tín hiệu hồi âm chuông (Ringback Tone): là tín hiệu sin tần số f

=425± 25Hz, biên độ 2VRMS trên nền DC 10v, phát ngắt quãng 2s có, 4skhông

1.Gọi sai số: nếu bạn gọi nhầm một số mà nó không tồn tại thì bạn

sẽ nhận được tín hiệu xung có tần số 200Hz – 400Hz Hoặc đối với các hệthống điện thoại ngày nay, bạn sẽ nhận được thông báo rằng bạn gọi sai số

2.Tín hiệu báo gác máy: Khi thuê bao nhấc ống nghe ra khỏi điệnthoại quá lâu mà không gọi cho ai thì thuê bao sẽ nhận được một tín hiệuchuông rất lớn để cảnh báo Tín hiệu này là tổng hợp của bốn tần số 1400Hz+ 2050Hz + 2450Hz + 2600Hz được phát ra dạng xung 0.1s có và 0.1skhông

Trang 11

BẢNG TÓM TẮT TẦN SỐ TÍN HIỆU TRONG HỆ THỐNG ĐIỆNTHOẠI

Vùng hoạtđộng (Hz)

Chuẩn(Hz)

Dạng tín hiệu Đvị

Tín hiệu chuông 16 – 60 425± 25 Xung 2s on 4s off Hz

Tín hiệu báo bận 425± 25 Xung 0,5s on 0,5s

off

Hz

Tín hiệu chuông hồi

Tín hiệu báo gác máy 1400+2060

+2450+2600

Xung 0,1s on 0,1soff

Hz

II KHÁI QUÁT CHUNG VỀ MÁY ĐIỆN THOẠI:

1 Nguyên lý thông tin điện thoại:

Thông tin điện thoại là quá trình truyền đưa tiếng nói từ nơi này đếnnơi khác bằng dòng điện qua máy điện thoại Máy điện thoại là thiết bị đầucuối của mạng thông tin điện thoại Quá trình thông tin đó được minh họanhư sau:

Ống nóiĐường dây

Trang 12

Hình1.8: Nguyên lý truyền thông tin trên điện thoại.

b.Nguyên lý:

Khi ta nói trước ống nói của máy điện thoại, dao động âm thanh củatiếng nói sẽ tác động vào màng rung của ống nói làm cho ống nói thayđổi, xuất hiện dòng điện biến đổi tương ứng trong mạch Dòng điện biếnđổi này được truyền qua đường dây tới ống nghe của máy đối phươnglàm cho màng rung của ống nghe dao động, lớp không khí trước mànrung dao động theo, phát ra âm thanh tác động đến tai người nghe và quátrình truyền dẫn ngược lại cũng tương tự

2 Những yêu cầu cơ bản về máy điện thoại:

a) Khi thu phát tín hiệu chuông thì bộ phận đàm thoại phải được táchrời đường điện, trên đường dây chỉ có dòng tín hiệu chuông

b) Khi đàm thoại, bộ phận phát và nhận tín hiệu chuông phải tách rakhỏi đường điện, trên đường dây chỉ có dòng điện điện thoại

c) Máy phải phát được mã số thuê bao bị gọi tới tổng đài và phảinhận được tín hiệu chuông từ tổng đài đưa tới

d) Trạng thái nghỉ, máy thường trực đón nhận tín hiệu chuông củatổng đài

Ngoài ra, máy cần phải chế tạo ngắn gọn, nhẹ, đơn giản, bền, đẹp, tiện lợicho mọi người sử dụng

3 Những chức năng cơ bản của máy điện thoại:

a) Chức năng báo hiệu: báo cho người sử dụng điện thoại biết tổngđài điện thoại sẵn sàng tiếp nhận hoặc chưa tiếp nhận cuộc gọi đóbằng các âm hiệu

b) Phát mã số của thuê bao bị gọi vào tổng đài bằng cách thuê baochủ gọi ấn phím số trên máy điện thoại

c) Thông báo cho người sử dụng điện thoại biết tình trạng diễn biếnviệc kết nối mạch bằng các âm hiệu

Trang 13

d) Báo hiệu bằng chuông cho thuê bao biết là có người đang gọimình.

e) Biến âm thanh thành tín hiệu điện phát sang máy đối phương vàchuyển tín hiệu điện từ máy đối phương tới thành âm thanh

f) Báo hiệu cuộc gọi kết thúc

g) Khử trắc âm, chống tiếng dội, tiếng keng, tiếng click khi phátxung số

h) Tự động điều chỉnh âm lượng và phối hợp trở kháng với đườngdây

4 TẦM QUAN TRỌNG VÀ ỨNG DỤNG CỦA ĐIỀU KHIỂN TỪ XA:

Một nền công nghiệp phát triển mạnh luôn đi đôi với các thiết bị, máymóc tinh vi hơn, phức tạp hơn Với nền công nghiệp phát triển như thế, điềukhiển từ xa đóng vai trò quan trọng trong công cuộc công nghiệp hóa, hiệnđại hóa đất nước

Trong công nghiệp, tại các lò phản ứng, các nhà máy hay tại nhữngnơi có mức độ nguy hiểm cao mà con người không thể tiếp cận để điềukhiển được, ta phải cần đến bộ điều khiển từ xa để điều khiển

Điều khiển và giám sát từ xa không những phục vụ cho công nghiệphay nghiên cứu khoa học mà nó còn góp một phần không nhỏ vào phục vụcho nhu cầu cuộc sống hàng ngày của con người

Tùy thuộc vào mục đích và yêu cầu mà các hệ thống điều khiển từ xa

có cấu tạo từ đơn giản đến phức tạp Tuy nhiên, có thể chia chúng làm hailoại chính đó là: Điều khiển từ xa bằng vô tuyến và điều khiển từ xa bằnghữu tuyến

Trang 14

Trong các thiết bị điện và điện tử dân dụng, các bộ vi điều khiển, điềukhiển hoạt động của TV, máy giặt, điện thoại, lò viba… Trong hệ thống sảnxuất tự động, bộ vi điều khiển được sử dụng trong Robot, dây chuyền tựđộng Các hệ thống càng “thông minh” thì vai trò của hệ thống vi điều khiểncàng quan trọng.

1 Khảo sát bộ vi điều khiển PIC 16F877A:

Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có

độ dài 14 bit, mỗi lệnh đều được thực thi trong một chu kì xung clock, tốc

độ hoạt động tối đa cho phép là 20MHZ với một chu kì lệnh là 200ns Bộnhớ chương trình 8Kx14bit, bộ nhớ dữ liệu 368x8 byte và bộ nhớ dữ liệuEEPROM với dung lượng 256x8 byte, số port I/O là 5 với 33 pin I/O

2 Các cổng xuất nhập của PIC 16F877A:

Cổng xuất nhập (I/O port) chính là phương tiện mà vi điều khiển dùng

để tương tác với thế giới bên ngoài Bên cạnh đó, do vi điều khiển được tích

Trang 15

hợp sẵn bên trong các đặc tính giao tiếp ngoại vi nên bên cạnh chức năng làcổng xuất nhập thông thường, một số chân xuất nhập còn có thêm các chứcnăng khác để thể hiện sự tác động của các đặc tính ngoại vi nêu trên đối vớithế giới bên ngoài.

Hình 1.9: Cổng xuất nhập I/O của pic 16F877A

Vi điều khiển PIC16F877A có 5 cổng xuất nhập, bao gồm PORTA, PORTB,PORTC, PORTD và PORTE

a Port A.

PORTA bao gồm 6 I/O pin ( RA0 –RA5) Đây là các chân “hai chiều”(bidirectional pin), nghĩa là có thể xuất và nhập được Chức năng I/O nàyđược điều khiển bởi thanh ghi TRISA (địa chỉ 85h) Muốn xác lập chứcnăng của một chân trong PORTA là input, ta “set” bit điều khiển tương ứngvới chân đó trong thanh ghi TRISA và ngược lại, muốn xác lập chức năngcủa một chân trong PORTA là output, ta “clear” bit điều khiển tương ứngvới chân đó trong thanh ghi TRISA

Trang 16

Bên cạnh đó portA còn là ngõ ra của bộ ADC , bộ so sánh, ngõ vào analog,ngõ vào xung clock của Timer0 và ngõ vào của bộ giao tiếp MSSP.

3 Sơ đồ tổ chức bộ nhớ dữ liệu PIC16F877A

a Stack

Trang 17

Stack không nằm trong bộ nhớ chương trình hay bộ nhớ dữ liệu mà là mộtvùng nhớ đặc biệt không cho phép đọc hay ghi.

Khi lệnh CALL được thực hiện hay khi một ngắt xảy ra làm chương trình bị

rẽ nhánh, giá trị của bộ đếm chương trình PC tự động được vi điều khiển cấtvào trong stack Khi một trong các lệnh RETURN, RETLW hat RETFIEđược thực thi, giá trị PC sẽ tự động được lấy ra từ trong stack, vi điều khiển

sẽ thực hiện tiếp chương trình theo đúng qui trình định trước

Bộ nhớ Stack trong vi điều khiển PIC họ 16F87xA có khả năng chứa được 8địa chỉ và hoạt động theo cơ chế xoay vòng Nghĩa là giá trị cất vào bộ nhớStack lần thứ 9 sẽ ghi đèlên giá trị cất vào Stack lần đầu tiên và giá trị cấtvào bộ nhớ Stack lần thứ 10 sẽ ghi đè lên giá trị cất vào Stack lần thứ 2

Trang 18

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

c SƠ ĐỒ CHÂN PIC 16F877A:

Trang 19

Hình 2.2: Sơ đồ chân Pic16f877A.

d.BẢNG TÍNH NĂNG CÁC CHÂN PIC 16F877A:

OSC1/CLKI 13 I Dao động tinh thể lối vào dao động

ngoài OSC2/CLKO 14 O Dao động tinh thể hoặc lối ra xung

nhịp MCLR/Vpp 1 I/P Lối vào reset Lối vào điện áp nạp

trình Vpp

Trang 20

RA0/AN0 2 I/O Vào/ ra số Lối vào analog 0

RA1/AN1 3 I/O Vào/ ra số Lối vào analog 1

RA3/AN3/V+Ref 5 I/O Vào/ ra số Lối vào analog 3 Lối vào

điện áp chuẩn V-ref của ADC RA4/TOCKI/C1O

UT

6 I/O Vào/ra số cực máng ngỏ Lối vào

xung ngoài cho timer Lối ra bộ so sánh 1

RA5/SS/AN4/C2O

UT

7 I/O Vào/ra số lối vào chọn SOI Lối vào

analog 4 lối ra bộ so sánh 2 RB0/INT 33 I/O Vào/ra số Lối vào ngắt ngoài.

Trang 21

RB7 40 I/O Vào/ra số Dữ nạp trình ICSP

RC0/T1OSO/T1C

KI

15 I/O Vào/ra số Tạo dao động timer Xung

nhịp ngoài cho timer 1 RC1/T1OSI/CCP2 16 I/O Vào/ra số Tạo timer1 Lối vào

Capture Lối ra Compare2 Lối ra PWM2

RC2/CCP1 17 I/O Vào/ra số Lối vào Vào/ra số

Capture1 Lối ra PWM1 RC3/SCK/SCL 18 I/O Vào/ra số Nhịp đồng bộ choSPI và

I2C RC4/SDI/SDA 23 I/O Vào/ra số Vào dữ liệu SPI Vào/ra

dữ liệu I2C RC5/SDO 24 I/O Vào/ra số Ra dữ liệu SPI

RC6/TX/CK 25 I/O Vào/ra số Cổng truyền thông không

đồng bộ Xung nhịp truyền đồng bộ RC7/RX/DT 26 I/O Vào/ra số Cổng nhận không đồng

bộ Dữ liệu đồng bộ RD0

RD1

RD2

19 20 21

I/O I/O I/O

Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ

Trang 22

I/O I/O I/O I/O I/O

Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra số Cổng song song tớ Vào/ra sô Cổng song song tớ RE0/RD/AN5 7 I/O Vào/ra số Điều khiển RD cổng song

song RE1/WR/AN6 8 I/O Vào/ra số Điều khiển WR cổng song

song RE2/CS/AN7 9 I/O Vào/ra số Điều khiển CS cổng song

song Vss 12,31 I/O Đất chung cho lối vàp/ra và analog Vdd 11,32 I/O Cấp nguồn dương

4 CÁC ĐẶC TÍNH NGOẠI VI BAO GỒM CÁC KHỐI CHỨC NĂNG

SAU:

Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit

Timer1: bộ đếm 16 bit với bộ chia tần số, có thể thực thi hiện chức năng

đếm dựa vào xung clock ngoại vi ngay khi vi điều khiển hoạt động ở chế độ

sleep

Timer2: bộ đếm 8 bit với bộ chia tấn số, bộ postcaler

Hai bộ capture/ so sánh/ điều chế độ rộng xung

Trang 23

Các chuẩn giao tiếp nối tiếp SSP (synchronous serial port), SPI và I2C.chuẩn giao tiếp nối tiếp USART với 9 bit địa chỉ, cổng giao tiếp song songPSP (parallel Slave Port) với các chân điều khiển RD, WR, CR ở bên ngoài.Các đặc tính analog:

+ 8 kênh chuyển đổi ADC 10 bit

+ Hai bộ phận so sánh

Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:

Bộ nhớ flash với khả năng ghi xoá được 100.000 lần

Bộ EEPROM với khả năng ghi xoá được 1.000.000 lần

Dữ liệu bộ nhớ EEPROM có thể lưu trữ trên 40 năm, khả năng tự nạpchương trình với sự điều khiển của phần mềm nạp được chương trình ngaytrên mạch điện ICSP (In Circuit serial Programming)

+ Watchdog Timer với bộ dao động trong

+ Chức năng bảo mật mã chương trình

Trang 24

•Chọn xung nhịp bên ngoài hoặc bên trong.

•Sinh ngắt TOIF khi tràn chuyền từ FFh→ 00h

•Chọn sườn xung khi lấy xung nhịp từ bên ngoài

Timer0 dùng làm bộ đếm xung nhịp của vi điều khiển vể tạo ra một bộ đếmthời gian Chế độ đếm thời gian được chọn bằng cách đặt bit T0CS = 0 (bitOPTION<5>) Trong các chế độ đếm thời gian, thanh ghi TMR0 tăng mộtđơn vị sau mỗi chu kỳ máy Thanh ghỉ TMR0 có thể được ghi đọc trongchương trình để xác lập hoặc lấy giá trị hiện thời của timer0

Hình 2.3 : Sơ đồ khối Timer0.

Timer0 dùng để đếm các xung từ bên ngoài cấp vào chân RA4 Chế độđếm xung được chọn bằng cách đặt T0CS = 1 Trong chế độ này thanh ghiTimer0 tăng một đơn vị sau mỗi sườn lên hoặc sườn xuống tùy thuộc vàotrạng thái của bit T0SE

Bộ chia trước được dùng chung cho hai khối watchdog và Timer0 Việc gắn

bộ chia trước cho khối nào được chọn bằng bít PSA(OPTION<3>) Hệ sốchia phụ thuộc giá trị của bit PS2:PS1:PS0 của thanh ghi OPTION

Trang 25

Ngắt timer0 xảy ra khi thanh ghi TMR0 tràn, chuyển từ FFh→00h Sự trànnày sẽ đặt bít T0IF = 1 Ngắt T0IF có thể che bằng bit T0IE Cờ T0IF phảiđược xóa bằng phần mềm.

Timer1:

Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanhghi (TMR1H:TMR1L) Cờ ngắt của Timer1 là bit TMR1IF (PIR1<0>) Bitđiều khiển của Timer1 sẽ là TMR1IE (PIE<0>) Tương tự như Timer0,Timer1 cũng có hai chế độ hoạt động: chế độ định thời (timer) với xung kích

là xung clock của oscillator (tần số của timer bằng ¼ tần số của oscillator)

và chế độ đếm (counter) với xung kích là xung phản ánh các sự kiện cầnđếm lấy từ bên ngoài thông qua chân RC0/T1OSO/T1CKI (cạnh tác động làcạnh lên) Việc lựa chọn xung tác động (tương ứng với việc lựa chọn chế độhoạt động là timer hay counter) được điều khiển bởi bit TMR1CS(T1CON<1>) Sau đây là sơ đồ khối của Timer1:

Hình 2.4: Sơ đồ khối Timer1.

Timer2:

Trang 26

Timer2 là bộ định thời 8 bit và được hỗ trợ bởi hai bộ chia tần số prescaler

và postscaler Thanh ghi chứa giá trị đếm của Timer2 là TMR2 Bit chophép ngắt Timer2 tác động là TMR2ON (T2CON<2>) Cờ ngắt của Timer2

là bit TMR2IF (PIR1<1>) Xung ngõ vào (tần số bằng ¼ tần số oscillator)được đưa qua bộ chia tần số prescaler 4 bit (với các tỉ số chia tần số là 1:1,1:4 hoặc 1:16 và được điều khiển bởi các bit T2CKPS1:T2CKPS0(T2CON<1:0>))

Hình 2.5: Sơ đồ khối của Timer 2

Ngoài ra ngõ ra của Timer2 còn được kết nối với khối SSP, do đó Timer2còn đóng vai trò tạo ra xung clock đồng bộ cho khối giao tiếp SSP

Timer0 và Timer2 là bộ đếm 8 bit (giá trị đếm tối đa là FFh), trong khiTimer1 là bộ đếm 16 bit (giá trị đếm tối đa là FFFFh) Timer0, Timer1 vàTimer2 đều có hai chế độ hoạt động là timer và counter Xung clock có tần

số bằng ¼ tần số của oscillator Xung tác động lên Timer0 được hỗ trợ bởiprescaler và có thể được thiết lập ở nhiều chế độ khác nhau (tần số tác động,cạnh tác động) trong khi các thông số của xung tác động lên Timer1 là cốđịnh Timer2 được hỗ trợ bởi hai bộ chia tần số prescaler và postcaler độc

Trang 27

lập, tuy nhiên cạnh tác động vẫn được cố định là cạnh lên Timer1 có quan

hệ với khối CCP, trong khi Timer2 được kết nối với khối SSP

+Các thanh ghi liên quan đến Timer2 bao gồm:

INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh) : cho phép toàn bộ các ngắt (GIE

và PEIE)

PIR1 (địa chỉ 0Ch): chứa cờ ngắt Timer2 (TIMER2IF)

PIE1 (địa chỉ 8Ch): chứa bit điều khiển Timer2

TIMER2 (địa chỉ 11h): chứa giá trị đếm của Timer2

T2CON (địa chỉ 12h): xác lập các thông số cho Timer2

PR2 (địa chỉ 92h): thanh ghi hỗ trợ cho Timer2

b Chương trình ngắt:

Ngắt có thể nói đây là một khái niệm trừu tượng, nhưng cũng được thiết lậpdựa trên các hiện tượng và tình huống có thực trong thực tế Chẳng hạn nhưtrong cuộc sống hằng ngày, đôi khi ta phải tạm ngưng một công việc nào đóđang làm để nghe điện thoại, sự tạm ngưng này cần được báo hiệu bởi mộttín hiệu ( trong trường hợp trên là chuông điện thoại chẳng hạn)

PIC16F877A có 15 nguồn ngắt được điều khiển bởi thanh ghiINTCON, ngoài ra mỗi ngắt còn được điều khiển bởi một bit cho phép và cờngắt riêng Các cờ ngắt vẫn hoạt động bình thường khi thỏa mãn điều kiệnngắt, không phụ thuộc vào các bit cho phép

Trang 28

Hình 2.6: Sơ đồ logic của tất cả các ngắt trong PIC16F877A.

- Ngắt trên chân INT

Trang 29

- Ngắt moduleCCS

- Ngắt module SSP

Bit điều khiển của ngắt RB0/INT nằm trong thanh ghi INTCON,

thanh ghi này còn chứa bit cho phép ngắt toàn cục GIE (Global Interrupt

Enable) INTCON<7> , bit cho phép ngắt ngoại vi PEIE (Peripheral Interrupt Enable) INTCON<6> Bit điều khiển các ngắt khác nằm trong

thanh ghi PIE1 và PIE2, cờ ngắt nằm trong thanh ghi PIR1 và PIR2 Trongmột thời điểm chỉ có 1 chương trình ngắt được thực thi, chương trình ngắt

kết thúc bằng lệnh RETFIE (Return from Interrupt) để trở về chương trình

chính

Khi chương trình ngắt được thực thi, bit GIE tự động được xóa, địa chỉ tiếptheo của chương trình chính được cất vào stack và bộ đếm chương trình chỉđến địa chỉ 0004h Khi lệnh RETFIE được thực thi thì bit GIE được tự độngset để tiếp tục cho phép các ngắt

Trước khi thực thi chương trình ngắt, nội dung một số thanh ghi SFRnhư là STATUS, PCLATH cần được lưu lại và nạp lại các nội dung đó saukhi thực thi xong chương trình ngắt Ta phải làm như vậy vì trong khi thựchiện chương trình ngắt, nội dung các thanh ghi này có thể thay đổi và khi trở

về chương trình chính, chương trình chính có thể hoạt động không chínhxác

Bên cạnh đó mỗi ngắt còn có một bit điều khiển và cờ ngắt riêng Các

cờ ngắt vẫn được set bình thường khi thỏa mãn điều kiện ngắt xảy ra bấtchấp trạng thái của bit GIE, tuy nhiên hoạt động ngắt vẫn phụ thuôc vào bitGIE và các bit điều khiển khác Bit điều khiển ngắt RB0/INT và TMR0 nằmtrong thanh ghi INTCON, thanh ghi này còn chứa bit cho phép các ngắt

Trang 30

ngoại vi PEIE Bit điều khiển các ngắt nằm trong thanh ghi PIE1 và PIE2.

Cờ ngắt của các ngắt nằm trong thanh ghi PIR1 và PIR2

Trong một thời điểm chỉ có một chương trình ngắt được thực thi, chươngtrình ngắt được kết thúc bằng lệnh RETFIE Khi chương trình ngắt đượcthực thi, bit GIE tự động được xóa, địa chỉ lệnh tiếp theo của chương trìnhchính được cất vào trong bộ nhớ Stack và bộ đếm chương trình sẽ chỉ đếnđịa chỉ 0004h Lệnh RETFIE được dùng để thoát khỏi chương trình ngắt vàquay trở về chương trình chính, đồng thời bit GIE cũng sẽ được set để chophép các ngắt hoạt động trở lại Các cờ hiệu được dùng để kiểm tra ngắt nàođang xảy ra và phải được xóa bằng chương trình trước khi cho phép ngắttiếp tục hoạt động trở lại để ta có thể phát hiện được thời điểm tiếp theo màngắt xảy ra

Đối với các ngắt ngoại vi như ngắt từ chân INT hay ngắt từ sự thay đổitrạng thái các pin của PORTB (PORTB Interrupt on change), việc xác địnhngắt nào xảy ra cần 3 hoặc 4 chu kì lệnh tùy thuộc vào thời đểm xảy ra ngắt

c Chương trình đọc ADC:

ADC (Analog to Digital Converter) là bộ chuyển đổi tín hiệu giữa hai dạngtương tự và số PIC16F877A có 8 ngõ vào analog (RA4:RA0 và RE2:RE0).Hiệu điện thế chuẩn VREF có thể được lựa chọn là VDD, VSS hay hiệu điệnthể chuẩn được xác lập trên hai chân RA2 và RA3 Kết quả chuyển đổi từ tíntiệu tương tự sang tín hiệu số là 10 bit số tương ứng và được lưu trong haithanh ghi ADRESH:ADRESL

Các thanh ghi liên quan đến bộ chuyển đổi ADC bao gồm:

-INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép các ngắt (các bit GIE,PEIE)

-PIR1 (địa chỉ 0Ch): chứa cờ ngắt AD (bit ADIF)

Trang 31

-PIE1 (địa chỉ 8Ch): chứa bit điều khiển AD (ADIE).

-ADRESH (địa chỉ 1Eh) và ADRESL (địa chỉ 9Eh): các thanh ghi chứa kếtquả chuyển đổi

-ADCON0 (địa chỉ 1Fh) và ADCON1 (địa chỉ 9Fh): xác lập các thông sốcho bộ chuyển đổi

-PORTA (địa chỉ 05h) và TRISA (địa chỉ 85h): liên quan đến các ngõ vàoanalog ở PORTA

-PORTE (địa chỉ 09h) và TRISE (địa chỉ 89h): liên quan đến các ngõ vàoanalog ở PORTE

Hình 2.7: Khối ADC

d Giao tiếp nối tiếp USART:

Bộ truyền nhận nối tiếp USART (Universal Synchronous Asynchronous

Receiver Transmitter) là một trong hai bộ giao tiếp nối tiếp Có thể sử dụng

Trang 32

bộ giao tiếp này để giao tiếp với các thiết bị ngoại vi, máy tính, vi điềukhiển Các chế độ hoạt động của USART là:

- Bất đồng bộ song công (full-duplex).

- Đồng bộ_ Master bán song công (half-duplex).

- Đồng bộ_ Slave bán song công (half-duplex).

Hai pin dùng cho bộ này là RC7/RX/DT và RC6/TX/CK Muốn sử dụng haichân này thì phải đặt bit SPEN (RCSTA<7>) và các bit TRISC<7:6>

PIC16F877A được tích hợp sẵn bộ tao tốc độ baud BRG (Baud Rate

Generator) 8 bit dùng cho USART Đây là bộ đếm có thể sử dụng cho cả hai

chế độ đồng bộ và bất đồng bộ được điều khiển bởi thanh ghi PSBRG

Các thanh ghi liên quan tới quá trình truyền dữ liệu bằng USART:

1 Thanh ghi INTCON (địa chỉ 0Bh, 8Bh,10Bh, 18Bh): cho phép tất cảcác ngắt

2 Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF

3 Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE

4 Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữliệu (chân RC7/RX/DT và RC6/TX/CK)

5 Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền

6 Thanh ghi TXSTA (địa chỉ 98h): thanh ghi xác lập thông số cho việctruyền

7 Thanh ghi SPBRG (địa chỉ 99h): xác định tốc độ baud

e USART bất đồng bộ:

Chế độ truyền này USART hoạt động theo chuẩn NRZ Zero), nghĩa là các bit truyền đi sẽ bao gồm 1 bit Start, 8 hay 9 bit dữ liệu(thông thường là 8 bit) và 1 bit Stop Bit LSB sẽ được truyền đi trước Cáckhối truyền và nhận data độc lập với nhau sẽ dùng chung tần số tương ứng

Trang 33

(None-Return-to-với tốc độ baud cho quá trình dịch dữ liệu (tốc độ baud gấp 16 hay 64 lần tốc

độ dịch dữ liệu tùy theo giá trị của bit BRGH), và để đảm bảo tính hiệu quảcủa dữ liệu thì hai khối truyền và nhận phải dùng chung một định dạng dữliệu

Các thanh ghi liên quan đến quá trình truyền dữ liệu bằng giao diệnUSART bất đồng bộ:

-Thanh ghi INTCON (địa chỉ 0Bh, 8Bh, 10Bh, 18Bh): cho phép tất cả cácngắt

-Thanh ghi PIR1 (địa chỉ 0Ch): chứa cờ hiệu TXIF

-Thanh ghi PIE1 (địa chỉ 8Ch): chứa bit cho phép ngắt truyền TXIE

-Thanh ghi RCSTA (địa chỉ 18h): chứa bit cho phép cổng truyền dữ liệu(hai pin

RC6/TX/CK và RC7/RX/DT)

-Thanh ghi TXREG (địa chỉ 19h): thanh ghi chứa dữ liệu cần truyền

-Thanh ghi TXSTA (địa chỉ 98h): xác lập các thông số cho giao diện

-Thanh ghi SPBRG (địa chỉ 99h): quyết định tốc độ baud

f Truyền dữ liệu qua chuẩn USART bất đồng bộ:

Thành phần quan trọng nhất của khối truyền dữ liệu là thanh ghi dịch dữ

liệu TSR (Transmit Shift Register) Dữ liệu truyền được ghi vào thanh ghi

TXREG Ngay sau khi bit stop của dữ liệu trước được truyền, thanh ghi TSRlấy dữ liệu từ thanh ghi đệm dùng trong quá trình truyền dữ liệu TXREG,thanh ghi TXREG rỗng, cờ hiệu TXIF (PIR1<4>) được đặt Ngắt này đượcđiều khiển bởi bit TXIE (PIE1<4>) Cờ hiệu TXIF vẫn được set không phụ

Trang 34

thuộc thang thái bit TXIE hay tác động của phần mềm Không thể xóa TXIFbằng chương trình mà chỉ xóa về 0 khi có dữ liệu mới đưa vào thanh ghiTXREG.

Hình 2.8: Sơ đồ khối của bộ truyền dữ liệu USART

Khi truyền dữ liệu xong, thanh ghi TSR rỗng thì cờ TRMT được set Bitnày chỉ đọc và không tạo ngắt Thanh ghi TSR không có trong bộ nhớ dữliệu và chỉ được điều khiển bởi CPU

Khối truyền dữ liệu chỉ hoạt động khi đặt bit TXEN (TXSTA<5>) Quátrình truyền dữ liệu chỉ bắt đầu khi dữ liệu được ghi vào thanh ghi TXREG

và xung baud được tạo ra

Nếu muốn truyền 9 bit dữ liệu bit TX9 (TXSTA<6>) phải được set và bit dữliệu thứ 9 được đưa vào bit TX9D (TXSTA<0>) Nên ghi bit thứ 9 vàotrước khi ghi dữ liệu vào thanh ghi TXREG Nếu dữ liệu được ghi vào thanhghi TXREG trước khi ghi bit thứ 9 thì sẽ không gửi được bit thứ 9 vì hoạtđộng truyền bắt đầu ngay khi dữ liệu được ghi vào thanh ghi TXREG

Trang 35

Các bước cần tiến hành để truyền dữ liệu:

1 Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiểnRSBRD và bit điều khiển tốc độ baud BRGH

2 Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bitSPEN

3 Set bit TXIE nếu cần sử dụng ngắt

4 Set bit TX9 nếu sử dụng chế độ truyền 9 bit

5 Set bit TXEN để cho phép truyền dữ liệu (lúc này bit TXIF cũng đượcset)

6 Nếu gửi 9 bit dữ liệu thì ghi bit thứ 9 vào TX9D

7 Đưa 8 bit dữ liệu vào thanh ghi TXREG

8 Nếu sử dụng ngắt truyền thì kiểm tra lại bit GIE và PEIE trong thanhghi INTCON

g Nhận dữ liệu qua chuẩn giao tiếp USART bất đồng bộ:

Dữ liệu được đưa vào từ chân RC7/RX/DT sẽ kích hoạt khối phục hồi dữliệu Khối phục hồi dữ liệu là bộ ghi dịch tốc độ cao và có tần số hoạt độnggấp 16 hoặc 64 lần tần số baud

Hình 2.9: Sơ đồ khối của bộ nhận dữ liệu USART

Trang 36

Bit điều khiển cho phép khối nhận dữ liệu là bit CREN (RCSTA<4>) Trung

tâm của khối nhận là thanh ghi RSR (Receive Shift Register) Sau khi nhận

bit stop của dữ liệu truyền tới, dữ liệu nhận được trong thanh ghi RSR đượcđưa vào thanh ghi RCREG, sau đó cờ RCIF (PIR1<5>) được set và ngắt cóthể được kích hoạt Bit cờ RCIF là bit chỉ đọc, không thể tác động bởi phầnmềm RCIF chỉ được xóa về 0 khi dữ liệu trong thanh ghi RCREG được đọc

và khi đó thanh ghi RCREG rỗng Thanh ghi RCREG là thanh ghi có bộ

đệm kép (double-buffered register) và hoạt động theo cơ chế FIFO (First In

First Out) cho phép nhận 2 byte và byte thứ 3 được đưa vào thanh ghi RSR.

Nếu bit stop của byte thứ 3 được nhận mà vẫn còn 2 byte trong RCREG thì

cờ báo tràn dữ liệu OERR (RCSTA<1>) được set, dữ liệu trong thanh ghiRSR sẽ bị mất và quá trình đưa dữ liệu từ thanh ghi RSR vào thanh ghiRCREG sẽ bị gián đoạn Trong trường hợp này, dữ liệu trong thanh ghiRCREG cần được lấy hết trước khi nhận dữ liệu tiếp theo Bit OERR phảiđược xóa bằng phần mềm bằng cách xóa và set cờ CREN

Bit FERR (RCSTA<2>) set để báo lỗi khung dữ liệu nhận tức là không nhậnđược bit stop Ở chế độ nhận 9 bit, bit thứ 9 được đưa vào bit RX9D trongthanh ghi RCSTA và bit này cần đọc trước khi đọc 8 bit dữ liệu trong thanhghi RCREG vì khi đọc thanh ghi RCREG sẽ làm thay đổi giá trị bit RX9D.Các bước cần tiến hành để nhận dữ liệu:

1 Tạo xung truyền baud bằng cách nạp giá trị vào thanh ghi điều khiểnRSBRD và bit điều khiển tốc độ baud BRGH

2 Cho chế độ bất đồng bộ hoạt động bằng cách xóa bit SYNC và set bitSPEN

3 Set bit RCIE nếu cần sử dụng ngắt

4 Set bit RX9 nếu sử dụng chế độ truyền 9 bit

Trang 37

5 Set bit CREN để cho phép truyền dữ liệu (lúc này bit TXIF cũngđược set).

6 Sau khi dữ liệu được nhận, cờ RCIF sẽ được set và ngắt được kíchhoạt (nếu RCIE được set)

7 Đọc bit thứ 9 trong thanh ghi RCSTA nếu ở chế độ 9 bit dữ liệu

8 Đọc 8 bit dữ liệu trong thanh ghi RCREG

9 Nếu có lỗi trong khi truyền nhận, xóa lỗi bằng cách xóa bit CREN.10.Nếu sử dụng ngắt nhận thì kiểm tra lại bit GIE và PEIE trong thanhghi INTCON

h USART đồng bộ:

Giao diện USART đồng bộ được kích hoạt bằng cách set bit SYNC và chỉ

hoạt động kiểu bán song công (half-duplex) Cổng giao tiếp vẫn là chân

RC7/RX/DT và RC6/TX/CK và được cho phép bằng cách set bit SPEN.USART đồng bộ có 2 chế độ hoạt động là Master được chọn bằng cách setbit CSRC TXSTA<7> và Slave được chọn bằng cách xóa bit CSRCTXSTA<7> Điểm khác biệt duy nhất giữa hai chế độ này là ở chế độMaster sẽ lấy xung clock từ bộ tạo xung baud BRG còn chế độ Slave thì lấyxung clock từ bên ngoài qua chân RC6/TX/CK Điều này cho phép Slavemode hoạt động ngay cả khi vi điều khiển đang ở chế độ sleep

i WATCHDOG TIMER (WDT):

Watchdog timer (WDT) là bộ đếm đôc lập dùng nguồn xung đếm từ bộ tạoxung được tích hợp sẵn trong vi điều khiển và không phụ thuộc vào bất kìnguồn xung clock ngoại vi nào đó Điều đó có nghĩa là WDT vẫn hoạt độngngay cả khi xung clock được lấy từ pin OSC1/CLKI và pin OSC2/CLKOcủa vi điều khiển ngưng hoạt động (chẳng hạn như do tác động của lệnh

Trang 38

sleep) Bit điều khiển của WDT là bit WDTE nằm trong bộ nhớ chươngtrình ở địa chỉ 2007h (Configuration bit).

WDT sẽ tự động reset vi điều khiển (Watchdog Timer Reset) khi bộ đếmcủa WDT bị tràn (nếu WDT được cho phép hoạt động), đồng thời bit tựđộng được xoá Nếu vi điều khiển đang ở chế độ sleep thì WDT sẽ đánhthức vi điều khiển ( Watchdog Timer Wake-up) khi bộ đếm tràn Như vậyWDT có tác dụng reset vi điều khiển ở thời điểm cần thiết mà không cần đến

sự tác động bên ngoài, chẳng hạn như trong quá trình thực thi lệnh, vi điềukhiển bị “kẹt” ở một chổ nào đó mà không thoát được khi đó vi điều khiển

sẽ tự động được reset khi WDT bị tràn để chương trình hoạt động đúng trởlại Tuy nhiên khi sử dụng WDT cũng có sự phiền toái vì vi điều khiển sẽthường xuyên được reset sau một thời gian nhất định, do đó cần tính toánthời gian thích hợp để xoá WDT( dùng lệnh CLRWDT) Và để việc ấn địnhthời gian reset được linh động, WDT còn được hỗ trợ một bộ chia tầnprescaler được điều khiển bởi thanh ghi OPTION_REG (prescaler này đượcchia sẻ với Timer0) Một điểm cần chú ý nữa là lệnh sleep sẽ xoá bộ đếmWDT và prescaler Ngoài ra lệnh xoá CLRWDT chỉ xoá bộ đếm chứ khônglàm thay đổi đối tượng tác động của prescaler (WDT hay Timer0)

g Chế độ SLEEP:

Đây là chế độ hoạt động của vi điều khiển khi lệnh Sleep được cho phéphoạt động, bộ đếm của WDT sẽ bị xoá nhưng WDT vẫn tiếp tục hoạt độngbit (STATUS<3>) được reset về 0,bit được set, oscillator ngưng tác động vàcác PORT giữ nguyên trạng thái như trước khi lệnh sleep được thực thi Dokhi ở chế độ sleep, dòng cung cấp cho vi điều khiển là rất nhỏ nên ta cầnthực hiện các bước sau trước khi vi điều khiển thực thi lệnh sleep :

Trang 39

Đưa tất cả các pin về trạng thái V

DD hoặc V

SS cần bảo đảm rằng không cònmạch ngoại vi nào được điều khiển bởi dòng điện của vi điều khiển vì dòngđiện nhỏ không đủ khả năng cung cấp cho các mạch ngoại vi hoạt động.Tạm ngưng hoạt động của khối A/D không cho phép các xung clock từ bênngoài tác động vào vi điều khiển Để ý đến chức năng kéo lên điện trở ởtrong PORTB

Pin phải ở mức logic cao

7 8

1 0

5 6 9

1 6 3

- pin 1 (in+): non-inverting op-amp: ngõ vào không đảo

- pin 2 (in-): investing op-amp: ngõ vào đảo

- pin 3 (GS) : gain select giúp truy xuất ngõ ra của bộ khuếch đạI visai đầu cuốI qua điện trở hồi tiếp

- pin 4 (Vref): reference voltage: ngõ ra thông thường bằng VDD/2

- pin 5 (inh) : inhibit : ngõ vào khi chân này ở mức logic cao thì khôngnhận dạng được kí tự A,B,C ở ngõ ra (undelected)

- pin 6 (pwdn): power down: ngõ vào tác động mức cao Khi chân nàytác động thì sẽ cấm mạch dao động và IC 8870 hoạt động

- pin 7 (osc1) : xung clock ngõ vào

- pin 8 (osc1) : xung clock ngõ ra Nối 2 chân 7, 8 với thạch anh3.58MHz sẽ tạo thành dao dộng nội

- pin 9 (V ) : nối mass

Trang 40

- pin 10 (TOE): three stage output: ngõ ra Q1-Q4 hoạt động khi TOE ởmức cao - pin 11 đến 14: ngõ ra Q1-Q4, khi chân TOE ở mức cao thì cácchân này cung cấp mã tương ứng với các cặp tone dò tìm được theo bảngchức năng, khi TOE ở mức thấp thì dữ liệu ngõ ra ở trạng thái trở kháng cao.

- pin 15 (STD) : delayed steering: chân này ở mức cao khi gặp tần sốtone đã được ghi nhận và ngõ ra chốt dữ liệu , trở về mức thấp khi điện ápST/GT nhỏ hơn điện áp ngưỡng VTST

- pin 16 (EST) : early steering: chân này lên mức 1 khi bộ thuật toánnhận được cặp tone và trở về mưc 0 khi mất tone

- pin 17 (ST/GT): steering input/guard tone output: khi điện áp VClớn hơn VTST thì ST sẽ điều khiển dò tìm cặp tone và chốt ngõ ra

- pin 18 (VDD) : điện áp cung cấp thường là +5v

Ngày đăng: 27/07/2016, 14:27

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

w