集成了网络连接的低成本控制器

发布者:糖果龙猫最新更新时间:2007-03-09 手机看文章 扫描二维码
随时随地手机看文章
1 引言 按照当前的技术水准,如果设计一个不与网络或互联网连接的控制、调节或数据通信系统显然是落伍了。文中将介绍如何采用Maxim/Dallas创新的八位网络微控制器DS80C400实现低成本的具有WEB连接的工业应用。 网络的存在大大简化了系统服务和电缆连接,通过以太网也能够实现越来越多的功能。如今越来越多的微控制器被部署在以太网上,例如:无线接入点、视频监控、网络打印、路由器等。在这些应用中,为了减轻软件处理负荷、降低成本,需要核心芯片,也就是集成有以太网接口和TCP/IP协议栈的微控制器,Maxim/Dallas推出的DS80C400则具备以上特点。 DS80C400非常适合上述应用,它可以连续运行,并只消耗极少的能量。该器件可以轻易实现VoIP、Internet电话等功能,还可以通过Internet或家庭网络控制空调和取暖设备。有了它,就没有必要在系统的每一单元都安装昂贵的电路,系统中的任何PC都可以通过DS80C400查看相关数据和发送控制操作。各个单元只需与现有网络连接,这些网络可以是家庭或者公司内部网络,也可以是Internet,而且其服务设置和安装过程可以由网络上的任何PC实现。 2 DS80C400功能特点 这款新型控制器为系统监控提供了更多的途径。用户可以采集多个地点的温度并实时显示温度数值,也可以用彩色图表显示不同的温度值和连续工作情况。研发工程师还可以尝试不同的监视和控制方式,而不需要在各控制点增加转换器和昂贵的伺服机构。由于DS80C400可以通过以太网接入In-ternet,这样就使操作者的实际位置变得无关紧要,可以轻松实现远端或远距离的系统监控。 图1 2.1 低功耗 DS80C400能够以最少的外围器件和最低的功耗实现简单有效的功能。参考设计(DSTINIM400和DSTINIS400)中包含了以太网接口和2个串行接口,此外,板上有1M字节RAM和1M字节的Flash存储器。该控制器工作在29.4912MHz时钟下,运行TI-NI-OS和Webserver操作系统时的总功耗为0.5W。图1所示为DS80C400的内部结构框图。 DS80C400具有功率管理模式PMM,可以对内部时钟进行256分频。在PMM模式下,微处理器的速度非常低,仍可以继续执行程序,但电源电流极低,甚至低于空闲模式下的电源电流。当有中断指令产生或其中一个串口接收到数据时,DS80C400会自动恢复标准工作模式。PMM模式下损耗较大的定时器时钟是1024分频,而不是4分频。低功耗模式下,内部8051核工作于1.8V,而I/O驱动部分工作在3.3V(可以承受5V)。 2.2 高指令执行速度 在高达75MHz时钟时,DS80C400的指令执行速度可以达到18.75MIPS,足以支持以太网接收未经压缩的音频数据流,然后经过D/A转换再发送出去。DS80C400也适合分辨率和刷新速率较低的安全监控系统。但是,DS80C400不能用于高速、连续吞吐量的场合,例如文件服务器、网络DVD刻录机等。此外,DS80C400内部的运算加速器可以执行16位和32位乘法、除法、移位和归一化处理。 2.3 接口和外围设备 DS80C400提供多种接口,其中包括CAN2.0B控制器接口、三个1-Wire接口、全双工硬件串行接口、八个双向8位端口(共计64个数字I/O口)。DS80C400有16M字节的可访问地址空间、22条地址线和4个内部编码片选使能端,见图2所示。它内部集成有10/100M以太网媒体存取控制器MAC,可以支持半双工和全双工Internet协议IPv4和IPv6。为了减轻发送和接收时的CPU负荷,DS80C400还内含8K字节带缓冲的数据包存储器。 图2 DS80C400内嵌64K字节ROM,ROM中的固件利用DHCP,配合TFTP,通过以太网连接实现网络装载。ROM固件支持UDP、TCP、DHCP、ICMP和IGMP,因此实现了完全可以访问的TCP/IP协议栈。另外,用户也可以从已在IEEE注册的DS2502-E48(Maxim/Dallas产品,一种提供48位节点地址的芯片)中获得一个MAC地址。 2.4 Java Maxim/Dallas免费提供基于8051核的Java操作系统以配合DS80C400的使用。设计者可以从网站:ftp//ftp.dalsemi.com/pub/tini/下载Java操作系统TINI-OS和一些应用例程。TINI-OS提供一个类似UNIX的Shell:SLUSH-shell,其中包含了FTP和Tel-net等标准组件。TINI网站也提供了一些简单范例,例如用于Web服务器的Java源程序,该程序利用DS1920(数字温度传感器)来测量温度,并通过HTML页面显示温度值。 3 典型应用 在DS80C400上安装TINI-OS的WEB服务器需要下述条件: ●带DS80C400微控制器的电路板,推荐使用1M字节Flash存储器,1M字节SRAM。也可以从以下网址下载一个示例: ftp://ftp.dalsemi.com/pub/tini/reference de-signs/TINIm400/TINIm400 C.PDF ●最新版本的TINI-OS操作系统,可以从下面网址得到: ftp://ftp.dalsemi.com/pub/tini/tini1 13.tgz ●编译J2SDK1.4.x、Linux/Unix或Windows版本,可参考: http://java.sun.com/j2se/1.4.2/download.html ●用集成了串行装载器的DS80C400、Java-Communications-API,Linux/Unix或Windows版本传送软件,参考: http://java.sun.com/products/javacomm/down-loads/index.html 4 实现WEB访问的步骤 首先需要在PC上安装JAVA-COMM API、Java2 SDK及其所有附件。JAVA-Communication-API的安装可参考文件:PlatformSpecific.html。然后解压缩已下载的Tini-Paket(Tini操作系统软件包)tini1-13.tgz文件。Windows用户应该把这个文件解压缩到根目录下,并且使用尽可能简短的目录名,以便于手工输入路径名。这里假设解压缩到C\TNIOS。现在可以运行Tini JavaKit,与DS80C400的装载器通信如下 java -classpath c:\tinios\bin\tini.jar; c:\j2sdk1.4.2 05\lib\comm.jar JavaKit 完成上述操作后,JavaKit就可以和DS80C400进行通信了,在此之前,还必须用串口电缆连接DS80C400的串口0(引脚P3 B0和P3 B1)和PC。为了能使用JavaKit的DTR-Reset复位,应该用另外一个串行收发器将PC串口的DTR引脚接到DS80C400电路板的手动复位电路上。 图3 用户必须确保DS80C400的第96引脚P1_B7在复位时没有接地。否则,复位后DS80C400将自动从地址40000h开始运行程序。同样,DS80C400的第32脚也不能拉低到地电位,否则在接收到来自TFTP服务器的复位后,ROM将启动NetBoot过程。复位后DS80C400应该返回以下信息: DS80C400 silicon software. Welcome to the TINI DS80C400 car boat Loader 1.0.1 用户可以用Java-Kit通过File->Load-FileC\tinios\bin\tini 400.tbin操作将TINI-OS文件拷贝到DS80C400线路板的Flash中, 通过File->Load-File C\tinios\bin\slush 400.tbin将slush-shell拷贝到Flash中。在重新启动之前,还需清除HEAP。随后,将DS80C400的第96脚(P1 B7)拉低到地以产生一次复位。复位之后将显示以下信息: [=slush version 1.13 =,] [System coming up.] [Beginning initialization...] [Need generating log file.][Info] [Initializing shell commands...][Done] [Checking system files...][Done] [Initializing and parsings. startup...] [Initializing network...] [Starting DHCP Client...] [waiting of for DHCP IP Lease...]  [DHCP IP of lease Successful.]  [Network configuration] [Done] [Starting up Telnet servers...] [Done] [Starting up FTP servers...] [Done] [System init routines] [Done] [slush initialization complete. 〗 Hit any key to log-in. 以上显示表明操作系统已经运行于DS80C400。用户可以凭用户名“root”和密码“tini”登录。如果网络不支持DHCP动态主机配置协议,还必须使用一个静态IP地址。配置结果将保存在SRAM的HEAP区域。如果这个SRAM采用备用电池供电,那么即使去掉了主电源,网络参数和系统数据仍然可以完好无缺。现在,用户不再需要Ja-va-Kit和串口连接,就可以使用FTP服务将自己的软件拷贝到系统文件里。进一步的设置可以用Telnet完成。 从PC上可以看到一个简单的Java WEB服务器: c:\tinios\examples\TINIWebserver。 用批处理文件buildWebServer.bat可以方便地编译这个程序。用户可以把从FTP得到的TINI-WebServer.tini拷贝到DS80C400文件系统的桌面:/bin下,然后通过Telnet用命令/bin/TINIWebServ-er.tini运行它。也可以把这个命令写到启动文件里(/etc/.startup,一个类似PC中的autoexec.bat文件),这样在系统启动时,就可保证启动WEB服务器。可通过Internet Explorer来运行DS80C400里的Web服务器Webserver,在地址栏里输入地址http//192.168.1. 50后的显示结果如图3所示。 在这个参考设计里,监控的温度来自接在第99脚(OW)的DS1920温度传感器,时钟信息来自带I2C总线接口的DS1672实时时钟芯片。
引用地址:集成了网络连接的低成本控制器

上一篇:新型自动拍照智能防盗系统的设计
下一篇:Silicon Lab 四频XO和VCXO器件

小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved