Uploaded image for project: 'Embedded Software & Tools'
  1. Embedded Software & Tools
  2. EXT_EP-9273

TX packet has filled with 0xFF in middle of data

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: High High
    • TI Device Drivers
    • TIDRIVERS-1816
    • 3.60.00
    • CORESDK_4_10_00
    • Hide
      Issue occurred when the slave device queues several transactions and the first transaction is small (equal or less than the size of the FIFO). When these conditions are met, the DMA completes the TX operation immediately and triggers an interrupt. However the RX operation is still pending (waiting for the SPI master to send frames) and so the TX and RX channels are out of sync. The driver cannot handle TX and RX channels being out of sync when there more transactions queued for execution. The extra 0xFF's came from the next transaction when the DMA was getting back in sync.

      The fix that will be provided is a 'manual start' mode that is enabled with new command codes. This allows the user to queue several transactions without each one starting as soon as they call SPI_transfer(). When the user wants to enable the queued transactions, they perform a manual start using SPI_control(). This allows the driver to properly link the short TX with the next TX and prevent the desync.
      Show
      Issue occurred when the slave device queues several transactions and the first transaction is small (equal or less than the size of the FIFO). When these conditions are met, the DMA completes the TX operation immediately and triggers an interrupt. However the RX operation is still pending (waiting for the SPI master to send frames) and so the TX and RX channels are out of sync. The driver cannot handle TX and RX channels being out of sync when there more transactions queued for execution. The extra 0xFF's came from the next transaction when the DMA was getting back in sync. The fix that will be provided is a 'manual start' mode that is enabled with new command codes. This allows the user to queue several transactions without each one starting as soon as they call SPI_transfer(). When the user wants to enable the queued transactions, they perform a manual start using SPI_control(). This allows the driver to properly link the short TX with the next TX and prevent the desync.

      TX packet has filled with 0xFF in middle of data

            syncuser TI User
            syncuser TI User
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

              Created:
              Updated:
              Resolved: