EDN China > 设计实例 > 工业电子 > 网络与总线 > 正文
? 2016博客大赛-不限主题,寻找电子导师,大奖升级??

嵌入式工业以太网控制方案的研究

来源:现代电子技术/作者:项敏 王学军?? 2007年12月05日 ?? 收藏0

  (二)嵌入式接口控制模块的实现

  工业以太网体系结构中,以太网作为连接智能控制模块的系统总线,内部和外部的数据通讯在此没有区别。集线器技术被集成在每个控制器中,通过分配地址空间把内部通讯从外部通讯中分离出来。其中集线器技术和底层协议的集成,确保了以太网的确定性、兼容性和整体性。目前在传输层和网络层的协议基本上已经统一,TCP/IP已成为标准网络协议,这是以太网正常运作的“中枢”。工业以太网技术中关键一环是:在现场级的节点控制模块(如远程I/O模块)中实现TCP/IP网络通信协议,即建立协议栈。随着电子和信息技术的高速发展,通过软件方式或硬件方式将TCP/IP协议嵌入到节点模块已经成为可能。软件方式将TCP/IP嵌入到微处理器的ROM中,硬件方式是设计嵌入式处理器和ASIC器件芯片而直接用作网络接口。

  方案采用基于RISC结构的单片机,带有片上Flash程序存储器,具有在系统编程、调试功能。由于采用CPU并行流水线方式及单时钟周期指令,在100 MHz晶振驱动下指令执行速度可达100 MI/s,所有I/O管脚可以通过编程灵活配置。基于以上特点,可实现虚拟外设(Virtual Peripheral)功能:CPU通过执行虚拟软件模块直接驱动普通I/O口实现硬件外设功能(如UART、I2C、SPI、CallerID、FSK等)。最特别的是,利用该特点可以实现流行的Internet协议栈,如HTTP、SMTP、POP3、TCP、UDP、ICMP、IP、PPP。

  节点模块的实现采用多任务方式,单片机在进行数据采集或完成I/O控制任务的同时,还可完成Internet协议处理。在应用层,可以选择HTTP、SMTP、POP3中的任意一种作为单片机系统与Internet远程管理终端之间的通讯协议;或者自己开发基于TCP,UDP协议的其他程序作为应用层软件。使用以太网控制芯片,可将数据包发到以太网上,通过以太网接入Internet,实现真正的嵌入式TCP/IP设备。图2为控制模块结构示意图。

控制模块结构示意图

  RJ45为此系统与局域网的接口。数据的流向为:请求信息从局域网中来,通过RJ45送到网卡控制芯片,处理后05的数据包送入单片机协议栈,由协议栈对数据包进行解析,得到原始请求信息。请求信息再经过单片机的处理,产生回复信息。回复信息到局域网的过程与上面正好相反。

  接口控制模块的特点:

  1.不依赖PC机或高档单片机,真正实现8b单片机系统直接接入Internet,整个系统完全自给自足。

  2.使用外围器件少,系统成本低。

  3.支持IP、TCP、UDP、ICMP、HTTP、SMTP协议。

  4.系统提供10/100 Base-T网络接口,直接支持EthernetIEEE802.3协议。

  5.通过系统内置的RS232串行接口、支持Web页面下载功能,可以实时、动态显示并控制监控点数据。

  (三)以太网通信协议开发

  以太网是按照局域网的要求设计的。以太网标准(IEEE802.3)定义了OSI参考模型的物理层和数据链路层。在物理层定义了电缆类型、连接器和信号电平;数据链路层定义了帧格式、差错控制方式、信道分配方法等。但以太网不能完成OSI模型第3层以上的功能,从这个意义上来说,他不属于完整的网络协议。如何在现有协议基础上实现OSI模型的网络层、传输层以及应用层,才是解决问题的关键所在。

  网络协议栈实现原理如图3所示。

网络协议栈实现原理

  图3中的软件协议栈都用单片机语言编写,存储在单片机的Flash程序存储器中。国内外不同厂家纷纷针对自己的以太网产品推出了不同的工业以太网协议。总的来说,协议开发都集中在以下三个方面:

  1.网络层协议

  网络层主要处理分组在网络中的活动,例如分组的选择、路由的确定。包括:IP协议(网际协议)、ICMP协议(Internet互联网控制报文协议)以及IGMP协议(Internet组管理协议)。IP协议是主要应用对象。Internet中所有的数据都是以IP数据包格式传输,其最大特点是提供不可靠和无连接的数据报传送服务。

  在嵌入式控制模块中开发协议栈,IP层的实现就是把要发送出去的消息进行IP打包,即加上IP包头,使之符合IP数据包的格式发送到物理层;将接收到的来自物理层的数据包进行IP解包,即去掉包头,送到TCP层。

  2.传输层协议

  TCP提供一种面向连接的、可靠的字节流传送服务,一旦数据报被破坏或丢失,则由TCP将其重新传输。在嵌入式模块协议栈中,对TCP层的实现是通过提供的TCPAPI(应用程序接口)来实现的。


?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

嵌入式? 工业以太网? 控制?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈