Hiện nay với sự phát triển mạnh mẽ của khoa học kỹ thuật, việc áp dụng những thành tựu của khoa học kỹ thuật vào cuộc sống là vấn đề hết sức cần thiết và quan trọng. Trong các thành tựu ấy, có thể thấy rằng phần lớn là có Điện tử Viễn thông. Đặc biệt là công nghệ sản xuất vi mạch vi xử lí – vi điện tử… đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hàng ngày. Một trong những ứng dụng rất quan trọng của những công nghệ ấy là kỹ thuật điều khiển từ xa. Nó đã góp phần rất lớn trong việc điều khiển các thiết bị mà không cần phải tiếp xúc trực tiếp. Từ đó, người sử dụng có thể linh hoạt hơn trong các thao tác cũng như khoảng cách điều khiển theo ý muốn của mình.
ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHƯƠNG I: DẪN NHẬP 1.1 ĐẶT VẤN ĐỀ. - Hiện nay với sự phát triển mạnh mẽ của khoa học kỹ thuật, việc áp dụng những thành tựu của khoa học kỹ thuật vào cuộc sống là vấn đề hết sức cần thiết và quan trọng. Trong các thành tựu ấy, có thể thấy rằng phần lớn là có Điện tử Viễn thông. Đặc biệt là công nghệ sản xuất vi mạch vi xử lí – vi điện tử… đã đáp ứng được những đòi hỏi không ngừng từ các lĩnh vực công – nông – lâm – ngư nghiệp cho đến các nhu cầu cần thiết trong hoạt động đời sống hàng ngày. Một trong những ứng dụng rất quan trọng của những công nghệ ấy là kỹ thuật điều khiển từ xa. Nó đã góp phần rất lớn trong việc điều khiển các thiết bị mà không cần phải tiếp xúc trực tiếp. Từ đó, người sử dụng có thể linh hoạt hơn trong các thao tác cũng như khoảng cách điều khiển theo ý muốn của mình. - Vài năm gần đây, một nền công nghệ mới ra đời được gọi là ngôi nhà tự động. Công nghệ này đã tạo ra một số thiết bị mới để phục vụ cho người tiêu dùng. Ngôi nhà được thiết kế với các thiết bị và các dịch vụ cho người sử dụng. Một vài công ty nhỏ đã giới thiệu một số hệ thống nhà tự động, các công ty lớn đang nghiên cứu những công nghệ nổi bật để khai thác tiềm năng to lớn này. Một hệ thống mạng trong nhà sẽ liên kết các thiết bị, các cảm biến, các bộ điều khiển, các bảng điều khiển bên trong ngôi nhà. Các thiết bị được liên kết với nhau trong một hệ thống bao gồm: những thiết bị giải trí, các dụng cụ cầm tay, đến những vật dụng trong nhà bếp, hệ thống điều hoà nhiệt độ, hệ thống chiếu sáng trong nhà. Hầu hết các thiết bị trong nhà ngày nay hoạt độc lập với nhau, mỗi thiết bị có cách sử dụng khác nhau. Những thiết bị trong ngôi nhà tự động có thể trao đổi dữ liệu và được tập hợp thành những hệ thống nhỏ như hệ thống an ninh, hệ thống chiếu sáng trong ngân hàng. Hệ thống nhà tự động ra đời gần đây nhất có các thiết bị có thể trao đổi thông tin bằng cách truyền dữ liệu qua đường dây điện trong nhà. Hệ thống này không cần lấp đặt thêm bất cứ đường dây điều khiển nào bên ngoài. Các thiết bị có thể được kết nối thành một hệ thống mạng đơn giản bằng cách cắm chúng lên các ổ cắm điện trên tường. Điển hình một ngôi nhà tự động có các thiết bị như: các cảm biến, hệ thống chiếu sáng, máy giặt, điện thoại, hệ thống báo động,… tất cả được kết nối thông qua đường dây điện bằng cách sử dụng Power Line Modem. Nếu một ngôi nhà tự động phát hiện ra lửa thì nó sẽ gửi một tin cảnh báo lên trên đường dây điện. Hệ thống điều khiển sẽ ra lệnh khóa đường ống dẫn khí, hệ thống báo động sẽ báo động mọi người trong nhà và nếu có một máy điện thoại thì nó sẽ gọi điện báo cho dịch vụ chữa cháy. Với đường dây điện thoại thì hệ thống cũng cho phép chủ nhà có thể gửi dữ liệu điều khiển các thiết bị từ bên ngoài ngôi SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 1 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN nhà. Ví dụ, chúng ta có thể gọi điện thoại về nhà và yêu cầu hệ thống mở máy điều hoà để làm mát một căn phòng vào một thời gian đặt trước. Để ngôi nhà chúng ta ngày càng tiện nghi và trở nên tự động nhằm phục vụ nhu cầu ngày càng cao của con người với chi phí xây dựng và lấp đặt hệ thống vừa phải, hệ thống truyền dữ liệu để điều khiển đơn giản thì phương án giải quyết tốt nhất hiện nay là nên sử dụng mạng điện thoại có sẵn trong nhà. Nó có thể được lấp đặt cho những ngôi nhà đang xây dựng và cả những ngôi nhà có sẵn. Tất cả việc truyền và nhận dữ liệu để liên lạc, trao đổi thông tin giữa các thiết bị, các phòng, các khu vực khác nhau sẽ được thực hiện một cách đơn giản nhờ vào bộ truyền nhận dữ liệu thông qua đường dây điện Power Line Modem (PLM). - Với thực tế hiện nay và xuất phát từ những nhu cầu trong cuộc sống đi cùng với cơ sở vật chất hiện có, nhóm chúng em thực hiện đề tài: “THIẾT KẾ VÀ THI CÔNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THIẾT BỊ TỪ XA QUA MÁY TÍNH”. Qua máy tính có thể quan sát được trạng thái của các thiết bị, điều khiển thiết bị theo ý muốn một cách chính xác. 1.2 TẦM QUAN TRỌNG CỦA ĐỀ TÀI. - Hình thành từ ý tưởng nhu cầu thực tế của xã hội, để tạo ra một sản phẩm có giá trị ứng dụng cao thì đây chính là một điều kiện tốt nhất để nhóm chúng em thực hiện đề tài. - Để điều khiển thiết bị con người không cần phải tốn nhiều thời gian nữa, mà chỉ cần click chuột và quan sát màn hình máy tính. Giả sứ như muốn kiểm tra lại thiết bị tầng trên cùng của một tòa nhà cao tầng ta chỉ cần quan sát trên giao diện máy tính là có thể biết được trạng thái cũng như điều khiển được thiết bị đó. 1.3 MỤC ĐÍCH CỦA VIỆC THỰC HIỆN ĐỀ TÀI. - Thiết kế và thi công hệ thống tương đối hoàn chỉnh, có khả năng điều khiển được các thiết bị điện như: đèn bàn, đèn trần, đèn ngủ, quạt trần… - Thực hiện đề tài này giúp cho chúng em có điều kiện và cơ hội làm quen với kỹ thuật điều khiển kết hợp với máy tính. Tìm hiểu sâu hơn nữa về kỹ thuật vi điều khiển. - Trong quá trình thực hiện đề tài, kiến thức nhóm chúng em còn rất non nớt và hạn chế. Do đó thực hiện đề tài nhằm tích lũy thêm kiến thức và kinh nghiệm cho bản thân. 1.4 GIỚI HẠN CỦA ĐỀ TÀI SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 2 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Đề tài mà nhóm chúng em thực hiện chỉ tập trung giải quyết những vấn đề sau: - Thiết kế và thi công mạch giao tiếp với máy tính và mạch chuyển từ RS 232 sang RS 485. - Thiết kế giao diện điều khiển trên máy tính. - Mạch điện tử điều khiển 8 thiết bị. - Liên tục giám sát và hiện thị trạng thái và thông số của thiết bị trên giao diện máy tính. - Chỉ thực hiện điều khiển thiết bị từ xa bằng máy tính, không dùng điện thoại, internet… SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 3 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHƯƠNG II: TRUYỀN DỮ LIỆU VÀ GIAO TIẾP MÁY TÍNH 2.1. TỔNG QUÁT HỆ THỐNG TRUYỀN DỮ LIỆU. Không giống với việc truyền thông tin bằng cách phát và thu tín hiệu tương tự như âm thanh hình ảnh, việc truyền dữ liệu được thực hiện bằng cách phát tuần tự (liên tiếp) các mã nhị phân lên đường truyền. Các mã này được tạo ra, lưu trữ và xử lí bởi các máy tính và các ngoại vi. Đường truyền dùng để truyền dữ liệu là các đường truyền số (digital) nghĩa là tín hiệu chỉ có thể ở một trong hai trạng thái khác biệt được biểu thị bằng mức logic 0 hoặc 1. Trong khi đó tín hiệu tương tự có thể chiếm một trạng thái bất kì trên một dải liên tục. 2.1.1. Cấu trúc một hệ thống thông tin. Hình 2.1: Hệ thống truyền tin Sơ lược các khối trong hệ thống: Nguồn tín hiệu: Là tín hiệu cần truyền đi, có thể là tín hiệu không điện hoặc tín hiệu điện. Do vậy, cần phải có một bộ chuyển đổi các tín hiệu điện thành tín hiệu không điện trước khi đưa lên đường truyền. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 4 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Thông thường dùng các cảm biến để dò lấy tín hiệu này và thực hiện quá trình chuyển đổi thành tín hiệu điện. Khối truyền tin: Nhận tín hiệu điện từ nguồn tín hiệu đưa đến sau đó thực hiện sự biến đổi cho phù hợp với đường truyền trước khi phát lên đó. Khối này thường gồm: mạch điều chế tín hiệu, một bộ dồn kênh, bộ phát tín hiệu. Đường truyền: Có nhiều dạng như đường truyền hữu tuyến, vô tuyến, tương tự, số,… Bản chất của đường truyền có ảnh hưởng rất nhiều khối khác trong sơ đồ. Khối nhận tin: Nhận lấy tín hiệu từ đường truyền gởi xuống và thực hiện việc chuyển đổi nhằm lấy lại thông tin ban đầu. Khối nhận tin thường gồm: một bộ giải điều chế tín hiệu (tách sóng mang) một bộ phân kênh tín hiệu. Cơ cấu chấp hành: Nhận tín hiệu từ khối nhận tin đưa đến sau đó biến đổi đại lượng điện đầu vào thành đại lượng đồng dạng với đại lượng vào của nguồn tín hiệu. Cơ cấu chấp hành có thể là một màn hình hiển thị hoặc loa, rơle để đóng ngắt thiết bị… 2.1.2. Phân loại các hệ thống thông tin. 2.1.2.1 Phân loại theo đường truyền. Đường truyền hữu tuyến. Đường truyền vô tuyến. 2.1.2.2 Phân loại dựa theo tín hiệu trên đường truyền. Tín hiệu tương tự. Tín hiệu số. 2.1.2.3 Phân loại số bit trên đường dây. Mỗi bit chiếm lấy một đường truyền (song song): Dữ liệu gồm nhiều bit sẽ xuất đồng thời trên đường truyền. Nhiều bit trên một đường truyền (nối tiếp): Các bit sẽ nối tiếp nhau xuất hiện trên một đường truyền duy nhất. 2.1.2.4 Dựa vào xung nhịp đồng hồ Ck của bộ phát và bộ thu. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 5 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Truyền đồng bộ: khi xung nhịp nơi phát và nơi thu như nhau và cùng góc pha. Ưu điểm của cách truyền này là tốc độ truyền rất cao nhưng độ an toàn về thông tin khá thấp (sai vài bit). Việc chi phí cho thiết kế đường truyền khá cao. Truyền bất đồng bộ: khi xung nhịp nơi phát và thu không cần giống nhau. Theo phương pháp này, dữ liệu được truyền đi với tốc độ chậm hơn nhưng độ an toàn cao, đặc biệt chi phí cho việc thiết kế đường truyền thấp, thích hợp cho truyền xa. 2.1.2.5 Chiều tín hiệu trên đường truyền. Loại đơn công: tín hiệu chỉ truyền theo một chiều duy nhất mà không có chiều ngược lại. Loại song công: tín hiệu có thể truyền theo cả hai chiều một cách đồng thời. Loại bán song công: tín hiệu có thể truyền theo hai chiều nhưng không cùng lúc, tức là phải thay đổi luân phiên. 2.1.3. Giao tiếp song song bất đồng bộ. 2.1.3.1 Sơ đồ khối. Khi truyền dữ liệu với tốc độ từ thấp đến trung bình trên khoảng cách ngắn người ta có thể dùng đường truyền song song bất đồng bộ. Ví dụ, như việc kết nối một máy tính với một thiết bị ngoại vi như máy in.hệ thống giao tiếp song song bất đồng bộ này có đặc điểm là: mỗi bit chiếm lấy một đường truyền và xung đồng bộ nơi phát không nhất thiết phải bằng xung đồng bộ ở nơi thu. Do đó, ngoài các đường dây cho các bit còn cần thêm các đường tín hiệu để thực hiện việc bắt tay giữ phần phát và phần thu. Giả sử thực hiện việc truyền song song 8 bit thì ít nhất có 9 đường dây (một đường mass giữ phần phát và phần thu). Để nơi phát và thu có thể truyền và thu được chính xác dữ liệu thì nhất thiết phải cần đến các tín hiệu bắt tay: Strobe, Ack và Busy\. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 6 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN D0 – D7: là các đường dữ liệu (data bus). Strobe, Ack va Busy\: là các đường tín hiệu bắt tay nhằm phối hợp giữa phần phát và phần thu. Strobe: do máy phát gửi ra nhằm báo cho máy thu biết rằng đã có dữ liệu gửi ra trên đường truyền D0 – D7. ACK: do phần thu đưa ra nhằm báo cho phần phát biết rằng phần thu đã thu xong một kí tự. Busy: do phần thu đưa ra nhằm báo cho phần phát biết rằng phần thu đang bận với một tác vụ nào đó nên chưa thể thu được kí tự tiếp theo. Ví dụ một quá trình truyền dữ liệu giữ máy tính và máy in. CPU chờ cho tới khi đường tín hiệu Busy\ lên mức cao tức là máy in đã sẵn sàng nhận dữ liệu. CPU xuất mã kí tự kế tiếp ra port song song. Sau đó, CPU đưa xung Strobe lên 1. Tín hiệu này báo cho máy in biết rằng đã có dữ liệu mới trên đường truyền. Máy in tiến hành nhận dữ liệu và khi đã hoàn tất công việc liên quan đến kí tự cuối cùng nó sẽ trả Busy\ về mức cao. Máy đưa xung ACK lên cao để báo cho CPU biết nó đang sẵn sàng nhận kí tự tiếp theo. 2.1.3.2 Hoạt động của hệ thống. Phần phát: Đọc giá trị của đường Busy\ cho đến khi Busy\ =1 tức là phần thu không bận. Sau đó phần phát gửi data ra đường dữ liệu. Cho chân Strobe =1 để báo cho phần thu biết kí tự đã sẵn sàng. Đọc chân ACK cho đến khi chân này lên mức 1 tức là phần thu đã thu xong kí tự. Chân Strobe = 0 để tránh trường hợp phần thu thu thêm một lần nữa. Chuẩn bị dữ liệu kế tiếp theo để xuất đi nếu như chưa truyền hết. Phần thu: Khi cần thu một dữ liệu nó phải đưa chân Busy\ lên 1 để báo cho phần phát biết rằng nó không bị bận và sẵn sàng nhận kí tự. Sau đó phần thu đọc giá trị của tín hiệu Strobe cho đến khi chân này lên 1 tức là phần phát đã gửi dữ liệu ra đường truyền. Cho chân Busy\ = 0 để phần phát tạm thời ngưng lại và cho chân ACK = 0 để khoan thay đổi data. Xử lí data (cất vào vùng nhớ đệm). Cho chân Busy\ = 1. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 7 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN 2.1.4. Giao tiếp nối tiếp bất đồng bộ. Cấu trúc: Giao tiếp nối tiếp bất đồng bộ là giao tiếp mà xung đồng hồ của bộ phát và bộ thu được tạo ra một cách riêng rẽ và không cần phải bằng nhau. Các bit lần lượt chiếm lấy đường, việc giao tiếp cần phải thêm các bit khung (thông tin khung) bao gồm: • Bit khởi động (start). • Bit dừng (stop). • Bit chẵn lẻ (parity). Thành phần chính của hệ thống là các thanh ghi dịch. Tại phần phát, thanh ghi dịch là thanh ghi vào song song ra nối tiếp. Tại phần thu, thanh ghi dịch là thanh ghi vào nối tiếp ra song song.. 2.1.4.1 Phát dữ liệu nối tiếp. Khi cần phát dữ liệu, CPU phần phát sẽ gửi data tới thanh ghi phát bằng cách đưa dữ liệu đến các ngõ vào song song của thanh ghi dịch sau đó tác động mức 1 lên chân LD để cho thanh ghi nạp lấy giá trị này. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 8 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Khi LD không còn tác động nữa thì thanh ghi dịch sẽ luư trữ lại giá trị này. Sau đó, dưới tác động của xung đồng hồ nơi phát, các bit của dữ liệu cần phát sẽ lần lượt dịch đến ngõ ra nối tiếp để đưa lên đường truyền. 2.1.4.2 Thu dữ liệu nối tiếp. Khi phần thu nhận dạng được bit khởi động, CPU phần thu sẽ phát tín hiệu điều khiển xung Ck thu. Lúc này dưới tác động của xung Ck thu, từng bit dữ liệu trên đường truyền sẽ lần lượt được dịch vào thanh ghi phần thu cho đến khi xuất hiện bit dừng thì CPU phần thu sẽ phát tín hiệu để đọc dữ liệu tại các ngõ ra song song của thanh ghi dịch. Bit khởi động (start) nhằm báo cho phần thu biết thời điểm nhận một dữ liệu mới, bit này có trạng thái ngược với trạng thái thường xuyên của đường truyền (có trạng thái = 1). Khi dùng bit parity, trạng thái logic của bit này phụ thuộc vào kí tự dữ liệu đặc trưng và việc lập phần cứng là kiểm tra parity chẵn hay lẻ. Bit parity là bit 0 hoặc bit 1 tuỳ theo việc kiểm tra chẵn hay lẻ và dữ liệu đó như thế nào. Chú ý rằng bit parity có dự phần vào việc tính tổng số bit 1 là chẵn hay lẻ trong toàn dữ liệu. Sau đó bằng cách tính tổng số bit trong mỗi kí tự, máy thu có thể phát hiện được lỗi khi truyền. Phương pháp này tuy không đạt được độ tin cậy 100% (vì nếu số bit lỗi là số chẵn thì máy thu không thể phát hiện được lỗi) nhưng lại tương đối đơn giản và có hiệu quả. Các bit stop là khoảng cách bảo vệ tối thiểu giữa các khung kí tự. 2.2. KỸ THUẬT GHÉP NỐI VÀ GIAO TIẾP MÁY TÍNH. Máy vi tính là thiết bị trợ giúp đắc lực cho con người đặc biệt với khoa học kỹ thuật ngày càng phát triển thì máy vi tính trở nên rất cần thiết. Chính vì vậy, ngày nay máy vi tính được đưa vào ứng dụng rất nhiều trong cuộc sống cũng như trong kỹ thuật. Nó có thể được dùng để quản lý, tính toán, giao tiếp, SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 9 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN hoặc giải các bài toán kỹ thuật…Nhưng ứng dụng mạnh nhất là thhu thập dữ liệu từ các thiết bị ngoại vi, xử lí và điều khiển các quá trình hoạt động của chúng một cách tự động theo chương trình. Việc giao tiếp giữa máy tính và các thiết bị ngoại vi có thể giao tiếp bằng 3 cách: Giao tiếp qua Slot-Card. Giao tiếp qua cổng song song (máy in). Giao tiếp qua cổng nối tiếp (COM). 2.2.1. Giao tiếp qua Slot-Card. Bên trong máy tính, ngoài những khe cắm dùng cho card vào-ra, card màn hình, vẫn còn những rãnh cắm để trống. Để giao tiếp với máy tính, ta có thể thiết kế card mở rộng để gắn vào khe cắm mở rộng này. Ở các máy tính PC thì thường có các rãnh cắm tuân theo các tiêu chuẩn như: ISA (Industry Standard Architecture) 8 bit hoặc 16 bit, ngoài ra còn có rãnh cắm theo tiêu chuẩn PCI (Peripheral Component Interconnection) 32 bit hoặc 64 bit, qua các đường tín hiệu này máy tính có thể giao tiếp dể dàng với thiết bị bên ngoài thông qua card mở rộng. Trên rãnh cắm mở rộng, ngoài các đường địa chỉ và đường dữ liệu, còn có một số đường điều khiển như: RESET, IOR, IOW, AEN, CLK,…Do đó card giao tiếpvới máy tính qua Slot Card đơn giản, số bit có thể tăng dể dàng, giảm được nhiều linh kiện, tốc độ truyền dữ liệu nhanh (truyền song song). Tuy nhiên, do khe cắm nằm bên trong máy tính nên khi muốn gắn card giao tiếp vào thì phải mở nắp ra, điều này gây bất tiện cho người sử dụng. 2.2.2. Giao tiếp qua cổng song song. Đây là cách giao tiếp đượ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 cổng 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ể truyền ở tốc độ cao. Đầu nối (Connector) của port này gồm 25 chân bao gồm 8 đường dữ liệu và các đường bắt tay (handshaking). Tất cả các đường dữ liệu và tín hiệu điều khiển đều SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 10 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN ở mức logic có thể hoàn toà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 ngắt (Interrupt) từ ngõ vào nên việc giao tiếp đơn giản và dể dàng hơn. Các máy tính ra đời từ năm 1995 trở lại đạy đều có trang bị giao tiếp theo chuẩn IEEE (Institude Electronic And Electronic Engineering). Chuẩn này ra đời vào năm 1994 qui định một chuẩn giao tiếp mới giữa máy tính cá nhân với các thiết bị ngoại vi. Chuẩn giao tiếp này tương thích được với chuẩn giao tiếp song song cơ bản nhưng có tốc độ nhanh hơn 50 – 100 lần so với giao tiếp cũ. Chuẩn IEEE 1484 qui định 5 chế độ truyền dữ liệu tuỳ theo hướng truyền: Chỉ truyền ra: chế độ tương thích với chuẩn giao tiếp song song cơ bản hay chuẩn “Centronic”. Chỉ truyền vào: - Chế độ Nipple: tryuền song song 4 bit dùng các đường tín hiệu trạng thái. - Chế độ byte:truyền song song 8 bit qua đường dữ liệu, chuẩn giao tiếp song song của chế độ này đươc gọi là cổng 2 chiều. truyền hai chiều: - Cổng song song cải tiến EPP (Enhanced Parallel Port) được các thiết bị khác máy in sử dụng (ổ đĩa CD, ổ đĩa cứng, bộ điều khiển mạng…) - Cổng song song 2 chiều dùng chế độ tương thích, chế độ Nipple và chế độ Byte chỉ dùng phần mềm để truyền dữ liệu. Chương trình điều khiển cổng song song có trách nhiệm kiểm tra tín hiệu bắt tay (Handshacking, ví dụ như busy), và trao tín hiệu điều khiển thích hợp cho thiết bị ngoại vi (ví dụ như Strobe), và truyền byte dữ liệu. Quá trình này cần nhiều phần mềm và giới hạn tốc độ truyền dữ liệu trong khoảng 50 đến 100 Kbyte trong 1s. Chế độ EPP, ECP được cài đặt trong mọi vi mạch Supper I/O hiện đại. Hai chế độ này dùng phần cứng trợ giúp một phần truyền dữ liệu ra cổng EPP chương SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 11 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN trình chỉ cần gọi lệnh OUT, phần cứng đảm nhận nhiệm vụ điều khiển các tín hiệu bắt tay. Việc giao tiếp giữa vi điều khiển với máy tính được thực hiện qua chân cắm 25 chân ở phía sau máy tính. Qua cổng này dự liệu được truyền đi song song, nên đôi khi còn được gọi là cổng ghép nối song song. Các chân và đường dẫn được mô tả như sau: 13 25 1 14 Bảng 2.1: bảng chức năng chân cổng LPT. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 12 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHAÂN KYÙ HIEÄU VAØO/RA MOÂ TAÛ 1 STROBE Lối ra (Output) 2 D0 Lối ra Đường dữ liệu D0 3 D1 Lối ra Đường dữ liệu D1 4 D2 Lối ra Đường dữ liệu D2 5 D3 Lối ra Đường dữ liệu D3 6 D4 Lối ra Đường dữ liệu D4 7 D5 Lối ra Đường dữ liệu D5 8 D6 Lối ra Đường dữ liệu D6 9 D7 Lối ra Đường dữ liệu D7 10 ACK Lối vào (Input) Acknowledge (xác nhận) 11 BUSY Lối vào 1 : Máy in bận 12 PE Lối vào Hết giấy 13 SLCT Lối ra Select (Lựa chọn) 14 AF Lối vào Auto Feed (Tự nạp) 15 ERROR Lối ra Error (Lỗi) 16 INIT Lối ra 0 : Đặt lại máy in 17 SLCTIN Select in 18 GND Nối đất 19 GND “ 20 GND “ 21 GND “ 22 GND “ 23 GND “ 24 GND “ 25 GND “ : Byte được in 2.2.3. Giao tiếp qua cổng COM. (giao tiếp nối tiếp). Khác với cổng máy in,cổng COM là cổng truyền dữ liệu nối tiếp. Nó thường được dùng để giao tiếp với các thiết bị ngoại vi có tốc độ xử lý chậm, cổng này giao tiếp theo chuẩn RS 232. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 13 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Dữ liệu được truyền dưới dạng nối tiếp từng bit một. Tốc độ truyền bit do người lập trình quyết định (thơừng là 1200bps, 2400bps, 4800bps, 9600bps…) chiều dài bit dữ liệu có thể là 5, 6, 7, 8 bit kèm theo 1, 3/2, 2 bit stop, và 1 bit start tạo thành một khung gọi là Frame. Cổng này gồm các đường phát, đường thu, các đường bắt tay và đường mass chung. Vì giao tiếp với chuẩn RS 232 nên có khoảng cách truyền xa hơn so với cổng máy in nhưng có tốc độ truyền chậm. 2.3. LỰA CHỌN PHƯƠNG ÁN GIAO TIẾP. Các máy tính PC được sản xuất gần đây thường có một cổng LPT, hai cổng nối tiếp theo chuẩn RS 232, cổng thứ nhất với tên gọi COM1 thường được dùng cho chuột, còn cổng thứ hai ( COM2) thường dùng cho các mục đích ghép nối khác như modem, máy in hoặc thiết bị đo lường. Khi cần nhiều hơn hai cổng ta có thể lắp đặt các card mở rộng trên đó có thêm 1 – 2 cổng RS 232. Một số hãng phần cứng giới thiệu các vào/ra cho phép tăng thêm hai cổng RS 232 hoặc nhiều hơn. Việc sử dụng giao diện song song thì có ưu điểm là truyền dữ liệu nhanh hơn khi sử dụng giao diện nối tiếp nhưng khi cần truyền dữ liệu ở khoảng cách xa thì vấn đề chống nhiễu và kinh tế cần được quan tâm nhiều. Do đó khi cần truyền dữ liệu ở cự ly xa với độ chính xác và ổn định cao thì sử dụng giao diện nối tiếp mang lại nhiều ưu điểm, ngay cả với những mạch ghép nối đơn giản. Khả năng chống nhiễu của các cổng nối tiếp cao hơn so với cổng máy in. Thiết bị ngoại vi có thể lắp ngay cả khi máy tính đang được lắp điện. Mạch điện đơn giản có thể nhận được điện áp nguồn nuôi qua cổng nối tiếp. Thông thường thì việc sử dụng cổng nối tiếp đòi hỏi chi phí nhiều hơn vì cần có sự biến đổi dữ liệu được truyền theo kiểu nối tiếp thành dữ liệu song song. Với những bài toán ghép nối không phức tạp, trong đó chỉ sử dụng một vài đường dẫn vào/ra thì ta có thể sử dụng trực tiếp các đường dẫn phụ trợ có liên quan của giao diện. Tổng cộng có đến hai đường dẫn lối ra và bốn đường dẫn vào, có thể được trao đổi trực tiếp bằng các lệnh đơn giản. Bảng dưới đây chỉ ra tất cả các đường dẫn được nối với các chân trên đầu nối 25 chân và 9 chân. Bảng 2.2: Bảng chức năng chân cổng COM Chân Chân (9 Lối vào/ra SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Tên gọi Chức năng Trang 14 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN (25 chân) chân) 1 - - FG, Frame Ground Đất vỏ máy. 2 3 ⇐ TxD, Transmit Data Truyền dữ liệu 3 2 ⇒ RxD, Receive Data Nhận dữ liệu ⇐ RTS, Request to send Yêu cầu gửi, bộ truyền đặt đường này lên mức hoạt động khi sẳn sàng truyền dữ liệu CTS, Clear to Send Xoá để gửi, bộ nhận đặt đường này lên mức hoạt động để thông báo cho bộ truyền là sẳn sàng nhận dữ liệu. DSR, Data Set Ready Dữ liệu sẵn sàng, tính hoạt động giống với CTS nhưng được kích hoạt bởi bộ truyền khi nó sẵn sàng nhận dữ liệu. SG, Signal Ground Đất của tín hiệu. DCD, Data Carrier Detect Phát hiện tín hiệu mang dữ liệu. DTR, Data Terminal Ready Đầu cuối dữ liệu sẵn sàng, tính hoạt động giống với RTS nhưng được kích hoạt bởi bộ nhận khi muốn truyền dữ liệu. RI, Ring Indicate Báo chuông, cho biết là bộ nhận đang nhận tín hiệu rung chuông 4 5 7 8 6 6 7 5 8 1 20 22 4 9 ⇒ ⇒ ⇒ ⇐ ⇒ SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 15 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Việc trao đổi dữ liệu qua cổng nối tiếp trong các trường hợp thông thường đều qua đường dẫn truyền nối tiếp TxD và đường dẫn nối tiếp RxD. Tất cả các đường dẫn còn lại có chức năng phụ trợ khi thiết lập và điều khiển cuộc truyền dữ liệu. Các đường dẫn này gọi là các đường dẫn bắt tay bởi vì chúng được sử dụng theo phương pháp “ký nhận” giữa các thiết bị. Ưu điểm đặc biệt của đường dẫn bắt tay là trạng thái của chúng có thể đặt hoặc điều khiển trực tiếp. Trạng thái LOW tương ứng với mức điện áp +12V còn trạng thái HIGH tương ứng với mức điện áp -12V. Tất cả các lối ra đều có đặc tính chống chập mạch và có thể cung cấp dòng điện từ 10mA đến 20mA. Với các lối ra này, các LED có thể được đấu vào hoặc được các tầng đệm điều khiển trực tiếp. Giữa hai điện áp chuyển mạch có một khoảng thời gian trể, nghĩa là trạng thái được đọc sẽ thay đổi khi điện áp lối vào nằm ở bên ngoài vùng này. Thông thường thì giao diện nối tiếp được điều khiển bằng mức tín hiệu hai cực với độ lớn bằng +12V và -12V. Bởi vì các mạch lối vào thông thường trong máy tính PC nhận dạng một mức điện áp dưới 1V như là mức LOW, nên cổng nối tiếp cũng được phép làm việc với mức TTL (0V/5V). Một số máy tính PC, phần lớn là máy tính xách tay làm việc với ngưỡng chuyển mạch từ -3V đến +3V và vì thế chấp nhận các tín hiệu lối vào hai cực. Điều khiển số qua cổng RS 232. Khác với kiểu truyền dữ liệu theo kiểu đồng bộ với một đường dẫn dữ liệu và một đường dẫn giữ nhịp, các cuộc truyền dị bộ có thể tiến hành ngay cả khi truyền trên khoảng cách lớn. Sự trễ về thời gian và tình trạng dốc thoai thoải của sườn xung không làm nhiễu quá trình truyền dữ liệu nối tiếp. Qua đường dẫn TxD ta có thể truyền dữ liệu, chẳng hạn với tốc độ 1200 baud, bằng một dây dẫn đơn giản, không bọc kim trên khoảng cách đến 50m. Ở đầu đường dẫn phía bên kia, có thể chuyển đổi dữ liệu bằng một bộ nhận nối tiếp để biến thành dữ liệu song song và chuyển lên tám đường dẫn song song. Nhờ vậy về nguyên tắc ta có thể điều khiển tám tải tiêu thụ điện độc lập nhau. Bộ nhận nối tiếp có thể được thiết kế thuần tuý điện tử với một vi mạch UART (chẳng hạn AY3-1015 hoặc 6402) hoặc bằng một vi điều khiển nào đấy. Đường dẫn truyền nối tiếp TxD được nối tương ứng với đường dẫn nhận nối tiếp RxD. Vì thế, qua một đường dẫn thứ hai theo hướng ngược lại các trạng thái ở tám lối vào số có thể được đọc. Việc chuyển đổi các dữ liệu được sắp sếp song song thành một dòng dữ liệu nối tiếp lại được tiến hành bằng một mạch điện thích hợp hoặc bằng một vi điều khiển. Ở đây xin giới thiệu một giải pháp sử dụng một bộ vi điều khiển loại 8951. Có rất nhiều loại bản mạch phát triển sử dụng bộ vi điều khiển loại 8051/8031 hoặc các thế hệ tiếp của vi mạch này. Trong trường hợp này, giải pháp “một chip” cũng tỏ ra rất hấp dẫn, chẳng hạn với một vi điều khiển chớp (flash controller) 89c51 trong vỏ 40 chân hoặc 89C2051 trong vỏ DIL nhỏ hơn 20 chân. Chương trình điều SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 16 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN khiển trong bộ vi điều khiển hoàn toàn độc lập với kiểu được sử dụng và vì thế được viết chung thành một chương trình hợp ngữ dòng họ 8051. 2.4. TRUYỀN DỮ LIỆU QUA ĐƯỜNG DÂY ĐIỆN THOẠI ( POWER LINE MODEM ). Power Line Modem (PLM) là sản phẩm được chế tạo dựa trên công nghệ mới. PLM được sử dụng để truyền dữ liệu giữa máy tính và thiết bị điện thông qua mạng điện trong nhà. Sản phẩm có thể truyền dữ liệu giữa các máy tính và giữa máy tính và các thiết bị điện mà không cần lắp đặt thêm bất kì đường cáp truyền dữ liệu nào. Kỹ thuật FDM được sử dụng để có thể truyền dữ liệu với tốc độ cao, nó còn được dùng trong hệ thống mạng với tốc độ 10Mbps. Sản phẩm này cho phép người sử dụng có thể truy cập mạng tại nhà mà không cần thêm hệ thống mạng nào tại nhà. Trong một tương lai không xa sản phẩm này sẽ được sử dụng rộng rãi trên khắp các nước như nhà tự động và truy cập mạng. Những đặc điểm chủ yếu của sản phẩm: Tín hiệu truyền trên đường dây điện. Kết nối trực tiếp với hệ thống điện trong nhà mà không cần lắp đặt thêm bất kì mạch điện nào. Cách sử dụng và bảo quản các thiết bị điện được kết nối với hệ thống không ảnh hưởng. Có thể sử dụng vào hệ thống mạng. Dễ dàng sử dụng bằng cách cắm thiết bị vào các ổ cắm điện trên tường. PLM được ứng dụng rộng rãi trong hệ thống mạng, trong gia đình, trong công nghiệp, các xí nghiệp, các toà nhà thông minh, quản lý năng lượng, truyền dữ liệu và hình ảnh, các hệ thống quan sát và điều khiển từ xa,… Trong hệ thống mạng: nó cung cấp một giao diện kết nối đơn giản mà không cần lắp đặt thêm bất kì hệ thống cáp truyền nhận dữ liệu nào từ máy chủ. Người sử dụng có thể truy cập hệ thống mạng bất cứ nơi đâu và bất cứ khi nào bằng cách kết nối máy tính với một PLM bên ngoài và cắm chúng lên ổ cắm trên tường. Hệ thống nhà tự động: rất rẻ trong thiết kế và lắp đặt bằng cách sử dụng đường dây điện để truyền dữ liệu giữa các thiết bị. Đó còn là ý tưởng để sử dụng đường dây điện để thực hiện việc truyền dữ liệu trong những điều khiển thông minh, điều khiển từ xa, trao đổi thông tin, phân tích lỗi. Hơn nữa nó còn cho phép người sử dụng có thể điều khiển các thiết bị trong nhà ở những nơi rất xa bằng cách kết hợp với hệ thống mạng. Trong các toà nhà thông minh: hệ thống điện cũng được dùng chung cho hệ thống báo cháy, hệ thống báo động an ninh trong mỗi ga đình mà không cần lắp đặt thêm bất kì đường cáp truyền dữ liệu riêng biệt nào. 2.5. TRUYỀN DỮ LIỆU QUA CHUẨN RS – 485. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 17 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN 2.5.1. Giới thiệu. Khi hệ thống cần truyền một khối thông tin nhỏ ở khoảng cách xa, thông thường người ta chọn RS 485. Mạng sử dụng chuẩn RS 485 rất đa dạng: ta có thể giao tiếp giữa PC với nhau, hoạc giữa PC với vi xử lí, hoạc bất kì thiết bị nào truyền thông nối tiếp bất đồng bộ. Theo nhận định của nhóm thực hiện đề tài (đối với truyền khối dữ liệu nhỏ) thì chuẩn RS 485 rất linh động. Ta có thể chọn số lượng bộ điều khiển (Master), bộ nhận (Slave), chiều dài cáp, tốc độ truyền, số node cần giao tiếp, và rất tiết kiệm năng lượng. 2.5.2. Đặc điểm của RS-485. Giá thành thấp: Các bộ điều khiển (Driver) và bộ nhận (Receiver) không đắt và chỉ yêu cầu cung cấp nguồn đơn +5V để tạo ra mức điện áp vi sai tối thiểu 1.5V ở ngõ ra vi sai. Khả năng về mạng: RS-485 là một giao diện đa diểm (multi-drop), nó có thể có nhiều Driver và Receiver, số Receiver có thể lên đến 256 nếu ngõ vào của các Receiver có trở kháng vào cao. Khả năng kết nối: RS-485 có thể truyền xa 1200m, tốc độ lên đến 10Mbps. Nhưng 2 thông số này không xảy ra cùng lúc. Khi khoảng cách truyền tăng thì tốc độ baud giảm xưống. Ví dụ: khi tốc độ là 90Kbps thì khoảng cách là 1200m, 1Mbps thì khoảng cách là 120m, còn với tốc độ 10Mbps thì khoảng cách chỉ còn 15m. 2.5.3. Một số đặc tính RS-485. Các đường truyền cân bằng và không cân bằng. Sở dĩ RS-485 có thể truyền trên một khoảng cách lớn là do chúng sử dụng đường truyền cân bằng. Mỗi một tín hiệu sẽ truyền trên một cặp dây, với mức điện áp trên một dây là âm hoặc điện áp bù trên dây kia. Bộ thu sẽ đáp ứng phần hiệu giữa các mức điện áp, được minh họa ở hình dưới: VA A B o VB o GND Hình 2.2: Đường truyền cân bằng. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 18 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 2.3: Tín hiệu trên hai đường truyền cân bằng Vin GND Hình 2.4: Đường truyền không cân bằng Một thuận lợi lớn của RS-485 là khả năng chống nhiễu tốt. TIA/EIA – 485 chỉ định hai đường vi sai là A và B. Tại bộ điều khiển (Driver) nếu V A > VB thì mức logic ở đầu vào là cao, ngược lại V A < VB thì mức logic ở đầu vào là thấp. Tại bộ nhận (Receiver) nếu VA > VB thì mức logic ở đầu ra là cao và ngược lại. Đối với các bộ nhận đầu vào phải nằm trong tầm -7V ÷ +12V. Mức áp vi sai đầu vao tối đa - 6V ≤ VA – VB ≤ +6V Ưu diểm của đường truyền cân bằng: Đường truyền cân bằng có ưu điểm bởi hai đường tín hiệu mang dòng gần bằng nhau nhưng ngược dấu. Điều này giúp giảm nhiễu trên đường truyền bởi hầu hết các điện áp nhiễu điều tăng hay giảm đều nhau trên cả hai đường truyền. Bất kì một điện áp nhiễu nào tác động lên một dây điều bị triệt tiêu bởi điện áp bù trên dây kia. Đường nhiễu có thể là các dây khác trong cáp hoặc ở bên ngoài. Một bộ thu cân bằng chỉ nhận tín hiệu cần truyền, loại bỏ tín hiệu nhiễu hoặc giảm đi rất nhiều tín hiệu nhiễu. Ngược lại, trong giao tiếp không cân bằng, bộ thu phát mức điện áp giữa dây tín hiệu và đất. Khi có nhiễu chúng sẽ tác động đến mạch, khi gặp môi trường có nhiễu lớn chúng sẽ gây sai lệch mức logic => mạch hoạt động sai. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 19 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Một ưu điểm khác của đường truyền cân bằng là nó có thể triệt tiêu được phần điện áp tiềm tàng giữa bộ phát và bộ thu. Trong kết nối ở khoảng cách lớn, điện thế ở các bộ điều khiển và bộ thu có thể khác nhau nhiều volt. Ở một đường truyền không cân bằng, điện hế đất khác nhau có thể làm cho bộ thu không đọc được đầu vào. Còn ở đường truyền cân bằng thì chúng không quan tâm điện thế đất vì nó chỉ đọc phần điện thế hiệu giữa hai dây truyền tín hiệu. 2.5.4. Nguyên tắc hoạt động của RS-485. Mức áp yêu cầu: Giao tiếp RS-485 điển hình sử dụng nguồi cung cấp đơn +5V nhưng mức logic tại đầu phát và đầu thu không phải là mức TTL hay mức CMOS, để có mức ra thích hợp thì VA – VB ≥ 1.5V Điện áp giữa mỗi đầu ra và đất không xác định bằng việc trừ mà mode điện áp chung phải nằm trong tầm ±7V. Nếu như giao tiếp cân bằng một cách hoàn hảo thì các đầu ra offset bằng một nữa với đường cung cấp. Bất cứ sự cân bằng nào cũng làm tăng hay giảm mức offset. Hình bên dưới chỉ áp ra A và B của một bộ điều khiển RS-485. Biên độ đầu ra gần 3V thay đổi từ +1÷ +4V hoặc -1 ÷ -4V so với đất. Nguồn cung cấp cho bộ điều khiển là +5V. A B Hình 2.5: tín hiệu ra của A và B Hình bên dưới chỉ mức điện áp vi sai giữa dây A và B ở đầu ra của bộ điều khiển. Biên độ đỉnh đỉnh của áp ra là 6V gấp 2 lần biên độ đỉnh đỉnh của điện áp trên mỗi đường dây. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 20 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 2.6: Điện áp vi sai của A và B. Nếu như một đầu ra đóng mở trước một đầu ra khác thì điện áp đầu ra vi sai đóng mở chậm hơn và điều này giới hạn tốc độ truyền của mạng. Thời gian lệch (Skew) là khoảng thời gian đóng mở chêch lệch giữa 2 đầu ra. Các Driver của RS-485 được thiết kế sau cho tối thiểu thời gian lệch. Tại bộ thu, điện áp 2 đầu vào A và B chỉ cần chêch lệch 200mV. Nếu VA – VB >0.2V thì đầu thu sẽ đọc là mức logic 1, ngược lại là mức logic 0. Nếu như điện áp vi sai này A => mức 1, A>B => mức 0. Sử dụng định nghĩa này các chip giao tiếp RS-485 thì làm ngược lại. Dòng yêu cầu. Dòng tổng trong RS-485 thay đổi theo trở kháng vào của thành phần trong mạng gồm: các bộ phát, các đầu thu, cáp và các thành phần đầu cuối. Trở kháng ra của bộ phát thấp và trở kháng của cáp thấp cho phép việc đóng mở được nhanh hơn và bảo đảm bộ thu sẽ nhận được tín hiệu với tốc độ cao nhất có thể. Nếu trở kháng của đầu thu cao thì nó sẽ làm giảm dòng trong mạng và kéo dài tuổi thọ của bộ nguồn. Vệc sử dụng thành phần đầu cuối sẽ có lợi đối với dòng trong mạng. Khi không có các thàng phần đầu cuối thì trở kháng vào của các bộ thu sẽ ảnh hưởng lớn đối với điện trở tổng nối tiếp. Tổng trở kháng vào thay đổi theo các bộ thu và trở kháng vào của chúng. Một bộ phát RS-485 tải đến 32 đơn vị tải. TIA/EIA – 485 xác định một đơn vị tải dưới dạng dòng yêu cầu. Một bộ thu tương đương một đơn vị tải, mà tải này không kéo nhiều hơn một lượng dòng xác định tại đầu vào và điện áp được xác định theo tiêu chuẩn. Khi áp tại đầu thu là 12V thì một đơn vị tải - Bộ thu sẽ không kéo nhiều hơn 1mA. Để đạt được yêu cầu này thì một bộ thu phải có một điện trở đầu vào ít nhất là 12KΩ, mắc giữa mỗi đầu vi sai với Vcc hay GND tuỳ thuộc vào chiều dòng điện. Nếu thêm một bộ thu thì điện trở tương đương là 6000Ω. Nếu có 32 đơn vị tải thì R tương đương là 375Ω. 2.5.5. Chuyển đổi sang TTL. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 21 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Song công (Full-Duplex). RS-485 được thiết kế để dùng cho hệ thống nhiều node (multi-drop). Hầu hết mạng RS-485 là bán song công sử dụng nhiều bộ phát và bộ thu, cùng chia sẽ một đường truyền tín hiệu. Nhưng chúng ta cũng có thể sử dụng RS-485 ở dạng song công, ở đó mỗi hướng sẽ có đường truyền tín hiệu riêng của nó. Việc chuyển đổi mạng RS-232 sang RS-485 song công dễ dàng thực hiện bằng phần mềm. Với mạng loại này ta có thể sử dụng SN75179B ở hai đầu bộ phát và bộ thu. Mạng này gồm 1 bộ phát dùng chuyển đổi 5V TTL sang RS-485 và một bộ thu dùng chuyển RS-485 sang 5V TTL. Đây là một giải pháp đơn giản khi ta muốn tạo một mạng song công, khoảng cách xa giữa các vi điều khiển. Các chip giao tiếp RS-485 nhỏ hơn, đơn NODE 0 NODE 1 O O O NODE 2 O O O NODE 3 O O giản và rẻ hơn trong việc chuyển đổi sang RS-232. Hình 2.7: Kết nối song công nhiều điểm. Trong một dạng gồm có chủ và tớ, ở đó node chủ dùng để điều khiển mạng và cho phép việc thu phát của thành phần khác. Một cặp dây dùng để nối bộ phát của con chủ với bộ thu của các con tớ, còn một cặp dây khác nối bộ phát của các con tớ với bộ thu của con chủ. Tất cả các con tớ phải được thông tin từ con chủ để biết con nào được cho phép. Việc định địa chỉ của con tớ được xác định bằng cặp dây đối lập. Thuận lợi của phương pháp này là tiết kiệm thời gian cho các con tớ bởi vì chúng không đọc thông tin trả lời của các con tớ khác. Nếu tất cả các node cùng chia sẽ một đường dữ liệu thì các con tớ phải đọc tất cả mọi thông tin lưu thông trên đường mạng để lấy thông tin từ con chủ gửi tới. Bán song công: Rất nhiều mạng dùng kết nối RS-485 là bán song công với nhiều bộ phát và thu cùng chia sẽ một đường tín hiệu. Khi một mạng có 3 hay nhiều node thì tại một thời điểm chỉ có 1 node được thu hay phát. Việc sử dụng 2 đường truyền tín hiệu là thuận lợi khi chỉ có 2 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 22 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN thiết bị(một chủ, một tớ) vì mỗi node có thể thu phát bất kì lúc nào mà không sợ có sự xung đột. Nhưng có nhiều hơn một bộ phát trên cùng một cặp dây thì không có sự đảm bảo rằng đường truyền tín hiệu là “rỗng” (free) khi bộ phát cần truyền. Trên các vi điểu khiển cho phép xây dựng các bit port như là đầu vào hay đầu ra, chúng ta có thể gởi hay nhận một bit đơn, tái tạo lại bit khi cần thiết. chúng ta cũng có thể làm điều này để sử dụng ít nhất số bit port có thể hoặc sử dụng bán song công để tiết kiệm dây. Chip SN75176B bao gồm một bộ phát dùng đổi mức logic TTL sang RS-485 và một bộ thu dùng chuyển RS-485 sang mức TTL và ở mỗi chip đều có một đầu vào cho phép. Không giống như SN75179B chip này chỉ có một cặp chân RS-485 và chân cho phép vào, dùng xác định liệu bộ phát hay bộ thu là tích cực. Khi đầu vào cho phép của bộ phát ở mức thấp thì ngõ ra của bộ phát ở trạng thái tổng trở cao. Khi đầu vào cho phép của bộ thu ở mức cao thì đầu ra của bộ thu ở trạng thái tổng trở cao. 2.5.6. Việc cho phép bộ điều khiển (Driver). Một việc quan trọng trong sử dụng bán song công là việc điều khiển cho phép các bộ điều khiển (bộ phát). Khi một bộ phát đang truyền dữ liệu thì nó vẫn còn được cho phép cho đến khi nó thực hiện xong việc truyền dữ liệu. Sau đó nó không được cho phép trước khi các điểm khác thực hiện việc phát. Mối quan hệ giữa một byte dữ liệu và tín hiệu cho phép bộ phát Có 3 cách để điều khiển chân cho phép của RS-485. Hình trên 1 bit sẽ điều khiển cả bộ thu và bộ phát trên mỗi chip, vì chân cho phép bộ phát tích cực mức cao, trong khi đó chân cho phép bộ thu tích cực mức thấp. Do đó chỉ có một chân được cho phép tại một thời điểm. Trong nhiều mạng, đầu ra bộ thu lúc nào cũng được tích cực do đó nó có thể được nối với đất. Bit điều khiển chỉ nối với chân Enable của bộ phát. Việc bỏ chân Enable của bộ thu cung cấp một cách đơn giản cho 1 điểm để phát hiện khi nào thì một chuyển đổi hoàn thành, bằng cách đọc dữ liệu truyền trở lại. Để linh hoạt hơn ta có thể sử dụng các bit riêng rẻ để điều khiển các chân Enable của bộ phát và bộ thu. Kết luận về phương pháp lựa chọn: Trên đây nhóm thực hiện đề tài đã trình bày một số lý thuyết về chuẩn truyền giao tiếp máy tính. Nhóm thực hiện đề tài thấy RS-485 khá hiệu quả, chủ yếu sẽ nhờ vào khả năng lập trình của người thiết kế. Trong điều kiện cho phép về khả năng lập trình, cũng như thiết kế phần cứng, nhóm thực hiện đề tài chọn chuẩn truyền RS-485 vì chuẩn này khá thông dụng, tương đối dễ thi công và lập trình, hiệu quả lại cao. Cách trao đổi dữ liệu SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 23 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN nhóm thực hiện đề tài sẽ thực hiện là bán song công. Các chi tiết sẽ được trình bày trong phần thiết kế. CHƯƠNG III : CÁC LINH KIỆN SỬ DỤNG TRONG MẠCH 3.1: GIỚI THIỆU VI ĐIỀU KHIỂN AT89C52. IC vi điều khiển 89S52 có các đặc điểm sau : 8kbyte ROM 256 byte RAM 4 port 8bit Ba bộ định thời 16 bit Giao tiếp nối tiếp 64KB không gian bộ nhớ chương trình mở rộng 64 KB không gian bộ nhớ dữ liệu mở rộng Một bộ xử lý bít (thao tác trên các bit đơn) 210 bit được địa chỉ hóa và mỗi vị trí một bít Bộ nhân/chia 4µs. 3.1.1. Cấu trúc bên trong 89C52. a. Cấu tạo chân. Tuỳ theo khả năng của từng người (về kinh tế, kỹ thuật…) mà các nhà sản xuất các sản phẩm ứng dụng có thể chọn 1 trong 3 kiểu chân do ATMEL đưa ra. b. Sơ đồ khối. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 24 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 3.1: Sơ đồ chân SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 25 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 3.2: Sơ đồ khối Phần chính của vi điều khiển 89S52 là bộ xử lý trung tâm (CPU: central processing unit ) bao gồm : - Các thanh ghi chức năng đặc biệt (SFR). - Đơn vị logic học (ALU : Arithmetic Logical Unit ) - Cổng vào ra (I/O) - Bộ nhớ chương trình và bộ nhớ dữ liệu. Đơn vị xử lý trung tâm nhận trực tiếp xung từ bộ dao động, ngoài ra còn có khả năng đưa một tín hiệu giữ nhịp từ bên ngoài. Chương trình đang chạy có thể cho dừng lại nhờ một khối điêu khiển ngắt ở bên trong. Các nguồn ngắt có thể là: các biến cố ở bên ngoài, sự tràn bộ đếm định thời, hoặc cũng có thể là giao diện nối tiếp. Hai bộ định thời 16 bit hoạt động như một bộ đếm. Các cổng (port0, port1, port2, port3 ). Sử dụng vào mục đích điều khiển. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 26 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Ở cổng 3 còn có thêm các đường dẫn điều khiển dùng để trao đổi với bộ nhớ bên ngoài, hoặc để đầu nối giao diện nối tiếp,cũng như các đường ngắt dẫn bên ngoài. Giao diện nối tiếp cũng chứa một bộ truyền và bộ nhận không đồng bộ làm việc độc lập với nhau.Tốc độ truyền qua cổng nối tiếp có thể đặt trong dải rộng và được ấn định bằng một bộ định thời. Trong vi điều khiển 89S52 có hai thành phần quan trọng khác là bộ nhớ và thanh ghi : Bộ nhớ gồm có bộ nhớ RAM và bộ nhớ ROM dùng để lưu trữ dữ liệu và mã lệnh. Các thanh ghi sữ dụng để lưu trữ thông tin trong quá trình xữ lý. Khi CPU làm việc nó thay đổi nội dung của các thanh ghi. c. Mô tả chức năng các chân. - port0: là port có hai chức năng ở trên chân từ chân 32 đến 39 trong các thiết kế cỡ nhỏ ( không dùng bộ nhớ mở rộng) có hai chức năng như các đường I/O. Đối với các thiết kế cỡ lớn với bộ nhớ mở rộng nó được kết hợp kênh giữa các bus. - port1: port1 là một port I/O trên các chân từ 1-8. Các chân có thể dùng cho thiết bị ngoại vi nếu cần. Port1 không có chức năng khác vì vậy chúng chỉ được dùng trong giao tiếp các thiết bị ngoài. - port2: port2 là một port công dụng kép trên các chân 21 đến 28 được dùng như các đường xuất nhập hoặc là byte cao của bus địa chỉ 16 bit đối với các thiết kế dùng bộ nhớ mở rộng hoặc các thiết kế có nhiều hơn 256 byte bộ nhớ dữ liệu ngoài. - Port3: port3 là một port công dụng kép trên các chân 10 – 17. Các chân của port này có nhiều chức năng riêng, các công dụng chuyển đổi có liên hệ với các đặc tính đặc biệt của 8051/89S52 như ở bảng sau: Bảng 3.1: Chức năng đặc biệt port 3 - PSEN (Program Store Enable ) : 89S52 có 4 tín hiệu điều khiển PSEN là tín hiệu trên chân 29. Nó là tín hiệu điều khiển cho phép bộ nhớ chương trình mở rộng và thường được nối đến chân OE (Output Enable) của một EPROM để cho phép đọc các byte mã lệnh. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 27 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN PSEN sẽ ở mức thấp trong thời gian lấy lệnh. Các mã nhị phân của chương trình được đọc từ EPROM qua bus và được chôt vào thanh ghi lệnh của 89S52 để giải mã lệnh. Khi thi hành chương trình trong ROM nội (89S52) PSEN sẽ ở mức thụ động( mức cao). - ALE (Address Latch Enable ) : Tín hiệu ra ALE trên chân 30 tương hợp với các thiết bị làm việc vớicác xữ lý 8585, 8088, 8086, 8051 dùng ALE một cách tương tự cho việc giải mã các kênh các bus địa chỉ và dữ liệu khi port 0 được dùng trong chế độ chuyển đổi của nó: vừa là bus dữ liệu vừa là bus thấp của địa chỉ, ALE là tín hiệu để chốt địa chỉ vào một thanh ghi bên ngoài trong nữa đầu của chu ký bộ nhớ. Sau đó các đường port 0 dùng để xuất hoặc nhập dữ liệu trong nữa sau chu kỳ của bộ nhớ. Các xung tín hiệu chân ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể dùng làm nguồn xung nhịp cho các hệ thống. Nếu xung trên chân 8051 là 12MHz thì ALE có tần số 2MHz. Chỉ ngoại trừ khi thi hành lệnh MOVX, một xung ALE sẽ bị mất. Chân này cũng được làm ngõ vào cho xung lập trình cho EPROM trong 8051. - EA (External Access) : Tín hiệu vào EA trên chân 31 thường được mắc lên mức cao (+5V) hoặc mức thấp (GND). Nếu ở mức cao, 8051 thi hành chương trình từ ROM nội trong khoảng địa chỉ thấp (4K). Nếu ở mức thấp, chương trình chỉ được thi hành từ bộ nhớ mở rộng. Khi dùng 8031, EA luôn được nối mức thấp vì không có bộ nhớ chương trình trên chip. Nếu EA được nối mức thấp bộ nhớ bên trong chương trình 89S52 sẽ bị cấm và chương trình thi hành từ EPROM mở rộng. Người ta còn dùng chân EA làm chân cấp điện áp 21V khi lập trình cho EPROM trong 89S52. - SRT (Reset) : Ngõ vào RST trên chân 9 là ngõ reset của 8051. Khi tín hiệu này được đưa lên múc cao (trong ít nhất 2 chu kỳ máy ), các thanh ghi trong 89S52 được tải nhưõng giá trị thích hợp để khởi động hệ thống. - Các ngõ vào bộ dao động trên chip: Như đã thấy trong các hình trên , 89S52 có một bộ dao động trên chip. Nó thường được nối với thạch anh giữa hai chân 18 và 19. Các tụ giữa cũng cần thiết như đã vẽ. Tần số thạch anh thông thường là 12MHz - Các chân nguồn: 89S52 vận hành với nguồn đơn +5V. V cc được nối vào chân 40 và V ss (GND) được nối vào chân 20. 3.1.2. Tổ chức bộ nhớ 89S52 có bộ nhớ theo cấu trúc Harvard : có những vùng cho bộ nhớ riêng biệt cho chương trình, dữ liệu. Như đã nói ở trên, cả chương trình và dữ liệu có thể ở bên trong 89S52, dù vậy chúng có thể được mở rộng bằng các thành phần ngoài lên đến tối đa 64 Kbytes bộ nhớ chương trình và 64 Kbytes bộ nhớ dữ liệu. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 28 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Bộ nhớ bên trong bao gồm ROM (89S52) và RAM trên chip, RAM trên chip bao gồm nhiều phần : phần lưu trữ đa dụng, phần lưu trữ địa chỉ hóa từng bit, các bank thanh ghi và các thanh ghi chức năng đặc biệt Hai đặc tính cần lưu ý là : - Các thanh ghi và các port xuất nhập đã được xếp trong bộ nhớ và có thể được truy xuất trực tiếp như các địa chỉ bộ nhớ khác. - Ngăn xếp trong RAM nội thay vì ở trong RAM ngoài như trong các bộ vi xử lí khác. Chi tiết về bộ nhớ RAM trên chip : Như ta đã thấy trên hình sau, RAM bên 89S52 được phân chia giữa các bank thanh ghi (00H - 1FH), RAM địa chỉ hóa từng bit (20H - 2FH), RAM đa dụng (30H - 7FH) và các thanh ghi chức năng đặc biệt (80H - FFH). a.RAM đa dụng. Bảng 3.2: RAM đa dụng Địa chỉ byte 7F 30 2F 2E 2D 2C 2B 2A 29 28 27 26 25 24 23 22 21 20 1F 18 17 10 0F 08 Địa chỉ bit RAM đa dụng 7F 77 6F 67 5F 57 4F 47 3F 37 2F 27 1F 17 0F 07 7E 76 6E 66 5E 56 4E 46 3E 36 2E 26 1E 16 0E 06 7D 75 6D 65 5D 55 4D 45 3D 35 2D 25 1D 15 0D 05 7C 74 6C 64 5C 54 4C 44 3C 34 2C 24 1C 14 0C 04 7B 73 6B 63 5B 53 4B 43 3B 33 2B 23 1B 13 0B 03 7A 72 6A 62 5A 52 4A 42 3A 32 2A 22 1A 12 0A 02 79 71 69 61 59 51 49 41 39 31 29 21 19 11 09 01 78 70 68 60 58 50 48 40 38 30 28 20 18 10 08 00 BANK 3 BANK 2 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 29 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN BANK 1 Default register Bank for RO÷R7 Mọi địa chỉ trong vùng RAM đa dụng đều có thể được truy xuất tự do dùng cách đánh địa chỉ trực tiếp hoặc gián tiếp. Ví dụ, để đọc nội dung ở địa chỉ 5FH của RAM nội vào thanh ghi tích lũy lệnh sau sẽ được dùng : MOV A, 5FH Lệnh này di chuyển một bus dữ liệu dùng cách đánh địa chỉ trực tiếp để xác định "địa chỉ nguồn" (5FH). Ðích nhận dữ liệu được ngầm xác định trong mã lệnh là thanh ghi tích lũy A. RAM bên trong cũng có thể được truy xuất dùng cách đánh địa chỉ gián tiếp qua RO hay R1. Ví dụ, sau khi thi hành cùng nhiệm vụ như lệnh đơn ở trên : MOV R0, #5FH MOV A, @R0 Lệnh đầu dùng địa chỉ tức thời để di chuyển giá trị 5FH vào thanh ghi R0 và lệnh thứ hai dùng địa trực tiếp để di chuyển dữ liệu "được trỏ bởi R0" vào thanh ghi tích lũy. b.RAM địa chỉ hóa từng bit : 89S52 chứa 210 bit được địa chỉ hóa, trong đó 128 bit là ở các địa chỉ byte 20H đến 2FH, và phần còn lại trong các thanh ghi chức năng đặc biệt . Ý tưởng truy xuất từng bit riêng rẽ bằng mềm là một đặc tín tiện lợi của vi điều khiển nói chung. Các bit có thể được đặt, xóa, AND,OR .với một lệnh đơn. Ða số các chi xử lí đòi hỏi một chuổi lệnh đọc – sữa - ghi để đạt được hiệu quả tương tự. Hơn nữa, các port I/0 cũng được địa chỉ từng bit làm đợn giản phần mềm xuất nhập từng bit. Có 128 bit được địa chỉ hóa đa dụng ở các byte 20H đến 2FH. Các địa chỉ này được truy xuất như các byte hoặc các bit phụ thuộc vào lệnh được dùng . Ví dụ, để đặt bit 67H, ta dùng lệnh sau : SETB 67H Chú ý rằng "địa chỉ bit 67H" là bit có trọng số lớn nhất (MSB) ở "địa chỉ byte 2CH" lệnh trên sẽ không tác động đến các bit khác của địa chỉ này. c.Các bank thanh ghi : 32 byte thấp nhất của bộ nhớ nội là dành cho các bank thanh ghi. Bộ lệnh của 89S52 hổ trợ 8 thanh ghi (RO đến R7) và theo mặc định (sau khi Reset hệ thống) các thanh ghi này ở các địa chỉ 00H-07H. Lệnh sau đây sẽ đọc nội dung ở địa chỉ 05H vào thanh ghi tích lũy. MOV A,R5 Ðây là lệnh một byte dùng địa chỉ thanh ghi. Tất nhiên, thao tác tương tự có thể được thi hành bằng lệnh 2 byte dùng địa chỉ trực tiếp nằm trong byte thứ hai: MOV A,05H SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 30 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Các lệnh dùng các thanh ghi R0 đến R7 thì sẽ ngắn hơn và nhanh hơn các lệnh tương ứng nhưng dùng địa chỉ trực tiếp. Các giá trị dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này. Bank thanh ghi tích cực có thể chuyển đổi bằng cách thay đổi các bit chọn bank thanh ghi trong từ trạng thái chương trình (PSW). Giả sử rằng bank thanh ghi 3 được tích cực, lệnh sau sẽ ghi nội dung của thanh ghi tích lũy vào địa chỉ 18H: MOV R0,A Ý tưởng dùng "các bank thanh ghi" cho phép "chuyển hướng" chương trình nhanh và hiệu qủa (từng phần riêng rẽ của phần mềm sẽ có một bộ thanh ghi riêng không phụ thuộc vào các phần khác). 3.1.3. Các thanh ghi chức năng đặt biệt Các thanh ghi nội của 89S52 được truy xuất ngầm định bởi bộ lệnh. Ví dụ lệnh "INC A" sẽ tăng nội dung của thanh ghi tích lũy A lên 1. Tác động này được ngầm định trong mã lệnh. Các thanh ghi trong 89S52 được định dạng như một phần của RAM trên chip. Vì vậy mỗi thanh ghi sẽ có một địa chỉ (ngoại trừ thanh ghi trực tiếp, sẽ không có lợi khi đặt chúng vào trong RAM trên chip). Ðó là lý do để 89S52 có nhiều thanh ghi. Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt (SFR: Special Funtion Rgister) ở vùng trên của RAM nội, từ địa chỉ 80H đến FFH. Chú ý rằng hầu hết 128 địa chỉ từ 80H đến FFH không được định nghĩa. Chỉ có 21 địa chỉ SFR là được định nghĩa. Ngoại trừ tích lũy (A) có thể được truy xuất ngầm như đã nói, đa số các SFR được truy xuất dùng địa chỉ trực tiếp. chú ý rằng một vài SFR có thể được địa chỉ hóa bit hoặc byte. Người thiết kế phải thận trọng khi truy xuất bit và byte. Ví dụ lệnh sau: SETB 0E0H Sẽ Set bit 0 trong thanh ghi tích lũy, các bit khác không thay đổi. Ta thấy rằng E0H đồng thời là địa chỉ byte của thanh ghi tích lũy và là địa chỉ bit có trọng số nhỏ nhất trong thanh ghi tích lũy. Vì lệnh SETB chỉ tác động trên bit, nên chỉ có địa chỉ bit là có hiệu quả. a.Từ trạng thái chương trình: Từ trạng thái chương trình (PSW: Program Status Word) ở địa chỉ D0H chứa các bit trạng thái như bảng tóm tắt sau: Bảng 3.3: Thanh ghi trạng thái chương trình Ký hiệu Địa chỉ PSW.7 CY D7H PSW.6 AC D6H PSW.5 F0 D5H PSW.4 RS1 D4H PSW.3 RS0 D3H SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Ý nghĩa Cờ nhớ Cờ nhớ phụ Cờ 0 Bit 1 chọn bank thanh ghi Bit chọn bank thanh ghi. Trang 31 ĐỒ ÁN TỐT NGHIỆP PSW.2 PSW.1 PSW.0 OV P GVHD: Ths TỐNG THANH NHÂN D2H D1H D0H 00=bank 0; địa chỉ 00H-07H 01=bank 1: địa chỉ 08H-0FH 10=bank 2:địa chỉ 10H-17H 11=bank 3:địa chỉ 18H-1FH Cờ tràn Dự trữ Cờ Parity chẵn l ẻ • Cờ nhớ (CY) có công dụng kép. Thông thường nó được dùng cho các lệnh toán học: nó sẽ được set nếu có một số nhớ sinh ra bởi phép cộng hoặc có một số mượn phép trừ . Ví dụ: nếu thanh ghi tích lũy chứa FFH, thì lệnh sau: ADD A,#1 Sẽ trả về thanh ghi tích lũy kết qủa 00H và set cờ nhớ trong PSW. Cờ nhớ cũng có thể xem như một thanh ghi 1 bit cho các lệnh luận lý thi hành trên bit. Ví dụ, lệnh sẽ AND bit 25H với cờ nhớ và đặt kết qủa trở vào cờ nhớ: ANL C,25H • Cờ nhớ phụ: Khi cộng các số BCD, cờ nhớ phụ (AC) được set nếu kết qủa của 4 bit thấp trong khoảng 0AH đến 0FH. Nếu các giá trị cộng được là số BCD, thì sau lệnh cộng cần có DA A( hiệu chỉnh thập phân thanh ghi tích lũy) để mang kết qủa lớn hơn 9 trở về tâm từ 0-9. • Cờ 0 (F0) là một bit cờ đa dụng dành các ứng dụng của người dùng. • Các bit chọn bank thanh ghi Các bit chọn bank thanh ghi (RSO và RS1) xác định bank thanh ghi được tích cực. Chúng được xóa sau khi reset hệ thống và được thay đổi bằng phần mềm nếu cần. Ví dụ, ba lệnh sau cho phép bank thanh ghi 3 và di chuyển nội dung của thanh ghi R7 (địa chỉ byte IFH) đến thanh ghi tích lũy:: SETB RS1 SETB RSO MOV A,R7 Khi chương trình được hợp dịch các địa chỉ bit đúng được thay thế cho các ký hiệu "RS1" và "RS0". Vậy lệnh SETB RS1 sẽ giống như lệnh SETB 0D4H. • Cờ Tràn Cờ tràn (OV) được set một lệnh cộng hoặc trừ nếu có một phép toán bị tràn. Khi các số có dấu được cộng hoặc trừ với nhau, phần mềm có thể kiểm tra bit này để xác định xem kết qủa của nó có nằm trong tầm xác định không. Khi các số không dấu được cộng, bit OV có thể được bỏ qua. Các kết qủa lớn hơn +127 hoặc nhỏ hơn -128 sẽ set bit OV. b.Thanh ghi B: Thanh ghi B ở địa chỉ F0H được dùng cùng với thanh ghi tích lũy A cho các phép toán nhân và chia. Lệnh MUL AB sẽ nhân các giá trị không dấu 8 bit trong A và B rồi trả về kết qủa 16 bit trong A (byte thấp) và B (byte cao). Lệnh DIV AB sẽ SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 32 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN chia A cho B rồi trả về kết qủa nguyên trong A và phần dư trong B. Thanh ghi B cũng có thể được xem như thanh ghi đệm đa dụng. Nó được địa chỉ hóa ttừng bit bằng các địa chỉ bit FOH đến F7H. c.Con trỏ ngăn xếp: Con trỏ ngăn xếp (SP) là một thanh ghi 8 bit ở địa chỉ 81H. Nó chứa địa chỉ của byte dữ liệu hiện hành trên đỉnh của ngăn xếp. Các lệnh trên ngăn xếp bao gồm các thao tác cất dữ liệu vào ngăn xếp và lấy dữ liệu ra khỏi ngăn xếp. Lệnh cất dữ liệu vào ngăn xếp sẽ làm tăng SP trước khi ghi dữ liệu, và lệnh lấy dữ liệu ra khỏi ngăn xếp sẽ dọc dữ liệu và làm giảm SP. Ngăn xếp của 89S52 được giữ trong RAM nội và được giới hạn các địa chỉ có thể truy xuất bằng địa chỉ gián tiếp. chúng là 128 byte đầu của 89S52. Ðể khởi động lại SP với ngăn xếp bắt đầu tại 60H, các lệnh sau đây được dùng: MOV SP,#%FH Trên 89S52 ngăn xếp bị giới hạn 32 byte vì địa chỉ cao nhất của RAM trên chip là 7FH. Sở dĩ cùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ lệu đầu tiên. Người thiết kế có thể chọn không phải khởi động lại con trỏ ngăn xếp mà để nó lấy giá trị mặc định khi reset hệ thống. Giá trị măc định đó là 07H và kết qủa là ngăn đầu tiên để cất dữ liệu có địa chỉ 08H. Nếu phần mềm ứng dụng không khởi động lại SP, bank thanh ghi 1 (có thể cả 2 và 3) sẽ không dùng được vì vùng RAM này đã được dùng làm ngăn xếp. Ngăn xếp được truy xuất trực tiếp bằng các lệnh PUSH và POP để lưu giữ tạm thời và lấy lại dữ liệu hoặc được truy xuất ngầm bằng các lệnh gọi chương trình con (ACALL, LACALL) và các lệnh trở về (RET,RETI) để cất và lấy lại bộ đếm chương trình. d.Con trỏ dữ liệu: Con trỏ dữ liệu (DPTR) được dùng để truy xuất bộ nhớ ngoài là một thanh ghi 16 bit ở địa chỉ 82H(DPL: byte thấp) và 83H (DPH:byte cao). Ba lệnh sau sẽ ghi 55H vào RAM ngoài ở địa chỉ 1000H: MOV A,#55H MOV DPTR,#1000H MOVX @DPTR,A Lệnh đầu tiên dùng địa chỉ tức thời để tải dữ liệu 55H vào thanh ghi tích lũy, lệnh thứ hai cũng dùng địa chỉ tức thời, lần này để tải dữ liệu 16 bit 1000H vào con trỏ dữ liệu. Lệnh thứ ba dùng địa chỉ gián tiếp để di chuyển dữ liệu trong A (55H) đến RAM ngoài ở địa chỉ được chứa trong DPTR (1000H). e.Các thanh ghi port xuất nhâp: Các port của 89S52 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90 H, Port 2 ở địa chỉ A0H và Port 3 ở địa chỉ B0H. Tất cả các Port đều được địa chỉ hóa từng bit. Ðiều đó cung cấp một khả năng giao tiếp thuận lợi. f.Các thanh ghi timer: 89S52 chứa 2 bộ định thời đếm 16 bit được dùng trong việc định thời hoặc đếm sự kiện. Timer 0 ở địa chỉ 8AH (TL0:byte thấp) và 8CH (TH0:byte SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 33 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN cao).Timer 1 ở địa chỉ 8BH (TL1:byte thấp) và 8DH (TH1: byte cao). việc vận hành timer được set bởi thanh ghi Timer Mode (TMOD) ở địa chỉ 89H và thanh ghi điều khiển timer (TCON) ở địa chỉ 88H. Chỉ có TCON được địa chỉ hóa từng bit. g.Các thanh ghi port nối tiếp: 89S52 chức một port nối tiếp trên chip dành cho việc trao đổi thông tin với các thiết bị nối tiếp như máy tính, modem hoặc cho việc giao tiếp với các IC khác có giao tiếp nối tiếp (có bộ chuyển đổi A/D, các thanh ghi dịch..). Một thanh ghi gọi là bộ đệm dữ liệu nối tiếp (SBUF) ở địa chỉ 99H ssẽ giữ cả hai giữ liệu truyền và nhận. Khi truyền dữ liệu thì ghi lên SBUF khi nhận dữ liệu thì đọc SBUF. Các mode vận hành khác nhau được lập trình qua thanh ghi điều khiển port nối tiếp (SCON) (được địa chỉ hóa từng bit) ở địa chỉ 98H. 3.1.4. Bộ định thời timer Bảng 3.5: Thanh ghi chức năng đặc biệt dùng timer SFR MỤC ĐÍCH ĐỊA CHỈ TCON TMOD TL0 TL1 TH0 TH1 Điều khiển timer Chế độ timer Byte thấp của timer 0 Byte thấp của time 1 Byte cao của timer 0 Byte cao của timer 1 88H 89H 8AH 8BH 8CH 8DH Địa chỉ hóa từng bit Có Không Không Không Không Không Thanh ghi chế độ timer (TMOD). Thanh ghi TMOD chứa 2 nhóm 4 bit dùng để đặt chế độ làm việc cho timer 0 và timer 1. Bảng 3.6: Tóm tắt thanh ghi TMOD. Bit Tên Timer Mô tả Bit (Mở) cổng, khi lên 1 timer chỉ chạy khi 7 GATE 1 INT 1 ở mức cao. 6 C/T 1 5 4 M1 M0 1 1 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Bit chọn chế độ counter/timer. 1=bộ đếm sự kiện. 0=bộ định khoảng thời gian. Bit 1 của chế độ (mode). Bit 0 của chế độ. 00: chế độ 0: timer 13 bit 01: chế độ 1: timer 16 bit Trang 34 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN 3 GATE 0 2 1 0 C/T M1 M0 0 0 0 10: chế độ 2: tự động nạp lại 11: chế độ 3: tách timer Bit (Mở) cổng, khi lên 1 timer chỉ chạy khi INT 0 ở mức cao. Thanh điều khiển timer (TCON). Thanh ghi TCON chứa các bit trạng thái và các bit điều khiển cho timer 0 và trimer 1. Bảng 3.7: Thanh ghi điều khiển timer Bit Ký hiệu Địa chỉ Mô tả Cờ báo tràn timer 1. Đặt bởi phần cứng khi TCON.7 TF1 8FH tràn, được xoá bằng phần mềm hoặc phần cứng khi bộ xử lí chỉ đến chương trình phục vụ ngắt. Bit điều khiển timer 1 chạy. Đặt/xoá bằng phần TCON.6 TR1 8EH mềm cho timer chạy/ngưng. TCON.5 TF0 8DH Cờ báo tràn timer 0. TCON.4 TR0 8CH Bit điều khiển timer 0 chạy. Cờ cạnh ngắt 1 bên ngoài, đặt bởi phần cứng khi phát hiện một cạnh xuống (IT1=1) hoặc TCON.3 IE 8BH mức thấp (IT1=0) ở INT1, xoá bằng phần mềm hoặc phần cứng khi CPU chỉ đến chương trình phục vụ ngắt. Cờ kiểu ngắt 1 bên ngoài.. TCON.2 IT 8AH Đặt/xoá bằng phần mềm để ngắt ngoài tích cực cạnh xuống/mức thấp. TCON.1 IE0 89H Cờ cạnh ngắt 0 bên ngoài. TCON.0 IT0 88H Cờ kiểu ngắt 0 bên ngoài. 3.1.5. Tổ chức ngắt Ở 89S52 có 5 nguồn ngắt: 2 ngắt ngoài 2 ngắt từ timer. 1 ngắt port nối tiếp. Tất cả các ngắt sẽ không được đặt sau khi reset hệ thống và cho phép ngắt riêng rẽ bởi phần mềm. a.Cho phép và không cho phép ngắt. Mỗi nguồn ngắt được cho phép hoặc không cho phép từng ngắt một qua thanh ghi chức năng đặt biệt cố định địa chỉ bit IE (Interrupt Enable : cho phép - SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 35 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN ngắt) ở địa chỉ A8H. Cũng như các bit cho phép mỗi nguồn ngắt, có một bit cho phép hoặc cấm toàn bộ được xóa để cấm tất cả các ngắt hoặc được đặt lên 1 để cho phép tất cả các ngắt. Bảng 3.8: Ngắt và cấm ngắt Bit Ký hiệu Địa chỉ bit Mô tả (1=cho phép,0=cấm) IE.7 IE.6 IE.5 IE.4 IE.3 IE.2 IE.1 IE.0 EA EA ET5 E5 ET1 EX1 ET0 EX0 AFH AEH ADH ACH ABH AAH A9H 8H Cho phép hoặc cấm toàn bộ Không được định nghĩa Cho phép ngắt từ timer 2 (8052) Cho phép ngắt Port nối tiếp Cho phép ngắt từ timer 1 Cho phép ngắt ngoài 1 Cho phép ngắt từ timer 0 Cho phép ngắt ngoài 0 b.Ưu tiên ngắt. Mỗi nguồn ngắt đuợc lập trình riêng vào một trong hai mức ưu tiên qua thanh ghi chức năng đặc biệt được địa chỉ bit Ip (Interrupt priority : ưu tiên ngắt) ở địa chỉ B8H. Bảng 3.9: Ưu tiên ngắt Bit Ký hiệu Địa chỉ bit Mô tả (1=mức cao,0=mức thấp) IP.7 Không được định nghĩa IP.6 Không được định nghĩa IP.5 PT2 BDH Ưu tiên cho ngắt từ timer 2 (8052) IP.4 PS BCH Ưu tiên cho ngắt Port nối tiếp IP.3 PT1 BBH Ưu tiên cho ngắt từ timer 1 IP.2 PX1 BAH Ưu tiên cho ngắt ngoài IP.1 PT0 B9H Ưu tiên cho ngắt từ timer 0 IP.0 PX0 B8H Ưu tiên cho ngắt ngoài 0 Các ngắt ưu tiên được xóa sau khi reset hệ thống để đặt tất cả các ngắt ở mức ưu tiên thấp hơn. c. Xử lí ngắt. Khi có một ngắn xẩy ra và được CPU chấp nhận, chương trình chính bị ngắt quãng. Những hoạt động sau xẩy ra: - Thi hành hoàn chỉnh lệnh đang hiện hành. - Các DC vào ngắt xếp. - Trạng thái ngắt hiện hành được cất bên trong. - Các ngắt được chặn tại mức của ngắt. - Nap vàp DC địa chỉ Vector của ISR. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 36 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN - ISR thực thi. ISR thực thi và đáp ứng ngắt. ISR hoàn tất bằng lệnh RET1. Ðiều này làm lấy lại giá trị cũ của PC từ ngăn xếp và lấy lại trạng thái ngắt cũ. Chương trình lại tiếp tục thi hành tại nơi mà nó dừng. • Các Vector ngắt. Khi chấp nhận ngắt, giá trị được nạp vào PC được gọi là Vector ngắt. Nó là địa chỉ bắt đầu của ISR cho nguồn tạo ngắt. Các Vector ngắt được cho ở bảng sau: Bảng 3.10: Các Vector ngắt Ngắt Reset hệ thống Bên ngoài 0 Timer 0 Bên ngoài 1 Timer 1 Port nối tiếp Timer2 Cờ RST IE0 TF0 IE1 TF1 TI hoặc RI TF2 hoặc IE2 địa chỉ Vector 0000H 0003H 000BH 0013H 001BH 0023H 002BH Vector reset hệ thống (RST ở địa chỉ 0000H) nó giống như một ngắt. Nó ngắt chương trình chính và tải vào PC một giá trị mới. Khi chỉ đến một ngắt "cờ gây ngắt tự động bị xóa bởi phần cứng, trừ ra R1, T1 cho các ngắt cổng nối tiếp. Vì có hai nguồn có thể có cho ngắt này, không thực tế để CPU xóa cờ ngắt này. Các bit phải được kiểm tra trong ISR để xác định nguồn ngắt và cờ tạo ngắt sẽ được xóa bằng phần mềm. d. Các ngắt của 89C52 Các ngắt timer. Các ngắt timer có địa chỉ Vector ngắt là 000BH (timer 0) và 001BH (timer 1). Ngắt timer xẩy ra khi các thanh ghi timer (TLx ITHx) tràn và set cờ báo tràn (TFx) lên 1. Các cờ timer (TFx) không bị xóa bằng phần mềm. Khi cho phép các ngắt, TFx tự động bị xóa bằng phần cứng khi CPU chuyển đến ngắt. Các ngắt cổng nối tiếp. Ngắt cổng nối tiếp xẩy ra khi hoặc cờ phát (TI) hoặc cờ ngắt thu (KI) được đặt lên 1. Ngắt phát xẩy ra khi một ký tự đã được nhận xong và đang đợi trong SBUF để được đọc. Các ngắt cổng nối tiếp khác với các ngắt timer. Cờ gây ra ngắt cổng nối tiếp không bị xóa bằng phần cứng khi CPU chuyển tới ngắt. Do có hai nguồn ngắt cổng nối tiếp TI và RI. Nguồn ngắt phải được xác định trong ISR và cờ tạo ngắt sẽ được xóa bằng phần mềm. Các ngắt timer cờ ngắt cờ ngắt được xóa bằng phần cứng khi CPU hướng tới ISR. Các ngắt ngoài. Các ngắt ngoài xẩy ra khi có một mức thấp hoặc cạnh xuống trên chân INT0 hoặc INT1 của vi điều khiển. Ðây là chức năng chuyển đổi của các bit Port 3.(Port 3.2 và Port 3.3). SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 37 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Các cờ tạo ngắt này là các bit IE0 vá IE1 trong TCON. Khi quyền điều khiển đã chuyển đến ISR, cờ tạo ra ngắt chỉ được xóa nếu ngắt được tích cực bằng cạnh xuống. Nếu ngắt được tích cực theo mức, thì nguồn yêu cầu ngắt bên ngoài sẽ điều khiển mức của cờ thay cho phần cứng Sự lựa chọn ngắt tích cực mức thấp hay tích cực cạnh xuống được lập trình qua các bit IT0 và IT1 trong TCON. Nếu IT1 = 0, ngắt ngoài 1 được tác động bằng múc thấp ở chân IT1. Nếu IT1 = 1 ngắt ngoài 1 sẽ được tác động bằng cạnh xuống. trong chế độ này, nếu các mẫu liên tiếp trên chân INT1 chỉ mức cao trong một chu kỳ và chỉ mức thấp trong chu kỳ kế, cờ yêu cầu ngắt IE1 trong TCON được đặt lên 1, rồi bit IÉ yêu cầu ngắt. Nếu ngắt ngoài được tác động bằng cạnh xuống thì nguồn bên ngoài phải giữ chân tác động ở mức cao tối thiểu một chu kỳ và giữ nó ở mức thấp thêm một chu kỳ nữa để đảm bảo phát hiện được cạnh xuống. Nếu ngắt ngoài được tác động theo mức thì nguồn bên ngoài phải giữ tín hiệu yêu cầu tác động cho đến khi ngắt được yêu cầu được thật sự tạo ra và không tác động yêu cầu ngắt trước khi ISR được hoàn tất . Nếu không một ngắt khác sẽ được lặp lại. 3.2. IC MAX 232 Max 232 dùng để chuyển đổi các mức điện áp RS 232 về mức điện áp TTL và ngược lại. 11 10 T 1 IN T 2 IN C C C C V V 1 1 2 2 + - R 1O U T R 2O U T T1O U T T2O U T 12 9 14 7 + + G N D 1 3 4 5 2 6 R 1 IN R 2 IN VC C 13 8 16 U 1 15 M A X232 Hình 3.3: Sơ đồ chân MAX 232. + Max 232 có 2 kênh, mỗi kênh gồm 1 cặp tín hiệu vào ra: - Kênh 1: R1in, T1in và R1 out, T1 out. - Kênh 2: R2 in, T2 in và R2 out, T2 out. + Trong sơ đồ nguyên lý chỉ có kênh 1 được sử dụng. - Chân 14 (T1 out) được nối tới chân 2( RXD) của DB9 thực hiện chức năng thu dữ liệu từ vi điều khiển gửi xuống máy tính, ngõ vào của chân 14 là chân 11 (T1 in) . - Chân 13 (R1 in) được nối tới chân 3 (TXD) của DB9 thực hiện chức năng truyền dữ liệu từ máy tính đến vi điều khiển, ngõ ra của chân 13 là chân 12 (R1 out). SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 38 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN + Vì nó thực hiện chức năng chuyển đổi RS 232 - TTL cho nên: áp đầu vào sẽ bị đổi mức ở đầu ra. 3.3. IC SN75176B SN75176 dùng để chuyển đổi tín hiệu RS 485 sang mức logic TTL và ngược 1 U 2 D VC C 4 8 lại. R A S N 75176 7 R E 5 2 B D E G N D 3 6 Hình 3.4: Sơ đồ chân SN75176B + Chân 5,8 được dùng để cấp nguồn cho SN75176B - Chân 8 nối lên Vcc (4,75V < Vcc< 5,25V) - Chân 5 nối xuống max. + Chân 1 dùng để thu dữ liệu + Chân 4 dùng để truyền dữ liệu + Chân 2,3 điều khiển việc truyền, thu dữ liệu - Chân 2 nối xuống max cho phép thực hiện chức năng thu dữ liêu. - Chân 3 nối lên Vcc cho phép thực hiện chức năng truyền dữ liệu. + Chân 6, 7 là 2 chân so sánh điện áp, mang dữ liệu theo chuẩn RS 485. Hình 3.5: Sơ đồ logic của SN75176B Bảng 3.11: Các trạng thái của khối điều khiển của SN75176B SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 39 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Bảng 3.12: Các trạng thái của khối thu SN75176B 3.4. IC 74LS123 IC 74LS123 có chức năng chính là tạo ra xung báo bận trên đường truyền RS 16 485 C Q Q R /C S N 74LS123 VC C R /C C Q Q C LR B G N D 6 5 4 7 A B C LR A 1 1 1 1 1 1 5 4 3 2 1 0 9 8 1 2 3 Hình 3.6: Sơ đồ chân 74LS123. + Lối vào là chân 1 và lối ra là chân 13 + Lối vào là chân 9 và lối ra là chân 5. Bảng 3.13 : Trạng thái vào ra của 74LS123 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 40 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN 3.5. TRIAC BT134 + BT 134 dẫn điện xoay chiều khi được kích mở, trong mạch điện thiết kế nó được dùng để điều khiển sáng, tắt của bóng đèn. + Sơ đồ chân: T2 T R IA C T1 G1 Hình 3.7: Sơ đồ chân Triac + Cấu tạo: -Triac là các lớp bán dẫn P, N ghép nối tiếp nhau và được nối ra 3 chân, 2 chân đầu cuối được gọi là T1 – T2 và 1 chân là cửa G. - Triac tương đương với 2 SCR mắc song song và ngược chiều nhau. Cả 2 SCR được điều khiển bằng 1 điện cực G. + Có 2 cách thường dùng để mở Triac là: - Khi cực T2 có điện thế dương và cực G được kích xung dương thì Triac dẫn điện theo chiều từ T2 qua T1. - Khi cực T2 có điện thế âm và cực G được kích xung âm thì Triac dẫn điện theo chiều từ T1 qua T2. - Khi Triac được dùng trong mạch điện xoay chiều công nghiệp thì: khi nguồn có bán kỳ dương cực G cần được kích xung dương; nguồn có bán kỳ âm cực G cần được kích xung âm. Triac cho dòng điện chạy qua nó cả 2 chiều và khi đã dẫn thì thì điện thế trên 2 cực T1 và T2 rất nhỏ nên được coi như là công tắt bán dẫn dùng trong mạch điện xoay chiều Sau khi được kích mở Triac vẫn tiếp tục mở. Triac chỉ khóa khi dòng qua nó giảm xuống bằng 0. 3.6. OPTO TRIAC MOC3020 Mạch sử dụng opto triac MOC3020 để điều khiển góc kích cho triac BT134. Sơ đồ chân MOC3020: 1 IS O 1 2 6 4 M O C 3020 Hình 3.8: Sơ đồ chân MOC3020 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 41 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHƯƠNG IV: THIẾT KẾ PHẦN CỨNG 4.1. SƠ ĐỒ KHỐI TỔNG QUÁT CỦA HỆ THỐNG. Tác động Máy tính RS 232 ↔ RS 485 RS 485 ↔ TTL Modun điều khiển Chấp hành Hình 4.1: Sơ đồ khối của toàn bộ hệ thống Máy tính có nhiệm vụ khởi tạo dao diện người dùng, người dùng tác động vào các nút nhấn để điều khiển các thiết bị chấp hành ở dưới. Khối chuyển đổi RS-232 sang RS-485 và ngược lại có nhiệm vụ chuyển đổi mức tín hiệu nhằm mục đích nâng cao khoảng cách truyền. Môi trường truyền là cáp xoắn, dùng loại cáp mạng làm đường truyền cân bằng có tác dụng kháng nhiễu tốt. Khối chuyển đổi từ RS-485 sang TTL và ngược lại có tác dụng chuyển đổi tín hiệu cho tương thích với TTL của vi điều khiển. Module điều khiển có nhiệm vụ nhận tín hiệu điều khiển từ máy tính để điều khiển tắt,mở các thiết bị bên dưới. Phần tử tác động là các công tắc có thể điều khiển tắc mở các thiết bị một cách độc lập với máy tính. Phần tử chấp hành là tải sử dụng điện áp 220V. Ở đây trong giới hạn của đồ án, nhóm thực hiện đề tài chỉ sử dụng các đèn dây tóc loại 220V/10W làm tải. 4.2. SƠ ĐỒ NGUYÊN LÝ TỪNG KHỐI. 4.2.1. Sơ đồ nguyên lý khối chuyển đổi từ RS-232 sang RS-485 và ngược lại. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 42 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 4.2: Sơ đồ nguyên lý khối giao tiếp máy tính. HI Vcc R 4 0 R 5 HI Vcc 2 2 R 1 1K H M AX 232 Vcc H I 1 A1 8 1 4 3 2 R D D E R E SN 75176B A VC C 10K G N D P in 1 2 R 2 B 6 7 R 3 120 B1 5 LED 1 RS 485 D 1 0 Vcc Hình 4.3: Sơ đồ nguyên lý khối phát với bộ chuyển đổi TTL sang RS-485. Chân DE nối lên Vcc cho phép thực hiện chức năng phát tín hiệu. Tín hiệu từ ngõ ra của MAX232 đi vào chân D của SN75176B chuyển mức tín hiệu từ TTL sang RS-485 để phát đến khối điều khiển. Mạch có led báo trạng thái phát và điện trở R kéo lên nguồn Vcc. Jumper H có thể gắn vào hoặc tháo ra để phối hợp trở kháng. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 43 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN HI R 4 0 R 5 HI Vcc 2 2 R 1 1K H 1 1 RS 485 D 1 R 2 8 A2 M AX 232 0 R D D E R E SN 75176B A VC C 1 4 3 2 G N D 10K B 6 R 3 120 7 B2 5 P in 1 1 LED 0 Hình 4.4: Sơ đồ ngyên lý khối phát với bộ chuyển đổi RS-485 sang TTL. Chân RE\ nối xuống mass cho phép thực hiện chức năng thu tín hiệu. Tín hiệu từ RS-485 của đường truyền được thu vào và chuyển đổi thành TTL đi vào ngõ thu của MAX232. Mạch có led báo trạng thái thu và điện trở R có nhiệm vụ kéo lên nguồn Vcc. Jumper H có thể gắn vào hoặc tháo ra để phối hợp trở kháng. Xác định điện trở phân cực R4,R5: Điện trở R4 và R5 là 2 điện trở phân cực dùng để ép đường truyền lên mức cao khi đường truyền rãnh, 2 điện trở này chỉ dùng ở khối chuyển đổi giữa RS-232 và RS-485. Chúng giúp cho sự sai biệt giữa hai đường truyền V AB > 200mV. Giá trị R4, R5 phụ thuộc vào điện trở đầu cuối và số lượng các trạm trên đường truyền. Để tiện việc mở rộng số lượng các module sau này, ta sẽ tính toán điện trở R4,R5 cho một hệ thống có 32 module tương ứng với 32 trạm. Và dĩ nhiên sẽ tốt cho ít hơn 32 trạm. Như vậy ta có: 32 trạm RS-485, trở kháng ngõ vào là 12K cho 1 trạm, 2 điện trở đầu cuối là 120Ω Vcc = 5VDC Chúng ta hình dung 32 trạm và 2 điện trở đầu cuối sẽ mắc song song với nhau tạo thành 1 tải RT, và điện trở RT lại mắc nối tếp với R4,R5. 32 trạm song song sẽ có giá trị điện trở tương đương là 375Ω. 2 điện trở đầu cuối song song sẽ có giá trị là 60Ω. Điện trở RT RT = 375 x 60/(375+ 60) = 52Ω. Để có ít nhất VAB = 200mV dòng qua RT là: I = V/RT = 200mV/52Ω = 3,8mA VR4 = VR5 = 4,8V/2 = 2,4V. Cuối cùng ta có: R4 = R5 = 2,4V/3,8mA = SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA 631Ω. Trang 44 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Vậy trong chừng mực cho phép giá trị điện trở bé hơn 631Ω là đảm bảo. Ở đây ta chọn R4 = R5 = 620Ω là hợp lí. Thiết kế mạch bảo vệ đường truyền: Sơ đồ nguyên lý: A 1N 4148 HI 1N 4148 5 .6 V 5 .6 V 0 1N 4148 1N 4148 B Hình 4.5: Mạch bảo vệ đường truyền RS-485. Việc kết nối phải đảm bảo áp trên đường truyền không quá +11,2V và thấp hơn -11,2V.Nếu áp quá cao có thể gây nhiễu hoặc hư hỏng đường truyền HI 0 2 2 + H2 D3 5 D7 +5V D6 D5 1 1 D1 11 10 12 9 U3 8 T 1 IN T 2 IN R 1O U T R 2O U T H1 R3 1 4 3 2 +5V M A X232 R D DE RE A VCC T1O U T T2O U T R 1 IN R 2 IN +5V GND 4 .7 K 14 7 13 8 4 R2 C3 B 6 R8 D4 5V6 5V6 D8 0 7 J1 COM HI SN 75176B 5 C 2R1 3 0 R7 HI C 2+ 1 + + + C 1- V- 0 1 2 3 4 5 9 8 7 6 6 C 1+ V+ HI D B9A 2 R6 C4 C1 HI HI +5V U2 C2 +5V 0 1 2 3 4 5 6 7 8 +5V 0 R9 +5V H3 R5 R J 45 2 2 HI R4 0 R 10 H4 HI D9 +5V D 13 D 12 1 D 11 8 SN 75176B A VCC R D DE RE 6 R 11 GND 1 4 3 2 B 7 D 10 5V6 5V6 D 14 0 5 HI +5V 1 U4 D2 0 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 45 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 4.6: Sơ đồ nguyên lý khối chuyển đổi giữa RS-232 và RS-485. 4.2.2. Sơ đồ nguyên lý khối thu và chuyển đổi giữa RS-485 và TTL. Thiết kế khối chuyển đổi RS-485 và TTL: Sơ đồ nguyên lý: HI Vcc R 1 1K A1 D 1 8 S N 75176B A B 6 7 1 0 R D D E R E 2 1 4 3 2 VC C 10K G N D LED RS 485 5 VDK R 3 120 R 2 0 B1 Hình 4.7: Sơ đồ nguyên lý khối chuyển đổi từ RS-485 thành TTL. Sơ đồ nguyên lý này hoàn toàn giống như sơ đồ chuyển đổi giữa RS-485 và RS-232. 4.2.3. Sơ đồ nguyên lý khối phát và sơ đồ nguyên lý chuyển đổi TTL thành RS-485, khối báo bận đường truyền: Ngõ ra chân số 5 của 74LS123 cho phép phát hay kiểm tra đường truyền được thực hiện. Bình thường chân DE, RE\ ở mức thấp cho phép thu tín hiệu từ ngoài vào cho phép nhận biết trạng thái đường truyền, việc phát bị vô hiệu hoá. Đường truyền rãnh, chân số 4 của 74LS123 lên mức cao, khi trên đường truyền xuất hiện cạnh xuống thì chân số 4 của 74LS123 xuống mức thấp báo bận đường truyền. Cứ một cạnh xuống thì báo bận một khoảng thời gian T W, thời gian báo bận này được xác định bởi điện trở và tụ điện bên ngoài. TW = K.R.C TW : thời gian đơn ổn (ns). R : điện trở ngoài (kΩ). C : tụ điện ngoài (pF). K : hệ số. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 46 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN H I Vcc R 6 R D 2 R 7 R P 3 .1 LED Vcc P 3 .4 C 1 9 10 HI HI 11 C R /C Vcc A2 R 3 120 C LK 8 R 5 12 R 9 R SN 75176B A B 6 7 1 HI Vcc D D E R E R 2 4 3 2 1 VC C SN 74LS123 G N D H I Vcc 0 14 15 R 10 HI 3 Q Q A B C R /C C LK 1 2 HI Vcc SN 74LS123 G N D 13 4 C 2 VC C LED Vcc B2 16 D 3 RS 485 5 Vcc Q Q HI 6 7 R 8 A B 8 R 0 Hình 4.8: Sơ đồ nguyên lý chuyển đổi TTL thành RS-485, khối báo bận đường truyền. 4.2.4. Sơ đồ nguyên lý điều khiển tải bằng triac. 220V HI Vcc 1K 470 10K 6 LED 1 P0 B T134 2 C 2 T R IA C 4 M O C 3020 DOMINO Hình 4.9: Sơ đồ điều khiển tải bằng triac. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 47 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Mạch sử dụng opto triac MOC3020 để điều khiển góc kích cho triac BT134, điện trở 1K hạn dòng cho opto, điện trở 470 và tụ 103 dùng để chống sốc cho triac khi dùng tải kháng. 4.2.5. Sơ đồ nguyên lý khối chuyển đổi TTL và RS-485, module điều khiển. HI 220V +5V R 26 R 10 1 HI 2 1 1 1 2 +5V C8 103 M O C 3020 S N 75176 1 4 3 2 10 11 12 13 14 15 16 17 2 H5 0 0 +5V 22K 2 C9 103 P 2.0 /A 8 P 2.1 /A 9 P 2 .2 /A 1 0 P 2 .3 /A 1 1 P 2 .4 /A 1 2 P 2 .5 /A 1 3 P 2 .6 /A 1 4 P 2 .7 /A 1 5 P 1 .0 P 1 .1 P 1 .2 P 1 .3 P 1 .4 P 1 .5 P 1 .6 P 1 .7 P 0 .0 /A D 0 P 0 .1 /A D 1 P 0 .2 /A D 2 P 0 .3 /A D 3 P 0 .4 /A D 4 P 3 .0 /R X D P 0 .5 /A D 5 P 3 .1 /T X D P 0 .6 /A D 6 P 3 .2 /IN T 0 P 0 .7 /A D 7 P 3 .3 /IN T 1 P 3 .4 /T 0 A L E /P R O G P 3 .5 /T 1 PSEN P 3 .6 /W R GND P 3 .7 /R D RST 1 1 SW 7 SW 8 2 4 1 21 22 23 24 25 26 27 28 R 12 100 2 LE D 1K 1 22K C 10 103 +5V R 37 R 29 LE D 1K 1 22K 2 R9 0 C 11 103 LED +5V R 38 4 1 3 2 10u +5V SW 1 R8 +5V 100 LE D +5V C 12 103 1 6 7 C3 +5V C R /C 74LS 173 R7 100k R 39 C Q 14 12 R 31 R9 100K +5V R 15 100 LE D C6 1K 22K 1 B T134 2 104 R 11 1K C 13 103 HI D3 +5V R 16 100 LE D LED R 40 1K 1 22K TB 7- 1 B T134 2 C 14 103 4 HI R 17 22K TB 8- 1 6 LE D R 41 1K 1 B T134 2 C 15 103 4 M O C 3020 Hình 4.10: Sơ đồ nguyên lý khối chuyển đổi TTL và RS-485, module điều khiển 4.2.6. sơ đồ nguyên lý hiển thị led 7 đoạn. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA TB 7- 2 M O C 3020 +5V R 33 100 TB 6- 2 M O C 3020 R 32 0 TB 6- 1 6 VCC Q Q 1 2 3 10 11 15 HI 104 A B C LR B C LR R /C Q HI 4 5 A GND 13 TB 5- 2 M O C 3020 +5V 8 2 9 0 TB 5- 1 B T134 5 HI 16 22K 1K 1 2 10k HI S N 75176 H6 R 30 R 14 4 B C7 10k 8 R2 D R DE RE HI 120 7 A GND VCC 6 8 .2 k HI R J 45 TB 4- 2 M O C 3020 6 AT89C 51 D2 TB 4- 1 B T134 4 R6 TB 3- 2 M O C 3020 R 13 100 TB 3- 1 B T134 2 30 29 20 9 R 36 R 28 2 0 39 38 37 36 35 34 33 32 TB 2- 2 M O C 3020 4 XTA L2 +5V HI R 5 1k XTA L1 SW 6 T B 2 -1 B T134 1 HI 1 2 3 4 5 6 7 8 1 6 J2 2 R 35 6 8 B GND VCC R1 R D DE RE 5 120 A LE D HI 1 2 3 4 5 6 7 8 33p D1 LED 7 2 R 27 1K 4 HI +5V 0 6 R 11 100 6 31 40 18 E A /V P P VCC 19 12Mhz C5 R 4 10k SW 5 2 HI 33p R 3 1k SW 4 TB 1- 2 2 1 2 3 4 5 6 7 8 C4 SW 3 TB 1- 1 22K B T134 6 16 15 14 13 12 11 10 9 10k 1 R 34 1K 4 1 SW 2 HI +5V SW 1 LE D 6 100 Trang 48 TB 8- 2 A 1 01 5 3 3 0 3 30 33 0 3 30 3 30 V C C V C C le d 4 A B C D E F G H V C C A B C D E F G H 33 0 A 10 1 5 le d 3 V C C V C C A B C D E F G H V C C le d 2 Vcc 2 .2 K V C C A 10 15 le d 1 33 0 P 3 .6 2 .2 K V C C A 1 0 15 P 1 P 3 .5 2 .2 K Vcc H I P 3 .3 2 .2 K Vcc H I Vcc H I H I P 3 .2 GVHD: Ths TỐNG THANH NHÂN A B C D E F G H ĐỒ ÁN TỐT NGHIỆP 33 0 1 2 3 4 5 6 7 8 Hình 4.11: Sơ đồ nguyên lý hiển thị led 7 đoạn Tính chọn điện trở và transistor. H I Vb R b A1015 LED R c 0 Hình 4.12: hình thu gọn của led 7 đoạn. Để một đoạn led 7 đoạn đủ sáng thì dòng trung bình qua mỗi đoạn led từ 7 – 20mA. Mà led 7 đoạn có 8 đoạn, nên dòng trung bình qua cả led là: I tb = 56 mA – 160 mA, chọn dòng trung bình là 80mA. Đây cũng chính là dòng qua transistor. Vled = 1.8V là điện áp rơi trên led. Chọn A1015 là transistor loại nhỏ kéo được dòng 200mA. βbh = 45 Transistor lam việc ở chế độ bão hoà, nên VCesat = 0.2V Từ hình 4.12. Ta có IC = 80mA,⇒ IB = IC/βbh = 80/45 = 1,78mA Điện trở phân cực cho transistor là: R B = (VCC – VBE)/IB = (5 – 0,7)/1,78.10 -3 = 2,4KΩ SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 49 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Ta chọn RB = 2,2KΩ, dòng thực tế IB = 1,95mA Điện trở hạn dòng: RC = (VCC – VCesat – Vled)/IC Với IC = ICmax/8 = 1,95.45/8 = 10,9mA ⇒ RC = (5 – 0,2 – 1,8)/10,9.10-3 = 275Ω Ta chọn: RC = 330Ω SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 50 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHƯƠNG V: GIẢI THUẬT VÀ CHƯƠNG TRÌNH 5.1. XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN TRÊN CÁC MODULE. 5.1.1. Lưu đồ giải thuật ngắt nối tiếp. Ngắt nối tiếp RI = 1 S Y Đ TI = 1 A = Sbuf Xoá RI Xoá TI Set bit truyền RETI Hình 5.1: Lưu đồ ngắt nối tiếp. Giải thích: Hoạt động ngắt nối tiếp xảy ra khi có một dữ liệu được truyền đi hoặc một dữ liệu từ các module, máy tính gởi đến. Nếu một dữ liệu được truyền đi thì vi điều khiển sẽ kiểm tra việc truyền byte dữ liệu và chờ cho đến khi byte dữ liệu được truyền đi hoàn tất. Ngược lại nếu một dữ liệu được nhận vào thì vi điều khiển cũng kiểm soát việc nhận dữ liệu để đảm bảo dữ liệu được nhận vào đầy đủ và chính xác. 5.1.2. Lưu đồ nhận dữ liệu điều khiển. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 51 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Hình 5.2: Lưu đồ xử lý dữ liệu bằng công tắc. 5.2. XÂY DỰNG CHƯƠNG TRÌNH ĐIỀU KHIỂN TRÊN MÁY TÍNH. 5.2.1. Yêu cầu chương trình điều khiển trên máy tính. Phải giao tiếp và bắt tay được với phần cứngđã thiết kế. Xử lý được các dữ liệu nhận được. Để thực hiện việc giao tiếp giữa phần mềm và phần cứng đã thiết kế, Visual Basic hỗ trợ một thành phần MSComm cho phép truyền và nhận dữ liệu qua cổng Com một cách dễ dàng. Việc truyền và nhận dữ liệu được thực hiện bằng các lệnh: MSComm.Output = “dữ liệu” (truyền dữ liệu). - SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 52 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Tạm = MSComm.Input (nhận dữ liệu). 5.2.2. Lưu đồ giải thuật. Begin Thiết lập các giá trị cho cổng truyền thông Mở cổng truyền thông Open COM1 Đ S Open COM2 Đ S Flag mở cổng = False Flag mở cổng = True End Hình 5.3: Lưu đồ mở cổng truyền thông. Quá trình mở cổng truyền thông được thực hiện thông qua việc thiết lập các thông số đường truyền: tốc độ baud, số bit dữ liệu, kiểm tra chẵn lẻ, bit Stop, cổng truyền thông. Các thông số truyền thông đã được thiết lập, ta tiến hành mở cổng truyền thông bắt đầu bằng cổng COM1, nếu quá trình mở cổng thành công cờ “mở cổng truyền thông” bằng true. Ngược lại ta tiến hành mở cổng COM2, nếu quá trình mở cổng thành công cờ “mở cổng truyền thông” bằng True, ngược lại cờ “mở cổng truyền thông” bằng False. Quá trình mở cổng kết thúc. If Open OM1 = True Then FlagOpenCom = True SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 53 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Else IfOpen COM2 = True Then FlagOpenCom = True Else FlagOpenCom = False Để nhận giá trị truyền thông từ thiết bị phần cứng về máy tính, ta thực hiện việc hỏi vòng, kiểm tra đường truyền xem có dữ liệu hay không. Nếu có sự kiện truyền dữ liệu lên máy tính, dữ liệu sẽ được phần mềm ghi nhận và xử lý trong từng trường hợp cụ thể. Begin Ko sự kiện Kiểm tra cổng truyền thông Có sự kiện Ghi nhận dữ liệu Xử lý dữ liệu Thoát Hình 5.4: Lưu đồ hỏi vòng nhận sự kiện truyền thông từ module điều khiển. 5.3. CHƯƠNG TRÌNH PHẦN MỀM. 5.3.1. Chương trình viết cho vi điều khiển. ;-----------------chuong trinh dieu khien thiet bi-----------------------------ORG 0000H LJMP MAIN SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 54 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN ORG 0023H LJMP NGAT ORG 0030H ;-------------------------------------------------------------------------------------------MAIN: LCALL DELAY LCALL DELAY LCALL DELAY LCALL DELAY MOV SP,#35H MOV TMOD,#20H MOV TH1,#-3;----------------1200 MOV SCON,#52H MOV IE,#90H CLR 09H;----------lam co phat MOV R0,#02H SETB TR1 mov p1,#00h SETB 01H;-------bit so sanh de dieu khien cong tac 1 SETB 02H;-------bit so sanh de dieu khien cong tac 2 SETB 03H;-------bit so sanh de dieu khien cong tac 3 SETB 04H;-------bit so sanh de dieu khien cong tac 4 SETB 05H;-------bit so sanh de dieu khien cong tac 5 SETB 06H;-------bit so sanh de dieu khien cong tac 6 SETB 07H;-------bit so sanh de dieu khien cong tac 7 SETB 08H;-------bit so sanh de dieu khien cong tac 8 setb p3.4 ;=================================================== TIEP: LCALL LCALL KTRA CAPNHAT SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 55 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN SJMP TIEP ;================================================ ;------kiem tra trang thai cong tac----------------------------------------KTRA: JB LCALL P2.0, KTRA1 DELAY JNB 01H, SW2 JB P2.0,KTRA1 CPL 01H MOV C,01H MOV P0.0,C LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'A' LCALL PHAT SJMP SW2 KTRA1: JB 01H,SW2 CPL 01H MOV C,01H MOV P0.0,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'a' LCALL PHAT ;-----------------------------------------------------------------------SW2: JB P2.1,KTRA2 LCALL DELAY JNB 02H,SW3 JB P2.1,KTRA2 CPL 02H SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 56 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN MOV C,02H MOV P0.1,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'B' LCALL PHAT SJMP SW3 KTRA2: JB 02H,SW3 CPL 02H MOV C,02H MOV P0.1,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'b' LCALL PHAT ;-------------------------------------------------------------------SW3: JB P2.2,KTRA3 LCALL DELAY JNB 03H,SW4 JB P2.2,KTRA3 CPL 03H MOV C,03H MOV P0.2,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'C' LCALL PHAT SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 57 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN SJMP SW4 KTRA3: JB 03H,SW4 CPL 03H MOV C,03H MOV P0.2,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'c' LCALL PHAT ;-------------------------------------------------------------SW4: JB P2.3,KTRA4 LCALL DELAY JNB 04H,SW5 JB P2.3,KTRA4 CPL 04H MOV C,04H MOV P0.3,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'D' LCALL PHAT SJMP SW5 KTRA4: JB 04H,SW5 CPL 04H MOV C,04H MOV P0.3,C lcall delay MOV 21H,#'1' MOV 22H,#'1' SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 58 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN MOV 23H,#'d' LCALL PHAT ;--------------------------------------------------------------------SW5: JB P2.4,KTRA5 LCALL DELAY JNB 05H,SW6 JB P2.4,KTRA5 CPL 05H MOV C,05H MOV P0.4,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'E' LCALL PHAT SJMP SW6 KTRA5: JB 05H,SW6 CPL 05H MOV C,05H MOV P0.4,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'e' LCALL PHAT ;--------------------------------------------------SW6: JB P2.5,KTRA6 LCALL DELAY JNB 06H,SW7 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 59 ĐỒ ÁN TỐT NGHIỆP JB GVHD: Ths TỐNG THANH NHÂN P2.5,KTRA6 CPL 06H MOV C,06H MOV P0.5,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'F' LCALL PHAT SJMP SW7 KTRA6: JB 06H,SW7 CPL 06H MOV C,06H MOV P0.5,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'f' LCALL PHAT ;--------------------------------------------------SW7: JB P2.6,KTRA7 LCALL DELAY JNB 07H,SW8 JB P2.6,KTRA7 CPL 07H MOV C,07H MOV P0.6,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'G' SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 60 ĐỒ ÁN TỐT NGHIỆP LCALL GVHD: Ths TỐNG THANH NHÂN PHAT SJMP SW8 KTRA7: JB 07H,SW8 CPL 07H MOV C,07H MOV P0.6,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'g' LCALL PHAT ;------------------------------------------------------------------SW8: JB P2.7,KTRA8 LCALL DELAY JNB 08H,EXIT JB P2.7,KTRA8 CPL 08H MOV C,08H MOV P0.7,C lcall delay MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'H' LCALL PHAT SJMP EXIT KTRA8: JB 08H,EXIT CPL 08H MOV C,08H MOV P0.7,C lcall delay MOV 21H,#'1' SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 61 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN MOV 22H,#'1' MOV 23H,#'h' LCALL PHAT EXIT: RET ;------------------------------------------------------------------------------CAPNHAT: MOV 21H,R2 MOV 22H,R3 MOV 23H,R4 LCALL DELAY LCALL PHAT JB P0.0, N LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'A' LCALL PHAT SJMP T2 N: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'a' LCALL T2: JB PHAT P0.1,T3 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'B' LCALL PHAT SJMP T4 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 62 ĐỒ ÁN TỐT NGHIỆP T3: LCALL GVHD: Ths TỐNG THANH NHÂN DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'b' LCALL T4: JB PHAT P0.2,T5 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'C' LCALL PHAT SJMP T6 T5: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'c' LCALL T6: JB PHAT P0.3,T7 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'D' LCALL PHAT SJMP T8 T7: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'d' LCALL PHAT SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 63 ĐỒ ÁN TỐT NGHIỆP T8: JB GVHD: Ths TỐNG THANH NHÂN P0.4,T9 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'E' LCALL PHAT SJMP T10 T9: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'e' LCALL T10: JB PHAT P0.5,T11 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'F' LCALL PHAT SJMP T12 T11: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'f' LCALL T12: JB PHAT P0.6,T13 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 64 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN MOV 23H,#'G' LCALL PHAT SJMP T14 T13: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'g' LCALL T14: JB PHAT P0.7,T15 LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'H' LCALL PHAT SJMP T16 T15: LCALL DELAY MOV 21H,#'1' MOV 22H,#'1' MOV 23H,#'h' LCALL PHAT T16: RET ;----------------------------------------------------------------------------------PHAT: MOV SBUF,21H JNB 09H,$ CLR 09H MOV SBUF,22H JNB 09H,$ CLR 09H MOV SBUF,23H SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 65 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN JNB 09H,$ CLR 09H RET ;---------------------------------------------------------------------------------NGAT: JB TI,XOA CLR RI MOV @R0,SBUF INC R0 CJNE R0,#05H,EXITI MOV R0,#02H LCALL RUN SJMP EXITI XOA: CLR TI SETB 09H EXITI: RETI ;----------------------------------------------------------------------------------RUN: CJNE R2,#'1',BOQUA CJNE R3,#'1',BOQUA MOD1: CJNE R4,#'A', TATD1 CLR P0.0 LJMP BOQUA TATD1: CJNE R4,#'a',MOD2 SETB P0.0 LJMP THOAT MOD2: CJNE R4,#'B', TATD2 CLR P0.1 LJMP THOAT TATD2: CJNE R4,#'b',MOD3 SETB P0.1 LJMP THOAT SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 66 ĐỒ ÁN TỐT NGHIỆP MOD3: GVHD: Ths TỐNG THANH NHÂN CJNE R4,#'C', TATD3 CLR P0.2 LJMP THOAT TATD3: CJNE R4,#'c', MOD4 SETB P0.2 LJMP THOAT MOD4: CJNE R4,#'D', TATD4 CLR P0.3 LJMP THOAT TATD4: CJNE R4,#'d', MOD5 SETB P0.3 BOQUA: SJMP THOAT MOD5: CJNE R4,#'E',TATD5 CLR P0.4 SJMP THOAT TATD5: CJNE R4,#'e', MOD6 SETB P0.4 SJMP THOAT MOD6: CJNE R4,#'F', TATD6 CLR P0.5 SJMP THOAT TATD6: CJNE R4,#'f',MOD7 SETB P0.5 SJMP THOAT MOD7: CJNE R4,#'G', TATD7 CLR P0.6 SJMP THOAT TATD7: CJNE R4,#'g',MOD8 SETB P0.6 SJMP THOAT MOD8: CJNE R4,#'H',TATD8 SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 67 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CLR P0.7 SJMP THOAT TATD8: CJNE R4,#'h',THOAT SETB P0.7 SJMP THOAT THOAT: RET ;----------------------------------------------------------------------------------DELAY: MOV 29H,#50 DEL: MOV 30H,#250 DJNZ 30H,$ DJNZ 29H,DEL RET ;----------------------------------------------------------------------------------END 5.3.2. Chương trình viết cho máy tính. Chương trình cho Form 1, các Form khác tương tự. Private Sub cmdmalenh_Click() Timer2.Enabled = False Timer2.Interval = 2000 Dim ml As String ml = Val(txtml.Text) If ml = "1" Then COM.Output = "11A" Command2.Visible = False Command1.Visible = True ElseIf ml = "2" Then COM.Output = "11A" Timer2.Interval = 5000 Timer2.Enabled = True Command1.Visible = True SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 68 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Command2.Visible = False ElseIf ml = "3" Then Timer2.Interval = 5000 Timer2.Enabled = True End If End Sub Private Sub Command1_Click() COM.Output = "11a" Command1.Visible = False Command2.Visible = True End Sub Private Sub Command2_Click() COM.Output = "11A" Command2.Visible = False Command1.Visible = True End Sub Private Sub Form_Load() COM.Settings = "9600,N,8,1" COM.CommPort = 1 COM.RThreshold = 1 COM.PortOpen = True COM.InputLen = 0 Timer1.Interval = 50 End Sub Private Sub CMDTHOAT_Click() Unload Me End Sub SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 69 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN Private Sub COM_OnComm() Dim TAM As String If COM.CommEvent = comEvReceive Then COM.InputLen = 3 If COM.InBufferCount >= 3 Then TAM = COM.Input THU.Text = TAM If TAM = "11A" Or TAM = "A11" Or TAM = "1A1" Then Command1.Visible = True Command2.Visible = False SANG1.Visible = True TAT1.Visible = False CHU1.Caption = "SANG" CHU1.ForeColor = RGB(255, 0, 0) ElseIf TAM = "11a" Or TAM = "a11" Or TAM = "1a1" Then Command1.Visible = False Command2.Visible = True SANG1.Visible = False TAT1.Visible = True CHU1.Caption = "TAT" CHU1.ForeColor = RGB(0, 0, 0) End If End If End If End Sub Private Sub Timer1_Timer() NGAY.Text = Format(Date, "DD/MM/YY") DONGHO.Text = Format(Time, LONGTIME) SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 70 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN End Sub Private Sub Timer2_Timer() If txtml.Text = "2" Then COM.Output = "11a" Timer2.Enabled = False End If If txtml.Text = "3" And CHU1.Caption = "SANG" Then COM.Output = "11a" ElseIf txtml.Text = "3" And CHU1.Caption = "TAT" Then COM.Output = "11A" End If End Sub SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 71 ĐỒ ÁN TỐT NGHIỆP GVHD: Ths TỐNG THANH NHÂN CHƯƠNG VI: KẾT LUẬN Sau khi thực hiện đề tài: Thiết kế và thi công hệ thống giám sát và điều khiển thiết bị từ xa qua máy tính. Với nhiều cố gắng và nổ lực của chúng em cùng vơi sự hướng dẫn tận tình của Thầy Tống Thanh Nhân, quyển đồ án này đã hoàn thành đúng thời gian quy định theo yêu cầu đã đặt ra là điều khiển và giám sát được tám thiết bị trong nhà. Trong thời gian thực hiện đề tài đã đạt được một số kết quả nhất định: - Mạch đã được thử nghiệm và hoạt động ổn định trong thực tế. - Các module cũng đã được thử nghiệm ở hai phòng khác nhau để truyền và nhận dữ liệu. - Các phần mềm của các module cũng như phần mềm trên máy tínhcũng đã hoạt động ổn định. Trong đề tài nghiên cứu đã trình bày khá sâu sắc về cấu trúc và chức năng từng khối của phần cứng, phần mềm giúp cho người đọc dễ dàng nắm bắt được cấu trúc và chức năng của mạch. Hệ thống điều khiển và giám sát thiết bị từ xa qua máy tính là một trong những phần quan trọng của hệ thống điều khiển ngôi nhà tự động. Hệ thống bao gồm các chức năng sau: - Có thể điều khiển và giám sát thiết bị từ xa thông qua máy tính với khoảng cách xa (có thể trên 1km). - Có thể điều khiển thiết bị trực tiếp bằng tay. Để thực hiện được yêu cầu trên nhóm chúng em đã nghiên cứu, tìm hiểu những vấn đề về vi điều khiển, các phương pháp giao tiếp máy tính, các phương pháp truyền tín hiệu đi xa mang tính ổn định, ít bị ảnh hưởng của môi trường (nhiễu), các phương pháp chuyển đổi từ tương tự sang số, các phương pháp giao tiếp với tải công suất nhỏ, trung bình và lớn, các vấn đề khác có kiên quan đến đề tài. Theo nhận định chủ quan của nhóm chúng em thì quyển đồ án này đã trình bày tương đối đầy đủ các nội dung, những kiến thức liên quan, giải quyết được những yêu cầu đặt ra. Tuy nhiên do thời gian cũng như kiến thức có hạn nên còn nhiều thiếu sót. Ở đây chỉ giải quyết được các yêu cầu là: điều khiển và giám sát trạng thái hoạt động của thiết bị. Những vấn đề còn tồn tại: số lượng các thiết bị điều khiển thiết bị chưa nhiều, chưa thể phát hiện được trạng thái hư hỏng của thiết bị,… Hướng phát triển đề tài: Để đề tài này thêm phong phú và tăng hiệu quả sử dụng thì cần đáp ứng được những yêu cầu sau: - Kiểm tra và điều khiển nhiều thiết bị trong nhà một cách tự động. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 72 ĐỒ ÁN TỐT NGHIỆP - GVHD: Ths TỐNG THANH NHÂN Kết hợp với nhiều cảm biến khác nhau (nhiệt độ, khói, độ ẩm,…) để hệ thống nhà tự động ngày càng trở nên hoàn thiện phục vụ cho nhu cầu sử dụng của con người. Phần cứng của hệ thống không thay đổi, chỉ cần mở rộng bằng cách kết nối thêm nhiều module và chỉnh sửa chương trình, giữ nguyên phương án giao tiếp. Đối với các toà nhà đã xây dựng, giải pháp trên của đề tài sẽ khả thi. Đối với các toà nhà xây mới ta có thể giảm giá thành bằng cách giao tiếp theo chuẩn RS 485. Ngoài việc truyền nhận dữ liệu thông qua đường dây điện, hệ thống còn có thể kết hợp với mạng điện thoại và hệ thống internet để điều khiển thiết bị từ xa. SVTH: TRẦN HỮU NGHĨA THÁI VĂN NGHĨA Trang 73 [...]... dụng vào hệ thống mạng Dễ dàng sử dụng bằng cách cắm thi t bị vào các ổ cắm điện trên tường PLM được ứng dụng rộng rãi trong hệ thống mạng, trong gia đình, trong cơng nghiệp, các xí nghiệp, các tồ nhà thơng minh, quản lý năng lượng, truyền dữ liệu và hình ảnh, các hệ thống quan sát và điều khiển từ xa, … Trong hệ thống mạng: nó cung cấp một giao diện kết nối đơn giản mà khơng cần lắp đặt thêm bất kì hệ. .. dây điện để thực hiện việc truyền dữ liệu trong những điều khiển thơng minh, điều khiển từ xa, trao đổi thơng tin, phân tích lỗi Hơn nữa nó còn cho phép người sử dụng có thể điều khiển các thi t bị trong nhà ở những nơi rất xa bằng cách kết hợp với hệ thống mạng Trong các tồ nhà thơng minh: hệ thống điện cũng được dùng chung cho hệ thống báo cháy, hệ thống báo động an ninh trong mỗi ga đình mà khơng cần... giản mà khơng cần lắp đặt thêm bất kì hệ thống cáp truyền nhận dữ liệu nào từ máy chủ Người sử dụng có thể truy cập hệ thống mạng bất cứ nơi đâu và bất cứ khi nào bằng cách kết nối máy tính với một PLM bên ngồi và cắm chúng lên ổ cắm trên tường Hệ thống nhà tự động: rất rẻ trong thi t kế và lắp đặt bằng cách sử dụng đường dây điện để truyền dữ liệu giữa các thi t bị Đó còn là ý tưởng để sử dụng đường... được chế tạo dựa trên cơng nghệ mới PLM được sử dụng để truyền dữ liệu giữa máy tính và thi t bị điện thơng qua mạng điện trong nhà Sản phẩm có thể truyền dữ liệu giữa các máy tính và giữa máy tính và các thi t bị điện mà khơng cần lắp đặt thêm bất kì đường cáp truyền dữ liệu nào Kỹ thuật FDM được sử dụng để có thể truyền dữ liệu với tốc độ cao, nó còn được dùng trong hệ thống mạng với tốc độ 10Mbps... 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 ngắt (Interrupt) từ ngõ vào nên việc giao tiếp đơn giản và dể dàng hơn Các máy tính ra đời từ năm 1995 trở lại đạy đều có trang bị giao tiếp theo chuẩn IEEE (Institude Electronic And Electronic Engineering) Chuẩn này ra đời vào năm 1994 qui định một chuẩn giao tiếp mới giữa máy tính cá nhân với các thi t bị ngoại vi Chuẩn giao... khơng cần thêm hệ thống mạng nào tại nhà Trong một tương lai khơng xa sản phẩm này sẽ được sử dụng rộng rãi trên khắp các nước như nhà tự động và truy cập mạng Những đặc điểm chủ yếu của sản phẩm: Tín hiệu truyền trên đường dây điện Kết nối trực tiếp với hệ thống điện trong nhà mà khơng cần lắp đặt thêm bất kì mạch điện nào Cách sử dụng và bảo quản các thi t bị điện được kết nối với hệ thống khơng... từ chân 32 đến 39 trong các thi t kế cỡ nhỏ ( khơng dùng bộ nhớ mở rộng) có hai chức năng như các đường I/O Đối với các thi t kế cỡ lớn với bộ nhớ mở rộng nó được kết hợp kênh giữa các bus - port1: port1 là một port I/O trên các chân từ 1-8 Các chân có thể dùng cho thi t bị ngoại vi nếu cần Port1 khơng có chức năng khác vì vậy chúng chỉ được dùng trong giao tiếp các thi t bị ngồi - port2: port2 là một... lối vào nằm ở bên ngồi vùng này Thơng thường thì giao diện nối tiếp được điều khiển bằng mức tín hiệu hai cực với độ lớn bằng +12V và -12V Bởi vì các mạch lối vào thơng thường trong máy tính PC nhận dạng một mức điện áp dưới 1V như là mức LOW, nên cổng nối tiếp cũng được phép làm việc với mức TTL (0V/5V) Một số máy tính PC, phần lớn là máy tính xách tay làm việc với ngưỡng chuyển mạch từ -3V đến +3V và. .. đã trình bày một số lý thuyết về chuẩn truyền giao tiếp máy tính Nhóm thực hiện đề tài thấy RS-485 khá hiệu quả, chủ yếu sẽ nhờ vào khả năng lập trình của người thi t kế Trong điều kiện cho phép về khả năng lập trình, cũng như thi t kế phần cứng, nhóm thực hiện đề tài chọn chuẩn truyền RS-485 vì chuẩn này khá thơng dụng, tương đối dễ thi cơng và lập trình, hiệu quả lại cao Cách trao đổi dữ liệu SVTH:... song 2 chiều dùng chế độ tương thích, chế độ Nipple và chế độ Byte chỉ dùng phần mềm để truyền dữ liệu Chương trình điều khiển cổng song song có trách nhiệm kiểm tra tín hiệu bắt tay (Handshacking, ví dụ như busy), và trao tín hiệu điều khiển thích hợp cho thi t bị ngoại vi (ví dụ như Strobe), và truyền byte dữ liệu Q trình này cần nhiều phần mềm và giới hạn tốc độ truyền dữ liệu trong khoảng 50 đến ... đề tài: THI T KẾ VÀ THI CƠNG HỆ THỐNG ĐIỀU KHIỂN VÀ GIÁM SÁT THI T BỊ TỪ XA QUA MÁY TÍNH” Qua máy tính quan sát trạng thái thi t bị, điều khiển thi t bị theo ý muốn cách xác 1.2 TẦM QUAN TRỌNG... đề sau: - Thi t kế thi cơng mạch giao tiếp với máy tính mạch chuyển từ RS 232 sang RS 485 - Thi t kế giao diện điều khiển máy tính - Mạch điện tử điều khiển thi t bị - Liên tục giám sát thị trạng... nữa, mà cần click chuột quan sát hình máy tính Giả sứ muốn kiểm tra lại thi t bị tầng tòa nhà cao tầng ta cần quan sát giao diện máy tính biết trạng thái điều khiển thi t bị 1.3 MỤC ĐÍCH CỦA VIỆC