恒辉安防
东莞市恒辉安防设备有限公司,是一家专业从事视频监控,门禁考勤系统,防盗报警系统,楼宇对讲系统,公共广播,停车场系统,光纤铺设与熔接,一卡通等。
我公司为广大用户免费提供设计方案,上门安装,调试,培训,维护的一站式综合服务体系。
正规安防,安装售后保证
诚信经营安防设备真材实料
经验丰富的工程师量体裁衣
服务到位为你省事省时省心
专业安装队伍保质保量
恒辉承诺:两年保修,终身维护。
恒辉优惠:新减老免,欢迎咨询。
恒辉宗旨:今天的服务是明天的市场,客户的满意是永恒的追求。
恒辉目标:为客户提供安全可靠,性价比高,服务完善的工程项目。
服务热线:150 9979 2770
联系人:陈先生
网络远程监控系统需要实现网络功能,为了适应网络的传输速度以及有足够的时间解析数据包,仅仅依靠RTL8019AS内部的RAM是远远不够的,所
以单片机外扩了一个32K的RAM存储器。外扩的存储器缓存以太网帧。嵌入式网络设备服务器不仅要实现与以太网、CAN、RS4851232的通讯,还要
提供人机交互接口LCD和键盘。因此,微控制器W77E58B需要访问多个外部设备,又不能占用太多的引脚。译码器74HC
138为W77E58B访问外部设备提供方便,只需W77E58B通过三个引脚A15,A14和A13就可以分别片选外扩RAM存储器HM62256B,
网络接口芯片RTL8019AS, CAN总线控制器SJA1000, LCD显示芯片的ACM12232-E1和ACM12232-E2。
X5325
芯片为单片机系统提供复位信号、32K的存储空间和看门狗机制。X5325中的EEPROM是掉电不丢失信息的数据存储器,所以用户通过人机交互接口键盘
输入的信息可以存储在X5325中。当系统再次上电,W77E58B会从X5325的EEPROM中读取用户的设置信息在LCD上显示。
因此,嵌入式网络设备服务器的最小系统由微控制器芯片W77E58B、静态RAM存储器芯片HM62256B、地址锁存器74HC373、译码器
74HC138、晶振电路和复位芯片X5325组成。系统设计中,W77E58B的参考时钟由11.0592
MHz的晶体振荡器产生。工业现场总线CAN和RS485的接口部分需要使用光电隔离措施。使用光耦6N137组成的光电隔离电路,隔离CAN的收发控制
模块PCA82C250和RS485的电平转换模块MAX485的电源。
完整的以太网接口除了以太网控制芯片外,还需要RJ45插座连接网络传输的物理介质双绞线。除此之外还需要隔离变压器进行信号隔离以及两个指示灯指示以太网的工作状态。一个指示灯指示以太网是否连通,另一个指示灯指示嵌入式系统是否接收或发送以太网帧。
嵌入式UDP/IP协议栈的实现
UDP/IP
协议栈是一个复杂的综合体,在实际运用中,并不需要实现其全部协议。根据系统需要对网络协议进行裁剪,设计并实现UDP/IP协议簇的一个子集,即嵌入式
UDP/IP协议栈只实现ARP。
IP和UDP协议,如此便避免了单片机的系统速度和内存的瓶颈。这样,嵌入式UDP/IP协议具有向下兼容性和易移植性,不仅满足嵌入式微处理器的高质量
通讯任务的基本需求,必要时可方便增加部分协议处理,又可以满足单片机的联网需要。嵌入式UDP/IP协议栈符合经济型嵌入式工业设备联网的设计要求。
系统采用以太网的接入方式,因此必须实现IEEE802.3标准,主要由RTL8019AS完成。为了保证系统能够在以太网内通信,还需要实现ARP协议。
ARP协议的本质就是完成网络地址到物理地址的映射,从而保证网络的正确传输。整个ARP处理过程由ARP请求和ARP应答两个函数实现。根据ARP报头
格式定义ARP报头结构体ARPHeader如下所示。其中,当Operation=1时表示ARP请求数据包;当Operation
=2时表示ARP应答数据包。
实现协议栈的主要函数分发送部分和接收部分,发送函数有:①void fun_NetSendEther
(void):封装以太网帧。将上层协议的数据包封装在以太网帧的数据部分,从EthernetHeader结构体中读取信息,填充以太网帧的帧头并发送
以太网帧。②void
fun_NetSendIP(void):封装IP数据包。将上层协议的数据包封装在IP数据包的数据部分,从IpHeader结构体、数组Deslp和
数组NodeIp中读取信息,调用fun_NetCheckSum函数计算校验和,填充IP数据包的报头部分,判断上层协议是TCP协议(协议标识06)
还是UDP(协议标识17)协议,并将不同的协议标识添加到IP数据包报头,发送IP数据包。③void
fun_NetSendUDP(void):封装UDP数据包。将上层协议的数据包封装在UDP数据包的数据部分,从UdpHeader结构体、数组
DesIp和数组Nodelp中读取信息,调用fun NetCheckSum函数计算校验和,填充UDP数据包的报头部分,并发送UDP数据包。
接收的函数主要有:①void
fun_NetRecEther(void):该函数从接收的数据包中提取发送方的MAC地址,以便发送回复信息时,填充数据包的接收方MAC地址。查看
网络层协议,判断是IP协议还是ARP协议,并针对各种协议调用相应的处理函数。②void fun_NetRecARPReq
(void):将相应的信息存储在ARP结构体中,以便回复时填充ARP数据包的报头部分。分析ARP的请求数据包,若是发送给本IP的ARP请求,则将
发送ARP应答数据包,告知本IP地址对应的MAC地址。③void funwe NetRecIP(void):
IP协议的处理程序。首先检验校验和,若校验和正确,就将IP信息存储在IP结构体中,以便回复时填充IP数据包的报头,否则丢弃整个数据包。查看下层协
议是UDP还是TCP协议,调用相应的函数处理程序。④void fun_etRecUDP
(void):首先检验校验和,若校验和正确,就将UDP信息存储在UDP结构体中,以便回复时填充UDP数据包的报头,否则丢弃整个数据包。