TI中文支持网
TI专业的中文技术问题搜集分享网站

请教一个WIFI发送阻塞的问题

CC3200建立一个发送任务,在发送任务中调用sl_send()一次发送1024个8位数据,简化程序如下:

while(1)

{

//测试用

if(flag==1)  flag=0;

else            flag=1;

set_out(flag);

if(data_0k==1)

{

sl_send();

data_ok=0;

}

}

data_ok每600us有效一次,这个验证过没问题

通过示波器测量发现:
测试信号反转有时正常有时不正常,有时20ms不反转一次!!!!!!如果在WIFI发送任务中屏蔽sl_send(),则信号反转正常,

所以应该是WIFI发送有问题阻塞了!导致sl_send阻塞几十ms的原因可能是什么?有什么好的解决办法吗?

Viki Shi:

传输速率是多少?

user1252639:

回复 Viki Shi:

SPI时钟20MHZ,每300us传输512个数据

Viki Shi:

回复 user1252639:

1、换个手机试一下,排除手机接受问题
2、跟踪CC3200发送数据所需时间

user1252639:

回复 Viki Shi:

1,跟手机无关 2,通过以下方式进行测试: 在WIFI发送任务中输出一个信号,每次进入WIFI发送任务,输出信号就反转一次, 通过示波器测量发现: 信号反转有时正常有时不正常,有时20ms不反转一次!!!!!!如果在WIFI发送任务中屏蔽sl_send(),则信号反转正常,

所以应该是WIFI发送有问题阻塞了!导致sl_send阻塞几十ms的原因可能是什么?有什么好的解决办法吗?

Yonghua Pan:

回复 user1252639:

你在接收端抓包看一下,是不是有很多重传?

user1252639:

回复 Yonghua Pan:

分析包数据这个大大超出了我的能力,我抓了一下包如下,前期貌似都还正常,就是一会就会出现一堆貌似不正常的数据(颜色不一样了,我也不知道正常不正常)

user1252639:

回复 Yonghua Pan:

有没有关于SPI的详细说明 ,我指的是时序方面的,除了SPI的最高时钟还有别的什么要求,CS的最小宽度有什么要求?等等
我将SPI的时钟由20M降低到12MHZ效果明显会好,这是为什么,在要求的最高时钟20MHZ内为什么会有这个区别?在20MHZ时,SPI接收貌似也是正常的,不过WIFI发送出去后数据丢失严重,降低12MHZ时,好很多!!!

KW X:

回复 user1252639:

建议传下PCB图。通常,这种问题多出现在地线不良,干扰所致。

赞(0)
未经允许不得转载:TI中文支持网 » 请教一个WIFI发送阻塞的问题
分享到: 更多 (0)