Xây dựng hệ thống thu thập dữ liệu môi trường từ xa
Trang 1TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Trang 2PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP
1 Thông tin về sinh viên
Họ và tên sinh viên: Bùi Đức Kiên
Điện thoại liên lạc: 01253538296 Email: kienbuiduc@gmail.com
Lớp: Kỹ thuật máy tính Hệ đào tạo: Đại học chính qui
Đồ án tốt nghiệp được thực hiện tại: Đại học Bách khoa Hà Nội
Thời gian làm ĐATN: Từ ngày 20/2/2011 đến 26/05/2011
2 Mục đích nội dung của ĐATN
Xây dựng Hệ thống thu thập dữ liệu môi trường từ xa
3 Các nhiệm vụ cụ thể của ĐATN
- Phân tích thiết kế hệ thống thu thập dữ liệu môi trường
- Xây dựng phần cứng
- Xây dựng phần mềm quản lý
4 Lời cam đoan của sinh viên:
Tôi – Bùi Đức Kiên - cam kết ĐATN là công trình nghiên cứu của bản thân tôi dưới sự hướng dẫn của Thạc sĩ Dư Thanh Bình
Các kết quả nêu trong ĐATN là trung thực, không phải là sao chép toàn văn của bất kỳ công trình nào khác
Hà Nội, ngày tháng năm
Tác giả ĐATN
Bùi Đức Kiên
5 Xác nhận của giáo viên hướng dẫn về mức độ hoàn thành của ĐATN và cho phép bảo vệ:
Hà Nội, ngày tháng năm
Giáo viên hướng dẫn
ThS Dư Thanh Bình
Trang 3LỜI CẢM ƠN
Trước tiên tôi xin gửi lời cám ơn chân thành sâu sắc tới các thầy cô giáo trong trường Đại học Bách Khoa Hà Nội nói chung và các thầy cô giáo trong viện Công nghệ thông tin và truyền thông, bộ môn Kỹ thuật máy tính nói riêng đã tận tình giảng dạy, truyền đạt cho tôi những kiến thức, kinh nghiệm quý báu trong suốt thời gian qua
Đặc biệt tôi xin gửi lời cảm ơn đến thầy Dư Thanh Bình, thầy đã tận tình giúp
đỡ, trực tiếp chỉ bảo, hướng dẫn tôi trong suốt quá trình làm đồ án tốt nghiệp Trong thời gian làm việc với thầy, tôi không ngừng tiếp thu thêm nhiều kiến thức bổ ích mà còn học tập được tinh thần làm việc, thái độ nghiên cứu khoa học nghiêm túc, hiệu quả, đây là những điều rất cần thiết cho tôi trong quá trình học tập và công tác sau này
Đồng thời xin chân thành cảm ơn trường Đại học Bách khoa Hà Nội và các thầy, cô giáo phụ trách Phòng thì nghiệm - Thư viện điện tử đã tạo mọi điều kiện về cơ
sở vật chất giúp tôi có một môi trường tốt để thực hiện và hoàn thành đề tài này
Sau cùng xin gửi lời cảm ơn chân thành tới gia đình, bạn bè đã động viên, đóng góp ý kiến và giúp đỡ trong quá trình học tâp, nghiên cứu và hoàn thành đồ án tốt nghiệp
Trang 4TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP
Đề tài này được thực hiện nhằm xây dựng một hệ thống có thể thu thập các số liệu về môi trường Nhằm cung cấp số liệu cho công tác nghiên cứu, dự báo thời tiết, thiên tai, cho quốc phòng, dân sinh…
Hệ thống thu thập các số liệu về môi trường: Nhiệt đô, áp suất khí quyển, mực nước, lương nước, nhiệt độ trong nước, loại mây, độ cao chân mây, các loại bức xạ … nhờ các các thiết bị đo, hoặc các hệ thống cảm biến chuyên dụng Nghiên cứu và xây dựng được một hệ thống phần cứng tích hợp được các cảm biến
Sau khi xây dựng được phần cứng tích hợp các cảm biến thì các dữ liệu đo được sẽ được hệ thống chuyển về một trung tâm Tại trung tâm, dữ liệu được lưu trữ, cụ thể được lưu trữ vào cơ sở dữ liệu và lưu trữ tại máy chủ (server) Tại sever thực hiện xây dựng một phần mềm đảm bảm thu nhận được đầy đủ thông tin từ thiết bị phần cứng gửi về
Khi các ngành, bộ, các bộ phận khác cần dữ liệu về môi trường có thể truy cập vào máy chủ để lấy các thông tin cần thiết phục vụ cho các công việc cụ thể của riêng mình
Người quản trị hệ thống có thể giám sát toàn bộ hệ thống thu thập số liệu qua giao diện người dùng, hoặc thông qua phần mềm quản trị
Các mục tiêu của đồ án tốt nghiệp:
Tìm hiểu tổng quan về hệ thống thu thập dữ liệu từ xa qua GPRS
Nghiên cứu và đưa ra giải pháp để sử dụng công nghệ GSM/GPRS
o Thiết kế hệ thống phần cứng đáp ứng yêu cầu truyền dữ liệu liên tục, ổn định
o Phát triển hệ thống quản lý trên PC
Tìm hiểu và đánh giá chung về khó khăn, tính khả thi, hiệu quả cũng như nhu cầu và ứng dụng của hệ thống ở Việt Nam và trên thế giới
Trang 5PHÂN CÔNG CÔNG VIỆC
Phần làm chung
Bùi Đức Kiên + Nguyễn Chí Thắng
Phần làm riêng Bùi Đức Kiên
Nghiên cứu lý thuyết:
Trang 6DANH SÁCH NHỮNG TỪ VIẾT TẮT
MT Mobile Terminal - Thiết bị đầu cuối mạng (trong trường hợp này 1 Node điểm đo)
Thiết bị đầu cuối (Server)
Transmitter
Trang 7DANH MỤC CÁC HÌNH ẢNH
Figure 1: Mô hình tổng quan hệ thống 13
Figure 2:Mô hình tổng quan thiết các Modul phần cứng 14
Figure 3:Mô hình tổng quan thiết các Modul phần mềm 15
Figure 4: Mô hình Server 15
Figure 5: Mô hình 1 điểm đo 16
Figure 6: Kit Atmega16L 17
Figure 7: Kit Pic 17
Figure 8: Kit ARM9 17
Figure 9: Kit SIM548 18
Figure 10: Wavecom Module 18
Figure 11: Kit Freescale 18
Figure 12: Cấu trúc GPRS được phát triển dựa trên mạng GSM 20
Figure 13: Cấu trúc các lớp địa chỉ IP 23
Figure 14: Dạng thức của gói tin IP 24
Figure 15: Cổng truy nhập dịch vụ TCP 24
Figure 16: Cấu trúc chung của gói dữ liệu 29
Figure 17: Cấu trúc phần dữ liệu gửi về 30
Figure 18: Cấu trúc dữ liệu của 1 cảm biến 30
Figure 19: Mô hình quan hệ cơ sở dữ liệu 32
Figure 20: Sơ đồ chân Atmega128 35
Figure 21: Bản đồ bộ nhớ chương trình Atmega128 41
Figure 22: Bản đồ bộ nhó SRAM Atmega128 42
Figure 23: Thanh ghi địa chỉ EEPROM 43
Figure 24: Thanh ghi dữ liệu EEPROM 43
Figure 25: Thanh ghi điều khiển EEPROM 43
Figure 26: Cấu hình chân của DS18B20 48
Figure 27: Sơ đồ khối của DS18B20 49
Figure 28: Thanh ghi nhiệt độ 50
Figure 29: Cấp nguồn ký sinh cho DS18B20 trong quá trình biến đổi A/D 52
Figure 30: Cấp nguồn cho DS18B20 với nguồn ngoài 52
Figure 31: Mã ROM 64-bit 53
Figure 32: Bản đồ nhớ của DS18B20 53
Figure 33: Thanh ghi cấu hình 54
Figure 34: Cấu hình phân giải đo nhiệt 54
Figure 35: Cấu hình phần cứng 55
Figure 36: 64-bit của mã ROM 56
Figure 37: Giao diện DXP 59
Figure 38: Tạo thư viện trong DXP 60
Figure 39: Thêm thư viện schematic và pcb 60
Figure 40: Vẽ linh kiện trong schematic 61
Figure 41: Vẽ linh kiện trong PCB 61
Trang 8Figure 42: Add thư viện pcb vào schematic 62
Figure 43: Khối nguồn 63
Figure 44: Khối thạch anh ngoài 63
Figure 45: Khối vi điều khiển 64
Figure 46: Atmega128 thực tế 65
Figure 47: Khối SIMCOM300CZ 65
Figure 48: Sim300CZ và Conector thực tế 66
Figure 49: Khối đèn báo tín hiệu 66
Figure 50: Sơ đồ Sim-Holder 67
Figure 51: SimHolder thực tế 67
Figure 52: Sơ đồ Schematic mạch 68
Figure 53: Sơ đồ mạch in 69
Figure 54: Mạch hoàn thành 70
Figure 55: Thao tác truyền nhận dữ liệu với AT Command 70
Figure 56: Sơ đồ khối Server và các điểm truy cập 75
Figure 57: Lưu đồ thuật toán đăng nhập hệ thống 76
Figure 58: Lưu đồ thuật toán kết nối 77
Figure 59: Lưu đồ thuật toán cập nhật dữ liệu 78
Figure 60: Giao diện Form Main 79
Figure 61: Kiểm tra địa chỉ IP Internet Server 80
Figure 62: Cấu hình mở cổng cho Modem ADSL 80
Figure 63: Server ở trạng thái truyền nhận dữ liệu thành công 81
Figure 64: Giao diện form Đăng nhập 81
Figure 65: Giao diện Form Thống kê chi tiết điểm đo 82
Figure 66: Giao diện Form Chọn thông tin in báo cáo 82
Figure 67: Tạo Socket bằng Thread 89
Trang 9DANH MỤC BẢNG
Table 1: Phương án vi điều khiển 19
Table 2:Bảng liệt kê một vài cổng TCP phổ biến 25
Table 3: Cú pháp lệnh AT 27
Table 4: Bảng Tài khoản 31
Table 5: Bảng Loại cảm biến 31
Table 6: Bảng Điểm đo 31
Table 7: Bảng Nhiệt độ 31
Table 8: Bảng Áp Suất 32
Table 9: Port A 36
Table 10: Port B 37
Table 11: Port C 37
Table 12: Port D 38
Table 13: Port E 38
Table 14: Port F 39
Table 15: Port G 40
Table 16: Dung lượng SRAM 41
Table 17: Đặc điểm SIMCOM300CZ 48
Table 18: Mô tả các chân của DS18B20 49
Table 19: Quan hệ Nhiệt độ/Dữ liệu 51
Table 20: Thông tin tìm kiếm bit 57
Table 21: Dãy tìm kiếm 1-Dây 57
Table 22: Hướng chọn lộ trình 58
Table 23: Giải thích lệnh AT Command 72
Table 24: So sánh TCP – UPD 74
Table 25: Bảng giao tiếp trong mạng 86
Table 26: Các phương thức dùng trong Thread 87
Table 27: Các thuộc tính dùng trong Thread 88
Trang 10MỤC LỤC
PHIẾU GIAO NHIỆM VỤ ĐỒ ÁN TỐT NGHIỆP 1
LỜI CẢM ƠN 2
TÓM TẮT NỘI DUNG ĐỒ ÁN TỐT NGHIỆP 3
PHÂN CÔNG CÔNG VIỆC 4
DANH SÁCH NHỮNG TỪ VIẾT TẮT 5
DANH MỤC CÁC HÌNH ẢNH 6
DANH MỤC BẢNG 8
MỤC LỤC 9
PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP 12
CHƯƠNG 1: ĐẶT VẤN ĐỀ 12
1.Về phương diện khí tượng thủy văn 12
2.Về phương diện con người và sản xuất 12
3.Vấn đề đặt ra 12
CHƯƠNG 2: Ý TƯỞNG THIẾT KẾ 13
1.Tổng quan hệ thống 13
2.Vấn đề liên quan và phương án lựa chọn 15
2.1 Thiết kế đầu cuối 15
2.2 Thiết kế một điểm thu thập 16
CHƯƠNG 3: CƠ SỞ LÝ THUYẾT 20
1 Sơ lược về GPRS 20
1.1 Mô hình hệ thống thu thập dữ liệu qua mạng GPRS 21
2 Giao thức TCP/IP 22
2.1 Tổng quát 22
2.2 Giao thức IP 22
2.3 Giao thức điều khiển truyền dữ liệu TCP 24
3 Tập lệnh AT Command 25
3.1 Cú pháp của lệnh AT 26
3.2 Thực thi lệnh AT 27
4 Microsoft SQL Server 27
PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 29
CHƯƠNG 1: THIẾT KẾ DỮ LIỆU 29
1 Phía Client 29
2.Phía Server 30
2.1 Cơ sở dữ liệu 30
2.2 Các bảng dữ liệu 30
2.3 Mô hình quan hệ 32
2.4 Nhận, bóc tách và lưu trữ dữ liệu trên Server 33
CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG (CLIENT) 34
1 Giới thiệu tổng quát về vi điều khiển Atemega 128 34
1.1 Sơ đồ chân của Atmega128 35
1.1.1 Port A (PA7…0) 36
1.1.2 Port B (PB7…0) 36
Trang 111.1.3 Port C (PC7…0) 37
1.1.4 Port D (PD7…0) 37
1.1.5 Port E (PE7…0) 38
1.1.6 Port F(PF7…0) 39
1.1.7 Port G(PG4…0) 39
1.2 Bộ nhớ AVR Atmega128 40
1.2.1 EEPROM Data Memory – bộ nhớ dữ liệu EEPROM 42
1.2.2 Thanh ghi địa chỉ EEPROM – EEARH và EEARL 42
1.2.3 Thanh ghi dữ liệu EEPROM – EEDR 43
1.2.4 Thanh ghi điều khiển EEPROM – EECR 43
1.3 USART 44
1.4 Bộ chuyển đổi ADC 45
2 Giới thiệu chung về Simcom 300CZ – Simcard Holder 45
2.1 Sim300CZ 45
3 Cảm biến nhiệt độ 48
3.1 Cấu hình chân 48
3.2 Tổng quan về DS18B20 49
3.3 Hoạt động đo nhiệt độ 50
3.4 Cấp nguồn cho DS18B20 51
3.5 Mã ROM 64-bit 52
3.6 Bộ nhớ 53
3.7 Thanh ghi cấu hình 54
3.8 Hệ thống bus 1-Dây 54
3.9 Cấu hình phần cứng 54
3.10 Thuật toán Search ROM 55
4 Thiết kế phần cứng chi tiết 58
4.1 Giao diện DXP 58
4.2 Hướng dân xây dựng thư viện cho DXP 59
4.3 Chi tiết các khối: 62
4.3.1 Khối nguồn 62
4.3.2 Khối tạo xung cho ate 63
4.3.4 Khối vi điều khiển 64
4.3.5 Khối sim300 65
4.3.6 Khối đèn báo 66
4.3.7 Sơ đồ simholder 66
4.3.8 Sơ đồ toàn mạch 68
4.3.9 Sơ đồ mạch in 69
4.3.9 Mạch đã hoàn thành 69
4.4 Thao tác tập lệnh AT Command để truyền nhận dữ liệu qua GPRS 70
CHƯƠNG 3: THIẾT KẾ PHẦN MỀM (SERVER) 73
1 GPRS TCP server và các chức năng cơ bản 73
1.1 Tổng quát về GPRS Server 73
1.2 Chức năng của Server 74
1.3 Các tính năng chính của Server 74
Trang 121.4 Sơ đồ khối 74
1.5 Lựa chọn thiết bị và phương án cho Server 75
2 Sơ đồ thuật toán 76
2.1 Lưu đồ Đăng nhập hệ thống 76
2.2 Lưu đồ Kết nối Client – Server 77
2.3 Lưu đồ Cập nhật dữ liệu sau kết nối thành công 78
3 Làm việc với GPRS Server 79
3.1 Giao diện chính của Server 79
3.2 Giao diện đăng nhập 81
3.3 Giao diện thống kê chi tiết điểm đo 82
3.4 Giao diện chọn in báo cáo 82
PHẦN 3: KẾT LUẬN 83
PHỤ LỤC 84
1 Socket 84
2 Giới thiệu về NameSpace System.Net và System.Net.Sockets 85
2.1 Lớp IPAdress 85
2.2 Lớp IPEndPoint 85
2.3 Lớp DNS 86
2.4 NameSpace System.Net.Sockets 86
3 Threading 86
3.1 Một số khái niệm 86
3.2 Sử dụng Thread trong các chương trình Net 87
3.2.1 Một số phương thức thường dùng 87
3.2.2 Một số thuộc tính thường dùng 88
3.2.3 Tạo một tuyến trong C# 88
3.2.4 Sử dụng Thread trong các chương trình Server 88
TÀI LIỆU THAM KHẢO 90
Trang 13PHẦN 1: ĐẶT VẤN ĐỀ VÀ ĐỊNH HƯỚNG GIẢI PHÁP
CHƯƠNG 1: ĐẶT VẤN ĐỀ
1.Về phương diện khí tượng thủy văn
Trong những năm gần đây do sự tác động của con người khí hậu đã có những thay đổi vô cùng to lớn: hiệu ứng nhà kính, các cơn bão cường độ cực mạnh, sóng thần, động đất, lũ lụt …Những thảm họa này ngày càng được đề cập tới nhiều hơn trên các bản tin thời sự, dự báo thời tiết, với mức độ và mật độ rất khó lường Chúng đã gây cho “hành tinh xanh” của chúng ta những tốn thất kinh hoàng về mạng sống của con người và thiệt hại cho nền kinh tế toàn cầu
2.Về phương diện con người và sản xuất
Con người là nhân tố chính trong việc lao và sản xuất ra của cải vật chất cho xã hội hiện nay, vì vậy nhân tố con người luôn phải được chú trọng và được tạo mọi điều kiện thuận lợi nhất để có điều kiện phát triển Bên cạnh đó, các sản phẩm làm ra cũng cần được bảo quản trong một điều kiện nhất định và phù hợp để có được chất lượng tốt nhất phục vụ nhu cầu sống của chúng ta
Hiện nay trong các nhà máy hay trong các kho bãi lưu trữ của các khu công nghiệp hoặc xí nghiêp sản xuất còn đang rất thô sơ, điều kiện về môi trường chưa được quản lý và theo dõi cẩn thận vì vậy gây ra rất nhiều tổn thất về mặt sức khỏe con người cũng như chất lượng sản phẩm sau xuất kho
3.Vấn đề đặt ra
Một thực tế mà chúng ta có thể nhận thấy khi nhìn vào những con số thiệt hại do thiên tai gây ra, đây là những tổn thật vô cùng to lớn Bên cạnh đó việc cung cấp một môi trường làm việc đảm bảo sức khỏe cho con người và theo dõi kho bãi lưu trữ sả n phẩm đầu ra sau một quá trình sản xuất để đạt tiêu chuẩn là vô cùng cần thiết Yêu cầu cấp thiết là phải có một hệ thống đo đạc chính xác các số liệu về môi trường, từ các số liệu thu thập được, chúng ta sẽ có thể tính toán, nghiên cứu đưa ra các dự báo đúng nhất, điều chỉnh nhanh và sớm nhất để có thể giảm được những tác hại do môi trường
và thiên tai gây ra Ngoài ra ta còn có thể cung cấp các số liệu đó cho các nghành khác: như xây dựng, quốc phòng, an ninh…
Trang 14CHƯƠNG 2: Ý TƯỞNG THIẾT KẾ
1.Tổng quan hệ thống
Figure 1: Mô hình tổng quan hệ thống
Xây dựng một hệ thống có khả năng thu thập tính toán xử lý thông tin các dữ liệu môi trường nhằm hộ trợ tốt hơn cho nghiên cứu cũng như dự báo trước các thảm họa, phục vụ cho các hoạt động điều tra cơ bản và dự báo khí tượng, thủy văn, quan trắc môi trường không khí và nước Nhằm phục vụ công tác phòng chống thiên tai, phát triển kinh tế - xã hội và đảm bảo an ninh, quốc phòng trong phạm vi cả nước
Hệ thống này giúp cho việc thu thập dữ liệu thuận tiện dễ dàng nhanh chóng Giải pháp sử dụng các công nghệ hiện đại như điện tử, viễn thông, điều khiển tự động phù hợp với đặc thù của địa hình cần đo đạc các dữ liệu mội trường nhằm tăng tính hiệu quả quá trình thực hiện
Hệ thống thu thập dữ liệu môi trường từ xa là tập hợp các thiết bị phần cứng (Client) và phần mềm (Server)
Phần cứng phải đáp ứng các yêu cầu thiết kế như sau:
Trang 15 Phần cứng có khả năng đo đạc các thông số của môi trường ở các vị trí khác nhau
Có thế gửi các dữ liệu đã đo đạc tính toán về trung tâm (Sever)
Đáp ứng được các yêu cầu về tốc độ truyền dữ liệu, giá thành, độ chính xác
Figure 2:Mô hình tổng quan thiết các Modul phần cứng
Để tương thích với phần cứng đã thiết kế thì bên trung tâm phải xây dựng một phần mềm đồng nhất để nhận được các dữ liệu mà phần cứng gửi về Phần mềm cần đáp ứng một số yêu cầu sau:
Quản lý nhiều vị trí điểm đo khác nhau
Cập nhật được thông số dữ liệu được liên tục từ các điểm đo gửi về
Giao diện thân thiện, dễ dàng xử dụng,
Thống kê, báo cáo theo thời gian và địa điểm từ các dữ liệu nhận được
Đảm bảo tính thống nhất, đồng bộ về dữ liệu đo đạc với Client
Trang 16Figure 3:Mô hình tổng quan thiết các Modul phần mềm
2.Vấn đề liên quan và phương án lựa chọn
2.1 Thiết kế đầu cuối
Figure 4: Mô hình Server
Do đặc thù của mô hình thu thập dữ liệu là ở khoảng cách xa nên phương thức truyền dữ liệu tất yếu được sử dụng không dây
Yêu cầu bên sever cần môt máy tính có kết nối với internet qua một model ADSL tốc độ truyền dữ liệu có thế khoảng 1kb/s Theo tính toán dữ liệu thì có thế
Trang 17truyền tối qua là dữ liệu của 22 cảm biến trong một làn truyền dữ liệu, thông tin của 22 cảm biến này chiếm 2+22x7 bytes = 157 bytes tốc độ 1kb/s là phù hợp, có thể dùng các gói có tốc độ truyền dữ liệu cao hơn
Máy tính cần một địa chỉ IP tĩnh để các thiết bị thu thập dữ liệu có thể gửi đến được sever
Dịch vụ IP tĩnh thì các nhà cung cấp mạng có thể cung cấp cho chúng ta, giá thành cho dịch vụ này khoảng 500k đến 700k vnd trên một tháng, ngoài ra cũng có dùng mạng ảo VPN để sử dụng IP tĩnh của sever của công ty đã sẵn có
Máy tính sever không yêu cầu cao về cấu hình chỉ cần những máy tính cá khả năng truy cập được mạng, nhưng về phần cơ sở dữ liệu do việc thu thập dữ liệu là thường xuyên và liên tục nên khối lượng dữ liệu lưu trữ lại là tương đối lớn Trung bình khoảng 20s thì dữ liệu gủi về và có khoảng 10 cảm biến thì dữ liệu lưu trữ khoảng 1k Vậy trong 1 ngày dữ liệu lưu trữ mất 4MB 1 năm 1460MB = 1.426G
2.2 Thiết kế một điểm thu thập
Figure 5: Mô hình 1 điểm đo
Tại một điểm thu thập dữ liệu thì ta có một số phương án lựa chọn giải pháp về thiết kế phần cứng
Giải pháp thứ 1: ta có thể mua sẵn một modul có sẵn các tính năng có theo yều của mình Ưu điểm của phương án này không phải làm phần cứng chỉ cần viết phần mềm để hoạt động Nhược điểm: chi phí giá thành của sản phần sẽ lớn, sẽ có nhiều phần ta không cần sử dụng trong modul này, đặc biệt ta không thể can thiệp sâu được vào phần cứng
Giải pháp thứ 2: sử dụng nhiều module nối ghép với nhau ở đây ta sử dụng 2 module vi điều khiển và module GPRS dùng mạng GSM
Trang 18Đối với module CU thì trên thị trường có những kit chuyên dụng để làm việc với các cảm biến như:dòng kit cho atmegaxx , dòng kit cho chip pic, dòng chip AVR
…
Figure 6: Kit Atmega16L
Figure 7: Kit Pic
Figure 8: Kit ARM9
Trang 19Sử dụng các kit này có độ tin cậy cao hỗ trợ tốt Nhứng với những kit này thì chúng ta cũng không thế sử dụng hết các chức năng của kit gây ra việc lãng phí trong việc sử dụng
Đối với module GPRS trên thị trường hiện nay cũng có nhiều hãng tung ra các sản phẩm mới về các module truyền nhận GPRS như simcom , wavecom, chip simen, freescale …
Figure 9: Kit SIM548
Figure 10: Wavecom Module
Figure 11: Kit Freescale
Trang 20Giải pháp thứ 3: thiết kế từ đầu đưa ra một module hoàn chỉnh chỉ sủ dụng phù hợp cho hệ thống này Giải pháp này là tối ưu nhất hoàn chỉnh cho hệ thống nhưng về mặt công nghệ và khả năng thì không cho phép thực hiện
Trong 3 phương án đề ra thì chúng em lựa chọn giải pháp thứ 2 xây dựng một phần cứng gồm hai module chính và vi điều khiển hoặc hơn và một module GPRS
Module về vi điều khiển
words of Flash Program Memory,
điều khiển
Địa chỉ, dữ liệu, điều khiển
Địa chỉ, dữ liệu, điều khiển
Table 1: Phương án vi điều khiển
Ở đây lựa chọn vi điều khiển atmega128L có 8 chân ADC và có 2 cổng Com cho phép giao tiếp với máy tính và có thể kết nối với một boad khác qua cổng Com Module GPRS:
Trong các hãng hỗ trợ module GPRS truyền dữ liệu Simcom , wavecom, chip simen, freescale … chúng em lựa chọn module GPRS của Simcom giá thành vừa phải,
dễ dàng sử dụng giao tiếp với các vi điều khiển
Để hai module trên hoạt động tốt và ổn định cần cung cấp một nguồn chuẩn cho
cả hai module trên Tính đến cả hai phương án sử dụng nguồn điện lưới 220V, và sử dụng pin phòng trường hợp nếu như bị mất điện
Trang 21CHƯƠNG 3: CƠ SỞ LÝ THUYẾT
1 Sơ lược về GPRS
Dịch vụ gói vô tuyến gói chung GPRS (General Packet Radio Service) là một công nghệ mới nhằm cung cấp những dịch vụ gói IP đầu cuối tới đầu cuối qua mạng GSM, cho phép triển khai và cung cấp những ứng dụng internet vô tuyến cho một số lượng lớn người sử dụng dịch vụ viễn thông di động
GPRS được phát triển dựa trên nền tảng của hệ thống mạng GSM Giải pháp GPRS của Ericsson được thiết kế để đẩy nhanh việc triển khai GPRS mà vẫn giữ cho chi phí đầu vào thấp Các khối chức năng của mạng GSM hiện nay chỉ cần được nâng cấp phần mềm, ngoại trừ BSC (Base Station Center) phải được nâng cấp phần cứng Hai nút mạng mới được giới thiệu, đó là SGSN (Serving GPRS Support Node) và GGSN (Gateway GPRS Support Node) nhằm bổ sung chức năng chuyển mạch gói bên cạnh chức năng chuyển mạch mạch của mạng
Figure 12: Cấu trúc GPRS được phát triển dựa trên mạng GSM
SGSN có nhiệm vụ tạo tuyến và quản lí địa chỉ IP SGSN cùng với các đầu cuối
Trang 22GGSN đóng vai trò kết nối các đầu cuối GPRS trong mạng đến các ISP (Internet Service Provider) bên ngoài, hoặc kết nối giữa các mạng GPRS với nhau
Các SGSN và GGSN liên kết với nhau và tạo thành một mạng IP xương sống làm nền tảng cho dịch vụ GPRS
Kết nối liên tục: GPRS là dịch vụ kết nối liên tục, mà không cần phải quay
số Đây không phải là một tính năng duy nhất có ở GPRS, nhưng sẽ không
có trở ngại nào để nó trở thành tính năng then chốt khi chuyển tiếp lên 3G
Nó giúp cho các thiết bị tiếp nhận các dịch vụ một cách tức thời
Các ứng dụng giá trị gia tăng mới và tốt hơn: Kết nối truyền dữ liệu tốc độ cao và liên tục cho phép các ứng dụng internet và các dịch vụ như hội thoại hình có thể được thực hiện trên các thiết bị di động hay chuyển tới máy PC
Chi phí đầu tư và vận hành: Các nhà cung cấp dịch vụ mạng di động không cần phải bắt đầu từ vạch xuất phát để có thể triển khai GPRS GPRS được nâng cấp từ mạng GSM đã có
Cước phí dịch vụ truyền tải dữ liệu bằng GPRS thường được tính trên lưu lượng truyền tải, trong khi đó phương pháp truyền thống sử dụng chuyển mạch kênh được tính dựa trên thời gian kết nối, không phụ thuộc vào việc người sử dụng đang truyền tải dữ liệu hay ở trạng thái nghỉ
1.1 Mô hình hệ thống thu thập dữ liệu qua mạng GPRS
Với tính năng kết nối với các hệ thống mạng bên ngoài thông qua GGSN, GPRS cho phép thiết lập một đường truyền từ đầu cuối thuê bao mạng GSM sử dụng dịch vụ GPRS đến một đầu cuối của các hệ thống mạng khác, qua đó cho phép thiết kế một hệ thống thu thập dữ liệu rất linh động
Trong các ứng dụng thông thường, việc phân tích, lưu trữ, vận hành dựa trên dữ liệu thu thập được từ các đầu cuối mạng GPRS sẽ được thực hiện bởi một máy tính, vì đây là các thao tác phức tạp và đòi hỏi nhiều tài nguyên Do đó việc thiết lập một liên kết giữa đầu cuối mạng GPRS và máy tính là cần thiết Với lợi thế về hệ thống cơ sở
Trang 23hạ tầng rộng khắp và khả năng truyền nhận dữ liệu tốc độ cao, đáng tin cậy, phương án tối ưu là liên kết thông qua Internet
Dữ liệu sẽ được trao đổi giữa đầu cuối thuê bao GPRS và máy tính thông qua các gói IP, và dựa trên các protocol TCP/UDP Tùy theo khả năng hỗ trợ của đầu cuối thuê bao GPRS có thể sử dụng các protocol ở các lớp ứng dụng cao hơn
Với các mô hình đơn giản, nhu cầu về xử lý dữ liệu không cao, có thể lựa chọn các phương án đơn giản hơn như:
Sử dụng dịch vụ SMS: không cần thông qua GPRS
Truyền nhận dữ liệu giữa các đầu cuối GPRS: phương án này hoàn toàn có thể thực hiện được, tuy nhiên tốc độ dữ liệu khá thấp, và làm tăng chi phí dịch vụ
Với đầu cuối mạng GPRS, có nhiều sản phẩm phù hợp với yêu cầu của hệ thống Điển hình là các modem GSM có hỗ trợ GPRS Thiết bị này được cung cấp bởi nhiều hãng, như Sony Ericsson, Nokia, Wavecom, SIMCOM, … Sản phẩm của SIMCOM (SIM300, SIM300CZ, …) được lựa chọn do các tính năng sau:
Hỗ trợ GPRS
Hỗ trợ khả năng truyền nhận dữ liệu TCP/UDP
Giá thành thấp
Thiết kế phần cứng đơn giản
Được điều khiển bằng tập lệnh AT, cho phép điều khiển dễ dàng
2 Giao thức TCP/IP
2.1 Tổng quát
Giao thức TCP/IP được phát triển từ mạng ARPANET và Internet và được dùng như giao thức mạng và vận chuyển trên mạng Internet TCP (Transmission Control Protocol) là giao thức thuộc tầng vận chuyển và IP (Internet Protocol) là giao thức thuộc tầng mạng của mô hình OSI Họ giao thức TCP/IP hiện nay là giao thức được sử dụng rộng rãi nhất để liên kết các máy tính và các mạng
Hiện nay các máy tính của hầu hết các mạng có thể sử dụng giao thức TCP/IP
để liên kết với nhau thông qua nhiều hệ thống mạng với kỹ thuật khác nhau Giao thức TCP/IP thực chất là một họ giao thức cho phép các hệ thống mạng cùng làm việc với nhau thông qua việc cung cấp phương tiện truyền thông liên mạng
2.2 Giao thức IP
Nhiệm vụ chính của giao thức IP là cung cấp khả năng kết nối các mạng con thành liên kết mạng để truyền dữ liệu, vai trò của IP là vai trò của giao thức tầng mạng
Trang 24trong mô hình OSI Giao thức IP là một giao thức kiểu không liên kết (connectionlees)
có nghĩa là không cần có giai đoạn thiết lập liên kết trước khi truyền dữ liệu
Sơ đồ địa chỉ hóa để định danh các trạm (host) trong liên mạng được gọi là địa chỉ IP 32 bits (32 bit IP address) Mỗi giao diện trong 1 máy có hỗ trợ giao thức IP đều phải được gán 1 địa chỉ IP (một máy tính có thể gắn với nhiều mạng do vậy có thể có nhiều địa chỉ IP) Địa chỉ IP gồm 2 phần: địa chỉ mạng (netid) và địa chỉ máy (hostid) Mỗi địa chỉ IP có độ dài 32 bits được tách thành 4 vùng (mỗi vùng 1 byte), có thể biểu thị dưới dạng thập phân, bát phân, thập lục phân hay nhị phân Cách viết phổ biến nhất
là dùng ký pháp thập phân có dấu chấm (dotted decimal notation) để tách các vùng Mục đích của địa chỉ IP là để định danh duy nhất cho một máy tính bất kỳ trên liên mạng
Ở đây ta xét cấu trúc của các lớp địa chỉ có thể gán được là lớp A, lớp B, lớp C Cấu trúc của các địa chỉ IP như sau:
Mạng lớp A: địa chỉ mạng (netid) là 1 Byte và địa chỉ host (hostid) là 3 byte
Mạng lớp B: địa chỉ mạng (netid) là 2 Byte và địa chỉ host (hostid) là 2 byte
Mạng lớp C: địa chỉ mạng (netid) là 3 Byte và địa chỉ host (hostid) là 1 byte Lớp A cho phép định danh tới 126 mạng, với tối đa 16 triệu host trên mỗi mạng Lớp này được dùng cho các mạng có số trạm cực lớn
Lớp B cho phép định danh tới 16384 mạng, với tối đa 65534 host trên mỗi mạng Lớp C cho phép định danh tới 2 triệu mạng, với tối đa 254 host trên mỗi mạng Lớp này được dùng cho các mạng có ít trạm
Figure 13: Cấu trúc các lớp địa chỉ IP
Trang 25Đơn vị dữ liệu dùng trong IP được gọi là gói tin (datagram), có khuôn dạng
Figure 14: Dạng thức của gói tin IP
2.3 Giao thức điều khiển truyền dữ liệu TCP
TCP là một giao thức "có liên kết" (connection - oriented), nghĩa là cần phải thiết lập liên kết giữa hai thực thể TCP trước khi chúng trao đổi dữ liệu với nhau Một tiến trình ứng dụng trong một máy tính truy nhập vào các dịch vụ của giao thức TCP thông qua một cổng (port) của TCP Số hiệu cổng TCP được thể hiện bởi 2 bytes
Figure 15: Cổng truy nhập dịch vụ TCP
Một cổng TCP kết hợp với địa chỉ IP tạo thành một đầu nối TCP/IP (socket) duy nhất trong liên mạng Dịch vụ TCP được cung cấp nhờ một liên kết logic giữa một cặp đầu nối TCP/IP Một đầu nối TCP/IP có thể tham gia nhiều liên kết với các đầu nối TCP/IP ở xa khác nhau Trước khi truyền dữ liệu giữa 2 trạm cần phải thiết lập một liên kết TCP giữa chúng và khi không còn nhu cầu truyền dữ liệu thì liên kết đó sẽ được giải phóng
Trang 26Các thực thể của tầng trên sử dụng giao thức TCP thông qua các hàm gọi (function calls) trong đó có các hàm yêu cầu để yêu cầu, để trả lời Trong mỗi hàm còn
có các tham số dành cho việc trao đổi dữ liệu
Table 2:Bảng liệt kê một vài cổng TCP phổ biến
3 Tập lệnh AT Command
Để nói chuyện với điện thoại di động bạn phải dùng một vài câu lệnh đặc biệt, đƣợc gọi là lệnh AT Bạn phải gửi những câu lệnh này thông qua cổng nối tiếp hoặc cổng IrDA (hồng ngoại) đến điện thoại và điện thoại sẽ trả lời bạn Nếu điện thoại hỗ trợ câu lệnh AT vừa nhận, nó sẽ gửi đến bạn một câu trả lời hợp lệ, ngƣợc lại nó sẽ gửi đến bạn một câu trả lời lỗi
Các thiết bị GSM chuẩn đƣợc điều khiển bằng tập lệnh AT thông qua giao diện kết nối nối tiếp Ngoài tập lệnh AT chuẩn bao gồm GSM07.05, GSM07.07 và ITU-T V.25, các thiết bị SIM300CZ và SIM548CZ đƣợc mở rộng thêm một số lệnh AT phát triển bởi nhà sản xuất SIMCOM
Trang 273.1 Cú pháp của lệnh AT
Các câu lệnh luôn bắt đầu với tiền tố “AT” hay “at”, và kết thúc bởi ký tự enter
<CR> (điều này là luôn bắt buộc)
Các lệnh AT thường được phản hồi lại bằng cấu trúc:
<CR><LF><phản hồi><CR><LF>
Các câu lệnh AT chỉ được thực hiện khi các thiết bị được cấp nguồn và sẵn sàng với mã thiết bị trả về “RDY” nhận được qua cổng nối tiếp Nếu mã trả về là “SCKS” báo hiệu không nhận dạng được thẻ SIM Lệnh hiện hành đang được thực thi sẽ bị ngắt bởi việc nhập vào bất cứ ký tự thêm nào Do vậy không nên nhập vào lệnh kế tiếp cho đến khi nhận được hồi đáp, nếu không lệnh hiện hành sẽ bị ngắt
Sử dụng một lệnh AT không được hỗ trợ bởi thiết bị sẽ nhận một hồi đáp lỗi Một vài tham số của lệnh có thể không được hỗ trợ trên tất cả các thiết bị cũng có thể gây ra một hồi đáp lỗi
Lệnh AT có thể khác nhau đối với từng loại thiết bị Sự khác nhau có thể về cú pháp, chức năng hoặc tham số trong câu lệnh
Các câu lệnh AT có thể chia làm 3 loại cú pháp chính: “cơ bản”, “tham số S” và
“mở rộng”
Cú pháp cơ bản
o Câu lệnh AT có cú pháp: “AT<x><n>” hoặc “AT&<x><n>”, trong đó
<x> là câu lệnh, <n> là một hay nhiều tham số của câu lệnh
Cú pháp tham số S
o Câu lệnh AT có cú pháp: “ATS<n>=<m>”, trong đó <n> là chỉ số trong tập S, <m> là giá trị gán cho nó <m> là tùy chọn, nếu thiếu, giá trị mặc định sẽ được sử dụng
Cú pháp mở rộng
o Các câu lệnh AT này có thể được sử dụng ở một vài chế độ theo bản dưới đây:
Trang 28Table 3: Cú pháp lệnh AT 3.2 Thực thi lệnh AT
Các lệnh AT có thể được kết hợp trong cùng một dòng lệnh hoặc thực hiện từng câu lệnh trên từng dòng riêng Khi kết hợp nhiều câu lệnh trên một dòng, chúng ta không cần thêm các tiền tố “AT” hay “at” trên mỗi câu lệnh, ngoại trừ ở đầu dòng lệnh Các câu lệnh cần được ngăn cách nhau bằng dấu chấm phẩy Mỗi dòng lệnh có
bộ nhớ đệm có khả năng chứa tối đa 256 ký tự Nếu dòng lệnh vượt quá giới hạn này,
sẽ không có lệnh nào được thực hiện và thiết bị trả về chuỗi “ERROR”
Khi thực hiện mỗi lệnh AT trên một dòng, chúng ta buộc phải đợi trả lời cuối cùng cho câu lệnh đó (ví dụ như OK, CME Error, CMS Error) trước khi gửi lệnh tiếp theo
4 Microsoft SQL Server
Cơ sở dữ liệu và quản trị cơ sở dữ liệu là một trong những vấn đề cốt lõi của tin học Khi ứng dụng một bài toán thì phải xét tới vấn đề xây dựng cơ sở dữ liệu và xây dựng thuật toán xử lý chúng Khi cơ sở dữ liệu càng lớn thì nhu cầu xử lý càng phức tạp Có nhiều phương án và công cụ để lưu trữ dữ liệu cho đề tài này nhưng Microsoft SQL Server được lựa chọn vì các nguyên nhân sau:
• Bài toán có kích thước lớn, phân tán và đa người sử dụng
• Microsoft SQL Server là hệ quản trị cơ sở dữ liệu hỗ trợ tốt với lượng dữ liệu lớn và cho phép ngưởi sử dụng theo mô hình Client/Server
• Microsoft SQL Server tiện ích trong việc phân tán dữ liệu nhanh
• Microsoft SQL Server hỗ trợ mạnh với dữ liệu phân tán
Trang 29Microsoft SQL Server chạy tốt trên các môi trường Win NT (Server) và Win 9.X, Win 2000 (Client),…
Microsoft SQL Server là một phần mềm tiện lợi và hiệu quả trong việc phát triển các ứng dụng SCDL lớn, thích hợp cho cơ quan, tổ chức, địa phương…
Microsoft SQL Server hỗ trợ trong quản lý xử lý đồng nhất, bảo mật dữ liệu theo mô hình Client/Server trên mạng
Với máy chủ có Microsoft SQL Server có thể quản trị nhiều Server với tên khác nhau (Các Server là hệ quản trị các cơ sở dữ liệu riêng của mình), và nhóm các Server (Server group)
Microsoft SQL Server lưu trữ CSDL trên các thiết bị khác nhau, mỗi thiết bị có thể nằm trên đĩa cứng, mềm, băng từ, có thể nằm trên nhiều đĩa
Microsoft SQL Server cho phép quản trị với tệp dữ liệu lớn tới 32 TB
Trang 30PHẦN 2: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
Hệ thống đặt ra cần quản lý tối đa 265 điểm đo, tại mỗi điểm đo có thể quản lý nhiều cảm biến theo chuẩn 1-Wire (Nhiều cảm biến trên cùng 1 đường bus của vi điều khiển, các cảm biến này có thể là cùng loại hay khác loại nhau) Trên 1 bus quản lý tối
đa 22 cảm biến
CHƯƠNG 1: THIẾT KẾ DỮ LIỆU
1 Phía Client
Modul Sim300CZ hỗ trợ truyền dữ liệu không dây qua GPRS với giới hạn là
160 kí tự hay tương đương 160 bytes trên 1 lần gửi dữ liệu dang Text về trung tâm Vì thế dữ liệu và số lượng thiết bị cảm biến phải được tính toán sao cho phù hợp nhất để
dữ liệu truyền về là tối đa và thỏa mãn điều kiện cho phép
Mỗi lần Client thu thập dữ liệu và truyền về trung tâm 1 gói dữ liệu có cấu trúc như sau:
Figure 16: Cấu trúc chung của gói dữ liệu
ID : là mã điểm đo được đính vào đầu gói tin chiếm 1 byte tương ứng với việc quản lý tối đa là 2^8 =256 điểm đo, lưu trữ trong bộ nhớ của vi điều khiển, mỗi lần dữ liệu đọc về từ các senser thì sẽ được kiểm tra xem sensor
đó ứng với điểm đo nào và sẽ được đính phần ID điểm đo vào phần đầu gói tin ứng với mỗi dữ liệu thu thập được Phần ID được phân cách với phần
DỮ LIỆU bằng dấu phẩy (,) có độ lớn là 1 byte Như vậy phần đầu của gói tin có dạng : ID,….-> chiếm 2 bytes
DỮ LIÊU : là phần chứa các thông tin về senser và thông số cần thu thập từ các sensor gửi về trung tâm Phần dữ liệu có cấu trúc như sau:
Trang 31Figure 17: Cấu trúc phần dữ liệu gửi về
Phần thông tin dữ liệu của mỗi cảm biến trong 1 gói tin truyền về được ngăn cách nhau bởi dấu phẩy (,) Trong mỗi cảm biến chứa thông tin chi tiết của cảm biến
đó có cấu trúc như sau:
Figure 18: Cấu trúc dữ liệu của 1 cảm biến
ID chủng loại cảm biến : chiếm 1 byte tương ứng với việc có thể phân biệt
256 loại cảm biến khác nhau trong trường hợp có nhiều loại cảm biến trên cùng 1 đường bus
ID cảm biến : chiếm 1 byte tương ứng với việc phân biệt 256 cảm biến cùng loại trên cùng 1 đường bus
Số liệu thu thập của cảm biến : mặc định là 12 bit nếu không cấu hình lại vì vậy chiếm 2 byte
Mỗi phần được ngăn cách với nhau bằng dấu hai chấm (:)
Như vậy theo phân tích thì 1 cảm biến sẽ chiếm 6 bytes cùng với 1 byte là dấu phẩy (,) ngăn cách giữa các cảm biến là 7 byte Từ đó có thể tính toán trên 1 đường bus
có thể đặt tối đa là 22 cảm biến
2.Phía Server
2.1 Cơ sở dữ liệu
Bài toán đưa ra yêu cầu :
Quản lý thông tin các điểm đo
Quản lý thông tin chi tiết các điểm đo
Tìm kiếm và thống kế báo cáo
2.2 Các bảng dữ liệu
Bảng Taikhoan : Lưu trữ toàn bộ thông tin tài khoản người dùng
Trang 32Tên trường Kiểu dữ liệu Ghi chú
Table 4: Bảng Tài khoản
Table 5: Bảng Loại cảm biến
Bảng Diemdo : Lưu trữ toàn bộ thông tin các điểm đo
Table 6: Bảng Điểm đo
Bảng Nhietdo : Lưu trữ toàn bộ thông tin về Nhiệt độ của các điểm đo
tham chiếu từ khóa chính bảng Diemdo
được tham chiếu từ khóa chính bảng Loaicambien
Table 7: Bảng Nhiệt độ
Trang 33 Bảng Apsuat : Lưu trữ toàn bộ thông tin về áp suất của các điểm đo
tham chiếu từ khóa chính bảng Diemdo
được tham chiếu từ khóa chính bảng Loaicambien
Trang 342.4 Nhận, bóc tách và lưu trữ dữ liệu trên Server
Phía Client gửi về cho Server một gói tin có cấu trúc như sau:
AA, BB:B1B1:YY, BB: C1C1:XX,………,PP: E1E1: ZZ Như ở phần thiết kế dữ liệu cho Client đã phân tích tổng quát cấu trúc gói dữ liệu, ở đây sẽ đưa ra một ví dụ cụ thể để dễ phân tích:
AA : là phần dữ liệu chứa mã điểm đo được đính vào đầu mỗi bản tin và ngăn cách với chuỗi dữ liệu đằng sau bởi dấu phẩy (,)
BB:B1B1:YY, BB: C1C1:XX,………,PP: E1E1: ZZ : là phần dữ liệu chứa toàn bộ thông tin của các cảm biến gửi về sau khi thu thập dữ liệu, dữ liệu của mỗi cảm biến được ngăn cách với nhau bằng dấu phẩy (,), mỗi phần trong dữ liệu của 1 cảm biến được ngăn cách với nhau bằng dấu hai chấm (:)
Công việc bên Server sau khi nhận được dữ liệu phải thực hiện bóc tách toàn bộ thông tin trong chuỗi nhận về để lưu vào cơ sở dữ liệu
Lấy phần ID điểm đo (trước dấu phẩy đầu tiên) đối chiếu với ngân hàng điểm
đo đã có trong cơ sở dữ liệu, nếu phù hợp thì bóc tách phần tiếp theo và cập nhật vào cơ sở dữ liệu Ngược lại thì báo lỗi
Tiếp tục bóc tách các phần dữ liệu được ngăn cách bằng dấu phầy (,) đưa vào các mảng tạm
Lấy dữ liệu từ các mảng tạm sau đó bóc tách tiếp, lấy các thông tin được ngăn cách bằng dấu hai chấm (:)
Đối chiều phần mã chủng loại cảm biến xem dữ liệu gửi về thuộc loại cảm biến nào thì cập nhật dữ liệu của loại đó vào đúng bảng lưu trữ trong cơ sở dữ liệu
Như vậy kết thúc qui trình cập nhật 1 gói dữ liệu gửi về từ bên Client
Trang 35CHƯƠNG 2: THIẾT KẾ PHẦN CỨNG (CLIENT)
1 Giới thiệu tổng quát về vi điều khiển Atemega 128
Atmega128 có các đặc điểm tiêu biểu:
Hiệu năng cao, tiêu thụ năng lượng ít
Kiến trúc RISC
133 lệnh mạnh, hầu hết các lệnh thực hiện trong một chu kì
32 thanh ghi 8-bit đa năng
Tốc độ thực hiện lên tới 16 triệu lệnh trong 1s với tần số 16Mhz
Có hai bộ nhân, mỗi bộ thực hiện trong thời gian 2 chu kỳ
Các bộ nhớ chương trình và dữ liệu cố định
128K bytes bộ nhớ flash có khả năng tự lập trình trong hệ thống có thể thực hiện được 10.000 lần ghi/xóa
Vùng mã Boot tùy chọn với những bit khóa độc lập
Lập trình in-system bởi chương trình on-chip Boot
4K bytes EEPROM có thể thực hiện được 100.000 lần ghi/xóa
4K bytes SRAM bên trong và cho phép mở rộng bộ nhớ RAM ngoài lên tới 64K bytes
Lập trình khóa an ninh phần mềm
Giao diện SPI cho phép lập trình in-system
Giao diện JTAG
Những ngoại vi tiêu biểu
2 bộ định thời/bộ đếm 8 bit với các chế độ tỉ lệ đặt trước và chế độ so sánh
2 bộ định thời/bộ đếm 16 bit với các chế độ định tỉ lệ đặt trước riêng biệt,chế
Bộ truyền tin nối tiếp USART khả trình
Giao diện nối tiếp 2 dây hướng tới byte TWI
Trang 36 Giao diện SPI chủ/ tớ
Watchdog Timer khả trình với bộ tạo dao động bên trong riêng biệt
Bộ so sánh tương tự
Các đặc điểm đặc biệt khác
Power on Reset và dò Brown out khả trình
Bộ tạo dao động RC được định cỡ bên trong
Các nguồn ngắt bên trong và bên ngoài
6 chế độ Sleep: Idle, ADC noise reduction, Power save, Power down, Standby, Extended standby
I/O và các kiểu đóng gói
1.1 Sơ đồ chân của Atmega128
Figure 20: Sơ đồ chân Atmega128
Trang 371.1.1 Port A (PA7…0)
Port A là cổng I/O 8-bit hai chiều với các điện trở pull-up bên trong (được lựa chọn cho mỗi bit) Bộ đệm đầu ra của Port A có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng A sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong được kích hoạt Các chân của Port A là 3 trạng thái khi
có tín hiệu reset được kích hoạt, thậm chí đồng hồ không chạy
Port A được sử dụng làm các đường địa chỉ thấp và dữ liệu khi giao tiếp với bộ nhớ ngoài theo bảng sau:
PA7 địa chỉ và dữ liệu bit 7 giao tiếp với bộ nhớ ngoài
PA6 địa chỉ và dữ liệu bit 6 giao tiếp với bộ nhớ ngoài
PA5 địa chỉ và dữ liệu bit 5 giao tiếp với bộ nhớ ngoài
PA4 địa chỉ và dữ liệu bit 4 giao tiếp với bộ nhớ ngoài
PA3 địa chỉ và dữ liệu bit 3 giao tiếp với bộ nhớ ngoài
PA2 địa chỉ và dữ liệu bit 2 giao tiếp với bộ nhớ ngoài
PA1 địa chỉ và dữ liệu bit 1 giao tiếp với bộ nhớ ngoài
PA0 địa chỉ và dữ liệu bit 0 giao tiếp với bộ nhớ ngoài
Table 9: Port A
1.1.2 Port B (PB7…0)
Port B là cổng I/O 8-bit hai chiều với các điện trở pull-up bên trong (được lựa chọn cho mỗi bit) Bộ đệm đầu ra của Port B có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng B sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong được kích hoạt Các chân của Port B là 3 trạng thái khi
có tín hiệu reset được kích hoạt, thậm chí đồng hồ không chạy
Port B được sử dụng với những chức năng bổ sung theo bảng sau:
đầu ra so sánh và đầu ra PWM C cho timer/counter1)
MISO(đầu vào chủ/đầu ra tớ bus SPI)
Trang 38PB2 MOSI(đầu ra chủ/đầu vào tớ bus SPI)
Table 10: Port B
1.1.3 Port C (PC7…0)
Port C là cổng I/O 8-bit hai chiều với các điện trở pull-up bên trong (được lựa chọn cho mỗi bit) Bộ đệm đầu ra của Port C có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng C sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong được kích hoạt Các chân của Port C là 3 trạng thái khi
có tín hiệu reset được kích hoạt, thậm chí đồng hồ không chạy
Port C được sử dụng làm các đường địa chỉ cao khi giao tiếp với bộ nhớ ngoài theo bảng sau:
Table 11: Port C
1.1.4 Port D (PD7…0)
Port D là cổng I/O 8-bit hai chiều với các điện trở pull-up bên trong (được lựa chọn cho mỗi bit) Bộ đệm đầu ra của Port D có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng D sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong được kích hoạt Các chân của Port D là 3 trạng thái khi
có tín hiệu reset được kích hoạt, thậm chí đồng hồ không chạy
Port D được sử dụng với những chức năng bổ sung theo bảng sau:
Trang 39PD4 ICP1(chân bắt giữ đầu vào timer /counter1)
có tín hiệu reset đƣợc kích hoạt, thậm chí đồng hồ không chạy
Port E đƣợc sử dụng với những chức năng bổ sung theo bảng sau:
Table 13: Port E
Trang 401.1.6 Port F(PF7…0)
Port F có chức năng làm đầu vào cho bộ chuyển đổi ADC tích hợp sẵn
Khi không đƣợc sử dụng với chức năng làm đầu vào của ADC, Port F cũng là cổng I/O 8-bit hai chiều với các điện trở pull-up bên trong (đƣợc lựa chọn cho mỗi bit)
Bộ đệm đầu ra của Port F có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng F sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong đƣợc kích hoạt Các chân của Port F là 3 trạng thái khi có tín hiệu reset đƣợc kích hoạt
Nếu giao diện JTAG đƣợc cho phép, thì các điện trở pull-up ở các chân PF7(TDI), PF5(TMS), PF4(TCK) đƣợc kích hoạt thậm chí khi RESET xảy ra
Port F đƣợc sử dụng với những chức năng bổ sung theo bảng sau:
JTAG)
Table 14: Port F
1.1.7 Port G(PG4…0)
Port G là cổng I/O 5-bit hai chiều với các điện trở pull-up bên trong (đƣợc lựa chọn cho mỗi bit) Bộ đệm đầu ra của Port G có đặc tính điều kiển cân đối với cả tín hiệu source và sink Khi là tín hiệu đầu vào, các chân của cổng G sẽ tiêu thụ dòng nếu các điện trở pull-up bên trong đƣợc kích hoạt Các chân của PortG là 3 trạng thái khi
có tín hiệu reset đƣợc kích hoạt, thậm chí đồng hồ không chạy
Port G đƣợc sử dụng với những chức năng bổ sung theo bảng sau: