// EV6180 Encode DTMF for Test Pattern // 2400bps, 1200bps FEC, 60ms packets // //Configuration R2 40 // clear IRQ from powerup W1 01 // General Reset // wait for IRQ, check for RDY and ACK bit W3 1D 0005 W2 09 03 // POWERSAVE: enable codec & bias W2 07 37 // VCFG: DTMF Format 1, HDD, FEC, 2400bps, 60ms packets // wait for IRQ, check for RDY and ACK bit // wait for 100ms for Vbias to stabilize W2 05 8F // AIG: mic amp=20dB, Input gain=22.5dB W2 06 07 // AOG: earpiece gain=0dB, Output gain=0dB W3 1E 809E // VDWHLWM: High watermark=158 samples=19.75ms // wait for IRQ, check for RDY bit W3 1E 0048 // VDWHLWM: Low watermark=72 samples=9ms // wait for IRQ, check for RDY bit //Configuration complete, Setup encoder for DTMF Mode 2, Format 1 W2 08 F9 // SDTMF: continuous Tx, DTMF "9" selected (Format 1) W3 11 0002 // VCTRL: enable encoder // wait for IRQ, check for RDY bit W3 1F 0001 // IRQENAB: VDA //1st DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //2nd DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //3rd DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //4th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //5th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //6th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //7th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //8th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //9th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data //10th DTMF Frame //wait for IRQ, then read ENCFRAME to obtain data R2 40 // read Status to clear IRQ R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data R1 30 // read ENCFRAME data W1 01 // data complete, issue General Reset