Phần mềm hệ thống nhúng• Các loại phần mềm nhúng • Đặc điểm của phần mềm nhúng • Hệ điều hành nhúng... Phần mềm hệ thống nhúng• Các loại phần mềm nhúng • Đặc điểm của phần mềm nhúng • Hệ
Trang 1THIẾT KẾ
HỆ THỐNG NHÚNG
TS Phạm Ngọc Nam
Trang 2About your lecturer
Office: C9-401
Email: pnnam-fet@mail.hut.edu.vn
FPGA, embedded systems
Trí tuệ nhân tạo
Embedded system and Reconfigurable computing Lab: 618 thư
Đề tài: Nhận dạng chữ viết tay
Tiến sỹ kỹ thuật chuyên ngành điện tử-tin học, 9/ 2004, Đại học
K.U Leuven, Vương Quốc Bỉ
Trang 3• Có khả năng thiết kế hệ nhúng trên FPGA sử dụng công cụ thiết
kế của Xilinx và Altera
Trang 4• Tài liệu tham khảo:
Điều kiện dự thi: hoàn thành bài tập lớn và lên lớp đầy đủ
Kiểm tra giữa kỳ (30%)
Bài tập lớn (30 %) (làm theo nhóm 4-5 sinh viên)
Thi cuối kỳ (40 %)
Trang 5• Trong bài trình bày này có sử dụng một số slides của giáo sư
Prabhat Mishra, Đại học Florida và của các đồng nghiệp khác
Trang 6PHẦN 1:
GiỚI THIỆU VỀ HỆ THỐNG NHÚNG
Trang 10Định nghĩa
Trang 11Định nghĩa
• Vậy hệ thống nhúng là gì?
Hệ thống bất kỳ sử dụng vi xử lý mà không phải là máy tính đa năng và
được nhúng vào một hệ thống lớn hơn
Hệ thống nhúng đầu tiên: Máy tính dẫn đường cho Apollo
Trang 12(Traction Control)
*Safety Systems
*Cabin Air Quality
*Suspensio
n and Braking Control
*Steering Controls*Entertainmen
t
*Intelligent Transportation System
(ITS)
*Digital Car Radio
*Lighting
*Gear Box
Trang 14Các lọai hệ thống nhúng
• Các hệ thống xử lý tín hiệu
Real-time video, set-top boxes, DVD players, medical equipment,
residential gateways
• Các hệ thống điều khiển phân tán
Network routers, switches, firewalls, mass transit systems,
elevators
• Các hệ thống “nhỏ”
Mobile phones, pagers, home appliances, toys, smartcards, MP3
players, PDAs, digital cameras, sensors, smart badges
Trang 19Các đặc điểm của hệ thống nhúng
• Chuyên dụng
Ứng dụng được định nghĩa trước
Tối ưu về giá thành, về tài nguyên phần cứng, về công suất tiêu
thụ và về hiệu năng hoạt động.
Trang 21Yêu cầu thiết kế
Size: the physical space required by the system
Performance: the execution time or throughput of the system
Power: the amount of power consumed by the system
Flexibility: the ability to change the functionality of the system without incurring heavy NRE cost
Trang 22Yêu cầu thiết kế
• Các thông số cơ bản (tiếp)
Time-to-prototype: the time needed to build a working version of the
system
Time-to-market: the time required to develop a system to the point that it can be released and sold to customers
Maintainability: the ability to modify the system after its initial release
Correctness, safety, many more
Trang 23• Time required to develop a
product to the point it can be sold to customers
• Market window
Period during which the
product would have highest sales
• Average time-to-market
constraint is about 8 months
• Delays can be costly
Reve nues ($)
Time (months)
Trang 24Thiệt hại khi đưa ra thị trường chậm
• Simplified revenue model
Product life = 2W, peak at W
Time of market entry defines a
triangle, representing market penetration
Triangle area equals revenue
• Loss
The difference between the
on-time and delayed triangle areas (shaded region)
Trang 25• Area = 1/2 * base * height
Delays are costly!
Thiệt hại khi đưa ra thị trường chậm
Trang 26• Unit cost
the monetary cost of manufacturing each copy of the system, excluding
NRE cost
The one-time monetary cost of designing the system
Trang 28Quy trình phát triển hệ nhúng
Các phần tử phần cứng
Estimation Exploration
…)
(Com pilat ion,
…)
Trang 30Exponential growth for 3 decades!
Trang 31Xu hướng phát triển
+ Communications + DSP
Mainframe
0.01
Compute Power
1 / human
Trang 32Xu hướng phát triển Các thiết bị thông minh
Trang 33Môi trường thông minh
Trang 36Tổng quan
Trang 37Tổng quan
• Các linh kiện rời rạc (COTS)
e.g wireless radios, sensors, I/O devices
Cheap
• Các IC chuyên dụng (ASICs)
ICs tailored to meet application needs
Good performance for their intended tasks
Trang 38• Xu hướng phần cứng mới:
S ystem-On-Chip (SOC)
Usual (or desired) specs:
32-bit RISC CPU
Built-in interfaces to RAM and ROM
Built-in DMA, interrupt and timing controllers
Built-in interfaces to disk or flash memory
Built-in Ethernet/802.11 interfaces
Built-in LCD/CRT interfaces
New SOCs appearing almost every week!
Examples
Intel StrongARM SA-1110
Motorola PowerPC MPC823e
Tổng quan
Trang 41Charge-Coupled Devices (CCD)
Image Sensors: Based on charge transfer to next pixel cell
Trang 42Khối vào ra Biometrical Sensors
Example: Fingerprint sensor (© Siemens, VDE):
Trang 43Artificial eyes
© Dobelle Institute (www.dobelle.com)
Trang 44He looks hale, hearty, and healthy — except for the wires They run from the laptops into the signal processors, then out again and across the table and
up into the air, flanking his face like curtains before disappearing into holes drilled through his skull Since his hair is dark and the wires are black, it's hard to see the actual points of entry From a distance the wires look like long ponytails.
Khối vào ra Artificial eyes
Trang 47Khối truyền thông
Sensor/actuator busses
Trang 48Khối truyền thông Sensor/Actuator Bus
Trang 49Field bus
• More powerful/expensive than sensor
interfaces; serial busses preferred
Trang 50Khối truyền thông
Field busses
• Controller area network (CAN)
Designed by Bosch and Intel in 1981;
Used in cars and other equipment;
Differential signaling with twisted pairs,
Arbitration using CSMA/CA,
Throughput between 10kbit/s and 1 Mbit/s,
Low and high-priority signals,
Max latency of 134 µs for high priority signals,
Coding similar to that of serial (RS-232) lines of PCs, with
modifications for differential signaling.
http://www.can.bosch.com
• IEEE 488
Trang 51• IEEE 802.11 a/b/g
• UMTS (Universal Mobile Telecommunications System)
Bandwidth is becoming a scarce resource.
• DECT (Digital Enhanced Cordless Telecommunications)
Standard used for wireless phones in Europe
• Bluetooth
Connect devices e.g., mobile phone and headset
Wireless Communication
Trang 55Vi điều khiển
• Shipments- > 8 Billion in 2000, 8 bit > 1/2 market
MC68HC05, National COP800, SGS/Thomson ST62, Zilog Z86Cxx
Trang 56PIC16C5x
Trang 57• High-Performance RISC CPU:
Only 33 single word instructions to learn
All instructions are single cycle (200 ns) except for
program branches which are two-cycle
Operating speed: DC - 20 MHz clock input
DC - 200 ns instruction cycle
12-bit wide instructions
8-bit wide data path
Seven or eight special function hardware registers
Two-level deep hardware stack
Direct, indirect and relative addressing modes for
data and instructions
Trang 58• Peripheral Features:
8-bit real time clock/counter (TMR0) with 8-bit
programmable prescaler
Power-On Reset (POR)
Device Reset Timer (DRT)
Watchdog Timer (WDT) with its own on-chip
RC oscillator for reliable operation
Programmable code-protection
Power saving SLEEP mode
• Applications:
high-speed automotive and appliance motor control
low-power remote ransmitters/receivers
Trang 59Họ vi điều khiển 8051
• Hiện nay có hơn 40 công ty sản xuất các loại vi điều khiển
khác nhau của họ 8051.
• Một số công ty có trên 40 version 8051.
• Các CORE 8051 có thể được tổ hợp trong các FPGA hay
ASIC.
• Trên 100 triệu vi điều khiển 8051 được bán ra mỗi năm.
• Họ 8051 gặt hái được rất nhiều thành công và nó cũng trực tiếp ảnh hưởng đến cấu trúc của các họ vi điều khiển hiện nay.
Trang 60• 8051 thuộc họ vi điều khiển MCS-51.
• MCS-51 được phát triển bởi Intel và các nhà sản xuất khác (như
Siemens, Philips) là các nhà cung cấp đứng thứ hai của họ này
• Tóm tắt một số đặc điểm chính của họ 8051:
4K bytes ROM trong
128 bytes RAM trong
4 cổng I/O 8-bit
2 bộ định thời 16 bit
Giao diện nối tiếp
Quản lý được 64K bộ nhớ code bên ngoài
Quản lý được 64K bộ nhớ dữ liệu bên ngoài
Trang 61Họ vi điều khiển 8051
Điều khiển
ngắt CPU
Bộ dao động
Nguồn Ngắt Trong
Ram trong
Thanh ghi chức năng
đặc biệt
128 byte RAM
Quản
lý Bus Port 0
Port 1
Port
2 Port 3
Cổng nối tiếp
PSEN ALE Địa chỉ
00 7F
FF 80
128 byte ram
Trang 62Họ vi điều khiển AVR
Thanh ghi
điều khiển
Đơn vị ngắt
Đơn vị SPI UART nối tiếp
Timer/Counter
8 bít Timer/Counter
16 bit với PWM
Bộ định thời watchdog
Bộ nhớ flash 1k x 16 cho
ch ơng trình
Bộ đếm
ch ơng trình
Trạng thái và kiểm tra Bus dữ liệu 8 bít
Thanh ghi lệnh
Bộ giải mã lệnh
Thanh ghi đa năng
32 x 8
ALU
128 x 8 Data SRAM Các đ ờng điều khiển
Trang 63• Do hãng Cypress sản xuất
• Một loại công nghệ IC mới phát triển trong vài năm gần đây
• Khả năng tích hợp động các loại linh kiện số và tương tự để tạo
ra các khối số hoặc tương tự với chức năng tuỳ thuộc người dùng.
• Kết hợp với một vi điều khiển trung tâm
Trang 65Texas Instruments TMS320C20x Low end consumer Fixed Point
• Series continued; typical app.: Digital camera, feature-phones, disk
drives, Point-of-Sales Terminal
• 40 MHz, 3.3-5V, 3LM
• Available as core
Selection of peripherals:
serial comm., timers,
fixed MAC 16x16+32->32 PROM
Dual access data RAM
address
data 16
18
address
data 16
16 I/O Loop controller
Trang 66Texas Instruments TMS320C24x Low end consumer Fixed Point
• Series continued; typical app.: electrical motor control
• 50 MHz, 5V
Selection of peripherals:
serial comm., timers,
fixed MAC 16x16+32->32 PROM
Dual access data RAM
address
data 16
16 Loop controller
8 output PWM
8 channel A/D
CAN bus controller watchdog
Trang 67Bộ nhớ
Write ability and storage permanence of memories, showing relative degrees along each axis (not to scale).
External programmer
OR in-system, block-oriented writes, 1,000s
of cycles
Battery life (10 years)
Write ability
Ideal memory
OTP ROM
During fabrication only
External programmer, 1,000s
of cycles
External programmer, one time only
External programmer
OR in-system, 1,000s
of cycles
In-system, fast writes, unlimited cycles
Near zero
Tens of years Life of product
Trang 683 Phần mềm hệ thống nhúng
• Các loại phần mềm nhúng
• Đặc điểm của phần mềm nhúng
• Hệ điều hành nhúng
Trang 693 Phần mềm hệ thống nhúng
• Các loại phần mềm nhúng
• Đặc điểm của phần mềm nhúng
• Hệ điều hành nhúng
Trang 70Các loại phần mềm nhúng
Trang 713 Phần mềm hệ thống nhúng
• Các loại phần mềm nhúng
• Đặc điểm của phần mềm nhúng
• Hệ điều hành nhúng
Trang 72•Written in high level programming languages:
• Typically in C but increasingly in Java or C++.
•The engineers that write embedded software are rarely
computer scientists
•Very stringent dependability requirements:
• human safety, consumer expectations, liability and government
regulation
•BMW recalled 15,000 7-series sedans in 2002 at an estimated
cost of $50 million.
Đặc điểm của phần mềm nhúng
Trang 733 Phần mềm hệ thống nhúng
• Các loại phần mềm nhúng
• Đặc điểm của phần mềm nhúng
• Hệ điều hành nhúng
Trang 74 Linux is already ubiquitous
Hundreds of different devices are using it
Several variations-from ‘soft real time’ to ‘hard real time’
Numerous commercial + open source products: LynxOS, RTAI, Android
Trang 75The Embedded OS Market 2006
Hệ điều hành nhúng
Trang 76Lập trình cho PC và lập trình nhúng
Trang 77Lập trình cho PC và lập trình nhúng
Trang 78Lập trình cho PC và lập trình nhúng
Trang 79Lập trình cho PC và lập trình nhúng
Trang 804 Các vấn đề trong quy trình thiết kế hệ
nhúng
• Mô tả hệ thống (specification)
• Phân chia phần cứng, phần mềm (HW/SW partitioning)
• Lựa chọn phương án thiết kế (Design space exploration)
Trang 81• Mô tả hệ thống (specification)
• Phân chia phần cứng, phần mềm (HW/SW partitioning)
• Lựa chọn phương án thiết kế (Design space exploration)
Trang 82Mô tả hệ thống
Các phần tử phần cứng
Estimation Exploration
…)
(Com pilat ion,
…)
Trang 84Mô tả hệ thống StateCharts: D Harel, 1987
superstate
FSM will be in exactly one of the substates of
S if S is active (either in A or in B or )
FSM will be in exactly one of the substates of
S if S is active (either in A or in B or )
Hierarchy
Trang 85 Designed for specification of distributed systems.
recommendation in 1980
is called a process,
on data.
Trang 86Mô tả hệ thống FSMs/Processes in SDL
output input state
Trang 87SDL
Trang 88Mô tả hệ thống
Petri Nets
synchronization assumed (message passing only).
Conditions: Either met or not met.
Events: May take place if certain conditions are met.
Flow relations: Relates conditions and events.
Trang 89Petri Nets
Preconditions
Trang 90Mô tả hệ thống UML (Unified Modeling Language)
Trang 91 IEEE 1364-1995 (Verilog version 1.0)
IEEE 1364-2001 (Verilog version 2.0)
Trang 92Mô tả hệ thống
VHDL
• HDL = hardware description language
VHDL = VHSIC hardware description language
VHSIC = very high speed integrated circuit
• 1987: IEEE standard 1076; 1992 revision;
• Recently: VHDL-AMS models analog
entity full_adder is port(a, b, carry_in: in Bit; input ports sum,carry_out: out Bit); output ports
end full_adder;
Trang 93int sc_main ( int argc , char ** argv ) {
hello hello_inst (" world ");
sc_start ();
}
Trang 94Mô tả hệ thống SystemVerilog
• Corresponds to Verilog versions 3.0 and 3.1.
• Includes:
Additional language elements to model behavior
C data types such as int
Type definition facilities
Definition of interfaces of hardware components as separate
entities
Mechanism for calling C/C++-functions from Verilog
Limited mechanism for calling Verilog functions from C.
Trang 95• Mô tả hệ thống (specification)
• Phân chia phần cứng, phần mềm (HW/SW partitioning)
• Lựa chọn phương án thiết kế (Design space exploration)
Trang 96HW/SW Partitioning
Trang 97Hardware/Software Co-design
[Niemann, Hardware/Software Co-Design for Data Flow Dominated Embedded Systems, Kluwer Academic Publishers, 1998 (Comprehensive mathematical model)]
Processor P1 Processor P2 Hardware
Specification
Mapping
Trang 984 Các vấn đề trong quy trình thiết kế hệ
nhúng
• Mô tả hệ thống (specification)
• Phân chia phần cứng, phần mềm (HW/SW partitioning)
• Lựa chọn phương án thiết kế (Design space exploration)
Trang 99Traditional HW/SW Co-Design Flow
Design Specification
HW/SW Partitioning
Off-Chip Memory
Processor Core
On-Chip Memory
Trang 100Lựa chọn phương án thiết kế
ADL-Driven SOC Design Flow
Design Specification
IP Library
On-Chip Memory Processor Core
ADL: Architecture Description Language
Trang 101ADL-driven Design Space Exploration
Trang 102Lựa chọn phương án thiết kế
Exploration Methodology
• Four steps
Architecture Specification
Use of Architecture Description Language ( ADL )
Software Toolkit Generation
Compiler, simulator, assembler, debugger
Generation of Hardware Models (Prototypes)
Design space exploration
Find the best possible architecture for the given set of application programs under area, power, performance constraints
Trang 103nhúng ở VN
• Phát triển hệ thống nhúng trên thế giới
• Phát triển hệ thống nhúng ở Việt Nam
• Tình hình đào tạo hệ thống nhúng ở Việt Nam
Trang 1045 Tình hình đào tạo và phát triển hệ thống
nhúng ở VN
• Phát triển hệ thống nhúng trên thế giới
• Phát triển hệ thống nhúng ở Việt Nam
• Tình hình đào tạo hệ thống nhúng ở Việt Nam
Trang 106Phát triển hệ thống nhúng trên thế giới
Trang 107Nhật Bản: 40% doanh thu phần mềm là từ phần mềm nhúng
Trang 108Phát triển hệ thống nhúng trên thế giới
• Tỷ lệ doanh thu phần hệ nhúng trong toàn bộ sản phẩm cuối
Trang 109nhúng ở VN
• Phát triển hệ nhúng trên thế giới
• Phát triển hệ thống nhúng ở Việt Nam
• Tình hình đào tạo hệ nhúng ở Việt Nam
Trang 110Phát triển hệ thống nhúng ở Việt Nam
• Fsoft
Outsource cho thị trường Nhật Bản và Mỹ: < 10% doanh thu từ
phần mềm
• Panasonic R&D Center in Vietnam
• Một số công ty khác: ETS, Applistar
Trang 111nhúng ở VN
• Phát triển hệ thống nhúng trên thế giới
• Phát triển hệ thống nhúng ở Việt Nam
• Tình hình đào tạo hệ thống nhúng ở Việt Nam