OpenCores
URL https://opencores.org/ocsvn/spdif_transmitter/spdif_transmitter/trunk

Subversion Repositories spdif_transmitter

[/] [spdif_transmitter/] [trunk/] [README.md] - Blame information for rev 3

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 3 ultra_embe
### SPDIF Transmitter
2
 
3
Github:   [http://github.com/ultraembedded/cores](https://github.com/ultraembedded/cores/tree/master/spdif)
4
 
5
This is a simple SPDIF transmitter module written in Verilog.
6
 
7
This module can either generate its own audio clock by dividing down clk_i or can use an external audio clock to drive the output stream via audio_clk_i.
8
 
9
For external clocking mode, the audio_clk_i clock rate should be:
10
* 32KHz - 4.096MHz
11
* 44.1KHz - 5.6448MHz
12
* 48KHz - 6.144MHz
13
 
14
Note that in external clocking mode, the frequency of clk_i must be more than 4 x audio_clk_i frequency.
15
 
16
For internal clocking mode, the clk_i input is divided to roughly the right frequency required for chosen the sample rate. This isn't going to be exact!
17
 
18
The input interface expects 32-bits (2 x 16-bit audio samples) to be provided to it on 'sample_i' and held until 'sample_req_o' is pulsed (data pop request).
19
 
20
This allows connection to a simple FIFO for audio samples.
21
 
22
##### Testing
23
 
24
Tested on a Pioneer VSX D510 over TOSLINK and also on a cheap no-brand Ebay D/A converter.
25
 
26
The supplied testbench requires the SystemC libraries and Icarus Verilog, both of which are available for free.
27
 
28
##### Configuration
29
 
30
* CLK_RATE_KHZ - Clock speed (clk_i) in KHz
31
* AUDIO_RATE - Audio sample rate, e.g. 44100 or 48000
32
* AUDIO_CLK_SRC - Can be INTERNAL or EXTERNAL
33
 
34
##### Size / Performance
35
 
36
With the default configuration...
37
* the design contains 69 flops, 3 adders, 2 comparators, 11 multiplexers (according to ISE).

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.