找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 基于C8051F020的嵌入式以太网监控系统

[复制链接]
admin 发表于 2013-3-23 08:00:07 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
  引 言
     近年来,随着网络技术的发展,网络化席卷全球。在工业现场中如何将测控系统等仪器和设备接入互联网,实现信息共享和远程控制成为人们关注的话题。传统的工业测控现场所采用的总线技术(如RS232和RS485等)能够很好地解决仪器与设备的互联互通问题,并得到了广泛的应用。但此类总线是专为工业所设计的,并不能解决因特网的接入问题。采用单片机配合以太网控制芯片构成测控系统,可解决测控系统与互联网的接入问题,但却需要花费大量的时问和精力进行开发。采用商品化的串口服务器或网络服务器进行网络互联,虽可实现网络互联,但软硬件成本很高。针对这些情况,我们采用低成本的RS232以太网转换模块作为网络互联媒介,设计了基于美国Cygnal公司的C8051F020的嵌入式以太网监控系统。结果表明,该监控系统充分利用了现有以太网资源,实现了远程测控终端与监控中心的通信功能,从而实现了高可靠性、低成本的实时监控,达到了工业现场安全运行的目的。
     1 RS232-以太网模块及C8051F020简介
     ZNE-100PT是周立功公司开发的一款RS232-以太网模块模块,内部集成了TCP/IP协议栈,利用它用户可以轻松实现嵌入式没备的网络功能。其主要特点是:
     ◆内嵌32位ARM7 CPU;
     ◆支持TCP/IP协议(包括Ethernet、ARP、IP、ICMP、IGMP、UDP、TCP、HTTP和DHCP),工作方式可选择为TCP Server、TCP Client、UDP、Real COM driver和GroupMode.TCP Auto组播地址工作端口目标IP和端口均可设定支持PairConnection对连方式工作;
     ◆10M以太网接口使用排针方式引出;
     ◆RS232或RS485串口,TTL电平方式,波特率为300~115200 bps。
     采用RS232以太网模块进行网络互联,可大幅度缩短软件开发时间,且成本很低。
     单片机C8051F020是一款完全集成的混合信号系统级芯片,与8051指令集完全兼容。它具有如下特点:
     ◆高速流水线结构的8051兼容的CIP-5l内核(可达25 MIPS);
     ◆高速非侵入式的在线系统调试接口(片内);
     ◆真正12位100Ksps的8通道ADC,带PGA和模拟多路开关;
     ◆2个12位DAC;
     ◆64 KB可在系统编程的Flash存储器;
     ◆4352(4096+256)字节的片内存储器;
     ◆可寻址64 KB地址空间的外部数据存储器接口;
     ◆硬件实现的SPI、SMBus/I2C和2个UART串行接口;
     ◆5个通用16位定时器;
     ◆5个捕捉比较模块的可编程计数器/定时器阵列;
     ◆片内看门狗定时器、VDD监视器和温度传感器。
     C8051 F020是一款真正独立工作的片上系统,将C8051F020用于嵌入式以太网监控系统,可大量减少外围器件,充分发挥C8051F020的高速度特点,大大提高了系统的集成度。
   
     2 嵌入式以太网监控系统的技术要求和硬件实现方案
   
     2.1 技术要求
     用户对嵌入式以太网监控系统的要求如下:
     ◇8位全隔离数字输入接口;
     ◇8位全隔离数字输出接口;
     ◇8路12位模拟/数字输入接口,输入电压DC为O~12 V:
     ◇2路12位数字/模拟输出接口,输出电压DC为O~5 V;
     ◇RS232串行接口,最高波特率为19.2 khps;
     ◇RJ45 10M网络接口。
     2.2 实现方案
     根据用户提出的技术要求,以单片机C8051F020为核心,辅以RS232-以太网模块ZNE-100PT及少量外围电路,构成嵌入式以太网监控系统的硬件电路,如图1所示。
   
      20121107051453195692426.jpg
   
     图1中,由于C8051F020具有2个标准串行接口,因而一个分配给ZNE-100PT模块,作为以太网接口,另一个就分配给了RS232接口,作为与上位机的通信接口(其通信速率可根据用户要求在300~19200 bps调整。
     对于8路模拟信号输入接口,要求其最高输入电压为+12V,而C8051F020的片内A/D转换器最高输入电压为+3V。对于+12V的输入电压,可采用电阻分压衰减电路,将+12 V的输入电压降为+3 V输入;而对于8路O~5 V的模拟输出电压,则可直接利用运算放大器放大输出,电路如图2所示。
   
      20121107051453226942427.jpg
   
     数字输入部分采用光电耦合器将数字输入信号与本系统隔离,从而减小了外界干扰对系统的影响;数字输出部分也采用光电耦合器进行隔离,如图3所示。
   
      20121107051453273822428.jpg
   
     3 ZNE-100PT模块的使用和网络通信规约
   
     在使用RS232-以太网模块ZNE-100PT之前,应当按照ZNE-100PT的要求对模块进行软件配置。主要工作有配置模块的IP地址、模块的子网掩码、模块网关和串行接口的波特率等参数。配置完成后模块即可使用。需要注意的是,设置模块属性时,可将帧起始字节和帧结束字节设为空。这样,当模块对通信数据划分TCP/IP数据包时,就可按串口数据的帧间隔作为分包条件。
     根据监控系统的要求,设定本系统与以太网之间的通信规约。
     通信数据格式字头+命令字+数据长度+数据体
     ①字头:START。
     ②命令字:共计1个字。
     第1字节:表示数据传输方向。由单片机→以太网为U;由以太网→单片机为P。
     第2字节:为命令字。
     命令l:由单片机→以太网时,表示后面数据为8路A/D输入值和8路数字I/O输入值;由以太网→单片机时,表示后面数据为2路D/A输出值和8路数字I/O输出值。
     命令2:由单片机→以太网时,表示后面数据为RS232接口收到并转发以太网的,数据体长度小于255字节;由以太网→单片机时,表示后面数据需经监控系统的RS232接口发出,数据传送结束时监控系统返回OK,表示传送结束。
     ③数据长度:>999字节,表示后面数据体的长度。
     ④数据体:所需传输的数据。
   
     4 监控系统软件流程
   
     由于监控系统需要经由ZNE-100PT双向传输数据并需进行相关操作,因此监控系统软件流程如图4所示。
   
      20121107051453305072429.jpg
   
     图4中,CPU首先进行初始化。之后分别采集以太网上发送过来数据以及本机的A/D和I/O输入数据。采集完成后,如果收到的是D/A和I/O输出数据,则进行D/A和I/O输出数据的更新。如果是以太网的RS232输出数据,则启动RS232接口并发送数据;否则,定时向以太网发送本机的A/D和I/O输入数据。如果是RS232接口的数据,则向以太网进行转发。
     结语
     本文设计的基于SoC单片机C8051F020的嵌入式以太网监控系统,采用了RS232以太网模块,从而使软件开发的工作量大大减少,使监控系统得以依托以太网实现远程测量及控制。本系统已用于日本某公司的生产线,且受到用户的好评。将本系统的某些参数适当修改,也可以用于其他工业控制场合中。
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-24 10:07 , Processed in 0.059793 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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