Tải bản đầy đủ (.docx) (31 trang)

Thiết Kế Hệ Thống Điều Khiển Thiết Bị Sử Dụng Lớp Vật Lý RS485

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (756.89 KB, 31 trang )

ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I
MỤC LỤC

GVHD:
Giang Hồng Bắc

1


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

LỜI CẢM ƠN
Trong quá trình thực hiện đề tài mặc dù gặp phải rất nhiều những vấn đề khó khăn
song với sự hướng dẫn của thầy Giang Hồng Bắc cùng với sự chỉ bảo của các thầy cô
giáo Khoa Điện – Điện Tử và sự nỗ lực không ngừng của cả nhóm, đến nay chúng em
đã hoàn thành đề tài.. Tuy nhiên, do kiến thức của chúng em còn hạn chế, nên không
thể tránh khỏi những thiếu sót. Vì vậy chúng em rất mong nhận được những ý kiến
đóng góp chân thành từ phía thầy Giang Hồng Bắc ,cùng các thầy cô giáo Khoa Điện
– Điện Tử và các bạn đọc để đề tài này của chúng em ngày càng hoàn thiện và phát
triển lên mức cao hơn trong thời gian gần nhất.
Sau 1 thời gian thực hiện đề tài tại khoa, chúng em đã được học hỏi rất nhiều
kinh nghiệm và kiến thức. Các thầy cô gióa trong khoa đã nhiệt tình chỉ bảo. Đặc biệt
là sự hướng dẫn rất nhiệt tình của thầy Giang Hồng Bắc đã giúp chúng em hoàn thành
đề tài này.
Chúng em xin chân thành cảm ơn!




GVHD:
Giang Hồng Bắc

2


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

LỜI NÓI ĐẦU
Trong những năm gần đây, nền kinh tế của nước ta phát triển rất mạnh mẽ và nhanh
chóng, để đạt được kết quả này thì có sự đóng góp rất của ngành kĩ thuật điện - điện tử,
kĩ thuật vi xử lý.
Với sự phát triển như vũ bão hiện nay thì kĩ thuật điện-điện tử, kĩ thuật vi xử lý
đang xâm nhập vào tất cả các ngành khoa học – kĩ thuật khác và đã đáp ứng được mọi
nhu cầu của người dân. Sự ra đời của các vi mạch điều khiển với giá thành giảm
nhanh ,khả năng lập trình ngày càng cao đã mang lại những thay đổi sâu sắc trong
ngành kỹ thuật điện – điện tử.
Để bước đầu làm quen dần với vi điều khiển, chúng em đã được các thầy cô giáo
trong khoa giao cho đồ án môn học với đề tài: “Thiết kế hệ thống điều khiển thiết bị
sử dụng lớp vật lý RS485”
Chúng em xin chân thành cảm ơn!

GVHD:
Giang Hồng Bắc


3


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

CHƯƠNG 1
GIỚI THIỆU CHUNG VỀ CƠ SỞ LÝ LUẬN ĐỀ TÀI
1.1 Lớp vật lý (Physlcal layer)
Lớp vật lý là lớp dưới cùng trong mô hình phân lớp chức năng truyền thông của một
trạm thiết bị. Lớp này đảm nhiệm toàn bộ công việc truyền dẫn dữ liệu bằng phương
tiện vật lý. Các qui định ở đây mô tả giao diện vật lý giữa một trạm thiết bị và môl
trường truyền thông:
Các chl tiết về cấu trúc mạng (bus, cây, hình sao,...)
Kỹ thuật truyền dẫn (RS-485, MBP, truyền cáp quang,...)
Phương pháp mã hóa bit {NRZ, Manchester, FSK,...)
Chế độ truyền tảl (dải rộng/dải cơ sở/dải mang, đồng bộ/không đồng bộ)
Các tốc độ truyền cho phép
Giao diện cơ học (phích cắm, giắc cắm,...).
Lưu ý rằng lớp vật lý hoàn toàn không đề cập tới môl trường truyền thông, mà chỉ nói
tới giao diện với nó.
Lớp vật lý cần được chuẩn hóa sao cho một hệ thống truyền thông có sự lựa chọn giữa
một vàl khả năng khác nhau. Trong các hệ thống bus trường, sự lựa chọn này không
lớn quá, hầu hết dựa trên một vài chuẩn và kỹ thuật cơ bản.
1.2 Truyền thông và mã hóa dữ liệu
1.2.1 Truyền thông
Truyền thông là một quá trình trao đổi thông tin giữa hai chủ thể với nhau, được gọi là
các đối tác giao tiếp, theo một phương pháp được qui định trước. Đối tác này có thể

điều khiển đối tác kia, hoặc quan sát trạng thái của đối tác. Các đối tác giao tiếp có thể
là người hoặc hệ thống kỹ thuật - tức là các thiết bị phần cứng (đối tác vật lý) hoặc các
chương trình phần mềm (đối tác logic).
Để thực hiện việc giao tiếp hay truyền thông ta cần các tín hiệu thích hợp, có thể là tín
hiệu tương tự hay tín hiệu số. Sự phân biệt giữa tín hiệu và thông tin dẫn tới sự phần
biệt giữa xử lý tín hiệu và xử lý thông tin, giữa truyền tín hiệu với truyền thông. Có thể
sử dụng các dạng tín hiệu rất khác nhau để truyền tải một nguồn thông tin, cũng như
một tín hiệu có thể mang nhiều nguồn thông tin khác nhau.
1.2.2 Mã hóa
Thông tin cần trao đổl giữa các đốl tác được mã hóa trước khi được một hệ thống
truyền dẫn tín hiệu chuyển tới phía bên kia. Trong thuật ngữ truyền thông, mã hóa chỉ
quá trình biến đổi nguồn thông tin (dữ liệu) cần trao đổi sang một chuỗi tín hiệu thích
GVHD:
Giang Hồng Bắc

4


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

hợp để truyền dẫn. Quá trình này ít nhất thường bao gồm hal bước: mã hóa nguồn và
mã hóa đường truyền.
Trong quá trình mã hóa nguồn, dữ liệu mang thông tin thực dụng hay dữ liệu nguồn
được bổ sung các thông tin phụ trợ cần thiết cho việc truyền dẫn, ví dụ địa chỉ bên gửi
và bên nhận, kiểu dữ liệu, thông tín kiểm lỗi, v.v... Dữ liệu trước khi gửi đi cũng có thể
được phân chia thành nhiều gói dữ liệu bức điện để phù hợp với phương pháp truyền,
nén lại

để tăng hiệu suất đường truyền, hoặc mã hóa bảo mật. Như vậy, lượng thông tin chứa
đựng trong một tín hiệu sẽ nhiều hơn lượng thông tin thực dụng cần truyền tải.

Đối tác truyền thông

Đối tác truyền thông

Mã hóa/Giải mã

Mã hóa/Giải mã
Hệ thống truyền
dẫn tín hiệu
Hình 1.1: Nguyên tắc cơ bản của truyền thông
Sau khi đã được mã hóa nguồn, mã hóa đường truyền là quá trình tạo tín hiệu tương
ứng Với các bít trong gói dữ liệu hay bức điện theo một phương pháp nhất định để phù
hợp với đường truyền và kỹ thuật truyền. Hình 2.4 minh họa một ví dụ mã hóa đường
truyền đơn giản, các bit 0 được thể hiện bằng mức điện áp cao và các bit 1 bằng mức
điện áp thấp.
Mã hóa đường truyền đồng nghĩa với mã hóa bít, bởi tín hiệu do khâu mã hóa từng bit
tạo ra cũng chính là tín hiệu được truyền dẫn. Đối với các hệ thống truyền thông khác,
quá trình mã hóa đường truyền có thể bao hàm việc điều biến tín hiệu và dồn kênh, cho
phép truyền cùng một lúc nhiều nguồn thông tin và truyền tốc độ cao. Việc dồn kênh
có thể thực hiện theo phương pháp phân chia tần số, phân chia thời gian hoặc phân chia
mã.

Hình 1.2: Ví dụ mã hóa bít
Trong một tín hiệu được truyền tải đi, cần có một phương pháp để bên nhận phân biệt
glớl hạn giữa các bit dữ liệu nốl tiếp nhau, gọi là phương pháp đồng bộ hóa. Để tạo
điều kiện thực hiện được việc này một cách đơn giản, tín hiệu thường được phát theo
nhịp đều đặn, mỗi nhịp ứng với một bit, như được minh họa trên Hình 1.2.

GVHD:
Giang Hồng Bắc

5


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

Quá trình ngược lại với mã hóa là giải mã, tức là chuyển đổi các tín hiệu nhận được
thành dãy bit tương ứng và sau đó xử lý, loại bỏ các thông tin bổ sung để tái tạo thông
tin nguồn.
1.3 Chuẩn RS485
RS- 485 sử dụng tín hiệu điện áp chênh lệch đối xứng giữa hai dây dẫn A và B.
Thông số

Điều kiện

Điện áp đầu ra hở mạch
Đầu áp đầu ra khi có tải

RLOAD = 54Ω

Tối
thiếu

Tối đa


±1,5V

±6V

±,5V

±5V

Dòng ra ngắn mạch
Thời gian quá độ đầu ra

±250mA
RLOAD = 54Ω
CLOAD= 54Ω

Điện áp chế độ chung RLOAD = 54Ω
đầu ra Voc
Độ nhạy cảm đầu vào

-1V

-7V≤ VCM≤12V

3V
±200mV

Điện áp chế độ chung
VCM

-7V


Trở kháng đầu vào

12K Ω

12V

Bảng 1: Tóm tắt các thông số quan trọng của RS-485
Đặc tính khác nhau cơ bản của RS-485 có 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 trl-state.

GVHD:
Giang Hồng Bắc

6


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I


Hình 1.3: Sơ đồ bộ kích thích (driver) và bộ thu (receiver) RS-485
1.3.1 Số trạm tham gia
RS-485 cho phép nối mạng 32 tải đơn vị (unit load, UL), ứng vớl 32 bộ thu phát hoặc
nhiều hơn, tùy theo cách chọn tải cho mỗl 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.41. Thông thường, mỗi bộ thu phát được thiết kế tương
đương với một tảl đơ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.

Hình 1.4: 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

GVHD:
Giang Hồng Bắc

7


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

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 lmA qua mỗi tải (trường hợp xấu nhất),
tạo dòng tương đương với 32mA.
1.3.2 Tốc độ truyền tải và chiều dài dây dẫn
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.
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.

Hình 1.5 : Quan hệ giữa tốc độ truyền và chiều dài dây dẫn tối đa trong RS-485 sử
dụng đôi dây xoắn AWG 24
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. 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 (haft-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
GVHD:
Giang Hồng Bắc


8


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

Hình 1.6: 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 1.6 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 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.
1.3.3. Cáp nối
RS-485 không phải là một chuẩn trọn vẹn mà chỉ là một chuẩn về đặc tính điện học, vì
vậy không đưa ra các qul định cho cáp nối cũng như các bộ nối. Có thể dùng đôi dây
xoắn, cáp trơn hoặc các loại cáp khác, tuy nhiên đôi dây xoắn là vẫn là loại cáp được
sử dụng phổ biến nhất nhờ đặc tính chống tạp nhiễu và xuyên âm.
1.3.4.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ừ 100Q đến 120Q. 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à 10Q thay chứ không phải 50Í2 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.
GVHD:
Giang Hồng Bắc

9


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

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 1.7: Các phương pháp chặn đầu cuối RS-485
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ãicó 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 đảm bảo một dòng tối
thiểu cho trường hợp bus rỗl hoặc có sự cố.
1.3.5.Nố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ốl đấ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 hal 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ạl 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ẽ gỉữ 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ố.

GVHD:
Giang Hồng Bắc

10


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

1.4. Truy nhập bus Master-Slave
1.4.1.Đặt vấn đề
Trong một mạng có cấu trúc bus, các thành viên phải chia nhau thời gian sử dụng
đường dẫn. Để tránh sự xung đột về tín hiệu gây ra sai lệnh về thông tin, ở mỗi thời
điểm trên một đường dẫn chỉ duy nhất một điện tín được phép truyền đi. Chính vì vậy

mạng phải được điều khiển sao cho tại một thời điểm nhất định thì chỉ một thành viên
trong mạng được gửi thông tin đi. Còn số lượng thành viên trong mạng muốn nhận
thông tin thì không hạn chế. Một trong những vấn đề quan trọng hàng đầu ảnh hưởng
tới chất lượng của mỗi hệ thống bus là phương pháp phân chia thời gian gửi thông tin
trên đường dẫn hay phương pháp truy nhập bus.
Phương pháp truy nhập bus là một trong những vấn đề cơ bản đối với các hệ thống bus,
bởi mỗi phương pháp có những ảnh hưởng khác nhau tới các tính năng kỹ thuật của hệ
thống. Cụ thể, ta phải quan tâm tới ít nhất ba khía cạnh: độ tin cậy, tính năng thời gian
thực và hiệu suất sử dụng đường truyền. Tính năng thời gian thực ở đây là khả năng
đáp ứng nhu cầu trao đổi thông tin một cách kịp thời và tin cậy. Còn hiệu suất sử dụng
đường truyền là mức độ khai thác, sử dụng đường truyền.
1.4.2.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ủ.

Hình 1.8: Phương pháp chủ tớ

GVHD:
Giang Hồng Bắc

11


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử


Đồ án chuyên ngành I

Trong một số hệ thống, thậm chí các trạm tớ không có quyền giao tiếp trực tiếp với
nhau, mà bất cứ dữ liệu cần trao đổi nào cũng phải qua trạm chủ. Nếu hoạt động giao
tiếp diễn ra theo chu kỳ, trạm chủ sẽ có trách nhiệm chủ động yêu cầu dữ liệu từ trạm
tớ cần gửi và sau đó sẽ chuyển tới trạm tớ cần nhận. Trong trường hợp một trạm tớ cần
trao đổi dữ liệu bất thường với một trạm khác phải thông báo yêu cầu của mình khi
được trạm chủ hỏi đến và sau đó chờ được phục vụ.
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.

Ưu điểm:
Tiền định
Đơn giản, đỡ tốn kém
Trí tuệ tập trung tại một trạm chủ

Nhược điểm
Độ tin cậy phụ thuộc vào một trạm duy nhất
Hiệu suất trao đổi dữ liệu giữa hai trạm tớ thấp

Ứng dụng chủ yếu
Phổ biến trong các hệ thống bus cấp thấp (bus trường hay bus thiết bị)
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
Chí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 đổl 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.

GVHD:
Giang Hồng Bắc

12


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

1.5. Vi điều khiển PIC 16F877A
1.5.1. Sơ đồ chân

Hình 1.9: Sơ đồ chân PIC 16F877A

GVHD:
Giang Hồng Bắc

13


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử


Đồ án chuyên ngành I

1.5.2.Chức năng các chân

Hình 1.10: Chức năng của PIC 16F877A

Chân OSCl/CLKl(13): ngõ vào kết nổi với dao động thạch anh hoặc ngõ vào
nhận xung clock từ bên ngoài.

Chân OSC2/CLK2(14): ngõ ra dao động thạch anh hoặc ngõ ra cấp xung
clock. 

Chân MCLR/VPP(1) có 2 chức năng
MCLR : ngõ vào reset tích cực ở mức thấp.
Vpp: ngõ vào nhận điện áp lập trình khi lập trình cho PIC.

Chân RA0/AN0(2), RAI/AN 1(3), RA2/AN2(3): có 2 chức năng
RAO, 1,2: xuất/ nhập số.
AN 0,1,2: ngõ vào tương tự của kênh thứ 0,1,2.

Chân RA2/AN2/VREF-/CVREF+(4): xuất nhập số/ ngõ vào tương tự của kênh
thứ 2/ nhõ vào điện áp chuẩn thấp của bộ AD/ ngõ vào điện áp chẩn cao của bộ AD.
GVHD:
Giang Hồng Bắc

14


ĐH SPKT Hưng Yên

Khoa- Điện_Điện Tử

Đồ án chuyên ngành I


Chân RA3/AN3/VREF+(5): xuất nhập số/ ngõ vào tương tự kênh 3/ ngõ vào
điện áp chuân (cao) của bộ AD.

Chân RA4/T0CK1/C10UT(6); xuất nhập số/ ngõ vào xung clock bên ngoài cho
Timer 0/ ngõ ra bộ so sánh 1.

Chân RA5/AN4/-SS/ C20UT(7): xuất nhập số/ ngõ vào tương tự kênh 4/ ngõ
vào chọn lựa SPI phụ/ ngõ ra bộ so sánh 2.

Chân RBO/INT (33): xuất nhập số/ ngõ vào tín hiệu ngắt ngoài.

Chân RB1(34), RB2(35): xuất nhập số.

Chân RB3/PGM(36): xuất nhập số/ cho phép lập trình điện áp thấp ICSP.

Chân RB4(37), RB5(38): xuất nhập số.

Chân RB6/PGC(39): xuất nhấp số/ mạch gỡ rối và xung clock lập trình ICSP.

Chân RB7/PGD(40): xuất nhập số/ mạch gờ rối và dữ liệu lập trình ICSP.

Chân RC0/T1OCO/TlCKI(15); xuất nhập số/ ngõ vào bộ giao động Timerl/ ngõ
vào xung clock bên ngoài Timer 1.

Chân RC1/T1OSI/CCP2(16) : xuất nhập số/ ngõ vào bộ dao động Timer 1/ ngõ

vào Capture2, ngõ ra compare2, ngõ ra PWM2.

Chân RC2/CCP1(17): xuất nhập số/ ngõ vào Capturel ,ngõ ra comparel, ngõ ra
PWM1.

Chân RC3/SCK/SCLỌ8): xuất nhập số/ ngõ vào xung clock nối tiếp đồng bộ,
ngõ ra chế độ SPI./ ngõ vào xung clock nổi tiếp đồng bộ, ngõ ra của chế độ I2C.

Chân RC4/SDI/SDA(23): xuất nhập số/ dừ liệu vào SPI/ xuất nhập dừ liệu I2C.

Chân RC5/SDO(24): xuất nhập số/ dừ liệu ra SPI.

Chân RC6/TX/CK(25): xuất nhập số/ truyền bất đồng bộ USART/ xung đồng
bộ USART.

Chân RC7/RX/DT(26): xuất nhập số/ nhận bất đồng bộ USART.

Chân RD0-7/PSP0-7( 19-30): xuất nhập số/ dừ liệu port song song.

Chân REO/ RD /AN5(8): xuất nhập số/ điều khiển port song song/ ngõ vào
tương tự 5.

Chân RE1/ WR/AN6(9): xuất nhập số/ điều khiển ghi port song song/ ngõ vào
tuơng tự kênh thứ 6.

Chân RE2/ CS/AN7(10): xuất nhấp số/ Chân chọn lụa điều khiển port song
song/ ngõ vào tương tự kênh thứ 7.

Chân VDD(11, 32) và VSS(12, 31): là các chân nguồn của PIC.
1.5.3. Một vài thông số của PIC 16F877A

Đây là vi điều khiển thuộc họ PIC16Fxxx với tập lệnh gồm 35 lệnh có độ dài 14 bit.
Mỗi lệnh đều được thực thi trong một chu kì xung clock. Tộc độ hoạt động tối đa cho
phép là 20 MHz với một chu kì lệnh là 200ns. Bộ nhớ chương trình 8Kx14 bit, bộ nhớ
dữ liệu 368x8 byte RAM và bộ nhớ dư liệu EEPROM với dung lượng 256x8 byte.Số
PORT I/O là 5 với 33 pin I/O.
GVHD:
Giang Hồng Bắc

15


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

Các đặc tính ngoài vi bộ gồm các khối chức năng sau:
-Timer0: bộ đếm 8 bit với bộ chia tần số 8 bit.
-Timerl: bộ đếm 16 bit với bộ chia tần số, có thê thực hiện chức năng đếm dựa vào
xung clock ngoại vi ngay khi vi điều khiến hoạt động ớ chế độ sleep.
-Timer2: bộ đếm 8 bit với bộ chia tần số, bộ postcaler.
- Hai bộ Capture/so sánh/điều chế độ rông xung.
- Các chuân giao tiếp nối tiếp SSP (Synchronous Serial Port), SPI và I2C.
- Chuẩn giao tiếp nổi tiếp USART với 9 bit địa chỉ.
- Công giao tiếp song song PSP (Parallel Slave Port) với các chân điều khiên RD, WR.
> Bên cạnh đó là một vài đặc tính khác của vi điều khiển như:
- Bộ nhớ flash với khả năng ghi xóa được 100.000 lần.
- Bộ nhớ EEPROM với khả năng ghi xóa được 1.000.000 lần.
- Dữ liệu bộ nhớ EEPROM có thể lưu trừ trên 40 năm.
- Khả năng tự nạp chương trình với sự điều khiên của phần mềm.

- Nạp được chương trình ngay trên mạch điện ICSP (In Circuit Serial Programming)
thông qua 2 chân.
- Watchdog Timer với bộ dao động trong.
- Chức năng bảo mật mã chương trình.
- Chế độ Sleep.
- Có thể hoạt động với nhiều dạng Oscillator khác nhau

1.5.4. Khái quát về chức năng của các port trong vi điều khiển PIC16F877A

Hình 1.11: Các Port của PIC16F877A
GVHD:
Giang Hồng Bắc

16


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I


PORTA
PORTA gồm có 6 chân. Các chân của PortA, ta lập trình để có thể thực hiện được chức
năng “hai chiều” : xuất dữ liệu từ vi điều khiển ra ngoại vi và nhập dữ liệu từ ngoại vi
vào vi điều khiển.
Việc xuất nhập dữ liệu ở PIC16F877A khác với họ 8051. Ở tất cả các PORT của
PIC16F877A, ở mỗi thời điểm chỉ thực hiện được một chức năng :xuất hoặc nhập. Để
chuyển từ chức năng này nhập qua chức năng xuất hay ngược lại, ta phải xử lý bằng
phần mềm, không như 8051 tự hiểu lúc nào là chức năng nhập, lúc nào là chức năng

xuất.
Trong kiến trúc phần cứng của PIC16F877A, người ta sử dụng thanh ghi TRISA ở địa
chỉ 85H để điều khiển chức năng I/O trên. Muốn xác lập các chân nào của PORTA là
nhập (input) thì ta set bit tương ứng chân đó trong thanh ghi TRISA. Ngược lại, muốn
chân nào là output thì ta clear bit tương ứng chân đó trong thanh ghi TRISA. Điều này
hoàn toàn tương tự đối với các PORT còn lại
Ngoài ra, PORTA còn có các chức năng quan trọng sau :
- Ngõ vào Analog của bộ ADC : thực hiện chức năng chuyển từ Analog sang
Digital
- Ngõ vào điện thế so sánh
- Ngõ vào xung Clock của Timer0 trong kiến trúc phần cứng : thực hiện các
nhiệm vụ đếm xung thông qua Timer0…
- Ngõ vào của bộ giao tiếp MSSP (Master Synchronous Serial Port)

PORTB
PORTB có 8 chân. Cũng như PORTA, các chân PORTB cũng thực hiện được 2 chức
năng : input và output. Hai chức năng trên được điều khiển bới thanh ghi TRISB. Khi
muốn chân nào của PORTB là input thì ta set bit tương ứng trong thanh ghi TRISB,
ngược lại muốn chân nào là output thì ta clear bit tương ứng trong TRISB.
Thanh ghi TRISB còn được tích hợp bộ điện trở kéo lên có thể điều khiển được bằng
chương trình.

PORTC
PORTC có 8 chân và cũng thực hiện được 2 chức năng input và output dưới sự
điều khiển của thanh ghi TRISC tương tự như hai thanh ghi trên.
Ngoài ra PORTC còn có các chức năng quan trọng sau :
- Ngõ vào xung clock cho Timer1 trong kiến trúc phần cứng
- Bộ PWM thực hiện chức năng điều xung lập trình được tần số, duty cycle: sử dụng
trong điều khiển tốc độ và vị trí của động cơ v.v….
- Tích hợp các bộ giao tiếp nối tiếp I2C, SPI, SSP, USART


PORTD
GVHD:
Giang Hồng Bắc

17


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

PORTD có 8 chân. Thanh ghi TRISD điều khiển 2 chức năng input và output của
PORTD tương tự như trên. PORTD cũng là cổng xuất dữ liệu của chuẩn giao tiếp song
song PSP (Parallel SlavePort)

PORTE
PORTE có 3 chân. Thanh ghi điều khiển xuất nhập tương ứng là TRISE. Các chân của
PORTE có ngõ vào analog. Bên cạnh đó PORTE còn là các chân điều khiển của chuẩn
giao tiếp PSP.
1.5.5. Một vài thanh ghi chức năng đặc biệt SFR
Thanh ghi STATUS: thanh ghi này có mặt ở cả 4 bank thanh ghi ở các địa chỉ 03h,
83h, 103h và 183h : chứa kết quả thực hiện phép toán của khối ALU, trạng thái reset
và các bit chọn bank cần truy xuất trong bộ nhớ dữ liệu.

Thanh ghi OPTION_REG : có mặt ở bank2 và bank3 có địa chỉ 81h và 181h. Thanh
ghi này cho phép đọc và ghi, cho phép điều khiển chức năng pull_up của các chân
trong PORTB, xác lập các tham số về xung tác động, cạnh tác động của ngắt ngoại vi
và bộ đếm Timer0


Thanh ghi INTCON : có mặt ở cả 4 bank ở địa chỉ 0Bh,8Bh,10Bh,18Bh. Thanh ghi
cho phép đọc và ghi, chứa các bit điều khiển và các bit báo tràn timer0, ngắt ngoại vi
RB0/INT và ngắt khi thay đổi trạng thái tại các chân của PORTB.

Thanh ghi PIE1 :địa chỉ 8Ch, chứa các bit điều khiển chi tiết các ngắt của các khối
chức năng ngoại vi.

Thanh ghi PIR1 : địa chỉ 0Ch, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt
này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE1.

GVHD:
Giang Hồng Bắc

18


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

Thanh ghi PIE2 : địa chỉ 8Dh, chứa các bit điều khiển các ngắt của các khối chức năng
CCP, SSP bú, ngắt của bộ so sánh và ngắt ghi vào bộ nhớ EEPROM.

Thanh ghi PIR2: địa chỉ 0Dh, chứa cờ ngắt của các khối chức năng ngoại vi, các ngắt
này được cho phép bởi các bit điều khiển chứa trong thanh ghi PIE2

Thanh ghi PCON : địa chỉ 8Eh, chứa các cờ hiệu cho biết trạng thái các chế độ reset
của vi điều khiển.


Thanh ghi W(work)
Đây là thanh ghi rất đặc biệt trong PIC16F877A. Nó có vai trò tương tự như thanh ghi
Accummulator của 8051, tuy nhiên tầm ảnh hưởng của nó rộng hơn rất nhiều.
Tập lệnh của PIC16F877A có tất cả 35 lệnh thì số lệnh có sự “góp mặt” của thanh ghi
W là 23 lệnh. Hầu hết các lệnh của PIC16F877A đều liên quan đến thanh ghi W. Ví dụ
như, trong PIC chúng ta không được phép chuyển trực tiếp giá trị của một thanh ghi
này qua thanh ghi khác mà phải chuyển thông qua thanh ghi W.
Thanh ghi W có 8 bit và không xuất hiện trong bất kỳ bank thanh ghi nào của bộ nhớ
dữ liệu của 16F877A. Mỗi dòng lệnh trong PIC16F877a được mô tả trong 14 bit. Khi
ta thực hiện một lệnh nào đó, nó phải lưu địa chỉ của thanh ghi bị tác động (chiếm 8
bit) và giá trị một hằng số k nào đó (thêm 8 bit nữa) là 16 bit, vượt quá giới hạn 14 bit.
Do vậy ta không thể nào tiến hành một phép tính toàn trực tiếp nào giữa 2 thanh ghi
với nhau hoặc giữa một thanh ghi với một hằng số k. Hầu hết các lệnh của
PIC16F877A đều phải liên quan đến thanh ghi W cũng vì lý do đó. Khi thực hiện một
dòng lệnh nào đó, thì PIC sẽ không phải tốn 8 bit để lưu địa chỉ của thanh ghi W trong
mã lệnh ( vì được hiểu ngầm). Có thể xem thanh ghi W là thanh ghi trung gian trong
quá trình viết chương trình cho PIC16F877A.
1.5.6.Các vấn đề về Timer
PIC16F877A có tất cả 3 timer :
timer0 (8 bit), timer1 (16 bit) và timer2 (8 bit).
GVHD:
Giang Hồng Bắc

19


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử


Đồ án chuyên ngành I

Timer0:

Hình 1.12.Sơ đồ khối của Timer0
Cũng giống như 8051, Timer0 của 16F877A cũng có 2 chức năng : định thời và đếm
xung. 2 chức năng trên có thể được lựa chọn thông qua bit số 5 TOCS của thanh ghi
OPTION.
Ngoài ra, ta cũng có thể lựa chọn cạnh tích cực của xung clock, cạnh tác động ngắt…
thông qua thanh ghi trên.
Timer0 được tích hợp thêm bộ tiền định 8 bit (prescaler), có tác dụng mở rộng “dung
lượng” của Timer0. Bộ prescaler này có thể được điều chỉnh bởi các 3 bit PS2:PS0
trong thanh ghi OPTION. Nó có thể có giá trị 1:2, 1:4, 1:8, 1:16, 1:32, 1:64, 1:128,
1:256 tùy thuộc vào việc thiết lập các giá trị 0 ,1 cho 3 bit trên.
Bộ tiền định có giá trị 1:2 chẳng hạn ,có nghĩa là : bình thường không sử dụng bộ tiền
định của Timer0 (đồng nghĩa với tiền định tỉ lệ 1:1) thì cứ khi có tác động của 1 xung
clock thì timer0 sẽ tăng thêm một đơn vị. Nếu sử dụng bộ tiền định 1:4 thì phải mất 4
xung clock thì timer0 mới tăng thêm một đơn vị. Vô hình chung, giá trị của timer0 (8
bit) lúc này không còn là 255 nữa mà là 255*4=1020.
Các thanh ghi liên quan đến Timer0 bao gồm :
TMR0 : chứa giá trị đếm của Timer0
INTCON : cho phép ngắt hoạt động
OPTION_REG : điều khiển prescaler
Timer1

GVHD:
Giang Hồng Bắc

20



ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

Hình 1.13: Sơ đồ khối của Timer1
Timer1 là bộ định thời 16 bit, giá trị của Timer1 sẽ được lưu trong hai thanh ghi 8 bit
TMR1H:TMR1L. Cờ ngắt của Timer1 là bit TMR1IF, bit điều khiển của Timer1 là
TRM1IE.
Cặp thanh ghi của TMR1 sẽ tăng từ 0000h lên đến FFFFh rồi sau đó tràn về 0000h.
Nếu ngắt được cho phép, nó sẽ xảy ra khi khi giá trị của TMR1 tràn từ FFFFh rồi về
0000h, lúc này TMR1IF sẽ bật lên.
Timer1 có 3 chế độ hoạt động :
- Chế độ hoạt động định thời đồng bộ : Chế độ được lựa chọn bởi bit TMR1CS. Trong
chế độ này xung cấp cho Timer1 là Fosc/4, bit T1SYNC không có tác dụng.
- Chế độ đếm đồng bộ : trong chế độ này, giá trị của timer1 sẽ tăng khi có xung cạnh
lênh vào chân T1OSI/RC1. Xung clock ngoại sẽ được đồng bộ với xung clock nội, hoạt
động đồng bộ được thực hiện ngay sau bộ tiền định tỉ lệ xung (prescaler).
- Chế độ đếm bất đồng bộ: chế độ này xảy ra khi bit T1SYNC được set. Bộ định thời sẽ
tiếp tục đếm trong suốt quá trình ngủ của vi điều khiển và có khả năng tạo một ngắt khi
bộ định thời tràng và làm cho Vi điều khiển thoát khỏi trạng thái ngủ.
Timer2 : là bộ định thời 8 bit bao gồm một bộ tiền định (prescaler), một bộ hậu định
Postscaler và một thanh ghi chu kỳ viết tắt là PR2. Việc kết hợp timer2 với 2 bộ định tỉ
lệ cho phép nó hoạt động như một bộ đinh thời 16 bit. Module timer2 cung cấp thời
gian hoạt động cho chế độ điều biến xung PWM nếu module CCP được chọn.

Hình:
1.14: Sơ
khối của

Timer 2

GVHD:
Giang Hồng Bắc

đồ

21


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

1.6. IC Max 485
1.6.1. Sơ đồ chân

Hình : Sơ đồ chân IC Max 485

Bảng 2: Chức năng các chân của IC Max 485
1.6.2. Chức năng của IC Max485
Để chuyển tín hiệu từ chuẩn TTL sang chuẩn RS485 và ngược lại ta sử dụng IC
MAX485.
MAX485 được thiết kế cho việc truyền nhận dữ liệu, hoạt động tương thích với
chuẩn RS-232 và chuẩn RS-485. MAX485 bao gồm đường truyền và nhận vi sai, cả
hai có thể hoạt động độc lập với nhau, khi không cho phép thì ngõ ra ở trạng thái tổng
trở cao. MAX485 gồm bộ phát và bộ thu, tín hiệu vào bộ phát D logic TTL đổi thành
hai tín hiệu A và B, khi tín hiệu điều khiển DE ở mức thấp thì hai chân AB cách ly với
vi mạch. Tín hiệu vào bộ thu A và B, tín hiệu ra R logic TTL tùy thuộc hiệu điện áp

giữa A và B, khi /RE logic 1 thì R cách ly với vi mạch.
1.6.3. Đặc điểm
-Tốc độ bit Max= 2,5Mbps
-Có thể kết nối tối đa 32 thiết bị trên bus 485 .
GVHD:
Giang Hồng Bắc

22


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

-Điện áp hoạt động : -7V ~ 12V.
-Thường dùng 5V.
-Bus Max485 truyền dữ liệu Vi sai bằng 2 dây A,B nên khoảng cách truyền lớn, khả
năng chống nhiễu tốt.
-Với A-B > 200mV sẽ tạo mức logic 1.
-Với B-A>200mV sẽ tạo mức logic 0.
- Thời gian trễ để truyền là 10ns và khi nhận là 20n
- Nhiệt độ hoạt động từ -40C đến 85C.
1.6.4. Mạch ứng dụng

H
ình 1.15: Mạch ứng dụng của Max485
Bus RS485 với 2 thiết bị. có thể nối tối đa 32 max485 trên 1 bus.
Các chân cùng loại cần được nối với nhau. B nối với B, A nối A để đảm bảo dữ liệu
truyền nhận đúng.

1.6.5.Truyền dữ liệu với Max485

Hình
truyền dữ

1.16: Sơ đồ test
liệu Max485

Để Truyền dữ liệu với Max485 cần thực hiện các bước sau.
-Kết nối chân A với A, B với B giữa 2 IC.
GVHD:
Giang Hồng Bắc

23


ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

-Cấu hình truyền trên IC1, cho chân DE mức 1.
-Cấu hình nhận trên IC2, cho chân RE mức 0.
-Gửi dữ liệu vào tại chân DI của IC1.
-Đọc Dữ liệu Ra tại chân DO của IC2.

GVHD:
Giang Hồng Bắc

24



ĐH SPKT Hưng Yên
Khoa- Điện_Điện Tử

Đồ án chuyên ngành I

CHƯƠNG 2
THIẾT KẾ,THI CÔNG HỆ THỐNG ĐIỀU KHIỂN THIẾT BỊ
SỬ DỤNG LỚP VẬT LÝ RS485
2.1. Sơ đồ khối toàn mạch
TRUYỀN DỮ
LIỆU

KHỐI
MASTER

KHỐI
SLAVE

KHỐI NGUỒN
Hình 2.1: Sơ đồ khối toàn mạch
2.2. Sơ đồ nguyên lý

Hình 2.2: Sơ đồ nguyên lý toàn mạch

2.3. CODE chương trình:
Master:
GVHD:
Giang Hồng Bắc


25


×