搜索
bottom↓
回复: 8

DTU的缓存问题

[复制链接]

出0入0汤圆

发表于 2012-5-9 11:41:27 | 显示全部楼层 |阅读模式
现在用单片机和GPRS模块做DTU,假如单片机对外通信是串口115200,单片机对GPRS模块通信也是串口115200,这样在透传模式下,是不是就不需要缓存了?直接接收一个发送一个就OK了?
如果不行,该如何设计缓存工作的原理呢?谢谢

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

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

出0入0汤圆

发表于 2012-5-9 11:44:02 | 显示全部楼层
不要缓存不行吧,假如突然网络阻塞,怎么办

出0入0汤圆

 楼主| 发表于 2012-5-9 14:52:13 | 显示全部楼层
Hamyou 发表于 2012-5-9 11:44
不要缓存不行吧,假如突然网络阻塞,怎么办

透传模式下,单片机怎么知道是否网路阻塞呢?

出0入0汤圆

发表于 2012-5-9 15:01:57 | 显示全部楼层
GU900D可以支持每个TCP连接10K 字节的缓存,就是说,如果你一直发送数据给模块,模块如果网络阻塞而不能传输,模块内部会把数据暂时缓存起来,在网络畅通后,会自动把缓存的数据继续发出。不知道这种是否能解决你的问题呢?

出0入0汤圆

 楼主| 发表于 2012-5-9 15:13:02 | 显示全部楼层
lqs10 发表于 2012-5-9 15:01
GU900D可以支持每个TCP连接10K 字节的缓存,就是说,如果你一直发送数据给模块,模块如果网络阻塞而不能传 ...

谢谢你的回答,你的意思就是说GPRS模块内部有缓存,本身就有防网络阻塞的功能,对吧?
我的意思是做一个DTU,DTU是由MCU+GPRS模块组成,MCU负责配置GPRS模块和对外通信等,如果MCU和外部通信速率和MCU和GPRS模块通信速率相等的话,是不是透传模式下,就不用在MCU内部再建立缓存了?

出0入0汤圆

发表于 2012-5-9 15:16:19 | 显示全部楼层
不是每个模块都内建缓存的,一半模块都不会负责做这个缓存。所以,DTU才有生存的空间啊。。其实,无论何种模式,如果模块支持缓存,它都是存在的,哪你MCU就不需要做了,你MCU的缓存能比模块内部的缓存空间大吗?

出0入0汤圆

 楼主| 发表于 2012-5-9 15:35:59 | 显示全部楼层
lqs10 发表于 2012-5-9 15:16
不是每个模块都内建缓存的,一半模块都不会负责做这个缓存。所以,DTU才有生存的空间啊。。其实 ...

哦,明白了很多。我用的是华为的MG323模块,貌似没有内部缓存。那透传的时候,它如何告诉MCU网络拥堵以让MCU停产传数据呢?AT命令吗?

出0入0汤圆

 楼主| 发表于 2012-5-9 19:11:27 | 显示全部楼层
lqs10 发表于 2012-5-9 15:16
不是每个模块都内建缓存的,一半模块都不会负责做这个缓存。所以,DTU才有生存的空间啊。。其实 ...

是通过 AT命令中的查询GPRS信号来判断网路拥堵吗

出0入0汤圆

发表于 2012-5-13 18:22:31 | 显示全部楼层
GU900D是通过调用CIPSEND来发送,如果返回失败,说明缓存已经满了,不能再发送。
其它模块有其它做法,具体可以看指令手册,但能支持10K BUFFER的几乎没有吧。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片。注意:要连续压缩2次才能满足要求!!】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-8-26 08:44

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

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