You are on page 1of 13

\`KIÊN TRÚC MÁY TÍNH

Câu 1: Chuyển đổi số thập phân sang nhị phân


a.387 b.126.3 c.49.75
387 : 2 = 193 dư 1
193 : 2 = 96 dư 1
96 : 2 = 48 dư 0
48 : 2 = 24 dư 0
24 : 2 = 12 dư 0
12 : 2 = 6 dư 0
6 : 2 = 3 dư 0
3: 2 = 1 dư 1
1 : 2 = 0 dư 1
⇨ 38710 = 1100000112
a) 126. 310 = ?2
- Phần nguyên 126 : 2 = 63 dư 0
63 : 2 = 31 dư 1
31 : 2 = 15 dư 1
15 : 2 = 7 dư 1
7 : 2 = 3 dư 1
3 : 2 = 1 dư 1
1 : 2 = 0 dư 1
⇨ 12610 = 11111102
- Phần thập phân 0.3 x 2 = 0.6 lấy 0
0.6 x 2 = 1.2 lấy 1
0.2 x 2 = 0.4 lấy 0
0.4 x 2 = 0.8 lấy 0
0.8 x 2 = 1.6 lấy 1
0.6 x 2 = 1.2 lấy 1
0.2 x 2 = 0.4 lấy 0
0.4 x 2 = 0.8 lấy 0
0.8 x 2 = 1.6 lấy 1
⇨ 0. 310 = 0. 010011001…..2
Vậy số 126. 310 = 1111110. 010011001…..2
b) 49. 7510 = ?2
- 𝑃ℎầ𝑛 𝑛𝑔𝑢𝑦ê𝑛 : 49 : 2 = 24 dư 1
24 : 2 = 12 dư 0
12 : 2 = 6 dư 0
6 : 2 = 3 dư 0
3 : 2 = 1 dư 1
1 : 2 = 0 dư 1
⇨ 4910 = 1100012
- 𝑃ℎầ𝑛 𝑡ℎậ𝑝 𝑝ℎâ𝑛: 0.75 x 2 = 1.5 lấy 1
0.5 x 2 = 1 lấy 1
⇨ 0. 7510 = 0. 112
⇨ 49. 7510 = 110001. 112

Bài 2: Biểu diễn các số theo khuôn dạng số nguyên có dấu 16 bit
a) 2637810
26378 : 16 = 1648 dư 10
1648 :16 =103 dư 0
103 : 16= 6 dư 7
7 :16 =0 dư 6
2637810 =670A16=0110 0111 0000 1010 2
b)-153910
153910=60316
Bù 15 : -153910=9FC16
Bù 16 : -153910=9FD16 =1001 1111 11012

Bài 3: Biểu diễn các số sau dưới dạng số dấu phảy động 32 bit( chuẩn
IEEE754/85)

a)123.456
● Là số dương=> s = 0
● Phần nguyên 12310=11110112
● Phần thập phân 0.45610=011101001011110002
=> 123.45610=1111011.01110100101111000=1.11101101110100101111
000x106=1.11101101110100101111000x26
(10 ở hệ nhị phân bằng 2 ở hệ thập phân nên ví dụ 1032=2310)
+ Phần mũ E = 6 => e=E+127= 13310= 100001012
+ Phần định trị m = 11101101110100101111000
● Số thực X vừa nhập chuyển về dạng chuẩn IEEE 754/85 là:
123.456 = 01000010111101101110100101111000
b)-54,32 m
● Là số âm nên => s = 1
● Phần nguyên 5410=1101102
● Phần thập phân 0.3210=0101000111101011102
=>54.3210=110110.0101000111101011102
= = 1.10110010100011110101110x 105
=
=1.10110010100011110101110x 25
(10 ở hệ nhị phân bằng 2 ở hệ thập phân nên ví dụ 1032=2310)
+ Phần mũ E = 5 => e=E+127= 13210= 100001002
+ Phần định trị m = 10110010100011110101110
● Số thực X vừa nhập chuyển về dạng chuẩn IEEE 754/85 là:
-54.32 = 11000010010110010100011110101110
Câu 4:

(*) Phương án 1: Xây dựng mạng Modbus

- Xây dựng mạng truyền thông modbus cho PC, ĐK1 và ĐK2 theo chế độ chủ
tớ (master/slave) trong đó PC là thiết bị chủ (master), ĐK1 và ĐK2 là thiết bị
tớ (slave). Mạng sử dụng phương thức truyền dẫn nối tiếp RS-232 hoặc
RS-485.
- Cơ chế giao tiếp: Yêu cầu/ trả lời, chỉ có master mới được gửi yêu cầu, slave
nào nhận được yêu cầu thì sẽ thực hiện.
+ Master có hai loại yêu cầu đối với hai slave, yêu cầu đọc nhiệt độ và yêu
cầu thiết đặt nhiệt độ.
+ Các slave nếu nhận được yêu cầu đọc nhiệt độ thì phải gửi dữ liệu nhiệt
độ đo được cho master, nếu nhận được yêu cầu thiết đặt nhiệt độ thì phải thực
hiện tăng, giảm hoặc giữ nguyên nhiệt độ theo yêu cầu.
- Master và slave sẽ giao tiếp với nhau bằng cách truyền lên môi trường truyền
dẫn các khung truyền gồm các bits nhất định. Một khung truyền cố định sẽ bao
gồm 4 trường chính theo thứ tự:
+ Trường địa chỉ:
● Gồm 2 kí tự hexa, khoảng địa chỉ kéo dài từ 0-247
● Master muốn gửi yêu cầu đến bộ ĐK nào thì đặt địa chỉ của slave vào
trường địa
chỉ, slave sau khi thực hiện yêu cầu, khi gửi bản tin trả lời cũng đặt địa chỉ của
mình vào đó

+ Trường mã hàm:
● Gồm 2 kí tự hexa, khoảng địa chỉ kéo dài từ 0-255
● Tùy theo mã hàm, slave sẽ xác định được yêu cầu là đọc nhiệt độ hay
điều khiển
nhiệt độ. Bản tin gửi trả lời của slave với trường này được giữ nguyên

+ Trường dữ liệu:
● Chứa 2 kí tự hexa từ 00 đến FF.
● Bổ sung những thông tin cần thiết để các slave thực hiện những yêu cầu
trong
mã hàm của yêu cầu như địa chỉ đọc dữ liệu nhiệt độ, nhiệt độ cần được thiết
đặt trong yêu cầu mà master gửi đến slave. Bản tin gửi về master của slave đối
với trường dữ liệu này sẽ chứa nhiệt độ đo được hoặc thông báo lỗi.
. + Trường kiểm tra lỗi:
* Chứa thông tin đi kèm để xác định tính đúng đắn của bản tin nhận được.
* Mã LRC đối với phương thức truyền ASCII, CRC với phương thức RTU.
- Phần cứng:
Sử dụng giao diện nối tiếp RS-232, các trạm Modbus có thể giao tiếp với nhau
qua cơ chế chủ/tớ(master/slave). Máy tính có cổng kết nối USB và cổng truyền
thông RS-232 (COM), bộ ĐK1 và ĐK2 có tích hợp Modbus protocol, bộ
chuyển đổi USB sang RS-485, cáp đôi dây xoắn đối với RS-485, cáp DB9 đối
vớiRS-232.
Cách kết nối:
Hình 1: RS - 232

- Phần mềm: Hệ thống giám sát và thu thập dữ liệu SCADA, phần mềm điều
khiển, …
* Ưu nhược điểm của Modbus:
-Ưu điểm:
+ Đơn giản, rẻ, phổ biến và dễ sử dụng
+ Yêu cầu ít phần cứng
+ Hầu như có thể chạy trên tất cả các phương tiện truyền thông, trong đó có
cổng kết
nối dây xoắn, không dây, mạng, sợi quang, Ethernet, modem điện thoại, điện
thoại di động và vi sóng.
- Nhược điểm:
+ Modbus theo chuẩn RS-232 bị giới hạn về khoảng cách ( chỉ khoảng 15m) và
tối đa 2 thiết bị kết nối với nhau.
+ Modbus theo chuẩn RS-485 bị giới hạn tốc độ. Tốc độ truyền của chuẩn này
trong
khoảng 0.010Mbps đến 0.115Mbps. Trong khi ngày nay, các mạng hỗ trợ tốc
độ truyền trong khoảng từ 5Mbps đến 16Mbps, thậm chí đối với các mạng
Ethernet nó còn cung cấp tốc độ truyền lên đến 100Mbps, 1Gbps và 10Gbps.
Tuy nhiên đã có Modbus TCP/IP phát triển mạnh mẽ về tốc độ và cách kết nối.
(*) Phương án 2: Xây dựng mạng CAN

- Xây dựng mạng truyền thông CAN cho 3 thiết bị PC, ĐK1, ĐK2 theo chuẩn
ISO 11898 sử dụng chuẩn truyền dẫn RS-485.
- Cơ chế giao tiếp:
+ Tất cả các thiết bị đều tham gia truyền nhận dữ liệu.
+ Giao tiếp hướng đối tượng, mỗi thông tin trao đổi trong mạng được coi như
là một đối tượng, có độ dài khác nhau, được gán một mã số căn cước. Thông
tin mang yêu cầu đọc nhiệt độ, cài đặt giá trị nhiệt độ, đáp ứng từ 2 bộ điều
khiển sẽ có những mã căn cước khác nhau.
+ Các thông báo không được gửi đến một địa chỉ nhất định mà bất cứ trạm nào
cũng có thể nhận theo nhu cầu. Ví dụ: Trạm ĐK1 chỉ nhận yêu cầu đọc nhiệt độ
và thiết đặt nhiệt độ từ PC chứ không nhận dữ liệu nhiệt độ từ trạm ĐK2.
- Dữ liệu truyền dẫn:
- PC truyền lên yêu cầu đọc nhiệt độ, yêu cầu thiết đặt nhiệt độ và tiếp nhận dữ
liệu nhiệt độ.
- ĐK1, ĐK2 truyền lên dữ liệu nhiệt độ đo được, nhiệt độ cài đặt được và tiếp
nhận yêu cầu đọc nhiệt độ, thiết đặt nhiệt độ.
- Ngoài ra tất cả các trạm đều có thể truyền lên các khung báo lỗi, quá tải.
Phần cứng: Máy tính có cổng kết nối USB, bộ ĐK1 và ĐK2 có tích hợp
Modbus protocol, bộ chuyển đổi USB sang RS-485, cáp đôi dây xoắn đối với
RS-485.
- Cấu trúc mạng là cấu trúc đường thẳng, mắc theo kiểu đường trục-đường
nhánh. Chiều dài đường nhánh hạn chế dưới 0.3m.
- Phương pháp truy nhập bus: CSMA/CD tức là điều khiển phân kênh theo
từng bit
-

Cách kết nối:

- Phần mềm: Hệ thống giám sát và thu thập dữ liệu SCADA, phần mềm điều
khiển, …

(*) Ưu nhược điểm của CAN


- ưu điểm
+ Có khả năng tạo chức năng trong môi trường điện
+ Khả năng phát hiện và khống chế lỗi tuyệt vời
+ Ổn đinh, an toàn nhờ cơ chế truy cập môi trường CSMA/CA phân kênh theo
từng bit.
+ Là một kênh giao tiếp dữ liệu nối tiếp tích hợp cao cho các ứng dụng thời
gian
thực. Có hiệu quả rẻ hơn bất kì một hệ thống bus nối tiếp nào khác, kể cả
RS-232 và
TCP/IP.
+ Dễ sử dụng hơn bất kỳ một hệ thống bus nào khác. CAN có tính mở và linh
hoạt,
dễ dàng thay đổi mà không cần phải thiết kế lại toàn bộ hệ thống.
+ Hoạt động ở một tốc độ truyền dữ liệu tới 1Mbit/s ở khoảng cách ngắn.
+ Đang được sử dụng trong nhiều ứng dụng tự động hóa và điều khiển công
nghiệp khác nhau.
+ Là một tiêu chuẩn quốc tế: ISO 11898
- Nhược điểm:
Chỉ hoạt động tốt ở phạm vi hẹp, khoảng cách ngắn. Tốc độ truyền tối đa
1Mbit/s ở khoảng cách 40M. Trong chuẩn ISO 11898 không quy định về mức
logic.
Câu 5:

a) Modbus RTU
Truyền từng 8 bít nhị phân, cũng chuyển thông tin thành các số hexa (mỗi 8 bít
chứa 2 kí tự ASCII). Ví dụ địa chỉ thanh ghi 0001 0100 (20) chuyển thành 1E
rồi truyền, tức là truyền đi chuỗi 8 bit 0001-1110 (1-E).
Cấu trúc 1 kí tự khung gửi như sau:
● 1 start bit
● 8 data bit biểu diễn 2 hexa cần truyền.
● có hoặc không 1 bit kiểm tra chẵn lẻ
● 1 stop bit (nếu có bit kt chẵn lẻ) hoặc 2 (không có kiểm tra chẵn lẻ).
b) Modbus ASCII:
Mỗi byte được gửi thành 2 ký tự ASCII 7 bits, trong đó mỗi ký tự biểu diễn
một chữ số hex.
Cấu trúc 1 kí tự khung gửi như sau:
● 1 start bit
● 7 data bit biểu diễn mã ASCII của một kí tự hexa cần truyền, trong đó bit
thấp nhất đc gửi đi trước
● Có hoặc không 1 bit kiểm tra chẵn lẻ
● 1 stop bit (nếu có bit kt chẵn lẻ) hoặc 2 (không có kiểm tra chẵn lẻ).

c) Khung truyền CAN


Các khung dữ liệu:
+ Khung dữ liệu nhiệt độ:
Điều Kiểm soát lỗi Xác nhận
Khởi đầu Phân xử Dữ liệu Kết thúc
khiển CRC ACK
1 6 hoặc 32 bit 6 0…64 (nhiệt độ) 15 |1 1|1 7
● Khởi đầu khung là bit trội, đồng bộ hóa tất cả các trạm.
● Ô phân xử: là mức ưu tiên của bức điện, 16 bit với dạng chuẩn và 32 bit
với
dạng mở rộng. Trong đó mã căn cước dài 15 hoặc 29 bit. Bit cuối của ô phân
xử
mà là bit trội => Khung dữ liệu.
● Ô điều khiển: 6 bit, 4 bit cuối mã hóa chiều dài dữ liệu (trội = 0, lặn = 1).
● Ô dữ liệu: 0 – 8 byte trong đó mỗi byte được truyền đi theo thứ tự bit có
giá trị cao nhất đến bit có giá trị thấp nhất
● Ô kiểm soát lỗi CRC: 16 bit bao gồm 15 bit được tính theo phương pháp
CRC và
một bit lặn phân cách.
● Ô xác nhận ACK: 2 bit được phát đi là các bit lặn. mỗi trạm nhận được
bức điện phải kiểm tra mã CRC. Nếu đúng sẽ được phát chồng một bit trội
trong thời gian nhận đc bit ARC đầu tiên
● Ô kết thúc: 7 bit lặn.
+ Khung yêu cầu: Giống khung dữ liệu nhưng không mang dữ liệu, bit cuối của
ô phân xử
là bit lặn.
+ Khung lỗi:
▪ Dạng cờ lỗi chủ động gồm 6 bit trội liền nhau
▪ Dạng cờ lỗi bị động bao gồm 6 bit lặn liền nhau.
Mỗi trạm khi phát hiện lỗi sẽ báo hiệu bằng cách gửi một cờ lỗi, khi đó các
trạm
khác cũng phát hiện và đồng loạt gửi cờ lỗi, do vậy dãy bit trội (trường hợp lỗi
chủ động)
là kết quả của sự xếp chồng nhiều cờ lỗi khác nhau từ các trạm.
Phân tách lỗi bằng 8 bit lặn liên tục. Sauk hi gửi xong một cờ lỗi, mỗi trạm phải
gửi 1 số bit lặn đồng thời quan sát bus cho đến khi phát hiện ra một bit lặn ( các
trạm đã
gửi xong cờ lỗi chủ động) chúng sẽ phát tiếp 7 bit lặn => 8 bit phân cách lỗi.
+ Khung quá tải:

You might also like