Tascam FW-1804
Back to Tascam
The latest computer interface solution from TASCAM and Frontier Design Group brings many of the audio and MIDI interface features of the FW-1884 to a rackmountable format with the new FW-1804. It features four great-sounding XLR microphone inputs with analog inserts and phantom power for professional condenser mics. An additional four line inputs are provided, plus ADAT and S/PDIF digital connection for a total of 18 inputs and 12 outputs. Two MIDI inputs and four MIDI outputs round out the interfacing with pro touches like word clock and a guitar-level input.
Device internals
- PDI1394P23BD
- PDI1394L40BE
- XC2S100 (SPARTAN-II 2.5V FPGA FAMILY)
- XILINX XC9536XL
- ATMEL AT91M42800A
Device initialization
A full description of a device initialization routine is given here: Tascam/FW-1804/Device_initialization
Below is the FW-1804 initialization packets list sent by the driver after Bus Reset:
Device Address Length Phase Data Description Cmd.Phase.Ofs(rep)
------ ------------------- -------- ----- -------------------------------------------------- ---------------- ------------------
38 RESET 1.1.0(2)
38 ffc0 ffff 0000 0208 4 OUT 00 00 00 00 .... 3.1.0
38 NTSTS c0120090 wrong generation 3.2.0
38 RESET 4.1.0(2)
38 ffc0 ffff 0000 0208 4 OUT 00 00 00 00 .... 6.1.0
38 ffc0 ffff 0000 0210 4 OUT 00 00 00 00 .... 7.1.0
38 ffc0 ffff 0000 022c 4 OUT 00 00 20 00 .. . 8.1.0
38 ffc0 ffff 0000 0200 4 OUT 00 00 00 00 .... 9.1.0
38 ffc0 ffff 0000 0200 4 IN 00 00 00 00 .... 10.1.0
38 ffc0 ffff 0000 0204 4 OUT 00 00 00 02 .... 11.1.0
38 ffc0 ffff 0000 0204 4 IN 00 00 00 02 .... 12.1.0
38 ffc0 ffff 0000 020c 4 OUT 00 00 00 01 .... 13.1.0
38 ffc0 ffff 0000 020c 4 IN 00 00 00 01 .... 14.1.0
38 ffc0 ffff 0000 022c 4 OUT 00 20 00 00 . .. 15.1.0
38 ffc0 ffff 0000 0214 4 OUT 00 00 00 00 .... 16.1.0
38 ffc0 ffff 0000 0218 4 OUT 00 00 00 03 .... 17.1.0
38 ffc0 ffff 0000 021c 4 OUT 00 00 00 0d .... 18.1.0
38 ffc0 ffff 0000 0228 4 OUT 00 00 01 01 .... 19.1.0
38 ffc0 ffff 0000 0208 4 OUT 00 00 00 01 .... 20.1.0
38 ffc0 ffff 0000 0210 4 OUT 00 00 00 01 .... 21.1.0
38 ffc0 ffff 0000 0404 4 OUT 00 01 00 8e .... 22.1.0
38 ffc0 ffff 0000 0304 4 OUT ff c1 00 01 .... 23.1.0
38 ffc0 ffff 0000 0308 4 OUT 00 00 00 00 .... 24.1.0
38 ffc0 ffff 0000 0300 4 OUT 00 00 00 01 .... 25.1.0
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 26.1.0(3)
38 0h 1220 ISOC f0 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 29.1.0
ea 25 ea 25 00 00 00 00 ea 26 ea 26 00 00 00 00 .%.%.....&.&.... 29.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 30.1.0
38 0h 1220 ISOC f1 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 31.1.0
ea 2b ea 2b 00 00 00 00 ea 2c ea 2c 00 00 00 00 .+.+.....,.,.... 31.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 32.1.0
38 0h 1220 ISOC f2 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 33.1.0
ea 30 ea 30 00 00 00 00 ea 31 ea 31 00 00 00 00 .0.0.....1.1.... 33.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 34.1.0
38 0h 1220 ISOC f3 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 35.1.0
ea 36 ea 36 00 00 00 00 ea 37 ea 37 00 00 00 00 .6.6.....7.7.... 35.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 36.1.0
38 0h 1220 ISOC f4 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 37.1.0
ea 3b ea 3b 00 00 00 01 ea 3c ea 3c 00 00 00 00 .;.;.....<.<.... 37.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 38.1.0
38 0h 1220 ISOC f5 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 39.1.0
ea 41 ea 41 00 00 00 00 ea 42 ea 42 00 00 00 00 .A.A.....B.B.... 39.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 40.1.0
38 0h 1220 ISOC f6 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 41.1.0
ea 46 ea 46 ff ff ff ff ea 47 ea 47 ff ff ff ff .F.F.....G.G.... 41.1.16
38 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 42.1.0
38 0h 1220 ISOC f7 e9 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 43.1.0
ea 4c ea 4c 00 00 00 00 ea 4d ea 4d 00 00 00 00 .L.L.....M.M.... 43.1.16
Isochronous mode
Seems like only two channels are used for isochronous operation:
- Channel 0: listening
- Channel 1: talking
Below are the packets that driver sends when device is idle:
Device Address Length Phase Data Description Cmd.Phase.Ofs(rep)
------ ------------------- -------- ----- -------------------------------------------------- ---------------- ------------------
37 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 52.1.0(3)
37 0h 1220 ISOC aa d7 00 84 a0 40 08 00 00 02 00 00 9e 00 00 00 .....@.......... 55.1.0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 55.1.16
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 55.1.32
00 00 00 00 00 00 00 00 ........ 55.1.48
37 1h 8 ISOC 01 00 00 00 be 00 00 00 ........ 56.1.0
37 0h 1220 ISOC ab d7 51 84 a0 40 08 00 00 02 00 00 9e 00 00 00 ..Q..@.......... 57.1.0
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 57.1.16
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 57.1.32
00 00 00 00 00 00 00 00 ........ 57.1.48
Here are the packets sent while the device is in audio transmission mode:
Device Address Length Phase Data Description Cmd.Phase.Ofs(rep)
------ ------------------- -------- ----- -------------------------------------------------- ---------------- ------------------
33 1h 48 ISOC 01 02 00 db be 00 00 00 07 43 00 00 10 d1 00 00 .........C...... 1.1.0
06 f1 00 00 10 57 00 00 06 e5 00 00 10 00 00 00 .....W.......... 1.1.16
07 7d 00 00 0f a5 00 00 08 46 00 00 0f b7 00 00 .........F...... 1.1.32
33 0h 1220 ISOC 6d 3a 51 94 a0 40 38 00 00 02 00 9d 9e 00 00 00 m:Q..@8......... 2.1.0
8d 28 8d 28 00 00 00 00 8d 29 8d 29 00 00 00 00 .(.(.....).).... 2.1.16
8d 2a 8d 2a 00 00 00 00 8d 2b 8d 2b 00 00 00 00 .*.*.....+.+.... 2.1.32
8d 2c 8d 2c 00 00 00 00 .,.,.... 2.1.48
33 1h 56 ISOC 01 02 00 e0 be 00 00 00 07 c9 00 00 0f a6 00 00 ................ 3.1.0
06 c1 00 00 0f 1b 00 00 06 67 00 00 0e 84 00 00 .........g...... 3.1.16
07 3f 00 00 0e 9f 00 00 07 d4 00 00 0e 8f 00 00 .?.............. 3.1.32
07 7a 00 00 0d df 00 00 .z...... 3.1.48
33 0h 1220 ISOC 6e 3a 51 94 a0 40 30 00 00 02 00 a3 9e 00 00 00 n:Q..@0......... 4.1.0
8d 2e 8d 2e 00 00 00 00 8d 2f 8d 2f 00 00 00 00 ........././.... 4.1.16
8d 30 8d 30 00 00 00 00 8d 31 8d 31 00 00 00 00 .0.0.....1.1.... 4.1.32
8d 32 8d 32 00 00 00 00 .2.2.... 4.1.48
33 1h 48 ISOC 01 02 00 e6 be 00 00 00 06 f8 00 00 0d 75 00 00 .............u.. 5.1.0
06 41 00 00 0d 27 00 00 05 f3 00 00 0c 8b 00 00 .A...'.......... 5.1.16
06 54 00 00 0c 4f 00 00 06 b3 00 00 0c 68 00 00 .T...O.......h.. 5.1.32
33 0h 1220 ISOC 6f 3a 51 94 a0 40 38 00 00 02 00 a8 9e 00 00 00 o:Q..@8......... 6.1.0
8d 33 8d 33 00 00 00 00 8d 34 8d 34 01 01 01 01 .3.3.....4.4.... 6.1.16
8d 35 8d 35 00 00 00 00 8d 36 8d 36 1c 96 00 00 .5.5.....6.6.... 6.1.32
8d 37 8d 37 18 2e ff 00 .7.7.... 6.1.48
33 1h 56 ISOC 01 02 00 eb be 00 00 00 06 54 00 00 0c 1a 00 00 .........T...... 7.1.0
06 5d 00 00 0b e6 00 00 06 5d 00 00 0c 04 00 00 .].......]...... 7.1.16
05 ab 00 00 0b c6 00 00 06 2f 00 00 0b 99 00 00 ........./...... 7.1.32
06 ff 00 00 0b 4a 00 00 .....J.. 7.1.48
33 0h 1220 ISOC 70 3a 51 94 a0 40 30 00 00 02 00 ae 9e 00 00 00 p:Q..@0......... 8.1.0
8d 39 8d 39 00 00 00 00 8d 3a 8d 3a 00 00 00 00 .9.9.....:.:.... 8.1.16
8d 3b 8d 3b 00 00 00 01 8d 3c 8d 3c 00 00 00 00 .;.;.....<.<.... 8.1.32
8d 3d 8d 3d 00 00 00 00 .=.=.... 8.1.48
33 1h 56 ISOC 01 02 00 f1 be 00 00 00 06 9b 00 00 0a d6 00 00 ................ 9.1.0
06 35 00 00 0b 2b 00 00 06 9e 00 00 0b a3 00 00 .5...+.......... 9.1.16
06 a0 00 00 0b 41 00 00 06 62 00 00 0a 69 00 00 .....A...b...i.. 9.1.32
06 2d 00 00 0a 36 00 00 .-...6.. 9.1.48
33 0h 1220 ISOC 71 3a 51 94 a0 40 38 00 00 02 00 b3 9e 00 00 00 q:Q..@8......... 10.1.0
8d 3e 8d 3e 00 00 00 00 8d 3f 8d 3f 00 00 00 00 .>.>.....?.?.... 10.1.16
8d 40 8d 40 00 00 00 00 8d 41 8d 41 00 00 00 00 .@.@.....A.A.... 10.1.32
8d 42 8d 42 00 00 00 00 .B.B.... 10.1.48
The xmit ISOC packets on channel 1 seems to contain a kind of header:
SID = 0x01 // some ID which is always = 0x01 CHN = 0x00 или 0x02 // a number of channels FL1 = 0x00 // unknown DBС = 0xXX // a kind of block counter FL2 = 0xBE // unknown FL3 = 0x00 // unknown FL4 = 0x00 // unknown FL5 = 0x00 // unknown
The xmit packets are either 8, 48 or 56 bytes long. The recv packets are always 1220 bytes long.
Here are the results of an audio test (Tascam/FW-1804/AudioTest) to discover which bytes contain an audio data.
Device registers
These are described on an additional Tascam/FW-1804/Device_registers page.

