본문 바로가기

IT 기술/용어 및 개념

Hardware Abstraction Architecture(HAA)

반응형
TinyOS의 Hardware Abstraction은 기능적으로 최상위단부터 HIL, HAL, HPL 3개의 레이어로 나뉜다. 

☆ Hardware Presentation Layer(HPL)
HPL은 하드웨어와 직접 맞닿아 통신을 하는 부분으로 Abstraction을 통해 복잡한 명령들을 쉽게 전달 할 수 있다. 그렇다고 하드웨어라고 오해를 하면 안된다. HPL은 엄연히 소프트 웨어이며 단지 I/O핀 또는 레지스터들을 nesC형태로 표현한다. 따라서 이러한 하드웨어들을 효과적으로 컨트롤 하기 위해 HPL 컴포넌트들은 반드시 다음 명령들을 가지고 있어야한다.
 
. 효과적인 전력관리를 위해 하드웨어 모듈을 initialization, starting, stopping 하는 명령
. 하드웨어 기능을 컨트롤 하기 위한 레지스터를 get, set 하는 명령
. 가장 빈번하게 쓰이는 flag-setting/testing 기능을 위한 separate 명령
. 하드웨어 모듈에 의해 생성되는 interrupts를 enabling 또는 disabling하는 명령
. 하드웨어 모듈에 의해 생성되는 interrupts를 위한 service routines
 
마지막으로 HPL 컴포넌트는 hpl이라는 prefix가 붙고 그 뒤에 칩이름이 붙는다. 또한 별다른 state를 갖지 않는다.
 
☆ Hardware Adaptation Layer(HAL)
HAL은 간단히 말해서 HPL의 상위 레이어인 만큼 좀더 추상화되어 사용이 더 편리하고 보다 세부적인 기능들을 기술한다. 또한 HPL과는 다르게 state를 유지하고 있어서 중재를 수행하거나 자원을 컨트롤 할 수 있다.
HAL 컴포넌트는 prefix로 칩의 이름을 갖는다.
 
☆ Hardware Interface Layer(HIL)
HIL은 HAL의 상위 레이어로 HAL에서 추상화된 명령이나 수행을 전달받아 하드웨어 독립적인 인터페이스를 생성한다. 따라서 다양한 하드웨어에 적용이 가능하다. 다양한 플랫폼에 컴파일 될 수 있는 만큼 HAL이나 HPL이 할 수 있는 기능의 사용에는 제약이 있다.
 
반응형

'IT 기술 > 용어 및 개념' 카테고리의 다른 글

Power Electronics  (0) 2012.01.25
TinyOS?  (0) 2012.01.25
AODV란?  (0) 2012.01.25
Pull up, Pull down  (0) 2012.01.25
High Impedance  (0) 2012.01.25