分享好友 环保知识首页 环保知识分类 切换频道

基于PC104总线的嵌入式以太网卡设计

2013-03-23 16:31320工控之家工控之家网
引言

  近几年来,PC机技术向嵌入式应用领域渗透的步伐逐渐加大,嵌入式PC机以其超小的体积、极低的功耗散热,无需机箱和底板就可直接叠装组合成各种系统而受到用户的欢迎,因而具有巨大的应用潜力。早期的嵌入式PC机产品是基于8位和16位的ISA总线的标准化母板的PC机,后来又开发出多种小型化嵌入式PC产品。当前,国际上小型化嵌入式PC产品中,较有代表性的当数PC104,其尺寸仅为9.14cm×9.65cm,不用插板和总线母板,模块之间采用层叠式封装。PC104与ISA规范完全兼容。因此,用户能够充分利用目前被广泛认可的PC结构体系、现有的软硬件资源,提供自己的需求组合成更多的功能,开发出新型的PC104产品,以大大缩短产品开发周期及成本。

  随着信息网络技术的发展,工业现场应用中往往存在大量的设备上网的需求。目前,为了实现网络化系统,工业设备都必须以网络终端的形式出现在系统中。由于工业控制系统设备的多样性和分布性,智能模块方式的嵌入式终端已成为主流设备控制方式,而这种网络终端大多用单片机或数字信号处理器来实现。在功能单一及性能要求不高的情况下,采用8位或16位的MCU往往满足了现场要求。随着硬件成本的降低及市场上需要更大功率、复杂而功能丰富的嵌入应用的增加,在嵌入式处理器的高端产品市场上,32位机器得到了很大的成长空间。典型的有Advanced RISC Machines公司的ARM系列、IBM及Motorola公司的PowerPC、Silicon Graphics公司的MIPS芯片等。Intel公司也在它原有的X86系列中专门增加了一种产品系列386EX,其软件与其它X86微处理器保持完全一致。基于此,本文提出了一种利用Intel 386EX嵌入式微处理器设计智能以太网扩展模块NP104的方法。利用此模块,可以实现工业现场应用中基于PC104或工业PC的智能电子设备快速上网的需求。

1 基本组成及功能概述

  NP104是一款支持PC104总线的智能以太网扩展模块。NP104占用PC104总线(或ISA总线)上的一段存储器空间(约4KB),通过高速双口RAM与主系统交换数据。NP104智能网络扩展模块的主要功能包括以下两方面:实时接收系统CPU提交的数据,按照TCP/IP协议进行封装,通过板的以太网控制接口发往目的地;自动接收网络上发来的数据,并进行解包得到应用数据,放入双口RAM供系统CPU读取。

  NP104主要针对基于PC104或工业PC的智能电子设备,需要快速实现设备网络化的应用领域而设计的。由于是通过双口RAM与系统CPU交换数据,客户只需在现有设备中加插1张NP104板卡,在程序中增加简单的几行代码,即可实现通过网络传送数据的目的,最大限度地缩短新产品的入市时间。另外,NP104支持DOC2000大容量电子盘,可实现嵌入式Web服务器等高级网络应用。

  图1是NP104的硬件功能框图。从图1可知,NP104是一个基于Intel 386EX的完整嵌入式系统,其主要技术指标如下:

  *仅使用PC104的XT总线部分,可与所有PC104主板或带PC104接口的工控PC主板配合使用;

  *系统CPU对NP104上的双口RAM读写速度不低于500 KB/s,保证PC104读写速度不影响网络传输速度;

  *NP104上386EX的工作时钟为40MHz,一般指令周期100ns,满足绝大部分应用的需求;

  *标准10Mbps以太网接口,10Base-T连接方式;

  *双口RAM占用的存储器空间可配置;

  *可使用PC104的IRQ5中断资源,以便快速响应通信请求;

  *标准PC104板卡尺寸(96mm×90mm)。

  NP104内部主要技术指标为:

  *48MHz Intel386EX高性能、32位微处理器;

  *512KB Flash存储器,带磁盘文件驱动软件接口;

  *10Base-T以太网控制接口,NE2000兼容;

  *1个标准RS232C串口(9线);

  *可直接支持M-System公司的DiskOnChip2000系列大容量电子盘芯片;

  *供电电压:5(1±0.05)V,工作电流570mA;

  *标准PC104尺寸:96mm×90mm,提供标准安装孔;

  *工作温度-10~65℃,工作湿度为5%~95%,满足国际GB7261第21章规定的电子产品湿热试验要求;

  *NP104可保证不影响其嵌入的整机对图像GB6162规定的干扰试验以及国际GB/T14598.10规定的参级快速瞬变干扰试验的通过。

2 系统设计说明

  NP104内部是一个以386EX为核心的嵌入式系统,通过双口RAM与PC104主CPU进行数据交换。以下把NP104扩展板内CPU称为386EX,PC104上的系统CPU称为主CPU。作为10 Mbps以太网接口,采用8位数据总线宽度即可满足应用需求。双口RAM器件选用4K×8bit的IDT7134LA,器件封装为PLCC52。

  双口RAM数据区定义如表1所列。

  从表1可看出,双口RAM被分成2个基本部分,分别对应主CPU从NP104板中读取来自于网络的应用数据,以及主CPU把应用数据写入NP104缓冲区,NP104按照命令作相应的操作。以下详细描述每一数据段的功能定义。

  表1

  (1)初始化过程

  主CPU对输入缓冲区进行初始化,顺序如下:①输入数据包准备好状态字节清零;②信号灯字节清零,即空闲;③根据需要设备中断使能位;④初始化状态置为0x12345678。386EX对输出缓冲区进行初始化,顺序如下:①输出数据包准备好状态字节清零;②信号灯字节清零,即空闲状态;③根据需要设备中断使能位;④初始化状态置为0x12345678。

  (2)信号灯和状态字节的定义及操作

  为了保证双边CPU都充分发挥其作用,发生在NP104板上双口RAM的数据通信,不采用阻塞式的握手线方式,而是采用非阻塞式的信号灯的通信方式。基本操作原则为:当CPU要对某一缓冲区数据进行读或写操作时,需首先检查相应的信号灯字节,若信号灯处于空闲,则把信号灯设置为忙。之后,就可对相应缓冲区进行操作了,操作完成后,再把信号灯设置为空闲。如果仅仅是查询状态,不需要操作信号灯。对缓冲区进行任何操作的前提是缓冲区的初始化状态字(长整型)已被设置为0x12345678。

  (3)系统主CPU与386EX数据通信过程

  在PC104系统主CPU与NP104通信过程中,主CPU与386EX通过双口RAM进行数据的收发工作。系统CPU向输出缓冲写入数据,则386EX从输出缓冲区读取数据。相应地,386EX从网络中接收数据并写放输入缓冲区中,然后,系统CPU从输入缓冲区中读取数据。这里,输入及输出缓冲区都是相对于系统主CPU而言的。

  (4)中断使能字节及使用

  NP104卡支持主CPU采用中断方式来读取输入缓冲区的数据,之前主CPU需进行设置相应的中断使能位为1的操作。当386EX把RcvDatRdy置1时,NP104卡有专门的硬件逻辑检测这一操作,从而设置对主CPU的中断请求线IRQ#为1;当主CPU把RcvDatRdy清0时,NP104卡将使中断请求线IRQ#复0。相应地,386EX也可以采用中断方式来读取输出缓冲区的数据,之间386EX需进行设置相应的中断使能位1的操作。当主CPU把SndDatRdy置1时,NP104卡有专门的硬件逻辑检测这一操作,并设置对386EX的中断请求线INT3(IRQ7)为1;当386EX把SndDatTdy清0时,NP104卡将使中断请求线INT3复为0。

  (5)资源分配说明

  双口RAM在386EX的存储空间映射区域为A8000H~A8FFFH;双口RAM在PC104空间映射区域为D8000H~D8FFFH;512K电子盘的页地址寄存器口地址为0X300H。

3 模块驱动程序设计及测试

  嵌入式应用软件典型的开发方式是“宿主机/目标机”方式。首先,利用宿主机上丰富的资源及良好的开发环境开发和仿真调试目标机上的软件。然后,通过串行口或网络将交叉编译生成的目标代码传输并装载到目标机上。最后,目标机在特定的环境下运行。

  PC104正常工作必须要有驱动程序的支持。此驱动程序采用ANSI C语言编写,由于系统PC兼容的程序运行环境,因此可以充分利用PC上现有的廉价软件资源,而无需专门的开发调试系统。程序在Borland C3.0集成开发环境下实现。通过与封装好的TCP/IP协议栈的链接,NP104提供了双口RAM的驱动程序。驱动程序由包含几个源文件的工程文件通过编译连接TCP/IP协议栈而生成.EXE文件,通过BC远程下载到NP104硬件系统的电子盘中。系统BIOS对此.EXE文件进行调用,一旦嵌入式扩展模块的设备正常运行,系统就具备了网络通信能力,其基本的程序流程框图如图2所示。由此可见,在系统正常工作状态下,NP104一直处于循环检查以太网及中断响应主系统命令的状态,以保证主系统设备与网络的正常通信。相应地,对于主系统而言,NP104的接口驱动程序包括12个功能调用,即双口RAM初始化、初始化以太网接口、建立与关闭TCP连接、读取TCP/IP网络接口数据及发送数据至TCP/IP网络接口等功能。本系统中的软件是在基于DOS操作系统之上运行的,另外本系统亦可提供基于多任务RTOS如VRTX、DeltaOS的应用环境。

  系统测试时,NP104与PC104主板构成基本环境,NP104与局域网相接,PC104主板上的测试程序(采用BC编写)通过调用NP104接口程序,与LAN上的上位机进行通信。同时,在LAN上连接上位PC机,运行相应的测试程序(采用VC编写),以检验NP104的通信功能。在系统测试过程中,尽可能地考虑了通信过程中可能出现的各种异常情况,并采取了相应的处理措施。比如在通信过程中,NP104运行异常中止并重新复位运行后,此时PC104能够及时检查到NP104的复位信息;另外,当PC104主机出现异常重新启动后,可使用InitNP104()函数重新启动NP104。在此函数中,通过软件的方式实现了硬件的复位,以确保NP104正常通信。

结束语

  利用Intel嵌入式微处理器386EX设计的基于PC104总线的智能网络扩展模块可以满足基于PC104总线或工业PC的智能电子设备的快速上网需求,在中国电力科学研究院电力电子公司的现场应用中,利用此方法设计的模块已能正常运行。随着嵌入式应用的日益深入,各种现场应用对高性能及实时性的求也不断增加,RTOS将在嵌入式系统设计中占据主导地位,嵌入式Linux也将在嵌入式系统中得到越来越广泛的应用。基于PowerPC、MIPS、StrongARM微处理器的产品也将不断出现在未来的现场应用中。

点赞 0
举报
收藏 0
打赏 0
评论 0
分享 0
更多相关评论
暂时没有评论,来说点什么吧
预测机器视觉市场的发展
机器视觉的一个重要作用在于对工业自动化水平提升的推动,这正是目前国内机器视觉市场的发展动力。而用户的需求无疑是机器视觉得以普及发展的诸多因素中最具决定性的。随着中国制造业的进一步发展,对机器视觉的需求也有了进一步的提高,这不仅仅表现在市场的

0评论2021-12-18697

静止无功发生器SVG技术说明
在有色金属冶炼加工企业中,供电的质量指标、电网运行的安全可靠性和经济性是最根本的问题。近年来,随着有色冶炼加工企业的发展,有色金属冶炼加工设备尤其是轧制设备趋向设备大型化、大容量、数字化、智能化,由电力电子器件构成的各种交交变频、交-直-交

0评论2021-12-18718

真空成型机中的温度控制系统设计
真空成型机是利用热成型工艺制造冰箱内胆的大型塑料加工机械,是冰箱制造企业的主力设备之一。由于长期以来,我国塑料加工机械的设计水平有限,不能在高端成型机领域满足国内市场的需要,这部分空缺主要由国外的品牌来填充。在过去的十几年间,我国从国外引进

0评论2021-11-07695

台达PLC的发酵罐PH值控制和管理系统
1 系统简介1.1 原加碱工艺说明发酵是生产黄原胶的其中一个重要的工艺过程,发酵过程的好坏直接影响到产品的质量和产量,在发酵的过程中,发酵物产生大量酸,影响细菌的生长和正常发酵,需要在发酵过程中加入碱液对产生的酸中和。目前,发酵过程加入碱液

0评论2021-11-07675

储能技术:优化新能源发电 增强新能源发电的稳定性
储能可以依据风、光的瞬时变化,减弱甚至消除新能源发电的波动,增强新能源发电的稳定性。变成稳定的电源《经济学人》2013年2月2日一篇报道显示,在德国,即便是现有的风电水平,在大风的日子,电网操作员也必须关闭机轮,因为没地方来储存这些能量。当

0评论2021-11-07711

DCS控制系统与PLC控制系统的主要区别
PLC控制和DCS控制系统不是一个逻辑层次上的概念,从名称上就能看出:PLC是以功能命名,DCS是以体系结构命名。从原理上看PLC就可以组成DCS。当然两者性能差异还是存在的,要具体看产品和需要。从应用角度来说,简单地以PLC,DCS来区分

0评论2021-11-07620

3D打印迷你肝脏可观察药物疗效
OFweek工控网讯:在实验室培育可移植肝脏过程中,美国科学家取得一项重大突破。他们利用装有细胞的3D打印机打印出迷你肝脏,深0.5毫米,宽4毫米,拥有很多与真实肝脏一样的功能,包括产生负责将激素、盐和药物运送到身体各处的蛋白质。打印3D迷

0评论2021-11-07666

伺服系统的主要作用和分类
如今,随着技术的不断成熟,交流伺服电机技术凭借其优异的性价比,逐渐取代直流电机成为伺服系统的主导执行电机。交流伺服系统技术的成熟也使得市场呈现出快速的多元化发展,并成为工业自动化的支撑性技术之一。主要作用1、以小功率指令信号去控制大功率负载

0评论2021-11-07665