当前位置:网站首页>SPI master rx time out中断
SPI master rx time out中断
2022-07-07 13:29:00 【lixingdian】
背景:测试spi的time out中断,板子A master rx,板子B slave tx。master设置成超时中断TIME OUT。
slave发数据过来,master并没有触发超时中断。图像上很准确,开始担心是板子这个功能有问题,但是模拟的没问题。应该是设置问题。
模拟告诉我,清除fifo会清除time out寄存器。于是我在初始化的时候清除一次,后面就不会清除flfo。但实际上这样波形都不正确了,究竟是slave怎么把数据发给master。而且依旧触发不了中断,如果设置成done中断就可以触发。但就不是我们想要的time out中断了。模拟又告诉我说rx trigger level为空,设置数据会触发,设置后也无效,后来发现该位有数值限制,不能过大,过大会变成0。设置成正确的数字也无法触发中断。模拟又告诉我,传输数据时因为要接收的数据挺多的,cs一直拉低,会导致板子认为还在接收数据,会触发rxready中断,而不是time out中断。之所以要接收的数据挺多,是因为我的master设置SPI_DataLen为512(bits)了。在文档中解释:
Tx/Rx length
Spi在传输时,有效的SCK数
也间接的反映了发送或者接收数据的长度。
所以当我设置datalen为8以后,就可以触发正常的TIME OUT中断了。
后来看time out中断的文档,才发现自己文档读的不够详细。其实作者写的很清晰了。
当一次传输结束以后,rx fifo中有数据,但是数据量不够触发rx trigger level时,超过一定时间,就会触发time out寄存器。如果清除了fifo肯定也会清除掉调time out计数器。
所以要测试time out,需要
1、发数据的间隔时长长,长到接收完数据后足够触发完TIME OUT再清除fifo。
2、数据量小于rx trigger level,并且不会过多触发rx ready中断。
欢迎大家关注我的微信公众号
边栏推荐
- JS array foreach source code parsing
- Detailed explanation of Cocos creator 2.4.0 rendering process
- [Lanzhou University] information sharing of postgraduate entrance examination and re examination
- 20th anniversary of agile: a failed uprising
- Do not use memset to clear floating-point numbers
- HPDC smart base Talent Development Summit essay
- [original] all management without assessment is nonsense!
- [quick start for Digital IC Validation] 26. Ahb - sramc (6) for system verilog project practice (Basic Points of APB Protocol)
- AB package details in unity (super detail, features, packaging, loading, manager)
- 2. Heap sort "hard to understand sort"
猜你喜欢

尤雨溪,来了!

TS as a general cache method

2022全开源企业发卡网修复短网址等BUG_2022企业级多商户发卡平台源码

Create lib Library in keil and use lib Library

JS array foreach source code parsing

Webgl texture

Starting from 1.5, build a microservice framework link tracking traceid

Virtual memory, physical memory /ram what
![[quick start of Digital IC Verification] 24. AHB sramc of SystemVerilog project practice (4) (AHB continues to deepen)](/img/cf/45775b712f60869186a25d3657ee1b.png)
[quick start of Digital IC Verification] 24. AHB sramc of SystemVerilog project practice (4) (AHB continues to deepen)

Gd32 F3 pin mapping problem SW interface cannot be burned
随机推荐
[original] all management without assessment is nonsense!
如何在shell中实现 backspace
航运船公司人工智能AI产品成熟化标准化规模应用,全球港航人工智能/集装箱人工智能领军者CIMC中集飞瞳,打造国际航运智能化标杆
【数字IC验证快速入门】23、SystemVerilog项目实践之AHB-SRAMC(3)(AHB协议基本要点)
[quick start of Digital IC Verification] 25. AHB sramc of SystemVerilog project practice (5) (AHB key review, key points refining)
Align individual elements to the right under flex layout
numpy--疫情数据分析案例
Cut ffmpeg as needed, and use emscripten to compile and run
UE4 exports the picture + text combination diagram through ucanvasrendertarget2d
The rebound problem of using Scrollview in cocos Creator
[quick start of Digital IC Verification] 20. Basic grammar of SystemVerilog learning 7 (coverage driven... Including practical exercises)
nodejs package. JSON version number ^ and~
Shader Language
Three. JS introductory learning notes 00: coordinate system, camera (temporarily understood)
15. Using the text editing tool VIM
【数字IC验证快速入门】18、SystemVerilog学习之基本语法5(并发线程...内含实践练习)
Implementation of crawling web pages and saving them to MySQL using the scrapy framework
Iterator and for of.. loop
【数字IC验证快速入门】20、SystemVerilog学习之基本语法7(覆盖率驱动...内含实践练习)
JS array foreach source code parsing