搜索
bottom↓
回复: 24

关于900C服务器向模块发数据问题、

[复制链接]

出0入0汤圆

发表于 2009-8-21 12:18:19 | 显示全部楼层 |阅读模式
我做的DTU,用的AT%IOMODE=1,1,1模式。服务器向模块发送数据,当发送七八组数据时,然后模块就接收不到了。
返回错误4 内存申请失败或者BUFFER已经使用完,这是怎么回事啊?谁知道?

阿莫论坛20周年了!感谢大家的支持与爱护!!

曾经有一段真挚的爱情摆在我的面前,我没有珍惜,现在想起来,还好我没有珍惜……

出0入0汤圆

发表于 2009-8-21 12:44:01 | 显示全部楼层
这种情况一般出现在网络较为复杂情况。TCP数据包发不出去,TCP数据缓冲满了。
最好把你的AT命令流程贴出来或者直接联系我!

出0入0汤圆

 楼主| 发表于 2009-8-21 12:57:31 | 显示全部楼层
AT+CGDCONT=1,"IP","CMNET"
at%etcpip
AT%IPOPEN="UDP","117.89.57.15",12345
就这样,其他都是默认的,没动。
模块向服务器发送数据正常。但是服务器向模块发送几个数据后,然后模块就收不到了。
这时候,模块也不能向服务器发送数据。有时候需要等待一段时间,然后又正常,有时候就一直死掉。
我没用打开缓存,模块是直接把接收到的数据通过串口发送给单片机。

出1070入962汤圆

发表于 2009-8-21 13:38:51 | 显示全部楼层
UDP最好将对端和本端端口号都指定。
UDP在接收服务器数据时,也要每隔几十秒向服务器发送数据,GGSN对端口的动态映射超时机制有可能仅仅在GPRS发送时才清计数器,接收未必会清,当该计数器溢出时,GGSN收回分配给GPRS的临时端口映射。此时没有了映射,服务器的数据到达不了模块,尽管模块的协议栈还在正常运行。同样,这时模块再发送数据,由于没有映射,GGSN要重新分配,在重新分配生效前数据是不会发送成功的,这样用户数据滞留在模块内部缓冲区中,如果用户还在不断申请发送数据,就会出现ERROR 4错误,这个错误是内部协议栈缓冲区满的标志。
这个错误和TCP发送窗口满错误没有关系。

出0入0汤圆

 楼主| 发表于 2009-8-21 13:49:39 | 显示全部楼层
苹果猫,你讲的跟我的现象一摸一样。为什么我用别人的DTU,他们用UDP的时候,服务器一直发数据,GPRS模块不向上发数据,就不会出现我这种问题呢,他们是怎么解决的呢?

出0入0汤圆

 楼主| 发表于 2009-8-21 13:52:21 | 显示全部楼层
还有,会不会是因为我没用AT%IOMODE 去开缓存,读数据造成的呢,我是直接让模块接收到数据,就传给单片机,没用缓存储存数据。

出0入0汤圆

发表于 2009-8-21 14:06:04 | 显示全部楼层
原来你是UDP状态下接收数据啊!
模块端需要不停的发送心跳包。
例如n秒发一个UDP数据包。服务器端收到数据后n秒内可以对相应终端的IP地址端口号发送数据,超过n秒对应的终端IP和端口号作废。
n建议取值30s。

出0入0汤圆

 楼主| 发表于 2009-8-21 14:17:23 | 显示全部楼层
回:QQ1013182577 y
不是心跳包的问题,我刚上线的时候,服务器给模块发一组数据,能收到,有时候发第二组的时候,就收不到了。

出0入0汤圆

 楼主| 发表于 2009-8-21 14:25:40 | 显示全部楼层
回:Appcat 苹果猫
你的意思,主要是说明心跳包的问题,我的这个问题不是出现在心跳包上。
而是在线的时候,服务器下发多个数据,感觉模块就接收不了了。

出0入0汤圆

发表于 2009-8-21 15:17:55 | 显示全部楼层
1.你的服务器如何设置?
2.当你感觉终端接收不对时。你的终端再发数据,能否发送到服务器?

出0入0汤圆

 楼主| 发表于 2009-8-21 16:48:26 | 显示全部楼层
回:QQ1013182577 yu
终端再发数据,不能再发送到服务器。
问题搞定了,原来是我的破电脑有问题,放在别人电脑上测试是好的。
不是问题的问题,搞的我崩溃了。我说我怎么这么倒霉呢。

出1070入962汤圆

发表于 2009-8-21 18:01:39 | 显示全部楼层
如果说这个是电脑有问题,那就是说UDP服务端在发送了几组数据后就出问题了,UDP SOCKET无效了。那这么解释也是有可能的。但是我觉得这个更像是软件的问题,而不是电脑的硬件问题。
建议楼主多加测试。

出0入0汤圆

发表于 2009-8-24 10:10:52 | 显示全部楼层
老大已经选用了EM310.让我来负责做DTU。先顶起来。各为大侠多关照一下小弟

出0入0汤圆

 楼主| 发表于 2009-8-24 10:30:48 | 显示全部楼层
回:Appcat 苹果猫
今天我又在我电脑上测试了几遍,发现没什么问题,该不会是我的模块不稳定造成的吧。

出1070入962汤圆

发表于 2009-8-24 10:54:24 | 显示全部楼层
模块不稳定的情况极少见,对于华为这种新模块出货要经过半年的全国测试的产品来说,更加是小概率事件。确认一下模块的版本号,是否是最新的。由于测试面广,也不排除测试中的版本流到市场中。
还有就是UDP协议在GGSN处理中没有TCP稳定,如果没有特别要求,一般都会用TCP进行传输。

出0入0汤圆

 楼主| 发表于 2009-8-24 11:21:44 | 显示全部楼层
回:Appcat 苹果猫
我的版本号是
HW REVISION: B
SW REVISION: 01.101
是否最新的呢?
虽然我的问题现在没有了,但我总心里不踏实,怕它哪天又出问题。
我用的是5V,2.5W的开关电源,然后通过LM1084转成4.2V的,也加了1000uF大电容,不知道是不是
我的开关电源2.5W有点小了?你们一般用多大的开关电源呢?
听QQ1013182577 yu 讲,模块瞬间电流要2A,会不会我0.5A达不到造成的?
我们的服务器写死了,只能用UDP,不能用TCP,没办法。

出1070入962汤圆

发表于 2009-8-24 12:35:04 | 显示全部楼层
现在最新版本是SW REVISION 01.102

5V的开关电源电压有点低了,2.5W的功率也小了,GSM模块在发射时瞬间输入功率能有8W。我们一般采用12V1A的开关电源。
开关电源容量小,不一定出问题,但是不一定不出问题,在供电电源不稳定,或者元器件参数发生变化或者劣化时,就可能出问题,所以我们设计的时候特地留了余量。这种电源临界造成的设备不稳定的毛病最难查,特别是到了用户现场。还没挣几个钱,全部投入售后维护维修中都不够了,所以设计时就考虑好。

出0入0汤圆

 楼主| 发表于 2009-8-28 11:55:05 | 显示全部楼层
回Appcat 苹果猫
你们用的是12V1A,也就是12W的开关电源,你说我的5V有点小了,那我要是用5V,2.4A的开关电源,先不考虑寿命问题。
同样是12W,效果跟你的12V1A效果会不一样?

出1070入962汤圆

发表于 2009-8-28 12:18:46 | 显示全部楼层
你在15楼说的是5V 2.5W的电源啊。
12V1A的电源经过DCDC转换,和你的5V2.4A的电源经过DCDC,瞬态哪个更好?GSM在发射时隙,发射电流达到2A,时间只有几十毫秒。

出0入0汤圆

 楼主| 发表于 2009-8-28 12:32:28 | 显示全部楼层
我明白了,谢谢苹果猫。

出0入0汤圆

 楼主| 发表于 2009-8-28 13:07:02 | 显示全部楼层
还能介绍个12V转4.2V的 DC/DC芯片哈

出1070入962汤圆

发表于 2009-8-28 13:47:38 | 显示全部楼层
LM2596S-ADJ 太经典的选择了
MP1593,效率,体积都优于上述,但是成本高电路复杂
还有一些开关频率上M的芯片,效率更加高的惊人,但是成本一样惊人,而且输入电压范围比较小

出0入0汤圆

发表于 2010-5-21 09:33:35 | 显示全部楼层
我的也有这问题

出0入0汤圆

发表于 2010-5-22 19:24:27 | 显示全部楼层
mark

出0入0汤圆

发表于 2012-2-29 17:03:11 | 显示全部楼层
mark
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-8-26 06:23

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表