Tải bản đầy đủ (.pdf) (15 trang)

THE MACHTRONICS TIẾNG VIỆT 3 GIAO DIỆN VÀ HỆ THỐNG ĐIỀU KHIỂN CƠ ĐIỆN TỬ

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 (427.84 KB, 15 trang )

3

Giao diện hệ thống, thiết bị
và hệ thống điều khiển

Rick Homkes
Purdue University
3.1

3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10

Giới thiệu................................................... 3-1
Các tín hiệu đầu vào của hệ cơ điện tử ....... 3-3
Các tín hiệu đầu ra của hệ cơ điện tử.......... 3-5
Xử lý tín hiệu............................................. 3-7
Điều khiển dùng vi xử lý............................ 3-8
Điều khiển số dùng vi xử lý ....................... 3-9
Điều khiển vào-ra của bộ vi xử lý ............ 3-10
Điều khiển bằng phần mềm...................... 3-12
Kiểm thử và thiết bị ................................. 3-14
Tóm tắt .................................................... 3-15


Giới thiệu

Mục đích của chương này là nhằm giới thiệu một số vấn đề liên quan đến một hệ cơ điện tử. Mở
đầu là tổng quan về các hệ cơ điện tử và các tín hiệu đầu vào và đầu ra của một hệ cơ điện tử. Tiếp
theo sẽ giới thiệu về các đặc trưng đầu vào và ra của bộ vi xử lý. Phần mềm, thường ít được chú ý tới
trong hệ cơ điện tử, sẽ được trình bày ngắn gọn bằng việc nhấn mạnh các khái niệm kỹ thuật phần
mềm. Chương này cũng bao gồm một phần nhỏ về kiểm thử và thiết bị kiểm thử.
Hệ cơ điện tử
Hình 3.1 chỉ ra một hệ cơ điện tử điển hình với các thành phần cơ khí, điện và máy tính. Q trình
thu thập dữ liệu hệ thống bắt đầu với việc đo một đại lượng vật lý bằng một cảm biến. Cảm biến có
khả năng tạo ra một số dạng tín hiệu, thường là một tín hiệu tương tự dưới dạng mức điện áp hoặc
dạng sóng. Tín hiệu tương tự này được truyền đến bộ biến đổi tương tự-số (ADC). Thông thường,
bằng việc sử dụng xấp xỉ liên tiếp, ADC sẽ ánh xạ tín hiệu đầu vào tương tự sang tín hiệu đầu ra số.
Giá trị số này bao gồm một tập các giá trị nhị phân gọi là bit (thường được biểu diễn bằng các số 0 và
1). Tập các bit biểu diễn số cơ số 10 hoặc cơ số 16 có thể được dùng cho bộ vi điều khiển. Bộ vi điều
khiển bao gồm một bộ vi xử lý cộng thêm bộ nhớ và các thiết bị phụ trợ khác. Chương trình trong bộ
vi xử lý sử dụng giá trị số này cùng với các đầu vào khác và giá trị được tải trước được gọi là giá trị
chuẩn để xác định các lệnh đầu ra. Giống như đầu vào của bộ vi xử lý, những đầu ra này có dạng số và
có thể được biểu diễn bằng một tập các bit. Sau đó bộ biến đổi số-tương tự (DAC) thường được sử
dụng để chuyển đổi giá trị số thành một tín hiệu tương tự. Tín hiệu tương tự dùng cho một cơ cấu chấp
hành để điều khiển một thiết bị vật lý hoặc tác động lên môi trường vật lý. Sau đó, bộ cảm biến sẽ thực
hiện các phép đo mới và quy trình được lặp lại, như vậy một vịng lặp điều khiển phản hồi đã được
3-1
Metechvn.com


Sổ tay Cơ điện tử

hoàn thành. Thời gian cho toàn bộ q trình vận hành này được đồng bộ hố bằng việc sử dụng xung
đồng hồ.

Ví dụ về thiết bị dân dụng/văn phịng
Một ví dụ về hệ cơ điện tử là hệ thống sưởi ấm hoặc làm lạnh thông thường ở các gia đình hoặc
cơng sở. Những hệ thống đơn giản sử dụng một bộ điều chỉnh nhiệt lưỡng kim với các tiếp điểm điều
khiển một chuyển mạch thuỷ ngân dùng để bật, tắt lị sưởi hoặc máy điều hồ. Hệ thống điều hòa hiện
đại cũng sử dụng những thành phần cơ bản này cùng với các thành phần khác và điều khiển bằng
chương trình máy tính. Bộ cảm biến nhiệt độ sẽ theo dõi môi trường vật lý và đưa ra mức điện áp như
thể hiện ở hình 3.2 (mặc dù nói chung trên thực tế nó khơng hồn tồn là một chức năng đơn giản như
vậy).

HÌNH 3.1 Hệ thống điều khiển vi xử lý

HÌNH 3.2 Mức điện áp

Sau khi ADC thực hiện bước biến đổi, bộ vi điều khiển dùng các dữ liệu nhiệt độ được số hoá cùng
với một bộ tạo xung đồng hồ 24 giờ và mức nhiệt độ người sử dụng yêu cầu để phát ra các tín hiệu
3-2


Giao diện hệ thống, thiết bị v à hệ thống điện tử

điều khiển số. Tín hiệu này sẽ điều khiển cơ cấu chấp hành, thường là một bộ ngắt điện đơn giản trong
ví dụ này.
Tiếp theo, bộ ngắt điện sẽ điều khiển động cơ để bật tắt thiết bị sưởi ấm hoặc làm lạnh. Các phép đo
mới được thực hiện và chu trình được lặp lại. Mặc dù khơng phải là một sản phẩm cơ điện tử tầm cỡ
như một máy ghi, nhưng nó là một hệ thống cơ điện tử bởi nó có sự kết hợp giữa các thành phần cơ
khí, điện và máy tính. Hệ thống này cũng có thể kết hợp thêm một số đặc tính. Nếu nhiệt độ đo được
rất cao, ví dụ 80oC, thì hoả hoạn rất có thể xảy ra. Vì thế khơng phải là một ý kiến hay nếu bật quạt gió
hoặc đổ thêm ơxi vào lửa. Thay vào đó, hệ thống cần đặt chuông báo động hoặc sử dụng thiết bị truyền
thông dữ liệu để cảnh báo hoả hoạn. Nhờ có điều khiển bằng máy tính này mà hệ thống được coi là
“thơng minh” ít nhất là so với những hệ thống được điều khiển dựa trên bộ ngắt mạch bằng thuỷ ngân

kiểu cũ.
Ví dụ về ơ tơ
Ví dụ thứ hai là hệ thống phanh chống bó (ABS) ở nhiều phương tiện. Mục đích của loại hệ thống
này là nhằm ngăn chặn việc khóa cứng một bánh xe, và như vậy sẽ tránh cho lái xe mất khả năng điều
khiển hướng lái do bị trượt. Trong trường hợp này, các cảm biến được gắn với mỗi bánh xe để xác
định vận tốc góc của các bánh. Các dữ liệu này, có thể là dạng sóng hoặc điện áp biến đổi theo thời
gian, được truyền tới bộ vi điều khiển cùng với dữ liệu từ các cảm biến báo cáo về các đầu vào như vị
trí phanh bàn đạp, tốc độ xe và độ lệch hướng. Sau quá trình biến đổi của ADC hoặc chương trình lưu
giữ đầu vào thành một giá trị số, chương trình của bộ vi xử lý sẽ xác định hành động cần thiết. Đây
chính là điểm khiến cho hướng phát triển giao diện người-máy tính (HCI) hoặc giao diện người-máy
(HMI) trở thành hiện thực bằng việc tính đến “cảm nhận” của hệ thống đối với người sử dụng. Việc
hiệu chuẩn hệ thống có thể điều chỉnh những phản ứng của người lái trong khi cho xe dừng lại bằng
cách điều khiển phanh thông qua cơ cấu chấp hành. Có hai điều quan trọng cần lưu ý trong ví dụ này.
Thứ nhất, cuối cùng xe cũng sẽ bị dừng lại do thuỷ lực tác động lên má phanh để giữ trống tang và roto
– một chức năng hoàn toàn cơ học. Thứ hai, mặc dù ABS là một “sản phẩm thông minh”nhưng không
phải là một thiết bị độc lập. Nó là một phần của hệ thống lớn hơn với nhiều bộ vi điều khiển hoạt động
cùng nhau thông qua mạng dữ liệu.
3.2

Các tín hiệu đầu vào của hệ cơ điện tử

Đầu vào bộ chuyển đổi/bộ cảm biến
Tất cả các đầu vào của hệ cơ điện tử đều bắt nguồn từ một vài dạng thiết bị cảm biến hoặc truyền
thông từ các hệ thống khác. Các cảm biến được giới thiệu ở phần trước và sẽ được trình bày chi tiết
hơn ở chương 19. Bộ chuyển đổi, những thiết bị biến đổi năng lượng từ dạng này sang dạng khác,
thường được đồng nhất với các cảm biến. Các bộ chuyển đổi và các tính chất của chúng sẽ được mơ tả
đầy đủ ở chương 45. Cảm biến có thể được phân thành hai nhóm tổng quát, chủ động và thụ động.
Cảm biến chủ động phát ra tín hiệu để ước tính thuộc tính của mơi trường và thiết bị được đo, cịn cảm
biến thụ động thì khơng. Ví dụ về vũ khí trong quân sự cho thấy sự khác biệt này là máy bay chiến đấu
“vẽ” mục tiêu hoặc bằng radar laser chủ động (LADAR) hoặc bằng cảm biến hồng ngoại tìm kiếm

phía trước thụ động (FLIR).
Như đã nêu ở phần giới thiệu, đầu vào của bộ cảm biến thường là một tín hiệu tương tự. Dạng đơn
giản nhất của tín hiệu tương tự là mức điện áp (khơng nhất thiết tuyến tính) có mối liên hệ trực tiếp với
điều kiện đầu vào. Dạng thứ hai là tín hiệu điều chế độ rộng xung (PWM), sẽ được giải thích cụ thể
hơn ở phần sau của chương này khi bàn về đầu ra của bộ vi điều khiển. Dạng thứ ba là sóng như thấy ở
hình 3.3. Dạng tín hiệu này được điều chế về mặt biên độ (hình 3.4) hoặc tần số (hình 3.5) hoặc trong
một số trường hợp cả biên độ lẫn tần số. Những thay đổi này phản ánh sự biến đổi của trạng thái được
theo dõi.
Có những cảm biến khơng phát ra tín hiệu tương tự. Một số cảm biến thuộc loại này phát ra sóng
hình vng như thấy ở hình 3.6. Loại sóng này được đưa vào bộ vi điều khiển thông qua tiêu chuẩn
3-3
Metechvn.com


Sổ tay Cơ điện tử

truyền thơng EIA 232. Sóng hình vuông thể hiện giá trị nhị phân của 0 và 1. Trong trường hợp này,
ADC có lẽ được gắn liền bộ cảm biến, làm tăng giá trị cho bộ cảm biến. Một số bộ cảm biến/máy ghi
âm thậm chí có thể tạo thư hoặc gói TCP/IP giống như đầu vào. Ví dụ về loại thiết bị này là
MobileCorder MV của tập đồn Yokogawa Hoa kỳ.

HÌNH 3.3 Sóng hình sin

HÌNH 3.4 Điều chế biên độ

3-4


Giao diện hệ thống, thiết bị v à hệ thống điện tử


HÌNH 3.5 Điều chế tần số

HÌNH 3.6 Sóng vng
Bộ biến đổi tương tự-số
Các bộ biến đổi tương tự-số (ADC – Analog-to-Digital Converter) cơ bản có thể được phân loại
theo hai thơng số: dải tín hiệu đầu vào tương tự và dải tín hiệu đầu ra số. Chẳng hạn, xét ADC biến đổi
mức điện áp trong khoảng từ 0 – 12 V thành một byte đơn 8 bit. Trong ví dụ này, mỗi số gia nhị phân
phản ánh một lượng tăng điện áp tương tự bằng 1/256 của điện áp lớn nhất là 12V. Tuy nhiên, có một
sự chênh bất thường trong biến đổi này. Do giá trị 0 tương ứng với 0 V, giá trị 128 tương ứng với một
nửa giá trị lớn nhất trong ví dụ này là 6 V nên giá trị thập phân lớn nhất 255 chỉ tương ứng với
255/256 giá trị điện áp tối đa hoặc 11,953125 V. Xem bảng các giá trị tương ứng dưới đây:
Nhị phân

Thập phân

Điện áp

0000 0000

0

0.0

0000 0001

1

0.00390625

1000 0000


128

6.0

1111 1111

255

11.953125

ADC được dùng trong bộ vi điều khiển Motorola HC12 sinh ra 10 bit. Mặc dù khơng hồn tồn
tương thích với một byte dữ liệu, nhưng ADC 10 bit này đã góp phần làm tăng độ phân giải. Với đầu
vào từ 0 đến 5 V, độ phân giải thập phân trên mỗi bit với trọng số thấp nhất là 4.88 mV. Nếu ADC có
đầu vào 8 bit, thì độ phân giải trên mỗi bit này là 19.5 mV, khác biệt tới 4 lần. Điện áp lớn hơn chẳng
hạn từ 0 đến 12 V có thể được cân chỉnh bằng một bộ chia điện áp sao cho phù hợp với dải từ 0 đến 5
V. Điện áp nhỏ hơn có thể được khuyếch đại sao cho phù hợp với toàn bộ biên độ. Một quy trình được
gọi là xấp xỉ liên tiếp (sử dụng bộ ghi xấp xỉ liên tiếp (SAR – Succesive Approximation Register)
trong con chíp Motorola) được dùng để xác định giá trị số chính xác.
3.3

Các tín hiệu đầu ra của hệ cơ điện tử

Bộ biến đổi số-tương tự
Lệnh đầu ra của bộ vi điều khiển là một giá trị nhị phân dưới dạng bit, byte (8 bit) hoặc từ (16 bit).
Tín hiệu số được biến đổi thành tín hiệu tương tự bằng cách dùng bộ biến đổi số-tương tự (DCA –
Digital-to-Analog Converter). Chúng ta hãy xem xét việc biến đổi một giá trị 8 bit thành mức điện áp
trong khoảng từ 0 đến 12 V. Bit có trọng số cao nhất của giá trị nhị phân được biến đổi (số thập phân
128) sẽ tạo ra giá trị tương tự bằng một nửa giá trị đầu vào lớn nhất là 6 V. Số tiếp theo sinh ra thêm ¼
tương đương với 3 V, kế đó là thêm 1/8, v.v... Tổng tất cả các giá trị đầu ra đã được cân chỉnh này

3-5
Metechvn.com


Sổ tay Cơ điện tử

tương ứng với điện áp tương tự thích hợp. Như đã nêu ở phần trước, giá trị điện áp tối đa của dải là
không thể đạt được bởi vì giá trị lớn nhất được sinh ra là 255/256 của

HÌNH 3.7 Đầu ra bước của DAC

HÌNH 3.8 Điều biến độ rộng xung

12V tương đương với 11.953125 V. Độ mịn của tín hiệu phụ thuộc vào số lượng bit DAC chấp nhận
và dải đầu ra yêu cầu. Hình 3.7 minh họa hàm bước đã được đơn giản hoá bằng cách dùng đầu vào nhị
phân một byte và đầu ra tương tự 12 V.
Đầu ra cơ cấu chấp hành
Giống như bộ cảm biến, cơ cấu chấp hành đã được giới thiệu lần đầu ở phần trước và sẽ được mô tả
chi tiết trong chương tiếp theo của cuốn sách này. Ba cơ cấu chấp hành thông thường được xem xét ở
phần này là bộ ngắt mạch, nam châm điện có lõi dài, và động cơ. Bộ ngắt mạch là thiết bị trạng thái
đơn giản để điều khiển một hoạt động nào đó như bật, tắt lị sưởi. Các loại ngắt mạch bao gồm các rơle và các thiết bị ngắt liền khối như đi-ốt, thryisto, tranzito lưỡng cực, tranzito trường (FET và
MOSFET). Bộ ngắt mạch có thể được kết hợp với bộ cảm biến, giúp bật, tắt toàn bộ hoặc một chức
năng của bộ cảm biến.
3-6


Giao diện hệ thống, thiết bị v à hệ thống điện tử

Nam châm điện có lõi dài là thiết bị bao gồm lõi sắt chuyển động được. Lõi sắt này được kích hoạt
bởi một dịng điện. Sự chuyển động của nó giúp điều khiển dịng thuỷ lực hoặc khí nén. Thiết bị này

được ứng dụng rất nhiều trong các hệ thống phanh, trong công nghiệp chất lỏng. Chương sau sẽ giới
thiệu cụ thể hơn về cơ cấu chấp hành loại nam châm điện có lõi dài. Động cơ là loại cơ cấu chấp hành
cuối cùng sẽ được tóm tắt ở phần này. Dạng cơ cấu chấp hành này có ba loại chính: dịng điện một
chiều (DC), dịng điện xoay chiều (AC), và động cơ bước. Động cơ DC có thể được điều khiển bởi
điện áp DC cố định hoặc bởi tín hiệu điều chế độ rộng xung (PWM). Trong tín hiệu điều chế độ rộng
xung như thấy ở hình 3.8, điện áp lần lượt được bật, tắt khi thay đổi (điều chế) độ rộng của tín hiệu
thời gian bật hoặc chu kỳ làm việc. Nhìn chung động cơ AC rẻ hơn động cơ DC nhưng đòi hỏi điều
khiển tần số để điều khiển tốc độ quay. Động cơ bước chuyển động bằng cách quay một số độ nhất
định để đáp ứng một xung đầu vào.
3.4

Xử lý tín hiệu

Xử lý tín hiệu là việc thay đổi một tín hiệu để nó có ích hơn đối với một hệ thống. Tất nhiên, hai
dạng sửa đổi tín hiệu quan trọng là sự biến đổi giữa tín hiệu tương tự và số, như mơ tả ở hai phần
trước. Các dạng sửa đổi tín hiệu khác được nêu ngắn gọn dưới đây, và sẽ được giới thiệu cụ thể hơn ở
các chương 46 và 47.
Tốc độ lấy mẫu
Tốc độ để các mẫu dữ liệu nhận được rõ ràng là tốc độ mà hệ cơ điện tử có thể phát hiện ra một sự
thay đổi trạng thái. Tuy nhiên, có một vài vấn đề cần lưu ý. Ví dụ, đáp ứng của bộ cảm biến có thể bị
hạn chế về mặt thời gian hoặc phạm vi. Ngồi ra cũng phải có thời gian cần thiết để chuyển đổi tín
hiệu thành dạng có thể dùng được bởi bộ vi xử lý, gọi là thời gian chuyển đổi từ A sang D. Một vấn đề
đáng lưu ý nữa là tần số của tín hiệu được lấy mẫu. Đối với việc số hố giọng nói, tốc độ lấy mẫu
thường dùng là 8000 mẫu trên một giây. Đây là kết quả của định lý Nyquist. Định lý này cho rằng
muốn chính xác thì tốc độ lấy mẫu ít nhất phải gấp hai lần tần số lớn nhất được đo. Vì vậy tốc độ 8000
mẫu trên giây sẽ là tốt nhất để biến đổi giọng nói người trên hệ thống điện thoại tương tự có tần số cao
nhất xấp xỉ 3400 Hz. Một điều cuối cùng nữa là tốc độ đồng hồ của bộ vi xử lý cũng phải được cân
nhắc đến. Nếu ADC và DCA cùng nằm trên một bo mạch như bộ vi xử lý thì chúng thường dùng
chung một chiếc đồng hồ. Tuy nhiên, đồng hồ của bộ vi xử lý có thể lại quá nhanh đối với ADC và
DCA. Trong trường hợp này, bộ cân chỉnh lại được dùng để chia tần số đồng hồ thành mức có thể sử

dụng được cho ADC và DAC.

HÌNH 3.9 Bộ lọc thông thấp
Lọc
3-7
Metechvn.com


Sổ tay Cơ điện tử

Lọc là làm suy giảm (giảm bớt) tần số nào đó của tín hiệu. Q trình này có thể loại bỏ nhiễu khỏi
tín hiệu và xử lý đường truyền để giúp chuyển tải dữ liệu tốt hơn. Bộ lọc có thể được phân chia thành
bộ lọc tương tự và số. Bộ lọc tương tự lại được chia nhỏ thành dạng chủ động và dạng thụ động. Trong
khi bộ lọc tương tự thụ động sử dụng điện trở, tụ điện và điện cảm thì bộ lọc tương tự chủ động dùng
bộ khuyếch đại thuật toán với phần điện cảm và tụ điện. Bộ lọc số có thể được thực hiện bằng phần
cứng và/hoặc phần mềm. Phần mềm sẽ tạo cho các bộ lọc số có tính năng dễ dàng thay đổi hơn.
Chương 29 sẽ giải thích đầy đủ hơn về bộ lọc số.
Các bộ lọc cũng có thể được phân biệt dựa trên các loại tần số bị ảnh hưởng.
1. Bộ lọc thông thấp cho phép tập hợp các tần số thấp hơn đi qua, còn những tần số cao sẽ bị làm
suy giảm. Xem ví dụ đơn giản về bộ lọc này ở hình 3.9.
2. Ngược lại với bộ lọc thông thấp là bộ lọc thông cao lọc dải tần số thấp hơn trong khi cho phép
tần số cao hơn đi qua.
3. Bộ lọc thông dải cho phép một dải tần số nhất định đi qua còn tất cả những dải khác sẽ bị làm
suy giảm.
4. Bộ lọc ngăn dải chỉ chặn một dải tần số nhất định trong khi vẫn cho phép tất cả các dải tần số
khác đi qua.
Bộ lọc có rất nhiều loại và được ứng dụng trong nhiều trường hợp khác nhau. Ví dụ, William
Ribbens trong ấn phẩm Understanding Automotive Electronics (Newnes 1998) của mình đã mơ tả bộ
lọc thơng thấp dùng phần mềm (đơi khi cịn gọi là bộ lọc trễ) để lấy trung bình 60 mẫu mức dầu cuối
cùng trong thùng trong khoảng 1 giây. Các dữ liệu được lọc sau đó được hiển thị thay cho sự nhiều

loạn của đồng hồ đo trên xe. Dạng lọc này làm giảm sự dao động lớn và nhanh trong đồng hồ đo lượng
nhiên liệu do sự dập dềnh của bề mặt nhiên liệu và vì vậy sẽ cho giá trị chính xác hơn.
Bo mạch thu thập dữ liệu
Có một kiểu bo mạch đặc biệt để cắm vào một khe trong máy tính cá nhân để bàn để có thể sử dụng
cho nhiều nhiệm vụ kể trên. Nó được gọi là bo mạch thu thập dữ liệu (bo mạch DAQ). Kiểu bo mạch
này có thể tạo ra các tín hiệu đầu vào tương tự và đa thành phần đa đầu vào trên một bus đơn để truyền
đến máy tính. Nó cũng có thể được dùng kèm với phần cứng/phần mềm xử lý tín hiệu và ADC. Một số
thiết bị có thể truy cập trực tiếp bộ nhớ (DMA), cho phép thiết bị ghi dữ liệu trực tiếp vào bộ nhớ máy
tính mà khơng cần dùng đến bộ vi xử lý. Trong khi máy tính cá nhân để bàn khơng được coi là một bộ
phận của hệ cơ điện tử thì bo mạch DAQ lại rất hữu ích cho việc đo đạc.
3.5

Điều khiển dùng vi xử lý

Điều khiển PID
Hệ thống điều khiển vịng kín là hệ thống sẽ xác định sai khác giữa trạng thái mong muốn và trạng
thái thực (sai số) và tạo ra lệnh điều khiển để loại bỏ sai số. Điều khiển PID thực hiện ba cách phát
hiện và hiệu chỉnh sai số này. Cách thứ nhất là P (proprotional – tỷ lệ) trong PID. Thuật ngữ này cho
biết hoạt động điều khiển của bộ vi điều khiển tỷ lệ với sai số. Nói cách khác, sai số càng lớn thì sự
hiệu chỉnh sai số càng cao. Cách thứ hai là I (integral – tích phân) trong PID, để tích phân lỗi theo thời
gian, có nghĩa là hiệu chỉnh sai số có tính đến thời gian xảy ra sai số. Nói cách khác, sai số xảy ra trong
thời gian càng dài thì sự hiệu chỉnh lỗi càng cao. Cuối cùng là D (derivative – đạo hàm) trong PID, có
nghĩa là việc hiệu chỉnh sai số có liên quan đến đạo hàm hoặc thay đổi sai số đối với thời gian. Nói
cách khác, sai số thay đổi càng nhanh thì hiệu chỉnh sai số càng lớn. Hệ thống điều khiển có thể sử
dụng P, PI, PD, hoặc PID để hiệu chỉnh sai số. Nhìn chung, vấn đề ở đây là “hiệu chỉnh” hệ thống
bằng cách lựa chọn những giá trị thích hợp trong ba cách nêu trên. Xem chương 31 để biết thêm thông
tin về thiết kế bộ điều khiển.
Bộ điều khiển logic khả trình
Bất kỳ một bàn luận nào về các hệ thống điều khiển và điều khiển dùng vi xử lý cũng đều bắt đầu từ
dạng điều khiển “cơ điện tử” đầu tiên là bộ điều khiển logic khả trình (PLC – Programmable Logic

3-8


Giao diện hệ thống, thiết bị v à hệ thống điện tử

Controllers). PLC là một bộ điều khiển đơn giản nhưng linh hoạt hơn được thiết kế dùng trong các mơi
trường như nhà máy, xí nghiệp. Đầu vào thường từ các chuyển mạch như các nút ấn được điều khiển
bởi người vận hành máy hoặc các bộ cảm biến vị trí. Các bộ định thời cũng có thể được lập trình trong
PLC để vận hành một quy trình nhất định trong các khoảng thời gian định trước. Các đầu ra bao gồm
đèn, van solenoit, và động cơ với các giao diện đầu vào-đầu ra được thực hiện bên trong bộ điều khiển.
Một ngơn ngữ lập trình đơn giản được sử dụng với PLC được gọi là logic hình thang hoặc ngơn ngữ
lập trình hình thang. Logic hình thang là ngơn ngữ trực quan cho biết logic là sự liên kết các khối nối
tiếp (AND) và song song (OR). Để biết thêm thông tin, hãy xem Chương 43 và ấn phẩm
Programmable Logic Controllers của W. Bolton (Newnes 1996).
Bộ vi xử lý
Giải thích đầy đủ về bộ vi xử lý có thể tìm thấy ở mục 5.8. Ở mục này, chúng ta chỉ cần biết chút ít
về các bộ phận cấu thành trong cấu trúc máy tính. RAM (random access memory-bộ nhớ truy cập ngẫu
nhiên) là tập hợp các vị trí bộ nhớ, máy tính sử dụng để lưu dữ liệu tạm thời một cách tức thì. Các
kênh phát thanh định sẵn do lái xe (hoặc hành khách) lựa chọn trong radio của xe ơtơ được lưu ở
RAM. Một dịng điện nhỏ có chức năng duy trì những tần số phát sóng được lưu lại này cho nên nếu
radio hết pin thì các dữ liệu sẽ bị mất hết. ROM (read only memory - bộ nhớ chỉ đọc) là bộ nhớ tĩnh
chứa chương trình để chạy bộ vi điều khiển. Do đó, chương trình lưu trong radio sẽ khơng bị mất đi
khi hết pin. Một số loại ROM bao gồm bộ nhớ ROM xố và lập trình được (EPROM – erasable
programmable ROM), bộ nhớ ROM xố và lập trình được bằng điện (EEPROM – electrically erasable
programmable ROM) và bộ nhớ flash (một dạng mới hơn cả EEPROM). Tất cả những bộ nhớ này sẽ
được trình bày ở phần sau của cuốn sách. Ngồi ra cịn có một số nơi lưu trữ dữ liệu đặc biệt trong bộ
vi xử lý gọi là thanh ghi. Các thanh ghi là nơi lưu dữ liệu nhanh. Chúng sẽ tạm thời lưu địa chỉ lệnh
chương trình đang hoạt động, các giá trị tức thời cần thiết để hồn thành việc tính tốn, các dữ liệu cần
cho việc so sánh và các dữ liệu đầu ra, đầu vào. Địa chỉ và các dữ liệu được chuyển từ vị trí này sang
vị trí khác trong RAM, ROM, thanh ghi bằng cách sử dụng bus, và một tập hợp các đường truyền đồng

thời đa bit.
3.6

Điều khiển số dùng vi xử lý

Tốn học dấu phẩy tĩnh
Nhìn chung, các bộ vi xử lý trong một bộ điều khiển nhúng thường rất nhỏ so với một máy tính cá
nhân hoặc một trạm máy tính. Việc thêm vào chức năng xử lý dưới dạng bộ xử lý dấu phẩy động và
RAM hoặc ROM bổ sung không phải lúc nào cũng là sự lựa chọn đúng đắn. Điều này có nghĩa là đơi
khi các chức năng toán học phức tạp cần thiết cho hệ thống điều khiển khơng phải lúc nào cũng sẵn có.
Tuy nhiên, các giá trị sẽ được đo và được tính, mặc dù là các số thực, đôi khi cũng thuộc một miền giá
trị hợp logic. Vì vậy, tồn tại của một dạng số học đặc biệt, nhờ đó bộ vi điều khiển có thể sử dụng các
số nguyên thay thế cho số dấu phẩy động để tính tốn các giá trị giả thực.
Hiện có một vài dạng phép tốn dấu phẩy tĩnh đang được sử dụng. Dạng đơn giản nhất dựa trên lũy
thừa của 2, giống như các số nguyên thông thường trong hệ nhị phân. Tuy nhiên, một dấu phẩy nhị
phân ảo được chèn vào số nguyên cho phép lưu trữ xấp xỉ của các giá trị thực như số ngun. Một số
ngun khơng âm 8 bit chuẩn được trình bày dưới đây cùng với các giá trị thập phân tương đương.
0001 0100  (1  24 )  (1  2 2 )  (1 16)  (1  4)  20

Giả sử có một dấu phẩy nhị phân ảo được chèn vào giữa hai phần của một byte. Lúc này sẽ có 4 bit
nằm ở phía bên tay trái của dấu phẩy nhị phân tương ứng với các số mũ dương chuẩn của 2, và 4 bit
bên tay phải dấu phẩy nhị phân tương ứng với số mũ âm của 2. Con số tương tự lúc này sẽ đại diện cho
một số thực trong hệ thập phân.
0001 0100  (1  20 )  (1  2 2 )  (1 1)  (1  0.25)  1.25

3-9
Metechvn.com


Sổ tay Cơ điện tử


Rõ ràng là phương pháp này đã bộc lộ những nhược điểm nhất định. Cách giải bất kỳ số dấu phẩy
tĩnh nào cũng đều bị giới hạn ở luỹ thừa của 2 gắn với bit có trọng số thấp nhất ở bên tay phải, trong
trường hợp này là 2 -4 hoặc 1/16 hoặc 0.0625. Đôi khi làm trịn là rất cần thiết. Do vị trí của dấu phẩy
nhị phân ảo này phải được thường xuyên duy trì khi thực hiện tính tốn, nên có một sự thoả hiệp để
làm giảm tính phức tạp. Tuy nhiên, thời gian xử lý và các dữ liệu được lưu trong bộ nhớ thường khắc
phục được những thoả hiệp này, vì thế toán học dấu phẩy tĩnh lại trở nên rất hữu ích.
Hiệu chuẩn
Phạm vi hiệu chuẩn một hệ thống đơi khi là vấn đề rất quan trọng, không thấy rõ trước được khi
thiết kế một hệ cơ điện tử. Việc sử dụng các giá trị hiệu chuẩn là các giá trị số và logic lưu trong
EEPROM hoặc ROM, sẽ tạo tính linh hoạt khi hiệu chỉnh và vận hành hệ thống. Ví dụ, nếu các tốc độ
thạch anh của bộ vi xử lý khác nhau được dùng trong một hệ cơ điện tử và các giá trị thời gian thực là
cần thiết, thì một hệ số hiệu chỉnh của số chu kỳ xung đồng hồ trên mili giây được lưu giữ sẽ cho phép
thực hiện việc tính tốn này. Vì vậy, các giá trị hiệu chuẩn thường được dùng như một hệ số khuyếch
đại, nó được nhân với một số đầu vào nào đó để sinh ra đầu ra được cân chỉnh.
Như đã trình bày ở trên, việc hiệu chuẩn thường được dùng khi kiểm tra hệ cơ điện tử để thay đổi
“cảm nhận” của sản phẩm. Một bộ điều khiển có thể dùng một tập các giá trị hiệu chuẩn cho RPM của
động cơ, tải trọng động cơ và tốc độ xe để quyết định khi nào dịch chuyển các bánh răng. Điều này
thường được thực hiện với các hiện tượng trễ vì các điểm xê dịch chuyển từ bánh răng thứ hai sang
bánh răng thứ ba cũng như từ bánh răng thứ ba sang bánh răng thứ hai có thể khác nhau.
3.7

Điều khiển vào-ra của bộ vi xử lý

Hỏi vịng và ngắt
Có hai phương pháp cơ bản để bộ vi xử lý điều khiển vào/ra là hỏi vòng và ngắt. Hỏi vịng có nghĩa
là bộ vi xử lý sẽ kiểm tra định kỳ các thiết bị ngoại vi khác nhau để xác định đầu vào hoặc đầu ra nào
đang chờ. Nếu một thiết bị ngoại vi có một vài đầu vào hoặc đầu ra nào đó cần được xử lý thì cờ sẽ
được thiết lập. Vấn đề là ở chỗ rất nhiều thời gian xử lý đã bị lãng phí cho việc kiểm tra các đầu vào
trong khi chúng khơng có gì thay đổi.

Phục vụ ngắt là một phương pháp khác để điều khiển các đầu vào và các đầu ra. Theo phương pháp
này, thanh ghi trong bộ vi xử lý phải thiết lập một bit có khả năng cho phép ngắt (IE- Interrupt Enable)
cho một thiết bị ngoại vi nhất định. Khi một thiết bị ngoại vi khởi tạo ngắt, một cờ sẽ được thiết lập
cho bộ vi xử lý. Đường yêu cầu ngắt (IRQ – interrupt request line) sẽ được kích hoạt và bộ vi xử lý sẽ
phục vụ ngắt. Phục vụ ngắt có nghĩa là q trình xử lý thơng thường của của bộ vi xử lý sẽ bị dừng lại
(ngắt) để trao đổi dữ liệu với thiết bị ngoại vi. Để tiếp tục được lại q trình xử lý thơng thường, bộ vi
xử lý cần lưu dữ liệu của các thanh ghi trước khi thực hiện ngắt. Quy trình này bao gồm việc lưu tất cả
các dữ liệu hiện thời của thanh ghi vào một ngăn xếp, một phần của RAM dành riêng cho mục đích
này, trong một quy trình gọi là đẩy (push). Sau quy trình đẩy, bộ vi xử lý có thể tải địa chỉ của chương
trình phục vụ ngắt và thực hiện việc trao đổi dữ liệu theo yêu cầu. Khi việc phân chia mã đó được hồn
thành, các dữ liệu trong ngăn xếp lại được tải về thanh ghi trong một chu trình gọi là bật (Pop) hoặc
kéo (Pull) và tiếp tục q trình xử lý thơng thường.
Truyền dữ liệu vào - ra
Khi đầu vào hoặc đầu ra sẵn sàng cho việc truyền dữ liệu, chúng ta có thể sử dụng một vài phương
thức truyền. Thứ nhất, dữ liệu có thể được truyền theo phương thức song song hoặc nối tiếp. Phương
thức song song có nghĩa là nhiều bit (16 bit chẳng hạn) di chuyển song song xuống đa đường dẫn hoặc
bus đa nhánh từ nguồn tới đích. Phương thức nối tiếp có nghĩa là bit di chuyển riêng biệt, nối tiếp nhau
xuống một đường dẫn đơn lẻ. Truyền theo phương thức song song nhanh hơn do nhiều bit cùng nhau
di chuyển, nhưng số lượng đường dẫn lại là một nhược điểm. Vì lý do này, phương thức song song
thường được sử dụng cho các thành phần gần nhau còn phương thức nối tiếp được sử dụng khi các
thành phần xa nhau.
3-10


Giao diện hệ thống, thiết bị v à hệ thống điện tử

Việc truyền nối tiếp có thể được phân biệt dựa trên tính đồng bộ và khơng đồng bộ. Với phương
thức truyền dữ liệu không đồng bộ, bên gửi và bên nhận dữ liệu sử dụng các đồng hồ riêng. Do những
đồng hồ này khơng đồng bộ nên cần có các bit thêm vào được gọi là bit start và stop để định rõ ranh
giới các byte đang được truyền. Phương thức truyền dữ liệu đồng bộ sử dụng nguồn thời gian chung

hoặc đồng bộ. Do vậy các bit start, bit stop không cần nữa và lượng thông tin truyền sẽ tăng lên.
Cách thứ ba để phân loại việc truyền dữ liệu là dựa vào hướng. Đường truyền đơn công là đường
dẫn một hướng. Dữ liệu đi từ bộ cảm biến đến bộ vi điều khiển có thể được truyền theo phương thức
truyền đơn công. Phương thức truyền bán song công cho phép truyền dữ liệu theo hai chiều, nhưng chỉ
thực hiện truyền theo từng chiều một. Phương thức này địi hỏi cần có cơ chế điều khiển luồng để
tránh lỗi xảy ra khi truyền dữ liệu. Phương thức truyền song cơng tồn phần cho phép truyền dữ liệu
theo hai chiều một cách đồng thời.
Sự thoả thuận giữa các thiết bị gửi và nhận tin có tính đến các tham số truyền dữ liệu (như tốc độ
truyền) được gọi là phương thức bắt tay (handshaking).
Các hệ thống con vào – ra của bộ vi điều khiển HC12
Có bốn hệ thống con vào-ra của bộ vi điều khiển Motorola HC12, có thể được dùng làm ví dụ cho
phần truyền dữ liệu trình bày ở trên.
Giao diện truyền thơng nối tiếp (SCI-serial communications interface) là một thiết bị nối tiếp không
đồng bộ trong HC12. Nó có thể được điều khiển theo phương pháp hỏi vịng hoặcngắt và được dùng
để truyền thơng giữa các thiết bị điều khiển từ xa. Liên quan tới SCI là giao diện ngoại vi nối tiếp
(SPI-serial peripheral interface). SPI là một giao diện nối tiếp đồng bộ. Nó được dùng để truyền thông
giữa các các thiết bị hỗ trợ SPI như một mạng nhiều bộ vi điều khiển. Do nhu cầu đồng bộ hoá về mặt
thời gian nên SIP phải dùng đến hệ thống các mối quan hệ chủ/tớ giữa các bộ vi điều khiển.
Hệ thống con điều chế độ rộng xung (PWM) thường được dùng trong điều khiển động cơ và cuộn
cảm. Việc sử dụng thanh ghi được thiết kế để dùng cho cả thiết bị PWM và bộ vi xử lý, đầu ra của
PWM có thể được điều khiển bằng cách đặt các giá trị cho từng chu kỳ và chu trình làm việc trong các
thanh ghi thích hợp. Điều này sẽ tạo ra một lệnh bật và tắt điện áp riêng.
Cuối cùng là bộ gỡ lỗi tuần tự có sẵn (SDI- serial in-circuit debugger) cho phép bộ vi điều khiển
được nối với PC để kiểm tra và điều chỉnh phần mềm nhúng.
Hệ thống mạng của bộ vi điều khiển
Đây là nội dung cuối cùng về các thiết bị vào và ra cần được trình bày trong phần này. Hệ thống cơ
điện tử thường vận hành đồng thời với các hệ thống khác trong cùng một mạng. Do đó, dữ liệu và các
lệnh sẽ được chuyển tải từ hệ thống này sang hệ thống khác. Trong khi có rất nhiều giao thức khác
nhau, cả loại mở và khơng mở được nói đến trong hệ thống mạng này, thì chỉ có hai loại phục vụ cho
mục đích nghiên cứu của chúng ta. Loại thứ nhất là giao thức dùng trong tự động hoá sản xuất (MAPmanufacturing automation protocol) của tập đoàn General Motors. Hệ thống này được xây dựng dựa

trên mơ hình liên kết hệ thống mở ISO ( OSI- Open Systems Interconnection) và được thiết kế đặc biệt
cho hệ sản xuất tích hợp và các PLCs. Loại thứ hai là

3-11
Metechvn.com


Sổ tay Cơ điện tử

HÌNH 3.10 Nguyên lý Cơ điện tử
mạng điều khiển diện rộng (CAN-Controller Area Network). Robert Bosch GmbH là người phát triển
tiêu chuẩn truyền thông nối tiếp dùng cho các hệ thống nhúng trong ôtô.
3.8

Điều khiển bằng phần mềm

Kỹ thuật hệ thống
Kỹ thuật hệ thống là cách tiếp cận hệ thống trong việc thiết kế và phát triển các sản phẩm cũng như
các hệ thống. Hình 3.10 chỉ ra mối quan hệ giữa các khả năng kỹ thuật chính với hệ cơ điện tử. Các
khả năng lực kỹ thuật hệ thống bao gồm các khả năng về cơ khí, điện và phần mềm. Có một vài nhiệm
vụ quan trọng mà các kỹ sư hệ thống cần thực hiện, bắt đầu bằng việc thu thập các yêu cầu, tiếp đến là
thông qua việc kiểm tra, xác nhận hệ thống và sản phẩm hoàn chỉnh. Sau khi thu thập và phân tích các
yêu cầu, các kỹ sư hệ thống cần phân chia chức năng của các yêu cầu giữa các thành phần cơ khí, điện
và phần mềm dựa trên ba khả năng liên quan. Đây là một phần trong việc thực thi các kỹ thuật hệ
thống một cách đồng thời. Như đã chỉ ra trong hình, phần mềm cũng có vai trị tương đương trong việc
phát triển hệ thống cơ điện tử. Trước kia, đôi khi người ta cho rằng phần mềm không phải là một bộ
phận độc lập, cấu thành nên hệ thống cơ điện tử. Mặc dù cụm từ “Phần cứng làm tăng chi phí, phần
mềm tạo thêm giá trị” khơng hồn tồn đúng, nhưng đơi khi các kỹ sư phần mềm vẫn cảm thấy rằng
khả năng của họ không được đánh giá ngang bằng với các ngành kỹ thuật truyền thống. Một điều cuối
cùng nữa là rất nhiều hệ cơ điện tử là các hệ thống an tồn như hệ thống túi khí trong ơtơ. Vì vậy việc

chịu được lỗi trong phần mềm cũng là vấn đề quan trọng như trong phần cứng.
Kỹ thuật phần mềm
Kỹ thuật phần mềm liên quan đến cả quy trình phát triển cơ điện tử và “sản phẩm” cơ điện tử hồn
chỉnh. Có hai phương pháp cơ bản với những biến thể khác nhau được dùng trong quá trình. Phương
pháp thứ nhất được gọi là phương pháp “thác nước" (waterfall), ở đó q trình sẽ tiến triển từ giai đoạn
này sang giai đoạn khác (ví dụ như từ phân tích đến thiết kế) với các điểm kiểm tra được đánh dấu dọc
theo quá trình. Phương pháp thứ hai với tên gọi phương pháp “xoắn ốc" (spiral) được áp dụng khi các
yêu cầu là khơng cố định. Trong phương pháp này có việc tạo mẫu để khách hàng và/hoặc các kỹ sư hệ
thống có thể cải tiến các yêu cầu khi biết thêm các thông tin về hệ thống. Trong cả hai phương pháp,
khi các yêu cầu về việc chia nhỏ phần mềm của hệ thống cơ điện tử được thể hiện, các kỹ sư phần
mềm nên chia nhỏ chức năng thành các phần nhỏ hơn của thiết kế phần mềm. Các thơng số như thời
gian, chi phí phát triển, dung lượng bộ nhớ và lượng thông tin được truyền cũng cần được lên kế hoạch
và lưu lại. Người ta có thể sử dụng các cấp khác nhau của mơ hình SEI CMM (Software Engineering
Institute’s Capability Maturity Model) để thực hiện các thao tác trên. Rõ ràng việc phát triển phần
mềm không phải là một công việc dễ dàng như người ta vẫn nghĩ và một hệ thống chỉ có thể duy trì ở
mức “90% hồn thiện” trong suốt q
3-12


Giao diện hệ thống, thiết bị v à hệ thống điện tử

HÌNH 3.11 Lớp phần mềm Cơ điện tử
trình phát triển. Giải pháp đầu tiên cho vấn đề này thường là phân công thêm nhiều kỹ sư phần mềm
hơn cho dự án. Tuy nhiên, không phải giải pháp này lúc nào cũng thực hiện được bởi có sự khác nhau
về kiến thức của những người mới như Frederick Brooks đã chỉ ra trong cuốn sách quan trọng của
mình mang tựa đề The Mythical Man Month (Addison-Wesley 1995).
Thiết kế phần mềm
Có lẽ các phần quan trọng nhất trong thiết kế phần mềm cho hệ cơ điện tử là có thể thấy được từ
cấu trúc phân tầng ở hình 3.11. Bắt đầu từ các yêu cầu đến phần cứng, sự phân tầng này nhằm phục vụ
một số mục đích khác nhau. Mục đích quan trọng nhất là nó tách các chức năng cơ điện tử khỏi quá

trình vận hành. Hiểu một cách đơn giản là tầng ở trên không can hệ tới cách thực hiện nhiệm vụ của
tầng dưới. Thay vào đó, mỗi tầng được chỉ thị bởi tầng ở trên nó và nhận dịch vụ hoặc trạng thái từ
tầng bên dưới nó. Việc vượt qua ranh giới của hơn một tầng là một kỹ thuật khơng được khuyến khích
và sau này có thể gây rắc rối cho quy trình thiết kế. Nên nhớ rằng việc trừu tượng hố quy trình là rất
hữu ích vì một hệ thống cơ điện tử có các thành phần cơ khí, điện và phần mềm được phát triển đồng
thời. Một thay đổi trong giao diện bộ cảm biến hoặc cơ cấu chấp hành chỉ đòi hỏi sự thay đổi ở tầng
ngay trên nó là tầng điều khiển. Trong điều kiện kinh doanh hiện nay, rất khó cho những người làm
việc ở các tầng khác nhau hợp tác với nhau. Hơn nữa, việc thiết kế phần mềm diễn ra ở nhiều nơi,
nhiều quốc gia lại không mấy phổ biến. Nếu khơng có sự phân chia rõ ràng giữa những tầng này thì rất
dễ xảy ra xung đột.
Để biết thêm thông tin chi tiết về vấn đề này và những vấn đề khác trong kỹ thuật phần mềm như sự
hợp lại, sự cố kết và tái sử dụng phần mềm, hãy xem chương 49 trong cuốn sách này, hoặc xem cuốn
“Software Engineering: A practitioner’s Approach của Roger Pressman (McGraw Hill 2000), và cuốn
“Code Complete” của Steve McConnel (Microsoft Press 1993).
3-13
Metechvn.com


Sổ tay Cơ điện tử

3.9

Kiểm thử và thiết bị

Kiểm tra và xác nhận
Kiểm tra và xác nhận là những nhiệm vụ có liên quan đến nhau cần được thực hiện trong suốt thời
gian sống của sản phẩm hoặc hệ thống cơ điện tử. Trong cuốn “Software Engineering
Economics”(Prentice-Hall 1988), Boehm đã miêu tả việc kiểm tra giống như việc “xây dựng đúng sản
phẩm – Building the product right” trong khi xác nhận lại giống việc “xây dựng sản phẩm đúng –
Building the right product”. Nói cách khác, kiểm tra là việc thử phần mềm và sản phẩm để chắc chắn

rằng nó được xây dựng theo đúng thiết kế. Mặt khác, xác nhận là nhằm đảm bảo phần mềm được xây
dựng theo đúng yêu cầu của khách hàng. Như đã trình bày ở trên, kiểm tra và xác nhận là những nhiệm
vụ phải thực hiên trong vòng thời gian sống của sản phẩm, chứ khơng phải nhiệm vụ được hồn thành
trước khi hệ thống được đưa vào sản xuất. Một trong những kỹ thuật đơn giản và hữu ích nhất là việc
duyệt lại quá trình kiểm tra và xác nhận phần cứng, phần mềm. Các kỹ sư hệ thống, những người có
am hiểu sâu sắc nhất về những nhu cầu của khách hàng cần được tham gia vào việc duyệt lại quá trình
xác nhận phần cứng, phần mềm.Việc duyệt lại quá trình xác nhận thiết kế phần cứng, mã phần mềm là
một biện pháp tuyệt vời nhằm tìm kiếm lỗi ngay trong giai đoạn đầu của quá trình phát triển hệ thống.
Các nhà quản lý có thể sẽ phải quyết định tập trung tìm lỗi ngay trong giai đoạn đầu khi lỗi dễ dàng
được sửa hơn, hay trong giai đoạn cuối khi lỗi trở nên rõ ràng hơn. Hãy xem xét sự khác nhau giữa
việc duyệt lại mã để phát hiện lỗi và yêu cầu nhà sản xuất thay đổi hoặc sửa chữa lại với việc tìm ra lỗi
sau khi sản phẩm đã được bán, khi đó một sản phẩm đắt tiền có thể bị yêu cầu hủy bỏ.
Bộ gỡ lỗi
Edsgar Dijkstra, người đi tiên phong trong việc phát triển lập trình thành một mơn học, khơng
khuyến khích dùng thuật ngữ “bug” và “debug” vì ơng cho rằng những thuật ngữ này khơng có lợi cho
kỹ thuật phần mềm. Tuy nhiên, chúng lại thường xuyên được sử dụng trong lĩnh vực này. Bộ gỡ lỗi là
một chương trình phần mềm cho phép xem xét vấn đề gì đang xảy ra đối với mã và dữ liệu chương
trình khi đang chạy chương trình. Nhìn chung, thiết bị này vận hành trên một máy tính cá nhân được
nối với một dạng đặc biệt của bộ vi điều khiển cao cấp gọi là bộ mô phỏng. Mặc dù thiết bị gỡ lỗi có
thể rất hữu ích trong việc tìm và sửa lỗi dưới dạng mã, nhưng chúng lại khơng ở thời gian thực, và do
đó có thể tạo ra những lỗi vận hành đúng cách trong máy tính (COP – Computer operating properly
errors). Tuy nhiên, nếu chế độ gỡ lỗi cơ sở (BMD – Background debug mode) được ứng dụng trong bộ
vi xử lý thì thiết bị gỡ lỗi có thể được dùng thành từng bước thơng qua thuật tốn của chương trình
nhằm đảm bảo rằng mã vẫn đang vận hành như mong muốn. Có thể kiểm tra được các giá trị biến đổi
tức thời và cuối cùng, đặc biệt là những giá trị có liên quan đến một giá trị đầu vào hoặc đầu ra số nào
đó. Hầu hết các bộ gỡ lỗi đều cho phép mở đồng thời nhiều cửa sổ, đặt các điểm ngắt chương trình
đang chạy bằng mã và thậm chí đơi khi cả việc làm hiện lại chương trình trong bộ mơ phỏng vi xử lý.
Điển hình là thiết bị gỡ lỗi Noral trong Motorola HC12.
Phần mềm trong bộ vi điều khiển có thể kiểm tra phần cứng và tự kiểm tra chính nó. Bằng việc lập
trình việc kiểm tra tổng của các phần được xác định của ROM và/hoặc EFROM, phần mềm có thể

kiểm tra để đảm bảo rằng chương trình và dữ liệu vẫn đúng. Thơng qua việc ghi và đọc có chọn lọc
0x55 và 0xAA vào RAM (The “checkboard test”), chương trình có thể kiểm tra RAM và Bus vẫn đang
vận hành tốt. Những thao tác khởi động này nên được thực hiện với mỗi vòng hoạt động của sản phẩm.
Bộ phân tích Logic
Bộ phân tích logic là thiết bị được dùng để giám sát và kiểm tra nhưng không can thiệp vào bộ vi
điều khiển. Thiết bị này thường được nối với bộ vi điều khiển và bộ mô phỏng. Trong khi bộ vi điều
khiển chạy chương trình và xử lý dữ liệu thì bộ mơ phỏng mô phỏng đầu vào và hiển thị đầu ra của hệ
thống. “Trigger word” có thể được đưa vào bộ phân tích logic. Nó được thể hiện dưới dạng bit nằm
trên hệ thống bus do bộ phân tích logic giám sát. Với “Trigger word” này, truyền thông bus xung
quanh điểm quan tâm có thể được giữ và lưu trong bộ nhớ bộ phân tích logic. Một chương trình dịch
ngược trong bộ phân tích cho phép mã máy trên bus có thể được nhận biết và phân tích dưới dạng lệnh
3-14


Giao diện hệ thống, thiết bị v à hệ thống điện tử

hợp ngữ của chương trình. Bộ phân tích cũng có thể lưu giữ các đầu vào số của bộ vi điều khiển nhằm
xác minh rằng vòng nhiệm vụ PWM chính xác đang được thực thi. Bộ mơ phỏng có thể đưa shorts
hoặc opens vào hệ thống, sau đó bộ phân tích sẽ được dùng để xem xét liệu phần mềm có phản hồi
chính xác với lỗi khơng. Bộ phân tích logic cũng có thể giám sát vịng lặp chính của hệ thống, đảm bảo
rằng hệ thống hoàn thành tất cả các nhiệm vụ trong thời gian đặt ra, chẳng hạn như 15 mili giây. Một
ví dụ về bộ phân tích logic là Hewlett Packard HP54620.
3.10 Tóm tắt
Chương này giới thiệu một loạt các chủ đề liên quan đến một hệ thống cơ điện tử. Những chủ đề
này không chỉ bao gồm các đầu vào, đầu ra cơ điện tử và q trình xử lý mà cịn bao gồm cả thiết kế,
phát triển và thử nghiệm. Các chương sau sẽ trình bày chi tiết hơn về các vấn đề này.

3-15
Metechvn.com




×