![](http://datasheet.mmic.net.cn/270000/GMS30C7201_datasheet_16026051/GMS30C7201_293.png)
Slow AMBA Peripherals
13-63
GMS30C7201 Data Sheet
Communication Procedure
The modem codec (GM0815) can receive normal data or codec control data with an
nCON pin. Procedures 1
–
3 below are for sending codec control data to GM0815. If
there is no control data, procedures 1 to 3 are not necessary.
Procedures 4 to 8 are for sending/receiving normal data to/from GM0815. This
peripheral shares one interrupt request for both directions (ie. transmit/receive) of data
transfer, so outgoing and incoming data should be synchronized for FIFO fill and empty.
1
In order to send control data to the external modem codec, program the control
register to drive nCON output pin to LOW and enable AFE.
2
Send control data by writing two words to the transmit FIFO. These four half
words have the same data to synchronize timing with codec.
3
When there is an interrupt request which indicates that FIFO needs to be filled,
then drive nCON pin HIGH, which represents that AFE is in normal data
transfer mode. Normally nCON pin should be HIGH.
4
Disable AFE to initialize FIFO.
5
To transmit and receive data, enable AFE (nCON pin should stay HIGH).
6
Write the outgoing data to the transmit FIFO. There will be no interrupt for the
first data request. The data size should be 1 + burst size of words (32 bit). If
software requires an eight-word burst, then it should write nine words first.
Then write/read eight words to/from transmit/receive FIFO on each interrupt.
The burst size can be selected from one to eight words.
7
For each FIFO fill interrupt request, write outgoing data and then read the
incoming data. FIFO over-/underrun error is checked only by transmit part, and
incoming data has more latency than outgoing data.
8
Interrupt should be serviced before one word (two data) transmit time.
9
The last word cannot be transmitted if AFE is disabled before completing a
transfer. To confirm it, include one filler word as the last one and wait until FIFO
fill interrupt request is generated.
If there is a FIFO error, software should disable AFE to initialize FIFO again.