Google
 

Monday, January 15, 2007

Q: 关于常用hal/service对象的简要功能说明?

这些对象是开发过程中最常用的,简要罗列于此(不全).更准确的说明请参考source code和有关文档.

名称

说明

代码分配原则

Timer

定时器,提供硬件Timer对象的封装

HAL

UART

串行通信口对象,提供硬件Uart对象的封装

HAL层,注意UART不同于串行通信对象SioSio中包含更上层的frame处理,后者属于DRIVER层。

目前UartDriver形式实现,但仍属于HAL层。

SPI

SPI接口对象,提供对SPI通信口的封装

HAL

仅仅包含SPI操作方法,提供一高度稳定可靠的SPI操作库。一切与被操作对象有关的代码都不应该放入SPI。目前以Driver形式实现,属于HAL层。

Transcever

接收发送器对象,如cc2420的软件封装

HAL

目前采用Driver方式实现,不要在该代码中引入任何RTOS调用。由于wireless通信的复杂性,该对象需要提供许多通用接口之外的函数接口如能耗和功率管理等。

SIO

串行IO通信对象,在UART基础上,进一步提供frame机制处理,包括frame帧头判断、帧尾判断、帧格式封装、帧格式解包、帧校验。

Driver

提供帧处理。

如果串行通信也组网的话,那还要包含地址处理

MAC

Medium Access Control

Driver方式实现,提供标准Driver读写接口,内部包含地址、信道访问冲突处理、帧处理、简单的时间配准、校验和重传、ACK机制等网络通信MAC层处理。

目前只提供一套MAC参考实现OpenMAC, 希望未来有兴趣的成员可以为其加入802.15.4两套各有特点,可针对不同场合选用。

DRIVER

MAC内部包含ACK机制。

NET

Networking Layer 拓扑和路由管理

service方式实现

SERVICE

Location

分布式Location构建在MAC基础之上

Service

TimeSync

时间同步,Time Synchronization

Service

No comments:

Google