Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
PPSi
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
50
Issues
50
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
Wiki
Wiki
image/svg+xml
Discourse
Discourse
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Open sidebar
Projects
PPSi
Commits
407ada45
Commit
407ada45
authored
Nov 09, 2013
by
Alessandro Rubini
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
doc: reviewed; minor updates
Signed-off-by:
Alessandro Rubini
<
rubini@gnudd.com
>
parent
96293c21
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
37 additions
and
21 deletions
+37
-21
ppsi-manual.in
doc/ppsi-manual.in
+37
-21
No files found.
doc/ppsi-manual.in
View file @
407ada45
...
...
@@ -56,12 +56,12 @@
@node Top
@top Introduction
PPSi (
PTP
Ported to Silicon) is an application which, in
PPSi (
@sc
{
ptp
}
Ported to Silicon) is an application which, in
its basic operation, implements @sc
{
ieee
}
1588 specification in a way
that is portable to several architectures, including OS-less ones.
This manual is mainly aimed at developers: people who are working with
PTP
and/or White Rabbit and need to use the protocol in their own
@sc
{
ptp
}
and/or White Rabbit and need to use the protocol in their own
hardware or software environments. Users who simply run PPSi on the host
may want to read @ref
{
Command Line
}
and little else.
...
...
@@ -75,14 +75,14 @@ shortened to @i{WR} in this manual.
WR is a multi-lab research project that aims at synchronizing
thousands of I/O devices distributed in a network several kilometers
wide; its software protocol is an extension of
PTP
. A WR network is
wide; its software protocol is an extension of
@sc
{
ptp
}
. A WR network is
made up of two devices: the @i
{
WR Switch
}
and the @i
{
WR Node
}
. White
Rabbit is developed at ohwr.org:
@t
{
http://www.ohwr.org/projects/white-rabbit
}
.
The WR switch is an 18-ports Gigabit Ethernet switch that runs
@sc
{
wr-ptp
}
as a Linux process, synchronizing each Ethernet link as
either a
PTP master or a PTP
slave (it is a @i
{
boundary clock
}
). The
either a
@sc
{
ptp
}
master or a @sc
{
ptp
}
slave (it is a @i
{
boundary clock
}
). The
WR node is an I/O device that includes a soft core that runs @sc
{
wr-ptp
}
in @i
{
freestanding
}
mode (i.e., without an operating system).
...
...
@@ -193,9 +193,9 @@ The package currently supports the following architectures:
@end table
We plan, over time, to support microcontrollers (
Danilo Sabato is
working on ARM7 and Cortex-M) and @i
{
bare-arm
}
(to be tested on the WR
switch).
We plan, over time, to support microcontrollers (
a beta version for
ARM7 is working, and we are considering Cortex-M) and @i
{
bare-arm
}
(to
be tested on the WR
switch).
@c ==========================================================================
@node Protocols
...
...
@@ -212,7 +212,7 @@ Source files in that directory may override the implementation for the
standard protocol (which lives in @t
{
proto-standard
}
) to provide their
own functionalities. To simplify writing extensions, the @i
{
proto-standard
}
functions already provide @i
{
hooks
}
so the extension itself can provide
callbacks while still using the basic
PTP
engine.
callbacks while still using the basic
@sc
{
ptp
}
engine.
The set of callbacks is currently based on the needs of
WR, but we are willing to accept patches to provide more hooks as
needed.
...
...
@@ -266,9 +266,9 @@ unfair to hide them.
@table @r
@item Support standard
PTP
and extensions.
@item Support standard
@sc
{
ptp
}
and extensions.
Each protocol extension should fall back to standard
PTP
when
Each protocol extension should fall back to standard
@sc
{
ptp
}
when
it detects that its peers are not able to speak the extended
protocol. We don't plan to support more than one extensions in
a single build: it would be just an academic exercise until
...
...
@@ -344,10 +344,13 @@ As of 2013-05 the project suffers from these known bugs:
@itemize
@item All frames must be sent according to a pseudo-random distribution;
this is mostly in place but mut be audited project-wide.
@item We removed @i
{
peer-delay
}
support. Maybe this is a feature, we
are still shaping our mind about that, but for the time being we
don't plan to support peer-delay because it would be academic and
untested in our environments.
@item We removed @i
{
peer-delay
}
support. We plan to add it back, and
actually move White Rabbit to use @i
{
peer-delay
}
@sc
{
ptp
}
instead of
@i
{
end-to-end
}
@sc
{
ptp
}
.
@item The servo for standard-@sc
{
ptp
}
must be audited. Pietro Fezzardi
is working on @i
{
arch-sim
}
to simulate network transactions and
make serious work on the servo algorithm and parameters.
@item @sc
{
udp
}
over @sc
{
IPV6
}
is not yet supported.
@end itemize
@c ##########################################################################
...
...
@@ -373,7 +376,7 @@ two example configuration files in its own @t{etc/} subdirectory.
Configuration is made of of global options and port-specific options.
To configure a port, use @t
{
port <name>
}
followed by its options.
The parser allocates a new
PTP
state machine for each new port, but
The parser allocates a new
@sc
{
ptp
}
state machine for each new port, but
allows changing configuration of an existing port. For instance, to
enable frame diagnostics for a specific port, you can use:
...
...
@@ -572,8 +575,8 @@ separately with ``@t{make -C tools}''.
@node ptpdump
@section ptpdump
This is a sniffer for
PTP
frames. It reports all Ethernet frames and
UDP datagrams that talk
PTP
, from a specific network interface. The
This is a sniffer for
@sc
{
ptp
}
frames. It reports all Ethernet frames and
UDP datagrams that talk
@sc
{
ptp
}
, from a specific network interface. The
output format is line-oriented to help running @i
{
grep
}
over log
files. The number of blank lines between frames depends on how much
time elapsed between them; this should help identifying sync/follow-up
...
...
@@ -660,7 +663,7 @@ synchronization of two or more computers, but please note that the
user
-
space software
-
only approach shows some jitter; on my systems the
delay is usually a few microseconds, up to around a dozen
(
in general,
use of the parallel port has less delay and less jitter
)
. In any case
this offers a second source to check what NTP or
PTP
daemons report.
this offers a second source to check what NTP or
@sc
{
ptp
}
daemons report.
@c
==========================================================================
@node jmptime
...
...
@@ -914,7 +917,7 @@ the suggested "CamelCase" form. Similarly, the typedefs are left, even
if they are really a pain to deal with. Most of this stuff is in
include
/
ppsi
/
ieee
1588
_
types.h file.
The mostly used prefix is @t
{
pp
_}
, the short prefix for 'Portable
PTP
',
The mostly used prefix is @t
{
pp
_}
, the short prefix for 'Portable
@sc
{
ptp
}
',
which is used for every function related to the algorithm itself
(
but
not in the architecture
-
specific code
)
.
...
...
@@ -969,16 +972,29 @@ a list of the other ones please see the help message.
@table @t
@item
-
f <file>
Read configuration file. The program can read several
configuration files. If no @t
{
-
f
}
is passed, it tries to
read a configuration file from the standard places:
@t
{
/
wr
/
etc
/
ppsi.conf
}
if White Rabbit, and @t
{
/
etc
/
ppsi.conf
}
.
@item
-
C <config
-
item>
Pass a single configuration item, or several of them using
the semicolon as separator. See @ref
{
Configuration
}
for details.
@item
-
d
Diagnostics. This options receives the string of diagnostic
levels for fsm, time, frames, servo, bmc, extension
(
in that order
)
.
See @ref
{
Diagnostic Macros
}
for detail.
See @ref
{
Diagnostic Macros
}
for detail
s
.
@item
-
b <ifname>
Specify which interface to use, for Ethernet mode
(
default:
architecture
-
dependent, but @t
{
eth
0
}
for Linux builds
)
.
architecture
-
dependent, but @t
{
eth
0
}
for Linux builds
)
. This
option can only be used in single
-
port operation.
@item
-
e
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment