Basic Operation
1528
SPNU563A – March 2018
Copyright © 2018, Texas Instruments Incorporated
Multi-Buffered Serial Peripheral Interface Module (MibSPI) with Parallel Pin
Option (MibSPIP)
28.2.6.8 Transfer Groups
The size of the multi-buffer RAM depends on the implementation. It comprises 0 to 128/256 buffers,
whereas 0 buffers considers the special case of no multi-buffer RAM. Each entry in the multi-buffer RAM
consists of 4 parts: a 16-bit transmit field, a 16-bit receive field, a 16-bit control field and a 16-bit status
field. The multi-buffer RAM can be partitioned into multiple transfer group with variable number of buffers
each.
28.2.6.8.1 Configuring Transfer Groups and Trigger Events
Each TG can be configured via one dedicated control register, TGxCTRL. This register even configures
the trigger events for the transfer group. The register is described in
. The actual number
of available control registers varies by device.
28.2.6.8.2 Sequencer-Which Handled the Sequencing of Triggered Transfer Groups
Sequencer(FSM) controls the data flow from the multi-buffer RAM to the Shift Register. The Multi-buffer
Control Logic has arbitration logic between VBUS and the Sequencer accessing the multi-buffer RAM.
Sequencer picks up a highest priority Transfer Group from among the active TGs to be serviced. For the
selected TG the starting buffer to be transferred is obtained from the PSTART of the respective TGxCTRL
register.
Sequencer requests for the selected buffer through the Multi-buffer Control Logic, and once it receives the
data, it reads the control fields to determine the subsequent action. Once the buffer is determined to be
ready for transfer, the data is written to the TX SHIFT REGISTER by the Sequencer. This triggers the
Kernel FSM to initiate the SPI transfer.
28.2.6.8.3 Inter-group Prioritization and Arbitration
Transfer Group0 (TG0) has the highest priority and TG15 has the lowest priority among the transfer
groups TG0 to TG15.Where as under the following conditions under the following conditions a lower
priority Transfer Group cannot be interrupted by a higher priority TG.
•
When there’s a CSHOLD or LOCK buffer, until the completion of the next buffer transfer which is a
non-CSHOLD or non-LOCK buffer, the Transfer Group cannot be interrupted by any higher priority
TGs.
•
An entire sequence of buffer transfer for NOBRK DMA buffer cannot be interrupted by any higher
priority TG.
•
Once the last buffer in a Transfer Group is prefetched, a higher priority TG cannot interrupt it until the
completion of the Transfer Group.
These prioritizations made among the transfer groups also decide the arbitration logic among the multiple
transfer groups which are active
28.2.6.8.4 Transmission Lock Capability
Some slave devices require to have “command” followed by “data”. In this case the SPI transaction should
not be interrupted by another group transfer. The LOCK bit within each buffer allows consecutive transfer
to happen without being interrupted by another higher priority group transfer.