SPI Timeout Delay Calculation on MPC5674F

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

SPI Timeout Delay Calculation on MPC5674F

ソリューションへジャンプ
1,682件の閲覧回数
CNarendra
Contributor III

Hello,

I am working on an SPI driver for the MPC5674F microcontroller, which runs at 264 MHz, and I need to calculate the timeout delay for a polling-based SPI transaction. The SPI transfer completion is monitored using the Transfer Complete Flag (TCF), with a timeout based on iteration count. 

System Clock Details:

  • MCU Frequency = 264 MHz
  • Clock Period = 1/264MHz = 3.78787879 ns (approx. 3.79 ns per cycle)

Code Snippet:

 

#define SPI_MAX_WAIT_ITERATIONS 100

// Wait until the transfer is complete.
// The TCF bit indicates that all bits in a frame have been shifted out.
while (p_spi_config->port->SR.B.TCF == 0)
{
    if (iteration_counter++ > SPI_MAX_WAIT_ITERATIONS)
    {
        // If this point is reached, the SPI transfer did not complete
        // within the expected iterations.
        spi_status = eSPI_TIMEOUT;
        iteration_exceeded = true; // Set flag to break `for` loop
        break;                     // exit from while loop
    }
}

 

 

Delay Calculation:

Assuming iteration consists of:

  1. Reading the TCF bit (p_spi_config->port->SR.B.TCF == 0) → 2 cycles
  2. Incrementing iteration_counter → 1 cycle
  3. Comparing iteration_counter > SPI_MAX_WAIT_ITERATIONS → 1 cycle
  4. Branching back to loop start → 1 cycle

Total per iteration ≈ 5 clock cycles

IF SPI_MAX_WAIT_ITERATIONS = 100, total cycles before timeout:

Total Cycles =   100×5  =  500
Total Time    =  500×3.79 ns  =  1.89 microseconds

Questions:

  1. Is this delay calculation correct for the MPC5674F?
  2. Is 100 iterations a reasonable timeout, or should it be adjusted?
  3.  MPC5674F SPI module doesn't have any flags to detect errors like overrun ,frame errors etc as per status register . is there any way to detect errors ?

Any insights from the community would be greatly appreciated!

Thanks in advance!

Narendra C

MPC5674F , #POWERPC ARCHITECTURE

 

 

 

タグ(2)
0 件の賞賛
返信
1 解決策
1,661件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

1) it will be more and not such straightforward you outlined. You should rather see how code is compiled and based on assembler code you can guess more, with help of instruction set  states in Core manual. However another setting on MCU, like I/D caches, memory wait states, crossbar setting/latency, comes into role.
But you can use some internal timer or simply toggle some pin to measure specific code execution time.
2) Depends on actual SPI transfer/bitrate setting
3) there is TXFIFO underflow and RXFIFO overflow indication. As transfer attributes are set prior to communication, must be same on Master/Slave, and SPI is synchronous communication with serial clock no such errors are expected.

BR, Petr

元の投稿で解決策を見る

0 件の賞賛
返信
1 返信
1,662件の閲覧回数
PetrS
NXP TechSupport
NXP TechSupport

Hi,

1) it will be more and not such straightforward you outlined. You should rather see how code is compiled and based on assembler code you can guess more, with help of instruction set  states in Core manual. However another setting on MCU, like I/D caches, memory wait states, crossbar setting/latency, comes into role.
But you can use some internal timer or simply toggle some pin to measure specific code execution time.
2) Depends on actual SPI transfer/bitrate setting
3) there is TXFIFO underflow and RXFIFO overflow indication. As transfer attributes are set prior to communication, must be same on Master/Slave, and SPI is synchronous communication with serial clock no such errors are expected.

BR, Petr

0 件の賞賛
返信
%3CLINGO-SUB%20id%3D%22lingo-sub-2040475%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3EMPC5674F%E3%81%A7%E3%81%AESPI%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E9%81%85%E5%BB%B6%E3%81%AE%E8%A8%88%E7%AE%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2040475%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHello%2C%3C%2FP%3E%3CP%3E264MHz%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%99%E3%82%8BMPC5674F%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%E3%82%B3%E3%83%B3%E3%83%88%E3%83%AD%E3%83%BC%E3%83%A9%E7%94%A8%E3%81%AESPI%E3%83%89%E3%83%A9%E3%82%A4%E3%83%90%E3%81%AB%E5%8F%96%E3%82%8A%E7%B5%84%E3%82%93%E3%81%A7%E3%81%8A%E3%82%8A%E3%80%81%E3%83%9D%E3%83%BC%E3%83%AA%E3%83%B3%E3%82%B0%E3%83%99%E3%83%BC%E3%82%B9%E3%81%AESPI%E3%83%88%E3%83%A9%E3%83%B3%E3%82%B6%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%AE%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E9%81%85%E5%BB%B6%E3%82%92%E8%A8%88%E7%AE%97%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82SPI%20%E8%BB%A2%E9%80%81%E3%81%AE%E5%AE%8C%E4%BA%86%E3%81%AF%E3%80%81%E8%BB%A2%E9%80%81%E5%AE%8C%E4%BA%86%E3%83%95%E3%83%A9%E3%82%B0%20(TCF)%20%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%A6%E7%9B%A3%E8%A6%96%E3%81%95%E3%82%8C%E3%80%81%E5%8F%8D%E5%BE%A9%E5%9B%9E%E6%95%B0%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%8F%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%8C%E4%BD%BF%E7%94%A8%E3%81%95%E3%82%8C%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3CH3%20id%3D%22toc-hId-1944122233%22%20id%3D%22toc-hId-2004183807%22%3E%3CSTRONG%3E%E3%82%B7%E3%82%B9%E3%83%86%E3%83%A0%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%AE%E8%A9%B3%E7%B4%B0%3A%3C%2FSTRONG%3E%3C%2FH3%3E%3CUL%3E%3CLI%3E%3CSTRONG%3EMCU%E5%91%A8%E6%B3%A2%E6%95%B0%3C%2FSTRONG%3E%20%3D%20%3CSTRONG%3E264MHz%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3E%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E5%91%A8%E6%9C%9F%20%3D%201%2F264MHz%20%3D%20%3CSPAN%20class%3D%22%22%3E3.78787879%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%20ns%20(%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%82%E3%81%9F%E3%82%8A%E7%B4%84%203.79%20ns)%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FUL%3E%3CP%3E%3CSTRONG%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%E3%82%B3%E3%83%BC%E3%83%89%20%E3%82%B9%E3%83%8B%E3%83%9A%E3%83%83%E3%83%88%3A%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSTRONG%3E%3C%2FP%3E%3CBR%20%2F%3E%3CPRE%20class%3D%22lia-code-sample%20language-markup%22%3E%3CCODE%20translate%3D%22no%22%3E%23define%20SPI_MAX_WAIT_ITERATIONS%20100%0A%0A%2F%2F%20Wait%20until%20the%20transfer%20is%20complete.%0A%2F%2F%20The%20TCF%20bit%20indicates%20that%20all%20bits%20in%20a%20frame%20have%20been%20shifted%20out.%0Awhile%20(p_spi_config-%26gt%3Bport-%26gt%3BSR.B.TCF%20%3D%3D%200)%0A%7B%0A%20%20%20%20if%20(iteration_counter%2B%2B%20%26gt%3B%20SPI_MAX_WAIT_ITERATIONS)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%2F%2F%20If%20this%20point%20is%20reached%2C%20the%20SPI%20transfer%20did%20not%20complete%0A%20%20%20%20%20%20%20%20%2F%2F%20within%20the%20expected%20iterations.%0A%20%20%20%20%20%20%20%20spi_status%20%3D%20eSPI_TIMEOUT%3B%0A%20%20%20%20%20%20%20%20iteration_exceeded%20%3D%20true%3B%20%2F%2F%20Set%20flag%20to%20break%20%60for%60%20loop%0A%20%20%20%20%20%20%20%20break%3B%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%2F%2F%20exit%20from%20while%20loop%0A%20%20%20%20%7D%0A%7D%3C%2FCODE%3E%3C%2FPRE%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3CH3%20id%3D%22toc-hId-136667770%22%20id%3D%22toc-hId-196729344%22%3E%3CSTRONG%3E%E9%81%85%E5%BB%B6%E8%A8%88%E7%AE%97%3A%3C%2FSTRONG%3E%3C%2FH3%3E%3CP%3E%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%8C%E6%AC%A1%E3%81%AE%E3%82%82%E3%81%AE%E3%81%A7%E6%A7%8B%E6%88%90%E3%81%95%E3%82%8C%E3%82%8B%E3%81%A8%E4%BB%AE%E5%AE%9A%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3C%2FP%3E%3COL%3E%3CLI%3ETCF%20%E3%83%93%E3%83%83%E3%83%88%E3%81%AE%E8%AA%AD%E3%81%BF%E5%8F%96%E3%82%8A%20(p_spi_config-%26gt%3Bport-%26gt%3BSR.B.TCF%20%3D%3D%200)%20%E2%86%92%202%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%3C%2FLI%3E%3CLI%3E1%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%ABiteration_counter%20%E2%86%92%E3%82%A4%E3%83%B3%E3%82%AF%E3%83%AA%E3%83%A1%E3%83%B3%E3%83%88%3C%2FLI%3E%3CLI%3Eiteration_counter%20%26gt%3B%20SPI_MAX_WAIT_ITERATIONS%20%E2%86%92%201%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AE%E6%AF%94%E8%BC%83%3C%2FLI%3E%3CLI%3E%E3%83%AB%E3%83%BC%E3%83%97%E9%96%8B%E5%A7%8B%E2%86%921%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E3%81%AB%E6%88%BB%E3%82%8B%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%E3%82%A4%E3%83%86%E3%83%AC%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%81%82%E3%81%9F%E3%82%8A%E3%81%AE%E5%90%88%E8%A8%88%20%E2%89%88%205%20%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%20%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FP%3E%3CP%3ESPI_MAX_WAIT_ITERATIONS%20%3D%20100%20%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E5%89%8D%E3%81%AE%E5%90%88%E8%A8%88%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%E6%95%B0%3A%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%E5%90%88%E8%A8%88%E3%82%B5%E3%82%A4%E3%82%AF%E3%83%AB%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E100%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%C3%975%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%20%3C%2FSPAN%3E%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E500%3CBR%20%2F%3E%3CSPAN%20class%3D%22%22%3E%E5%90%88%E8%A8%88%E6%99%82%E9%96%93%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%20%3C%2FSPAN%3E500%3CSPAN%20class%3D%22%22%3E%C3%97%3C%2FSPAN%3E3.79%3CSPAN%20class%3D%22%22%3E%20ns%20%3C%2FSPAN%3E%3CSPAN%20class%3D%22%22%3E%3D%20%3C%2FSPAN%3E1.89%3CSPAN%20class%3D%22%22%3E%E3%83%9E%E3%82%A4%E3%82%AF%E3%83%AD%20%E7%A7%92%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CH3%20id%3D%22toc-hId--1670786693%22%20id%3D%22toc-hId--1610725119%22%3E%3CSTRONG%3E%E5%95%8F%EF%BC%9A%3C%2FSTRONG%3E%3C%2FH3%3E%3COL%3E%3CLI%3E%3CSTRONG%3E%E3%81%93%E3%81%AE%E9%81%85%E5%BB%B6%E8%A8%88%E7%AE%97%E3%81%AFMPC5674F%E3%81%AB%E5%AF%BE%E3%81%97%E3%81%A6%E6%AD%A3%E3%81%97%E3%81%84%E3%81%A7%E3%81%99%E3%81%8B%3F%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3E100%E5%9B%9E%E3%81%AE%E5%8F%8D%E5%BE%A9%E3%81%AF%E5%A6%A5%E5%BD%93%E3%81%AA%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E3%81%A7%E3%81%99%E3%81%8B%E3%80%81%E3%81%9D%E3%82%8C%E3%81%A8%E3%82%82%E8%AA%BF%E6%95%B4%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSTRONG%3E%3C%2FLI%3E%3CLI%3E%3CSTRONG%3EMPC5674F%20SPI%E3%83%A2%E3%82%B8%E3%83%A5%E3%83%BC%E3%83%AB%E3%81%AB%E3%81%AF%E3%80%81%E3%82%B9%E3%83%86%E3%83%BC%E3%82%BF%E3%82%B9%E3%83%AC%E3%82%B8%E3%82%B9%E3%82%BF%E3%81%94%E3%81%A8%E3%81%AB%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%A9%E3%83%B3%E3%80%81%E3%83%95%E3%83%AC%E3%83%BC%E3%83%A0%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AA%E3%81%A9%E3%81%AE%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%99%E3%82%8B%E3%81%9F%E3%82%81%E3%81%AE%E3%83%95%E3%83%A9%E3%82%B0%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%E3%82%A8%E3%83%A9%E3%83%BC%E3%82%92%E6%A4%9C%E5%87%BA%E3%81%99%E3%82%8B%E6%96%B9%E6%B3%95%E3%81%AF%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%81%8B%3F%3C%2FSTRONG%3E%3C%2FLI%3E%3C%2FOL%3E%3CP%3E%E3%82%B3%E3%83%9F%E3%83%A5%E3%83%8B%E3%83%86%E3%82%A3%E3%81%8B%E3%82%89%E3%81%AE%E6%B4%9E%E5%AF%9F%E3%81%AF%E5%A4%A7%E6%AD%93%E8%BF%8E%E3%81%A7%E3%81%99!%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E3%82%88%E3%82%8D%E3%81%97%E3%81%8F%E3%81%8A%E9%A1%98%E3%81%84%E3%81%84%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%EF%BC%81%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSTRONG%3E%E3%83%8A%E3%83%AC%E3%83%B3%E3%83%89%E3%83%A9C%3CBR%20%2F%3E%3CBR%20%2F%3E%3CA%20href%3D%22https%3A%2F%2Fcommunity.nxp.com%2Ft5%2Fc-pwmxy87654%2FMPC5674F%2Fpd-p%2FMPC5674F%22%20class%3D%22lia-product-mention%22%20data-product%3D%221071-1%22%20target%3D%22_blank%22%3EMPC5674F%3C%2FA%3E%E3%80%81%23POWERPC%20%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3%3C%2FSTRONG%3E%3C%2FP%3E%3CP%3E%3CSPAN%20class%3D%22%22%3E%3CSPAN%20class%3D%22%22%3E%26nbsp%3B%3C%2FSPAN%3E%3C%2FSPAN%3E%3C%2FP%3E%3CBR%20%2F%3E%3CBR%20%2F%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-2040811%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3ERe%3A%20MPC5674F%20%E3%81%A7%E3%81%AE%20SPI%20%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88%E9%81%85%E5%BB%B6%E8%A8%88%E7%AE%97%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-2040811%22%20slang%3D%22en-US%22%20mode%3D%22CREATE%22%3E%3CP%3EHi%2C%3C%2FP%3E%0A%3CP%3E1)%E3%81%9D%E3%82%8C%E3%81%AF%E3%81%82%E3%81%AA%E3%81%9F%E3%81%8C%E6%A6%82%E8%AA%AC%E3%81%97%E3%81%9F%E3%81%BB%E3%81%A9%E5%8D%98%E7%B4%94%E3%81%A7%E3%81%AF%E3%81%AA%E3%81%8F%E3%80%81%E3%82%88%E3%82%8A%E5%A4%9A%E3%81%8F%E3%81%AA%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%82%E3%81%AA%E3%81%9F%E3%81%AF%E3%82%80%E3%81%97%E3%82%8D%E3%80%81%E3%82%B3%E3%83%BC%E3%83%89%E3%81%8C%E3%81%A9%E3%81%AE%E3%82%88%E3%81%86%E3%81%AB%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%95%E3%82%8C%E3%80%81%E3%82%A2%E3%82%BB%E3%83%B3%E3%83%96%E3%83%A9%E3%82%B3%E3%83%BC%E3%83%89%E3%81%AB%E5%9F%BA%E3%81%A5%E3%81%84%E3%81%A6%E3%80%81%E3%82%B3%E3%82%A2%E3%83%9E%E3%83%8B%E3%83%A5%E3%82%A2%E3%83%AB%E3%81%AE%E5%91%BD%E4%BB%A4%E3%82%BB%E3%83%83%E3%83%88%E3%81%AE%E7%8A%B6%E6%85%8B%E3%81%AE%E5%8A%A9%E3%81%91%E3%82%92%E5%80%9F%E3%82%8A%E3%81%A6%E3%80%81%E3%82%88%E3%82%8A%E5%A4%9A%E3%81%8F%E3%82%92%E6%8E%A8%E6%B8%AC%E3%81%99%E3%82%8B%E3%81%93%E3%81%A8%E3%81%8C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%E3%82%92%E7%A2%BA%E8%AA%8D%E3%81%99%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81I%2FD%E3%82%AD%E3%83%A3%E3%83%83%E3%82%B7%E3%83%A5%E3%80%81%E3%83%A1%E3%83%A2%E3%83%AA%E5%BE%85%E6%A9%9F%E7%8A%B6%E6%85%8B%E3%80%81%E3%82%AF%E3%83%AD%E3%82%B9%E3%83%90%E3%83%BC%E8%A8%AD%E5%AE%9A%2F%E3%83%AC%E3%82%A4%E3%83%86%E3%83%B3%E3%82%B7%E3%81%AA%E3%81%A9%E3%80%81MCU%E3%81%AE%E5%88%A5%E3%81%AE%E8%A8%AD%E5%AE%9A%E3%81%8C%E5%BD%B9%E5%89%B2%E3%82%92%E6%9E%9C%E3%81%9F%E3%81%97%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E%E3%81%9F%E3%81%A0%E3%81%97%E3%80%81%E5%86%85%E9%83%A8%E3%82%BF%E3%82%A4%E3%83%9E%E3%83%BC%E3%82%92%E4%BD%BF%E7%94%A8%E3%81%97%E3%81%9F%E3%82%8A%E3%80%81%E3%83%94%E3%83%B3%E3%82%92%E5%88%87%E3%82%8A%E6%9B%BF%E3%81%88%E3%81%A6%E7%89%B9%E5%AE%9A%E3%81%AE%E3%82%B3%E3%83%BC%E3%83%89%E5%AE%9F%E8%A1%8C%E6%99%82%E9%96%93%E3%82%92%E6%B8%AC%E5%AE%9A%E3%81%97%E3%81%9F%E3%82%8A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%82%3CBR%20%2F%3E2)%20%E5%AE%9F%E9%9A%9B%E3%81%AESPI%E8%BB%A2%E9%80%81%2F%E3%83%93%E3%83%83%E3%83%88%E3%83%AC%E3%83%BC%E3%83%88%E8%A8%AD%E5%AE%9A%E3%81%AB%E3%82%88%E3%82%8B%3CBR%20%2F%3E3)TXFIFO%E3%82%A2%E3%83%B3%E3%83%80%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%E3%81%A8RXFIFO%E3%82%AA%E3%83%BC%E3%83%90%E3%83%BC%E3%83%95%E3%83%AD%E3%83%BC%E3%81%AE%E8%A1%A8%E7%A4%BA%E3%81%8C%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E8%BB%A2%E9%80%81%E5%B1%9E%E6%80%A7%E3%81%AF%E9%80%9A%E4%BF%A1%E5%89%8D%E3%81%AB%E8%A8%AD%E5%AE%9A%E3%81%95%E3%82%8C%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%83%9E%E3%82%B9%E3%82%BF%E3%83%BC%2F%E3%82%B9%E3%83%AC%E3%83%BC%E3%83%96%E3%81%A7%E5%90%8C%E3%81%98%E3%81%A7%E3%81%82%E3%82%8B%E5%BF%85%E8%A6%81%E3%81%8C%E3%81%82%E3%82%8A%E3%80%81SPI%E3%81%AF%E3%82%B7%E3%83%AA%E3%82%A2%E3%83%AB%E3%82%AF%E3%83%AD%E3%83%83%E3%82%AF%E3%81%A8%E5%90%8C%E6%9C%9F%E9%80%9A%E4%BF%A1%E3%81%A7%E3%81%82%E3%82%8B%E3%81%9F%E3%82%81%E3%80%81%E3%81%93%E3%81%AE%E3%82%88%E3%81%86%E3%81%AA%E3%82%A8%E3%83%A9%E3%83%BC%E3%81%AF%E4%BA%88%E6%83%B3%E3%81%95%E3%82%8C%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%3C%2FP%3E%0A%3CP%3EBR%2C%20Petr%3C%2FP%3E%3C%2FLINGO-BODY%3E