微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于单片机的嵌入式系统网络设计方案

基于单片机的嵌入式系统网络设计方案

时间:03-01 来源:3721RD 点击:

如下区别:

  (1)操作系统:Windows或UNIX都是多任务操作系统,这使得代码编写简单化,在单片机只能是单任务系统,代码结构为顺序执行+硬件中断的方式,无法并发执行。

   (2)内存分配:Windows或UNIX的内存分配是动态的。而一般单片机只有外接的一块32K字节的RAM,并同时被各个协议使用。一个最大的以太 网数据包有1.5K字节,分配一包的缓冲区就要1.5K字节。为此,我们分配一个256×6=1536个字节的固定的RAM来存放收到的以太网数据包。收 到一包就处理一包。

  (3)指针:在PC里所有程序都必须先放在RAM里才能运行,所以它的指针都指向RAM.而单片机的结构和PC的结 构有很大差别,指针类型很多,各指针运算的速度也不一样,特别是"一般指针"运算很慢,还会占用很多程序空间。UNIX实现TCP/IP的源代码中,用得 最多的就是指针,而在单片机里一般要求少用指针,或使用特定类型的指针。对使用UNIX的源代码需要作很多的改动。

  (4)参数传递:在 UNIX实现的TCP/IP源代码中,一般有很多的参数传递,而在单片机里允许传递的参数是有限的(因为受到内部RAM的限制),同时参数传递的过程要浪 费程序代码空间,也降低单片机执行速度。所以在单片机的实现里,一般不要做太多的参数传递,而多使用公共的全局变量来实现调用的过程。

   (5)硬件接口:在UNIX或Windows里,对网卡驱动无一例外都是采用中断方式,因为PC的处理速度快,一次中断的处理时间也很短,不会影响系统内 的其它中断。而在单片机的应用中,大部分的方案都是查询式的。PC的NE2000的网卡,一般都是用16位DMA的方式,而在单片机里却只能用8位DMA 方式。这也使UNIX对网卡驱动的代码不能直接移植。

结语

本文设计的嵌入式网络 接入方案,采用廉价的8位51单片机实现了简化TCP协议和UDP协议,并支持主动和被动连接、跨越网关,实现互联网接入,在被控设备与上位控制机之间提 供了一条透明的传输通道,用户不需对原有串口设备或其他数字设备做任何修改,就可享受到网络的好处。目前,本文的系统已被成功使用在网络化的数据采集器 中。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top