BẢNG DANH MỤC CHỮ VIẾT TẮT AC Alternating Current Dòng điện xoay chiều ADC Analog to Digital Converter Bộ chuyển đổi tương tự sang số ALU Arithmetic Logic Unit Đơn vị số học logic ARP Ad
Trang 1BỘ GIÁO DỤC VÀ ĐÀO TẠO VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
ỨNG DỤNG ẠNGINTE NET ĐỂ ĐIỀU HIỂN
THIẾT BỊ ĐIỆN T ONG GI Đ NH
NGUYỄN ĐỨC HIỂU
HÀ NỘI -2015
Trang 2BỘ GIÁO DỤC VÀ ĐÀO TẠO
VIỆN ĐẠI HỌC MỞ HÀ NỘI
LUẬN VĂN THẠC SỸ
ỨNG DỤNG ẠNGINTE NET ĐỂ ĐIỀU HIỂN
THIẾT BỊ ĐIỆN T ONG GI Đ NH
Trang 3LỜI C ĐO N
Em xin cam đoan đây là công trình nghiên cứu của em và chưa được công bố trong bất cứ công trình nào và chưa được đăng trong bất kỳ tài liệu, tạp chí, hội nghị nào khác Những kết quả nghiên cứu trong luận văn là trung thực
Hà Nội, tháng 10 năm 2015
Tác giả luận văn
Nguyễn Đức Hiểu
Trang 4LỜI CẢ ƠN
Trước hết, em xin gửi lời cảm ơn trân thành đến thầy PGS.TS Nguyễn Quang Hoan, người đã tận tình giúp đỡ em rất nhiều về kiến thức chuyên môn cũng như những tài liệu kỹ thuật phục vụ cho công tác nghiên cứu
Em xin chân thành cảm ơn các thầy, cô giáo đã và đang giảng dạy tại Viện Đại học Mở - Hà Nội và các thầy cô trong Khoa Sau Đại học đã tạo điều kiện giúp đỡ
em hoàn thành đề tài tốt nghiệp Em cảm ơn tất cả bạn bè, đồng nghiệp đã nhiệt tình giúp đỡ, động viên và góp ý cho bản luận văn này
Mặc dù em đã rất nỗ lực và cố gắng để hoàn thành luận văn tốt nghiệp này song chắc chắn không thể tránh khỏi những sai sót nhất định Vì vậy, em rất mong được
sự hướng dẫn chỉ bảo, góp ý của thầy, cô và đồng nghiệpđể luận văn của em ngày càng được hoàn thiện hơn
Trang 5MỤC LỤC
LỜI C ĐO N i
LỜI CẢ ƠN ii
MỤC LỤC iii
BẢNG DANH MỤC CHỮ VIẾT TẮT v
DANH MỤC HÌNH vii
LỜI MỞ ĐẦU 1
Chương 1: TỔNG QUAN VỀ ĐIỀU KHIỂN MỘT SỐ THIẾT BỊ TỪ XA TRONG GI Đ NH 2
1.1 Vấn đề đo và điều khiển các thiết bị trong gia đình từ xa 2
1.2 Mạng Internet ứng dụng trong điều khiển thiết bị gia đình từ xa 5
1.2.1 Mạng cục bộ và giao thức 5
1.2.2 Một số giao thức của mạng Internet 7
1.2.3 ng dụng điều hiển thiết bị qua giao thức UDP 17
1.3 Các thành phần đo và điều khiển các thiết bị trong gia đình 17
1.3.1 Các đầu đo 17
1.3.2 Ghép nối 19
1.4 Các thiết bị thu thập số liệu 21
1.4.1 PLC 21
1.4.2 Vi điều khiển 22
Chương2: CẤU T ÚCVI ĐIỀU KHIỂN PIC 16F877A 26
2.1 Giới thiệu chung 26
2.1.1 Sơ đồ khối của Vi điều khiển 16F877A 27
2.1.2 Các chân củaVi điều khiển PIC 16F877A 28
2.1.3 Các chân chức năng của Vi điều khiển 29
Trang 62.1.4 Các đặc điểm của Vi điều khiển 16F877A 30
2.1.5 Các phương pháp tổ chức bộ nhớ 31
2.2 Các cổng vào ra của PIC 16F887A 33
2.2.1 Các PORTA chính của PIC 33
2.2.2Giao tiếp nối tiếp 38
2.2.3Cổng giao tiếp song song 39
2.3 Các đặc tính của CPU 39
2.3.1 Bộ giao động 39
2.3.2 Các chế độ RESET 40
2.3.3 Chế độ nghỉ 41
Chương 3: ỨNG DỤNG VÀ THỬ NGHIỆM 43
3 ng ứng dụng điều khiển cho PIC 16F887A 43
3.1.1 Một số ứng dụng cụ thể 43
3.1.2 Thiết kế giao diện điều khiển 45
3.1.3 Thiết kế mạch điện 46
3.2 Mô tả hoạt động trao đổi dữ liệu 48
3.2.1 Trao đổi dữ liệu Client, Server, PIC 48
3.2.2 Cài đặt 52
KẾT LUẬN 61
TÀI LIỆU THAM KHẢO 63
Trang 7BẢNG DANH MỤC CHỮ VIẾT TẮT
AC Alternating Current Dòng điện xoay chiều
ADC Analog to Digital Converter Bộ chuyển đổi tương tự sang số ALU Arithmetic Logic Unit Đơn vị số học logic
ARP Address Resolution Protocol Giao thức phân giải địa chỉ
AT Advanced Technology Công nghệ tiên tiến
CGI Common Gateway Interface Giao diện cổng chung
CSMA/CD Carrier Sense Multiple Access
with Collision Detection
Tổ chức thâm nhập bằng cảm nhận sóng mạng có dò xung đột
EEPR
Electrically Erasable Programmable Read Only Memory
Bộ nhớ chỉ đọc có thể lập trình
và xóa
FTP File Transfer Protocol Giao thức truyền tập tin
HSC High Speed Crystal Tinh thể tốc độ cao
HTTP HyperText Transfer Protocol Giao thức vận chuyển siêu văn
bản ICMP Internet Control Message Protocol Giao thức thông báo điều hiển
mạng IGMP Internet Group Management
Protocol
Giao thức quản trị nhóm Internet
IRC Infrared Remote Control Điều khiển hồng ngoại
ISP Internet Service Provider Nhà cung cấp dịch vụ Internet LED Light Emitting Diode Diode phát quang
MIME Multipurpose Internet Mail
Extension
Phần mở rộng thư Internet đa năng
NIS Network Information Server Máy chủ thông tin mạng
POP3 Post Office Protocol Giao thức bưu điện
PWM Pulse Width Modulation Điều biến độ rộng xung
RC Resistor Capacitor Dao động do mạch RC tạo ra
Trang 8RIP Routing Information Protocol Thông tin định tuyến mạng
SCI Serial Communication Interface Giao diện truyền thông nối tiếp SMTP Simple Mail Transfer Protocol Giao thức chuyển thư đơn giản SYN The Synchronous Idle Character Ký tự đồng bộ hoá
TCP/IP Transmission Control Protocol -
Internet Protocol
Giao thức Điều khiển - giao thức Internet
Telnet TErminaL NETwork Thiết bị đầu cuối
UDP User Datagram Protocol Giao thức gói dữ liệu người
dùng USART
UniversialSynchronous Asynchronous Receiver Transmitter
Chuyển đổi hông đồng bộ, bất đồng bộ
WAP Wireless Application Protocol Giao thức ứng dụng hông dây WDT Watchdog Timer Reset Thiết bị tính giờ thiết lập lại
Trang 9DANH MỤC HÌNH
Hình 1.1: Sơ đồ kết nối ngôi nhà thông minh SmartHome 3
Hình 1.2: Bộ điều khiển trung tâm LUMI 5
Hình 1.3: Cấu trúc họ giao thức TCP/IP 8
Hình 1.4: Cấu trúc gói TCP 10
Hình 1.5: Lưu đồ trạng thái kết nối TCP 12
Hình 1.6: Cấu trúc gói tin IP 14
Hình 1.7: Cấu trúc gói tin ARP 16
Hình 1.8: Mô hình sử dụng là Client/Server 17
Hình 1.9: Đầu đo cảm biến hồng ngoại 18
Hình 1.10: Đầu đo hạ áp bằng đện trở 19
Hình 2.1: Sơ đồ hối của vi điều hiển 16F877A 27
Hình 2.2: Sơ đồ chân của vi điều hiển 16F877A 28
Hình 2.3: Bộ nhớ chương trình PIC 16F887A 32
Hình 2.4: Bộ chuyểnđổi ADC 37
Hình 3.1:Mạch nguyên lý ứng dụng điều hiển các PORT của vi điều hiển 44
Hình 3.2: Giao diện điều hiển thiết bị 45
Hình 3.3: Giao diện điều hiển điện hoa CNTT 46
Hình 3.4: Thiết ế mạch in của thiết bị điều hiển PIC 16F877A 46
Hình 3.5: Sơ đồ mạch của thiết bị điều hiển PIC 16F877A 47
Hình 3.6: Sơ đồ mô tả trao đổi dữ liệu 48
Hình 3.7: Sơ đồ mô tả hoạt độngcủa hệ thống điều hiển 48
Hình 3.8: Bộ điều hiển thiết bị trung tâm chưa ết nối 50
Trang 10Hình 3.9: Bộ điều hiển thiết bị trung tâm đã ết nối 50
Hình 3.10: Thiết bị cảnh báo chuyển động 51
Hình 3.11: Sơ đồ mạch một lớp của bộ điều hiển 51
Hình 3.12: Cấu hình máy chủ 53
Hình 3.13: Cấu hình máy chủ 53
Hình 3.14: Cấu hình máy chủ 54
Hình 3.15: Cấu hình máy chủ 54
Hình 3.16: Cấu hình máy chủ 55
Hình 3.17: Nhập mật hẩu 56
Hình 3.18: Cấu hình máy chủ 56
Hình 3.19: Cấu hình IP máy chủ 56
Hình 3.20:Thiết lập IP tĩnh cho máy chủ 57
Hình 3.21: Thiết lập IP tĩnh cho máy chủ 57
Hình 3.22: Thiết lập IP tĩnh cho máy chủ 58
Hình 3.23: Cấu hình trên Modem 59
Hình 3.24: Cấu hình tạo một Host 59
Trang 11LỜI MỞ ĐẦU
Với sự phát triển mạnh mẽ của công nghệ đã làm thay đổi đến nhiều lĩnh vực khoa học kỹ thuật Một trong những ứng dụng rất được quan tâm hiện nay đang được đề cập nhiều là “ngôi nhà thông minh” Với khả năng lập trình, nhiều yêu cầu
mà trước kia rất hó hăn và tốn ém thì ngày nay đã trở nên đơn giản hơn
Ngày nay nói đến điều thiển thông minh không thể hông nói đến công nghệ thông tin qua đó nhờ công nghệ thông tin mà những thiết bị điều khiển hiện nay được điều khiển một cách dễ dàng hơn.Nhiều phương pháp đo và điều khiểm mới được hình thành và áp dụng nhằm nâng cao độ chính xác và độ tin cậy của công nghệ Cũng chính nhờ công nghệ thông tin và sự đa dạng trong các giải pháp điều khiển được kết hợp một cách hợp lý mang lại sự tiện lợi và hiệu suất cao.Công nghệ điều khiển hoặc điều khiển tự động được ghép với máy tính thông qua các giao tiếp được áp dụng khá rộng dãi và do vậycon người có thể ngồi một chỗ để điều khiển các thiết bịthông qua mạng nội bộ hoặc Intenet
Nhận thức được tầm quan trọng trong điều khiển thiết bị qua mạng ứng dụng
vào thực tế, em đã chọn luận văn tốt nghiệp Ứng ụng mạngInt rn t để điều khiển thiết bị điện trong gia đình” Trong thời gian hoàn thành luận văn, em đã
tìm hiều về một số thành phần của thiết bị đo và điều khiển xa: đầu đo, chuyển đổi
dữ liệu để tương thích về mặt dạng tín hiệu và công suất, bộ thu thập tín hiệu đo dựa trên kỹ thuật vi điều khiển PIC, thiết ế bộ Kit vi điều hiển PIC, trao đôi dữ liệu giữa bộ thu thập tín hiệu đo với máy tính và trao đổi dữ liệu qua mạng
Do thời gian và trình độ hiểu biết về VĐK còn hạn chế do đó luận văn mới chỉ mới đáp ứng các khả năng sau:
- Điều khiển một số thiết bị điện qua mạng Internet
- Thiết kế bộ điều khiển trung tâm đơn giản
Luận văn được thể hiện trong 3 chương với các nội dung sau:
Lời nói đầu
Chương 1: Tổng quan về điều khiển một số thiết bị từ xa trong gia đình
Chương 2: Cấu trúc về vi điều khiển PIC 16F877A
Chương 3: ng dụng và thử nghệm
Trang 12Chương 1: TỔNG QUAN VỀ ĐIỀU KHIỂN MỘT SỐ
THIẾT BỊ TỪ XA TRONG GI Đ NH 1.1 Vấn đề đo và điều khiển các thiết bị trong gia đình từ xa
Như chúng ta đều biết, sự phát triển như vũ bão của công nghệ thông tin đã, đang và sẽ là một nhân tố quan trọng góp phần làm thay đổi bộ mặt của các lĩnh vực
tự inh tế - xã hội, trong đó có môi trường sống của con người Con người, giờ đây
có thể có một ngôi nhà trong đó đồ dùng trong nhà từ phòng ngủ, phòng hách đến toilet đều gắn các bộ điều hiển điện tử có thể ết nối với Internet và điện thoại di động, cho phép chủ nhân điều hiển vật dụng từ xa hoặc lập trình cho thiết bị ở nhà hoạt động theo lịch Việc lắp đặt các sản phẩm thông minh đem lại cho ngôi nhà và chủ nhân của nó rất nhiều lợi ích – tương tự như những lợi ích mà công nghệ, đặc biệt là công nghệ thông tin đã đem lại cho chúng ta 30 năm qua - bao gồm: sự tiện nghi, tiết iệm thời gian, tiền bạc và năng lượng
Các chức năng chính thường sử dụng trong ngôi nhà là:
- Điều hiển nhiệt độ, độ ẩm thông qua điều hiển điều hòa, quạt
- Điều hiển chiếu sáng (on/off, dimmer, scence, timer, logic, )
- Điều hiển mành, rèm, cửa cổng
- Hệ thống an ninh, báo động, báo cháy
- Hệ thống âm thanh đa vùng
Trang 13Ngoài ra, cùng với sự phát triển của các thiết bị điện tử cá nhân như máy tính bảng và điện thoại thông minh cùng hạ tầng thông tin ngày càng tiên tiến như Internet hoặc các mạng thông tin di động 3G, 4G, ngày nay các hệ thống đo và điều hiển các thiết bị gia đình còn cung cấp hả năng tương tác với người sử dụng thông qua các thiết bị điện tử cá nhân và cho phép con người có thể giám sát và điều hiển ngôi nhà từ bất cứ đâu
Hiện tại trên thế giới có rất nhiều hãng cung cấp cho các thiết bị đo và điều hiển các thiết bị trongngôi nhà, trong đó nổi bật nhất là các hãng Home Automation Inc (HAI- Nay là Leviton security & Automation), ELK, Vantage, Control4 Ở thị những thị trường Việt Nam cũng đã có những hang đưa ra những sản phẩm của mình như Lumi, B av SmartHome …
- Ngôi nhà thông minh SmartHome
Ngôi nhà thông minh SmartHome là sự ết nối tất cả các thiết bị trong nhà thành một mạng để có thể điểu hiển chúng một cách linh hoạt hoặc theo ịch bản như bật đèn, bật điều hòa , bật nước nóng , giám sát an ninh vv
Thông thường để điều hiển tất cả các thiết bị trong nhà, bạn cần tới hàng chục công tắc, thậm chí với căn nhà lớn hàng trăm công tắc Với nhà thông minh SmartHome, bạn có thể điều khiển tất cả bằng một vài nút bấm trên màn hình cảm ứng của smartphone hay máy tính bảng Bạn cũng có thể điều khiển và kiểm soát ngôi nhà thông qua giao diện trực quan 3D, ở đó các thiết bị được mô phỏng giống như đang sử dụng thực tế, chỉ cần chạm vào thiết bị tương ứng trong màn hình để điều khiển
Trang 14Một kịch bản thường gặp, trước khi trở về nhà từ cơ quan, bạn chỉ cần bấm “Về nhà”, bình nóng lạnh sẽ bật, hệ thống quạt thông gió, điều hòa nhiệt độ sẽ khởi động… để khi bạn về đến nhà, tất cả đã sẵn sàng phục vụ
Không chỉ điều khiển trực tiếp trên Smartphone, máy tính bảng, bạn có thể điều khiển nhà mình bằng giọng nói của chính bạn Nhà thông minh SmartHome được trang bị công nghệ trợ lý ảo, giúp giao tiếp với hệ thống trở nên thân thiện, không cứng nhắc như một hệ thống điều khiển thông thường Sẽ là một trải nghiệm tuyệt vời khi bạn ra lệnh bằng giọng nói và hệ thống đáp ứng bạn
- Ngôi nhà thông minh LUMI
Lumi mong muốn tạo ra sản phẩm thương hiệu Việt phục vụ người Việt, Lumi Việt Nam đã ra đời năm 2012 với sản phẩm đầu tiên là giải pháp nhà thông minh
Nếu như yếu tố thẩm mỹ, sang trọng được ưu tiên hàng đầu thì chất lượng là vấn đề sống còn Đến nay giải pháp nhà thông minh của Lumi đã trải qua hàng chục phiên bản, liên tục cải tiến và hoàn thiện, trong suốt quá trình đó đội ngũ ỹ sư của Lumi được sự hợp tác, hỗ trợ của các chuyên gia đến từ các hãng cung cấp linh kiện hàng đầu thế giới như Mỹ, Nhật, Hà Lan, Đài Loan, Singapore…
Là đơn vị đến sau trong thị trường giải pháp nhà thông minh, Lumi Việt Nam đã phải xác định được hướng đi riêng của mình ngay từ đầu
Sau 4 năm hông ngừng nỗ lực và phát triển, cho đến ngày hôm nay Lumi Việt Nam đã có 35 đại lý trên cả nước và 1 nhà phân phối chính thức tại Australia Mục tiêu đến cuối năm 2016, Lumi Việt Nam sẽ mở rộng tới 120 đại lý trên khắp các tỉnh thành và xuất khẩu tới 4 quốc gia trên thế giới (Australia, Ấn Độ, Lào, Campuchia)
Sự tín nhiệm của các đối tác và hàng nghìn hách hàng đang sử dụng sản phẩm công tắc cảm ứng của Lumi chính là lời chứng thực thuyết phục nhất cho giải pháp nhà thông minh Lumi Tính đến nay, Lumi Việt Nam đã cung cấp giải pháp và lắp đặt cho rất nhiều dự án lớn trên cả nước:
Trang 15Hình 1.2: Bộ điều khiển trung tâm LUMI
1.2 Mạng Internet ứng dụng trong điều khiển thiết bị gia đình từ xa
1.2.1 Mạng cục bộ và giao thức
Vì chỉ có một đường truyền vật lý trong mạng LAN, tại một thời điểm nào đó LAN chỉ cho phép một thiết bị được sử dụng đường truyền để truyền tin Nếu có hai máy tính cùng gởi dữ liệu ở tại một thời điểm sẽ dẫn đến tình trạng đua tranh Dữ liệu của hai thiết bị này sẽ bị phủ lấp lẫn nhau, không sử dụng được Vì thế cần có một cơ chế để giải quyết sự cạnh tranh đường truyền giữa các thiết bị Người ta gọi phương pháp giải quyết cạnh tranh đường truyền giữa các thiết bị trong một mạng cục bộ là Giao thức điều khiển truy cập đường truyền (Media Access Control Protocol hay MAC Protocol) Có hai giao thức chính thường được dùng trong các mạng cục bộ là: Giao thức CSMA/CD (Carrier Sense Multiple Access with Collision Detection) và Token Passing
Trong các mạng sử dụng giao thức CSMA/CD như Ethernet chẳng hạn, các thiết
bị mạng tranh nhau sử dụng đường truyền Khi một thiết bị muốn truyền tin, nó phải lắng nghe xem có thiết bị nào đang sử dụng đường truyền hay không Nếu đường truyền đangrảnh, nó sẽ truyền dữ liệu lên đường truyền Trong quá trình truyền tải, nó đồng thời lắng nghe, nhận lại các dữ liệu mà nó đã gửi đi để xem có sự đụng độ với dữ liệu của các thiết bị khác hay không Một cuộc đụng độ xảy ra nếu cả hai thiết bị cùng truyền dữ liệu một cách đồng thời Khi đụng độ xảy ra, mỗi thiết bị sẽ tạm dừng một khoản thời gian ngẫu nhiên nào đó trước khi thực hiện truyền lại dữ liệu bị đụng độ
Trang 16Khi mạng càng bận rộn thì tần suất đụng độ càng cao Hiệu suất của mạng giảm đi một cách nhanh chóng khi số lượng các thiết bị nối kết vào mạng tăng lên
Trong các mạng sử dụng giao thức Token-passing như To en Ring hay FDDI, một gói tin đặc biệt có tên là thẻ bài (To en) được chuyển vòng quanh mạng từ thiết
bị này đến thiết bị kia Khi một thiết bị muốn truyền tải thông tin, nó phải đợi cho đến hi có được token Khi việc truyền tải dữ liệu hoàn thành, to en được chuyển sang cho thiết bị kế tiếp Nhờ đó đường truyền có thể được sử dụng bởi các thiết bị khác Tiện lợi lớn nhất của mạng Token-passing là ta có thể xác định được khoản thời gian tối đa một thiết bị phải chờ để có được đường truyền và gởi dữ liệu Chính
vì thế mạng Token-passing thường được sử dụng trong các môi trường thời gian thực, như điều khiển thiết bị công nghiệp, nơi mà thời gian từ lúc phát ra một tín hiệu điều khiển cho đến khi thiết bị nhận được tín hiệu luôn đảm bảo phải nhỏ hơn một hằng số cho trước
- Giao thức IP
Giao thức liên mạng IP là một trong những giao thức quan trọng nhất của bộ giao thức TCP/IP Mục đích của giao thức liên mạng IP là cung cấp hả năng ết nối các mạng con thành liên mạng để truyền dữ liệu IP là giao thức cung cấp dịch vụ phân phát datagram theo iểu hông liên ết và hông tin cậy nghĩa là hông cần có giai đoạn thiết lập liên ết trước hi truyền dữ liệu, hông đảm bảo rằng IP datagram
sẽ tới đích và hông duy trì bất ỳ thông tin nào về những datagram đã gửi đi
Giao thức giao tiếp hay còn gọi là giao thức truyền thông, giao thức liên
mạng, giao thức tương tác giao thức trao đổi thông tin (tiếng Anh là communication
protocol) - trong công nghệ thông tin gọi tắt là giao thức (protocol), tuy nhiên, tránh
nhầm với giao thức trong các ngành khác - là một tập hợp các quy tắc chuẩn dành cho việc biểu diễn dữ liệu, phát tín hiệu, chứng thực và phát hiện lỗi dữ liệu - những việc cần thiết để gửi thông tin qua các ênh truyền thông, nhờ đó mà các máy tính (và các thiết bị) có thể ết nối và trao đổi thông tin với nhau
Các giao thức truyền thông dành cho truyền thông tín hiệu số trong mạng máy tính có nhiều tính năng để đảm bảo việc trao đổi dữ liệu một cách đáng tin cậy qua
Trang 17một ênh truyền thông hông hoàn hảo.Có nhiều giao thức được sử dụng để giao tiếp hoặc truyền đạt thông tin trên Internet, dưới đây là một số các giao thức tiêu biểu TCP thiết lập ết nối giữa các máy tính để truyền dữ liệu Nó chia nhỏ dữ
liệu rathànhnhững gói (packet)vàđảm bảo việc truyền dữ liệu thành
công.IP (Internet Protocol): định tuyến (Route) các gói dữ liệu hi chúng được
truyền qua Internet, đảm bảo dữ liệu sẽ đến đúng nơi cần nhận
- HTTP :cho phép trao đổi thông tin (chủ yếu ở dạng siêu văn bản) qua Internet
- FTP :cho phép trao đổi tập tin qua Internet
- SMTP :cho phép gởi các thông điệp thư điện tử (e-mail) qua Internet
- POP3 :cho phép nhận các thông điệp thư điện tử qua Internet
- MIME : một mở rộng của giao thức SMTP, cho phép gởi èm các tập tin nhị phân, phim, nhạc, theo thư điện tử
- WAP :cho phép trao đổi thông tin giữa các thiết bị hông dây, như điện thoại di động
1.2.2 Một số giao thức của mạng Internet
- Giao thức TCP/IP
TCP/IP là viết tắt của Transmission Control Protocol / Internet Protocol (Giao thức Điều Khiển Truyền Thông /Giao thức Internet).Các tầng trong mô hình này là:
- Tầng ng Dụng (Application Layer)
- Tầng Giao Vận (Transport Layer)
- Tầng Liên Mạng (Internet Layer)
- Tầng Giao Tiếp Mạng (Networ Interface Layer)
- Tầng ng Dụng (Application Layer)
gồm nhiều giao thức cung cấp cho các ứng dụng người dùng Được sử dụng để định dạng và trao đổi thông tin người dùng và hệ thống Một số giao thức thông dụng trong tầng này là:HTTP,FTP,SMTP,…Trong phạm vi luận văn,chúng ta sử dụng giao thức HTTP mà cụ thể là xây dựng một Webserver nhúng vào hệ thống
Trang 18HTTP là giao thức truyền tải siêu văn bản (HyperText Transfer Protocol) HTTP xác định cách các thông điệp được định dạng và truyền tải ra sao và hoạt động của Webserver và các trình duyệt Web
Trong mô hình của HTTP, Webserver đồng thời cũng là TCPServer, mở sẵn Port mặc định dành cho dịch vụ HTTP
Hình 1.3: Cấu trúc họ giao thức TCP/IP
TCP80 (ở chế độ listen), sẵn sàng đợi yêu cầu kết nối từ các client Các client
sẽ khởi tạo kết nối TCP thông qua port này, sau khi Webserver chấp nhận kết nối, client sẽ gửi một bản tin HTTP (HTTP message) gọi là HTTP request tới Server trên kết nối TCP vừa thiết lập Server sẽ trả lời lại bằng một bản tin HTTP khác là HTTP Response Bản tin này sẽ chứa nội dung trang Web yêu cầu (được viết bằng ngôn ngữ HTML).Như vậy giao thức HTTP sẽ dựa cơ bản trên các bản tin HTTP, gồm 2 loại là HTTP Request và HTTP Response
Giả sử ta truy nhập vào địa chỉ IP của Webserver là 192.168.1.10 qua trình duyệt Lúc đó, máy tính của chúng ta sẽ gửi đi một bản tin Request của giao thức HTTP là HTTP Get thông qua giao thức TCP (với cổng TCP được qui định cho giao thức HTTP là 80) đến địa chỉ Webserver trên
Webserver ở đây chính là vi điều khiển của chúng ta nhận được bản tin này ( hi đã đi qua hết các lớp giao thức Ethernet, IP, TCP rồi mới đến HTTP) Tại đây vi điều khiển sẽ đọc và phân tích bản tin HTTP request này để biết máy tính
Trang 19đang yêu cầu tải nội dung trang Web nào Sau đó vi điều khiển sẽ lấy nội dung trang Web này (được soạn thảo theo ngôn ngữ HTML) chứa trên ROM, nó cũng
có thể thêm vào trang Web đó một số thông tin (ví dụ đọc giá trị từ các Sensor cảm biến nhiệt độ và đưa vào trong trang Web), và gửi toàn bộ nội dung trang Web thông qua giao thức TCP trở lại cho máy tính Nếu nội dung trang Web lớn
nó có thể được gửi đi trên rất nhiều gói tin, vì mỗi gói tin chỉ chứa tối đa 1460 byte dữ liệu
Máy tính nhận nội dung trang Web và trình duyệt sẽ hiển thị lên cho chúng ta thấy Để điều khiển thiết bị kết tới hệ thống từ xa qua Web, trên trang Web ta có thể thiết kế một nút nhấn chẳng hạn Khi ta nhấn nút này trên trình duyệt, máy tính
sẽ gửi đi một bản tin HTTP nữa là HTTP Get Vi điều khiển sẽ nhận bản tin HTTP post này, phân tích dữ liệu chứa trong đó để có đáp ứng tương ứng (bật tắt bóng đèn) sau đó nó sẽ gửi trả lại lần nữa nội dung trang Web đã cập nhật những thay đổi vừa rồi.Trình duyệt sẽ cập nhật nội dung này lên và ta sẽ thấy được tác động của thao tác điều khiển
- Tầng Giao vận
Nhiệm vụ của tầng là thiết lập phiên truyền thông giữa các máy tính và quy định cách truyền dữ liệu Hai giao thức chính trong tầng này gồm UDP và TCP do UDP cung cấp các ênh truyền thông phi ết nối nên nó hông đảm bảo truyền dữ liệu một cách tin cậy nên trong phạm vi luận văn chúng ta sử dụng thức TCP.Ngược lại với UDP, TCP cung cấp các ênh truyền thông hướng ết nối và đảm bảo truyền
dữ liệu 1 cách tin cậy TCP thường truyền các gói tin có ích thước lớn và yêu cầu phía nhận xác nhận về các gói tin đã nhận Cấu trúc gói TCP được thể hiện ởhình 1.4
Số Port đích và số Port nguồn: để phân biệt các tiến trình ứng dụng đang xảy
ra trong máy tính.Các sốSequence và Acknowledgement: sốSequence để phân biệt các Segment khác nhau trong một dòng dữ liệu, các số Acknowledgement dùng trong cơ chế xác nhận Vùng Data offset: chiều dài của Header tính theo đơn vị 32 bit Một số cờ (flags) như sau:
Trang 20- URG (Urgent): thiết lập 1 khi có dữ liệu quan trọng cần truyền ngay
- ACK: cho biết có số xác nhận nằm trong vùng Acknowledgement
Hình 1.4: Cấu trúc gói TCP
- PSH: được thiết lập trong trường hợp dữ liệu nên được giao tức thời
- RST: chỉ thị một lỗi sai và hủy bỏ phiên làm việc
- SYN: trong các bản tin khởi tạo khi thiết lập một kết nối truyền dữ liệu
-FIN (Finish): dùng đóng 1 phiên làm việc
- Vùng Window: chỉ ra số lượng không gian bộ đệm khả dụng để nhận dữ liệu
- Vùng Checksum: vùng kiểm tra sai cho cả Segment
- Vùng Urgent Pointer: chỉ ra chiều dài của dữ liệu Urgent
- Vùng Options: xác định ích thước cực đại của 1 Segment
Cụ thể hơn, vai trò của TCP trong chồng giao thức TCP gồm 3 chức năng chính: điều khiển luồng, kiểm soát lỗi và báo nhận.Điều khiển luồng: điều phối tốc
độ và ích thước luồng dữ liệu để đảm bảo phía nhận đủ khả năng nhận và xử lý luồng dữ liệu.Kiểm soát lỗi: đảm bảo các gói tin đến đúng và đủ.Báo nhận: khi nhận được dữ liệu và không có lỗi, phía nhận phải báo lại với phía gửi biết Để thực hiện
Trang 21được các chức năng đó, một quá trình truyền dữ liệu qua giao thức TCP (mà ta gọi
là phiên truyền thông Session) gồm có 3 giai đoạn: Thiết lập kết nối, truyền dữ liệu
và giải phóng kết nối.Để có thể giám sát chặt chẽ trạng thái và mọi sự kiện xảy ra trong một kết nối TCP, trạng thái của một kết nối TCP được chuyển đổi tuân theo một lưu đồ trạng thái như (hình 1.5)
TCP là giao thức hướng kết nối, dạng Client – Server Tức là trong một phiên truyền thông thì sẽ có một phía đóng vai trò Client, phía còn lại, lúc nào cũng ở trạng thái chờ đợi các Client thiết lập kết nối tới chính là Server.Ví dụ khi ta truy cập Web, thì máy tính của ta là Client, máy chủ chứa trang Web chính là Server – vi điều khiển, lúc nào cũng ở trạng thái đợi các máy tính Client kết nối đến (và phải có khả năng thiết lập đồng thời nhiều kết nối, vì có thể có nhiều Client kết nối tới cùng lúc).Trong lưu đồ trên, áp dụng cho cảClient và Server CảClient và Server đều bắt đầu bằng trạng thái “Close” Client sẽ thiết lập kết nối theo con đường Active Open (nó chủ động thiết lập kết nối) Server sẽ thiết lập kết nối theo con đường Passive Open Quá trình chuyển trạng thái cả hai bắt đầu bằng trạng thái Close, không có kết nối nào tồn tại
Khi Server mở một port TCP để đợi Client thiết lập kết nối, nó chuyển sang trạng thái “Listen”.Khi Client gửi đi bản tin SYN, nó chuyển sang trạng thái “SYN sent”.Lúc này khi Server nhận được bản tin SYN từClient và gửi đáp lại 1 bản tin SYN, nó chuyển sang trạng thái “SYN Received”.Lúc này Client gửi lại bản tin xác nhận ACK (bước 3 trong ví dụ), nó chuyển sang trạng thái thiết lập kết nối
“Established”.Server nhận được bản tin ACK trên của Client, nó cũng chuyển sang trạng thái “Established”.Sau đó hai bên tiến hànhtruyền dữ liệu, trạng thái cả hai đều là “Established”
Một trong hai phía truyền xongdữ liệu, đến đây thì vai trò hai bên là như nhau, ta giả sử Client truyền xong dữ liệu trước, nó sẽ gửi bản tin FIN, và chuyển sang trạng thái “FIN wait 1” Phía Server nhận được bản tin này, gửi xác nhận ACK, và chuyển sang trạng thái “Close wait” Khi Client nhận được xác nhận từ Server (nhận được bản tin ACK trên) thì nó chuyển sang trạng thái “FIN wait 2”.Đến lúc
Trang 22này Server vẫn có thể tiếp tục gửi dữ liệu và Client vẫn tiếp tục nhận (vì chỉ có Client báo là gửi xong dữ liệu)
Hình 1.5: Lưu đồ trạng thái kết nối TCP
Đến khi nào Server cũng gửi hết dữ liệu, nó sẽ gửi đi bản tin FIN, cho biết nó cũng đã gửi xong dữ liệu và chuyển sang trạng thái “LAST ACK”.Khi Client nhận được bản tin FIN trên từ Server, nó gửi xác nhận (ACK) và chuyển sang trạng thái
“Time wait”, sau đó chờ 1 khoảng thời gian Timeout và đóng ết nối, quay lại trạng thái “Close”.Khi Server nhận được nó cũng chuyển từ “Last ACK” sang “Close” (không cần đợi Timeout)
Trang 23- Tầng Internet: Nằm bên trên tầng truy nhập mạng Tầng này có chức năng gán địa chỉ, đóng gói và định tuyến (Route) dữ liệu.Các giao thức quan trọng nhất trong tầng này gồm:
+ IP (Internet Protocol): Có chức năng gán địa chỉ cho dữ liệu trước hi truyền
+ Cấu trúc của gói IP (hình 1.6)
+Total Length (16 bit): 16 bit tổng chiều dài của gói IP gồm cả phần header +Identification (16 bit): dùng nhận diện các phân đoạn của gói IP
+Flags: Bit đầu tiênkhông sử dụng
+Bit 2: DF (Don’t Fragment) = 1 có nghĩa là hông phân đoạn gói này
+Bit 3: MF (More Fragment) = 0 => đây là phân đoạn cuối cùng
Fragmented offset (13 bit): độ dài (đơn vị 8 byte) tính từ điểm bắt đầu của Header tới điểm bắt đầu của phân đoạnTTL (Time to Live) (8 bit): thời gian tồn tại trên mạng hoặc số chặng trên mạng mà gói đi qua trước khi bị hủy bỏ
+Protocol (8 bit): nhận diện Protocol trên lớp IP
+Header checksum (16 bit): sửa sai cho phần Header
+Các vùng địa chỉ nguồn, địa chỉ đích: địa chỉ IP 32 bit
Option: các tùy chọn dùng cho việc kiểm tra: Loose source routing, Strict source routing, Record route và Timestamp
Trang 24Hình 1.6: Cấu trúc gói tin IP
Padding: Gồm các số zero được thêm vào sao cho chiều dài của vùng Header
là bội số của 32 bit.Cách thức mà dữ liệu được gửi qua giao thức IP được tiến hành như sau.Khi nhận được một Segment dữ liệu (từ giao thức lớp trên là TCP) cần gửi đến đích nào đó, địa chỉ đích này phải được xác định bằng địa chỉ IP (tức là địa chỉ mạng hay địa chỉ vật lý) Lớp giao thức IP sẽ gắn thêm vào đầu Segment dữ liệu một Header IP để tạo thành gói IP hoàn chỉnh Trong Header IP này có chứa 2 thông tin quan trọng, đó là địa chỉ Host gửi (Source IP address) và địa chỉ Host nhận (Destination IP address) Địa chỉ Source đương nhiên là địa chỉ của bản thân
nó, còn địa chỉ đích phải được cung cấp cho lớp IP khi muốn gửi dữ liệu qua giao thức này
Gói tin IP này sau đó được chuyển đến lớp giao thức Ethernet để thêm phần Header Ethernet vào và gửi đi.Nhưng giao thức Ethernet lại gửi các khung dữ liệu
đi dựa vào một loại địa chỉ hác là địa chỉ MAC (hay còn gọi là địa chỉ vật lý) Tại sao lại cần đến 2 địa chỉ như vậy? Lý do là địa chỉ vật lý chỉ có giá trị trong phạm vi mạng LAN, nó sẽ hông thể giúp xác định vị trí Host ở bên ngoài phạm vi mạng LAN Khi gửi dữ liệu ra ngoài mạng LAN, các Router sẽ chuyển dữ liệu đi dựa và địa chỉ IP.Như vậy trong phần địa chỉ MAC nguồn và địa chỉ MAC đích trong
Trang 25Header của hung Ethernet, ta sẽ điền các địa chỉ nào? Đối với địa chỉ MAC nguồn, đương nhiên ta sẽ điền địa chỉ MAC của chính ENC28J60 đã được xác lập Nhưng còn địa chỉ MAC đích, sẽ có 2 trường hợp xảy ra.Nếu host đích nằm trong cùng 1 mạng LAN với chúng ta, ta sẽ điền địa chỉ MAC đích là địa chỉ tương ứng của Host đích Frame dữ liệu sẽ được gửi thẳng đến đích.Nếu host đích nằm bên ngoài mạng LAN, rõ ràng ta không thể gửi dữ liệu trực tiếp đến host đích mà phải thông qua gateway, hi đó địa chỉ MAC đích phải là địa chỉ Gateway.Vẫn còn một vấn đề nữa
mà ta phải giải quyết Đó là trong cả hai trường hợp trên, dù là cần gửi cho Gateway hay thẳng đến Host đích, thì đến đây, ta mới chỉ biết địa chỉ IP của Host đích (hay của Gateway) mà hông biết địa chỉ MAC tương ứng Vậy nảy sinh một vấn đề là làm sao biết được địa chỉ MAC của một Host hi biết địa chỉ IP.Đến đây, chính là phát sinh vai trò của giao thức phân giải địa chỉ (ARP – Address Resolution Protocol) Vai trò của giao thức này là tìm ra địa chỉ MAC hi biết địa chỉ IP của 1 Host.Cấu trúc gói ARPđược thể hiện ở hình 1.7
- Ý nghĩa:
- Hardware type (2 bytes): cho biết loại địa chỉ phần cứng, đối với địa chỉ MAC của giao thức Ethernet thì giá trị này được qui định là "0x0001" Protocol type (2 bytes): cho biết loại địa chỉ giao thức lớp trên, đối với địa chỉ IP, giá trị này được qui định là “0x0800” PLEN (1 byte): cho biết chiều dài của địa chỉ giao thức (địa chỉ IP) Operation (2 bytes): cho biết hoạt động đang thực hiện trong gói tin này (request hay reply) Sender H/W (hardware address, 6 bytes): địa chỉ vật lý của phía gửi Sender IP (4 bytes): địa chỉ IP của phía gửi Target H/W (6 bytes): địa chỉ vật
lý của phía nhận, nếu chưa biết thì sẽ là chứa toàn 0
Target IP (4 bytes): địa chỉ IP của phía nhận
Trang 26Hardware Type Protocol Type
HLEN PLEN Operation
Sender H/W Address
Sender H/W Address Sender IP Address
Sender H/W Address
Target IP Address
Hình 1.7: Cấu trúc gói tin ARP
- HLEN (1 byte): cho biết chiều dài của địa chỉ vật lý (địa chỉ MAC).Cách thức mà
dữ liệu được gửi qua giao thức ARP được tiến hành như sau
Khi giao thức IP đưa xuống yêu cầu tìm chỉ MAC của host có IP là a.b.c.d thì
nó phải trả lời ngay địa chỉ MAC của địa chỉ trên dạng XX:XX:XX:XX:XX:XX.Cách thức ARP lấy thông tin giải quyết vấn đề trên là: giao thức ARP duy trì một bảng gọi là ARP Cache gồm hai cột, một cột ghi địa chỉ IP, một cột ghi địa chỉ MAC tương ứng với địa chỉ IP đó Mỗi hi được hỏi bởi giao thức IP, nó sẽ tra bảng này
để tìm câu trả lời Khi được hỏi về một địa chỉ IP a.b.c.d nào đó mà hông có sẵn trong bảng ARP Cache, nó sẽ lập tức tìm trong mạng LAN phần tử có địa chỉ IP là a.b.c.d bằng cách gửi yêu cầu tới các phần tử trong mạng LAN Các phần tử này đều nhận được yêu cầu và phần tử nào có IP a.b.c.d sẽ trả lời lại địa chỉ MAC của
nó là XX:XX:XX:XX:XX:XX
Tầnggiao tiếp mạng liên quan tới việc trao đổi dữ liệu giữa hai trạm thiết bị trong cùng một mạng Trong giao thức TCP/IP, giao thức Ethernet đóng vai trò lớp truy nhập và truyền dẫn Ethernet được thực hiện dựa vào địa chỉ vật lý hay còn gọi
là địa chỉ MAC Trong mỗi hung Ethernet đều chứa 2 địa chỉ MAC: một địa Việc gửi và nhận dữ liệu ở lớp chỉ của Host gửi và một địa chỉ của host nhận Khi lớp Ethernet nhận được một hung dữ liệu, trước hết nó sẽ iểm tra địa chỉ host nhận xem có phải là địa chỉ của nó hông (tức là gửi cho nó), nếu đúng nó sẽ nhận hung này và chuyển đến lớp IP Ngoài ra còn có 1 trường hợp nữa lớp Ethernet sẽ nhận hung là nếu địa chỉ Host nhận là địa chỉ Broadcast (tức là gửi cho tất cả mọi máy
Trang 27trong mạng LAN), trong trường hợp này Frame sẽ được nhận và xử lý.Ngoài việc iểm tra địa chỉ, trong hung Ethernet còn có 1 trường chứa mã iểm tra lỗi giúp phát hiện những lỗi xảy ra trong quá trình truyền, các hung bị xác định là có lỗi sẽ
bị bỏ qua
1.2.3 n ụn đ h n h ế hứ U
Giao thức mà ta sử dụng ở đây là UDP, dựa trên lớp IP Giao thức ứng dụng do chúng ta tự định nghĩa, trong trường hợp này, nó được định nghĩa bởi EP2's firmware Mô hình sử dụng là Client/Server ( hình 1.6) Và sau đó chúng ta có thể thực hiện một ứng dụng điều hiển thiết bị sử dụng giao thức UDP rất tiện lợi
1.3 Các thành phần đo và điều khiển các thiết bị trong gia đình
1.3.1 Cá đầ đ
Trong các hệ thống, mọi quá trình đều được đặc trưng bởi các biến trạng thái
Để đo đạc và theo dõi sự biến thiên này ta phải dùng các bộ cảm biến (đầu đo) Cảm biến là các phần tử dùng để biến đổi các đại lượng đo lường, iểm tra hay điều hiển từ dạng này sang dạng hác thuận tiện hơn cho việc tác động của các phần tử
Trang 28hác
- Đầu đo khôngđại lƣợng điện áp
Rất nhiềutín hiệu cần đo của các thiết bị trong ngôi nhà gia đình đều ở dạng hông điện như nhiệt độ, áp suất, độ ẩm, độ pH, nồng độ, áp suất Muốn tự động hóa việc thu thập, xử lý số liệu đo phải thực hiện việc chuyển đổi các đại lượng từ hông điện thành các đại lượng điện Cảm biến đo các đại lượng hông điện là một thiết bị chịu tác động của đại lượng cần đo hông có tính chất điện và cho một đặc trưng mang bản chất điện (như điện tích, điện áp, dòng điện, trở háng)
Ví dụ: đầu đo cảm biến hồng ngoại
Một cảm biến hồng ngoại là một thiết bị điện tử được sử dụng để cảm nhận được một số đặc điểm của môi trường xung quanh bằng cách phát ra / hoặc phát hiện các bức xạ hồng ngoại và truyển về bộ xử lý để xuất ra các tín hiệu tùy theo mục đích
sử dụng Nó cũng có hả năng đo nhiệt độ của một đối tượng và phát hiện chuyển động Sóng hồng ngoại không thể nhìn thấy được bằng mắt thường Công nghệ hồng ngoại được tìm thấy trong nhiều sản phẩm trong công nghiệp và đời sống
ng dụng một máy dò hồng ngoại để phân tích các tín hiệu từ điều khiển từ
xa, Dùng trong an ninh, giám sát vật chuyển động Những lợi ích chính của cảm biến hồng ngoại bao gồm các yêu cầu điện năng thấp, mạch đơn giản, và tính năng
di động của chúng
Hình 9: Đầu đo cảm biến hồng ngoại -Đầu đo cóđại lƣợng điện áp
Trang 29Đại lượng điện tác động (active):Là những đại lượng mang nănglượng điện như điện áp, dòng điện, công suất Khi đo các đại lượng này, bản thân năng lượng của chúng sẽ cung cấp cho mạch đo Dovậy ta không cần cung cấp thêm năng lượng từ phía ngoài Trong trường hợp năng lượng từ đối tượng cần đo quá lớn có thể gây hư hỏng cho mạch đo thì ta phải hạ áp đủ nhỏ cho phù hợp với thiết bị Ngược lại, khi năng lượng này quá nhỏ thì cần phải mạch khuyếch đại cho đủ lớn trước hi đưa vào thiết bị đo
Ví dụ: đầu đo hạ áp bằng điện trở
Hình 10: Đầu đo hạ áp bằng đện trở
1.3.2 Ghép nối
- Tương thích về dạng tín hiệu
- Tương tự sang số
Rất nhiều tín hiệu đầu ra của các đầu đo là tương tự Tín hiệu của các bộ thu thập,
xử lý tín hiệu là dạng số Do vậy muốn đưa số liệu đo dạng tương tự vào bộ thu thập, xử lý phải chuyến sang dạng số Điều này được thực hiện nhờ bộ chuyển chuyển đổi từ dạng tín hiệu tương tự sang dạng số ADC (ADC Analog to Digital Converter) và ngược lại muốn đưa tín hiệu từ bộ thu thập, xử lý đến các bộ phần chấp hành (dạng tương tự) phải chuyển tín hiệu sang dạng tương tự nhờ bộ DAC (DAC Digital to Analog Converter)
Trang 30Hình 11: Chuyển đổi tương t số sang số
Hình 12: Ghép nốitương t sang số
- Tương thích về công suất
Tín hiệu điện từ đầu ra của các đầu đo thường rất bé Do vậy trước hi đưa vào
bộ chuyển đổi phài khuếch đại lên để được tín hiệu điện tương thích của bộ ADC Ngược lại các tín hiệu dừ đầu ra của bộ DAC cần phải khuếch đại trước hi đưa vào
bô phận chấp hành Thông số đánh giá mạch khuếch đại chính là hiệu suất Mạch khuếch đại công suất tốt có nghĩa là năng lượng cung cấp trên mạch được chuyển đổi 100% thành năng lượng tín hiệu và đảm bảo tín hiệu ra không bị nhiễu Nhưng thực tế một phần năng lượng bị tiêu hao trên linh kiện dẫn đến công suất luôn nhỏ hơn thực tế
Trang 31Hình 13: Mạch khuếch đại công suất 1.4Các thiết bị thu thập số liệu
1.4.1 PLC
Lập trình PLC (Programmable Logic Controller), là thiết bị điều hiển lập trình được, nó có hả năng thực hiện linh hoạt các thuật toán thông qua một ngôn ngữ lập trình Người sử dụng có thể tạo ra chương trình lập trình hàng loạt các sự iện, thao tác Các thao tác này được ích hoạt hi có tác nhân ích thích hoặc có thể hoạt động có thời gian trễ (thời gian đã định hoặc các sự iện được đếm) PLC
có thể dùng thay thế các mạch Role trong thực tế Nguyên lý hoạt động của PLC là quét các trạng thái trên đầu ra và đầu vào tức là hi đầu vào có thay đổi thì đầu ra thay đổi theo Ngôn ngữ lập trình PLC phổ biến là Ladder hoặc State Login, đây là
2 ngôn ngữ lập trình phổ biến nhất nhiện nay
- Lập trình dể dàng, ngôn ngữ lập trình dễ học
- Gọn nhẹ, dể dàng bảo quản, sửa chữa
- Dung lượng bộ nhớ lớn để có thể chứa được những chương trình phức tạp
- Hoàn toàn tin cậy trong môi trường công nghiệp
- Giao tiếp được với các thiết bị thông minh hác như: máy tính, nối mạng, các môi Modul mở rộng
Cấu trúc của PLC
Trang 32Trong PLC, phần cứng CPU và chương trình là đơn vị cơ bản cho quá trình điều hiển hoặc xử lý hệ thống Chức năng mà bộ điều hiển cần thực hiện sẽ được xác định bởi một chương trình Chương trình này được nạp sẵn vào bộ nhớ của PLC, PLC sẽ thực hiện việc điều hiển dựa vào chương trình này Như vậy nếu muốn thay đổi hay mở rộng chức năng của qui trình công nghệ, ta chỉ cần thay đổi chương trình bên trong bộ nhớ của PLC Việc thay đổi hay mở rộng chức năng sẽ được thực hiện một cách dễ dàng mà hông cần một sự can thiệp vật lý nào so với sử dụng các
bộ dây nối hay Rơle
1.4.2V đ u khi n
PIC là viết tắc của “Programable Intelligent Computer”, có thể tạm dịch là “máy tính thông minh khả trình” do hãng General Instrument đặt tên cho VĐK đầu tiên của họ: PIC1650 được thiết kế để dùng làm các thiết bị ngoại vi cho VĐK CP1600 VĐK này sau đó được nghiên cứu phát triển thêm và từ đó hình thành nên dòng VĐK PIC ngày nay
Đối với cấu trúc Havard, bộ nhớ dữ liệu và bộ nhớ chương trình tách ra thành hai bộ nhớ riêng biệt Do đó trong cùng một thời điểm CPU có thể tương tác với cả hai bộ nhớ, như vậy tốc độ xử lý của VĐK được cải thiện đáng ể
Trang 33Một điểm cần lưu ý nữa là tập lệnh trong kiến trúc Havard có thể được tối ưu tùy theo yêu cầu kiến trúc của VĐK mà hông phụ thuộc vào cấu trúc dữ liệu Ví
dụ, đối với VĐK dòng 16F, độ dài lệnh luôn là 14 bit (trong khi dữ liệu được tổ chức thành từng byte), còn đối với kiến trúc Von-Neuman, độ dài lệnh luôn là bội
số của 1 byte (do dữ liệu được tổ chức thành từng byte.RISC và CISC như đã trình bày ở trên, kiến trúc Havard là khái niệm mới hơn so với kiến trúc Von-Neuman Khái niệm này được hình thành nhằm cải tiến tốc độ thực thi của một VĐK
Hình 4: Cấu trúc bộ nhớ VĐ
Qua việc tách rời bộ nhớ chương trình và bộ nhớ dữ liệu, Bus chương trình Bus
dữ liệu và bộ nhớ dữ liệu, giúp tăng tốc độ xử lý và VĐK gấp bội Đồng thời cấu trúc lệnh không còn phụ thuộc vào cấu trúc dữ liệu nữa mà có thể linh động điều chỉnh tùy theo khả năng và tốc độ của từng VĐK Và để tiếp tục cải tiến tốc độ thực thi lệnh, tập lệnh của họ VĐK PIC được thiết kế sao cho chiều dài mã lệnh luôn cố định (ví dụ đối với họ 16F chiều dài mã lệnh luôn là 14bit).Cho phép thực thi lệnh trong chu kỳ của xung Clock (ngoaị trừ một số trường hợp đặc biệt như lệnh nhảy, lệnh gọi chương trình con… cần hai chu kỳ xung đồng hồ) Điều này có nghĩa tập lệnh của VĐK thuộc cấu trúc Havard sẽ ít lệnh hơn, ngắn hơn, đơn giản hơn để đáp ứng yêu cầu mã hóa lệnh bằng một số lượng bit nhất định.VĐK được tổ chức theo kiến trúc Havard còn được gọi là VĐK RISC (Reduced Instruction Set Computer) hay
Trang 34VĐK có tập lệnh rút gọn VĐK được thiết kế theo kiến trúc Von-Neuman còn được gọi là VĐK CISC (Complex Instruction Set Computer) hay VĐK có tập lệnh phức tạp vì mã lệnh của nó không phải là một số cố định mà luôn là bội số của 8 bit (1 byte)
1.4.3 Máy tính
Thiết bị xuất/nhập cho phép máy tính thu nhận thông tin từ bên ngoài qua thiết bị nhập Sau hi được xử lý bởi hệ điều hành sẽ được gửi kết quả công việc của nó đến thiết bị xuất
- Các thiết bị nhập bao gồm: bàn phím, Webcam vv
- Các thiết bị xuất bao gồm: màn hình, máy in và những thiết bị điều khiển khác
Công việc của thiết bị nhập (input) là mã hóa (chuyển đổi) thông tin từ nhiều định dạng sang dạng dữ liệu mà máy tính có thể hiểu và xử lý được
Các thiết bị xuất (Output) thì ngược lại, thực hiện công việc giải mã dữ liệu thành thông tin mà người sử dụng có thể hiểu được Với ý nghĩa này thì hệ thống máy tính
có thể coi như một hệ thống xử lý dữ liệu
Hình 5: Thu thập và sử lý qua máy tính
Trang 35Kết luận chương
Qua chương 1 em đã tìm hiểu và hiểu rõ hơn về vi điều khiển cũng như cấu trúc của PIC.Qua đó cũng hiểu hơn về các công cụ điều khiển, các đầu đo phổ biến hiện nay
Qua đó tìm hiểu một số giao thức chính của mạng Internet và một số ứng dụng điều khiển thiết bị hiện nay và những công cụ điều khiển cũng như các cấu trúc và nguyên lý hoạt động của chúng hiện đang ứng dụng phổ biến trong môi trường nghiên cứu, ứng dụng,học tập hiện nay Tuy nhiên vì thời gian còn hạn chế em chưa thể tìm hiểu được tất cả các loại vi điều khiển cũng như các cấu trúc của chúng mà
em chỉ khái quát chính về loại VĐK và các giao thức truy cập cơ bản nhất nhằm mục đích nắm được kiến thức cơ bản
Trang 36Chương2:CẤU TRÚCVI ĐIỀU KHIỂN PIC 16F877A
2.1 Giới thiệu chung
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 hô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 hố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 vá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ố điểm khác nhau giữa VXL và VĐK: [5]
Về phần cứng: VXL 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 hác… để có thể tạo thành một bản mạch hoàn chỉnh Đối với VĐK 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ộ VXL và VĐK cũng có những yêu cầu hác nhau đối với tập lệnh của chúng Tập lệnh của các VXL thường mạnh về các kiểu định địa chỉ với các lệnh cung cấp các hoạt động trên các lượng dữ liệu lớn như 1 byte, ½ byte, double word… Ở các bộ VĐK, các tập lệnh rất mạnh trong việc xử lý các kiểu dữ liệu
Trang 372.1.1 Sơ đồ khối củ V đ u khi n 16F877A
- Sơ đồ hối của PIC 16F877A (hình 2.1)
Hình 2 : Sơ đồ khối của vi điều khiển 6F877
Trang 382.1.2 Các chân củ V đ u khi n PIC 16F877A
- Các chân chức năng của PIC 16F877A (hình 2.2)
Hình 2.2: Sơ đồ ch n của vi điều khiển 6F877
- Khối ALU – Arithmetic Logic Unit
- Khối bộ nhớ chứa chương trình – Flash Program Memory
- Khối bộ nhớ chứa dữ liệu EPROM – Data EPROM
- Khối bộ nhớ chứa file thanh ghi RAM – RAM file Register
- Khối giải mã lệnh và điều khiển – Instruction Decode Control
- Khối thanh ghi đặc biệt
- Khối ngoại vi Timer
- Khối giao tiếp nối tiếp
- Khối chuyển đổi tín hiệu tương tự sang số - ADC
- Khối các Port xuất nhập
Trang 392.1.3 Các chân chứ năn ủ V đ u khi n
- Chân OSC1/CLK1 (13): ngõ vào kết nối với dao động thạch anh hoặc ngõ vào nhận xung Clock từ bên ngoài
- Chân OSC1/CLK1 (13): ngõ ra dao động thạch anh hoặc ngõ ra cấp xung Clock
- Chân MCLR/Vpp(1) có 2 chức năng:
- MCLR: ngõ vào reset tích cực ở mức thấp
- Vpp: ngõ vào nhận điện áp lập trình khi lập trình cho PIC
- Chân RA0/AN0(2), RA1/AN1(3), RA2/AN2(3): có 2 chức năng
- RA 0, 1, 2: xuất/ nhập số
- AN 0, 1, 2: ngõ vào tương tự của kênh thứ 0, 1, 2
- Chân RA2/AN2/VREF-/CVREF+(4): xuất nhập số/ ngõ vào tương tự của kênh thứ 2/ ngõ vào điện áp chuẩn thấp của bộ AD ngõ vào điện áp chuẩn cao của AD Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõ vào điện áp chuẩn (cao) của bộ AD.Chân RA4/TOCK1/C1OUT(6): xuất nhập số/ ngõ vào xung clock bên ngoài cho Timer 0/ ngõ ra bộ so sánh 1.Chân RA5/AN4/SS
/C2OUT(7): xuất nhập số/ ngõ vào tương tự kênh 4/ ngõ vào chọn lựa SPI phụ/ ngõ
- Chân RB6/PGC(39): xuất nhập số/ mạch gỡ rối và xung clock lập trình ICSP
- Chân RB7/PGD(40): xuất nhập số/ mạch gỡ rối và dữ liệu lập trình ICSP
- Chân RO0/T1OCO/T1CKI(15): xuất nhập số/ ngõ vào bộ dao động Timer1/ ngõ vào xung clock bên ngoài Timer1
Trang 40- Chân RC1/T1OSI/CCP2(16): xuất nhập số/ ngõ vào bộ dao động Timer 1/ ngõ vào Capture2, ngõ và compare 2, ngõ ra PWM2
- Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capturel, ngõ ra Compare1
- Chân RC3/SCK/SCL(18): xuất nhập số/ ngõ vào xung Clock nối tiếp đồng
bộ, ngõ ra chế độ SPI Ngõ vào xung clock nối tiếp đồng bộ, ngõ ra của chế độ I2C
- Chân RC4/SDI/SDA(23): xuất nhập số/ dữ liệu vào SPI/ xuất nhập dữ liệu I2C
- Chân RC5/SDO(24): xuất nhập số/ dữ liệu ra SPI
- Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xung đồng bộ
- Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART
- Chân RD0-7/PSP0-7(19-30): xuất nhập số/ dữ liệu Port song song
- Chân RE0/ RD/AN5(8): xuất nhập số/ điều khiển Port song song/ ngõ vào tương tự kênh số 5
- Chân RE1/WR/AN6(9): xuất nhập số/ điều khiển Port song song/ ngõ vào tương tự kênh số 6
- Chân RE2/CS/AN7(10): xuất nhập số/ chân chọn lụa điều khiển Port song song/ ngõ vào tương tự kênh thứ 7
- Chân VDD(11,32) và VSS(12,31): là các chân nguồn của PIC
2.1.4 Cá đặ đ m củ V đ u khi n 16F877A
Đây là vi điều hiển thuộc họ PIC 16Fxxx với tập lệnh gồm 35 lệnh có độ dài
14 bit.Mỗi lệnh được thực thi trong một chu ỳ xung Clock Tốc độ hoạt đông tối
đa cho phép là 20MHZ với một chu ỳ là 20ns.Bộ nhớ chương trình 8 x14 bit, bộ nhớ dữ liệu 368 x 8 byte RAM và bộ nhớ dữ liệu EEPROM với dung lượng 256 x 8 byte.Số PORT I/O là 5 với 33 pin I/O.Các đặc tính ngoại vi bao gồm các hối chức năng sau:Timer0: bộ đếm 8 bit với số chia tần số 8 bit
Timer1: bộ nhớ 16 bit với số chia tần số,có thể thực hiện chức năng đếm dựa vào xung Cloc ngoại vi ngay hi vi điều hiển hoạt động ở chế độ Sleep