Bài giảng Hệ thống điều khiển nhúng - Lưu Hồng Việt
Nội dung
Hꢀ thꢁng ꢂiꢃu khiꢄn nhúng
1.1 Các khái niệm về hệ nhúng
1.2 Mô hình kiến trúc hệ nhúng
1.3 Lĩnh vực ứng dụng
Embedded Control Systems
1.4 Đặc điểm công nghệ và xu thế phát triển
Chꢅꢆng 1: Giꢇi thiꢀu chung
TS. Lꢀu Hꢁng Viꢂt
08/03/10
Bꢈ môn ꢉiꢃu khiꢄn tꢊ ꢂꢈng ꢋ ꢉHBKꢋHN
Chương 1: Mꢀ đꢁu
2
L.H.V - AC - HUT, 2008
Mục tiêu và phạm vi đề cập
1.1 Các khái niệm về hệ nhúng
ꢀ Hệ nhúng là gì?
ꢀ Mục tiêu
– Bất kỳ một thiết bị hay hệ thống điện/điện tử có khả năng xử lý
thông tin và điều khiển đều có thể tiềm ẩn trong đó một thiết bị
hay hệ nhúng
Giúp sinh viên nắm vững kiến thức, khả năng phân tích
và thiết kế hệ thống điều khiển và thông minh hoá hệ
thống theo chức năng theo giải pháp công nghệ. Thiết kế
thực thi điều khiển trên nền phần cứng nhúng
– Hệ nhúng là một phần hệ thống xử lý thông tin nhúng trong
các hệ thống lớn, phức hợp và độc lập
– Hệ nhúng là những tổ hợp của phần cứng và phần mềm để thực
hiện một hoặc một nhóm chức năng chuyên biệt, cụ thể
ꢀ Phạm vi đề cập
ꢁCấu trúc phần cứng hệ nhúng
ꢁKỹ thuật lập trình nhúng
ꢁThiết kế hệ thống điều khiển nhúng
Chương 1: Mꢀ đꢁu
Chương 1: Mꢀ đꢁu
3
4
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
ꢀ Hệ thống thời gian thực?
ꢀ Yêu cầu thời gian thực cứng (hard-realtime)
– Hệ thống phải đảm bảo thực thi đúng và kịp thời
– Yêu cầu thời gian thực cứng là khi hệ thống hoạt động với yêu
cầu thoả mãn sự ràng buộc trong khung thời gian cứng tức là
nếu vi phạm thì sẽ dẫn đến hoạt động của toàn hệ thống bị sai
hoặc bị phá huỷ
– Hệ thống phải đảm bảo thoả mãn về tính tiền định trong hoạt
động của hệ thống
– Tính tiền định nói lên hành vi của hệ thống thực hiện đúng
trong một khung thời gian cho trước hoàn toàn xác định
ꢀ Yêu cầu thời gian thực mềm (soft-realtime)
– Khung thời gian này được quyết định bởi đặc điểm hoặc yêu
cầu của hệ thống, có thể là vài giây và cũng có thể là vài nano
giây hoặc nhỏ hơn nữa
– Yêu cầu thời gian thực mềm là khi hệ thống hoạt động với yêu
cầu thoả mãn ràng buộc trong khung thời gian mềm, nếu vi
phạm và sai lệch nằm trong khoảng cho phép thì hệ thống vẫn
có thể hoạt động được và chấp nhận được
Lưu ý: Không phải hệ thống thực hiện rất nhanh là sẽ đảm
bảo được tính thời gian thực có thể dễ dàng đáp ứng được
yêu cầu thời gian thực nếu đảm bảo duy trì ổn định bằng
một cơ chế hoạt động tin cậy
Hầu hết hệ nhúng là các hệ thời gian
thực và hầu hết các hệ thời gian thực
là hệ nhúng
Chương 1: Mꢀ đꢁu
Chương 1: Mꢀ đꢁu
5
6
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
1.2 Mô hình hệ thống điều khiển nhúng
1.2 Mô hình kiến trúc hệ nhúng
Hꢃ thꢄng xꢇ lý
điꢂu khiꢈn Nhúng
• Chương trình ứng dụng xứ lý,
điều khiển …
Bộ điều khiển
Đối tượng
Phꢀn mꢂm ꢁng dꢆng
(tuỳ chꢅn)
Y
R
D
ZOH
GR
• Chương trình hệ thống phục
vụ quản lý, giao tiếp trực tiếp
với phần cứng
A
Gp
Phꢀn mꢂm hꢃ thꢄng
(tuỳ chꢅn)
D
• Các thành phần phần cứng
cấu thành nên hệ thống
ZOH
T
Phꢀn cꢁng
ꢀ Hệ nhúng thực hiện chức năng xử lý của bộ điều khiển
Chương 1: Mꢀ đꢁu
Chương 1: Mꢀ đꢁu
7
8
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
1.3 Các lĩnh vực ứng dụng hệ nhúng
1.4 Đặc điểm công nghệ
ꢀ Khả năng độc lập và thông minh hoá
– Độ tin cậy
ꢀ Các thiết bị điều khiển
ꢀ Ôtô, tàu điện
– Khả năng bảo trì và nâng cấp
– Sự phổ cập và tiện sử dụng
– Độ an toàn
ꢀ Truyền thông
ꢀ Thiết bị y tế
– Tính bảo mật
ꢀ Hệ thống đo lường thẩm định
ꢀ Toà nhà thông minh
ꢀ Thiết bị trong các dây truyền sản xuất
ꢀ Rôbốt
ꢀ Hiệu quả
– Năng lượng tiêu thụ
– Kích thước về phần cứng và phần mềm
– Hiệu quả về thời gian thực hiện
– Kích thước và khối lượng
– Giá thành
ꢀ ...
Chương 1: Mꢀ đꢁu
Chương 1: Mꢀ đꢁu
9
10
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Xu thế phát triển
ꢀ Phân hoạch tác vụ và chức năng hoá
– Đảm nhiệm và thực hiện một hoặc một nhóm chức năng rất
độc lập
ꢀ Kết hợp nhuần nhuyễn phần cứng và mềm
– Sự phát triển công nghệ gắn liền với nó cũng chính là công
nghệ kết hợp giữa các giải pháp cho phần cứng và mềm
ꢀ Khả năng đáp ứng thời gian thực
– Đảm nhiệm một chức năng chính và phải được thực hiện đúng
theo một khung thời gian qui định
ꢀ Hiệu quả
– Lớp hệ nhúng ưu tiên phát triển theo tiêu chí về kích thước nhỏ
gọn, tiêu thụ năng lượng ít, giá thành thấp
– Lớp hệ nhúng ưu tiên thực thi khả năng xử lý tính toán với tốc
độ thực hiện nhanh
ꢀ Đa dạng
– Tồn tại song song rất nhiều các Chip vi xử lý nhúng, vi điều
khiển nhúng 8 bit, 16 bit hay 32 bit cùng với các Chíp siêu xử lý
khác được ứng dụng rộng rãi cho hệ nhúng
ꢀ Ngôn ngữ mã hoá phần mềm C
Chương 1: Mꢀ đꢁu
Chương 1: Mꢀ đꢁu
11
12
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Nội dung
ꢀ Cấu trúc bo mạch xử lý nhúng
Hꢀ thꢁng ꢂiꢃu khiꢄn nhúng
Embedded Control System
ꢀ Một số nền phần cứng xử lý nhúng thông dụng
ꢀ Giao diện ghép nối tương tự
Chꢅꢆng 2: Cꢇu trúc phꢈn cꢉng
TS. Lꢀu Hꢁng Viꢂt
08/03/10
Bꢊ môn ꢋiꢃu khiꢄn tꢌ ꢂꢊng ꢍ ꢋHBKꢍHN
2
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
2.1 Kiến trúc bo mạch xử lý nhúng
Kiến trúc bo mạch
ꢁ Các thành phần cơ bản
Điều khiển và xử
lý dữ liệu
• Đơn vị xử lý trung tâm – CPU:
Bus dữ liệu và tín
hiệu điều khiển
Thực thi xử lý hoạt động hệ thống
• Bộ nhớ: Lưu giữ chương trình và
Lưu giữ dữ liệu
dữ liệu hệ thống
• Thiết bị vào: Giao tiếp đón nhận
dữ liệu vào hệ thống
Chuyển đổi và xử
Chuyển đổi và xử
lý tín hiệu vào
• Thiết bị ra: Giao tiếp xuất dữ liệu
ra ngoài hệ thống
• Đường bus giao tiếp hệ thống:
Trao đổi dữ liệu liên thông giữa
các thành phần trong hệ thống
Bus tín hiệu vào ra
thiết bị ngoại vi
3
4
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Kiến trúc bộ xử lý
Havard
Von Neumann
CPU
CPU
Đị chỉ
dữ liệu
Đị chỉ lệnh
Lệnh
Dữ liệu
Đị chỉ
Lệnh và Dữ liệu
Bộ nhớ mã lệnh
Bộ nhớ dữ liệu
On-Chip Memory
Vào
R
Vào
R
5
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
Kiꢀn trúc x86
2.2 Đơn vị xử lý trung tâm - CPU
CPU - Nguyên lý điều khiển cứng
ꢂ ALU (Arthimetic Logic Unit): Đảm
ꢂ ALU và các đường tín hiệu điều
khiển phụ trợ đảm bảo các vi
lệnh được nạp và xử lý chính
xác và được thực hiện nhờ các tổ
hợp mạch logic có điều khiển
nhiệm chức năng xử lý logic toán học
ꢂ Bộ giải mã lệnh: Chuyển đổi các
lệnh lưu trữ ở trong bộ mã chương
trình thành dạng tín hiệu mà ALU có
thể hiểu được và thực thi
ꢂ Các lệnh được thông dịch thành
các dạng tín hiệu điều khiển
ꢂ Tập thanh ghi: Lưu trữ trạng thái
logic vật lý đưa vào tổ hợp mạch
của CPU trong quá trình thực thi
ꢂ Tổ hợp đầu vào điều khiển logic
ꢂ Bộ tuần tự: Quản lý đồng bộ dòng
dữ liệu trao đổi qua bus dữ liệu của
VXL
tương ứng điều khiển các thành
phần thực hiện xử lý trong CPU
ꢂ Cổng truy nhập
ꢂ Bus dữ liệu
ꢂ Bus địa chỉ
và các thiết bị vào ra hệ thống
7
8
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
CPU - Nguyên lý điều khiển mềm
So sánh nguyên lý điều khiển
ꢂ Các lệnh được đưa qua một
chương trình đặc biệt (vi
chương trình) để chuyển đổi
mỗi lệnh thành các tín hiệu
điều khiển phù hợp
Điều khiển cứng
Điều khiển mềm
đổi bằng tổ hợp mạch cứng
đổi bằng mã vi lệnh mềm
ꢂ Vi chương trình là một bộ
thông dịch được viết bằng các
mã lệnh lưu trong ROM,
PROM hoặc EPROM
Hệ thống được thiết kế và
định nghĩa thông dịch cứng
không thể thay đổi linh hoạt
Hệ thống thực thi xử lý linh
hoạt mềm dẻo có thể thay đổi
nguyên lý thông dịch lệnh
Vi lệnh được xử lý tốc độ
Vi lệnh được xử lý chậm hơn
dịch mềm
ꢂ Vi chương trình chứa các hàm
(thủ tục), mỗi hàm sẽ thực
hiện phép chuyển đổi tương
ứng cho mỗi lệnh máy
Mã chương trình bị hạn chế
bởi khả năng tổ hợp thông
dịch cứng
Mã nguồn phát triển linh hoạt
hơn nhờ khả năng thông dịch
mềm dẻo
9
10
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Kiến trúc nạp toán tử lệnh
Các thanh ghi chức năng điển hình
ꢂ Kiến trúc ngăn xếp: Sử dụng ngăn xếp để thực hiện
lệnh và các toán tử nhận được từ đỉnh ngăn xếp. Mặc
dù cơ chế này hỗ trợ mật độ mã tốt và mô hình đơn
giản trong cách thể hiện chương trình nhưng ngăn xếp
không thể hỗ trợ khả năng truy nhập ngẫu nhiên và
hạn chế hiệu suất thực hiện lệnh
ꢂ Thanh ghi con trỏ ngăn xếp: Lưu giữ địa chỉ tiếp theo
của ngăn xếp
chỉ được sử dụng
ꢂ Thanh ghi địa chỉ lệnh (Bộ đếm chương trình): Lưu địa
chỉ lệnh tiếp theo của chương trình sẽ được CPU xử lý.
Mỗi khi lệnh được trỏ tới và được CPU xử lý thì nội
dung giá trị của thanh ghi bộ đếm chương trình sẽ tăng
ꢂ Kiến trúc bộ tích luỹ: Với lệnh một toán tử ngầm mặc
định chứa trong thanh ghi tích luỹ có thể giảm được độ
phức tạp bên trong của cấu trúc CPU và cho phép cấu
thành lệnh rất nhỏ gọn. Nhưng thanh ghi tích luỹ chỉ là
nơi chứa dữ liệu tạm thời nên giao thông bộ nhớ rất
lớn.
ꢂ Thanh ghi tích luỹ: Giao tiếp trực tiếp với ALU, được
sử dụng để lưu giữ các toán tử hoặc kết quả của một
phép toán trong quá trình hoạt động của ALU
ꢂ Kiến trúc thanh ghi mục đích chung: Sử dụng các tập
thanh ghi mục đích chung để lưu trữ và truyền toán tử
lệnh
11
12
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
2.3 Xung nhịp và trạng thái tín hiệu
Các đặc trưng trạng thái tín hiệu
ꢂ Thời gian tăng hoặc giảm: Khoảng thời gian để tín hiệu
tăng từ 20% đến 80% mức tín hiệu cần thiết. Thời gian
giảm là khoảng thời gian để tín hiệu giảm từ 80% đến
20% mức tín hiệu cần thiết.
ꢂ Hoạt động của hệ thống được thực hiện đồng bộ hoặc dị bộ
theo các xung nhịp chuẩn
ꢂ Để mô tả hoạt động của hệ thống, các tín hiệu dữ liệu và điều
khiển thường được mô tả trạng thái theo giản đồ thời gian và
mức tín hiệu
ꢂ Thời gian trễ lan truyền: Thời gian tín từ khi thay đổi
tín hiệu vào cho tới khi có sự thay đổi tín hiệu ở đầu ra.
Phân tích và xác định chuỗi sự kiện hoạt động chi tiết trong mỗi
chu kỳ bus
13
14
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
ꢂ Thời gian thiết lập và lữu giữ
2.4 BUS tín hiệu
– Thiết lập: Khoảng thời gian cần thiết để tín hiệu trích mẫu đạt
tới một trạng thái ổn định trước khi nhịp xung chuẩn đồng hồ
thay đổi.
ꢂ Bus địa chỉ
– Lưu giữ: Khoảng thời gian cần thiết để duy trì tín hiệu trích mẫu
– Là các đường dẫn tín hiệu logic một chiều để truyền địa chỉ tham
chiếu tới các khu vực bộ nhớ và chỉ ra dữ liệu được lưu giữ ở
đâu trong không gian bộ nhớ
ổn định sau khi xung nhịp chuẩn đồng hồ thay đổi
– Địa chỉ truy nhập trực tiếp, đó là nơi CPU có thể tham chiếu và
truy nhập tới trong một chu kỳ bus. Nếu vi xử lý có N bit địa chỉ
tức là nó có thể đánh địa chỉ được 2N khu vực mà CPU có thể
tham chiếu trực tiếp tới
ꢂ Chu kỳ tín hiệu 3 trạng thái và tranh chấp
ꢂ Bus dữ liệu
– Bus dữ liệu là các kênh truyền tải thông tin theo hai chiều giữa
CPU và bộ nhớ hoặc các thiết bị ngoại vi vào ra, được điều khiển
bởi CPU để đọc hoặc viết các dữ liệu hoặc mã lệnh thực thi trong
qúa trình hoạt động của CPU
– Độ rộng của bus dữ liệu nói chung sẽ xác định được lượng dữ
liệu có thể truyền và trao đổi trên bus , và khả năng xử lý của
CPU.
15
16
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Điều khiển truy nhập Bus
ꢂ Bus điều khiển
– Điều khiển phục vụ truyền tải các thông tin dữ liệu để điều
khiển hoạt động của hệ thống gồm các tín hiệu chu kỳ để đồng
bộ các nhịp chuyển động và hoạt động của hệ thống
ꢂ Hoạt động truy nhập đọc
1. CPU xuất lên bus điạ chỉ thông tin xác định khu vực bộ nhớ cần
truy nhập để đọc dữ liệu ra. (Chú ý khu vực bộ nhớ có thể hiểu
là hoặc nằm trong không gian bộ nhớ hoặc trong không gian dữ
liệu của ngoại vi)
– Bus điều khiển thường được điều khiển bởi CPU để đồng bộ hóa
nhịp hoạt động và dữ liệu trao đổi trên các bus
ꢂ Ví dụ hoạt động điều khiển dồn kênh bus tín hiệu
2. CPU điều khiển tín hiệu trên bus điều khiển để kích hoạt bộ
nhớ/ ngoại vi xuất dữ liệu lên bus dữ liệu.
3. CPU chốt và đọc dữ liệu về bộ nhớ trong và kết thúc hoạt động
truy nhập đọc.
17
18
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Điều khiển truy nhập Bus
Kiến trúc quản lý bộ nhớ
ꢂ Hoạt động truy nhập viết
ꢂ Kiến trúc Von Neumann không phân biệt vùng chứa
dữ liệu và mã chương trình. Cả chương trình và dữ
liệu đều được truy nhập theo cùng một kênh
1. CPU xuất địa chỉ khu vực bộ nhớ cần truy nhập để viết dữ
liệu vào lên bus địa chỉ.
CPU sẽ điều khiển xuất dữ liệu cần viết vào khu vực nhớ lên
bus dữ liệu.
ꢂ Kiến trúc Havard tách/phân biệt vùng lưu mã chương
trình và dữ liệu. Mã chương trình chỉ có thể được lưu
và thực hiện trong vùng chứa ROM và dữ liệu cũng
chỉ có thể lưu và trao đổi trong vùng RAM
3. CPU điều khiển tín hiệu trên bus điều khiển để kích hoạt bộ
nhớ / ngoại vi chốt và viết dữ liệu vào khu vực nhớ đã chỉ ra
và kết thúc hoạt động truy nhập viết.
19
20
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
2.6 Bộ nhớ
ꢂ Bộ nhớ chương trình: Vùng để lưu mã chương trình.
Có 4 loại bộ nhớ chương trình thông dụng được sử
dụng cho hệ nhúng
–
PROM: Bộ nhớ chỉ có thể đọc và được sử dụng để lưu mã
chương trình, chỉ được viết vào duy nhất một lần
–
EPROM: Được cấu tạo bởi một mảng transistor khả trình. Bộ
nhớ có thể ghi và xoá được bằng tia cực tím và có thể được lập
trình lại
–
–
EEPROM: Giống EPROM nhưng có thể xoá trực tiếp bằng
điện và thực hiện trên mạch ứng dụng không cần thiết bị nạp
chuyên dụng
FLASH: Giống như EEPROM nhưng chỉ có thể xoá theo vùng
hoặc khối byte
21
22
MꢁchlogicROM8x8
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
ꢂ Bộ nhớ dữ liệu: Vùng để lưu hoặc trao đổi dữ liệu trung
ꢂ Tổ chức và nguyên lý hoạt động truy nhập RAM
gian trong quá trình thực hiện chương trình
–
DRAM: Hay còn gọi là RAM động là loại bộ nhớ dữ liệu có thể
truy nhập đọc/ghi. DRAM được cấu thành bởi các phần tử tụ điện
nhỏ để lưu trữ trạng thái thông tin. Hoạt động lưu trữ thông tin
thực hiện theo nguyên lý phóng nạp của các tụ điện. Trạng thái
thông tin được lưu giữ chỉ khi tụ điện được duy trì nạp đầy vì
vậy nó phải thường xuyên được refresh trong quá trình hoạt động.
–
SRAM: Hay còn gọi là RAM tĩnh là loại bộ nhớ dữ liệu có thể
truy nhập đọc/ghi. SRAM được cấu thành từ các phần tử Trigger
Flip-Flop để lưu trữ trạng thái thông tin.
SRAM
DRAM
23
24
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Phân vùng & Tổ chức không gian bộ nhớ
Phân vùng & Tổ chức không gian địa chỉ
ꢂ Một số vùng bộ nhớ cơ bản có thể được phân vùng để
quản lý:
Không gian địa chỉ vùng nhớ chương trình
Không gian địa chỉ vùng nhớ dữ liệu
Không gian địa chỉ vào ra ngoại vi
Không gian địa chỉ vùng nhớ ngăn xếp
ꢂ Các vùng bộ nhớ có thể được quản lý tách biệt hoàn
toàn hoặc trùng nhau tuỳ thuộc từng kiến trúc cụ thể
ꢂ Việc điều khiển tách biệt được thực hiện nhờ các tín
hiệu điều khiển tách biệt do CPU điều khiển và sẽ
được kích hoạt một cách tương ứng khi các khu vực
nhớ được truy nhập
25
26
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Ví dụ phân vùng và quản lý địa chỉ
2.6 Ngoại vi
ꢂ Phục vụ điều khiển và giao tiếp với thế giới bên ngoài
được tích hợp cùng với VXL tạo nên vi điều khiển với
cấu hình đa dạng
ꢂ Ngoại vi có thể được tích hợp sẵn trên Chip hoặc được
tích hợp bổ sung theo yêu cầu thiết kế
27
28
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Cấu trúc ghép ngoại vi
Bộ định thời gian
ꢂ Cho phép tạo ra các chuỗi xung và ngắt thời gian hoặc
...
...
đếm theo các khoảng thời gian có thể lập trình
ꢂ Ứng dụng phổ biến trong các nhiệm vụ tạo nhịp, đếm
xung, đo khoảng thời gian các sự kiện, hoặc định chu
kỳ thời gian thực thi các tác vụ
Ổ cứng HD
Bộ điều khiển
khác
...
B
mạch xử
lý ảnh
Cổng
Màn
hình
Bộ điều khiển HD
Bộ xử lý chủ
Cổng
Bộ xử lý ảnh
Bộ điều khiển
má ín
Bộ tạ xung nhịp
(Cl ck)
LED
P rt
Má in
29
30
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Bộ bắt sự kiện vào
Bộ so sánh tạo xung ra
ꢂ Cho phép bắt hoặc chốt các sự kiện đến từ bên ngoài
ꢂ Cho phép tạo ra các xung ra theo các sự kiện đếm
31
32
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Bộ đếm tốc độ quay / dịch chuyển
Bộ điều chế độ rộng xung
ꢂ Cho phép điều chế độ
rộng xung trong các ứng
dụng điều khiển điện tử
công suất
ꢂ Cho phép xác định tốc độ quay hay độ
dịch chuyển trong điều khiển vị trí
33
34
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Cài đặt hoạt động định thời giám sát
Bộ định thời giám sát (Watch dog)
ꢂ Giám sát sự cố xảy ra làm hệ thống bị treo hoặc chạy
quẩn, CPU sẽ không thể tiếp tục thực hiện đúng chức
năng
ꢂ Là một bộ định thời đặc biệt để định nghĩa một khung
thời gian hoạt động bình thường của hệ thống
ꢂ Khung thời gian được định nghĩa đảm bảo chắc chắn
hệ thống thực hiện bình thường khi không có sự cố
phần mềm
35
36
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Truy nhập bộ nhớ trực tiếp (DMA)
ꢂ DMA (Direct Memory Access) là cơ chế hoạt động cho
phép hai hay nhiều vi xử lý hoặc ngoại vi chia sẻ bus
chung với tốc độ cao
Phân loại cơ chế DMA
ꢂ DMA chu kỳ đơn
–
Ngoại vi sau khi nhận được quyền điều khiển bus chỉ truyền
một từ dữ liệu rồi trả lại ngay quyền kiểm soát bộ nhớ và bus
dữ liệu cho CPU
ꢂ DMA chu kỳ nhóm
–
Ngoại vi sẽ nhận được quyền điều khiển và truyền cả khối dữ
liệu rồi trả lại quyền điều khiển cho CPU
ꢂ DMA chu kỳ rỗi
–
DMA sẽ được thực hiện trong những thời điểm chu kỳ bus mà
CPU không sử dụng bus do đó không cần thực hiện thủ tục xử
lý cấp phát quyền truy nhập và thực hiện DMA
37
38
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Bộ chuyển đổi - DAC
Bộ chuyển đổi - ADC
Các tham số kỹ thuật cơ bản
ꢂ Độ phân giải
Điện áp
r
ꢂ Dải điện áp vào chuyển đổi
ꢂ Giá trị điện áp tham chiếu
ꢂ Thời gian chuyển đổi
Mạng điện trở
...
Điện áp
th m
Khoá chuyển
chiếu
...
Th nh ghi
LSB
MSB
Giá trị số nhị phân
39
40
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Cổng song song khả trình 8255
Các chế độ hoạt động 8255
ꢂ
Chế độ 0: Vào ra cơ bản
–
–
–
–
–
Hai cổng 8-bit và 2 cổng 4-bit
Bất kỳ cổng nào cũng có thể là cổng vào hoặc cổng ra
Các đường dữ liệu tín hiệu ra được chốt
Các đường tín hiệu vào không được chốt
Có thể cấu hình 16 kiểu hoạt động vào ra khác nhau
ꢂ
ꢂ
Chế độ 1: Vào ra có bắt tay
–
–
–
Hai nhóm cổng (Nhóm A và Nhóm B). Mỗi nhóm bao gồm 1 cổng 8-bit và
một cổng dữ liệu điều khiển 4-bit.
Cổng dữ liệu 8-bit có thể hoạt động như hoặc là cổng vào hoặc là cổng ra và
cả hai chiều dữ liệu đều được chốt.
Cổng điều khiển 4 bit và cổng trạng thái 8 bit
Chế độ 2: Vào ra hai chiều có bắt tay
–
–
–
–
Chỉ sử dụng nhóm A
Một cổng bus 2 chiều 8-bit (cổng A) và một cổng điều khiển 5-bit (Cổng C)
Cả hai chiều dữ liệu vào và ra đều đươc chốt.
Cổng điều khiển 5-bit (Cổng C) được sử dụng cho mục đích điều khiển và
trạng thái cho cổng A để trao đổi dữ liệu 2 chiều 8 bit.
41
42
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Giao diện truyền thông nối tiếp USART
Bộ chuyển đổi tín hiệu RS-232
Trạm chủ
Trạm tớ
SIMO
SYNC
STE
SIMO
SYNC
Bộ đệm nhận
Bộ đệm truyền
Bộ đệm nhận
Bộ đệm truyền
STE
MISO
MISO
Th nh ghi dịch
nhận
Th nh ghi đệm
truyền
Th nh ghi dịch
nhận
Th nh ghi dịch
truyền
MSB
LSB
MSB
MSB
MSB
LSB
LSB
LSB
Bộ tạ
xung nhịp
Bộ tạ
xung nhịp
CLK
CLK
43
44
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Khung dữ liệu truyền thông I2C
Giao diện truyền thông nối tiếp I2C
ꢂ Truyền thông I2C được bắt đầu bằng tín hiệu start tạo ra
ꢂ Giao thức truyền thông nối tiếp để điều khiển liên
thông IC (Inter IC), được phát triển bởi Phillips
Semiconductor và được gọi là bus I2C
bởi đơn vị Chủ
ꢂ Đơn vị Chủ sẽ truyền đi dữ liệu 7 bit chứa địa chỉ của đơn
vị Tớ mà nó muốn truyền thông (các bit có trọng số lớn
nhất MSB sẽ được truyền trước)
ꢂ Việc truyền dữ liệu nối tiếp theo hai hướng 8 bit được
thực thi theo 3 chế độ sau:
ꢂ Bit thứ tám tiếp theo sẽ chứa thông tin để xác định đơn vị
–
–
–
Tốc độ chuẩn (standard): 100 KBit/s
Tốc độ nhanh (fast): 400 KBit/s
Tốc độ cao: 3.4 MBit/s
Tớ sẽ thực hiện vai trò nhận (0) hay gửi (1) dữ liệu
ꢂ
nhịp xung truyền SCL
ꢂ Cơ chế truyền thông Chủ- Tớ, và hỗ trợ hoạt động với
nhiều đơn vị Chủ (Multi-Master) trong cùng một
mạng.
45
46
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Khung dữ liệu truyền thông I2C
Thủ tục truyền thông I2C
ꢂ Tiếp theo sẽ là một bit ACK xác nhận bởi đơn vị nhận
đã nhận được 1 byte trước đó hay không
ꢂ Đợi cho đến khi không có hoạt động nào diễn ra trên
bus tức là cả hai đường tín hiệu truyền SDA và SCL đều
ở mức cao
ꢂ Đơn vị truyền (gửi) sẽ truyền đi 1 byte dữ liệu bắt đầu
bởi MSB
ꢂ Truyền đi thông điệp để báo hiệu thăm dò quyền điều
khiển và chiếm dụng bus và bắt đầu truyền dữ liệu, nếu
bus đang rỗi
ꢂ Tại điểm cuối của byte truyền, đơn vị nhận sẽ tạo ra
một bit xác nhận ACK mới
ꢂ Khuôn mẫu 9 bit này (gồm 8 bit dữ liệu và 1 bit xác
nhận) sẽ được lặp lại nếu cần truyền tiếp byte nữa
Khi đơn vị Chủ đã trao đổi xong dữ liệu nó sẽ kiểm tra
bit xác nhận (ACK) cuối cùng rồi sau đó sẽ tạo ra một
tín hiệu dừng (STOP) để kết thúc quá trình truyền
thông
47
48
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Thủ tục truyền thông I2C
Cơ chế đồng bộ truyền thông I2C
ꢂ
Tạo ra một tín hiệu xung nhịp trên đường truyền SCL và sẽ
được sử dụng để tham chiếu đồng bộ xung nhịp hoạt động.
Dữ liệu được truyền đi trên SDA phải được đảm bảo ổn định
tại trước thời điểm khi xung nhịp trên đường truyền SCL
chuyển từ mức thấp lên mức cao
ꢂ Khi trên đường truyền có nhiều hơn một đơn vị chủ
muốn thực hiện trao đổi dữ liệu ꢃ cần phải có cơ chế
đồng bộ và xác định xem đơn vị nào sẽ nhận được
quyền làm chủ và điều khiển đường truyền
ꢂ
Tất cả các giao dịch truyền dữ liệu đều phải bắt đầu và kết
thúc bằng tín hiệu START và STOP. Chúng được mã hoá và
định nghĩa theo sự chuyển đổi đồng bộ giữa hai đường tín
hiệu SDA và SCL
49
50
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Cơ chế trọng tài
Truyền thông nối tiếp SPI
ꢂ Cơ chế trọng tài xử lý theo chu kỳ thời gian từng bit và
ꢂ SPI là một giao diện cổng nối tiếp đồng bộ ba dây cho
phép kết nối truyền thông nhiều VĐK được phát triển
bởi Motorola.
phải được thực hiện thăm dò trong nhiều chu kỳ bit
ꢂ Trong mỗi chu kỳ bit khi SCL ở mức cao các đơn vị chủ
sẽ phải kiểm tra xem mức tín hiệu trên đường truyền
SDA có theo đúng mức tín hiệu nó gửi lên không
ꢂ Áp dụng cơ chế truyền thông Chủ-Tớ với tốc độ khả
trình lên đến MHz
ꢂ Có 4 chân tín hiệu cơ bản được sử dụng để thực hiện
chuẩn giao diện truyền thông
•
•
•
•
Dữ liệu ra MOSI (Master Output – Slave Input)
Dữ liệu vào MISO (Master Input – Slave Output)
Nhịp xung chuẩn SCLK (Serial Clock)
Lựa chọn thành phần tớ SS (Slave Select)
51
52
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Truyền thông nối tiếp SPI
Truyền thông nối tiếp SPI
ꢂ Đơn vị Chủ điều khiển quá trình truyền bởi nhịp xung
ꢂ Nếu hệ có nhiều đơn vị tớ, mỗi đơn vị tớ sẽ được đơn vị
Chủ lựa chọn bằng tín hiệu SS tách biệt để trao đổi dữ
liệu trực tiếp.
chuẩn CLK, tạo nên nhịp truyền nhận đồng bộ
ꢂ Dữ liệu truyền được trao đổi theo cơ chế hoạt động
thanh ghi dịch
53
54
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Xung nhịp SPI
Các chế độ xung nhịp SPI
ꢂ SPI cung cấp 4 chế độ hoạt động đồng bộ theo xung nhịp
chuẩn được quyết định bởi cực và pha của xung nhịp
– Cực qui định sườn hoạt động tích cực, hoặc theo sườn lên hoặc
theo sườn xuống
– Pha qui định độ trễ nửa chu kỳ xung nhịp
ꢂ 4 chế độ hoạt động
• Theo sườn xuống không có trễ: SPI truyền dữ liệu theo sườn
xuống của nhịp xung truyền và nhận theo sườn lên
• Theo sườn xuống có trễ: SPI truyền dữ liệu trong khoảng nửa chu
kỳ trước khi có sườn xuống của xung nhịp truyền và nhận dữ
liệu theo sườn xuống.
• Theo sườn tăng không có trễ: SPI truyền dữ liệu theo sườn tăng
của xung nhịp truyền và nhận dữ liệu theo sườn xuống
• Theo sườn tăng có trễ: SPI truyền dữ liệu trong khoảng nửa chu
kỳ xung nhịp truyền trước khi xuất hiện sườn lên của xung nhịp
truyền và nhận dữ liệu theo sườn lên
55
56
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Giao diện ghép nối Rơle số
Giao diện ghép nối Rơle số
ꢂ Nhằm đảm bảo cách ly và hoạt động tin cậy, ổn định hệ
thống VXL/VĐK được ghép nối thông qua một số các
giao diện sau:
57
58
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Giao diện ghép nối Rơle số
Một số nền phần cứng xử lý Nhúng
ꢂ Hệ VXL/VĐK
59
60
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
ꢂ Ví dụ VĐK AVR
ꢂ VĐK PIC
61
62
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
ꢂ DSP
ꢂ DSP
–
DSP vẫn được biết tới như một loại vi điều khiển đặc biệt với
khả năng xử lý nhanh để phục vụ các bài toán yêu cầu khối
lượng và tốc độ xử lý tính toán lớn
–
Độ rộng băng thông của bus và thanh ghi tích luỹ lớn, cho phép
ALU xử lý song song với tốc độ đọc và xử lý lệnh nhanh hơn
các loại vi điều khiển thông thường
–
–
Cho phép thực hiện nhiều lệnh trong một nhịp nhờ vào kiến
trúc bộ nhớ Havard
Được phân loại theo hai kiểu là dấu phảy động và dấu phảy
tĩnh: DSP dấu phảy tĩnh thường là loại 16-bit hoặc 24-bit còn các
loại dấu phảy tĩnh thường là 32-bit
–
Ưu điểm nổi bật của các DSP dấu phảy động là có thể xử lý và
biểu diễn số trong dải phạm vi giá trị rộng và động. Do đó vấn
đề về chuyển đổi và hạn chế về phạm vi biểu diễn số không
phải quan tâm như đối với loại DSP dấu phảy tĩnh
63
64
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
PROM
Mạch tích hợp khả trình - PLD
ꢂ Dạng đơn giản nhất của PLD, xuất hiện năm 1970
ꢂ PLD – Programmable Logic Devices
PROM trꢂng
PROM đã lꢃp trình
65
66
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
PAL - Programmable Array Logic
PLA - Programmable Logic Array
ꢂ Nhằm khắc phục nhược điểm về chi phí và tốc độ xử lý
chậm của PLA, PAL cấu thành từ các phần tử AND khả
trình và phần tử OR gán cố định và có chứa cả phần tử
flip-flop ở đầu ra nên có khả năng thực thi các mạch logic
tuần tự
ꢂ Giống PROM nhưng cho phép lập trình cả AND và OR
PLA trꢂng
PLA đã lꢃp trình
67
68
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
Chương 2: Cꢀu trúc phꢁn cꢂng nhúng
L.H.V - AC - HUT, 2008
L.H.V - AC - HUT, 2008
Tải về để xem bản đầy đủ
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ thống điều khiển nhúng - Lưu Hồng Việt", để tải tài liệu gốc về máy hãy click vào nút Download ở trên
File đính kèm:
bai_giang_he_thong_dieu_khien_nhung_luu_hong_viet.pdf

