You are on page 1of 63

Embedded6:Systems

CHƯƠNG TỔNG HỢP PHẦN


Design: CỨNG
A Unified
VÀ PHẦN MỀM
Hardware/Software Introduction

Bài 10: Ví dụ về hệ thống nhúng


mobile robot

1
CÂU HỎI CHƯƠNG 10

2
Mobile robot

Đặc điểm chính:


- Hình trụ
- Bộ xử lý dsPIC
- Hai động cơ bước
- Các đèn LED
- Nhiều cảm biến:
camera, cảm biến âm thanh, cảm biến xác định khoảng cách IR,
cảm biến gia tốc 3D
- Pin Li-ion
- Truyền thông không day bluetooth
- Kiến trúc phần cứng và phần mềm mở

3
Sơ đồ khối mobile robot (e-punk)

• Khả năng tính toán


và lưu trữ
• Khả năng truyền thông
• Cơ cấu chấp hành
• Cảm biến

4
Tổng quan về e-punk

5
Kết cấu cơ khí

6
Kết cấu cơ khí

7
Kết cấu cơ khí

8
Kết cấu cơ khí

9
Kết cấu cơ khí

10
Kết cấu cơ khí

11
Mạch điện tử

12
Bố trí linh kiện

Mặt dưới mặt trên

13
Thiết kế layout (PCB 4 lớp)

14
Khả năng tính toán

15
DSP và các biến thể

• dsPIC là họ chip kết hợp vi điều khiển và các bọ xử lý


tín hiệu số (DSP)
• Mỗi họ dsPIC có ba biến thể:
- Mục đích chung
- Xử lý tín hiệu cảm biến
- Điều khiển động cơ và biến đổi công suất

16
Các họ dsPIC

17
Kiến trúc dsPIC

18
Điều khiển thiết bị ngoại vi

DCI: Data Converter Interface

19
ADC (Analog to digital converter)

20
Khả năng của e-punk

21
Khả năng của e-punk

VD 1: Xử lý ảnh
• Yêu cầu: dữ liệu lớn
• Khả năng xử lý:
- pixels x H x V x RGB x fps
- 640x480x3x30 = 27Mbyte/s
• Bộ nhớ:
- một hình ảnh RGB sử dụng 922kbytes

22
Khả năng của e-punk

VD 2: Định vị
- Công nghệ Infrared + Radio (trong nhà)
- Công nghệ GPS và dGPS (ngoài trời)
- Công nghệ cảm biến siêu âm

23
CHƯƠNG
Embedded 6:Design:
Systems TỔNG HỢPHardware/Software
A Unified PHẦN CỨNG
Introduction
VÀ PHẦN MỀM

Bài 11: Các hệ thống điều khiển

1
Hệ thống điều khiển
• Điều khiển đầu ra của hệ vật lý
– Bằng cách thiết lập đầu vào của hệ vật lý
• Điều khiển bám
• VD
– Điều khiển lái
– Điều khiển nhiệt độ
– Điều khiển ổ đĩa
– Điều khiển bay
• Khó, do các nguyên nhân:
– Nhiễu: gió, mặt đường, lốp xe, phanh…
– Tương tác với con người

2
Bám

3
Các hệ thống điều khiển vòng hở
• Đối tượng
– Các hệ vật lý được điều khiển
• Ô tô, máy bay, lò nhiệt…
• Cơ cấu chấp hành
– Thiết bị để điều khiển đối tượng
• van, động cơ…
• Bộ điều khiển
– Sản phẩm được thiết kế để điều khiển đối tượng

4
Các hệ điều khiển vòng hở
• Đầu ra
– Các thông số của đối tượng mà ta quan tâm
• Tốc độ, vị trí, nhiệt độ,…
• Giá trị tham chiếu
– Giá trị chúng ta muốn đạt được ở đầu ra
• Tốc độ yêu cầu, vị trí mong muốn, nhiệt độ mong muốn
• Nhiễu
– Đầu vào không điều khiển được
• Gió, lực ngoài

5
Các đặc tính khác của vòng hở

• Điều khiển Feed-forward


• Có trễ ở đầu ra
• Bộ điều khiển không biết đầu ra có dáp ứng theo yêu cầu
• Đơn giản
• Sử dụng tốt nhất cho các hệ thống có thể dự đoán đầu ra

6
Các hệ điều khiển vòng kín

• Cảm biến
– Để đo đầu ra của đối tượng
• Bộ xác định lỗi
– Xác định sai số
• Hệ điều khiển vòng kín
• Giảm sai số bám

7
Thiết kế hệ điều khiển vòng hở

• Xây dựng mô hình đối tượng


• Xây dựng bộ điều khiển
• Phân tích bộ điều khiển
• Xem xét nhiễu
• Xác định chất lượng
• Ví dụ: Hệ điều khiển lái vòng hở

8
Mô hình đối tượng
• Có thể không cần thiết
– Có thể được thực hiện thông qua thực nghiệm hoặc dò
• Tuy nhiên,
– Có thể giúp quá trình thiết kế đơn giản hơn
– Có thể sử dụng để tính toán bộ điều khiển
• Ví dụ: điều khiển góc mở từ 0 đến 45 độ
– Trên mặt phẳng ở tốc độ 50 mph, mở van tới 40 độ
– Đợi 1 khoảng thời gian nhất định
– Đo tốc độ, ví dụ 55 mph
– Dựa vào phương trình sau
• vt+1=0.7*vt +0.5*ut
• 55 = 0.7*50+0.5*40
– Nếu phương trình đúng cho mọi trường hợp
• Như vậy chúng ta có một mô hình của đối tượng

9
Hệ điều khiển chung

• Mục tiêu
– Làm cho đầu ra bám theo giá trị đặt ngay cả khi
• Nhiễu đo lường
• Sai số của mô hình
• Nhiễu ngoài
• Cá thông số
– Tính ổn định
• Đầu ra nằm trong một giới hạn
– Chất lượng
• Đầu ra bám theo giá trị đặt
– Loại bỏ nhiễu
– Tính bền vững
• Khả năng đáp ứng khi mô hình thay đổi

10
Chất lượng (nói chung)
• Thời gian tăng
– Thời gian từ 10% tới
90%
• Thời gian đỉnh
• Quá điều chỉnh
– Phần trăm mà giá trị
đỉnh đạt quá giá trị

• Thời gian xác lập


– Thời gian cần thiết

11
Xây dựng mô hình của đối tượng là khó

• Cần được thực hiện trước


• Đối tượng thường liên tục theo thời gian
– Không rời rạc
• VD tốc đọ xe thay đổi liên tục so với vị trí góc mở của van
– Thời gian lấy mẫu phải được lựa chọn cẩn thận
• Đối tượng thường phi tuyến

• Mối tương tác giữa mô hình đối tượng và bộ điều khiển


– Mô hình “đủ tốt” cho việc thiết kế bộ điều khiển

12
Thực hiện bộ điều khiển số

• Hệ thống điều khiển số

13
Thực hiện bộ điều khiển số

• Triển khai hàm điều khiển dưới dạng biến đổi z

• Biểu diễn dạng rời rạc

• Hoặc

14
Bộ điều khiển PID số

• Phương trình bộ điều khiển PID

• Biểu diễn xấp xỉ dạng rời rạc

• Suy ra

15
Bộ điều khiển PID số

• Từ hai phương trình trên ta thu được

16
Bộ điều khiển PID số dạng xấp xỉ
• Kết hợp điều khiển tỷ lệ, vi phân và tích phân
– ut =P*et +I*(e0 +e1+…+et )+D*(et -et-1)
• Có sẵn trong công nghiệp

17
Mã chương trình
• Vòng lặp chương trình chính
– Đọc đầu ra cảm biến của đối tượng điều khiển
• Có thể yêu cầu A2D
– Đọc đầu vào đặt hiện tại
– Gọi hàm PidUpdate, xác định giá trị của cơ cấu chấp hành
– Thiết lập giá trị của cơ cấu chấp hành
• Có thể yêu cầu D2A

18
Mã chương trình (cont)

• Pgain, Dgain, Igain là hằng số


• sensor_value_previous
– Cho khâu D
• error_sum
– Cho khâu I

19
Tính toán

• ut =P*et +I*(e0 +e1+…+et )+D*(et -et-1)

20
Dò giá trị PID

• Xác định giá trị P, I, D theo tính toán có thể không áp dụng
được
– VD không có mô hình của đối tượng, hoặc phức tạp
• Phương pháp đặc biệt để xác định giá trị P, I, D “hợp lý”
– Bắt đầu với P, I=D=0
– Tăng D, dến khi thấy dao động
• Giảm D một ít
– Tăng P, đến khi thấy dao động
• Giảm D một ít
– Tăng I, đến khi thấy dao động
• Lặp lại cho đến khi hết dao động

21
Trễ tính toán

• Luôn có trễ trong quá trình xử lý


– Cơ cấu chấp hành tác động chậm hơn so với mong muốn
• Cần đánh giá trễ để đảm bảo có thể bỏ qua chúng mà không làm
ảnh hưởng hệ thống
• Trễ phần cứng thường dễ xác định
– Thiết kế đồng bộ
• Trễ phần mềm dễ xác định hơn
– Tổ chức chương trình cẩn thận sao cho trễ có thể dự đoán được và tối
thiểu
– Viết chương trình có khả năng xác định thời gian
• Watchdog timer
• Synchronous Software Language

22
Lợi ích của điều khiển bằng máy tính

• Giá!!!
– Giá thành bộ điều khiển sử dụng thiết bị tương tự đắt
– Bộ điều khiển máy tính thay thế phần cứng analog phức tạp với mã phức
tạp
• Khả năng lập trình!!!
– Điều khiển bằng máy tính có thể được “nâng cấp”
• Thay đổi kiểu điều khiển, chế độ điều khiển
– Điều khiển bằng máy tính có thể thích nghi với thay đổi của đối tượng
điều khiển
• Do sự thay đổi của nhiệt đố, áp suất,…
– “có tính mở”
• Dễ thích nghi với các chuẩn mới

23
Embedded6:Systems
CHƯƠNG TỔNG HỢP PHẦN
Design: CỨNG
A Unified
VÀ PHẦN MỀM
Hardware/Software Introduction

Bài 12: Công nghệ thiết kế

1
Tổng quan

• Tự động: tổng hợp


• Kiểm thử: đồng mô phỏng phần cứng/phần mềm
• Sử dụng lại: nền tảng dựa trên sở hữu trí tuệ
intellectual property (IP)
• Mô hình quá trình thiết kế

2
Giới thiệu

• Nhiệm vụ thiết kế
– Định nghĩa chức năng của hệ thống
– Biến đổi các chức năng thành việc thực hiện vật lý, trong khi phải
• Đảm bảo các thông số ràng buộc
• Tối ưu các thông số thiết kế khác
• Thiết kế hệ thống nhúng là một việc khó
– Phức tạp về chức năng
• Hàng triệu điều kiện làm việc khác nhau
• Nhiều ràng buộc
– Khoảng cách về tính sản xuất
• Khoảng 10 dòng code hoặc 100 transistors được sản xuất mỗi ngày

3
Cải thiện tính sản xuất
• Thiết kế các công nghệ để tăng tính sản xuất
• Chúng ta tập trung vào các công nghệ để đồng thiết kế phần
cứng/phần mềm
– Tự động Specification
Automation
• Các chương trình thay thế cho việc
thiết kế thủ công
Verification Reuse
• Tổng hợp Implementation

– Tái sử dụng
• Các bộ phần được thiết kế trước
• Các lõi (Cores)
• Bộ xử lý chức năng đơn và chức năng chung trên cùng một IC
– Kiểm thử
• Đảm bảo tính đúng đắn, tính hoàn thiện của mỗi bước thiết kế
• Đồng mô phỏng phần cứng/phần mềm

4
Tự động: tổng hợp
• Các thiết kế trước chủ yếu là phần cứng
• Độ phức tạp về phần mềm tăng cùng
với sự ra đời của bộ xử ý chức năng Đồng thiết kế

• Các kỹ thuật khác nhau cho thiết kế


Sequential program code (e.g., C, VHDL)

phần cứng và thiết kế phần mềm Behavioral synthesis


(1990s)
Compilers
– Tạo ra sự phân biệt giữa hai lĩnh vực (1960s,1970s)
Register transfers

• Lĩnh vực thiết kế phần cứng và phần Assembly instructions


RT synthesis

mềm tái hợp lại


(1980s, 1990s)

– Cả hai có thể được bắt đầu từ mức mô Assemblers, linkers


Logic equations / FSM's

tả trạng thái của hệ thống nhúng (1950s, 1960s) Logic synthesis


(1970s, 1980s)

– Quá trình này gọi là đồng thiết kế Machine instructions Logic gates

Microprocessor plus Implementation VLSI, ASIC, or PLD


program bits implementation

5
Tiến hóa song song của phần cứng và phần mềm

• Tiến hóa thiết kế phần mềm


– Các lệnh máy
– Assemblers
• Biến đổi chương trình assembly thành mã
Đồng thiết kế
máy
– Compilers Sequential program code (e.g., C, VHDL)

• Biến đổi chương trình tuần tự sang assembly Behavioral synthesis


(1990s)
• Tiến hóa thiết kế phần cứng Compilers
(1960s,1970s)
– Các cổng logic được kết nối Register transfers

– Tổng hợp logic Assembly instructions


RT synthesis
(1980s, 1990s)
• Biến đổi phương trình logic thành các cổng
Logic equations / FSM's
– Tổng hợp mức chuyển đổi thanh ghi Assemblers, linkers
Logic synthesis
(Register-transfer: RT) (1950s, 1960s)
(1970s, 1980s)
• Biến đổi FSMDs thành FSMs, phương trình
logic, các thành phần RT được thiết kế trước Machine instructions Logic gates

(thanh ghi, bộ công, vv…) Microprocessor plus Implementation VLSI, ASIC, or PLD
– Tổng hợp trạng thái program bits implementation

• Biến đổi chương trình tuần tự thành FSMDs

6
Tổng hợp logic
• Trạng thái mức logic sang cấu trúc thực hiện
– Phương trình logic và/hoặc FSM sang các cổng logic
• Tổng hợp logic tổ hợp
– Tối ưu hai mức (Tổng các tích/tích các tổng)
• Chất lượng tốt nhất có thể
– Tuyến dài nhất = 2 cổng (cổng AND + cổng OR/cổng OR + cổng AND)
• Kích cỡ tối thiểu
– Tổi thiểu đầu vào/ra
– Tối ưu nhiều mức
• Bù chất lượng và kích thước
• Tối ưu
– Tìm kiếm tối ưu
• Tổng hợp FSM
– Tối ưu trạng thái
– Mã hóa trạng thái

7
Tối ưu hai mức

• Diễn tả hàm logic dạng tổng của


tích (hoặc tích của tổng) Tổng các tích
– Cổng AND cho mỗi tích F = abc'd' + a'b'cd + a'bcd + ab'cd

– Cổng OR cho mỗi tổng


• Chất lượng tốt nhất có thể Thực hiện trực tiếp
a
– Trễ tối đa qua hai cổng b

• Mục tiêu: tối thiểu kích thước c F


d
– Tối thiểu số cổng AND (tổng của các
tích) 4 4-input AND gates and
– Tối thiểu số đầu vào của mỗi cổng 1 4-input OR gate
→ 40 transistors
AND (tổng của các tích)
8
Tối thiểu: Phương pháp Karnaugh

• Bản đồ Karnaugh (K-map) K-map: sum of products K-map: minimum cover


– 1 diễn tả minterm cd
ab 00 01 11 10
cd
ab 00 01 11 10
– Vòng tròn diễn tả các nhóm 00 0 0 1 0 00 0 0 1 0
01 0 0 1 0 01 0 0 1 0
• Tối thiểu 11 1 0 0 0 11 1 0 0 0
10 0 0 1 0 10 0 0 1 0
– Hình bên
Minimum cover
F=abc'd' + a'cd + ab'cd

Minimum cover implementation


a
2 4-input AND gate
b 1 3-input AND gates
c F
→ 28 transistors
d

9
Tối ưu logic nhiều mức

• Cân bằng chất lượng và kích thước


– Vùng màu xám diễn tả các giải pháp có
thể thực hiện
– Hình tròn với dấu X diễn tả giải pháp
tối ưu
• Thông thường không thể thực hiện
được

delay
– Thiết kế hai mức đạt chất lượng tốt nhất
• Trễ cực đại = 2 gates
• Giải bài toán kích thước nhỏ nhất 2-level minim.
– Tối ưu nhiều mức size
• Trễ nhỏ nhất với kích thước cho trước
• Kích thước nhỏ nhất với trễ cho trước

10
Ví dụ
• Tối thiểu hàm logic hai mức:
2-level minimized
– F = adef + bdef + cdef + gh
a
– Yêu cầu 5 cổng với tổng số 18 đầu vào cổng d
• 4 AND và 1 OR b
• Sau khi biến đổi đại số: e
c
F
– F = (a + b + c)def + gh f
– Chỉ yêu cầu 4 cổng với tổng số 11 đầu vào g
h
cổng
• 2 AND và 2 OR
multilevel minimized
– Ít đầu vào/cổng hơn a
– Giả sử mỗi đầu vào cổng = 2 transistors b
• Giảm được 14 transistors d
– 36 (18 * 2) xuống còn 22 (11 * 2) e
f F
– Hy sinh chất lượng để đạt kích thước
h
• Đầu vào a, b, và c có mức trễ 3 cổng

11
Tổng hợp FSM

• Chuyển FSM sang cổng


• Tối thiểu trạng thái
– Giảm số trạng thái
• Nhận dạng và ghép các trạng thái tương đương
– Cùng đầu ra, trạng thái tiếp theo đối với tất cả các đầu vào
– Dùng bảng
• Lập bảng tất cả các cặp trạng thái có thể
• Nếu có n trạng thái, bảng có n2 tham số
• Mã hóa trạng thái
– Tuần tự bit duy nhất cho mỗi trạng thái
– Nếu có n trạng thái, cần log 2(n) bits
– n! phương pháp mã hóa
12
Mô phỏng

• Tạo ra mô hình máy tính cho thiết kế


– Cung cấp đầu vào mẫu
– Kiểm tra đầu ra
• Ví dụ kiểm tra tính đúng đắn
– ALU
• Cung cấp tất cả các đầu vào có thể (kết hợp)
• Kiểm tra tính đúng đắn của kết quả đầu ra
• Ví dụ về tính hoàn thiện
– Cửa thang máy đóng khi di chuyển
• Cung cấp tất cả các đầu vào tuần tự có thể
• Kiểm tra cửa luôn đóng khi thang máy di chuyển

13
Tái sử dụng: Sử dụng các sản phẩm sở hữu trí tuệ
(intellectual property – IP)
• Các thành phần có sẵn (COST)
– Được thiết kế trước, IC được đóng gói trước
– Thực hiện GPP hoặc SPP
– Giảm thời gian thiết kế
• Hệ on-chip (SOC)
– Tất cả các thành phần của hệ được thực hiện trên một chip
đơn
– Làm tăng khả năng của IC

14
Các thách thức với nhà cung cấp bộ xử lý
• “Lõi đã làm thay đổi đáng kể mô hình kinh doanh
– Mô hình giá
• Quá khứ
– Các nhà sản xuất bán sản phẩm IC cho người thiết kế
– Nhà thiết kế phải mua thêm các bản copy
• Hiện tại
– Các nhà sản xuất bán sản phẩm là các IP
– Nhà thiết kế có thể tạo nhiều bản copy
• Các nhà sản xuất có thể dùng mô hình giá khác nhau
– Mô hình dựa trên bản quyền
• Tương tự mô hình IC cũ
• Nhà thiết kế trả tiền cho các model bổ sung
– Mô hình giá cố định
• Giá duy nhất cho IP và các bản copy cần thiết khác
– Nhiều mô hình khác

15
Các thách thức với người sử dụng bộ xử lý
• Đàm phán về cấp phép
– Không đơn giản như mua IC
– Mô hình giá và bảo vệ IP
• Yêu cầu trợ giúp của pháp luật, bản quyền
• Nỗ lực thiết kế bổ sung
– Đặc biệt với soft cores
• Phải được tổng hợp và kiểm tra
• Sự thay đổi nhỏ trong thiết kế có thể gây vấn đề lớn
• Yêu cầu kiểm tra khó khăn hơn
– Extensive testing for synthesized soft cores and soft/firm cores mapped to particular
technology
• Ensure correct synthesis
• Timing and power vary between implementations
– Early verification critical
• Cores buried within IC
• Cannot simply replace bad core

16
Tóm tắt

• Công nghệ thiết kế nhằm giảm khoảng cách giữa khả


năng của IC và tính sản xuất
• Quá trình tổng hợp đã thay đổi thiết kế số
• Tăng khả năng của IC có nghĩa các thành phần sw/hw
cùng tồn tại trên một chip
• Quá trình thiết kế dịch chuyển sang thiết kế dựa trên
“lõi”
• Mô phỏng là cần thiết nhưng rất khó
• Thiết kế quá trình xoắn ốc là phổ biến
17

You might also like