单片机IP技术在智能小区系统中的应用
时间:08-30
来源:互联网
点击:
网卡芯片会自动按以太网协议完成发送并将结果写入状态寄存器。接收数据包时,采用查询的方式,根据CURR==BNRY+1?可以判断是否收到新的数据包,如果有则通过DMA读操作从网卡芯片RAM读出数据。发送、接收子程序如下所示:
3 协议栈的精简
单片机中TCP/IP的实现与PC机不同,在PC里可支持比较完整的TCP/IP协议组,但在单片机里无法做到,这是因为单片机根本没有足够的代码空间来支持这些协议。一般在单片机里实现与需要有关的部分,而不使用的协议则一概不支持。例如文件共享SMB协议,在UNIX、WINDOWS都支持,但单片机上却没有必要。一般只能在单片机中实现:ARP、IP,ICMP、TCP/UDP这些协议,而更高层的协议,HTTP、SMTP、FTP一般是不需要支持的。虽然有些单片机例如AVR上网方案实现了这些协议,但实用性不大。因为单片机应用的TCP/IP协议大多是为了完成数据采集和数据传输,而不是网页浏览、文件传输这些功能。另外由于单片机资源的有限性,对某一协议而言,也有可能要作简化。本系统中实现的协议只有ARP、IP、ICMP、UDP。在选择传输层协议时我们放弃了面向链接的TCP,因为TCP为了保证数据的可靠性采用一问一答的方式,这在数据量并不大的嵌入式系统中,反而增加了网络的负担;另外TCP的很多机制,如分段机制、窗口机制等都适合于数据量大、处理能力强的PC机网络,并不适合于嵌入式系统。UDP虽然不提供面向链接的、可靠的服务,但是协议简单,实时性更强,应用层也可以做相应的定时等待、重发处理等辅助性的操作来弥补它的缺陷。
a.ARP:ARP的本质就是实现IP地址到MAC地址的转换,抓住了这一点实现就比较简单。嵌入式系统中没有必要实现PC机网络中地址表的更新功能,只需完成地址转换。管理中心机在初始化CDT时发送ARP请求,CDT只需响应中心对它的ARP请求,但不主动发送ARP请求。
b.ICMP:ICMP的种类很多,在本系统中只要实现ICMP信息回显功能。管理中心在执行PING命 令 时,发送ICMP请求信息,CDT中只需实现ICMP回应信息。
c.IP:IP包最大可达65k,单片机中无法存放如此大的数据包,因此一般不支持分段,以发送小数据的方式来避免分段。另外IP层的选项功能都可以完全忽略,IP层只需要根据协议类型分包。d.应用层:应用层采用自己的数据协议格式为:
头部+命令字段+布防字段+报警字段+五表参数字段+五表读数字段+家电控制字段接收方根据命令段的含义来分别实现布防、报警、五表参数设置、五表读书、家电控制等功能。
结束语
本文以基于TCP/IP技术的智能小区家庭智能终端系统的研究为例,详细讲述了RTL8019网卡芯片的驱动方法,并给出了单片机中TCP/IP协议的精简方案。本系统已经成功地运用于多个小区,其可行性、可靠性和灵活性已经得到证实,并且基于以太网智能小区系统低廉的造价、简洁的布线更使得基于TCP/IP的以太网技术成为了替代传统现场总线技术的一种重要手段。
3 协议栈的精简
单片机中TCP/IP的实现与PC机不同,在PC里可支持比较完整的TCP/IP协议组,但在单片机里无法做到,这是因为单片机根本没有足够的代码空间来支持这些协议。一般在单片机里实现与需要有关的部分,而不使用的协议则一概不支持。例如文件共享SMB协议,在UNIX、WINDOWS都支持,但单片机上却没有必要。一般只能在单片机中实现:ARP、IP,ICMP、TCP/UDP这些协议,而更高层的协议,HTTP、SMTP、FTP一般是不需要支持的。虽然有些单片机例如AVR上网方案实现了这些协议,但实用性不大。因为单片机应用的TCP/IP协议大多是为了完成数据采集和数据传输,而不是网页浏览、文件传输这些功能。另外由于单片机资源的有限性,对某一协议而言,也有可能要作简化。本系统中实现的协议只有ARP、IP、ICMP、UDP。在选择传输层协议时我们放弃了面向链接的TCP,因为TCP为了保证数据的可靠性采用一问一答的方式,这在数据量并不大的嵌入式系统中,反而增加了网络的负担;另外TCP的很多机制,如分段机制、窗口机制等都适合于数据量大、处理能力强的PC机网络,并不适合于嵌入式系统。UDP虽然不提供面向链接的、可靠的服务,但是协议简单,实时性更强,应用层也可以做相应的定时等待、重发处理等辅助性的操作来弥补它的缺陷。
a.ARP:ARP的本质就是实现IP地址到MAC地址的转换,抓住了这一点实现就比较简单。嵌入式系统中没有必要实现PC机网络中地址表的更新功能,只需完成地址转换。管理中心机在初始化CDT时发送ARP请求,CDT只需响应中心对它的ARP请求,但不主动发送ARP请求。
b.ICMP:ICMP的种类很多,在本系统中只要实现ICMP信息回显功能。管理中心在执行PING命 令 时,发送ICMP请求信息,CDT中只需实现ICMP回应信息。
c.IP:IP包最大可达65k,单片机中无法存放如此大的数据包,因此一般不支持分段,以发送小数据的方式来避免分段。另外IP层的选项功能都可以完全忽略,IP层只需要根据协议类型分包。d.应用层:应用层采用自己的数据协议格式为:
头部+命令字段+布防字段+报警字段+五表参数字段+五表读数字段+家电控制字段接收方根据命令段的含义来分别实现布防、报警、五表参数设置、五表读书、家电控制等功能。
结束语
本文以基于TCP/IP技术的智能小区家庭智能终端系统的研究为例,详细讲述了RTL8019网卡芯片的驱动方法,并给出了单片机中TCP/IP协议的精简方案。本系统已经成功地运用于多个小区,其可行性、可靠性和灵活性已经得到证实,并且基于以太网智能小区系统低廉的造价、简洁的布线更使得基于TCP/IP的以太网技术成为了替代传统现场总线技术的一种重要手段。
- 一种新型防伪读码器的设计(01-01)
- 基于ARM与DSP的嵌入式运动控制器设计(04-25)
- 基于ARM核的AT75C220及其在指纹识别系统中的应用(05-24)
- 基于nRF2401智能小区无线抄表系统集中器设计(04-30)
- 基于FPGA安全封装的身份认证模型研究(05-27)
- 高精度压力测控系统的试验研究(04-08)