RTOS-based Hardware Software Communications and Configuration Management in the context of a Smart Camera
Yvan Eustache, Jean-Philippe Diguet, Milad El Khodary LESTER CNRS / UBS University, Lorient, France
1
FRE 2734
Outline
• Introduction • Local & Global Configuration management • Unified Communication & Configuration Interface • Abstraction layer for communication & configuration • Conclusion
2
FRE 2734
Introduction
• Context :
– Multimedia Embedded systems : Resources requirements highly dependent on data & environment Optimal design cannot be decided offline – Constraints :
• • • • Scarce resources (Energy, Shared Hardware) Performances Security Mass product (cost, time to market)
=>Playground for Adaptive Architectures
3
FRE 2734
Introduction
• Research topic :
– Dynamic reconfiguration domain deeply explored – However : what about the configuration decision and control ? : two questions : – How can a system adapt its resources according to its needs ? – Trade off between :
• Performance, Real-time Constraints • Power Consumption, Power-aware system • and Quality of Service ?
– What about the decision integration in RTOS context ?
4
FRE 2734
Introduction
• Our concept :
– Management of the configurations (algorithm, system, architecture) by a couple of Local & Global managers. – OS Abstraction layer for communication, configuration & synchronization management of tasks independently to their implementations (HW or SW)
5
FRE 2734
Introduction
• Smart camera case study :
– Based on RNTL (2000/03) EPICURE Application by CEA/LIST
New Frame Background Object tracking
6
FRE 2734
Local & Global Configurations management • A “two level configuration strategy”
– Local Configuration Manager – Global Configuration Manager Specific Application layer Generic System layer.
• A high level view of configuration manager
•Model of the system •Update model task •Decision task •Prevision task •Regulation task
Control Entity
Sensor Entity
System level •Power Consumption •Execution Time •Application QoS Task level •Process Tasks requirements
Process Entity
•Application HW & SW tasks 7
FRE 2734
Local & Global Configurations management
• Example in the context of the smart camera.
Sensors & Peripheral Space OS
Execution time
Applications Space
GCM
Power consumption LCM Task HW GG CTRL LCM Task HW Cam CTRL. Metrics
Ex: Number of white pixels
• QoS normalized metrics • Configuration requirements LCM k
Configuration
EX: Number of frames for the average op.
Configuration IDs
LCM Metrics Task HW VGA CTRL
Ex: Number of white pixels
KalmanFilter Filtering + Threshold Erosion Application k (e.g. Object Tracking) 8
FRE 2734
Local & Global Configurations management
Power sensor Exec. Time sensor QoS sensor Auditing services
GCM Restricts the Configuration set Configuration selected LCM Metrics Configures each tasks LCM LCM Asks for a resources
Head office
Allocated resources Local factory manager requests Missions Local factory manager Local factory manager
T2 T1 T3 T4
T2 T1 T3
FRE 2734
T4 9
The Unified Communication & Configuration Interface
An Abstract View of a Task (HW or SW)
• • • • characterized with an abstract status (super) FSM, controlled by another task (GCM, LCM, ProcessTask), configured by the LCM & emits metrics, communicates & computes data.
Metric signaling Metric Evaluation
Test Config
Wait Config Run
HW or SW task
10
FRE 2734
The Unified Communication & Configuration Interface
An Abstract View of a Task (HW or SW)
• • • • characterized with an abstract status (super) FSM, controlled by another task (GCM, LCM, ProcessTask), configured by the LCM & emits metrics, communicates & computes data.
UCCI Control UCCI FSM HW or SW task Configuration Metrics
Communication
11
FRE 2734
The Unified Communication & Configuration Interface
• Global view of the UCCI :
Usual Our contribution
RTOS Extended OS Services UCCI Reg. bank Local HAL Slave Port IRQ FSM HW SW DMA Master Port
12
FRE 2734
Task in HW ?
HW Legal Representative
The HW UCCI implementation
• HW comm. & conf. Interface :
1. Control & Status, 2. Configuration & Metrics, 3. Communications.
LCM Ti-1 S Control
Ready Run Wait Write (Start, Stop…)
Usual Our contribution
Read (Ready,Run,Wait)
OS
S Status
Process
13
FRE 2734
The HW UCCI implementation
• HW comm. & conf. Interface :
1. Control & Status, 2. Configurations & Metrics, 3. Communications.
Write (Config)
Usual Our contribution
LCM
Write (Metrics)
S Config.
Ready Run Wait
M Metrics
Process
14
FRE 2734
The HW UCCI implementation
• HW comm. & conf. Interface :
1. Control & Status, 2. Configurations & Metrics, 3. Communications.
OS
(HAL Update Task) Write (Local HAL…)
Usual Our contribution
S
@Tasks @ Mems @Tasks @ Mems
Local HAL Process
Read(Data)
Write(StartTi+1, Data or DataPointerTi+1)
M
M
15
FRE 2734
The SW UCCI implementation
• SW comm. & conf. Interface :
1. Control & Status, 2. Configuration & Metrics, 3. Communications.
OS Scheduler OS SW task Status OS Synch. service
16
FRE 2734
The SW UCCI implementation
• SW comm. & conf. Interface :
1. Control & Status, 2. Configuration & Metrics, 3. Communications.
Tests Config. Waits Config.
HW ?
Usual Our contribution
SW process
HW Legal Representative
Evaluates Metric Sends Metric 17
FRE 2734
The SW UCCI implementation
• SW comm. & conf. Interface :
1. Control & Status, 2. Configuration & Metrics, 3. Communications.
Usual Our contribution
Memories
IO_RD(mem1,Data)
T1 SW
IO_WR(mem2,Data)
OS HAL Memories
Avalon Bus
18
FRE 2734
Abstraction Layer for Communication & Configuration
• The new OS services :
1. HW task capabilities
– Usual task status table extension: HW task status table
2. Configuration control
– HAL (Logical @ Physical @) Update Task
19
FRE 2734
Abstraction Layer for Communication & Configuration
• The new OS services :
1. HW task capabilities
– Usual task status table extension: HW task status table
2. Configuration control
– HAL (Logical @ Physical @) Update Task
20
FRE 2734
Abstraction Layer for Communication & Configuration
3. The communication layer :
• • • SW Post & Pend comm. HW SW Post & Pend comm. HW HW Post & Pend comm.
21
FRE 2734
Abstraction Layer for Communication & Configuration
3. The communication layer :
• • • SW Post & Pend comm. HW SW Post & Pend comm. HW HW Post & Pend comm.
T1 SW
« Post »
OS Synchro. Messaging Services (Flag, Mutex, Mailbox…)
T2 SW
« Pend »
22
FRE 2734
Abstraction Layer for Communication & Configuration
3. The communication layer :
• • • SW Post & Pend comm. HW SW Post & Pend comm. HW HW Post & Pend comm.
IRQ
Read_IRQ_Reg = Message ID
T1 LR
= Legal Representative
SW representative of HW task
T1 HW
T1 ISR
« Post (Message) »
OS Synchro. Messaging Services (Flag, Mutex, Mailbox…)
T1 HW
IRQ
Read_IRQ_Reg = Message ID
T1 ISR
« Post = Message ID»
T1 LR
« Pend = Message»
Write_Control_Reg (HW wake up)
T1 LR
Run state (SW wake up) 23
FRE 2734
Abstraction Layer for Communication & Configuration
3. The communication layer :
• • • SW Post & Pend comm. HW SW Post & Pend comm. HW HW Post & Pend comm.
« Post » :
T1 HW
Write_Post_Reg()
T2 HW
Fully handled by the UCCI Interface
« Pend » :
T2 HW Wait_Post_Reg()
24
FRE 2734
Conclusion
• Our concept :
– A hierarchy of controllers to separate specific QoS measurements & global resource management. – An unified communication & configuration interface. – Abstract & Extend OS services for HW/SW communication & configuration Smart Camera Version 1.0 UCCI OK Configuration Space in progress 3 tasks with HW or SW implementation
25
FRE 2734
Thank you …
26
FRE 2734