
Lucent Technologies Inc.
37
Advance Data Sheet
B900
July 1999
Baseband Signal Processor
4 Hardware Architecture (continued)
4.10 Dual-Channel Serial I/O Port (SIO) for B900 (continued)
4.10.3 B900 SIO Programming Examples
The following programming segment configures the SIO in passive, single-channel mode. Serial input data is
stored in DPRAM at memory location serial_in, and serial output data is stored at memory location serial_out.
sioa: *r2=sdx
/* store SIO input data in location serial_in */
sdx=*r3
/* transfer serial output data to SIO
*/
ireturn
start:auc=0
. . .
r2=serial_in
/* set pointer to serial input location
*/
r3=serial_out
/* set pointer to serial output location
*/
inc=0x0001
/* enable SIOA interrupt
*/
*r3=a0
/* transfer serial output data to memory
*/
sioc=0x8000
/* enable SIO in passive, single-channel mode */
. . .
/* other code */
. . .
serial_in: int
serial_out: int
The following programming segment illustrates the application of the SIO in single-channel mode with 64-bit serial
transfers. For 64-bit and 80-bit transfers, the serial input data must be read before new serial output data is written.
sioa: r2=serial_in
/* transfer serial input data to memory
*/
*r2++=sdx
r3=serial_out
/* transfer serial output data to SIO
*/
sdx=*r3++
ireturn
start:auc=0
. . .
r2=serial_in
/* set pointer to serial input location
*/
r3=serial_out
/* set pointer to serial output location
*/
inc=0x0001
/* enable SIOA interrupt
*/
sioc=0x8000
/* enable SIO in passive, single-channel mode */
. . .
/* other code */
. . .
serial_in: 4* int
serial_out: 4* int