MẠNG TRUYỀN THÔNG CÔNG NGHIỆP : Mạng truyền thông công nghiệp hay mạng công nghiệp MCN là một khái niệm chung chỉ các hệ thống mạng truyền thông số, truyền bit nối tiếp, được sử dụng để
Trang 1PHẦN 1 GIỚI THIỆU VỀ LUẬN VĂN
Trong ngành công nghiệp, điều khiển nhiệt độ là một vấn đề rất quan trọng Trong ngành luyện kim, cần phải đạt đến một nhiệt độ nào đó để kim loại nóng chảy, và cũng cần đạt một nhiệt độ nào đó để ủ kim loại nhằm đạt được tốt các đặc tính cơ học như độ bền, độ dẻo, độ chống gỉ sét, … Trong ngành thực phẩm, cần duy trì một nhiệt độ nào đó để nướng bánh, để nấu, để bảo quản, …
Từ đó, điều khiển nhiệt độ trở thành một lĩnh vực của điều khiển tự động Và theo
đà phát triển của các học thuyết về điều khiển tự động, kết quả của quá trình điều khiển nhiệt độ ngày càng một tốt hơn
I NHIỆM VỤ LUẬN VĂN:
Thiết kế hệ thống đo và điều khiển nhiệt độ từ xa qua mạng RS485 dùng vi điều khiển 89C51
II THIẾT KẾ:
Nhiệm vụ cần thực hiện là thiết kế một kit dựa trên vi điều khiển 89C51 cho phép đo và điều khiển nhiệt độ nhiều kênh(2 kênh), tầm đo từ 0oC – 250oC
Vậy yêu cầu đặt ra ở đây là:
+ Thiết kế bộ cảm biến nhiệt độ
+ Thiết kế bộ chuyển đổi tương tự sang số
+ Thiết kế bộ công suất điều khiển
+ Thiết kế bộ chuyển đổi RS232-RS485
+ Viết chương trình điều khiển cho vi điều khiển và máy tính
Trang 2PHẦN 2
MẠNG TRUYỀN THÔNG CÔNG NGHIỆP
1 MẠNG TRUYỀN THÔNG CÔNG NGHIỆP :
Mạng truyền thông công nghiệp hay mạng công nghiệp (MCN) là một khái niệm chung chỉ các hệ thống mạng truyền thông số, truyền bit nối tiếp, được sử dụng để ghép nối các thiết bị công nghiệp Các hệ thống truyền thông công nghiệp phổ biến hiện nay cho phép liên kết mạng ở nhiều mức khác nhau, từ các cảm biến,
cơ cấu chấp hành dưới cấp trường cho đến các máy tính điều khiển, thiết bị quan sát, máy tính điều khiển giám sát và các máy tính cấp điều hành xí nghiệp, quản lý công ty
Về cơ sở kỹ thuật, mạng công nghiệp và các hệ thống mạng viễn thông có rất nhiều điểm tương đồng, tuy nhiên cũng có những điểm khác biệt sau:
• Mạng viễn thông có phạm vi địa lý và số lượng thành viên tham gia lớn hơn rất nhiều, nên các yêu cầu kỹ thuật (cấu trúc mạng, tốc độ truyền thông, tính năng thời gian thực, ) rất khác, cũng như các phương pháp truyền thông (truyền tải dải rộng/dải cơ sở, điều biến, dồn kênh, chuyển mạch, ) thường phức tạp hơn nhiều so với mạng công nghiệp
• Đối tượng của mạng viễn thông bao gồm cả con người và thiết bị kỹ thuật, trong đó con người đóng vai trò chủ yếu Vì vậy các dạng thông tin cần trao đổi bao gồm cả tiếng nói, hình ảnh, văn bản và dữ liệu Đối tượng của mạng công nghiệp thuần túy là các thiết bị công nghiệp, nên dạng thông tin được quan tâm duy nhất là
dữ liệu Các kỹ thuật và công nghệ được dùng trong mạng viễn thông rất phong phú, trong khi kỹ thuật truyền dữ liệu theo chế độ bit nối tiếp là đặc trưng của mạng công nghiệp
Mạng truyền thông công nghiệp thực chất là một dạng đặc biệt của mạng máy tính, có thể so sánh với mạng máy tính thông thường ở những điểm giống nhau
và khác nhau như sau:
Trang 3• Kỹ thuật truyền thông số hay truyền dữ liệu là đặc trưng chung của cả hai lĩnh vực
• Trong nhiều trường hợp, mạng máy tính sử dụng trong công nghiệp được coi
là một phần (ở các cấp điều khiển giám sát, điều hành sản xuất và quản lý công ty) trong mô hình phân cấp của mạng công nghiệp
• Yêu cầu về tính năng thời gian thực, độ tin cậy và khả năng tương thích trong môi trường công nghiệp của mạng truyền thông công nghiệp cao hơn so với một mạng máy tính thông thường, trong khi đó mạng máy tính thường đòi hỏi cao hơn về độ bảo mật
• Mạng máy tính có phạm vi trải rộng rất khác nhau, ví dụ có thể nhỏ như mạng LAN cho một nhóm vài máy tính, hoặc rất lớn như mạng Internet Trong nhiều trường hợp, mạng máy tính gián tiếp sử dụng dịch vụ truyền dữ liệu của mạng viễn thông Trong khi đó, cho đến nay các hệ thống mạng công nghiệp thường có tính chất độc lập, phạm vi hoạt động tương đối hẹp
Sự khác nhau trong phạm vi và mục đích sử dụng giữa các hệ thống mạng truyền thông công nghiệp với các hệ thống mạng viễn thông và mạng máy tính dẫn đến sự khác nhau trong các yêu cầu về mặt kỹ thuật cũng như kinh tế Ví dụ, do yêu cầu kết nối nhiều nền máy tính khác nhau và cho nhiều phạm vi ứng dụng khác nhau, kiến trúc giao thức của các mạng máy tính phổ thông thường phức tạp hơn so với kiến trúc giao thức các mạng công nghiệp Đối với các hệ thống truyền thông công nghiệp, đặc biệt là ở các cấp dưới thì các yêu cầu về tính năng thời gian thực, khả năng thực hiện đơn giản, giá thành hạ lại luôn được đặt ra hàng đầu
2 VAI TRÒ CỦA MẠNG TRUYỀN THÔNG CÔNG NGHIỆP:
Sử dụng mạng truyền thông công nghiệp, đặc biệt là bus trường để thay thế cách nối điểm-điểm cổ điển giữa các thiết bị công nghiệp mang lại hàng loạt những lợi ích như sau:
• Đơn giản hóa cấu trúc liên kết giữa các thiết bị công nghiệp: Một số lượng lớn các thiết bị thuộc các chủng loại khác nhau được ghép nối với nhau thông qua một đường truyền duy nhất
Trang 4• Tiết kiệm dây nối và công thiết kế, lắp đặt hệ thống: Nhờ cấu trúc đơn giản, việc thiết kế hệ thống trở nên dễ dàng hơn nhiều Một số lượng lớn cáp truyền được thay thế bằng một đường duy nhất, giảm chi phí đáng kể cho nguyên vật liệu và công lắp đặt
• Nâng cao độ tin cậy và độ chính xác của thông tin: Khi dùng phương pháp truyền tín hiệu tương tự cổ điển, tác động của nhiễu dễ làm thay đổi nội dung thông tin mà các thiết bị không có cách nào nhận biết Nhờ kỹ thuật truyền thông số, không những thông tin truyền đi khó bị sai lệch hơn, mà các thiết bị nối mạng còn
có thêm khả năng tự phát hiện lỗi và chẩn đoán lỗi nếu có Hơn thế nữa, việc bỏ qua nhiều lần chuyển đổi qua lại tương tự-số và số-tương tự nâng cao độ chính xác của thông tin
• Nâng cao độ linh hoạt, tính năng mở của hệ thống: Một hệ thống mạng chuẩn hóa quốc tế tạo điều kiện cho việc sử dụng các thiết bị của nhiều hãng khác nhau Việc thay thế thiết bị, nâng cấp và mở rộng phạm vi chức năng của hệ thống cũng
dễ dàng hơn nhiều Khả năng tương tác giữa các thành phần (phần cứng và phần mềm) được nâng cao nhờ các giao diện chuẩn
• Đơn giản hóa/tiện lợi hóa việc tham số hóa, chẩn đoán, định vị lỗi, sự cố của các thiết bị : Với một đường truyền duy nhất, không những các thiết bị có thể trao đổi dữ liệu quá trình, mà còn có thể gửi cho nhau các dữ liệu tham số, dữ liệu trạng thái, dữ liệu cảnh báo và dữ liệu chẩn đoán Các thiết bị có thể tích hợp khả năng tự chẩn đoán, các trạm trong mạng cũng có thể có khả năng cảnh giới lẫn nhau Việc cấu hình hệ thống, lập trình, tham số hóa, chỉnh định thiết bị và đưa vào vận hành
có thể thực hiện từ xa qua một trạm kỹ thuật trung tâm
• Mở ra nhiều chức năng và khả năng ứng dụng mới của hệ thống: Sử dụng mạng truyền thông công nghiệp cho phép áp dụng các kiến trúc điều khiển mới như điều khiển phân tán, điều khiển phân tán với các thiết bị trường, điều khiển giám sát hoặc chẩn đoán lỗi từ xa qua Internet, tích hợp thông tin của hệ thống điều khiển và giám sát với thông tin điều hành sản xuất và quản lý công ty
Trang 53 CHỦ/TỚ(MASTER/SLAVE):
Trong phương pháp chủ/tớ, một trạm chủ (master) có trách nhiệm chủ động phân chia quyền truy nhập bus cho các trạm tớ (slave) Các trạm tớ đóng vai trò bị động, chỉ có quyền truy nhập bus và gửi tín hiệu đi khi có yêu cầu Trạm chủ có thể dùng phương pháp hỏi tuần tự (polling) theo chu kỳ để kiểm soát toàn bộ hoạt động giao tiếp của cả hệ thống Nhờ vậy, các trạm tớ có thể gửi các dữ liệu thu thập từ quá trình kỹ thuật tới trạm chủ (có thể là một PLC, một PC, v.v ) cũng như nhận các thông tin điều khiển từ trạm chủ
Trình tự được tham gia giao tiếp, hay trình tự được hỏi của các trạm tớ có thể
do người sử dụng qui định trước (tiền định) bằng các công cụ tạo lập cấu hình Trong trường hợp chỉ có một trạm chủ duy nhất, thời gian cần cho trạm chủ hoàn thành việc hỏi tuần tự một vòng cũng chính là thời gian tối thiểu của chu kỳ bus Do vậy, chu kỳ bus có thể tính toán trước được một cách tương đối chắc chắn Đây chính là một trong những yếu tố thể hiện tính năng thời gian thực của hệ thống
Phương pháp chủ/tớ có một ưu điểm là việc kết nối mạng các trạm tớ đơn giản, đỡ tốn kém bởi gần như toàn bộ “trí tuệ” tập trung tại trạm chủ Một trạm chủ
Trang 6thường lại là một thiết bị điều khiển, vì vậy việc tích hợp thêm chức năng xử lý truyền thông là điều không khó khăn
Một nhược điểm của phương pháp kiểm soát tập trung chủ/tớ là hiệu suất trao đổi thông tin giữa các trạm tớ bị giảm do phải dữ liệu phải đi qua khâu trung gian là trạm chủ, dẫn đến giảm hiệu suất sử dụng đường truyền Nếu hai trạm tớ cần trao đổi một biến dữ liệu đơn giản với nhau (một PLC có thể là trạm tớ), thì trong trường hợp xấu nhất thời gian đáp ứng vẫn có thể kéo dài tới hơn một chu kỳ bus Một biện pháp để cải thiện tình huống này là cho phép các trạm tớ trao đổi dữ liệu trực tiếp trong một chừng mực được kiểm soát, như Hình 1.10 minh họa Tình huống ở đây là trạm tớ 2 muốn gửi dữ liệu cho trạm tớ 1, trong khi trạm tớ 2 lại được trạm chủ hỏi tới sau trạm tớ 1 Sau khi trạm chủ yêu cầu trạm tớ 1 nhận dữ liệu (receive_request) và trạm tớ 2 gửi dữ liệu (send_request), trạm tớ 2 có thể gửi trực tiếp tới trạm tớ 1 (send_data) Nhận được lệnh kết thúc từ trạm tớ 2 (send_completed), trạm tớ 1 sẽ có trách nhiệm thông báo ngược trở lại trạm chủ (receive_completed) Như vậy, việc truy nhập đường truyền cũng không bị chồng chéo lên nhau, mà hai trạm tớ vẫn trao đổi được dữ liệu nội trong một chu kỳ bus
1: receive_request
2: send_request 3: send_data
4: send_completed 5: receive_completed
Hình 1.10 : Cải thiện trao đổi dữ liệu giữa hai trạm tớ Một hạn chế nữa của phương pháp này là độ tin cậy của hệ thống truyền thông phụ thuộc hoàn toàn vào một trạm chủ duy nhất Trong trường hợp có xảy ra
sự cố trên trạm chủ thì toàn bộ hệ thống truyền thông ngừng làm việc Một cách khắc phục là sử dụng một trạm tớ đóng vai trò giám sát trạm chủ và có khả năng thay thế trạm chủ khi cần thiết
Trang 7Chính vì hai lý do nêu trên, phương pháp chủ/tớ chỉ được dùng phổ biến trong các hệ thống bus cấp thấp, tức bus trường hay bus thiết bị, khi việc trao đổi thông tin hầu như chỉ diễn ra giữa trạm chủ là thiết bị điều khiển và các trạm tớ là thiết bị trường hoặc các module vào/ra phân tán Trong trường hợp giữa các thiết bị
tớ có nhu cầu trao đổi dữ liệu trực tiếp, trạm chủ chỉ có vai trò phân chia quyền truy nhập bus chứ không kiểm soát hoàn toàn hoạt động giao tiếp trong hệ thống
4 CHUẨN RS232:
Để thực hiện được các phương thức truyền một cách cụ thể, các nhà chế tạo
đã cung cấp một loại IC chuyên dùng cho hoạt động này, các IC này thuộc về phần cứng trong máy tính (thuộc lớp vật lí trong hệ thống thông tin) Chúng hoạt động theo nguyên tắc của lớp kĩ thuật số (do người sử dụng quyết định) và vì vậy chế độ truyền đồng bộ hay bất đồng bộ là phụ thuộc vào người dùng quyết định
Các IC này đều là các vi mạch có thể lập trình được Đầu tiên , lập trình chế
độ hoạt động mà người dùng mong muốn bằng cách ghi một byte có nghĩa vào thanh ghi chế độ (Mode Register); sau đó, ghi tiếp các byte điều khiển vào thanh ghi lệnh (Comand Register) để vi mạch theo đó mà hoạt động đúng
Vì các giao tiếp truyền nối tiếp được ứng dụng khá nhiều trong các thiết bị điện tử hiện đại, cho nên các vi mạch loại này được phát triển khá nhiều với các tên tổng quát:
UART (Universal Asynchronous Receiver Transmitter)
USRT (Universal Synchronous Receiver Transmitter)
BOPs (Bit-Oriented Protocol circiuts)
Cả UART và USRT đều có khả năng thực hiện việc chuyển đổi song song sang nối tiếp để truyền số liệu đi xa và chuyển đổi nối tiếp sang song song khi tiếp nhận số liệu Đối với truyền số liệu theo kiểu bất đồng bộ, chúng còn có khả năng đóng khung cho kí tự một cách tự động với bit STAR, bit PARITY và bit STOP
4.1 Vài nét về cổng RS232:
_ Cổng nối tiếp RS232 là giao diện phổ biến rộng rãi nhất hiện nay Người
Trang 8RS232 cũng được sử dụng một cách rất thuận tiện cho mục đích đo lường, điều khiển và truyền dữ liệu
_ Việc truyền dữ liệu qua cổng RS232 được tiến hành theo một cách nối tiếp, nghĩa là các bit dữ liệu được gửi đi nối tiếp nhau trên đường truyền
Ưu điểm đầu tiên của hình thức truyền này là khoảng cách truyền lớn, bởi vì khả năng gây nhiễu đối với hình thức truyền này là nhỏ hơn rất nhiều so với truyền song song; ưu điểm thứ hai là giá thành hạ do chỉ dùng một vài sợi cáp truyền (3 sợi) so với nhiều sợi cáp truyền cùng lúc của truyền song song
_ Cổng RS232 không phải là một hệ thống BUS, nó chỉ cho phép dễ dàng tạo
ra liên kết dưới hình thức điểm với điểm giữa hai máy cần trao đổi thông tin Một thành viên thứ 3 không thể xen ngang vào quá trình truyền này
4.2 Sơ đồ bố trí chân của cổng COM:
Bảng: kí hiệu các chân và chức năng của từng chân:
Chân
(9 chân)
Chân (25 chân)
Kí
Hướng truyền
mang dữ liệu
Lối vào
2 3 RxD Receive Data: Nhận dữ liệu nối tiếp Lối vào
tiếp
Lối ra
4 20 DTR Data Terminal Ready: Đầu cuối sẵn Lối ra
Trang 9sàng nhận dữ liệu; nguyên lí hoạt động giống như RTS nhưng được kích hoạt bởi bộ nhận khi muốn truyền dữ liệu (tín hiệu trả lời từ bộ nhận)
5 7 GND Ground: Nối đất
Data Set Ready: Dữ liệu sãn sàng,
tính năng giống như CTS nhưng do
bộ truyền thông báo khi sẵn sàng nhận dữ liệu từ bộ thu
Lối vào
Request To Send: Yêu cầu gửi, bộ
truyền đặt đường này lên mức tích cực khi nó muốn thông báo cho bộ nhận sẵn sàng nhận dữ liệu
Lối ra
Clear To Send: Xoá để gửi đến, bộ
nhận đặt đường này lên mức tích cực
để thông báo cho bộ truyền là nó sẵn sàng nhận dữ liệu
Lối vào
biết bộ nhận đang nhận tín hiệu
Lối vào
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 nhậ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 cần thiết và khi điều khiển các đường
truyền dữ liệu Các đường dẫn này được gọi là các đường dẫn bắt tay bởi vì chúng
được sử dụng theo các 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ể điều khiển trực tiếp
Đặc trưng về điện của đường truyền đã được khẳng định trong tiêu chuẩn RS232 trạng thái LOW tương ứng với mức điện áp +3V đến +12V, còn trạng thái HIGH tương ứng với mức điên áp -3V đến -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 Giữa hai điện
Trang 10Ở trạng thái tĩnh, trên đường dẫn có điện áp -12V Một bit khởi động (bit START) sẽ mở đầu cho việc truyền dữ liệu bằng cách đặt mức điện áp -12V lên +12V Tiếp đó là các bit dữ liệu riêng lẽ, trong đó những bit thấp (bit 0) sẽ được gửi đến trước Con số bit dữ liệu có thể thay đổi từ 5 đến 8 bit Ở cuối dòng dữ liệu là một bit dừng (bit STOP) để đặt trạng thái lối ra trở về -12V Ngoài ra, trước khi đặt bit Stop UART còn có thể đính kèm bit Parity (kiểm tra chẵn lẻ), thao tác này được thiết lập bằng lập trình
Dòng dữ liệu trên cổng RS232 với tốc độ 9600bps và không có bit parity
Hình 7.3:Dạng sóng tín hiệu truyền qua RS232
Các đầu nối:
Theo chuẩn RS-232-C, đầu nối phần cứng xác định với 25 chân, gọi là chân cắm D-Shell hay DB-25 Nhưng không phải tất cả cổng nối tiếp đều sử dụng đầu nối DB-25 Một số máy tính như PCjr dùng chân cắm BERG 16 chân, máy PC AT
thì sử dụng chân cắm D-Shell 9 chân
Trang 112 3 A4 Truyền dữ liệu TXD Xuất
3 2 A8 Nhận dữ liệu RXD Nhập
4 7 A3 Yêu cầu gửi RTS Xuất
5 8 A7 Xóa việc gửi CTS Nhập
Bảng 2.3 : Tóm tắt các thông số quan trọng của RS-485
Thông số Điều kiện Tối thiểu Tối đa
Trang 12Thông số Điều kiện Tối thiểu Tối đa
12V Điện áp chế độ chung VCM -7V 12V
Đặc tính khác nhau cơ bản của RS-485 so với RS-422 là khả năng ghép nối nhiều điểm, vì thế được dùng phổ biến trong các hệ thống bus trường Cụ thể, 32 trạm có thể tham gia ghép nối, được định địa chỉ và giao tiếp đồng thời trong một đoạn RS-485 mà không cần bộ lặp Để đạt được điều này, trong một thời điểm chỉ một trạm được phép kiểm soát đường dẫn và phát tín hiệu, vì thế một bộ kích thích đều phải đưa về chế độ trở kháng cao mỗi khi rỗi, tạo điều kiện cho các bộ kích thích ở các trạm khác tham gia Chế độ này được gọi là tri-state Một số vi mạch RS-485 tự động xử lý tình huống này, trong nhiều trường hợp khác việc đó thuộc về trách nhiệm của phần mềm điều khiển truyền thông Trong mạch của bộ kích thích RS-485 có một tín hiệu vào “Enable” được dùng cho mục đích chuyển bộ kích thích
về trạng thái phát tín hiệu hoặc tri-state Sơ đồ mạch cho bộ kích thích và bộ thu RS-485 được biểu diễn trên hình2.8
D
A
B
C Enable
R
A
B
C o o
o 1/2Vi
-1/2Vi
V CM
RS-485 Receiver RS-485 Driver
Hình 2.8 : Sơ đồ bộ kích thích (driver) và bộ thu (receiver) RS-485
Mặc dù phạm vi làm việc tối đa là từ -6V đến 6V (trong trường hợp hở mạch), trạng thái logic của tín hiệu chỉ được định nghĩa trong khoảng từ ±1,5V đến
±5V đối với đầu ra (bên phát) và từ ±0,2V đến ±5V đối với đầu vào (bên thu), như được minh họa trên Hình 2.9
Trang 135.2 Số trạm tham gia:
RS-485 cho phép nối mạng 32 tải đơn vị (unit load, UL), ứng với 32 bộ thu phát hoặc nhiều hơn, tùy theo cách chọn tải cho mỗi thiết bị thành viên Định nghĩa một tải đơn vị được minh họa trên Hình 2.10 Thông thường, mỗi bộ thu phát được thiết kế tương đương với một tải đơn vị Gần đây cũng có những cố gắng giảm tải xuống còn 1/2UL hoặc 1/4UL, tức là tăng trở kháng đầu vào lên hai hoặc bốn lần, với mục đích tăng số trạm lên 64 hoặc 128 Tuy nhiên, tăng số trạm theo cách này
sẽ gắn với việc phải giảm tốc độ truyền thông, vì các trạm có trở kháng lớn sẽ hoạt động chậm hơn
+5V
+1.5V/+0.2V -1.5V/-0.2V
0
1
+6V
-6V -5V
Hình 2.9 : Qui định trạng thái logic của tín hiệu RS-485
Giới hạn 32 tải đơn vị xuất phát từ đặc tính kỹ thuật của hệ thống truyền thông nhiều điểm Các tải được mắc song song và vì thế việc tăng tải sẽ làm suy giảm tín hiệu vượt quá mức cho phép Theo qui định chuẩn, một bộ kích thích tín hiệu phải đảm bảo dòng tổng cộng 60mA vừa đủ để cung cấp cho:
• Hai trở đầu cuối mắc song song tương ứng tải 60 (120 tại mỗi đầu) với điện áp tối thiểu 1,5V, tạo dòng tương đương với 25mA
• 32 tải đơn vị mắc song song với dòng 1mA qua mỗi tải (trường hợp xấu nhất), tạo dòng tương đương với 32mA
Trang 14-7V -3V
12V 5V
-0.8mA 1mA
Hình 2.10 : Định nghĩa một tải đơn vị
Tốc độ truyền tải và chiều dài dây dẫn:
Cũng như RS-422, RS-485 cho phép khoảng cách tối đa giữa trạm đầu và trạm cuối trong một đoạn mạng là 1200m, không phụ thuộc vào số trạm tham gia Tốc độ truyền dẫn tối đa có thể lên tới 10Mbit/s, một số hệ thống gần đây có khả năng làm việc với tốc độ 12Mbit/s Tuy nhiên có sự ràng buộc giữa tốc độ truyền dẫn tối đa và độ dài dây dẫn cho phép, tức là một mạng dài 1200m không thể làm việc với tốc độ 10MBd Quan hệ giữa chúng phụ thuộc nhiều vào chất lượng cáp dẫn được dùng cũng như phụ thuộc vào việc đánh giá chất lượng tín hiệu Một ví dụ
đặc trưng được biểu diễn qua đồ thị trên Hình 2.11
Tốc độ truyền tối đa cũng phụ thuộc vào chất lượng cáp mạng, cụ thể là đôi dây xoắn kiểu STP có khả năng chống nhiễu tốt hơn loại UTP và vì thế có thể truyền với tốc độ cao hơn Có thể sử dụng các bộ lặp để tăng số trạm trong một mạng, cũng như chiều dài dây dẫn lên nhiều lần, đồng thời đảm bảo được chất lượng tín hiệu
3 30 300 3000
Hình 2.11 : Quan hệ giữa tốc độ truyền và chiều dài dây dẫn tối đa trong
RS-422/RS-485 sử dụng đôi dây xoắn AWG 24
Trang 155.3 Cấu hình mạng:
RS-485 là chuẩn duy nhất do EIA đưa ra mà có khả năng truyền thông đa điểm thực sự chỉ dùng một đường dẫn chung duy nhất, được gọi là bus Chính vì vậy mà nó được dùng làm chuẩn cho lớp vật lý ở đa số các hệ thống bus hiện thời
Cấu hình phổ biến nhất là sử dụng hai dây dẫn cho việc truyền tín hiệu, như được minh họa trên Hình 2.12 Trong trường hợp này, hệ thống chỉ có thể làm việc với chế độ hai chiều gián đoạn (half-duplex) và các trạm có thể nhận quyền bình đẳng trong việc truy nhập đường dẫn Chú ý rằng đường dẫn được kết thúc bằng hai trở tại hai đầu chứ không được phép ở giữa đường dây Vì mục đích đơn giản, dây đất không được vẽ ở đây, tuy nhiên trong thực tế việc nối dây đất là rất cần thiết
D
R R
D
D
R
D R
Hình 2.12 : Cấu hình mạng RS-485 hai dây
Một mạng RS-485 cũng có thể được nối theo kiểu 4 dây, như Hình 2.13 mô
tả Một trạm chủ (master) đóng vai trò điều khiển toàn bộ giao tiếp giữa các trạm kể
cả việc truy nhập đường dẫn Các trạm tớ (slave) không thể liên hệ trực tiếp mà đều phải qua trạm chủ Trạm chủ phát tín hiệu yêu cầu và các trạm tớ có trách nhiệm đáp ứng Vấn đề kiểm soát thâm nhập đường dẫn ở đây chính là việc khống chế các trạm tớ không trả lời cùng một lúc Với cấu hình này, việc truyền thông có thể thực hiện chế độ hai chiều toàn phần (full-duplex), phù hợp với các ứng dụng đòi hỏi tốc
độ truyền tải thông tin cao, tuy nhiên ở đây phải trả giá cho hai đường dây bổ sung
Trang 16D R T R
D R
D R
Trở đầu cuối:
Do tốc độ truyền thông và chiều dài dây dẫn có thể khác nhau rất nhiều trong các ứng dụng, hầu như tất cả các bus RS-485 đều yêu cầu sử dụng trở đầu cuối tại hai đầu dây Sử dụng trở đầu cuối có tác dụng chống các hiệu ứng phụ trong truyền dẫn tín hiệu, ví dụ sự phản xạ tín hiệu Trở đầu cuối dùng cho RS-485 có thể từ
100 đến 120 Một sai lầm thường gây tác hại nghiêm trọng trong thực tế là dùng trở đầu cuối tại mỗi trạm Đối với một mạng bus có 10 trạm thì trở kháng tạo ra do các trở đầu cuối mắc song song sẽ là 10 thay chứ không phải 50 như thông thường Chú ý rằng tải của các trở đầu cuối chiếm phần lớn trong toàn mạch, nên trong trường hợp này hậu quả gây ra là dòng qua các trở đầu cuối sẽ lấn át, các tín hiệu mang thông tin tới các bộ thu sẽ suy yếu mạnh dẫn tới sai lệch hoàn toàn Một
số bộ nối có tích hợp sẵn trở đầu cuối, có thể dùng jumper để chọn chế độ thích hợp tùy theo vị trí của trạm trong mạng
Trong trường hợp cáp truyền ngắn và tốc độ truyền thấp, ta có thể không cần dùng trở đầu cuối Tín hiệu phản xạ sẽ suy giảm và triệt tiêu sau vài lần qua lại Tốc
Trang 17độ truyền dẫn thấp có nghĩa là chu kỳ nhịp bus dài Nếu tín hiệu phản xạ triệt tiêu hoàn toàn trước thời điểm trích mẫu ở nhịp tiếp thep (thường vào giữa chu kỳ) thì tín hiệu mang thông tin sẽ không bị ảnh hưởng Có nhiều phương pháp để chặn đầu cuối một đường dẫn RS-485, như được minh họa trên Hình 2.14
Phương pháp được dùng phổ biến nhất là chỉ dùng một điện trở thuần nối giữa hai dây A và B tại mỗi đầu Phương pháp này còn được gọi là chặn song song Điện trở được chọn có giá trị tương đương với trở kháng đặc trưng (trở kháng sóng) của cáp nối Như vậy sẽ không có tín hiệu phản xạ và chất lượng tín hiệu mang thông tin sẽ được đảm bảo Nhược điểm của phương pháp này là sự hao tổn nguồn tại hai điện trở
Hình 2.14 : Các phương pháp chặn đầu cuối RS-485/RS-422
Phương pháp thứ hai được gọi là chặn RC, sử dụng kết hợp một tụ C mắc nối tiếp với điện trở R Mạch RC này cho phép khắc phục nhược điểm của cách sử dụng một điện trở thuần nêu trên Trong lúc tín hiệu ở giai đoạn quá độ, tụ C có tác dụng ngắn mạch và trở R có tác dụng chặn đầu cuối Khi tụ C đảo chiều sẽ cản trở dòng một chiều và vì thế có tác dụng giảm tải Tuy nhiên, hiệu ứng thông thấp (lowpass) của mạch RC không cho phép hệ thống làm việc với tốc độ cao
Một biến thể của phương pháp chặn song song cũng được sử dụng rộng rãi
có tên là chặn tin cậy, bởi nó có tác dụng khác nữa là tạo thiên áp tin cậy (fail-safe biasing) đảm bảo một dòng tối thiểu cho trường hợp bus rỗi hoặc có sự cố
Trang 18Nối đất:
Mặc dù mức tín hiệu được xác định bằng điện áp chênh lệch giữa hai dây dẫn A và
B không có liên quan tới đất, hệ thống RS-485 vẫn cần một đường dây nối đất để tạo một đường thoát cho nhiễu chế độ chung và các dòng khác, ví dụ dòng đầu vào
bộ thu Một sai lầm thường gặp trong thực tế là chỉ dùng hai dây để nối hai trạm Trong trường hợp như vậy, dòng chế độ chung sẽ tìm cách quay ngược trở lại nguồn phát, bức xạ nhiễu ra môi trường xung quanh, ảnh hưởng tới tính tương thích điện từ của hệ thống Nối đất sẽ có tác dụng tạo một đường thoát trở kháng nhỏ tại một vị trị xác định, nhờ vậy giảm thiểu tác hại gây nhiễu Hơn thế nữa, với cấu hình trở đầu cuối tin cậy, việc nối đất tạo thiên áp sẽ giữ một mức điện áp tối thiểu giữa hai dây A và B trong trường hợp kể cả khi bus rỗi hoặc có sự cố
Trang 19PHẦN 3 CÁC PHƯƠNG PHÁP ĐIỀU KHIỂN
1 Điều khiển ON-OFF:
Điều khiển ON-OFF là lặp lại trạng thái on-off của hệ thống điều khiển theo điểm đặt Phương pháp điều khiển ON-OFF còn được gọi là phương pháp đóng ngắt
dùng khâu rơle có trễ
Mô tả hoạt động :
Với cấu hình của hệ thống điều khiển nhiệt độ, khi nhiệt độ đo thấp hơn nhiệt
độ đặt thì nhiệt điện trở được đốt nóng để gia nhiệt cho lò,còn khi nhiệt độ đo bằng
nhiệt độ đặt thì nhiệt điện trở được ngắt điện
Hình 3.14: Điều khiển On-Off
Trang 20Hình 3.15 : Hungting
2 Điều khiển tỉ lệ (P) :
Bộ điều khiển loại này tạo tín hiệu đầu ra tỷ lệ với độ sai lệch Càng gia tăng
độ tỷ lệ (tức độ lợi) thì lượng sai số tạo ra sự thay đổi càng nhỏ Điều này không có nghĩa là độ lợi càng cao thì càng tốt, bởi vì khi độ lợi càng cao thì khuynh hướng dao động của biến điều khiển càng tăng Khi đó cần có một sự dung hòa giữa chúng sao cho độ lợi lớn ở một mức độ mà không tạo ra sự dao động
Vì lý do đó, ta thấy rằng không thể nào loại trừ hoàn toàn được sai số, mà luôn tồn tại một sai lệch tĩnh được gọi là độ sai lệch tỷ lệ (proportional offset) Độ lớn của sai lệch tĩnh này tỷ lệ thuận với độ lớn của sự thay đổi trên tải và tỷ lệ nghịch với độ lợi Do đó bộ điều khiển tỷ lệ chỉ được dùng khi độ lợi đủ lớn để giảm sai lệch tĩnh đến một mức có thể chấp nhận được
Tuy nhiên, ưu điểm của bộ điều khiển tỷ lệ là đáp ứng ngay tức khắc Không
hề có một khoảng thời gian trễ nào kể từ khi xảy ra sự thay đổi trên tải cho đến khi
ra tín hiệu điều khiển Vì vậy, có thể dùng bộ điều khiển tỷ lệ đối với những quá trình có độ quán tính nhỏ (không thể sử dụng bộ điều khiển hai hay ba vị trí !)
Phương trình trong miền thời gian :
y(t) = KP.e(t) + y0
Hàm truyền :
G(s) = KP
3 Điều khiển tích phân (I) :
Bộ điều khiển tích phân tạo tín hiệu điều khiển bằng một lượng tỷ lệ với tích phân của sai lệch Vì thế, miễn là quá trình còn sai số thì bộ điều khiển còn làm việc
và tạo sự thay đổi của tín hiệu ra tỷ lệ với độ lớn của sai lệch Hình sau đây sẽ minh họa mối liên hệ giữa sai lệch và tín hiệu ra của hệ thống
Trang 21Hình 3.16 : Đáp ứng của bộ điều khiển tích phân theo sai lệch
Bộ điều khiển tích phân đó thường được kết hợp với bộ điều khiển tỷ lệ nhằm bổ sung ưu điểm : triệt tiêu sai lệch tĩnh
Phương trình trong miền thời gian :
0 0
) ( ) (t K e t dt y y
4 Điều khiển tích phân – tỉ lệ (PI) :
Đây là sự kết hợp của bộ điều khiển tỷ lệ với bộ điều khiển tích phân nhằm triệt tiêu sai lệch tỷ lệ như đã nói ở trên Khi mà bộ điều khiển tỷ lệ tạo tín hiệu ra tỷ
lệ với sai lệch thì bộ điều khiển tích phân lại tạo tín hiệu ra tỷ lệ với tích phân của sai lệch Do đặc tính của bộ điều khiển tích phân, sai lệch tĩnh của hệ thống sẽ được loại trừ Nghịch đảo của KI chính là khoảng thời gian cần để bộ điều khiển tích phân tạo ra thay đổi ở đầu ra bằng với sự thay đổi tạo bởi bộ điều khiển tỷ lệ
Trang 22Đáp ứng tỷ lệ Đáp ứng
tỷ lệ Đáp ứng tích
Thời gian
1 Ki
Gấp đôi độ tỷ lệ do tích phân Đáp ứng của bộ điều khiển tỷ lệ
đĩ cần phải giảm độ tỷ lệ đi, hệ trở nên đáp ứng chậm hơn so với ban đầu Nếu quá trình cĩ độ trễ lớn thì tín hiệu sai lệch nhận được sẽ khơng phản ánh độ sai lệch thật
sự Do độ trễ này sẽ làm cho đáp ứng của hệ khơng cịn đúng với sai lệch hiện tại, tức là hệ làm việc với tín hiệu cũ
Phương trình trong miền thời gian :
0
) ( ) (t K e t K e t dt y
5 Điều khiển vi phân (D) :
Bộ điều khiển vi phân tạo tín hiệu ra dựa trên tốc độ thay đổi của sai lệch Sự thay đổi này cĩ thể là do biến đo thay đổi, thay đổi điểm đặt, hay cả hai Điều khiển
vi phân chống lại sai lệch bằng cách xem nĩ thay đổi nhanh như thế nào, và dùng tốc độ thay đổi đĩ để tạo tín hiệu điều khiển nhằm làm giảm sai lệch
Xét đáp ứng của bộ điều khiển vi phân đối với đầu vào hàm nấc và đầu vào hàm dốc
Trang 23có một giới hạn của nó Đây là một ưu điểm, bởi vì nó sẽ làm giảm độ điều khiển đối với các loại nhiễu thường gặp trong thực tế (đó cũng là lý do mà nếu có bộ điều khiển vi phân lý tưởng thì cũng không nên dùng)
Tuy nhiên, bộ điều khiển vi phân không bao giờ dùng riêng một mình cả Bởi
vì đầu ra của bộ điều khiển chỉ thay đổi khi sai lệch thay đổi, tức là nếu sai lệch lớn
mà không thay đổi thì bộ điều khiển chẳng làm gì cả: chấp nhận sai lệch đó Do đó,
nó thường được dùng chung với bộ điều khiển P, hay PI
Phương trình trong miền thời gian :
dt
t de K t
Hàm truyền :
G(s) = KD.s
6 Điều khiển vi phân – tỉ lệ (PD):
Bộ điều khiển vi phân thường kết hợp với bộ điều khiển tỷ lệ nhằm làm giảm khuynh hướng dao động và cho phép nâng cao độ lợi Trong đó, bộ điều khiển tỷ lệ thay đầu ra tỷ lệ với độ lớn của sai lệch, bộ điều khiển vi phân thay đổi đầu ra tỷ lệ với tốc độ biến đổi của sai lệch – tức là bộ điều khiển vi phân tính trước giá trị tương lai của sai lệch và thay đổi đầu ra tương ứng với sự tính toán đó Điều này làm cho bộ điều khiển vi phân tiện dụng trong quá trình điều khiển có tải thay đổi bất ngờ
Phương trình trong miền thời gian :
Trang 24P D O
y dt
t de K t e K t
Hàm truyền :
G(s) = KP + KD.s
7 Điều khiển vi phân – tích phân – tỉ lệ (PID):
Bộ điều khiển PID bao gồm cả ba bộ điều khiển: vi phân, tích phân, tỷ lệ Tức là kết hợp tất cả ưu điểm của các bộ điều khiển kể trên: tích phân loại bỏ sai lệch tĩnh, vi phân giảm khuynh hướng dao động và tính trước giá trị tương lai của sai lệch – đặc biệt hữu dụng khi tải thay đổi bất ngờ
Phương trình trong miền thời gian :
P I t D y O
dt
t de K dt t e K t e K t y
0
) ( )
( ) ( ) (
Hàm truyền :
G(s) = KP +KI/s + KD.s
7.1 Điều khiển PID liên tục:
Điều khiển PID là cấu trúc điều khiển thông dụng nhất trong các quy trình điều khiển, đầu ra của điều khiển là tổng hợp của ba thành phần:
Thành phần thứ nhất up(t) là tỷ lệ giữa sai số đầu ra của hệ thống thực với giá trị tham chiếu (giá trị đặt)
Thành phần thứ hai uI(t) là tích phân theo thời gian của sai số
Thành phần thứ ba uD(t) là đạo hàm của sai số
Hàm điều khiển :
) ( ) ( ) ( )
(
1 ) ( )
d
de T d e T t e K
Một vài quy trình điều khiển đặt biệt là quy trình cũ có khoảng tỷ lệ đặt thay
vì độ lợi điều khiển Khoảng tỷ lệ được xác định là PB=100/K, định nghĩa chỉ áp dụng khi K là không thứ nguyên
Công thức của hàm điều khiển không chỉ giới hạn thực tế ở đầu ra Điều khiển sẽ đạt trạng thái bão hoà khi ngõ ra đạt giới hạn vật lý umax hoặc umin Trong thực tế ngõ ra của điều khiển tỷ lệ như sau :
Trang 25Hình 3.19 : Ngõ ra của bộ điều khiển tỷ lệ
Phần tích phân của hàm điều khiển được dùng để khử sai số của trạng thái ổn định Chức năng của nó có thể được giải thích bằng trực giác như sau : Giả sử hệ thống ở trạng thái ổn định vì vậy tất cả các tín hiệu đều là hằng số, đặt biệt là e(t) và u(t) Trạng thái ổn định chỉ được duy trì nếu tích phân uI(t) là hằng số, mặt khác u(t)
có thể thay đổi Điều này chỉ có thể xảy ra nếu e(t) bằng 0
Hàm điều khiển cũng có thể được biểu diễn theo phép biến đổi Laplace như sau :
) ( ) ( ) ( ) ( ) (s U0 s U s U s U s
s T
s E s T T s T K s E S T S T K s U s
2 1 1 0
) ( ) 1
( ) (
1 1 ) ( )
Bậc của tỷ số nhỏ hơn bậc của mẫu số và độ lợi của hàm điều khiển tiến về
vô cùng ở tần số cao Đây là hệ quả của giới hạn đạo hàm Trong thực tế đạo hàm khó có thể đạt được chính xác, nhưng có thể coi một cách gần đúng đối với hệ thống bậc nhất với hằng số thời gian Tf
) ( 1
1 1 ) ( ) ( ) ( )
(
1
s T
s T s T K s U s U s U s
U
f
d D
f với N = 5 10 Độ lợi phần đạo hàm điều khiển có giới hạn là KN ở tần
số cao Hàm PID được viết lại như sau :
) ( ) 1
s s s
R( ) 2
f I f
f
d
T T
K s T T K s T
T K s T s
(
Trang 26Đặc tính giới hạn của điều khiển PID: điều khiển PID được áp dụng thành công trong hầu hết các tiến trình điều khiển
Thời trễ: Thời trễ luôn xảy ra trong thực tế Thời trễ làm chậm thông tin của
quá trình điều khiển truyền tới bộ điều khiển trễ hơn so với mong muốn, do đó thông tin bị mất ý nghĩa Thời trễ giới hạn đặc tính của hệ thống, hệ thống nào có
thời trễ được điều khiển bởi PID thường hoạt động chậm hơn
7.2 Điều khiển PID rời rạc :
Đối với những hệ thống số, bộ điều khiển liên tục sẽ được rời rạc ở dạng số, cho hệ số lấy mẫu ngắn bên trong, vi phân có thể được xấp xĩ bằng một sai phân có giới hạn và tích phân xấp xỉ với việc lấy tổng Bộ điều khiển số sẽ tiến hành lấy mẫu sau những khoảng thời gian bằng nhau gọi là chu kỳ lấy mẫu, mỗi mẫu được chuyển thành 1 giá trị nhị phân để đưa vào bộ điều khiển (có thể là vi xử lý hoặc máy tính) Bộ điều khiển tính toán sai số về vị trí theo công thức sau :
en = sai số vị trí hiện tại
Sau khi tính toán sai số vị trí, bộ vi điều khiển sẽ tính toán các giá trị ngõ ra dựa trên phuơng trình PID số và các sai số vị trí đã có :
t
e K e t K e K
D
n j
j j I
n p n
en = sai số vị trí hiện tại
t = chu kỳ lấy mẫu
en = en – en-1 = độ thay đổi của sai số
Sự hiệu chỉnh thực tế của bộ điều khiển :
Một chu kỳ lấy mẫu quá dài có thể ảnh hưởng đến việc điều khiển hồi tiếp như bị nhiễu Một trường hợp đặt biệt là nếu chu kỳ lấy mẫu lâu hơn thời gian đáp ứng của quá trình thì nhiễu có thể ảnh hưởng đến quá trình xử lý và sẽ mất trước khi
Trang 27bộ điều khiển có thể nhận được một hoạt động chính xác Vì vậy một điều rất quan trọng là quan tâm đến động học và đặc tính nhiễu cũng ảnh hưởng đến sự lựa chọn chu kỳ lấy mẫu
Trong việc xử lý tín hiệu mục đích là lấy mẫu tín hiệu và phục hồi nó từ dạng thời gian rời rạc Lý thuyết lấy mẫu không xem thời gian tính toán là mối quan tâm
để làm cấu trúc lại thời gian, tín hiệu được lấy mẫu có thể mất thời gian khá lâu Nói thêm nữa là ta giả sử tín hiệu được chu kỳ hoá Trong những ứng dụng điều khiển các tín hiệu thường không theo chu kỳ và thời gian tính toán cho việc cấu trúc lại tín hiệu bị giới hạn
Trang 28PHẦN 4 GIỚI THIỆU LINH KIỆN SỬ DỤNG TRONG LUẬN VĂN
1 VI ĐIỀU KHIỂN 89C51:
Đặc điểm và chức năng hoạt động của các IC họ MSC-51 hoàn toàn tương tự như nhau Ở đây giới thiệu IC AT89C51 là một họ IC vi điều khiển do hãng Intel của Mỹ sản xuất Chúng có các đặc điểm chung như sau:
Các đặc điểm của 8951 được tóm tắt như sau:
4 KB EPROM bên trong
128 Byte RAM nội
4 Port xuất /nhập I/O 8 bit
Giao tiếp nối tiếp
Trang 291.1 Sơ đồ chân 8951 :
1.2.chức năng các chân:
8951 có tất cả 40 chân có chức năng như các đường xuất nhập Trong đó có
24 chân có tác dụng kép (có nghĩa là 1 chân có 2 chức năng), mỗi đường có thể hoạt động như đường xuất nhập hoặc như đường điều khiển hoặc là thành phần của các bus dữ liệu và bus địa chỉ
a Port 0:
Port 0 là một port xuất/nhập song hướng cực máng hở 8 bit Nếu được sử dụng như là một ngõ xuất thì mỗi chân có thể kéo 8 ngõ vào TTL Khi mức 1 được viết vào các chân của port 0, các chân này có thể được dùng như là các ngõ nhập tổng trở cao
Port 0 có thể được định cấu hình để hợp kênh giữa bus địa chỉ và bus dữ liệu (phần byte thấp) khi truy cập đến bộ nhớ dữ liệu và bộ nhớ chương trình ngoài Ở chế độ này, P0 có các điện trở pullup bên trong
Port 0 cũng nhận các byte code (byte mã chương trình) khi lập trình Flash,
và xuất ra các byte code khi kiểm tra chương trình Cần có các điện trở pullup bên ngoài khi thực hiện việc kiểm tra chương trình
b Port 1:
Port 1 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên trong Các bộ đệm ngõ ra của port 1 có thể kéo hoặc cung cấp 4 ngõ nhập TTL
Trang 30điện trở pullup nội và có thể được dùng như là các ngõ nhập Nếu đóng vai trò là các ngõ nhập, các chân của port 1 (được kéo xuống thấp qua các điện trở bên ngoài) sẽ cấp dòng IIL do các điện trở pullup bên trong
c Port 2:
Port 2 là một port xuất/nhập song hướng 8 bit có các điện trở pullup bên
trong Các bộ đệm ngõ ra của port 2 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 2 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 2 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong
Port 2 phát ra byte cao của địa chỉ khi đọc từ bộ nhớ chương trình ngoài và khi truy cập bộ nhớ dữ liệu ngoài dùng các địa chỉ 16 bit (MOVX @DPTR) Trong ứng dụng này, nó dùng các điện trở pullup nội "mạnh" khi phát ra các mức 1 Khi truy cập bộ nhớ dữ liệu ngoài dùng các địa chỉ 8 bit (MOVX @RI), port 2 phát ra các nội dung của thanh ghi chức năng đặc biệt P2
Port 2 cũng nhận các bit cao của địa chỉ và một vài tín hiệu điều khiển khi lập trình và kiểm tra Flash
d Port 3:
Port 3 là một port xuất-nhập song hướng 8 bit có điện trở pullup nội bên trong Các bộ đệm ngõ ra của port 3 có thể kéo hoặc cung cấp 4 ngõ vào TTL Khi các mức 1 được viết vào các chân của port 3 thì chúng được kéo lên cao bởi các điện trở pullup nội và có thể được dùng như các ngõ vào Khi được dùng như các ngõ vào, các chân của port 3 (được kéo xuống qua các điện trở bên ngoài) sẽ cấp dòng IIL do có các điện trở pullup bên trong.Port 3 cũng cung cấp các chức năng của các đặc trưng đặc biệt như được liệt kê dưới đây:
P3.0 RXT Ngõ vào dữ liệu nối tiếp
P3.1 TXD Ngõ xuất dữ liệu nối tiếp
Trang 31P3.2 INT0\ Ngõ vào ngắt cứng thứ 0 P3.3 INT1\ Ngõ vào ngắt cứng thứ 1 P3.4 T0 Ngõ vào củaTIMER/COUNTER thứ 0 P3.5 T1 Ngõ vào củaTIMER/COUNTER thứ 1 P3.6 WR\ Tín hiệu ghi dữ liệu lên bộ nhớ ngoài P3.7 RD\ Tín hiệu đọc bộ nhớ dữ liệu ngoài
1.3 Các ngõ tín hiệu điều khiển:
Ngõ tín hiệu PSEN (Program store enable):
PSEN là tín hiệu ngõ ra ở chân 29 có tác dụng cho phép đọc bộ nhớ chương trình mở rộng thường được nối đến chân OE\ (output enable) của Eprom cho phép đọc các byte mã lệnh
PSEN ở mức thấp trong thời gian Microcontroller 8951 lấy lệnh Các mã lệnh của chương trình được đọc từ Eprom qua bus dữ liệu và được chốt vào thanh ghi lệnh bên trong 8951 để giải mã lệnh Khi 8951 thi hành chương trình trong EPROM nội PSEN sẽ ở mức logic 1
Ngõ tín hiệu điều khiển ALE (Address Latch Enable)
Khi 8951 truy xuất bộ nhớ bên ngoài, port 0 có chức năng là bus địa chỉ và bus
dữ liệu do đó phải tách các đường dữ liệu và địa chỉ Tín hiệu ra ALE ở chân thứ 30 dùng làm tín hiệu điều khiển để giải đa hợp các đường địa chỉ và dữ liệu khi kết nối chúng với IC chốt
Tín hiệu ra ở chân ALE là một xung trong khoảng thời gian port 0 đóng vai trò
là địa chỉ thấp nên chốt địa chỉ hoàn toàn tự động
Các xung tín hiệu ALE có tốc độ bằng 1/6 lần tần số dao động trên chip và có thể được dùng làm tín hiệu clock cho các phần khác của hệ thống Chân ALE được dùng làm ngõ vào xung lập trình cho EPROM trong 8951
Ngõ tín hiệu EA\ (External Access):
Trang 32Tín hiệu vào EA\ ở chân 31 thường được mắc lên mức 1 hoặc mức 0 Nếu ở mức 1, 8951 thi hành chương trình từ EPROM nội trong khoảng địa chỉ thấp 4 Kbyte Nếu ở mức 0, 8951 sẽ thi hành chương trình từ bộ nhớ mở rộng Chân EA\ được lấy làm chân cấp nguồn 12V khi lập trình cho Eprom trong 8951
Ngõ tín hiệu RST (Reset) :
Ngõ vào RST ở chân 9 là ngõ vào Reset của 8951 Khi ngõ vào tín hiệu này
đưa lên cao
ít nhất là 2 chu kỳ máy, các thanh ghi bên trong được nạp những giá trị thích hợp
để khởi động hệ thống Khi cấp điện mạch tự động Reset
Các ngõ vào bộ dao động X1,X2:
Bộ dao động được được tích hợp bên trong 8951, khi sử dụng 8951 người thiết
kế chỉ cần kết nối thêm thạch anh và các tụ như hình vẽ trong sơ đồ Tần số thạch anh thường sử dụng cho 8951 là 12Mhz
Chân 40 (Vcc) được nối lên nguồn 5V
Các bank thanh ghi :
32 byte thấp của bộ nhớ nội được dành cho các bank thanh ghi Bộ lệnh 8951
hổ trợ 8 thanh ghi có tên là R0 -R7 và theo mặc định sau khi reset hệ thống, các thanh ghi này có các địa chỉ từ 00H - 07H
Các lệnh dùng các thanh ghi RO - R7 sẽ ngắn hơn và nhanh hơn so với các lệnh
có chức năng tương ứng dùng kiểu địa chỉ trực tiếp Các dữ liệu được dùng thường xuyên nên dùng một trong các thanh ghi này
100
10uF
8.2KOhm RST RESET
Trang 33Do có 4 bank thanh ghi nên tại một thời điểm chỉ có một bank thanh ghi được truy xuất bởi các thanh ghi RO - R7 để chuyển đổi việc truy xuất các bank thanh ghi
ta phải thay đổi các bit chọn bank trong thanh ghi trạng thái
Các hanh ghi Port (Port Register)
Các Port của 8951 bao gồm Port 0 ở địa chỉ 80H, Port1 ở địa chỉ 90H, Port2 ở địa chỉ A0H, và Port3 ở địa chỉ B0H Tất cả các Port này đều có thể truy xuất từng bit nên rất thuận tiện trong khả năng giao tiếp
Các thanh ghi ngắt (Interrupt Register):
8951 có cấu trúc 5 nguồn ngắt, 2 mức ưu tiên Các ngắt bị cấm sau khi bị reset
hệ thống và sẽ được cho phép bằng việc ghi thanh ghi cho phép ngắt (IE) ở địa chỉ A8H Cả hai được địa chỉ hóa từng bit
Hoạt động Reset:
8951 có ngõ vào reset RST tác động ở mức cao trong khoảng thời gian 2 chu kỳ xung máy, sau đó xuống mức thấp để 8951 bắt đầu làm việc
1.4 Các thanh ghi chức năng đặc biệt:
Một bản đồ vùng bộ nhớ trên chip được gọi là không gian thanh ghi chức năng đặc biệt (SFR) như được trình bày trong bảng
Lưu ý rằng không phải tất cả các địa chỉ đều được sử dụng, và các địa chỉ không được sử dụng có thể không được cung cấp trên con chip Các hành động đọc đến các địa chỉ này nói chung sẽ trả về các dữ liệu ngẫu nhiên, và các hành động viết sẽ
có một hiệu ứng không xác định
Các phần mềm người dùng không nên viết các mức 1 đến những vị trí không được liệt kê này, vì chúng có thể được dùng trong các sản phẩm tương lai khi thêm vào các đặc trưng mới Trong trường hợp này, các giá trị reset hoặc không tích cực của các bit mới sẽ luôn là 0
Các thanh ghi nội của 8051/8951 đượ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
Trang 34Các thanh ghi trong 8051/8951 đượ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 đếm chương trình và thanh ghi lệnh vì các thanh ghi này hiếm khi bị tác động trực tiếp)
Đó là lý do để 8051/8951 có nhiều thanh ghi như vậy Cũng như R0 đến R7, có 21 thanh ghi chức năng đặc biệt (SFR : Special Function Register) ở 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 đổi Ta thấy rằng E0H đồng thời là địa chỉ byte của cả thanh ghi tích lũy và là địa chỉ bit của 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ả
Trang 35đến 07h 01= bank 1:từ 08h đến 0fh 10= bank 2 :từ 10h đến 17h 11= bank 3 :từ 18h đến 1fh
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 sau sẽ AND bit 25H với cờ nhớ và đặt kết quả 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 quả của 4 bit thấp trong khoảng 0AH đến 0FH Nếu các giá trị được cộng 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 quả lớn hơn 9 vào nibble cao
0 * Cờ 0
Cờ 0 (F0) là 1 bit cờ đa dụng dành cho các ứng dụng của người dùng
Trang 36* Các bit chọn bank thanh ghi
Các bit chọn bank thanh ghi (RS0 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 1FH) đến thanh ghi tích lũy
SETB RS1
SETB RS0
MOV A, R7
Khi chương trình được hợp dịch, các đại 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 sau 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 quả 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 quả lớn hơn +127 hoặc nhỏ hơn -128 sẽ set bit OV
Kết quả là một số có dấu 8EH được xem như -116, không phải là kết quả đúng (142), vì vậy, bit OV được set
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 quả 16 bit trong A (byte thấp) và B (byte cao) Lệnh DIV AB sẽ chia A cho B rồi trả về kết quả 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 từng bit bằng các địa chi bit F0H đế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ữ
Trang 37liệ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ẽ đọc dữ liệu và giảm SP Ngăn xếp của 8051/8031 đượ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 8051/8951
Để 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, #5FH
Trên 8051/8951 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ĩ dùng giá trị 5FH vì SP sẽ tăng lên 60H trước khi cất byte dữ liệ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 quả là ngăn đầu tiên để cất dữ liệu có địa chỉ là 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 trữ 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, LCALL) 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 :
Trang 38trỏ 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 8051/8031 bao gồm Port 0 ở địa chỉ 80H, Port 1 ở địa chỉ 90H, 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 Ví dụ nếu một motor được nối qua một cuộn dây có transistor lái đến bit 7 của Port 1, nó có thể được bật và tắt bằng một lệnh đơn : SETB P1.7 ; bật motor
1.5 Hoạt động của timer:
Bộ định thời của Timer là một chuỗi các Flip Flop được chia làm 2, nó nhận tín hiệu vào là một nguồn xung clock, xung clock được đưa vào Flip Flop thứ nhất là xung clock của Flip Flop thứ hai mà nó cũng chia tần số clock này cho 2 và cứ tiếp tục
Vì mỗi tầng kế tiếp chia cho 2, nên Timer n tầng phải chia tần số clock ngõ vào cho 2n Ngõ ra của tầng cuối cùng là clock của Flip Flop tràn Timer hoặc cờ mà nó kiểm tra bởi phần mềm hoặc sinh ra ngắt Giá trị nhị phân trong các FF của bộ Timer có thể được nghĩ như đếm xung clock hoặc các sự kiện quan trọng bởi vì Timer được khởi động Ví dụ Timer 16 bit có thể đếm đến từ FFFFH sang 0000H Các Timer được ứng dụng thực tế cho các hoạt động định hướng 8951 có 2 bộ Timer 16 bit, mỗi Timer có 4 mode hoạt động Các Timer dùng để đếm giờ, đếm các sự kiện cần thiết và sự sinh ra tốc độ của tốc độ Baud bởi sự gắn liền Port nối tiếp
Mỗi sự định thời là một Timer 16 bit, do đó tầng cuối cùng là tầng thứ 16 sẽ chia tần số clock vào cho 216 = 65.536
Trang 39Trong các ứng dụng định thời, 1 Timer được lập trình để tràn ở một khoảng thời gian đều đặn và được set cờ tràn Timer Cờ được dùng để đồng bộ chương trình
để thực hiện một hoạt động như việc đưa tới 1 tầng các ngõ vào hoặc gởi dữ liệu đếm ngõ ra Các ứng dụng khác có sử dụng việc ghi giờ đều đều của Timer để đo thời gian đã trôi qua hai trạng thái (ví dụ đo độ rộng xung).Việc đếm một sự kiện được dùng để xác định số lần xuất hiện của sự kiện đó, tức thời gian trôi qua giữa các sự kiện
Các Timer của 8951 được truy xuất bởi việc dùng 6 thanh ghi chức năng đặc biệt như sau :
Khung đề nghị cho một chương trình phục vụ ngắt như sau:
ORG 0000H ; điểm vào Reset
Ljmp main; các điểm vào ISR
ORG 0030H; điểm vào chương trình chính
Main: chương trình chính bắt đầu
Lệnh thứ nhất nhảy tới địa chỉ 0030H, vừa trên các vị trí mà các ISR bắt đầu Như được vẽ hình sau, chương trình chính bắt đầu ở địa chỉ 0030H
Timer SFR Purpose Address
Trang 402 IC BIẾN ĐỔI TƯƠNG TỰ - SỐ( ADC 0809):
Để thực hiện phép đo của một đại lượng nào đó thì tuỳ thuộc vào đặc tính của đại lượng cần đo,điều kiện đo,cũng như độ chính xác theo yêu cầu của một phép đo mà ta có thể thực hiện đo bằng nhiều cách khác nhau trên cơ sỡ của các hệ thống đo lường khác nhau
Khối chuyển đổi: làm nhiệm vụ nhận trực tiếp các đại lượng vật lý đặc trưng cho đối tượng cần đo biến đổi các đại lượng thành các đại lượng vật lý thống nhất(dòng điện hay điện áp) để thuận lợi cho việc tính toán
Mạch đo: có nhiệm vụ tính toán biến đổi tín hiệu nhận được từ bộ chuyển đổi sao cho phù hợp với yêu cầu thể hiện kết quả đo của bộ chỉ thị
Khối chỉ thị: biến đổi tín hiệu điện thành từ mạch đo để thể hiện kết quả đo Đối tượng cần đo là đại lượng vật lý, dựa vào các đặc tính của đối tượng cần
đo mà ta chọn một loại cảm biến phù hợp để biến đổi thông số đại lượng vật lý cần
đo thành đại lượng điện, đưa vào mạch chế biến tín hiệu(gồm:bộ cảm biến, hệ thống khuếch đại, xử lý tín hiệu)
Bộ chuyển đổi tín hiệu sang số ADC(Analog Digital Converter) làm nhiệm
vụ chuyển đổi tín hiệu tương tự sang tín hiệu số và kết nối với vi xử lý
Bộ vi xử lý có nhiệm vụ thực hiện những phép tính và xuất ra những lệnh trên cơ sở trình tự những lệnh chấp hành đã thực hiện trước đó