0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何在基于互联网的M2M系统中使用第三方IP协议栈

电子设计 来源:郭婷 作者:电子设计 2019-02-14 09:07 次阅读

Multi-Tech的通用IP不是要求开发人员为每个新的IP协议栈编写新的控制代码,而是统一应用于实现各种主要通信技术的多个调制解调器。

当TCP/IP功能时在嵌入式领域中,通常用于机器对机器(M2M通信。在许多应用中,例如车队跟踪和远程监控,互联网连接的物理介质将是蜂窝无线网络,但同样一些嵌入式应用可能通过Wi-Fi或有线以太网链路访问互联网。

基于互联网的M2M系统通常包括芯片组(基带和收发器),其中基带运行TCP/IP协议栈的版本;另一方面,应用程序处理器或微控制器运行软件以通过应用程序编程接口(API)执行协议命令。

嵌入式开发人员熟悉降低材料清单成本和设计风险的压力他们所从事的个人项目。在无线互联网系统的情况下,这可以推动设计团队采用使用蜂窝无线电模块(由蜂窝芯片组,电源电路和相关外围设备和接口组成)的架构,并实现由芯片组或模块制造商。 (大型芯片组制造商包括Qualcomm,ST-Ericsson Wireless和MediaTek。模块制造商包括Cinterion和Sierra Wireless。)

在单个项目层面进行检查时,这种设计方法似乎有意义,但这与嵌入式世界中小型企业(SMB)的通用商业模式。实际上,大多数嵌入式OEM通过创建平台产品来成功,在这些平台产品上构建扩展 - 产品变体或基础产品的修改版本 - 三维:

随着时间的推移 - 在典型的产品生命周期中嵌入式设备,定期开发更新的变体以适应技术,法规或用户环境的变化。

超过细分市场 - 可以修改一个市场中成功的先锋产品,以满足相邻市场的需求。例如,车队跟踪设备可能会发展出一种用于集装箱跟踪的变型。

在地理位置上 - 通过用CDMA取代GSM功能,欧洲产品可以适应美国市场。

在此模型中,盈利能力取决于维护稳定的核心平台,并在每个产品变体中重用尽可能多的应用程序代码。现在,实现上述协议栈的场景开始看起来有缺陷。当新产品变体需要新的协议栈实现时会出现问题 - 这可能发生在所有三个维度中:

时间 - 芯片组制造商受到手机制造商短暂的产品生命周期的驱动,而不是嵌入式OEM厂商解决的大型市场窗口。较旧的芯片组经常被淘汰,并被新的芯片组取代,每次更换芯片组供应商都会创建一个新的IP堆栈实施。

市场细分 - 低端产品扩展可能需要降低成本高速连接到低速连接。用较低成本的替代方案替换高规格模块可能需要实施新的IP堆栈。

地理位置 - 如上所述,世界上不同地区运行不同的蜂窝技术。用CDMA模块替换GSM模块可能需要再次实现带有新IP堆栈的新蜂窝模块。

每个新的IP堆栈都需要开发人员编写新的应用程序代码来控制它。开发这个新的应用程序代码可能需要设计人员每次都学习一组新的命令,并找出如何使用新的API。即使嵌入式OEM在整个产品平台上使用相同的模块制造商,模块制造商也不一定在所有模块中使用相同的芯片组供应商。在任何情况下,确保所有IP堆栈实施的长期一致性并不是无线芯片组制造商的优先考虑因素,这些制造商是由世界顶级手机制造商的需求驱动的,而不是数以万计的中小型企业的集体需求。一些模块制造商开发了专有的TCP/IP堆栈来取代其芯片组供应商提供的堆栈,从长远来看,这可能使他们能够调整支持不同通信标准的不同堆栈,例如2G但是,对于典型的嵌入式OEM来说,重写应用程序代码以接入新的IP协议栈既困难又无法为最终产品增加额外的价值。由于典型嵌入式业务的性质,这很困难。这些嵌入式SMB的开发由小型设计团队执行,他们具有核心应用的硬件和软件方面的专业知识 - 设计功能,如传感器接口,信号调理和处理,微控制器或微处理器编程,应用程序开发和用户界面设计。通信系统的设计和配置是设计的外围元素,当它不是团队工作的主要焦点时,难以掌握其复杂性。

主要为移动手机OEM设计的TCP/IP协议栈实现是那么,不适合许多嵌入式SMB的需求。堆栈实现可以更好地服务于这些SMB,允许在所有产品变体中重复使用应用程序代码,这使得编写此应用程序代码变得简单。

嵌入式调制解调器制造商开发的架构Tech Systems旨在为中低批量制造商提供此服务。 Multi-Tech的通用IP是IP协议栈的单一实现,它统一应用于多个调制解调器,实现了从HSPA,GPRS和CDMA到Wi-Fi和以太网的各种主要通信技术。通用IP实现协议,包括DNS解析,FTP客户端,Ping,POP3客户端,PPP(拨出),SMTP客户端,TCP RAW客户端和服务器,UDP RAW客户端和服务器,PAP和CHAP身份验证,以及各种其他通信功能针对M2M应用(图1)。

如何在基于互联网的M2M系统中使用第三方IP协议栈

图1:Multi-Tech的协议栈实现还支持针对M2M应用的附加功能。

每个通用IP调制解调器也采用通用插座引脚排列(参见图2),这意味着嵌入式开发人员可以将一个调制解调器换成另一个,而无需重新设计电路板;他们还可以使用相同的应用程序代码来控制所有产品变体的调制解调器

如何在基于互联网的M2M系统中使用第三方IP协议栈

图2:Multi-Tech Systems在所有SocketModem设备上实现通用套接字引脚排列,例如这个SocketModem iCell智能嵌入式蜂窝调制解调器。

此外,Multi-Tech是致力于长期维护稳定的通用IP API。例如,这意味着OEM可以对基础芯片组的变化保持盲目。就像蜂窝模块的嵌入式用户一样,当芯片组过时时,Multi-Tech必须定期重新设计其调制解调器,但Multi-Tech调制解调器的用户没有看到任何区别,因为Universal IP API始终保持不变,Universal Socket引脚排列也是如此通用IP堆栈实现取决于调制解调器的硬件架构:在蜂窝芯片组中,IP堆栈托管在基带上,这是芯片组制造商的专有设计。当基带发生变化时,IP堆栈也会发生变化,用户无法控制它。

在Multi-Tech的通用IP产品中,协议栈托管在独立的处理器上,与蜂窝芯片组分开(见图3)。由于Multi-Tech可以完全控制处理器及其运行的软件,因此可以确保其与用户系统控制器的接口在整个调制解调器范围内保持稳定。结果是应用程序和互联网之间的接口始终是通用IP,而不是模块制造商提出的移动目标。

如何在基于互联网的M2M系统中使用第三方IP协议栈

图3:典型蜂窝模块的基本架构和架构具有通用IP的多技术调制解调器显示托管IP堆栈的分立处理器。

堆栈通过串行接口与用户系统通信。堆栈的操作是通过一组简单的AT命令来控制的,这些命令对于使用调制解调器设计的任何人来说都是熟悉的。实际上,这表明通用IP中“通用”一词的两个含义:通用所有运行通用IP堆栈的调制解调器都是通用的,但也是嵌入式设计人员普遍适用的,因为任何带有串行接口的微控制器都可以发出AT命令, AT指令集(至少几乎)被嵌入式开发人员普遍认可。

通用IP产品的架构及其分立处理器也使Multi-Tech能够实现具有适合嵌入式用户的功能的IP堆栈。例如,Multi-Tech在其通用IP调制解调器中实现自动连接功能;如果设备从网络中掉落,它将自动尝试重新连接而无需人为干预。堆栈还可以配置为周期性地向蜂窝网络输入流量(Keep Alive功能)。一些蜂窝网络提供商会自动禁用已经闲置一段时间的设备,这种做法可能对手机有意义,但不适合嵌入式设备。此功能可确保网络看到调制解调器仍处于活动状态结论

手机是全球销量最高的OEM市场,因此蜂窝芯片组业务偏向于满足不到20家全球制造商的需求。

通过将IP堆栈从芯片组中抽象出来并进入处理器在自己的控制下,Multi-Tech的通用IP提供了一种方法来满足数千个嵌入式OEM的应用需求和产品生命周期,这些OEM需要设备通过蜂窝网络或其他媒体访问互联网。

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 嵌入式
    +关注

    关注

    4982

    文章

    18281

    浏览量

    288464
  • 互联网
    +关注

    关注

    54

    文章

    10906

    浏览量

    100745
  • IP
    IP
    +关注

    关注

    5

    文章

    1404

    浏览量

    148273
收藏 人收藏

    评论

    相关推荐

    Labview如何内嵌操作第三方EXE程序!

    自己在网上搜了下相关资料,能把第三方EXE内嵌进入容器里,但是有个问题,这个第三方软件必须手动拖到容器正中间,手动最大化。请问有什么方法可以自动实现吗? 下图是我内嵌的POLL 软件。如图!
    发表于 04-18 14:26

    如何打开第三方软件

    请问大神们 谁知道如何在Labview中 打开第三方软件,我现在想打开工程后 自动打开USB视频采集卡,然后就直接显示出采集卡采集到的图像了请问如何打开在这先谢过了
    发表于 09-11 16:26

    如何把第三方库加到PROTEUS中?

    新手求教,弱弱的问下,下了一个第三方库,说是要先安装,再添加路径,可是我下来的第三方库没有看到安装文件啊。还望指教如何添加!
    发表于 06-15 22:32

    labview中使第三方DAQ卡的问题

    如果在labview中使第三方的卡,是不是就用不着IN MAX和那些DAQ函数了?我看了一家国内的卡,下了配套的驱动和测试软件,安装后有一个文件夹有他们设置好的CLF节点(调用DLL库函数
    发表于 03-12 21:31

    何在LabVIEW中嵌入第三方软件界面

    如何把第三方软件的界面嵌入到labview中,并且能够在LabVIEW的前面板中对第三方软件进行操作。LabVIEW中有Active用于IE回调的例子,可以在LabVIEW前面板中操作IE。想把IE换成第三方软件,求神人解决,多
    发表于 04-27 23:06

    如何定制基于Cortex-M0/M3免费内核的自主SoC ——M0/M3免授权费+第三方设计服务=自主SoC

    `活动主题如何定制基于Cortex-M0/M3免费内核的自主SoC——M0/M3免授权费+第三方设计服务=自主SoCArm DesignSt
    发表于 11-16 11:34

    第三方dll调用问题!!!

    第三方dll,没有.h,labview怎么实现调用,dll可以用VS打开,类库说明也有
    发表于 05-11 09:14

    M2M迁移到IIoT工业物联网

    `随着工业自动化需求的增加,工业协议M2M机器通信逐渐迁移到IIoT工业物联网。如果在没有引用物联网的情况下,现在很多的连接设备都无法想象。但是,在构思物
    发表于 12-26 10:26

    LabVIEW与第三方软件交互问题

    现在做一个软件,就是通过LabVIEW去与第三方软件进行交互操作!已经通过百度找到了利用user32.dll调用FindWindowA与PostMessage去实现对计算器,找了多方资料也没有找到解决办法。想做一个软件就是对图片2第三
    发表于 12-26 17:13

    Web服务如何将M2M置入云端?

    将一台设备或传感器连接到互联网不是件容易的事—在嵌入式系统设计中没什么事是容易的。不过,那些存在于网上(云端)、供客户使用的优秀分析工具能够扩展客户设备功能,而且还能增加便利性,并通过互联网实现
    发表于 05-16 10:44

    下载python第三方

    python第三方库的下载
    发表于 07-02 13:12

    国内知名第三方检测认证机构排名

    流程与检测原理搞明白就可以。2.第三方检测的客户群体比较集中,易于开发客户,但是竞争也比较激烈。3.客户做第三方检测,大多是冲着报告去的,所以销售既要跟客户搞好关系,还要跟内部检测人员处理好关系,毕竟仪器
    发表于 07-19 16:57

    关于LabVIEW调用第三方exe,如何去控制第三方exe按钮的问题

    我想调用第三方的exe,但并没有给出任何接口,就单单一个exe程序,通过查资料得出可以用window自带的user32.dll可以控制第三方的软件,通过FindWindowA函数找到该软件句柄,通过
    发表于 08-12 16:37

    buildroot如何添加支持第三方软件?

    iMX6ULL终结者Buildoot文件系统构建篇buildroot添加支持第三方软件
    发表于 04-02 06:06

    头文件中包含第三方文件

    macrocmake如果源文件(例如 CPP)中包含第三方头文件,但是头文件(例如 hpp)中不包含该第三方文件头,采用 PRIVATE。如果源文件和头文件中都包含该第三方文件头,采用 PUBLIC
    发表于 08-18 08:10