Code Monkey home page Code Monkey logo

sw_avb's Introduction

AVB Software Stack

Latest release

5.2.1rc1

Maintainer

XMOS

Description

AVB software stack

Key Features

  • 1722 Talker and Listener (simultaneous) support
  • 1722 MAAP support for Talkers
  • 802.1Q MRP, MMRP, MVRP, SRP protocols
  • gPTP server and protocol
  • Audio interface for I2S and TDM
  • Media clock recovery and interface to PLL clock source
  • Support for 1722.1 AVDECC: ADP, AECP (AEM) and ACMP

Firmware Overview

This firmware is a reference endpoint implementation of Audio Video Bridging protocols for XMOS silicon. It includes a PTP time server to provide a stable wallclock reference and clock recovery to synchronise listener audio to talker audio codecs. The Stream Reservation Protocol is used to reserve bandwidth through 802.1 network infrastructure.

Known Issues

Support

The HEAD of this repository is a work in progress. It may or may not compile from time to time, and modules, code and features may be incomplete. For a stable, supported release please see the reference designs section at www.xmos.com.

Required software (dependencies)

sw_avb's People

Contributors

huwg59 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sw_avb's Issues

acmp_talker_valid_talker_unique bug!

Line 551 in avb_1722_1_acmp.c (module_avb_1722_1) should be changed to:

return acmp_talker_rcvd_cmd_resp.talker_unique_id < AVB_1722_1_MAX_TALKERS;

Xmos Daisy Chain topology

I am connecting two daisy chain board each other without avb switch. One board is connected to linux machine (in which openavb is running).
I have two audio slice each connected to DC boards.
I want to record from 8 audio channels in which 4 channels per daisy chain board.
I want the setup like:
two DC as talkers and PC as listener.
But recorded signal does no look right form. I recorded simple 1khz sine wave.
I modified:
line 39: #define AVB_NUM_SOURCES 2
line 61: #define AVB_NUM_SINKS 2
in xmos source code.

xmos console output is as following:
PTP Port 0 Role: Master
PTP Port 1 Role: Master
Setting clock source: INPUT_STREAM_DERIVED
MAAP reserved Talker stream #0 address: 91:E0:F0:0:A0:56
MAAP reserved Talker stream #1 address: 91:E0:F0:0:A0:57
CONNECTING Talker stream #0 (229700617C0000) -> Listener 0:22:97:FF:FE:0:61:BC
MSRP: Register stream request 229700:617C0000
Added stream:
ID: 229700617C0000
DA:91:E0:F0:0:A0:56:
max size: 128
interval: 1
Talker stream #0 ready
Added stream:
ID: 22970061BC0000
DA:91:E0:F0:0:5F:CA:
max size: 128
interval: 1
CONNECTING Listener sink #0 -> Talker stream 22970061BC0000, DA: 91:E0:F0:0:5F:CA
Listener sink #0 chan map:
0 -> 0
1 -> 1
1722 router: Enabled map for stream 22970061BC0000 (link_num:0, hash:0)
MSRP: Register attach request 229700:61BC0000
Media output 0 locked: 166 samples shorter
Media output 1 locked: 166 samples shorter
PTP Port 1 Role: Slave
PTP Port 0 Role: Master
Media output 0 lost lock
Media output 1 lost lock
Media output 0 locked: 123 samples shorter
Media output 1 locked: 122 samples shorter
PTP sync locked
CONNECTING Talker stream #0 (229700617C0000) -> Listener A0:36:9F:FF:FE:4A:52:20
Added stream:
ID: 229700617C0000
Increasing port 1 shaper bandwidth to 10880000
Setting stream 0 1722 TX port to 1
Talker stream #0 on
Decreasing port 1 shaper bandwidth to 0
Talker stream #0 off
AP: MSRP_LISTENER 617C0000:1:0:0 MRP_EVENT_RECEIVE_LEAVE_ALL: MRP_LO -> MRP_UNUSED

in
1722 router: Enabled map for stream 22970061BC0000 (link_num:0, hash:0)
MSRP: Register attach request 229700:61BC0000
Media output 0 locked: 166 samples shorter
Media output 1 locked: 166 samples shorter
PTP Port 1 Role: Slave
PTP Port 0 Role: Master
Media output 0 lost lock
Media output 1 lost lock

I traced those messages and it is in media_clock_server.xc. There is some macros including stable threshold.
What is that threshold for? and min and max range?

What is the problem?

Thank you.

sw_avb not working

Hi there,

I'm a newbie with XMOS so please excuse my ignorance and delete my post if I'm missing the essence :-).

The latest version of app_xr_avb_lc_demo will not work properly unless you comment the following lines from avb_conf.h.
//#define MII_RX_BUFSIZE_HIGH_PRIORITY (700)
//#define MII_RX_BUFSIZE_LOW_PRIORITY (300)
//#define MII_TX_BUFSIZE_HIGH_PRIORITY (300)
//#define MII_TX_BUFSIZE_LOW_PRIORITY (200)

As far as I can see the defaults of these overrides are much higher and undersizing default buffers makes xtcp not working.

Maybe you'll take a look to this.

Thank you,
Virgil

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.