STM32F Possibilities?

318 views
Skip to first unread message

Sam Lopez

unread,
Aug 31, 2019, 6:54:17 PM8/31/19
to Audio over IP
Hello! 
I'm currently beginning the stages of researching the AES67 protocol for a few upcoming projects. For an "open" platform I've been pretty surprised with the lack of documentation. My current game-plan is to build some sort of AES67 receiver and output into an audio console. (Eventually a self contained speaker). If anyone has any specifics on how the protocol is laid out and have any sort of documentation I would truly appreciate the help. My github/twitter is @samlopezco if you need to reach me!

Nicholas Humfrey

unread,
Aug 31, 2019, 7:16:21 PM8/31/19
to Audio over IP
Hi Sam,

Unfortunately most of the Audio Engineering Society standards are not Open Standards and they charge $100 to non-members:


However AES67 mostly just describes which bits of other standards to use to create an interoperable system.

The parts of AES67 are defined by:
- Real Time Protocol (RFC 3550)
- Session Description Protocol (RFC 4566)
- PTPv2 (aka IEEE 1588-2008 - sadly also paid for) 


Devices are required to support the media format:
- 48khz sample rate
- 24-bit linear samples (aka L24)
- 1 millisecond packet duration (48 samples per channel)

This is the only format that my Glensound AOIP44 supports (with up to 4 channels).

Other devices may support 44.1 kHz and 96 kHz sample rate.
And may support 16-bit samples.


I bought a couple of other implementations (as described in other posts) in order to test my own implementation against.
You may find that by looking at the IETF RFCs and testing against other implementations, might be enough to build something compatible.


nick.

BOJIT

unread,
Sep 1, 2019, 6:15:50 AM9/1/19
to Audio over IP
Hi,

I've been working on something similar - the first stage of getting an AES67-compatible stream is getting a working PTPv2 daemon on the STM32F chips. The STM32F4 and F7 chips seem to support hardware timestamping, and ST claim that they have an example PTP implementation on their website, but as far as I can see, other than some old application notes, it is no longer there.
It might be worth looking at https://github.com/mpthompson/stm32_f4_ptpd, an STM32F4 port of the open-source PTPd project. I am currently in the process of porting this project to the STM32F7 chips, but work at the moment has meant I haven't got very far with this. 

For receiving one or two audio streams, it may be possible to have a fully working AES67 receiver just with an STM32F series chip, but I think for higher channel counts some sort of FPGA/MCU combination may be necessary.

As for decent documentation, most of the key documents are behind paywalls, but there are a lot of very good white papers and drafts of the standard online. I have begun compiling all the useful ones - I don't think I'm allowed to put them all in one place on GitHub, but here's a Drive link to all the useful documents I have found so far: https://drive.google.com/drive/folders/1nKHXXIoAASN6CpqaBhnMYFsbsyIoAENC?usp=sharing. They are all freely available online, so hopefully putting the link here is alright.

In particular, the AES67_STANDARD_DRAFT.pdf is the most comprehensive, and at the bottom of the PDF there is a PICs checklist for all the features in the standard. RAVENNA have also published lots of helpful resources, also in the drive folder above.

I also intend to check out the PAM project mentioned in another topic on this group. The readme says it can record incoming audio, and if it does this reliably we might be able to reuse some of that code for a MCU-based receiver.

Do keep us updated with your progress!

James
Reply all
Reply to author
Forward
0 new messages