Instance: SSI0
Component: SSI
Base address: 0x40000000
Synchronous Serial Interface with master and slave capabilities
Register Name |
Type |
Register Width (Bits) |
Register Reset |
Address Offset |
Physical Address |
RW |
32 |
0x0000 0000 |
0x0000 0000 |
0x4000 0000 |
|
RW |
32 |
0x0000 0000 |
0x0000 0004 |
0x4000 0004 |
|
RW |
32 |
0x0000 XXXX |
0x0000 0008 |
0x4000 0008 |
|
RO |
32 |
0x0000 0003 |
0x0000 000C |
0x4000 000C |
|
RW |
32 |
0x0000 0000 |
0x0000 0010 |
0x4000 0010 |
|
RW |
32 |
0x0000 0000 |
0x0000 0014 |
0x4000 0014 |
|
RO |
32 |
0x0000 0008 |
0x0000 0018 |
0x4000 0018 |
|
RO |
32 |
0x0000 0000 |
0x0000 001C |
0x4000 001C |
|
WO |
32 |
0x0000 0000 |
0x0000 0020 |
0x4000 0020 |
|
RW |
32 |
0x0000 0000 |
0x0000 0024 |
0x4000 0024 |
Address Offset | 0x0000 0000 | ||
Physical Address | 0x4000 0000 | Instance | 0x4000 0000 |
Description | Control 0 | ||
Type | RW |
Bits | Field Name | Description | Type | Reset | ||||||||||||||||||||||||||||||||||||||||||||
31:16 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||||||||||||||||||||||||||||||||||||||||||||
15:8 | SCR | Serial clock rate: This is used to generate the transmit and receive bit rate of the SSI. The bit rate is (SSI's clock frequency)/((SCR+1)*CPSR.CPSDVSR). SCR is a value from 0-255. |
RW | 0x00 | ||||||||||||||||||||||||||||||||||||||||||||
7 | SPH | CLKOUT phase (Motorola SPI frame format only) This bit selects the clock edge that captures data and enables it to change state. It has the most impact on the first bit transmitted by either permitting or not permitting a clock transition before the first data capture edge.
|
RW | 0 | ||||||||||||||||||||||||||||||||||||||||||||
6 | SPO | CLKOUT polarity (Motorola SPI frame format only)
|
RW | 0 | ||||||||||||||||||||||||||||||||||||||||||||
5:4 | FRF | Frame format. The supported frame formats are Motorola SPI, TI synchronous serial and National Microwire. Value 0'b11 is reserved and shall not be used.
|
RW | 0b00 | ||||||||||||||||||||||||||||||||||||||||||||
3:0 | DSS | Data Size Select. Values 0b0000, 0b0001, 0b0010 are reserved and shall not be used.
|
RW | 0x0 |
Address Offset | 0x0000 0004 | ||
Physical Address | 0x4000 0004 | Instance | 0x4000 0004 |
Description | Control 1 | ||
Type | RW |
Bits | Field Name | Description | Type | Reset | |||||||||||
31:4 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x000 0000 | |||||||||||
3 | SOD | Slave-mode output disabled This bit is relevant only in the slave mode, MS=1. In multiple-slave systems, it is possible for an SSI master to broadcast a message to all slaves in the system while ensuring that only one slave drives data onto its serial output line. In such systems the RXD lines from multiple slaves could be tied together. To operate in such systems, this bitfield can be set if the SSI slave is not supposed to drive the TXD line: 0: SSI can drive the TXD output in slave mode. 1: SSI cannot drive the TXD output in slave mode. |
RW | 0 | |||||||||||
2 | MS | Master or slave mode select. This bit can be modified only when SSI is disabled, SSE=0.
|
RW | 0 | |||||||||||
1 | SSE | Synchronous serial interface enable.
|
RW | 0 | |||||||||||
0 | LBM | Loop back mode: 0: Normal serial port operation enabled. 1: Output of transmit serial shifter is connected to input of receive serial shifter internally. |
RW | 0 |
Address Offset | 0x0000 0008 | ||
Physical Address | 0x4000 0008 | Instance | 0x4000 0008 |
Description | Data 16-bits wide data register: When read, the entry in the receive FIFO, pointed to by the current FIFO read pointer, is accessed. As data values are removed by the receive logic from the incoming data frame, they are placed into the entry in the receive FIFO, pointed to by the current FIFO write pointer. When written, the entry in the transmit FIFO, pointed to by the write pointer, is written to. Data values are removed from the transmit FIFO one value at a time by the transmit logic. It is loaded into the transmit serial shifter, then serially shifted out onto the TXD output pin at the programmed bit rate. When a data size of less than 16 bits is selected, the user must right-justify data written to the transmit FIFO. The transmit logic ignores the unused bits. Received data less than 16 bits is automatically right-justified in the receive buffer. |
||
Type | RW |
Bits | Field Name | Description | Type | Reset | ||
31:16 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x0000 | ||
15:0 | DATA | Transmit/receive data The values read from this field or written to this field must be right-justified when SSI is programmed for a data size that is less than 16 bits (CR0.DSS != 0b1111). Unused bits at the top are ignored by transmit logic. The receive logic automatically right-justifies. |
RW | 0xXXXX |
Address Offset | 0x0000 000C | ||
Physical Address | 0x4000 000C | Instance | 0x4000 000C |
Description | Status | ||
Type | RO |
Bits | Field Name | Description | Type | Reset | ||
31:5 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b000 0000 0000 0000 0000 0000 0000 | ||
4 | BSY | Serial interface busy: 0: SSI is idle 1: SSI is currently transmitting and/or receiving a frame or the transmit FIFO is not empty. |
RO | 0 | ||
3 | RFF | Receive FIFO full: 0: Receive FIFO is not full. 1: Receive FIFO is full. |
RO | 0 | ||
2 | RNE | Receive FIFO not empty 0: Receive FIFO is empty. 1: Receive FIFO is not empty. |
RO | 0 | ||
1 | TNF | Transmit FIFO not full: 0: Transmit FIFO is full. 1: Transmit FIFO is not full. |
RO | 1 | ||
0 | TFE | Transmit FIFO empty: 0: Transmit FIFO is not empty. 1: Transmit FIFO is empty. |
RO | 1 |
Address Offset | 0x0000 0010 | ||
Physical Address | 0x4000 0010 | Instance | 0x4000 0010 |
Description | Clock Prescale | ||
Type | RW |
Bits | Field Name | Description | Type | Reset | ||
31:8 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x00 0000 | ||
7:0 | CPSDVSR | Clock prescale divisor: This field specifies the division factor by which the input system clock to SSI must be internally divided before further use. The value programmed into this field must be an even non-zero number (2-254). The least significant bit of the programmed number is hard-coded to zero. If an odd number is written to this register, data read back from this register has the least significant bit as zero. |
RW | 0x00 |
Address Offset | 0x0000 0014 | ||
Physical Address | 0x4000 0014 | Instance | 0x4000 0014 |
Description | Interrupt Mask Set and Clear | ||
Type | RW |
Bits | Field Name | Description | Type | Reset | ||
31:4 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x000 0000 | ||
3 | TXIM | Transmit FIFO interrupt mask: A read returns the current mask for transmit FIFO interrupt. On a write of 1, the mask for transmit FIFO interrupt is set which means the interrupt state will be reflected in MIS.TXMIS. A write of 0 clears the mask which means MIS.TXMIS will not reflect the interrupt. |
RW | 0 | ||
2 | RXIM | Receive FIFO interrupt mask: A read returns the current mask for receive FIFO interrupt. On a write of 1, the mask for receive FIFO interrupt is set which means the interrupt state will be reflected in MIS.RXMIS. A write of 0 clears the mask which means MIS.RXMIS will not reflect the interrupt. |
RW | 0 | ||
1 | RTIM | Receive timeout interrupt mask: A read returns the current mask for receive timeout interrupt. On a write of 1, the mask for receive timeout interrupt is set which means the interrupt state will be reflected in MIS.RTMIS. A write of 0 clears the mask which means MIS.RTMIS will not reflect the interrupt. |
RW | 0 | ||
0 | RORIM | Receive overrun interrupt mask: A read returns the current mask for receive overrun interrupt. On a write of 1, the mask for receive overrun interrupt is set which means the interrupt state will be reflected in MIS.RORMIS. A write of 0 clears the mask which means MIS.RORMIS will not reflect the interrupt. |
RW | 0 |
Address Offset | 0x0000 0018 | ||
Physical Address | 0x4000 0018 | Instance | 0x4000 0018 |
Description | Raw Interrupt Status | ||
Type | RO |
Bits | Field Name | Description | Type | Reset | ||
31:4 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x000 0000 | ||
3 | TXRIS | Raw transmit FIFO interrupt status: The transmit interrupt is asserted when there are four or fewer valid entries in the transmit FIFO. The transmit interrupt is not qualified with the SSI enable signal. Therefore one of the following ways can be used: - data can be written to the transmit FIFO prior to enabling the SSI and the interrupts. - SSI and interrupts can be enabled so that data can be written to the transmit FIFO by an interrupt service routine. |
RO | 1 | ||
2 | RXRIS | Raw interrupt state of receive FIFO interrupt: The receive interrupt is asserted when there are four or more valid entries in the receive FIFO. |
RO | 0 | ||
1 | RTRIS | Raw interrupt state of receive timeout interrupt: The receive timeout interrupt is asserted when the receive FIFO is not empty and SSI has remained idle for a fixed 32 bit period. This mechanism can be used to notify the user that data is still present in the receive FIFO and requires servicing. This interrupt is deasserted if the receive FIFO becomes empty by subsequent reads, or if new data is received on RXD. It can also be cleared by writing to ICR.RTIC. |
RO | 0 | ||
0 | RORRIS | Raw interrupt state of receive overrun interrupt: The receive overrun interrupt is asserted when the FIFO is already full and an additional data frame is received, causing an overrun of the FIFO. Data is over-written in the receive shift register, but not the FIFO so the FIFO contents stay valid. It can also be cleared by writing to ICR.RORIC. |
RO | 0 |
Address Offset | 0x0000 001C | ||
Physical Address | 0x4000 001C | Instance | 0x4000 001C |
Description | Masked Interrupt Status | ||
Type | RO |
Bits | Field Name | Description | Type | Reset | ||
31:4 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0x000 0000 | ||
3 | TXMIS | Masked interrupt state of transmit FIFO interrupt: This field returns the masked interrupt state of transmit FIFO interrupt which is the AND product of raw interrupt state RIS.TXRIS and the mask setting IMSC.TXIM. |
RO | 0 | ||
2 | RXMIS | Masked interrupt state of receive FIFO interrupt: This field returns the masked interrupt state of receive FIFO interrupt which is the AND product of raw interrupt state RIS.RXRIS and the mask setting IMSC.RXIM. |
RO | 0 | ||
1 | RTMIS | Masked interrupt state of receive timeout interrupt: This field returns the masked interrupt state of receive timeout interrupt which is the AND product of raw interrupt state RIS.RTRIS and the mask setting IMSC.RTIM. |
RO | 0 | ||
0 | RORMIS | Masked interrupt state of receive overrun interrupt: This field returns the masked interrupt state of receive overrun interrupt which is the AND product of raw interrupt state RIS.RORRIS and the mask setting IMSC.RORIM. |
RO | 0 |
Address Offset | 0x0000 0020 | ||
Physical Address | 0x4000 0020 | Instance | 0x4000 0020 |
Description | Interrupt Clear On a write of 1, the corresponding interrupt is cleared. A write of 0 has no effect. |
||
Type | WO |
Bits | Field Name | Description | Type | Reset | ||
31:2 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | WO | 0b00 0000 0000 0000 0000 0000 0000 0000 | ||
1 | RTIC | Clear the receive timeout interrupt: Writing 1 to this field clears the timeout interrupt (RIS.RTRIS). Writing 0 has no effect. |
WO | 0 | ||
0 | RORIC | Clear the receive overrun interrupt: Writing 1 to this field clears the overrun error interrupt (RIS.RORRIS). Writing 0 has no effect. |
WO | 0 |
Address Offset | 0x0000 0024 | ||
Physical Address | 0x4000 0024 | Instance | 0x4000 0024 |
Description | DMA Control | ||
Type | RW |
Bits | Field Name | Description | Type | Reset | ||
31:2 | RESERVED | Software should not rely on the value of a reserved. Writing any other value than the reset value may result in undefined behavior. | RO | 0b00 0000 0000 0000 0000 0000 0000 0000 | ||
1 | TXDMAE | Transmit DMA enable. If this bit is set to 1, DMA for the transmit FIFO is enabled. | RW | 0 | ||
0 | RXDMAE | Receive DMA enable. If this bit is set to 1, DMA for the receive FIFO is enabled. | RW | 0 |
© 2015 - 2016. Texas Instruments | All Rights Reserved |