Báo cháy và chống cháy qua mạng Internet
Xin chân thành cảm ơn
Các Thầy Cô Giáo trong nhà trường,
Nhất là quý thầy cô trong Khoa Công Nghệ
Thông Tin Trường Đại Học Bách Khoa Hà Nội,
Đại Học Thuỷ Sản
đã tận tình dạy dỗ em trong suốt 5 năm qua.
Xin bày tỏ lòng biết ơn sâu sắc Thầy
Đỗ Văn Uy, Người đã nhiệt tình
hướng dẫn, tạo mọi điều kiện thuận lợi
để em hồn thành quyển luận văn này.
Xin cảm ơn tất cả các bạn cùng công ty TQC
đã có ý kiến đóng góp,
giúp đỡ em trong lúc thực hiện luận văn này.
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.
Sinh Viên : Đỗ Trần Anh 1
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
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.
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.
Sinh Viên : Đỗ Trần Anh 2
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
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.
LỜI NÓI ĐẦU
Trong cuộc sống của chúng ta luôn tồn tại những khu vực dễ cháy, nên việc
lắp đặt hệ thống báo cháy có tầm quan trọng hết sức lớn lao. Nó giúp chúng ta phát
hiện nhanh chóng, chữa cháy kịp thời kỳ đầu của vụ cháy đem lại sự bình yên cho
mọi người, bảo vệ tài sản cho nhân dân, nhà máy xưởng sản xuất…
Ngày nay, việc phòng cháy chữa cháy trở thành mối quan tâm hàng đầu của
nước ta cũng như nhiều nước trên thế giới. Nó trở thành nghiã vụ của mỗi người
dân. Trên các phương tiện thông tin đại chúng luôn tuyên truyền giáo dục cho mỗi
người dân ý thức phòng cháy chữa cháy, nhằm mục đích hạn chế những vụ cháy
đáng tiếc xảy ra.
Cùng với sự phát triển nhanh chóng của hệ thống thông tin internet thì việc
báo cháy qua mạng internet ngày càng có khả năng áp dụng vào thực tiễn, nó giúp
ta báo kịp thời những thông tin về vụ cháy đến các cơ quan chức năng.
Sinh Viên : Đỗ Trần Anh 3
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
Xuất phát từ những ý tưởng trên, em chọn đề tài “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
phát hiện khói báo cháy còn phụ thuộc nhiều vào đầu dò khói ...Vì vậy có rất nhiều
khó khăn trong lúc thực hiện đề tài. Với thời gian ngắn nhưng lại có nhiều vấn đề
cần giải quyết, hơn nữa kiến thức người tìm hiểu đề tài có hạn, sinh viên thực hiện
đề tài chỉ tập trung giải quyết vấn đề sau:
-Báo động có cháy thông qua mạng khi có sự cố.
-Thực hiện đươc 2 chức năng là:
Tắt nguồn điện từ xa thông qua mạng .
Khởi động nguồn cho thiết bị chống cháy.
III. Chọn Phương Aùn Thực Hiện Đề Tài:
Với những yêu cầu đặt ra ở trên, em đã xem xét và đưa ra 3 phương án như sau:
- Sử dụng kỹ thuật số.
- Sử dụng kỹ thuật vi xử lý.
- Sử dụng kỹ thuật vi điều khiển.
Với những đòi hỏi của máy ta có thể đơn giản những hoạt động bằng kỹ thuật
số. Nhưng tốn kém linh kiện và kích thước cồng kềnh, hơn nữa khó thay đổi phần
mềm và không có khả năng mở rộng cho các hoạt động khác. Với kỹ thuật vi xử lý,
có thể khắc phục những yếu điểm của mạch số nhưng lại phức tạp trong việc thiết
kế phần cứng.
. Nếu sử dụng kỹ thuật vi điều khiển,giao tiếp theo xung với mạch thiết kế
thuần chất điện tử thì giá thành hạ và chất lượng của thiết bị phụ thuộc nhiều vào
phần mềm. Vì vậy em quyết định đi theo hướng này.
Sinh Viên : Đỗ Trần Anh 5
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
CHƯƠNG 2: Quy trình hoạt động từ một hệ thống báo cháy
I. Nguyên tắc báo cháy :
Khi một đám cháy xảy ra, ở những vùng cháy thường có những dấu hiệu
sau:
Lửa, khói, vật liệu chỗ cháy bị phá hủy.
Nhiệt độ vùng cháy tăng lên cao.
và với hệ số nhiệt âm. Điện trở giảm phi tuyến với sự tăng của nhiệt độ. Vì bản
thân là điện trở nên trong quá trình hoạt động Thermistor tạo ra nhiệt độ vì vậy gây
sai số lớn.
Thermo Couples:
Thermo Couple biến đổi đại lượng nhiệt độ thành dòng điện hay điện áp
DC nhỏ. Nó gồm hai dây kim loại khác nhau nối với nhau tại hai mối nối. Khi các
dây nối đặc ở các vị trí khác nhau, trong dây xuất hiện suất điện động. Suất điện
động tỉ lệ thuận với sự chênh lệch nhiệt độ giữa hai mối nối. Thermo couple có hệ
số nhiệt dương.
b. Cảm biến lửa:
Khi lửa cháy thì phát ra ánh sáng hồng ngoại, do đó ta sử dụng các linh
kiện phát hiện tia hồng ngoại để phát hiện lửa. Nguyên lý hoạt động là điện trở của
các linh kiện thu sóng hồng ngoại tăng, nó chuyển tín hiệu ánh sáng thu được thành
tín hiệu điện để báo động. Loại này rất nhạy đối với lửa. Tuy nhiên cũng dễ báo
động nhầm nếu ta để cảm biến ngồi trời hoặc gần ánh sáng bóng đèn tròn.
c. Cảm biến khói:
Thường cảm biến khói là bộ phân riêng biệt chạy bằng PIN được thiết kế
để lắp đặt trên trần nhà, trên tường. Ngồi yêu cầu kỹ thuật (chính xác, an tồn) còn
đòi hỏi phải đảm bảo về mặt thẩm mỹ. Có hai cách cơ bản để thiết kế bộ cảm biến
khói.
Cách thứ nhất sử dụng nguyên tắc Ion hóa. Người ta sử dụng một lượng
nhỏ chất phóng xạ để Ion hóa trong bộ cảm biến. Không khí bị Ion hóa sẽ dẫn điện
và tạo thành một dòng điện chạy giữa chạy giữa hai cực đã đợc nạp điệän. Khi các
phần tử khói lọt vào khu vực cảm nhận được Ion hóa sẽ làm tăng điện trở trong
buồng cảm nhận và làm giảm luồng điện giữa hai cực. Khi luồng điện giảm xuống
tới một giá trị nào đó thì bộ cảm biến sẽ phát hiện và phát tín hiệu báo động.
Cách thứ hai sử dụng các linh kiện thu phát quang. Người ta dùng linh kiện
phát quang (Led, Led hồng ngoại…) chiếu một tia ánh sáng qua vùng bảo vệ vào
một linh kiện thu quang (photo diode, photo transistor, quang trở…). Khi có cháy,
khói đi ngang qua vùng bảo vệ sẽ che chắn hoặc làm giảm cường độ ánh sáng
Ngồi các lệnh qui chiếu bộ nhớ, cũng như khả năng trao đổi dữ liệu giữa
thiết bị ngoại vi và hệ vi xử lý. Lúc đó vào ra được gán như một địa chỉ ô nhớ của
bộ nhớ. Các thanh ghi liên quan tới cổng vào ra được xem như ngăn nhớ. Khi bộ vi
xử lý gọi địa chỉ và xung điều khiển đọc hay viết bộ nhớ không cần xác định nơi
gởi là bộ nhớ hay thiết bị vào ra. Nó chỉ hỏi nơi gởi dữ liệu vào trong khoảng thời
gian cho phép. Bộ logic bên ngồi sẽ giải mã địa chỉ kết hợp với xung MR, MW, để
chọn thiết bị mà không phân biệt ngăn nhớ hay thiết bị vào ra.
2.Vào ra điều khiển bằng ngắt:
Với phương pháp điều khiển vào ra bằng chương trình, CPU phải liên tục
kiểm tra trạng thái của thiết bị ngoại vi đến khi sẵn sàng, đó là sự lãng phí thời gian
của CPU và chương trình dài và phức tạp. Khi bộ vi xử lý có nhiều thiết bị ngoại vi
CPU không đáp ứng yêu cầu của chúng. Có thể đáp ứng yêu cầu ngoại vi nhanh
chóng và không theo trình tự như định trước nhờ cơ cấu ngắt CPU.
Nhờ tính chất đáp ứng tức thời của vi xử lý khi có yêu cầu ngắt từ thiết bị
ngoại vi do đó các ngắt thường được dùng ở những trường hợp yêu cầu đap ứng
nhanh, thời gian trả lời ngắn, thực hiện ở bất kỳ thời điểm nào. Khi đó CPU phải
chuyển đến chương trình con, yêu cầu ngắt ở cuối bất kỳ lệnh nào trong chương
trình chính. Các chương trình con phục vụ ngắt có thể lưu trữ nội dung các thanh
ghi và khôi phục lại khi thực hiện xong chương trình phục vụ ngắt và trước khi trở
lại chương trình chính.
Giao tiếp với maý tính là trao đổi dữ kiện giữa một máy tính với một hay
nhiều thiết bị ngoại vi.
Theo tiêu chuẩn sản xuất, máy tính giao tiếp với người sử dụng bằng hai
thiết bị:
Sinh Viên : Đỗ Trần Anh 9
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
- Bàn phím để nhập dữ liệu
- Màn hình để hiển thị
Ngồi ra nhà sản xuất cho ta nhiều cách giao tiếp khác thông qua các port như
là 5, 6, 7 hoặc 8 bit và kết hợp với các bit Start, Stop, Parity tạo thành một khung
(frame). Ngồi ra cổng này còn có các điều khiển thu (Receive), phát (Trans), kiểm
tra. Cách giao tiếp này cho phép khoảng cách truyền dữ liệu xa, tuy nhiên tốc độ
truyền rất chậm tốc độ tối đa là 20kbps.
3.Giao tiếp qua cổng PRINT (Cổng máy in):
IBM PC cho phép sử dụng đến 3 cổng song song có tên là LP1, LP2 và LP3.
Kiểu giao tiếp song song được dùng để truyền dữ liệu giữa máy tính và máy in.
Khác với cách giao tiếp qua Port Com, ở cách giao tiếp này dữ liệu được truyền
song song cùng một lúc 8 bit. Vì thế nó có thể đạt tốc độ cao. Connector của Port
này có 25 chân bao gồm 8 chân dữ liệu và các đường tín hiệu bắt tay
(Handshaking ). Tất cả các đường Data và tín hiệu điều khiển đều ở mức logic hồn
Sinh Viên : Đỗ Trần Anh 10
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
tồn tương thích với mức TTL. Hơn nữa, người lập trình có thể điều khiển cho phép
hoặc không cho phép các tín hiệu tạo Interrupt từ ngõ vào nên việc giao tiếp đơn
giản và dễ dàng. Tuy nhiên, giao tiếp với mức logic TTL nên khoảng cách truyền
bị hạn chế so với cách truyền qua Port Com, đồng thời cáp truyền cũng phức tạp
hơn. Đó là nhược điểm của cách giao tiếp này.
Sinh Viên : Đỗ Trần Anh 11
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
Chương 2. Tìm hiểu về RS232.
Vào năm 1960, cùng với sự phát triển mạnh của các thiết bị đầu cuối máy
tính chia sẻ thời gian, các Modem đã được tung ra ngày càng nhiều nhằm đảm bảo
cho các thiết bị đầu cuối có thể dùng các đường điện thoại để thông tin giữa các
máy tính với nhau ở những khoảng cách xa. Modem và các thiêt bị được dùng để
gửi số liệu nối tiếp thường được gọi là thiết bị thông tin số liệu DCE
(Datommunication Equipment). Các thiết bị đầu cuối hoặc máy tính đang gửi hay
nhận số liệu được gọi là các thiết bị đầu số liệu DTE (Data Terminal Equipment).
RS232C
NAME
SIGNAL
DIRECTION
ON DCE
3
2
7
8
1
2
3
4
5
TxD
RxD
RTS
CTS
AA
BA
BB
CA
CB
-
IN
OUT
IN
OUT
6
5
OUT
IN
OUT
4
16
17
18
19
20
DTR
SBB
SCA
CD
OUT
OUT
-
IN
IN
9
21
22
23
24
25
CG
CE
CH/CI
DA
OUT
OUT
- TxD: Dữ liệu được truyền đi từ Modem trên mạng điện thoại.
- RxD: Dữ liệu được thu bởi Modem trên mạng điện thoại.
Các đường báo thiết bị sẵn sàng :
- DSR : Để báo rằng Modem đã sẵn sàng.
- DTR : Để báo rằng thiết bị đầu cuối đã sẵn sàng
- Các đường bắt tay bán song công.
- RTS : Để báo rằng thiết bị đầu cuối yêu cầu phát dữ liệu.
- CTS : Modem đáp ứng nhu cầu cần gửi dữ liệu của thiết bị đầu cuối cho
thiết bị đầu cuối có thể sử dụng kênh truyền dữ liệu. Các đường trạng thái
sóng mang và tín hiệu điện thoại:
- CD : Modem báo cho thiết bị đầu cuối biết rằng đã nhận được một sóng
mang hợp lệ từ mạng điện thoại.
- RI : Các Modem tự động trả lời báo rằng đã phát hiện chuông từ mạng điện
thoạïi địa chỉ đầu tiên có thể tới được của cổng nối tiếp được gọi là địa chỉ cơ
bản (Basic Address). Các địa chỉ ghi tiếp theo được đặt tới bằng việc cộng thêm
số thanh ghi đã gặp của bộ UART vào địa chỉ cơ bản.
- Mức tín hiệu trên chân ra RxD tùy thuộc vào đường dẫn TxD và thông thường
nằm trong khoảng –12 đến +12. Các bit dữ liệu được gửi đảo ngược lại. Mức
điện áp đối với mức High nằm giữa –3V và –12V và mức Low nằm giữa +3V
và +12V. Trên hình 2-4 mô tả một dòng dữ liệu điển hình của một byte dữ liệu
trên cổng nối tiếp RS-232C.
- Ở trạng thái tĩnh trên đường dẫn có điện áp –12V. Một bit khởi động (Starbit)
sẽ mở đầu việc truyền dữ liệu. Tiếp đó là các bit dữ liệu riêng lẻ sẽ đến, trong
đó các bit giá trị thấp sẽ được gửi trước tiên. Còn số của các bit thay đổi giữa 5
Sinh Viên : Đỗ Trần Anh 14
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
và 8. Ở cuối của dòng dữ liệu còn có một bit dừng (Stopbit) để đặt trở lại trạng
thái ngõ ra (-12V).
Địa chỉ cơ bản của cổng nối tiếp của máy tính PC có thể tóm tắt trong bảng
10
4µS
1.04ms
Hình 2: Dòng dữ liệu trên cổng RS 232 với tốc độ 9.600
baud
Báo cháy và chống cháy qua mạng Internet
plotter nhưng không thông dụng lắm bởi tốc độ truyền quá chậm. Đối với máy AT
cho ta hai ngõ giao tiếp COM1 và COM2. Trong một số card I/O ta có thể có đến 4
cổng COM.
Để giao tiếp nối tiếp với 2 ngõ COM này Bus hệ thống của CPU (Data Bus
và Address Bus) hãng IBM sử dụng hai Chip lập trình của Intel là 8250 UART
(Universal Asynchronus Receiver Transmitter). Địa chỉ theo bộ nhớ của hai Chip
này là 0040:0000 cho UART của ngõ COM1 và 0040:0002 cho UART của ngõ
COM2 (Địa chỉ logic do hệ điều hành chỉ định) và địa chỉ theo Port để truy xuất
khi sử dụng là 3F8-3FF cho COM1 và 2F8-2FF cho COM2.
Dữ liệu truyền qua cho Port COM dưới dạng nối tiếp từng Bit một, đơn vị
dữ liệu có thể là 5 Bit, 6 Bit hay 1 byte tùy theo sự cài đặt lúc khởi tạo Port COM.
Ngồi ra để truyền dữ liệu qua Port COM còn cần những tham số sau: Bit mở đầu
cho một đơn vị dữ liệu START Bit. STOP Bit (Bit kết thúc). Parity (Kiểm tra chẵn
lẻ). Baud Rate (Tốc độ truyền) tạo thành một Frame (Khung truyền).
Port COM là một thể khởi tạo bằng BIOS thông qua chức năng 0 của
Interrupt 14, nạp vào thanh ghi DX1 chỉ số chọn kênh (COM1 = 0, COM2
= 1). Thanh ghi AL được nạp vào các tham số của việc truyền dữ liệu.
A L D
7
D
6
D
5
D
0 1 : Odd (lẻ)
1 0 : Even (chẵn)
Bit D
5
D
6
D
7
: 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)
Sinh Viên : Đỗ Trần Anh 16
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
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.
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ó.
Sinh Viên : Đỗ Trần Anh 18
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
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
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.
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
đượ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.
Sinh Viên : Đỗ Trần Anh 21
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
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).
1. 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.
2. 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.
3. 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
đượ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.
4. 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.
5. 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.
Sinh Viên : Đỗ Trần Anh 23
MSSV: 8D15001
Báo cháy và chống cháy qua mạng Internet
- Trong chế độ đồng bộ, khối phát chèn thêm các ký tự SYNC. Những ký tự
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
Sinh Viên : Đỗ Trần Anh 24
MSSV: 8D15001
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:
Sinh Viên : Đỗ Trần Anh 25
MSSV: 8D15001