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
⇨ 387 = 110000011
10 2
a) 126. 3 = ?
10 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
⇨ 126 = 1111110
10 2
- 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. 3 = 0. 010011001…..
10 2
Vậy số 126. 3 = 1111110. 010011001…..
10 2
b) 49. 75 = ?
10 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
⇨ 49 = 110001
10 2
- 𝑃ℎầ𝑛 𝑡ℎậ𝑝 𝑝ℎâ𝑛: 0.75 x 2 = 1.5 lấy 1
0.5 x 2 = 1 lấy 1
⇨ 0. 75 = 0. 11
10 2
⇨ 49. 75 = 110001. 11
10 2

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
6 :16 =0 dư 6
2637810 =670A16=0110 0111 0000 1010 2
b)-153910
153910=60316=0000 0110 0000 0011b
Bù 1:1111 1001 1111 1100
Bù 2: 1111 1001 1111 1101
-1539d= 1111 1001 1111 1101b
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)

+ Nếu số dương thì s=0, âm thì s=1


Số được chuyển về dạng chuẩn IEEE 754/85 có dạng sem
Trong đó: S – 1 bit; E – 8 bit; M – 23 bit
Ví dụ:
a. 123.456
 Là số dương suy ra s=0
 123.456d=1111011.01110100101111000
 Công thức:
(-1)0 1. 11101101110100101111000x26
Suy ra: m=11101101110100101111000
e – 127 =6 => e=133d=10000101b
 Số được chuyển về dạng chuẩn IEEE 754/85:
b. 0 10000101 11101101110100101111000-54.32
 Là số âm suy ra s=1
 54.32d=110110.010100011110101110b
 Công thức:
(-1)01. 10110010100011110101110x25
Suy ra: m=10110010100011110101110
e – 127=5 =>e=132d=10000100d
 Số được chuyển về dạng chuẩn IEEE 754/85:
1 10000100 10110010100011110101110
Câu 4.1:

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âu 4.2:Có khả năng xung đột khi có nhiều thiết bị giao tiếp cùng lúc:

- (*) Phương án 1: Xây dựng mạng ModbusXâ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:
- 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 CANXâ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ẻ
b) 1 stop bit (nếu có bit kt chẵn lẻ) hoặc 2 (không có kiểm tra chẵn lẻ).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
Khởi Phân xử khiể Dữ liệu CRC Xác nhận Kết thúc
đầu n AC

1 hoặc 32 bit 6 0…64 (nhiệt 15 | 1|1 7


độ) 1

● 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