case about nRF52840 example twi_master_with_twis_slave Minimum interval between read slave machines

Hi,

1. How can the read slave interval be reduced to less than 2ms: twi_master_with_twis_slave


2. Test environment:

DK: pca10056

SDK:nRF5_SDK_17.1.0_ddde560\examples\peripheral\twi_master_with_twis_slave


3. Measure the screenshot: It takes time to read 16 bytes


4. The expected time exceeds 5ms. Screenshot, give the reason why the interval for reading 16 bytes exceeds 5ms.

It was expected that 16bit of data could be read in 5ms, but it actually took 29.81ms



5.log:

[17:52:32.045]收←◆

uart_cli:~$ TWIS and TWI usage example started.
You can access simulated EEPROM memory using <eeprom> command.
Execute: <eeprom -h> for more information or press the Tab button to see all available commands.
uart_cli:~$ 
[17:52:39.817]发→◇eeprom -h
□
[17:52:39.883]收←◆eeprom -h
eeprom - EEPROM access command.
Options:
  -h, --help  :Show command help.
Subcommands:
  clear  :Clear the memory (set 0xff).
  error  :Get transmission error byte.
  read   :Print the EEPROM content in a form: address, 16 bytes of code, ASCII
form.
  write  :Write a string entered within quotes (starting from address 0).
uart_cli:~$ 
[17:52:47.259]发→◇eeprom clear
□
[17:52:47.265]收←◆eepro
[17:52:47.323]收←◆m clear
memory erased
uart_cli:~$ 
[17:52:55.411]发→◇eeprom read
□
[17:52:55.415]收←◆eeprom 
[17:52:55.462]收←◆read
000: FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF 
uart_cli:~$ 
[17:53:02.417]发→◇eeprom write "Hello, EEPROM!"
□
[17:53:02.425]收←◆eeprom write "Hello, EEPRO
[17:53:02.495]收←◆M!"
OK
uart_cli:~$ 
[17:53:11.964]发→◇eeprom read
□
[17:53:11.971]收←◆eeprom read
[17:53:12.044]收←◆
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:13.200]发→◇eeprom read
□
[17:53:13.249]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:30.840]发→◇eeprom read
□
[17:53:30.848]发→◇eeprom read
□
[17:53:30.856]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom r
[17:53:30.877]发→◇eeprom read
□
[17:53:30.895]发→◇eeprom read
□
[17:53:30.913]收←◆ead
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom rea
[17:53:30.937]收←◆d
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:30.992]发→◇eeprom read
□
[17:53:31.018]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:31.047]发→◇eeprom read
□
[17:53:31.077]发→◇eeprom read
□
[17:53:31.099]发→◇eeprom read
□
[17:53:31.121]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom red
eeprom: unknown parameter: red
uart_cli:~$ eeprom 
[17:53:31.148]发→◇eeprom read
□
[17:53:31.168]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom rea
[17:53:31.190]发→◇eeprom read
□
[17:53:31.221]发→◇eeprom read
□
[17:53:31.245]收←◆d
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EE
[17:53:31.269]收←◆PROM!
uart_cli:~$ 
[17:53:31.295]发→◇eeprom read
□
[17:53:31.322]收←◆eeprom read

[17:53:31.363]发→◇eeprom read
□
[17:53:31.388]收←◆000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom
[17:53:31.406]发→◇eeprom read
□
[17:53:31.433]发→◇eeprom read
□
[17:53:31.457]收←◆ read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:31.493]发→◇eeprom read
□
[17:53:31.515]发→◇eeprom read
□
[17:53:31.536]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eepro
[17:53:31.563]发→◇eeprom read
□
[17:53:31.591]收←◆m read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eepro
[17:53:31.621]发→◇eeprom read
□
[17:53:31.647]发→◇eeprom read
□
[17:53:31.678]收←◆m read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
[17:53:31.701]发→◇eeprom read
□
[17:53:31.727]收←◆
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eep
[17:53:31.756]收←◆rom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:31.784]发→◇eeprom read
□
[17:53:31.814]收←◆e
[17:53:31.836]发→◇eeprom read
□
[17:53:31.866]发→◇eeprom read
□
[17:53:31.883]收←◆eprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom 
[17:53:31.916]发→◇eeprom read
□
[17:53:31.942]发→◇eeprom read
□
[17:53:31.967]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:31.989]发→◇eeprom read
□
[17:53:32.021]收←◆eeprom 
[17:53:32.068]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:32.096]发→◇eeprom read
□
[17:53:32.118]收←◆eep
[17:53:32.143]收←◆rom read

[17:53:32.172]发→◇eeprom read
□
[17:53:32.193]收←◆000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom
[17:53:32.216]发→◇eeprom read
□
[17:53:32.244]收←◆ read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
0
[17:53:32.271]收←◆00: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:32.297]发→◇eeprom read
□
[17:53:32.320]发→◇eeprom read
□
[17:53:32.342]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eep
[17:53:32.368]发→◇eeprom read
□
[17:53:32.392]收←◆rom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ ee
[17:53:32.418]发→◇eeprom read
□
[17:53:32.439]发→◇eeprom read
□
[17:53:32.461]收←◆prom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:32.490]发→◇eeprom read
□
[17:53:32.509]收←◆eeprom read
[17:53:32.534]发→◇eeprom read
□
[17:53:32.557]发→◇eeprom read
□
[17:53:32.577]收←◆
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ e
[17:53:32.607]发→◇eeprom read
□
[17:53:32.632]发→◇eeprom read
□
[17:53:32.649]收←◆eprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 2
[17:53:32.682]发→◇eeprom read
□
[17:53:32.705]收←◆1 FF FF Hello, EEPROM!
uart_cli:~$ eeprom rea
[17:53:32.733]发→◇eeprom read
□
[17:53:32.754]发→◇eeprom read
□
[17:53:32.782]收←◆d
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:32.804]发→◇eeprom read
□
[17:53:32.824]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom 
[17:53:32.854]发→◇eeprom read
□
[17:53:32.875]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom
[17:53:32.898]发→◇eeprom read
□
[17:53:32.921]收←◆ read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom re
[17:53:32.945]发→◇eeprom read
□
[17:53:32.970]发→◇eeprom read
□
[17:53:32.988]收←◆ad
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ ee
[17:53:33.018]发→◇eeprom read
□
[17:53:33.042]发→◇eeprom read
□
[17:53:33.058]收←◆prom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF
[17:53:33.095]发→◇eeprom read
□
[17:53:33.115]收←◆ FF Hello, EEPROM!
uart_cli:~$ eeprom r
[17:53:33.138]发→◇eeprom read
□
[17:53:33.157]收←◆ead
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:33.204]发→◇eeprom read
□
[17:53:33.228]发→◇eeprom read
□
[17:53:33.248]发→◇eeprom read
□
[17:53:33.268]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eepr
[17:53:33.293]发→◇eeprom read
□
[17:53:33.319]收←◆om read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom 
[17:53:33.339]发→◇eeprom read
□
[17:53:33.362]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:33.390]发→◇eeprom read
□
[17:53:33.421]发→◇eeprom read
□
[17:53:33.436]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eep
[17:53:33.469]收←◆rom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:33.505]发→◇eeprom read
□
[17:53:33.527]发→◇eeprom read
□
[17:53:33.552]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C
[17:53:33.576]发→◇eeprom read
□
[17:53:33.605]收←◆ 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom re
[17:53:33.628]发→◇eeprom read
□
[17:53:33.650]发→◇eeprom read
□
[17:53:33.673]收←◆ad
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:33.699]发→◇eeprom read
□
[17:53:33.720]发→◇eeprom read
□
[17:53:33.746]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eepro
[17:53:33.772]发→◇eeprom read
□
[17:53:33.794]收←◆m read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom r
[17:53:33.819]发→◇eeprom read
□
[17:53:33.845]发→◇eeprom read
□
[17:53:33.872]收←◆ead
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:33.900]发→◇eeprom read
□
[17:53:33.918]收←◆e
[17:53:33.947]发→◇eeprom read
□
[17:53:33.969]发→◇eeprom read
□
[17:53:33.987]收←◆eprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom 
[17:53:34.017]发→◇eeprom read
□
[17:53:34.041]收←◆read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eeprom rea
[17:53:34.065]收←◆d
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 
[17:53:34.083]发→◇eeprom read
□
[17:53:34.111]发→◇eeprom read
□
[17:53:34.133]收←◆eeprom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ eep
[17:53:34.157]收←◆rom read
000: 48 65 6C 6C 6F 2C 20 45 45 50 52 4F 4D 21 FF FF Hello, EEPROM!
uart_cli:~$ 

6. 

analysis software:www.dreamsourcelab.com/.../DSView_v1.3.2_x64_setup.exe

I2C Waveform file

2806.DSLogic-la-240924-175330.zip

7.Strangely, it is possible to achieve a 2ms read using the nrf_drv_twi_tx function directly


100K Hz_50us.zip

Parents Reply Children
Related