You are on page 1of 6

Câu 1.

Trình bày chi tiết việc chuyển đổi số các thập phân sau sang số nhị phân

a. 36110 =

● Chuyển đổi 36110 sang nhị phân:

Số thập phân Số nhị phân

361/2 = 180 Số dư: 1

180/2 = 90 Số dư: 0

90/2 = 45 Số dư: 0

45/2 = 22 Số dư: 1

22/2 = 11 Số dư: 0

11/2 = 5 Số dư: 1

5/2 = 2 Số dư: 1

2/2 = 1 Số dư: 0

1/2 = 0 Số dư: 1

⇒ 36110 = 1011010012

b. 111, 110

Phần nguyên: 111


Số thập phân Số nhị phân

111/2 = 55 Số dư: 1

55/2 = 27 Số dư: 1

27/2 = 13 Số dư: 1

13/2 = 6 Số dư: 1

6/2 = 3 Số dư: 0

3/2 = 1 Số dư: 1

1/2 = 0 Số dư: 1
⇒ 11110 = 11011112

Phần thập phân: 0.1

Nhân 0,1 x 2 = 0,2, ghi lại "0"


Nhân 0,2 x 2 = 0,4, ghi lại "0"
Nhân 0,4 x 2 = 0,8, ghi lại "0"
Nhân 0,8 x 2 = 1,6, ghi lại "1"
Nhân 0,6 x 2 = 1,2, ghi lại "1"
Nhân 0,2 x 2 = 0,4, ghi lại "0"
Nhân 0,4 x 2 = 0,8, ghi lại "0"

⇒ 0. 110 = 0(0011)2
⇒ 111. 110 = 1101111. 0(0011)2

c. 75. 7510
Phần nguyên: 75

Số thập phân Số nhị phân

75/2 = 37 Số dư: 1

37/2 = 18 Số dư: 1

18/2 = 9 Số dư: 0

9/2 = 4 Số dư: 1

4/2 = 2 Số dư: 0

2/2 = 1 Số dư: 0

1/2 = 0 Số dư: 1

● 7510 = 10010112

Phần thập phân: 0.75

● Nhân 0.75 x 2 = 1.5, ghi lại "1"


● Nhân 0.5 x 2 = 1, ghi lại "1"
⇒ 0. 7510 = 112
⇒ 75. 7510 = 1001011. 112

Câu 2. Biểu diễn các số sau theo khuôn dạng số nguyên có dấu 16 bit:
a. 2356810
b. − 146810

a. 2356810

Độ lớn của 23568 trong hệ nhị phân là: 1011 1000 0010 000

Dấu của 23568 là dương, nên MSB là 0.

Vậy số nguyên có dấu 16 bit của 23568 là: 0 1011 1000 0010 000

b. -1468

Độ lớn của -1468 trong hệ nhị phân là: -10110111100

Dấu của -1468 là âm, nên MSB là 1.

Vậy số nguyên có dấu 16 bit của -1468 là: 1111 1010 0100 0100

Câu 3: Biểu diễn các số sau dưới dạng số dấu phẩy động 32 bit (chuẩn IEEE 754/85)
a. 135,246
b. -53,49
𝑠 𝑒−127
X = (− 1) × 1.m × 2 (64 bit thì thay bằng e-1023)
trong đó: s= 0 hoặc 1
m là 23 bit
e là 8 bit
Xếp thành S E M

a. 135.246

● Số dương ⇒ s=0
● Phần nguyên: 13510=100001112
● Phần thập phân: 0. 24610=0. 00111110111110011112
● Phần mũ e - 127 = 7 => e = 13410=100001102
● Số thực X chuyển về dạng chuẩn IEEE 754/85 là:

0 | 1000 0110 | 0000 111 0011 1110 1111 1001

b. -53.49

● Số âm ⇒ s=1
● Phần nguyên: 5310=1101012
● Phần thập phân: 0. 4910=0. 01111101011100001012
● Phần mũ e - 127 = 5 => e = 13210=100001002
● Số thực X chuyển về dạng chuẩn IEEE 754/85 là:
1 | 1000 0100 | 10101 011111010111000010

Câu 4. Cho hệ thống (Trong hình)

Hệ thống bao gồm một máy tính điều khiển và 2 bộ điều khiển động cơ được kết Đối với
nhau qua một mạng truyền thông. Yêu cầu cơ bản của hệ thống là máy tính giám sát được
tốc độ thực của động cơ Vị, V, và truyền yêu cầu đặt tốc độ mới cho các động cơ Vset1,
Vset2. Động cơ có thể đảo chiều, tốc độ tối đa 3000v/p.

a. Đề xuất phương án mã hóa dữ liệu tốc độ động cơ


b. Đề xuất một số phương án tổ chức mạng truyền thông cho hệ thống trên, nêu rõ ưu,
nhược điểm của từng phương án

Hệ thống trên là một hệ thống điều khiển động cơ sử dụng giao thức Modbus và mạng CAN.
Đây là một số đề xuất:

a. Để mã hóa dữ liệu tốc độ động cơ, ta có thể sử dụng một trong hai phương pháp sau:

Phương pháp 1: Sử dụng một thanh ghi 16 bit để lưu trữ giá trị tốc độ động cơ theo đơn vị
vòng/phút (RPM). Giá trị này có thể biểu diễn được các tốc độ từ 0 đến 65535 RPM. Để
biểu diễn chiều quay của động cơ, ta có thể sử dụng bit cao nhất của thanh ghi để chỉ ra
chiều quay (0 cho chiều thuận, 1 cho chiều nghịch). Ví dụ: Nếu thanh ghi có giá trị là
0x1234, thì tốc độ động cơ là 4660 RPM và chiều quay là thuận. Nếu thanh ghi có giá trị là
0x9234, thì tốc độ động cơ là 4660 RPM và chiều quay là nghịch.

Phương pháp 2: Sử dụng hai thanh ghi 16 bit để lưu trữ giá trị tốc độ động cơ theo đơn vị
vòng/phút (RPM). Thanh ghi thứ nhất lưu trữ phần nguyên của giá trị tốc độ, còn thanh ghi
thứ hai lưu trữ phần thập phân của giá trị tốc độ. Giá trị này có thể biểu diễn được các tốc
độ từ 0 đến 65535.9999 RPM. Để biểu diễn chiều quay của động cơ, ta có thể sử dụng bit
cao nhất của thanh ghi thứ nhất để chỉ ra chiều quay (0 cho chiều thuận, 1 cho chiều
nghịch). Ví dụ: Nếu hai thanh ghi có giá trị là 0x1234 và 0x5678, thì tốc độ động cơ là
4660.2216 RPM và chiều quay là thuận. Nếu hai thanh ghi có giá trị là 0x9234 và 0x5678,
thì tốc độ động cơ là 4660.2216 RPM và chiều quay là nghịch.

b. Để tổ chức mạng truyền thông cho hệ thống trên, ta có thể sử dụng một trong hai phương
án sau:
Phương án 1: Sử dụng một mạng Modbus RTU để kết nối máy tính điều khiển với hai bộ
điều khiển động cơ. Mạng Modbus RTU sử dụng một kênh truyền vật lý như RS-485 để
truyền nhận các khung dữ liệu nhị phân giữa các thiết bị. Mỗi thiết bị có một địa chỉ duy nhất
và tuân theo nguyên tắc chủ-tớ trong giao tiếp. Máy tính điều khiển sẽ là thiết bị chủ, gửi các
yêu cầu đọc hoặc ghi các thanh ghi của các thiết bị tớ (bộ điều khiển động cơ). Các thiết bị
tớ sẽ phản hồi lại các yêu cầu của thiết bị chủ hoặc báo lỗi nếu có.

Ưu điểm của phương án này là:


● Đơn giản, dễ triển khai và bảo trì
● Tiết kiệm chi phí vì chỉ cần một kênh truyền duy nhất
● Có khả năng chống nhiễu cao với kênh RS-485

Nhược điểm của phương án này là:


● Tốc độ truyền thông hạn chế do sử dụng kênh RS-485
● Không có khả năng mở rộng khi muốn kết nối thêm các thiết bị khác
● Không có khả năng tự phục hồi khi xảy ra lỗi trên mạng

Phương án 2: Sử dụng một mạng CAN để kết nối máy tính điều khiển với hai bộ điều khiển
động cơ. Mạng CAN sử dụng một kênh truyền vật lý như CANbus để truyền nhận các khung
dữ liệu nhị phân giữa các thiết bị. Mỗi khung dữ liệu có một mã nhận diện duy nhất và tuân
theo nguyên tắc tranh chấp trong giao tiếp. Máy tính điều khiển sẽ gửi các yêu cầu đặt tốc
độ mới cho các bộ điều khiển động cơ thông qua mã nhận diện của chúng. Các bộ điều
khiển động cơ sẽ gửi lại các thông tin về tốc độ thực của chúng thông qua mã nhận diện
của chúng.

Ưu điểm của phương án này là:


● Tốc độ truyền thông cao do sử dụng kênh CAN bus
● Có khả năng mở rộng khi muốn kết nối thêm các thiết bị khác
● Có khả năng tự phục hồi khi xảy ra lỗi trên mạng

Nhược điểm của phương án này là:


● Phức tạp, khó triển khai và bảo trì
● Tốn chi phí vì cần có bộ điều khiển CAN cho mỗi thiết bị
● Có khả năng xung đột khi có nhiều thiết bị giao tiếp cùng lúc

Câu 5: Với hệ thống ở câu 4, trình bày các khung truyền cơ bản nếu sử dụng các chuẩn
truyền thông:

a. Modbus RTU.
b. Modbus ASCII
c. CAN

Các khung truyền cơ bản của các chuẩn truyền thông là:

a. Modbus RTU: Đây là một định dạng truyền nhị phân, sử dụng một mã kiểm tra CRC để
đảm bảo tính toàn vẹn của dữ liệu. Một khung truyền Modbus RTU có cấu trúc như sau:
Khởi đầu Địa chỉ Mã hàm Dữ liệu Mã CRC Kết thúc

(...) 8 bit 8 bit n*8 bit 16 bit (...)

b. Modbus ASCII: Đây là một định dạng truyền ký tự, sử dụng một mã kiểm tra LRC để
đảm bảo tính toàn vẹn của dữ liệu. Một khung truyền Modbus ASCII có cấu trúc như sau:

Khởi đầu Địa chỉ Mã hàm Dữ liệu Mã LCR Kết thúc

1 ký tự 2 ký tự 2 ký tự n ký tự 2 ký tự 2 ký tự
CR +LF

c. CAN: Đây là một định dạng truyền nhị phân, sử dụng một mã kiểm tra CRC để đảm bảo
tính toàn vẹn của dữ liệu. Một khung truyền CAN có cấu trúc như sau:

Khởi đầu Phân xử Điều khiển Dữ liệu Kiểm soát Xác nhận Kết thúc
lỗi CRC ACK

1 bit 12 hoặc 6 bit 0-8 byte 15|1 bit 1|1 bit 7 bit
32 bit

You might also like