ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ phương pháp truyền thông, thuyết minh ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ SCADA, bộ điều khiển lập trình SCADA, Ngôn ngữ lập trình SCADA, Thực thi chương trình , LẬP TRÌNH SourceCode CHƯ[.]
ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ phương pháp truyền thông, thuyết minh ĐỒ ÁN TỐT NGHIỆP ĐIỆN TỬ SCADA, điều khiển lập trình SCADA, Ngơn ngữ lập trình SCADA, Thực thi chương trình , LẬP TRÌNH SourceCode CHƯƠNG I: Giới thiệu số phương pháp truyền thông A GIỚI THIỆU TỔNG QUÁT VỀ MẠNG MÁY TÍNH I. Tổng quát: Mạng máy tính là tập hợp máy tính nối với đường truyền vật lý theo kiến trúc Và ngày mạng máy tính trở thành lĩnh vực nghiên cứu phát triển ngày ứng dụng rộng rãi sống Đuờng truyền vật lý kiến trúc mạng: Đường truyền vật lý: Đường truyền vật lý dùng để truyền tín hiệu điện tử máy tính Các tính hiệu điện tử biểu thị giá trị liệu dạng xung nhị phân Tất tín hiệu truyền máy tính thuộc dạng sóng điện từ đó, trải từ tần số radio tới sóng cực ngắn(vi ba) tia hồng ngoại Tuỳ theo tần số sóng điện từ dùng đường truyền vật lý khác để truyền tín hiệu Các tần số radio truyền cáp điện ( dây đôi xoắn đồng trục ) phương tiện quảng bá (radio broadcasting) o Sóng cực ngắn (vi ba) thường dùng để truyền trạm mặt đất vệ tinh o Tia hồng ngoại lý tưởng nhiều loại truyền thông mạng Nó dùng để truyền hai điểm hay từ điểm đến nhiều máy thu o Khi xem xét lựa chọn đường truyền cần ý đến đặc trưng : giải thông , độ suy hao, độ nhiễm từ Kiến trúc mạng: Kiến trúc mạng máy tính thể qua cách nối máy tính với tập hợp quy tắc mà tất thực thể tham gia truyền thông mạng phải tuân theo mạng hoạt động tốt Cách kết nối máy tính gọi hình trạng(topology), quy tắc quy ước truyền thơng gọi giao thức (protocol) v Topology mạng : có hai kiểu nối mạng chủ yếu point-to-point quảng bá theo kiểu point-to-point, đưởng truyền nối thành cặp nút với nút có trách nhiệm lưu trữ tạm thời sau chuyển liệu đích Theo kiểu quảng bá, tất nút phân chia chung đường truyền vật lý Dữ liệu gởi từ nút tiếp nhận tất nút lại Nơi nhận kiểm tra xem địa đích gởi đến có phải hay khơng để tiếp tục thực việc giao tiếp hay không giao tiếp v Giao thức mạng : Việc truyền tín hiệu mạng cần phải tuân theo quy tắc, quy ước nhiều mặt, từ khuôn dạng (cú pháp, ngữ nghĩa) liệu tới thủ tục gởi, nhận liệu kiểm sốt có hiệu chất lượng truyền tin xử lý lỗi cố Tập hợp tất quy tắc gọi giao thức (protocol) mạng Phân loại mạng máy tính: Có nhiều cách phân loại mạng khác tuỳ thuộc vào yếu tố chính làm tiêu phân loại mạng Nếu lấy khoảng cách làm tiêu phân loại mạng ta có loại sau: v Mạng cục bộ: Là mạng cài đặt phạm vi tương đối nhỏ với khoảng cách lớn máy tính vài chục km trở lại Một mạng cục bao gồm phần cứng phần mềm Phần mềm bao gồm chương trình điều khiển hệ điều hành mạng Còn phần cứng bao gồm : o Máy chủ (File server-FS ) o Các trạm làm việc o Các thiết bị ngoại vi o Card mạng v Mạng đô thị: ( Metropolian Area Networds-MAN ) mạng sử dụng (cài đặt ) phạm vi thị hay trung tâm kinh tế –chính trị xã hội có bán kính phạm vi khoảng 100km trở lại v Mạng diện rộng: (Wide Area Networds-WAN ) Có phạm vi vượt biên giới quốc gia v Mạng toàn cầu: (Global Area Networds-GAN ) phạm vi mạng trải khắp bề mặt trái đất B Giao tiếp máy tính với ngoại vi: Như ta biết, để ghép nối với máy tính ta có ba khả để trọn: i. Ghép nối qua cổng máy in hay gọi cổng song song ii. Ghép nối qua rãnh cắm mở rộng mạch iii. Ghép nối qua cổng nối tiếp Mỗi phương pháp có ưu nhược điểm riêng lên đến tất phương pháp tồn Tùy theo kinh nghiệm , công việc khác mà ta có lưa trọn khác Ở phần em giới thiệu qua hai phương pháp đầu sâu vào phương pháp thứ ba I Cổng song song: 1. Cấu trúc cổng song song: Cổng song song có loại : Ổ cắm 36 chân O cắm 26 chân Ngày hầu hết máy tính PC trang bị cổng song song 25 chân nên ta cần quan tâm đến cổng 25 chân Ở dạng truyền song song, bit liệu truyền đồng thời đường khác Ưu điểm lớn việc truyền song song tốc độ truyền cao, đường dẫn tương thích TTL Nhược điểm dễ bị nhiễu 2. Sơ đồ chân: Bảng mô tả bố trí chân cổng nối với máy in: CHÂN KÝHIỆU CHIỀU MÔ TẢ 1 STROBE Lối ra BYTE in 2 9 D0 D7 Lối ra Đường liệu D0 D7 10 ACK Lối vào Acknowledge (Xác nhận) 11 BUSY Lối vào Logic 1: Máy in bận 12 PE Lối vào Hết giấy 13 SLCT Lối vào Select ( lựa chọn) 14 AF Lối ra Auto feed ( tự nạp) 15 ERROR Lối vào Error ( lỗi) 16 INIT Lối ra Logic 0: Đặt lại máy in 17 SLCTIN Lối ra Select in 18 25 GND Nối đất q Cổng nối với máy in hay thường gọi giao diện Centronics Cổng không nối với máy in mà ghép nối với thiết bị ngoại vi sử dụng máy tính vào mục đích đo lường điều khiển q Cổng có 25 chân Ngồi bit liệu cịn có đường dẫn tín hiệu khác, tổng cộng trao đổi cách riêng biệt với 17 đường dẫn, gồm 12 đường dẫn đường dẫn vào đường dẫn liệu D0 D7 đường dẫn hai chiều tất loại máy tính nên bảng mô tả xem lối Các lối kác STROBE, AUTOFED ( AF), INIT SELECT IN (SLCTIN) Khi trao đổi thông tin với máy in, đường dẫn có chức xác định Thí dụ, INIT = thực trình khởi động lại (Reset) máy in, cịn STROBE có nhiệm vụ ghi bit liệu gửi từ máy in xung Low vào nhớ máy in q Cổng máy in có đường dẫn lối vào, nhờ mà bắt (chéo) tay máy tính máy in thực Chẳng hạn, mà máy in khơng cịn đủ chỗ bộ nhớ máy in gửi đến máy tính bit trạng thái (BUSY = 1); điều có nhgĩa máy in thời điểm bận, không nên gửi thêm byte liệu khác đến nữa.Khi hết giấy máy in máy tính thơng báo PAPER EMPTY (PE) Đường dẫn lối vào ACKNOWLEDGE (ACK), SELECT (SLCT) ERROR Tổng cộng máy tính PC có lối vào hướng tới máy in 3. Sự trao đổi với đường dẫn tín hiệu: Các tín hiệu trao đổi qua cổng song song thơng qua ghi: q thanh ghi liệu q thanh ghi trạng thái q thanh ghi điều khiển Thanh ghi liệu Được định vị địa sở cổng Ở máy tính PC chế tạo gần đây, địa cổng máy in xếp sau: LPT1 (Cổng máy in thứ nhất) Địa = 378H LPT2 (Cổng máy in thứ hai) Địa = 278H Các địa cổng máy incủa máy tính PC đặt địa nhớ xác định đọc chương trình viết phần mềm Địa LPT1 giá trị 16 bit cất nhớ có địa 408H 409H, cịn 40AH 40BH chứa đụng địa LPT2 2 Rãnh cắm mở rộng: Rãnh cắm mở rộng nói đến Bus để sẵn mạch Từ trước đến có đến tám kiểu Bus mở rộng sử dụng cho máy tính cá nhân (gần có thêm bus AGV) Việc phân loại Bus mở rộng thường dựa sô bit liệu ,à chúng xử lý đồng thời Đó bus q Bus PC(còn gọi ISA bit) q Bus EISA(32 bit) q Bus VESA Local(32bit) q Bus SCSI(16/32bit) q Bus ISA(16bit) q Bus MCA(32 bit) q Bus PCI(32/64 bit) q Bus PC/MCA(16 bit) Tuy nhiên, nay, phần lớn card ghép nối dùng kỹ thuật đo lường điều khiển chế tạo theo tiêu chuẩn ISA v Rãnh cắm theo tiêu chuẩn ISA: CHƯƠNG II: Truyền Thông Qua Cổng Nối Tiếp I. Vài nét nguồn gốc : Sau thời gian lưu hành khơng thức, đến năm 1962, Hiệp hội Nhà Công nghiệp Điện Tử (EIA: The Electronics Industries Association) ban hành tiêu chuẩn RS-232 áp dụng cho cổng nối tiếp Các chữ RS viết tắt từ Recommended Standard(Tiêu chuẩn giới thiệu) Có phiên RS-232 lưu hành thời gian tương đối dài RS232B va RS-232C Cho đến RS-232C tồn mà quen gọi RS-232 Ngày nay, hầu hết máy tính trang bị hai cổng nối tiếp RS-232, tất có khả sử dụng RS-232, khả tùy chọn từ nhà sản xuất máy tính từ phía người sử dụng máy tính Từ chuẩn RS-232 ban đầu EIA đă phát hành thêm nhiều chuẩn truyền thông khác mang họ RS RS-422, RS-423, RS485, giao diện có ưu nhược khác mà tùy theo điều kiện sản xuất mà có áp dụng khác Do tất chuẩn tồn song song II Đặc tính chuẩn RS-232C, RS-422, RS-423, RS-485 : Bảng thông số: Thông số RS-232 RS-422 RS-423 RS-485 Cable Length(max) 15m (50ft) 1.2km (4000ft) 1.2km (4000ft) 1.2km (4000ft) Baud Rate (tốc độ baud) 20Kbps/15m 10Mbps/12m 1Mbps/120m 100Kbps/1.2m 100Kbps/9m 10Kbps/90m 1Kbps/1.2m 10Mbps/12m 1Mbps/120m 100Kbps/1.2km Mode Unbalanced Balance Differential Unbalanced Differential Balance Differential Driver No. 1 1 1 32 Receiver No. 1 10 10 32 Logic 0 +5+15 +2+5 +3.6+6 +1.5+5 Logic 1 -5-15 -2-5 -3.6-6 -1.5-5 Communiy 2V 1.8V 3.4V 1.3V Cable/Signal (Cáp /tín hiệu) 1 2 2 2 Methode (Phương thức) Simplex Half-Duplex Full- Duplex Simplex Half-Duplex Full- Duplex Simplex Half-Duplex Full- Duplex Simplex Half-Duplex Full- Duplex Short circuit Current 500mA 150mA 150mA 150mA Chuẩn RS-232C : Là chuẩn EIA ( Electronics Industries Association ) nhằm định nghĩa giao điện vật lý DTE ( Data terminal Equipment : thiết bị đầu cuối liệu ) DCE ( Data Communications Equipment : thiết bị cuối kênh liệu ) (ví dụ máy tính modem) Chuẩn sử dụng đầu nối 25 chân, nhiên có số chân cần thiết cho việc liên kết Về phương diện điện, chuẩn quy định mức logic mức logic tương ứng với mức điện áp nhỏ –3V lớn +3V Tốc độ đường truyền không vượt 20Kb/sản phẩm với khoảng cách 15m v Chuẩn RS-232 chấp nhận phương thức truyền song công (fullduplex) v Một yêu cầu quan trọng RS-232 thời gian chuyển từ mức logic sang mức logic khác không vượt 4% thời gian tồn bit Giả sử với tốc độ truyền 19200 baud thời gian chuyển mức logíc phải nhỏ 0.04/19200=2.1µs,điều làm giới hạn chiều dài đường truyền Với tốc độ 19200 baud ta có truyền tối đa 50ft (Gần 15.24m) Một vấn đề cần lưu ý sử dụng RS-232 mạch thu phát không cân ( đơn cực, tức điện áp vào so với đất ) Chuẩn RS-489 RS-423A : Vào năm 1978-1979, EIA đưa chuẩn giao tiếp để khắc phục nhượt điểm RS-232 RS-444 ( cân ) RS-423 (không cân bằng) Sự chọn lựa truyền cân không cân định tốc độ truyền tín hiệu Khi tốc độ truyền vượt 20Kbps hầu hết mạch sử dụng truyền cân bằng, ngược lại ta sử dụng truyền không cân Với chuẩn RS-449, tốc độ truyền 20Kbps Với chuẩn RS-423, tốc độ truyền lên tới 100Kbps khoảng cách truyền lên đến 1km Tiêu chuẩn sử dụng IC kích phát, thu MC3488 MC3486 Chuẩn RS-422A : Một cải tiến chuẩn RS-232 chuẩn RA-422A Với chuẩn độ lợi gia tăng sử dụng việc truyền tín hiệu sai biệt ( Differential data ) đường truyền cân Một liệu sai biệt yêu cầu hai dây, cho liệu không đảo (noninverted ), cho liệu đảo( inverted ) Dữ liệu truyền đường dây cân bằng, thường cặp dây xoắn với điện trở ở đầu cuối Một IC lái ( Driver ) biến đổi mức logic thông thường thành cặp tín hiệu sai biệt để truyền Một phận biến đổi tín hiệu sai biệt ngược lại thành mức logíc Dữ liệu nhận phần khác tín hiệu khơng đảo ( A ) tín hiệu đảo ( ) Chú ý khơng cần nối đất thiết bị thu thiết bị phát Các IC lái RS-422A hầu hết hoạt động với điện áp nguồn +5V chip logic Với chuẩn tốc độ truyền, khoảng cách truyền cải thiện nhiều Chuẩn RS-485 : Giao tiếp EIA RS_485 dựa chuẩn RS-422A , cải tiến chuẩn Đặc tính điện giống RS_422A RS-485 chuẩn truyền vi sai, sử dụng hai dây cân bằng, đạt tốc độ 10Mbps chiều dài truyền thơng lên tới 4000 feet (khoảng 1.2km) Điện áp vi sai ngõ khoảng +1.5 đến +5V logic “0” va từ –3V đến –1.5V cho mức logic “1” Một khác biệt quan trọng RS-485 cung cấp đến 32 drivers Và 32 reicever đường truyền Điều cho phép tạo mạng cục Để có khả ngõ driver RS-485 ngõ trạng thái Nó mức tổng trở cao để bus khơng bị chập có driver truyền Card giao tiếp RS_485 với PC chế tạo sẳn sử dụng kết nối DB9 chuẩn RS-422A Trên car có tín hiệu điều khiển để treo ngõ driver lên mức tổng trở cao nhường đường truyền cho driver khác Thơng thường người ta dùng tín hiệu DTR để làm việc đường tín DTR khơng dùng để giao tiếp bên Đồng thời giao thức mềm đựơc sử dụng để xác định địa driver phép truyền thời điểm, driver trạng thái tổng trở cao Chuẩn RS-485 thường dùng mạng có quan hệ Master-Slave Chỉ có trạm Master ( điều khiển mạng ), trạm khác Slave Master tryuyền lúc nào, định Slave giao tiếp với thời điểm Slave truyền nhận lệnh thích hợp từ Master Mỗi Slaver có địa đường truyền không phép truyền không Master yêu cầu III. Các phương pháp truyền thông : Đơn công :( Simplex Communication ) truyền thông chiều, liệu truyền theo chiều từ máy tính tới thiết bị ngoại vi mà khơng có chiều ngược lại Máy tính Ngoại vi v Truyền thông : Hầu hết máy tính lưu trữ thao tác lưu trữ liệu theo kiểu song song Nghĩa gởi byte từ phận tới phận khác máy tính, khơng phải truyền bít mà truyền đồng thời nhiều bít mạch dây song song Số bit gởi lúc thay đổi tuỳ theo loại máy tính khác thường bội Vì máy tính làm việc thường nhiều byte lúc, byte Nhưng truyền thơng từ máy tính đến máy tính khác hay thiết bị ngoại vi làm tuần tự, liệu gởi bit Bộ giao tiếp nhận byte mạch dây song song gởi bít cách riêng biệt Dữ liệu đường truyền trạng thái điện dương( MARK ) hoặc điện âm ( SPACE ) Bất kỳ liệu truyền nào, trước tiên phải chuyển thành dãy thứ tự MARK SPACE, MARK tương ứng với logic 1, SPACE tương ứng với logic Có hai hình thức truyền thơng v Truyền thông bất đồng : ( Asynchronous Communication ) Ký tự truyền theo Frame, frame gồm start bit, bít liệu ký tự truyền, parity bit ( để kiểm tra lỗi đường truyền), stop bit Xử lý truyền nhận liệu theo phương thức sử dụng vi mạch thu phát không đồng vạn UART ( Universal Asynchronous Receiver Transmitter ) Nhượt điểm phương pháp tốc độ truyền chậm phải truyền thêm bit start , bit stop, parity Muốn loại bỏ bit để nâng cao số bit liệu truyền, người ta sử dụng phương thức truyền liệu đồng (Synchronous ) Start D0 D1 D2 D3 D4 D5 D6 D7 Parity Stop Stop Trạng thái o Hình vẽ minh họa giao thức truyền liệu không đồng ( Asynchronouns Transmission Protocol) Nếu kênh truyền khơng có ký tự truyền , mức cao Khi có ký tự truyền, kênh truyền hạ xuống mức thấp ( Start bit ) để báo cho phía thu có ký tự truyền tới, tiếp bít ký tự ( 5,6 ,7 hay bit – ví dụ bit ) o Để kiểm tra lỗi đường truyền người ta sử dụng bít chẳn lẻ ( parity bit ), tức kiểm tra chẳn lẻ số bit Nếu kiểm tra chẳn, nghĩa tổng số bit ký tự ( từ D0 D7 ) bít chẳn lẻ phải chẳn Ngược lại kiểm tra số bit ký tự lẻ bit chẳn lẻ phải lẻ Bit stop sử dụng để báo cho phía thu biết việc truyền ký tự kết thúc Số bit stop thường dùng 1, 1.5, bit Như phương pháp truyền bất đồng bộ, bit liệu đóng khung với bit start, stop, bit parity tạo thành Frame v Truyền thông đồng : ( Synchronous communications ) Phương thức truyền không dùng bít start, stop để đóng khung ký tự mà chèn ký tự đặc biệt SYN ( Synchronization ), EOT ( End of Transmission ) cờ liệu người sử dụng để báo hiệu cho người nhận liệu biết liệu đến Truyền thông đồng thường tiến hành với tốc độ 4800bps, 9600bps chí cịn cao Trong phương pháp này, đồng bộ, Modem tiếp tục gởi ký tự để trì đồng bộ, lúc khơng phát liệu Một ký tự IDLE gởi khơng có liệu phát Phương pháp truyền đồng khác phương pháp truyền bất đồng khoảng thời gian truyền hai ký tự giống Truyền đồng đòi hỏi xung clock máy thu phát phải trì đồng khoảng thời gian dài Trong phương pháp truyền đồng ký tự truyền kèm theo ký tự đồng SYN (mã ASCII 22 ) Xử lý truyền nhận vi mạch USART ( Universal Synchronous Asynchronous Receiver Transmitter ), vi mạch cho phép hoạt động hai chế độ truyền SOH Header SXT Text EXT BCC Thông tin điều khiển dữ liệu o SOH (Start of header ) : Phần bắt đầu đơn vị thông tin chuẩn o SXT ( Start of text ) : Chỉ kết thúc header bắt đầu phần liệu o EXT (End of text ): ký tự kết thúc phần liệu hay văn o BCC ( Block check character ) : ký tự kiểm tra khối o TEXT : thân liệu hay văn o HEADER : phần đầu CHƯƠNG III: Vi mạch UART ( Universal Asynchronous Receiver ) 8250A, 16450 I. Địa Port IRQs: Bảng địa PORT tiêu chuẩn : trình bày : Tên Địa chỉ IRQ COM 1 3F8H 4 COM 2 2F8H 3 COM 3 3E8H 4 COM4 2E8H 3 Ở bảng địa chuẩn Nếu có vấn đề thu phát sử địa cổng Com xem từ vùng hệ thống BIOS 2. Bảng địa cổng Com vùng liệu BIOS : trình bày Địa Chức năng 0000:0400 Địa 0000:0402 Địa 0000:0404 Địa 0000:0406 Địa cua cua cua Com Com Com Com 1 2 3 4 Bảng trình bày cổng Com mà tìm thấy vùng liệu BIOS PC Mỗi địa gồm hai Byte II. Tổng quan : Vi mạch 8250A ( 16450 ) Intel UART dùng rộng rãi PC UART 8250A có chức sau: v Biến đổi liệu song song từ CPU thành dạng nối tiếp để truyền đi, đồng thời thu dòng liệu nối tiếp đổi chúng thành ký tự song song. Sau gởi đến vi xử lý (µp) v Thêm bit Start, stop, parity vào ký tự trước phát tách bit khỏi ký tự nhận v Bảo đãm bit kỳ tự truyền với tốc độ lập trình trước, kiểm tra để phát lỗi tương ứng : lỗi ký tự, lỗi parity o Set tín hiệu bắt tay phần cứng thích hợp cho biết trạng thái tín hiệu 1. Các ghi UART : v Các ghi điều khiển (Control Register : CR ) nhận lệnh từ CPU o Thanh ghi điều khiển đường truyền ( Line Control Register : LCR ): dùng để đặt thông số truyền o Thanh ghi điều khiển Modem ( Mode Control Register : MCR ) : điều khiển tín hiệu bắt tay gởi từ UART o Thanh ghi cho phép ngắt ( Interrupt Enable Register : IER ) : v Thanh ghi trạng thái ( Status Register : SR ) : thông báo cho CPU biết hoạt động UART o Thanh ghi trạng thái đường truyền ( Line Status Register : LSR ) : chứa thông tin truy xuất liệu o Thanh ghi trạng thái Modem ( Modem Status Register : MSR ) : chứa thông tin trạng thái đường bắt tay o Thanh ghi định danh ngắt ( Interrupt Identification Register : IIR ) : chứa thông tin trạng thái ngắt gởi đến v Thanh ghi đệm ( Buffer Register : BR ) : phục vụ cho việc trao đổi liệu o Thanh ghi giữ phát ( Transmitter Holding Register : THR ) : giữ liệu trước phát o Thanh ghi đệm thu ( Receiver Buffer Register : RBR ) : giữ kí tự thu sau o Ở bảng địa ( 2F8H, 3F8H, 2E8H, 3E8H ) tuỳ theo cách chọn người lập trình Địa nền DLAB A2 A1 A0 Chọn ra +0 0 0 0 0 Thanh ghi đệm thu (RBR ), ghi giữ phát (THR) +1 0 0 0 1 Thanh ghi cho phép tạo yêu cầu ngắt (IER). +0 1 0 0 0 Thanh ghi cho số chia phần thấp (LSB). +1 1 0 0 1 Thanh ghi cho số chia phần cao (MSB). +2 +3 +4 +5 +6 +7 X X X X X 0 0 0 1 1 1 1 1 0 0 1 0 1 0 1 0 Thanh Thanh Thanh Thanh Thanh ghi ghi ghi ghi ghi nhận dạng nguồn gốc yêu cầu ngắt(IIR). điều khiển đường dây (LCR ). điều khiển Modem (MCR ). trạng thái đường dây(LSR ). trạng thái Modem ( MSR ). 1 1 1 Thanh ghi nháp (dành cho CPU, sử dụng ). · Trong bảng bạn phải ý cột DLAB Khi DLAB đặt lên hoặc1 vài ghi thay đổi Có thể thấy này, UART cho phép 12 ghi, có port địa DLAB dùng truy cập bit chốt chia, DLAB đặt lên1 ghi điều khiển đường truyền (bit thứ cùa ghi này), hai ghi trở nên có giá trị ( Divisor Latch Low Byte : Reg+0, Divisor Latch High Byte : Reg +1 ), sau dùng hai ghi dùng cho việc đặt tốc độ truyền thơng Ví dụ sau : Tốc độ ( Baud ) Divisor Byte chốt chia cao(DLHB) Byte chốt chia thấp(DLLB) 50 2304 09H 00H 300 384 01H 80H 600 192 00H C0H 2400 48 00H 30H 4800 24 00H 18H 9600 12 00H 0CH 19200 6 00H 06H 38400 3 00H 03H 57600 2 00H 02H 115200 1 00H 01H 3. Vi mạch 8250A thể hình vẽ dưới: Vi mạch 8250A có tín hiệu chọn chip để tạo điều kiện thuận lợi cho người sử dụng việc giải mã địa Các chân địa A1, A2, A0, giúp ta chọn ghi bên UART ( xem bảng dưới) CHƯƠNG V: Giao Tiếp Máy Tính Với Vi Xử Lý I. Truyền nhận qua cổng nối tiếp : Việc truyền nhận qua cổng nối tiếp thực UART Nguyên tắc cho chip UART hoạt động sau: v Để truyền ký tự, ký tự đưa vào ghi đợi truyền ( Transmit Holding Register ), sau đưa qua ghi dịch phát ( transmit Shift Register ) Sau ký tự trước truyền xong, bit ký tự đươc truyền dịch vào kênh liệu v Khi nhận ký tự, bit nạp vào ghi dịch thu ( Transmit Shift Register), sau chúng đưa vào ghi liệu thu ( Receive Data Register ) sau loại bỏ bit start, stop, parity v Để thực việc truyền liệu qua cổng nối tiếp ta phải thực bước sau: o Chọn cổng truyền Com 1, hay Com Địa Com thường 3F8H, Com 2E8H Đối với số loại máy tính địa cổng Com vào BIOS để set lên, nên viết chương trình truyền cần vào BIOS để xem địa cổng Com cụ thể Nếu ta chọn COM 3F8 H, Com 2F8 H địa ghi khác là: Thanh ghi Địa Com 1 Địa Com 2 Data register 3F8H 2F8H Interrupt enable register 3F9H 2F9H Interrupt identification register 3FAH 2FAH Line control register 3FBH 2FBH Modem control register 3FCH 2FCH Line status register 3FDH 2FDH Modem control register 3FEH 2FEH o Đặt tốc độ baud o Đặt cấu hình truyền : data bit, stop bit, parity (em chọn bit data, bit stop, khơng có parity) o Cho phép ngắt sử dụng v Để thực việc truyền liệu trước hết phải khởi động cổng COM, sau thực việc truyền phát với chương trình truyền phát trình bày dược viết theo kiểu API: o Chương trình khởi động cổng COM: Chọn Com với đia 2F8H để thực việc truyền liệu Cần ý đến Bit DLAB (………………………………………………………………………….) const pathsl ='c:\my documents\delphi\'; com2=$2F8; Reg2F8=com2+0; Reg2F9=com2+1; Reg2FA=com2+2; Reg2FB=com2+3; Reg2FC=com2+4; Reg2FD=com2+5; (………………………………………………………………………….) procedure Tform2.Initcom; begin xuat(Reg2FB,$80);{DLAP=1} xuat(Reg2F8,$30);{baudrate=2400} xuat(Reg2F9,$00);{khong su dung ngat} xuat(Reg2FB,$03);{8 bit data, bit stop, no parity} end; (………………………………………………………………………….) o Nhập liệu với hàm nhập viết pascal (………………………………………………………………………….) function Tform2.nhap(addr:word):byte; var TEMP : byte; begin asm PUSH Ax PUSH DX MOV DX,addr IN AL,DX MOV TEMP,AL POP AX POP Dx end; (………………………………………………………………………….) o Xuất liệu với hàm xuat: (………………………………………………………………………….) procedure Tform2.xuat(addr:word;data:byte); begin asm PUSH AX PUSH DX MOV DX,addr MOV AL,DATA OUT DX,AL POP AX POP DX end; end; (………………………………………………………………………….) o Trong việc truyền liệu sử dụng tín hiệu RTS, CTS … cần phải viết chương trình cho chúng Trong việc truyền tín hiệu cho đề tài em có sử dụng tín hiệu RTS, viết sau: (………………………………………………………………………….) procedure Tform2.setRTS; var a: byte; begin a:=nhap(Reg2FC); a:=a or $02; xuat(Reg2FC,a); end; procedure Tform2.RESETRTS; var a : byte; begin a:=nhap(Reg2FC); a:=a and $FD; xuat(Reg2FC,a); end; (………………………………………………………………………….) v Có hai phương pháp để điểu khiển việc thu phát liệu qua UART: phương pháp hỏi vịng phương pháp tạo trình điều khiển tạo ngắt Phương pháp hỏi vòng chờ liệu nhận xong phát xong, tốc độ chậm khoảng 34.8 Kbps o Phát ký tự: Với phương pháp hỏi vòng, gởi ký tự ta phải kiểm tra xem ghi đợi truyền có rỗng hay khơng cách xem Bit ghi LSR ( Line Status Register ) có hay khơng Chương trình viết cụ thể Delphi 5.0 sau: (…………………………………………………………) repeat test3:=nhap(Reg2FD); application.ProcessMessages; until (test3 and $40)=$40; xuat(Reg2F8,t); (…………………………………………………………) o Để thu ký tự : Để biết có ký tự vào hay chưa kiểm bit ghi LSR ( Line Status Register ) Nếu có ký tự nhận vào Với chương trình cụ thể viết sau: (………………………………………………………………………….) repeat begin test6:=nhap(Reg2FD); test6:=test6 and $01; end; until (test6=$01); (………………………………………………………………………….) v Tuy nhiên ta sử dụng nhũng cách khác để thực việc truyền liệu với phương pháp đơn giản giải thuật Sau phương pháp sử dụng mà em tham khảo giáo trình Lập trình ghép nối máy tính Windows tác giả Ngô Diên Tập Để thực việc mở cổng Com ta việc gõ lệnh đơn giản OpenCom(pchar(còm:9600,N,8,1)); Để truyền liệu đi: SendByte(); Để nhận liệu về: Temp:=ReadByte; Xuất trực tiếp đường dẫn DTR(); RTS(); … Dể thực nhũng lệnh Delphi phải có tệp tin tài nguyên hỗ trợ có tên port.dll tác giả cung cấp Sau ta phải soạn unit (được dẫn rõ giáo trình) để giúp Delphi nhận tài nguyên Hơi rắc rối tý mà bù lại ta gặp nhiều thuận lợi lập trình Trong luận văn này, em sử dụng phương pháp khác dùng MSComm Phương pháp lập trình đơn giản hỗ trợ mạnh nhiều người sử dụng Trong Visual Basic MSComm nhà lập trình cung cấp sẵn Cịn Delphi muốn sử dụng ta phải” dùng ké” tài nguyên VB cách copy têp tin “mscom.ocs” vào system Window sau vào Component Delphi để khai báo Về phương pháp khai báo sử dụng đươc trình bày cụ thể phần phụ lục em II. Các phương pháp kết nối : 1. Kết nối máy tính với Kit vi xử lý: Khi máy tính giao tiếp với kít vi xử lý ta dùng RS-232 đủ , cho phép chuyển đổi từ +12V đến +5V phù hợp với nguồn cung cấp cho kit vi xử lý. Nhưng điểm hạn chế phương pháp khoảng cách truyền ngắn , tối đa 15 m Biểu diễn giao tiếp hình : 1. Nguyên tắc hoạt động RS-485 : a) Mức áp yêu cầu: Giao tiếp RS – 485 điển hình sử dụng nguồn cung cấp đơn +5V mức logic đầu phát đầu thu mức TTL hay mức CMOS, để có mức thích hợp VA – VB 1.5V Điện áp đầu đất không xác định việc trừ mà mode điện áp chung phải nằm tầm 7V Nếu giao tiếp cân cách hồn hảo đầu offset nửa với nguồn cung cấp Bất cân làm tăng hay giảm mức offset Hình bên áp A B điều khiển RS-485 Biên độ đầu gần 3V thay đổi từ +1 +4V –1V -4V so với đất Nguồn cung cấp cho điều khiển +5V Ngỏ phát RS-485 Hình bên mức điện áp vi sai dây A B đầu Driver Biên độ đỉnh đỉnh áp 6V gấp hai lần biên độ đỉnh đỉnh điện áp đường dây Ngỏ vi phân phát RS-485 Nếu đầu đóng mở trước đầu khác điện áp đầu vi sai đóng mở chậm điều giới hạn tốc độ truyền mạng Thời gian lệch ( Skew ) khoảng thời gian đóng mở chênh lệch đầu Các Driver RS-485 thiết kế cho tối thiểu thời gian lệch Tại Receiver, điện áp đầu vào A B cần 200mV Nếu VA - VB 0.2V đầu thu đọc mức logic 1, ngược lại mức logic điện áp vi sainày < 0,2V mức logic khơng xác định Sự khác điện áp Driver Receiver giới hạn nhiễu cho phép 1,3V điện áp vi sai yếu bị nhiễu kí sinh khoảng 1,3 V đầu thu nhận mức logic Trong hầu hết mạng, điện áp đầu phát lớn 1,5V Do giới hạn nhiễu lớn Một Driver cần cấp nguồn 3V có áp vi sai đầu 1,5 V TIA/EIA – 485 định nghĩa : B > A mức 1; A > B mức Sử dụng định nghĩa chip giao tiếp RS-485 làm ngược lại b) Dịng u cầu: Dòng tổng RS-485 thay đổi theo trở kháng vào thành phần mạng gồm: phát, đầu thu, cáp thành phần đầu cuối Trở kháng phát thấp trở kháng cáp thấp cho phép việc đóng mở nhanh bảo đảm thu nhận tín hiệu với tốc độ cao Nếu trở kháng đầu thu cao làm giảm dịng mạng kéo dài tuổi thọ nguồn Việc sử dụng thành phần đầu cuối có lợi dịng mạng Khi khơng có thành phần đầu cuối trở kháng vào thu ảnh hưởng lớn điện trở tổng nối tiếp Tổng trở kháng vào thay đổi theo thu trở kháng vào chúng Một phát RS-485 lái đến 32 đơn vị tải TIA/EIA – 485 xác định đơn vị tải dạng dòng yêu cầu Một thu tương đương đơn vị tải, mà tải không kéo nhiếu lượng dòng xác địmh đầu vào điện áp xác định theo tiêu chuẩn Khi áp đầu thu 12V đơn vị tải – Bộ thu không kéo nhiều 1mA Để đạt u cầu thu phải có điện trở đầu vàu 12 K, mắc đầu vi sai với Vcc hay GND tùy thuộc vào chiều dòng điện Nếu thêm thu điện trở tương 6000 Nếu có 32 đơn vị tải R tương đương 375 2. Chuyển đổi sang TTL: a) Song công ( Full-Duplex ): RS-485 thiết kế để dùng cho hệ thống nhiều node ( multi-drop) Hầu hết mạng RS-485 bán song công sử dụng nhiều phát thu, chia đường truyền tín hiệu Nhưng sử dụng RS-485 dạng song cơng, hướng có đường truyền tín hiệu riêng Việc chuyển đổi mạng RS-232 sang RS-485 song công dễ dàng thực phần mềm Với mạng loại ta sử dụng SN75179B hai đầu phát thu Mạng gồm phát dùng chuyển đổi 5V TTL sang RS-485 thu dùng chuyển RS-485 sang 5V TTL Đây giải pháp đơn giản ta muốn tạo mạng song công, khoảng cách xa vi điều khiển Các chip giao tiếp RS-485 nhỏ hơn, đơn giản rẻ việc chuyển đổi sang RS-232 Hình 1.5: Kết nối song cơng nhiều node Trong mạng gồm có chủ tớ, node chủ dùng để điều khiển mạng và cho phép việc thu phát thành phần khác Một cặp dây dùng để nối phát chủ với thu tớ, cặp dây khác nối phát tớ với thu chủ Tất tớ phải thông tin từ chủ để biết cho phép Việc định địa tớ xác định cặp dây đối lặp Thuận lợi phương pháp tiết kiệm thời gian cho tớ chúng khơng đọc thơng tin trả lời tớ khác Nếu tất node chia đường liệu tớ phải đọc tất thơng tin lưu thông đường mạng để lấy thông tin từ chủ gởi tới b) Bán song công: Rất nhiều mạng dùng kết nối 485 bán song công với nhiếu phát thu chia đường tín hiệu Khi mạng có hay nhiều node thời điểm có node thu hay phát Việc sử dụng đường truyền tín hiệu thuận lợi có thiết bị ( chủ, tớ ) node thu phát lúc mà khơng sợ có xung đột Nhưng có nhiều phát cặp dây khơng có đảm bảo đường truyền tín hiệu “ rỗng”(free) phát cần truyền Trên vi điều khiển cho phép xây dựng bit port đầu vào hay đầu ra, gởi hay nhận bit đơn , tái tạo lại bit cần thiết Chúng ta làm điều để sử dụng số bit port sử dụng bán song cơng để tiết kiệm dây ... Phương pháp truyền đồng khác phương pháp truyền bất đồng khoảng thời gian truyền hai ký tự giống Truyền đồng đòi hỏi xung clock máy thu phát phải trì đồng khoảng thời gian dài Trong phương pháp. .. Mỗi phương pháp? ? có ưu nhược điểm riêng lên đến tất phương pháp tồn Tùy theo kinh nghiệm , công việc khác mà ta có lưa trọn khác Ở phần em giới thiệu qua hai phương pháp đầu sâu vào phương pháp. .. (………………………………………………………………………….) v Có hai phương pháp để điểu khiển việc thu phát liệu qua UART: phương pháp hỏi vịng phương pháp tạo trình điều khiển tạo ngắt Phương pháp hỏi vòng chờ liệu nhận xong