Đồ án Thiết bị báo cháy tự động và điều khiển chống cháy thông qua mạng internet với giá thành thấp phù hợp với hầu hết các kiến trúc mạng máy tính

MỤC LỤC

Phần 1 : Giới thiệu về đề tài

Chương I:Giới thiệu sơ lược về hệ thống báo cháy thông qua mạng internet dựa vào giao thức TCP/IP

I.Mục đích yêu cầu của đề tài.

II.Giới hạn của đề tài.

III.Các phương án thực hiện đề tài.

Chương II:Quy trình hoạt động của một hệ thống báo cháy

I.Nguyên tắc báo cháy.

II.Cấu trúc thuần tuý của một hệ thống báo cháy.

1.Cảm biến

a.Cảm biến nhiệt.

b.Cảmbiến lửa.

c.Cảm biến khói.

Phần 2:Kiến trúc hệ thống báo cháy điều khiển từ máy tính

Chương I.Lý thuyết về giao tiếp máy tính với thiết bị ngoại vi.

I.Các phương pháp điều khiển vào ra.

1.Vào ra điều khiển bằng chương trình.

2.Vào ra điều khiển bằng ngắt.

II.Các phương pháp giao tiếp với thiết bị ngoại vi.

1.Giao tiếp với máy tính thông qua slot card.

2. Giao tiếp với máy tính thông qua slot serial port.

3.Giao tiếp với máy tính thông qua printer port.

Chương II.Tìm hiểu về RS232C.

I.Đặc điểm kĩ thuật về điện của RS232C.

II.Các đường dữ liệu và điều khiển của RS232C.

III. Modem rổng của RS232C.

IV.Các IC kích phát thu của RS232C.

V.Minh hoạ thông tin nối tiếp bất đồng.

1.Lựa chọn cổng COM.

2.Hoạt động của cổng nối tiếp.

Chương 3.Lập trình điều khiển qua cổng COM viết bằng ngôn ngữ Visual Basic 6.0

I.Tại sao chọn ngôn ngữ Visual Basic 6.0.

II.Thư viện liên kết động Port.dll

III.Gọi hàm trong thư viện Port.dll từ Visual basic 6.0

Phần 3.Cơ sở lý thuyết về mạng và giao thức TCP/IP

Chương I.Các khái niệm cơ bản về mạng.

I.Mô hình mạng OSI, mô hình mạng TCP/IP.

1.Khái niệm mô hình mạng.

2.Mô hình mạng OSI.

3.Mô hình mạng TCP.

4.Giao thức TCP.

5.Địa chỉ IP.

a.Giới thiệu địa chỉ IP.

Chương II.Mạng Internet.

I. Internet bắt nguồn từ đâu.

II.Giao thức mà internet sử dụng.

III.Các dịch vụ kết nối đến internet.

Chương III.Một số hàm socket.

I.Khái niệm về socket.

II.Lập trình winsock.

Phần 4.Giớiù thiệu về chương trình minh hoạ báo cháy.

 

doc53 trang | Chia sẻ: lethao | Lượt xem: 2205 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Thiết bị báo cháy tự động và điều khiển chống cháy thông qua mạng internet với giá thành thấp phù hợp với hầu hết các kiến trúc mạng máy tính, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
y (chẵn lẻ) 0 0 : Không kiểm tra tính Parity 1 1 : Không kiểm tra tính Parity 0 1 : Odd (lẻ) 1 0 : Even (chẵn) Bit D5D6D7 : Cho biết tốc độ truyền (Baud Rate) 0 0 0 : Tốc độ truyền 110bps (bit per second) 0 0 1 : Tốc độ truyền 150bps (bit per second) 0 1 0 : Tốc độ truyền 300bps (bit per second) 0 1 1 : Tốc độ truyền 600bps (bit per second) 1 0 0 : Tốc độ truyền 1200bps (bit per second) 1 0 1 : Tốc độ truyền 2400bps (bit per second) 1 1 0 : Tốc độ truyền 4800bps (bit per second) 1 1 1 : Tốc độ truyền 9600bps (bit per second) III.Modem rỗng của RS232C Mặc dù chuẩn RS_232C của EIA được dành riêng để áp dụng kết nối giữa Modem với thiết bị đầu cuối, nhưng một thuê bao của RS_232C cũng thường được sử dụng khi hai thiết bị đầu cuối được nối với nhau, hoặc một máy tính và một máy in mà không sử dụng các Modem. Trong những trường hợp như vậy, các đường TxD và RxD phải được đặt chéo nhau và các đường điều khiển cần thiết phải được đặt ở TRUE hoặc phải được tráo đổi thích hợp bên trong cáp kết nối. Sự nối lắp cáp của RS232C mà có sự tráo đổi đường dây được gọi là Modem rỗng (null Modem). Cáp như vậy thích hợp để nối trực tiếp 2 thiết bị DTE qua các port RS232C. Hai sơ đồ có thể kết nối lẫn nhau được trình bày trong hính 2-5 và hình 2-6 chú ý rằng trong trường hợp đơn giản nhất chỉ cần kết nối 4 dây lẫn nhau, trong thực tế 2 đường dây đất (SIG GND 0 và CHAS GND) thường được kết hợp lại, mặc dù điều này không được đề cập tới. IV.Các IC kích phát và kích thu của RS232C: Nhờ tính phổ biến của giao tiếp, người ta đã chế tạo các IC kích phát và thu. Hai vi mạch như vậy được Motorola sản xuất là IC kích phát MC 1488 có dạng vỏ vuông. Và MC 1489.Mỗi IC kích phát 1488 nhận một tín hiệu mức TTL và chuyển thành tín hiệu ở ngõ ra tương thích với mức điện áp của RS232C. IC 1489 phát hiện các mức vào của RS232C và chuyển chúng thành các ngõ ra có mức TTL. V.Minh hoạ thông tin nối tiếp bất đồng: Đối với các máy PC, các cổng liên lạc nối tiếp (serial port) còn được gọi là các cổng COM. Hồn tồn có thể sử dụng các cổng này để kết nối máy PC với các máy tính khác, với các Modem, các máy in, máy vẽ, các thiết bị điều khiển, mouse, mạng … Tất cả các máy tính PC có khả năng làm việc tối đa là 4 cổng nối tiếp khi sử dụng các card giao tiếp I/O chuẩn. Các cổng nối tiếp thường được thiết kế theo các qui định RS-232 theo các yêu cầu về điện và về tín hiệu. BIOS chỉ hỗ trợ các cổng nối tiếp RS-232C. Còn các chuẩn khác như: RS-422, BiSync, SDLC, IEEE-488 (GPIB),… cần phải có các trình điều khiển thiết bị bổ sung để hỗ trợ. Tốc độ tối độ của cổng nối tiếp tùy thuộc vào bộ phát tốc độ Baud trong card giao tiếp cổng nối tiếp, phần mềm BIOS, và hệ thống có thể thực hiện chương trình BIOS nối tiếp nhanh đến mức nào. Ngồi ra, nếu hệ thống đang xử lý chương trình khác có độ ưu tiên cao hơn thì tốc độ tin cậy có thể bị suy giảm đáng kể. Hoạt động của cổng nối tiếp chủ yếu cũng được xử lý bởi 1 chip UART. Các thiết kế ban đầu đã sử dụng một chip NS-8250. Các thiết bị sau này chuyển sang một phiên bản CMOS, chip 1650, có chức năng hoạt động giống như 8250. Một số thiết bị mới sử dụng chip 16550 hay các biến thể khác nhằm bổ sung thêm việc đệm dữ liệu để giảm bớt gánh nặng cho CPU. Một phần của BIOS hệ thống (ngắt 14 h) cung cấp các dịch vụ để liên lạc với các card giao tiếp nối tiếp. Giống như các cổng song song, POST (Power on Self Test- chương trình của BIOS tự kiểm tra cấu hình hệ thống khi bật máy) kiểm tra xem liệu một cổng nối tiếp có được gắn vào hệ thống không, và ghi lại các địa chỉ I/O của các cổng hoạt động trong vùng dữ liệu của BIOS. Tất cả các hệ thống đến 4 cổng nối tiếp, BIOS không hỗ trợ các cổng bổ sung thêm khác. Để truy suất phần cứng của một cổng nối tiếp, cần đọc một trong 4 từ (word) trong vùng dữ liệu BIOS chứa địa chỉ I/O cơ sở đối với 4 cổng nối tiếp có thể có. Ví dụ: Để truy suất cổng nối tiếp số 2, trước tiên phải đọc địa chỉ cổng I/O cơ sở từ vùng dữ liệu BIOS. Điều này có nghĩa là một cởng nối tiếp không có địa chỉ cổng I/O cố định. 1. Lưạ chọn cổng COM: Mỗi cổng nối tiếp sử dụng 8 byte của bộ nhớ máy PC và một ngắt phần cứng đặc biệt. Việc sử dụng các địa chỉ bộ nhớ và ngăùt phần cứng này là điều quan trọng đối với người lập các chương trình liên lạc và các chương trình điều khiển thiết bị đối với các thiết bị nối tiếp. Bảng sau mô tả các địa chỉ bộ nhớ và các ngắt phần cứng đối với 4 cổng nối tiếp chuẩn cho các máy tính tương thích với máy tính PC. Thông tin quan trọng nhất ở đây là địa chỉ cơ sở, là địa chỉ bộ nhớ đầu tiên trong mỗi cổng COM (vùng đệm phát/thu – Transmit/ Receive Buffer) địa chỉ của đường yêu cầu ngắt (IRQ) đối với mỗi cổng. Một thiết bị nối tiếp chỉ có thể sử dụng một địa chỉ cổng COM. Khi cài đặt một Modem nội trong máy PC, hay bất kỳ thiết bị nào khác sử dụng cổng nối tiếp cho giao diện của nó, trước tiên phải đảm bảo rằng đã xác lập nó đối với một cổng COM (bao gồm địa chỉ và số IRQ). COM1 COM2 COM3 COM4 Mô tả IRQ4 3F8 3F9 3FA 3FB 3FC 3FD 3FE IRQ3 2F8 2F9 2FA 2FB 2FC 2FD 2FE IRQ4 3E8 3E9 3EA 3EB 3EC 3ED 3EE IRQ3 2E8 2E9 2EA 2EB 2EC 2ED 2EE Interrupt Request Line Transmit/Receive Buffer và LSB of the Divisor Latch Interrupt Enable Register và MSB of the Divisor Latch Interrupt Identification Registers Line Control Register Modem Control Register Line Status Register Modem Status Register 2. Hoạt động của cổng nối tiếp: Sự khởi động của BIOS. Sau khi bật máy (hay Reset máy), chương trình POST kiểm tra xem liệu có bất kỳ cổng nối tiếp nào được cài đặt hay không. POST khảo sát nhóm cổng I/O: 3F8 ¸3FEh. Để phát hiện một cổng hoạt động, thanh ghi IIR (Interrupt Identification Register) được đọc từ cổng 3FAh hay 2FAh. Nếu tất cả các bit từ 3¸7 của thanh ghi IIR đều là 0, thì POST xem như cổng nối tiếp có hoạt động. Một khi đã xác định được nhóm cổng I/O nối tiếp có hoạt động, địa chỉ cổng I/O cơ sở được lưu trữ trong vị trí BIOS RAM cổng nối tiếp chưa sử dụng thấp nhất. Có 4 từ được dành trong RAM bắt đầu tại địa chỉ 40:0h để chứa địa chỉ I/O của cổng nối tiếp có hoạt động. Nhiều POST của các hãng cung cấp máy sẽ không bao giờ kiểm tra các cổng COM3 và COM4, vì IPM không định nghĩa một địa chỉ cổng chuẩn cho các cổng này. Nói chung, hầu hết các hệ thống chỉ kiểm tra có 2 cổng. Tuy nhiên, các hệ thống cùng họ mới hơn thường kiểm tra 4 địa chỉ cổng có thể có. Các hệ thống MCA kiểm tra 8 địa chỉ cổng nối tiếp khác nhau có thể có trong một lần thử để tìm ra 4 cổng nối tiếp có hoạt động. Thứ tự kiểm tra Hầu hết hệ thống Một số hệ thống AT và EISA Các hệ thống MCA Thứ 1 Thứ 2 Thứ 3 Thứ 4 Thứ 5 Thứ 6 Thứ 7 Thứ 8 3F8 2F8 Không Không Không Không Không Không 3F8 2F8 Không Không Không Không Không Không 3F8 2F8 3220h 3228h 4220h 4228h 5220h 5228h Bảng trên mô tả thứ tự theo đó các BIOS sẽ tìm kiếm các cổng hoạt động. Chỉ cổng I/O cơ sở đối với mỗi nhóm được hiển thị trong bảng này. Trên hệ thống MCA, một khi 4 cổng đã được tìm thấy, các cổng khác không được kiểm tra nữa. Khi hồn tất các công việc kiểm tra POST nối tiếp, các địa chỉ cổng nối tiếp được cất giữ. Điều này thường tạo ra một trong 4 trường hợp được mô tả trong bảng sau: Địa chỉ RAM Cổng nối tiếp Trường hợp 1 Địa chỉ I/O Trường hợp 2 Địa chỉ I/O Trường hợp 3 Địa chỉ I/O Trường hợp 4 Địa chỉ I/O 40:0h 40:2h 40:4h 40:6h 1 2 3 4 3F8 2F8 0 0 3F8 0 0 0 2F8 0 0 0 0 0 0 0 Các kết quả POST có thể có về việc phát hiện cổng nối tiếp. Trường hợp 1 : Mô tả POST phát hiện 2 cổng nối tiếp. Trường hợp 2 và 3 : Cho thấy chỉ có một cổng nối tiếp được phát hiện. Trường hợp 4 : Cho thấy không phát hiện được cổng nối tiếp nào. Các phép thử này không khẳng định liệu có một thiết bị nối tiếp thực sự được nối với cổng I/O hay không. Phép thử chỉ kiểm tra xem liệu phần cứng cổng nối tiếp có tồn tại hay không tại một địa chỉ I/O cụ thể. Tổng số cổng nối tiếp hoạt động được phát hiện thấy (0 ¸ 4) được cất giữ trong byte thiết bị tại địa chỉ BIOS RAM 40:10h từ các bit 9 ¸ 11. Quá trình phát nối tiếp Để phát một byte trên đường dây kết nối nối tiếp, cổng được giả định là đã được khởi sự với tốc độ baud và các phần chọn khung (Frame) nối tiếp thích hợp. Chúng ta cũng giả định rằng các byte sẽ được phát đi trên cổng nối tiếp số 1 (COM1). Trước tiên, xác định địa chỉ cơ sở cổng I/O bằng cách đọc một từ (Word) từ vùng dữ lệu BIOS tại 40:OH đối với cổng nối tiếp COM1. Nếu trị = 0: Không có cổng nối tiếp hoạt động nào được gắn ở đây và dĩ nhiên không có dữ liệu nào được gửi đi. Hai đường điều khiển MODEM là DTR (DATA Terminal Ready) và RTS (Request to Send) được xác lập lên mức cao (DTR = 1, RTS = 1). DTR thông báo cho thiết bị kết nối biết rằng máy tính đang hoạt động và sẵn sàng để liên lạc. RTS báo cho thiết bị kết nối biết rằng máy tính muốn gửi dữ liệu. Hai đường này được kích khởi bằng cách ghi trị 3 thanh ghi MCR (MODEM control Regester) của UART. Kế đó, kiểm tra hai đường trạng thái CTS (Clear To Send). Những đường này nằm trong các bit 4 và 5 của thanh ghi MSR (MODEM Status Regester). DSR báo cho máy tính biết thiết bị kết nối đã được bật lên và sẵn sàng. CTS báo cho máy tính biết rằng thiết bị kết nối đã sẵn sàng đối với dữ liệu. Các đường trạng thái này nên được kiểm tra trong 2ms hay cho đến khi cả hai đều chuyển sang mức cao. Khi cả hai đường này đều ở mức cao, thiết bị được kết nối với cổng nối tiếp đã báo hiệu cho biết nó đã sẵn sàng cho một byte. Một lỗi đáo hạn (timeout error) được báo hiệu bởi phần mềm nếu một trong hai đường dẫn còn ở mức thấp lâu hơn khoảng 2ms. Đến đây thiết bị kết nối đã sẵn sàng tiếp nhận một byte, UART phải được kiểm tra xem liệu thanh ghi chứa dữ liệu phát THR (Transmit Holding Regester) đã sẵn sàng có một byte chưa. Thanh ghi LSR (Line Status Regester), bit 5, được xác lập lên mức cao khi thanh ghi chứa dữ liệu này trống rỗng và sẵn sàng cho một byte. Một lần nữa, giống ở bước 3 nếu thanh ghi THR không thể trở nên hữu dụng trong 2ms, thì phần mềm sẽ báo một lỗi đáo hạn, và bỏ qua việc phát đi. Nếu cho đến bây giờ chưa xảy ra việc đáo hạn, byte có thể được gửi đến thanh ghi chứa dữ liệu phát của UART. Sau đó, UART phát byte từ thanh ghi chứa dữ liệu phát vào thanh ghi dịch TSR (từ đây các bit dữ liệu được dịch ra và gửi đi), và tạo dạng khung nối tiếp. Quá trình nhạân nối tiếp. Để nhận 1 byte từ đường dây kết nối nối tiếp, cổng được giả định như trên (cho cổng COM3): Trước tiên, xác định địa chỉ cơ sở cổng I/O bằng cách đọc một từ (Word) từ vùng dữ liệu BIOS tại 40:4H đối với cổng nối tiếp COM3. Nếu trị = 0: Không có cổng nối tiếp hoạt động nào được gắn ở đây và dĩ nhiên không có dữ liệu nào được gửi đi. Hai đường điều khiển MODEM là DTR (DATA Terminal Ready) và RTS (Request to Send) được xác lập lên mức cao (DTR = 1, RTS = 1). Điều này thông báo cho thiết bị kết nối biết rằng máy tính đang hoạt động và sẵn sàng liên lạc. Điều này được thực hiện bằng cách ghi trị 1 các thanh ghi MMC của UART. Kế đó kiểm tra tín hiệu trên đường trạng thái DSR. Tín hiệu này xuất hiện trong bit 5 của thanh ghi MSR. DSR báo cho máy tính biết rằng thiết bị kết nối đã được bật lên và sẵn sàng. DSR sẽ được kiểm tra cho đến khi nó lên mức cao hay cho đến khi hết 2ms trước khi một lỗi đáo hạn được báo hiệu. Kế đó, vùng đêïm nhận được kiểm tra để xem dữ liệu đã nhận được dữ liệu nào chưa. Bit 0 của thanh ghi LSR chứa một cờ hiệu báo dữ liệu đã sẵn sàng. Nó được xét lên 1 khi vùng đệm có dữ liệu. Nếu cờ báo dữ liệu sẵn sàng không được xét sau 2ms, thì phần mềm sẽ khai báo một lỗi đáo hạn, và tác vụ bị bỏ qua. Nếu cho đến bây giờ chưa xảy ra việc đáo hạn, byte có thể được đọc từ vùng đệm nhận của UART. Trong chế độ bất đồng bộ, 8251 A dịch số liệu trên dây RxD từ bit một. Sau mỗi bit, thanh ghi thu được so sánh với thanh ghi chứa ký tự SYN. Nếu hai thanh ghi chưa bằng nhau thì 8251 A dịch bit khác và tiếp tục so sánh cho đến khi hai thanh ghi bằng nhau. 8251 A kết thúc chế độ bất đồng bộ và đưa tín hiệu SYNDET (Synch Detect) để báo đồng bộ đã hồn tất. Nếu USART được nạp từ điều khiển để làm việc với hai ký tự SYNC, quá trình bất đồng bộ cũng như trên. Nhưng hai ký tự kế tiếp nhau sẽ được so sánh với hai ký tự SYNC trước khi đạt được sự đồng bộ. Ở chế độ bất đồng bộ bit chẵn/lẻ sẽ không phải kiểm tra. USART ở chế độ đuổi bắt đồng bộ với hai điều kiện: USART được khởi động ở chế độ đồng bộ. USART đã nhận lệnh ở chế độ bất đồng bộ. Khối phát Khối này nhận số liệu song song từ đơn vị trung tâm, chèn thêm các thông tin rồi chuyển sang nối tiếp và gửi ra thân TxD (Transmiter DATA). Ở chế độ bất đồng bộ, khối phát chèn thêm bit START, bit kiểm tra chẵn lẻ paraty và một hay hai bit STOP. Trong chế độ đồng bộ, khối phát chèn thêm các ký tự SYNC. Những ký tự đồng bộ này phải được phát trước khi bản tin bắt đầu. Nếu trong khi phát có khoảng trống giữa hai ký tự thì USART tự động chèn các ký tự đồng bộ vào. Trong cả hai chế độ đồng bộ và bất đồng bộ, quá trình phát chỉ được cho phép khi tín hiệu TxE (Transmiter Enable) và tín hiệu CTS, ở trạng thái tích cực. Nếu USART được đặt ở chế độ đồng bộ từ ngồi, chân SYNDET sẽ là cửa vào và nhận tín hiệu để đồng bộ khi thu. Khối phát có thể gửi tín hiệu cắt (BREAK). Đó là một chu kỳ liên tục các bit SPACE trên đường dây liên tục và đưọc dùng ở chế độ truyền song công để cắt quá trình gửi thông tin ở đầu cuối. USART sẽ gửi tín hiệu cắt liên tục nếu bit D3 của byte lệnh được thiết lập Khối điều khiển Modem Khối này tạo và nhận tín hiệu RTS (Request to Send). Ngồi ra, còn có các tín hiệu ra DTR (Data Terminel Ready) và tín hiệu vào DSR (Data Set Ready). Đó là những tín hiệu vạn năng. Tín hiệu DTR điều khiển bởi bit D2 bởi byte lệnh. Tín hiệu DSR thể hiện ở bit D7 của thanh ghi trạng thái. USART không định nghĩa các tín hiệu này một cách cứng ngắc. Thông thường: Tín hiệu DTR qua Modem để chỉ rằng thiết bị đầu cuối sẵn sàng truyền. DSR là tín hiệu từ Modem để chỉ trạng thái sẵn sàng liên lạc. Khối điều khiển vào/ra Logic điều khiển đọc/ghi giải mã các tín hiệu điều khiển từ Bus điều khiển của đơn vị trung tâm thành những tín hiệu đều khiển các cổng dẫn số liệu đến Bus nội của USART. Bảng sau cho biết sự liên quan giữ các tín hiệu CE, C/D\ RD\ CE C/D\ RD\ WR\ Ý Nghĩa 0 0 0 0 1 0 1 0 1 x 0 0 1 1 x 1 1 0 0 x CPU đọc số liệu từ USART CPU đọc trạng thái từ USART CPU ghi số liệu vào USART CPU ghi lệnh vào USART Bus của USART ở trạng thái trở kháng cao Khối thu Khối thu nhận dữ liệu nối tiếp ở chân RxD và chuyển thành số liệu song song (P/PC). Trước khi bộ thu làm việc, bit D2 trong Command world của byte lệnh phải ở trạng thái cho phép. Nếu bit này không được lập, bộ thu sẽ không tạo ra tín hiệu RxRDI. Trong chế độ bất đồng bộ, 8251 A kiểm tra mức điện áp của đầu vào RxD. Khi có thay đổi mức logic từ 1 xuống 0, 8251 A khởi động bộ đếm thời gian trong khối thu khi đặt thời gian ½ bit, 8251 A kích mẫu đầu vào RxD. Tại thời điểm này có 2 trường hợp xảy ra: Nếu đầu vào RxD có mức logic cao thì sự thay đổi từ 1 xuống 0 ở RxD trước lúc kích mẫu là do nhiễu hay khối thu đã khởi động bộ đếm trong khi nhận bit số liệu. Như vậy có sai 8251 bỏ lệnh đang thực hiện và chuẩn bị ký tự mới. Nếu đầu vào RxD có mức logic thấp trong thời điểm kích mẫu. 8251 tiếp tục kích mẫu để nhận giá trị của các bit số liệu, bit kiểm tra chẵn lẻ và các bit dừng. Sau đó, 8251 tách các bit khung và chuyển số liệu qua Bus trong đến thanh ghi đệm số liệu thu. Tín hiệu RxRDI được tạo ra để báo cho trung tâm biết số liệu thu đã sẵn sàng. Trong chế độ đồng bộ, khối thu kích mẫu các bit số liệu của ký tự rồi đưa đến đệm số liệu thu và lập cờ RxRDI. Vì bộ thu nhóm một số bit thành ký tự nên được xác định bit số liệu đầu tiên là cần thiết. Để đồng bộ giữa bộ thu và bộ phát, nếu có trống trong dãy ký tự thì 8251 tự động chèn ký tự SYNC vào. Quá trình đồng bộ được thực hiện trong quá trình bất đồng bộ. Khối đệm vào ra Khối đệm vào ra chứa: Thanh ghi trạng thái, thanh ghi số liệu thu (thanh ghi đệm số liệu thu), thanh ghi số liệu phát và lệnh (thanh ghi đệm số liệu phát và lệnh). Như vậy, chỉ có một thanh ghi chứa thông tin chuyển từ đơn vị trung tâm vào USART. Thông tin này bao gồm số liệu và lệnh, do vậy phải có sự phân chia thời gian giữa lệnh và số liệu. Lệnh phải được gửi trước số liệu. Trước khi gửi số liệu vào USART. Đơn vị trung tâm phải kiểm tra tín hiệu sẵn sàng phát TxRDI. Nếu gửi thông tin khi TxRDI ở trạng thái chưa sẵn sàng số liệu chuyển đi có thể sai. CHƯơng 3 . Lập trình điều khiển qua cổng com VIẾT BẰNG v b6.0 I.Tại sao chọn ngôn ngữ lập trình Visual Basic 6.0: Do quá trình thiết kế thuần chất rất ít kiến thức về vi xử lý nên em quyết định chọn ngôn ngữ thực hiện là VB 6.0 với thư viện Port.dll thiết kế riêng dùng giao tiếp qua COM theo tiêu chuẩn RS 232. Đồng thời quá trình điều khiển qua mạng từ VB có thể dễ dàng sử dụng kĩ thuật lập trình Winsock với thư viện liên kết động là winsock32.dll sử dụng giao thức TCP / IP phổ biến hiện nay để điều khiển. II.Thư viện liên kết động port.dll: Thư viện liên kết động port.dll được viết bằng ngôn ngữ delphi với tên quy ước là PORT.DLL để chỉ rõ đối tượng ứng dụng là các cổng. Tập tin port.dll thực hiện chức năng mở rông ngôn ngữ để dùng chung cho các ngôn ngữ khác nhau. Các chức năng được thiết kế sẵn trong port.dll : Mở các giao diện. Truyền dữ liệu theo cách nối tiếp. Tiếp cận đến những đường dẫn ở giao diện. Nhập vào và xuất ra ở các cổng. Phát khoảng thời gian để có thời lượng chính xác đến từng mili giây. Phát khỏang thời gian để có thời lượng quét đến từng micro giây. Truy nhập tới card âm thanh. Truy nhập qua cổng trò chơi. III. Gọi hàm trong thư viện liên kết động port.dll từ Visual Basic 6.0: Phần lệnh được gọi khi chương trình chạy trong môi trường windows: Declare Function OPENCOM Lib "Port" (ByVal A$) As Integer Declare Sub CLOSECOM Lib "Port" () Declare Sub SENDBYTE Lib "Port" (ByVal b%) Declare Function READBYTE Lib "Port" () As Integer Declare Sub DTR Lib "Port" (ByVal b%) Declare Sub RTS Lib "Port" (ByVal b%) Declare Sub TXD Lib "Port" (ByVal b%) Declare Function CTS Lib "Port" () As Integer Declare Function DSR Lib "Port" () As Integer Declare Function RI Lib "Port" () As Integer Declare Function DCD Lib "Port" () As Integer Declare Sub DELAY Lib "Port" (ByVal b%) Declare Sub TIMEINIT Lib "Port" () Declare Sub TIMEINITUS Lib "Port" () Declare Function TIMEREAD Lib "Port" () As Long Declare Function TIMEREADUS Lib "Port" () As Long Declare Sub DELAYUS Lib "Port" (ByVal l As Long) Declare Sub REALTIME Lib "Port" (ByVal i As Boolean) PHẦn 3 CƠ Sở Lý Thuyết về MẠNG và Giao thức TCP/IP Chương I: Các Khái Niệm Cơ Bản Về Hệ Thống Mạng I. Mô hình mạng, mô hình OSI, mô hình TCP: 1 .Mô Hình Mạng: Trước tiên chúng ta cần tìm hiểu vấn đề: tại sao có sự phân tầng của các protocol, ích lợi của việc phân tầng. Để có thể chuyển một thông điệp (message) từ máy này sang máy khác (các máy phải trong cùng hệ thống mạng) nó phải trải qua nhiều giai đoạn khác nhau, các giai đoạn này rất phức tạp như là: chia nhỏ thông điệp (message) ra thành nhiều gói nhỏ (package), mã hóa các gói này ra dạng bit, các bit này được chuyển qua đường truyền vật lý đến máy nhận. Sau đó quá trình nhận sẽ thực hiện ngược lại như bên gởi, nếu quá trình lắp ghép gặp phải lỗi thì phải thông báo để truyền lại vv… Các giai đọan này rất phức tạp đòi hỏi người lập trình ứng dụng phải hiểu rõ tất cả các cơ chế hoạt động bên dưới của hệ thống. Vì vậy người ta đưa ra ý tưởng phân tầng, mỗi tầng sẽ chịu trách nhiệm cung cấp dịch vụ cho tầng bên trên và đồng thời nó cũng sử dụng dịch vụ của tầng bên dưới cung cấp cho nó. Như thế một người làm việc ở tầng nào họ chỉ quan tâm đến các tầng có quan hệ trực tiếp với mình. Layer N Layer N Layer N - 1 Layer N - 1 Host A Host B Protocol layer N Protocol layer N - 1 Layer 2 Layer 2 Layer 1 Layer 1 Protocol layer 2 Protocol layer 1 Hình 9 Trong mô hình này mỗi lớp n + 1 sử dụng dịch vụ của lớp n, cả hai host A và host B phải có cùng chồng giao thức(protocol stack). 2. Mô hình OSI: Application Layer Presentation Layer Datalink Layer Session Layer Transport Layer Network Layer Physical Layer Application Layer Presentation Layer Datalink Layer Session Layer Transport Layer Network Layer Physical Layer Host A Host B Hình 10: Mô hình OSI Ý nghĩa các tầng : Physical Layer Ở lớp này thông tin được truyền dưới dạng bit thông qua kênh truyền. Và nhận các bit chuyển lên cho lớp datalink. Datalink Layer Lớp này có nhiệm vụ chia nhỏ dữ liệu từ lớp network đưa xuống thành các frame, mỗi frame có dung lượng từ vài trăm byte đến vài ngàn byte. Các frame được truyền đi bằng cách chuyển xuống cho lớp physical. Nhiệm vụ thứ hai là tổ chức nhận các frame sao cho đúng thứ tự, cung cấp khả năng truyền không lỗi trên đường truyền vật lý cho các lớp cao hơn. Vấn đề đặt ra ở đây là phải xác định cơ chế để xác nhận một frame có truyền thành công hay không (Acknowladge Framje), xử lý nhiểu (truyền lại). Network layer Lớp này định hướng cho gói dữ liệu (package) đi từ máy gởi đến máy nhận. Phải giải quyết vấn đề định tuyến (routing), vấn đề địa chỉ (addressing), lượng giá chi phí (accouting), và giải quyết đụng độ (collision). Transport layer Lớp này có nhiệm vụ chia nhỏ gói dữ liệu được đưa xuống từ lớp bên trên thành những đơn vị nhỏ hơn để truyền qua mạng, với sự đảm bảo là dữ liệu đến nơi một cách chính xác. Lớp này cung cấp cho các lớp bên trên phương tiện để truyền các message độc lập với các lớp bên dưới. Session player Session layer điều khiển quá trình giao tiếp giữa hai tiến trình trên hai máy, tạo và kết thúc kết nối giữa các quá trình trên các máy khác nhau. Presentation layer Lớp này biểu diễn những thông tin được truyền (được hiểu là cú pháp và ngữ nghĩa), nó đồng nhất các thông tin giữa các các hệ thống khác nhau. Ngồi ra có còn cung cấp dịch vụ thao tác trên dữ liệu như nén, mã hóa(compression & cryptography). Application layer Đây là lớp cung vấp dịch vụ cho người sử dụng (end user), ứng với mỗi dịch vụ (còn được gọi là ứng dụng) có 1 protocol khác nhau. Ví dụ: FTP(truyền nhận file), HTTP, E-mai, v.v.. 3. Mô hìnhTCP/IP : Chúng ta đã khảo sát mô hình OSI 7 lớp, mô hình này chỉ là mô hình tham khảo, việc áp dụng mô hình này vào thực tế là khó có thể thực hiện (hiệu suất kém vì dữ liệu khi truyền từ máy này sang máy kia trong mạng thì phải trải qua tất cả các lớp của mô hình OSI ở cả 2 máy), nó chỉ là tiêu chuẩn để các nhà phát triển dựa theo đó mà phát triển các mô hình khác tối ưu hơn. Có rất nhiều các mô hình khác nhau, hiện nay mô hình TCP/IP được sử dụng phổ biến nhất. Application Presentation Physical Datalink Network Sesstion Transport OSI 7 6 3 4 2 5 1 Application Transport Internet Host-to-network TCP/IP Hình 11: Mô hình TCP/IP Bộ protocol TCP/IP bao gồm: TCP(Transmission Control Protocol): đây là loại protocol có cầu nối (connection oriented) cung cấp khả năng truyền dòng dữ liệu không lỗi, 2 chiều (full duplex)cho các quá trình cho người sử dụng. UDP(User Datagram Protocol): loại protocol không thiết lập cầu nối (connectionless) cho các quá trình của user. Không giống như TCP, nó không đảm bảo dữ liệu khi truyền đi có đến nơi chính xác hay không. ICMP (Internet Control Message Protocol): protocol xử lý lỗi và điều khiển thông tin giữa các gateway và các host. IP(Internet Protocol): IP là protocol cung cấp dịch vụ phân phối các package cho TCP, UDP và ICMP. ARP (Address Resolution Protocol): Protocol ánh xạ 1 địa chỉ internet thành địa chỉ phần cứng(MAC address). RAPR(Address Resolution Protocol): Protocol ánh xạ một địa chỉ phần cứng thành địa chỉ IP. Mô hình TCP/IP được phân ra thành 4 lớp, trong đó 2 lớp dưới (1 và 2)của mô hình OSI được gộp lại thành 1 lớp gọi là Host-to-network; 2 lớp Session và Presentation của OSI không có trong mô hình giao thức TCP/IP. Tương tự như mô hình OSI, trong mô hình TCP/IP, dữ liệu từ 1 máy cũng đi từ lớp Application xuống Transport, rồi xuống tiếp lớp Internet, sau cùng đi tới lớp Host-to-network, thông qua đường dây vật lý đến 1 máy khác trong mạng : dữ liệu ở đây sẽ đi ngược từ dưới lên. Cũng giống như mô hình OSI, ở đây, giữa các lớp của 2 máy giao tiếp với nhau thông qua một protocol; giữa lớp này với lớp khác trong cùng một máy gọi là Interface. Lớp bên dưới cung cấp các dịch vụ cho lớp trên. Host-to-network Kết nối host với network sao cho chúng có thể chuyển các message tới các địa chỉ đích, lớp này gần giống với lớp physical trong mô hình OSI. Internet layer Đây là lớp thực hiện một hệ thống mạng có khả năng chuyển mạch các gói dữ liệu dựa trên một lớp mạng Connectionless(không cầu nối) hay Connection – Oriented (có cầu nối) tùy vào loại dịch vụ mà người ta dùng một trong 2 cách trên. Nhiệm vụ của lớp này là đảm bảo cho các host chuyển các package vào bất kì hệ thống mạng nào và chuyển chúng đến đích mà không phụ thuộc vào vị trí của đích đến. Trong mô hình TCP/IP người t

Các file đính kèm theo tài liệu này:

  • docThiết bị báo cháy tự động và điều khiển chống cháy thông qua mạng internet với giá thành thấp phù hợp với hầu hết các kiến trúc mạng máy tính chạy the.doc