




已阅读5页,还剩16页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
SPCE061A在基于以太网的语音传输系统中的应用文章来源凌阳科技教育推广中心作者凌阳科技教育推广中心发布时间2006724104647摘要SPCE061A是凌阳科技推出的一款16位结构的微控制器。SPCE061A内嵌32K字的闪存(FLASH),内置两路DAC,能以单芯片实现少量语音的存储、放音;非常适合于带有语音功能的产品应用。DM9000是一款以太网控制芯片,在网络中它可自动获得同设定MAC地址一致的IP包,完成IP包的收发。本文介绍了以61板(SPCE061A精简开发板)与DM9000接口模组所组成的以太网终端为硬件平台,以UNIP精简TCP/IP协议栈为软件平台建立WEBSERVER(网页服务器)的方法,并阐述了实现基于此WEBSERVER的文件传输并控制SPCE061A进行语音播放的方法。关键词SPCE061A凌阳单片机DM9000以太网UNIP文件传输第一章引言21世纪的重要特征就是数字化、网络化和信息化,它是一个以网络为核心的信息时代。作为目前因特网的重要组成部分的以太网,它以其低廉的组网成本和较高的传输速度成为当今局域网的主导者。以以太网为载体进行的数据通讯和交互,越来越成为信息共享和交流的主要途径。本文介绍了使用SPCE061A(SPCE061A精简开发板)和DM9000(以太网模组)构成WEBSERVER(网页服务器)平台并在此平台上做客户端向服务器端的的文件传输及控制服务器端播放语音的一种方法。第二章芯片特性简介21SPCE061A芯片特性简介SPCE061A是凌阳科技研发生产的一款高性价比十六位单片机,可以非常方便灵活的实现语音的录放功能,该芯片拥有8路10位精度的ADC,其中一路为音频转换通道,并且内置有自动增益电路。这为实现语音录入提供了方便的硬件条件。两路10精度的DAC,只需要外接功放(SPY0030A)即可完成语音的播放。另外凌阳十六位单片机具有易学易用、高效率的指令系统和集成开发环境。该开发环境支持标准C语言,可以实现C语言与凌阳汇编语言的互相调用,并且,提供了语音录放的库函数,只要了解库函数的使用,就会很容易完成语音录放,这些都为软件开发提供了方便的条件特性16位NSP微处理器;工作电压内核工作电压VDD为3036VCPU,I/O口工作电压VDDH为VDD55VI/O;CPU时钟032MHZ49152MHZ;内置2K字SRAM;内置32K字闪存ROM;可编程音频处理;晶体振荡器;系统处于备用状态下时钟处于停止状态,耗电小于2A36V;2个16位可编程定时器/计数器可自动预置初始计数值;2个10位DAC数模转换输出通道;32位通用可编程输入/输出端口;14个中断源可来自定时器A/B,时基,2个外部时钟源输入,键唤醒;具备触键唤醒的功能;使用凌阳音频编码SACM_S240方式24K位/秒,能容纳210秒的语音数据;锁相环PLL振荡器提供系统时钟信号;32768HZ实时时钟;7通道10位电压模数转换器ADC和单通道声音模数转换器;声音模数转换器输入通道内置麦克风放大器和自动增益控制AGC功能;具备串行设备接口;低电压复位LVR功和低电压监测LVD功能;内置在线仿真ICE,INCIRCUITEMULATOR接口。22以太网模组简介221技术特性与参数指标产品型号DMBOARDV12模组工作电压5V和MCU连接模式有ISA8BIT/ISA16BIT模式,并支持33V和5V的I/O控制。可方便和不同电压和界面的MCU连接支持多种连接模式,电端口支持10MHALF/10MFULL/100MHALF/100MFULL/AUTONWAY支持EEPROM93C46,可供存放系统所需信息拥有4MBIT串行数据存储器及其接口222主要功能以太网模组是一款以DM9000为核心芯片的以太网数据报收发控制模块,该模块与控制器配合除可以完成以太网数据报收发之外,还具有4MBIT的串行FLASH存储器SPR4096,可以为用户提供一个较大容量的存储空间。DM9000是一款以太网控制芯片,在网络中它可自动获得同设定MAC地址一致的IP包,完成IP包的收发。在本方案中应用了SPCE061A单片机做为主控制器,用以控制DM9000完成以太网数据报收发以及TCP/IP协议实现。以太网模组的结构框图如图21所示。图21以太网模组结构框图各部分的说明如表21所示。表21以太网模组各部分说明ADM9000HRJ45插座B25M晶振I连接状态指示灯CSPR4096JDM9000数据端口D控制跳线(JP5、JP4)KSPR4096操作端口E电源输入口LDM9000控制端口F电源输出口M5VTO33V变压器G10M/100M滤波器其中,控制跳线JP5短接为选择DM9000工作在8BIT模式,跳开为选择DM9000工作在16BIT模式;JP4短接为选择使用EEPROM93C46,跳开为不选择使用。223注意事项电源供应必须保证在200MA以上与MCU配合时数据线同控制线不要超过20CM编程之前请根据需要设定JP5和JP4第三章系统总体方案介绍系统结构框图如图31所示。图31系统框图系统主要由61精简开发板和以太网模组组成,通过交叉网线与PC机相连或通过直通网线与HUB或交换机相连。SPCE061A控制DM9000实现以太网通讯,并在UNIP精简TCP/IP协议栈的支持下完成以下功能简单WEBSERVER(网页服务器)。PC机可以通过以太网访问SPCE061A上运行的网站;语音文件上传。PC端可以通过网页上传语音文件至SPCE061A;文件存储。SPCE061A将上传的语音文件保存至SPR4096,并提供文件的存储地址等信息;多文件支持。SPCE061A可以存储多个PC端上传的语音文件;语音播放。PC端通过网页可以控制SPCE061A播放上传的语音文件,提供“播放上一曲“、“播放下一曲“停止播放“等功能;删除文件。PC端可以通过网页删除SPR4096中存储的语音文件,以便上传新的语音文件;图32所示的是PC端浏览器访问此WEBSERVER时的一个页面。图32运行于SPCE061A上的WEBSERVER提供的首页第四章系统硬件设计系统主要由SPCE061A主控制器应用系统电路、主控器电源电路、一路DAC音频输出电路、DM9000电路、SPR4096电路等部分组成。SPCE061A应用系统原理图如图41所示。图41SPCE061A应用系统原理图主控板的电源部分采用了凌阳公司的一颗SPY0029稳压芯片,该芯片可以输出33V稳定电压,为整个系统供电。图42音频输出电路原理图图43是音频输出电路图。SPCE061A内置2路10位精度的DAC,只需要外接功放电路即可完成语音的播放。电路中SPY0030是凌阳公司一款音频放大芯片。它和LM386相比,LM386工作电压需在4V以上,SPY0030仅需24V即可工作两颗电池即可工作;LM386输出功率100MW以下,SPY0030约700MW。图43音频输出电路原理图DM9000电路原理图如图44所示。图44DM9000电路原理图该电路为DM9000的工作电路。以太网模组的电源电路如图45所示。由一颗LD1117将接入的5V电源变换为33V为整个模组供电。图45以太网模组电源电路图46所示的是SPR4096的工作电路。该电路也是SPR4096的典型应用电路。图46SPR4096工作电路61板与以太网模组之间的连线关系如图47所示。图47线束连接图第五章系统软件设计51概述此方案中用户需要做的是一个能与PC端的浏览器通信,接受浏览器的页面请求并回传网页给浏览器显示的WEBSERVER,同时,此WEBSERVER应该允许并支持浏览器上传文件到服务器。为了实现这个WEBSERVER,大致需要做以下工作图51系统软件模块层次关系DM9000驱动需要实现与以太网链路的数据交换;TCP/IP协议实现与PC端应用程序的平等交互;HTTP协议处理经过TCP/IP协议传输的PC端浏览器发过来的HTTP请求,并将网页数据通过TCP/IP协议送至PC端的浏览器显示;客户端请求处理部分是根据客户端提交的HTTP请求选择回传页面,或实现对SPCE061A的控制;网页文件以及文件存储都属于SPCE061A管理文件的工作。一方面SPCE061A根据客户请求分析的结果将存储的网页回传给客户端,另一方面SPCE061A提取客户端上传的文件并存储。52主要功能实现系统主函数流程如图52所示。图52程序主流程图“系统状态处理“环节是根据系统状态变量决定需要执行的一些常规操作。本方案中,SPCE061A接收到PC端通过网页发送的请求,如果需要播放语音,则会改变相应的系统状态变量,通知此“系统状态处理“程序进行语音解码。在本方案的实现中,使用了UNIP精简协议栈来完成TCP/IP协议部分的工作。“协议栈处理“的过程,就是UNIP对接收到的以太网数据包进行拆包,并将客户端的请求信息送到HTTP协议的过程。这个过程是在UNIP协议栈内部自动进行的,用户不需要过多关心。用户所要做的是根据UNIP协议栈提供的接口完成接收到数据后的处理,根据客户端提出的请求执行相应操作,并回传网页给客户端。HTTP协议中对TCP协议送来的数据的处理流程如图53所示。该程序是UNIP协议栈中的TCP协议接收到数据后自动调用的,它的入口参数之一就是客户端发送来的HTTP协议数据报。此程序也就是对该数据报进行分析,从中提取有用信息。图53HTTP协议接收接收数据处理程序流程图目前运行于SPCE061A上的此WEBSERVER仅支持简单的GET方法和POST方法的HTTP请求。对HTTP协议的POST方法的处理主要用来从数据包种提取客户端发送的文件并存储到SPR4096,完成文件上传功能。对GET方法的HTTP请求的处理程序就是图中所示的“客户端请求处理程序“。其流程图如图54所示,主要工作是分析GET方法中的URL信息。在URL中可以处理提取客户端通过网页提交的表单信息,并根据表单内容做出判断,从而控制SPCE061A完成语音播放等工作。图54客户端请求处理程序流程图以上是对HTTP协议数据的处理,也是本方案主要功能的实现。53运行于NSP平台的TCP/IP协议栈UNIP协议栈简介UNIP是运行在凌阳公司NSP系列单片机上的一个精简TCP/IP协议栈。协议栈的初始版本由LWIP移植而来,之所以不沿用LWIP的名字是因为移植工作不仅仅只是LWIP说明的ARCH目录下的改动,CORE部分也做了不少的修改以适应NSP的16BIT的特性(NSP并不具有8BIT的数据类型,地址也是以16BIT为单位),因此UNIP与LWIP并不兼容,此外,增加了DNSCLIENT域名解析客户端)到协议栈中,以及部分应用实例,例如WEBSERVER等等,综合以上原因,给本协议栈重新命名为UNIP,特指是运行于NSP系列单片机之上的网络协议栈。UNIPSTACK从资源消耗来说是一个精简的协议栈,而协议栈的实现却是是非常的完整。表51所示就是本协议栈所具有的所有特性。表51UNIP协议栈特性表特性UNIPSTACK多网络接口(ETHERNET,SLIP)支持ARP支持IP不支持IP分片与重组支持ICMP(包括ECHO,和DESTINATIONUNREACH)支持UDP(包括UDPCHECKSUM的计算)支持,可选(已精简)TCP选项(只支持最大报文段长度MSS)支持TCP滑动窗口支持TCP慢启动、拥塞避免支持TCP快速重传、快速恢复支持TCP错序数据重组支持,可选TCP紧急数据(URGENTDATA)支持往返时间估计(RTT)支持DHCP客户端(可自动获取网络设置)支持,可选(已精简)DNS客户端(可解析普通域名以及邮件地址MX记录)支持,可选模式化以及非模式化缓冲区存管理支持动态内存管理支持,可选原始API(网络编程)支持目前,UNIP是以库的形式提供给用户,通过对各个部分API的调用,即可编写自己的应用层协议。API总共分7部分,包括网络接口层(NETIF开头)、动态内存管理模块(MEM开头)、缓冲区管理模块(PBUF)、UDP层(已精简)、TCP层、DHCP模块(已精简)和DNS模块。54基于TCP的HTTP服务器的实现本方案的主要功能都是在HTTP协议基础上的实现的。HTTP协议是基于TCP协议的一个常用应用层协议。依靠UNIP提供的TCP/IP协议的一些接口函数API,用户可以方便的实现这个应用层协议。图52所示的主程序流程就是HTTP协议工作的主流程,也是TCP服务器的典型流程。首先使用DM9000创建一个网络接口,然后为服务器进程申请一个TCP协议控制块,并将其配置为监听本机80端口(WEB服务的默认端口),同时设置好TCP协议接受连接的回调函数。当链路层检测到有新数据输入,会将数据包送至协议栈处理。如果该数据包是客户端发起的连接请求,在TCP的三次握手之后,协议栈就会自动调用前面设置好的接受连接回调函数,交由应用层处理连接建立后的事宜。协议栈对接收到的REMOTE数据的处理流程如55所示。图55WEBSERVER协议栈处理流程这个流程的大部分是在UNIP这个精简TCP/IP协议栈中实现的,只有红色的部分是用户直接接触的。对于服务器的开发来讲,用户需要注意的地方是其中几个关键的回调函数HTTP_ACCEPT该函数执行客户端与服务器端三次握手之后服务器程序对该连接的确认工作。HTTP_SEND当服务器端发送的数据被REMOTE端确认,服务器收到确认信号之后就会调用该函数以处理没有发送完毕的数据。即,文件的续传发生在这里。HTTP_RECV当服务器端接收到来自于REMOTE端的数据,会引发该函数的调用。HTTP_POLL当某个连接长期处于空闲状态时,此函数将被协议栈调用。即所谓的超时处理。SEND_DATA此函数用于服务器端向REMOTE端发送数据。做为服务器,发送数据一般都是在接收到客户端的请求之后根据需要才执行的。这个过程可以用图56所示的流程大致表示。图56HTTP协议处理流程至此,一个基于TCP协议的服务器即被建立。它不断监听某个特定端口流入的数据,并对数据做出响应。55HTTP协议中的两种请求方法简介在INTERNET中,GET方法和POST方法是最常用的两种客户端请求方法。GET方法主要用于页面请求以及普通表单信息的提交等;POST方法主要用于提交表单数据尤其是大量数据。GET方法是默认的客户端发起的请求形式。下面是一个客户端使用GET方法提交给服务器的数据格式的示例GET/SAMPLEJSPHTTP/11ACCEPTIMAGE/GIFIMAGE/JPEG,/ACCEPTLANGUAGEZHCNCONNECTIONKEEPALIVEHOSTLOCALHOSTUSERAGENTMOZILA/40COMPATIBLEMSIE501WINDOWNT50ACCEPTENCODINGGZIP,DEFLATEUSERNAMEJINQIAOBOUNDARY7D6203221800ECPROXYCONNECTIONKEEPALIVEUSERAGENTMOZILLA/40COMPATIBLEMSIE60WINDOWSNT50MAXTHONHOSTWWWUNSPCOMCNCONTENTLENGTH562PRAGMANOCACHECOOKIEWWW2EUNSP2ECOM2ECN2FDVBBS2FUSERID31633TAB4ASPSESSIONIDAQSADBAQLDPBBPLBAKKPLPCPMMCOOCFCUPNUM1DVBBS7D6203221800ECCONTENTDISPOSITIONFORMDATANAME“ACT“UPLOAD7D620322180
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 幼儿园兴趣班合作协议范本9篇
- 东北话二级考试题及答案
- 难点详解人教版八年级上册物理《声现象》同步测评试题(含答案解析)
- 难点解析-人教版八年级上册物理声现象《声音的特性声的利用》单元测试练习题(含答案解析)
- 2025江西省历年事业编考试真题及答案
- 河南开封三模考试试卷及答案
- 考点攻克苏科版八年级物理下册《从粒子到宇宙》综合练习试卷(含答案详解)
- 扶沟县期中考试卷及答案
- 三级考试机器人理论题及答案
- 2025抗菌药物合理使用培训测试题及答案
- 服务器健康巡检规定
- 2025年银行从业资格考试公共基础真题及答案
- 2025年辅警考试真题及答案
- 2025-2026学年统编版五年级上册语文第二单元过关试卷附答案(三套)
- 2025年上海公务员录用考试《行测》真题及答案解析(记忆版)
- 2025年农村土地租赁协议(合同样本)
- 2025年初中道德与法治八年级上学期期中测试试卷
- 铁路礼仪培训课件
- 海上安全培训课课件
- 神经外科重症管理临床指南
- 铁路客运防寒过冬课件
评论
0/150
提交评论