为什么 GPRS 调制解调器提供嵌入式 TCP/IP 堆栈
我和我的同事正在挖掘 GPRS MODEM 市场,寻找适合与嵌入式 Linux 一起使用的模块。在市场扫描过程中,我们看到一些供应商强调他们的调制解调器包含嵌入式 TCP/IP 堆栈。
这让我想知道:当我们使用已经包含 TCP/IP 堆栈并使用 PPP 连接的嵌入式 Linux 时,它是否会使用 GPRS MODEM 中包含的堆栈?
我当前的假设是,该堆栈是为了与不提供自己的堆栈的微型微控制器操作系统一起使用。另外,一些 MODEM 允许在 MODEM 基带处理器中运行小型应用程序,这可以解释嵌入式堆栈...
那么:当与 HL 操作系统一起使用时,GPRS MODEM 提供的 TCP/IP 堆栈是否多余,或者我是否忽略了某些内容?
My colleague and I are mining the GPRS MODEM market for a module suitable for use with embedded Linux. During the market scan, we see that several vendors highlight that their MODEMs include an embedded TCP/IP stack.
This makes me wonder: when we are using embedded Linux which already contains a TCP/IP stack and connects using PPP, will it make use of the stack included in the GPRS MODEM at all?
My current assumption is that the stack is included for use with tiny microcontroller OS that do not supply their own stack. Also some of the MODEMs allow for running small applications IN the MODEM baseband processor which could explain the embedded stack...
So: is the TCP/IP stack supplied by the GPRS MODEM superfluous when using it with an HL OS or did I overlook something?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在您的用例中,它几乎肯定是多余的。
大多数蜂窝调制解调器产品都是设计用于移动电话的产品的精简版本。显然,在电话应用程序中,需要 TCP/IP 堆栈以及一大堆其他功能。
典型的 GPRS 调制解调器可能包含一个 ARM9 处理器,仅运行调制解调器软件并不会造成太大负担。对于许多较小的应用程序来说,它确实提供了足够的性能来运行整个应用程序(例如,想象一下自动售货机,表明它几乎是空的),并且 TCP/IP 堆栈在这里可能会有所帮助。
还有一个可能有点愤世嫉俗的解释。许多移动电话堆栈的软件耦合程度比其制造商愿意承认的要多一些,结果可能是不值得花功夫删除 TCP/IP 堆栈。
在您的应用程序中,使用 AT 命令接口几乎肯定是最佳选择(这是老式拨号调制解调器命令集的扩展,允许您获取信号强度、网络状态等信息)。
It is almost certainly superfluous in your use case.
Most cellular modem products are cut-down versions of products designed for use in mobile phones. Obviously, in a phone application, the TCP/IP stack is required, along with a whole pile of other functionality.
A typical GPRS modem probably contains an ARM9 processor, and this is not greatly taxted running just the modem software. For many smaller applications it certainly provides sufficient performance to run the entire application (think of something like a vending machine indicating that it is nearly empty, for example), and a TCP/IP stack might be helpful here.
There is a slightly cynical possible explanation, too. Many mobile phone stacks have a bit more software coupling than their manufacturers would like to admit to, and it may turn out that it is simply not worth the effort to remove the TCP/IP stack.
In your application, it is almost certainly the best option to use the AT command interface (this is an extension of old-fashioned dial-up modem command set to allow you to fetch information such as signal strength, network status etc.
这与我这两天一直在问自己的问题完全相同。 ^^
经过一些研究和询问,我发现:
对于 iPhone/android 等智能手机,TCP/IP 作为操作系统的一部分运行在应用程序处理器(AP)上。基带处理器 (BP) 只是网络调制解调器(想想古代的 56k 拨号调制解调器和 PC 设置)。当然,BP 将运行移动网络堆栈(GSM、CDMA、LTE...)来跳上蜂窝网络,但对于 AP 来说,它是透明的,只需为无线网络进行调制/解调工作。 Modem接收AT命令,运行时可以在命令模式和数据模式之间切换。在数据模式下,AP 和 BP 之间的协议通常是串行 PPP(如果我错了,请纠正我)。所以 TCP/IP/PPP/串行。
某些 BP 中的嵌入式 TCP/IP 堆栈旨在为某些应用程序提供完整的抽象,而网络堆栈由于系统限制或简单化而无法使用。 TCP/IP 堆栈在 BP 中非常有用。正如您所提到的,某些 BP(例如 infenion)确实对用户应用程序和/或网络堆栈具有额外的处理能力。在这种情况下,甚至不需要 AP。这是功能手机(例如诺基亚砖型手机)的典型设置。然后,BP 提供 AT 命令集的扩展来创建套接字甚至 FTP 连接。
This is the EXACTLY same question I been asking myself these two days. ^^
After some study and asking around, I found this:
In the case of a smart phone such iPhone/android, TCP/IP are running on Application Processors(AP) as part of the OS. Baseband Processors(BP) are simply network modems (think of the 56k dial-up modem and PC setup in ancient time). Of course BP will be running mobile network stack(GSM, CDMA, LTE...) to hop on cellular network, but to AP, it's transparent and simply does modulation/demodulation work for the wireless network. Modems receives AT commands and can switch between command mode and data mode in operations. In data mode, the protocol between AP and BP is normally PPP over serial (! correct me if i am wrong here). So TCP/IP/PPP/serial.
Embedded TCP/IP stack found in some BP are meant to provide an entire abstraction for certain applications whereby network stack is not available due to system constraints or simply made to be simple. A TCP/IP stack is then very useful in BP. As you mentioned, some BP (e.g infenion) does have extra processing power for user application and/or network stack. AP, in this case, is even not needed. This is a typical setup of a function phone(such as Nokia brick). Extension of AT command sets are then provided by BP to create a socket or even a FTP connection.