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
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ử  
lý tín hiệu ra  
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  
cụ thể sẽ cho ra các tín hiệu  
ꢂ 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  
Lệnh được xử lý và chuyển  
đổi bằng tổ hợp mạch cứng  
Lệnh được xử lý và chuyển  
đổ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 độ  
nhanh  
Vi lệnh được xử lý chậm hơn  
vì phải thực hiện phép thông  
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  
ꢂ
Thanh ghi chỉ số
: Lưu địa chỉ khi chế độ trao đổi địa  
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  
lên một  
ꢂ 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ỉ.  
2. Sau
 
khi thông tin địa chỉ đã được thiết lập trê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  
ꢂ
Đường truyền gồm hai kênh tín hiệu: dữ liệu SDA và  
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 đủ
pdf 61 trang Thùy Anh 18341 Free
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:

  • pdfbai_giang_he_thong_dieu_khien_nhung_luu_hong_viet.pdf