基于DM9000的以太网藏文信息控制平台
扫描二维码
随时随地手机看文章
摘要:基于DM9000的以太网电路,单片机端移植精简TCP/IP协议栈unIP,实现简易的TCP服务器。对该简易的TCP服务器进行改造,把藏文网页存储到TCP服务器中,利用互联网直接访问该藏文TCP服务器,直接控制家用电器。这种小型化的、以单片机为基础的TCP服务器,接入到任何有互联网的端口,用户通过互联网轻松实现家电控制。该藏文信息平台给藏族同胞带来较为人性化的信息服务,具有一定的推广前景。
关键词:以太网;单片机;TCP;IP;服务器随着IT技术,特别是网络技术的发展,网络给人们的生活带来了方便与快捷,这也使得“智能住宅”、“家庭自动化”等技术倍受关注。尽管目前从事网络家电控制方面设计人员较多,但以少数民族语言开发的相关设计却很少。本方案正是基于藏文信息交流平台,结合目前网络的发展趋势,立足广大藏族同胞的实际而提出的,它是以SPCE061A为主控制器,DM9000为以太网MAC控制器,配合一定的外围电路而实现的基于TCP/IP协议栈的简易服务器。当用户通过浏览器访问该服务器存储的藏语网页时,服务器会解析出用户的相应操作指令并将其转化成电信号,借助控制电路对相应家电进行控制。
关键词:以太网;单片机;TCP;IP;服务器
1 系统硬件设计
该系统设计是一个简单易行的网络家电终端设备,利用互联网资源使广大藏族同胞在工作的同时可轻松自如地控制家电。基于以上考虑,因此,该终端设备能够与因特网相互通信;TCP服务器必须提供藏文服务,方便藏族同胞操作;终端设备操作简单明了;采用交流220 V供电;具有指示灯和藏语语音播报等操作指示;考虑到安全性,必须密码登录,同时能够通过互联网监控家电状态。
图l为该系统硬件设计组成框图,主要由SPCE061A主控板、DM9000控制模块、电源电路、外接电器控制电路、扬声器组成。其中,DM9000以太网控制模块通过16位单片机SPCE061A直接控制,完成相应数据包的收发和解析,解析完成后,再由SPCE06iA向外接电器控制电路、扬声器以及指示灯模块发出操作指令,进而控制家电。
1.1 SPCE061A主控板
高性价比、16位单片机SPCE061A可方便灵活实现语音的录放系统,该器件拥有8路10位精度的A/D转换器,其中l路为音频转换通道,内置自动增益电路,便于实现语音录入:2路10位精度的A/D转换器,只需要外接功放(SPY0030A)即可完成语音播放。另外,该器件还具有易学易用的效率较高的指令系统和集成开发环境。在此环境中,可实现C语言与凌阳汇编语言的互相调用,并提供语音录放的库函数,只要了解库函数使用,就很容易完成语音录放。
SPCE061A主要特性如下:16位un’SP微处理器:内核工作电压VDD为3.3~3.6 V(CPU),IO端口工作电压VDH为VDD~5.5 V;CPU时钟为0.32~49.152 MHz:内置32 K字Flash;可编程音频处理;32位通用可编程输入/输出端口;14个中断源来自于定时器A/B,时基,2个外部时钟源输入,键唤醒;使用凌阳音频编码SACM S240方式(2.4 kbit/s),能存储210 s的语音数据:锁相环PLL振荡器提供系统时钟信号。这里需要注意的是:I/O连线不能接反,采用稳压电源供电,且电压为5~6 V;流经I/O端口的电流不宜过大,防止I/O端口烧坏。
1.2 以太网模块
以太网模块是以太网数据包收发控制模块,该模块与控制器配合,除了可完成以太网数据包收发外,还具有4 Mbit的串行Flash存储器SPR4096,为用户提供一个较大容量的存储空间。在网络中可自动获得同设定MAC地址一致的IP包,完成IP包的收发。该设计方案中以SPCE06lA单片机为主控制器,用以控制DM9000完成以太网数据包收发以及TCP/IP协议实现。DM9000主要特性如下:工作电压为5 V,与MCU连接模式有ISA 8 bit/ISA 16 bit模式,并支持3.3 V和5 V的I/O控制;支且持EEPROM(93C46),可供存放系统所需信息。图2给出该以太网模块的硬件电路连接。
这里需注意的是:SPCE06lA主控板和以太网模块必须共地,最好采用同一电源供电,该以太网模块供电电压必须为5 V,控制I/O端口电压为3.3 V;SPCE061A主控板和以太网模块之间用于数据传输的控制线的长度应不超过20 cm;供电电流大于200 mA。
1.3 控制电路
外接电器控制电路是实现单片机到电器控制的主体,单片机通过处理网页得到用户的操作指令,将指令转化为电信号通过单片机的I/O接口送给外接电器控制电路,经三极管的两级放大,再通过继电器完成外接电器与交流220 V电源的接通和断开以及指示灯的点亮和熄灭等操作。图3为控制电路原理图。
在设计该控制电路时,应注意的是:控制电路的继电器工作电压为6 V,但实际供电电压应大于6 V,以保证继电器更好的工作;指令控制端口的电压应为5 V,如果达不到,应加放大电路放大,以免影响指令执行。
1.4 电源及供电转换电路
该电源电路设计是将交流220 V通过变压器转换成直流9 V,为外接电器控制电路供电,同时在通过三端集成稳压器7805将直流12 V转换成5 V,分别给SPCE061A主控板和以太网模块供电。这样可使用户采用最常用的电源,即可为对该设备供电。其电路如图4所示。
图4中,变压器的选择要合适,三端集成稳压器要做好散热设备,以免烧坏,导致整个设备无法正常工作。
2 系统软件设计
2.1 服务器程序
根据需求分析,软件设计需要实现在藏文基础上的TCP服务器,同时,考虑到人性化,在家电动作方面也给出藏文语音提示,其核心是unIP的移植和TCP服务器的实现。其中,unIP协议栈是运行在凌阳公司unSP系列单片机上的一个精简TCP/IP协议栈。协议栈的初始版本由LwIP移植而来,它不仅仅只是LwIP说明的arch目录下的改动, core部分也做了不少的修改以适应unSP的16 bit的特性到协议栈中,unSP并不具有8 bit的数据类型,地址也是以16 bit为单位,因此unIP与LwIP并不兼容,此外还增加DNS Client域名解析客户端以及分应用实例,例如WEB SERVER等。保持协议栈的完整性。该设计方案需利用unIP协议栈中提供的运输层TCP协议,建立应用层HTTP协议,以便完成Web服务器,使得网页和服务器的数据能够相互通信。
单片机端TCP服务器的实现:HTTP协议是一个常见应用层协议,它是基于TCP协议的。在本方案中通过unIP提供的TCP/IP协议的一些接口函数API实现该应用层协议。实现整个服务器的具体思路为:
1)初始化unIP协议栈,然后使用DM9000创建一个网络接口,添加至unIP协议栈内,并将其设置为unlP协议栈的默认网络接口。
2)申请创建一个TCP协议控制块,并将其配置为监听80端口(Web 服务的默认端口),同时设置好TCP协议接收连接的回调函数(指用户将自行定义的函数的函数指针通过某种方式告诉协议栈,使得协议栈在适当时候,通过该函数指针调用该函数,从而执行用户操作)。
3)建立循环,在循环中不断检测DM9000是否有新的数据输入,并将接收到的数据包送至协议栈处理。当TCP的3次握手完成后,协议栈自动调用用户设置好的接收连接回调函数,交由应用层处理连接建立后的事宜。
由上述思路,构思出基于TCP协议的服务器的流程,如图5所示。
2.2 藏文网页部分设计
藏文网页的实现有两种方案:使用图片形式和标准藏文国际编码(UTF-8)。前者是所有的操作系统都可打开所做的藏文网页。但处理过程相对繁琐;后者采用国际藏文编码,网页制作简单,但所做的网页必须在装有藏文字库的系统上显示。本方案的网页需通过网页转换工具将相应的网页数据存储到单片机中。由于网页转换工具无法保存图片信息,故只能选择后者。
监控界面在本方案中以3个电器(空调、灯、音乐)为例设计的,电器的操作设计通过按钮控制,电器状态的监控通过游走的表显示,当未对电器操作时电器的状态默认为“C”(关闭),当电器被打开后状态栏的状态是“0”(打开),其网页如图6所示。
制作好的藏语网页文件经过“NetpagetoC”网页转换工具将网页数据转换成C文件添加到相应的工程位置中,从而完成网页数据在SPCE0-6lA与以太网模块所构成的服务器中的存储。
3 系统测试
将以DM9000以太网模组和单片机组成的TCP服务器终端直接接到交换机上,即可通过互联网访问该终端设备。把TCP服务器接好后,通过能够连接Internet的PC机即可直接登陆到该TCP服务器,并且可设置相应的家用电器的状态。本方案采用控制接线板供电线路的开关进行模拟。登陆TCP服务器后,点击家用电器的开或关,在网络通畅时,家用电器能够在小于l s的时间内响应PC机的控制指令。该系统设计的主控板消耗电流20 mA;太网模组消耗电流为212 mA;接线板控制驱动电路消耗电流40 mA。
4 结论
经测试各项功能指标均达到系统设计要求。本方案结合西藏地区人民日益增长的物质文化生活的需要,立足于解决和提升藏族同胞实际的生活质量,在需求方面尽量考虑藏民们需要的同时,具有操作简便,界面友好等特点。进一步开发该系统设计,其将具有一定的市场前景。