I am confusing about Streaming chanend, chan and chanend. I have a DJ Kit, wanna apply dsp(such as filter) I referred app_slicekit_biquad source codes to my project. But these code uses streaming chanend, But my code app_usb_aud_sk1_su1 main.xc uses chan for audio, So I am confusing here, Or is there any way to convert through these channels between them?
Pls help me ^^
Streaming chanend vs chan vs chanend
-
- Active Member
- Posts: 33
- Joined: Fri Feb 07, 2014 3:03 pm
-
Verified
- XCore Legend
- Posts: 1156
- Joined: Thu May 27, 2010 10:08 am
A normal channel end sets up and closes the connection each time data is transferred.
A streaming channel end sets up the connection, and keeps it open within the scope of the function.
It's a bit like packet switched vs. circuit switched. It means a streaming chan is faster (although both are pretty fast) due to not having overhead of setup and close, but it occupies a route through the switch. This is not an issue on a single tile where you are only limited by chanends count, but in dual tile systems you typically get only 4 paths from tile to tile, so streaming channels should be used cautiously across tiles. The DJ kit uses single tile, so streaming chan use is fine.
The protocol is different so you cannot mix streaming/no streaming channel end types.
A streaming channel end sets up the connection, and keeps it open within the scope of the function.
It's a bit like packet switched vs. circuit switched. It means a streaming chan is faster (although both are pretty fast) due to not having overhead of setup and close, but it occupies a route through the switch. This is not an issue on a single tile where you are only limited by chanends count, but in dual tile systems you typically get only 4 paths from tile to tile, so streaming channels should be used cautiously across tiles. The DJ kit uses single tile, so streaming chan use is fine.
The protocol is different so you cannot mix streaming/no streaming channel end types.
Engineer at XMOS