用户登录  |  用户注册
首 页商业源码原创产品编程论坛
当前位置:PB创新网文章中心解决方案电子通信

用MSP430实现的嵌入式因特网终端设计

减小字体 增大字体 作者:佚名  来源:本站整理  发布时间:2009-01-10 23:58:25
器MSP430F149和Crystal公司的以太网控制器CS8900A,下面简单介绍一下这两个组件,再论述硬件实施方案。

3.1 MSP430F149[2]

MSP430F149具有60K字节的FLASH存储器和2K字节的RAM、看门狗定时器(Watchdog Timer)、6个8位的通用I/O口、12位A/D转换器、2个串行通信接口和1个硬件乘法器等。MSP430F149的60K字节FLASH存储器足以存储网页数据, 6个通用I/O口既可以用来控制以太网控制器CS8900A,也可以用来执行其它的用户命令,12位A/D转换器可以用来在终端采集数据,然后再通过网络发给用户.

3.2 CS8900A[3]

CS8900A低功耗的以太网控制器,被广泛应用于工控机中。其高集成度的设计(在应用当中只需要极少的外围元件)和简单容用的总线接口,非常适用于本设计。目前,许多的以太网控制器都只提供PCI(周边元件扩展接口)接口,而CS8900A可以直接和微控制器相连,所以,可以MSP430F149的I/O口来直接对CS8900A进行控制,具体连接方式如图2所示。另外,CS8900A可以直接3V供电,这有利于和MSP430F149之间的电平匹配。

3.3 MSP430F149与CS8900A的接口

CS8900A有三种工作模式:I/O模式、存储器模式和直接存储器存储模式,默认为I/O模式,可通过程序使其工作于其它模式。CS8900A的各个工作模式各有优缺点,本设计当中,采用的是它的I/O模式。CS8900A共有8个16位的I/O口,这8个I/O口与片内的8个16位寄存器相对应。如图2所示,CS8900A采用8位的数据总线方式和MSP430F149的P5口相连,接口中共用到14个引脚。复位后,CS8900A默认选择I/O地址为0x300,并且一直保持该默认地址工作。

3.4 系统硬件原理

整个系统的硬件原理如图2所示,下面详细分析图中的各个模块。

javascript:window.open(this.src);" style="cursor:pointer;"/>

CS8900A的XTAL1(97)引脚和XTAL2(98)引脚接一20MHz的晶振,由于其片内XTAL处集成了电容,所以,不需要外接电容。CS8900A的复位引脚为高有效,在芯片上电工作时,需要一个复位信号,这由R9和C17提供联合提供。CS8900A有两个不同的LED控制引脚:LANLED(100)引脚和LINKLED(99)引脚,用于控制LED以显示CS8900A的工作状态。LANLED引脚接一个红色LED(D1),当CS8900A接收或发送数据时,该引脚输出低电平,点亮红色LED。LINKLED接一个黄色LED(D2),当CS8900A和工作的以太网络连接时,黄色LED点亮。

和MSP430F149有关的电路,除了上述的和CS8900A连接的部分外,还有JTAG(Joint Test Action Group)接口、晶振和复位电路。其中,JTAG接口用于编程和调试,用一个14引脚的接头引出了TCK、TDI、TDO/TDI四个用于编程和调试的引脚,可直接和MSP430的调试工具FET(FLASH Emulation Tool)相连。用户也可以通过电平转换芯片MAX3221把MSP430F149的串行通信口也引出,以实现需要的功能。MSP430F149时钟电路部分,需要接一个8MHz的晶振和两个15pF的电容。

整个系统由3.3V的电源供电,绿色LED(D4)为整个系统的电源指示灯。为了系统扩展的需要,也可以把MSP430F149所有未用到的I/O引脚都用接头引出。

进行PCB(印制电路板)设计时,通过旁路电容滤波,以给MSP430F149和CS8900A提供稳压的电源信号。为了得到更好的系统性能和减小电磁干扰,最好能够把PCB布置为四层板。

3.5 CS8900A与局域网的接口

CS8900A片内集成了一个10M的以太网收发器,其片内集成了所有用于和局域网通信的模拟和数字电路,其可通过一个电磁隔离器E2023直接和局域网相连。电阻R1用于连接两根接收线,和两根发送线相连的电阻R2和R3则用于阻抗匹配。RJ45为网络接头,其可接10M或100的网络集线器(hub)。

4. 软件设计

本设计的软件部分主要分为四大部分:以太网模块、TCP/IP模块、API(应用程序接口)和HTTP(超文本传输协议)服务模块,全部程序用C语言编写(便于与其它微控制器系统的接口的扩展),并通过IAR Workbench for MSP430 V2.10编译。

4.1 以太网模块

以太网部分程序的主要作用是对以太网控制器CS8900A进行驱动、以函数的形式给其它模块提供读写CS8900A寄存器的接口、产生读写CS8900A的时钟等。以太网程序包含了网络接口的各种配置,其中,最重要的是,MAC(介质访问控制)地址的配置。MAC地址共48位,在程序中用6个无符号整型变量存储MAC地址值,每个MAC地址值必需为唯一的,并且不能是0xFFFFFFFFFFFF。

以太网控制器的配置过程如下:在系统上电后,首先调用函数Init8900()进行以太网控制器CS8900A的初始化配置,然后CS8900A被复位,MSP430F149把本机的MAC地址以配置序列字的形式发给CS8900A,CS8900A把MAC地址存储在寄存器中。配置完成后,MSP430F149就可以对CS8900A读写数据了。

4.2 TCP/IP模块

TCP/IP模块是整个系统软件的关键,定义了使用网络来收发数据的协议,使用以太网模块所提供的各种读写函数来接收或发送数据,并给应用层提供简单易用的API接口。

TCP/IP模块中,最重要的函数是DoNetworkStuff(),该函数的主要作用是进行TCP事件处理,应该周期性地被用户程序调用。在函数DoNetworkStuff()中,定义了一些用于标志以CS8900A和MSP430F149工作状态的标志量,该函数的工作流程如图3所示。函数DoNetwor

上一页  [1] [2] [3]  下一页

Tags:

作者:佚名

文章评论评论内容只代表网友观点,与本站立场无关!

   评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
PB创新网ourmis.com】Copyright © 2000-2009 . All Rights Reserved .
页面执行时间:26,406.25000 毫秒
Email:ourmis@126.com QQ:2322888 蜀ICP备05006790号