[Tinyos-2-commits] CVS: tinyos-2.x/doc/txt tep101.txt, 1.1.2.6,
1.1.2.7
Jan-Hinrich Hauer
janhauer at users.sourceforge.net
Fri Jul 14 10:01:17 PDT 2006
Update of /cvsroot/tinyos/tinyos-2.x/doc/txt
In directory sc8-pr-cvs10.sourceforge.net:/tmp/cvs-serv13783/doc/txt
Modified Files:
Tag: tinyos-2_0_devel-BRANCH
tep101.txt
Log Message:
Integrated the changes discussed during the last working group telephone conference:
- removed remarks about how the Resource interface must be used (instead included a reference to TEP108)
- made section 3 (HAL1 requirements) less restrictive (SHOULD => should, inserted a recommendation for the round robin arbiter)
- added missing link in Introduction to point to section 6 (Implementation)
Index: tep101.txt
===================================================================
RCS file: /cvsroot/tinyos/tinyos-2.x/doc/txt/tep101.txt,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -C2 -d -r1.1.2.6 -r1.1.2.7
*** tep101.txt 14 Jun 2006 17:53:45 -0000 1.1.2.6
--- tep101.txt 14 Jul 2006 17:01:14 -0000 1.1.2.7
***************
*** 36,40 ****
Analog-to-digital converters (ADCs) are devices that convert analog input
! signals to discrete digital output signals, typically voltage to a digital
number. The interested reader can refer to Appendix A for a brief overview of
the ADC hardware on some current TinyOS platforms. In earlier versions of
--- 36,40 ----
Analog-to-digital converters (ADCs) are devices that convert analog input
! signals to discrete digital output signals, typically voltage to a binary
number. The interested reader can refer to Appendix A for a brief overview of
the ADC hardware on some current TinyOS platforms. In earlier versions of
***************
*** 88,95 ****
* the set of platform-independent interfaces for the collection of ADC
conversion results (`2. Interfaces`_)
! * guidelines on how an ADC's HAL SHOULD should be split into HAL1 and HAL2 and
! how the HAL1 SHOULD expose chip-specific interfaces (`3. HAL1 guidelines`_)
* what components an ADC's HAL2 MUST implement (`4. HAL2 requirements`_)
* guidelines on how the HAL2 may be structured (`5. HAL2 implementation guidelines`_)
This TEP ends with appendices documenting, as an example, the ADC
--- 88,97 ----
* the set of platform-independent interfaces for the collection of ADC
conversion results (`2. Interfaces`_)
! * guidelines on how an ADC's HAL should be split into HAL1 and HAL2 and
! how the HAL1 should expose chip-specific interfaces (`3. HAL1 guidelines`_)
* what components an ADC's HAL2 MUST implement (`4. HAL2 requirements`_)
* guidelines on how the HAL2 may be structured (`5. HAL2 implementation guidelines`_)
+ * a section pointing to the current implementation (`6. Implementation`_)
+
This TEP ends with appendices documenting, as an example, the ADC
***************
*** 132,138 ****
channel immediately (the request is not buffered). Due to its timing
constraints the ReadNow interface is always provided in conjunction with an
! instance of the Resource interface. A client MUST request access to the ADC
! via the Resource interface before it can call ReadNow.read() and it MUST
! release access via the Resource interface when it is finished (see [TEP108]_).
ReadStream
--- 134,140 ----
channel immediately (the request is not buffered). Due to its timing
constraints the ReadNow interface is always provided in conjunction with an
! instance of the Resource interface. Refer to [TEP108]_ on how the 'Resource'
! interface should be used by a client component.
!
ReadStream
***************
*** 154,158 ****
HAA [TEP2]_. Therefore only chip- and platform-dependent clients MAY wire to
the HAL1. Although the HAL1 is chip-specific, both, in terms of implementation
! and representation, its design SHOULD follow the guidelines described below to
facilitate the mapping to platform-independent interfaces on the level of
HAL2. Appendix B shows the HAL1 specification for the TI MSP430 MCU.
--- 156,160 ----
HAA [TEP2]_. Therefore only chip- and platform-dependent clients MAY wire to
the HAL1. Although the HAL1 is chip-specific, both, in terms of implementation
! and representation, its design should follow the guidelines described below to
facilitate the mapping to platform-independent interfaces on the level of
HAL2. Appendix B shows the HAL1 specification for the TI MSP430 MCU.
***************
*** 163,193 ****
As the ADC hardware is a shared resource that is multiplexed between several
clients, it requires access arbitration. Therefore the HAL1 configuration
! component SHOULD provide a parameterized 'Resource' interface, instantiate a
generic arbiter component and connect the 'Resource' interface to the arbiter
! as described in [TEP108]_. To provide a uniform arbitration service for all
! platforms on the level of HAL2 (see `4. HAL2 requirements`_), all ADCs should
! be arbitrated in round robin fashion, i.e. the HAL1 SHOULD instantiate the
! standard round robin arbiter. On the level of HAL1 a client MUST have
! successfully requested access to the ADC via the 'Resource' interface before
! it can configure / sample a channel. After use it MUST release the ADC via the
! 'Resource' interface (see [TEP108]_).
Configuration and sampling
--------------------------------------------------------------------
! As the ADC hardware is a shared resource the HAL1 SHOULD support hardware
configuration and sampling on a per-client basis (although per-port
configuration is possible, it is not recommended, because it forces all
! clients to use the same settings for a given port). Therefore an HAL1 SHOULD
! provide "sampling interfaces" parameterized by a client identifier. An HAL1
client can use its instance of the sampling interface to configure the ADC
hardware, start the sampling process and get conversion results. It wires to a
sampling interface using a unique client identifier. All commands and events
! in the sampling interface SHOULD be 'async' to reflect the potential timing
! requirements of clients. An HAL1 MAY provide multiple different parameterized
sampling interfaces, depending on the hardware capabilities. This allows to
differentiate/group ADC functionality, for example single vs. repeated
sampling, single channel vs. multiple channels or low-frequency vs.
! high-frequency sampling. Every sampling interface SHOULD allow the client to
individually configure the ADC hardware, for example by including the
configuration data as parameters in the sampling commands. However, if
--- 165,191 ----
As the ADC hardware is a shared resource that is multiplexed between several
clients, it requires access arbitration. Therefore the HAL1 configuration
! component should provide a parameterized 'Resource' interface, instantiate a
generic arbiter component and connect the 'Resource' interface to the arbiter
! as described in [TEP108]_. To ensure fair and uniform arbitration on all
! platforms the standard round robin arbiter is recommended. Refer to [TEP108]_
! on how the 'Resource' interface is to be used by a client wiring to HAL1.
Configuration and sampling
--------------------------------------------------------------------
! As the ADC hardware is a shared resource the HAL1 should support hardware
configuration and sampling on a per-client basis (although per-port
configuration is possible, it is not recommended, because it forces all
! clients to use the same settings for a given port). Therefore an HAL1 should
! provide sampling interfaces parameterized by a client identifier. An HAL1
client can use its instance of the sampling interface to configure the ADC
hardware, start the sampling process and get conversion results. It wires to a
sampling interface using a unique client identifier. All commands and events
! in the sampling interface should be 'async' to reflect the potential timing
! requirements of clients. An HAL1 may provide multiple different parameterized
sampling interfaces, depending on the hardware capabilities. This allows to
differentiate/group ADC functionality, for example single vs. repeated
sampling, single channel vs. multiple channels or low-frequency vs.
! high-frequency sampling. Every sampling interface should allow the client to
individually configure the ADC hardware, for example by including the
configuration data as parameters in the sampling commands. However, if
***************
*** 200,204 ****
In order to hide wiring complexities and/or export only a subset of all ADC
! functions generic ADC wrapper components MAY be provided on the level of HAL1
to be instantiated by chip- and platform-dependent clients.
--- 198,202 ----
In order to hide wiring complexities and/or export only a subset of all ADC
! functions generic ADC wrapper components may be provided on the level of HAL1
to be instantiated by chip- and platform-dependent clients.
More information about the Tinyos-2-commits
mailing list