基于三星S3C44B0芯片实现VxWorks网络接口的软硬件设计

发布者:中原读书客最新更新时间:2023-02-02 来源: elecfans关键字:三星  S3C44B0  VxWorks  网络接口 手机看文章 扫描二维码
随时随地手机看文章

VxWorks操作系统以其高度的可靠性、优秀的实时性、灵活的可裁减性等优势在嵌入式系统中备受关注,广泛应用于许多行业;而随着网络技术的发展,嵌入式技术与网络技术的结合已成必然。VxWorks是最早在其内核中加入TCP/IP协议的嵌入式实时操作系统。如何设计基于VxWorks的网络接口,是摆在嵌入式开发人员面前的首要课题。本设计以三星公司的ARM7(S3C44B0)为核心CPU,开发了VxWorks下的网络接口,包括硬件设计和软件实现两个部分。


1、 硬件设计

核心CPU采用三星公司的S3C44B0。S3C44B0采用ARM7TDMI内核,它通过提供全面的、通用的片上外设,大大减少了系统电路除处理器以外的元器件配置,降低了系统成本。 网络接口芯片采用Realtek公司生产的RTL8019AS。它是一款高度集成的以太网控制器,不仅集成了MAC(介质访问控制)子层和物理层的性能,而且与NE2000兼容,具有软件可移植性强以及价格低廉等优点。


S3C4480与RTL8019AS的硬件接口原理如图1所示。从图1中可以看出,RTL8019AS的使能端连到S3C44B0的nGCS3,因此它的地址映射在系统的Bank3上,基地址为0x06000000。RTL8019AS支持8位/16位数据总线,在本电路中采用16位方式。

基于三星S3C44B0芯片实现VxWorks网络接口的软硬件设计

RTL8019AS共有32个输入/输出地址,对应地址偏移量为0x00~0x1f。现分别说明如下:

①0x00~0x0f的16个地址,为寄存器地址。

②0x10~0xl7的8个地址,为数据读写端口地址。它们都是一样的,每个都可以用来做数据读写端口,只要用其中一个就可以了。

③0x18~0x1f的8个地址,为复位端口。它们的功能都是一样的。但需要注意,实际上只有0x18、0x1a、0x1c、0xle这几个复位端口是有效的,其他不要使用;因为有些兼容卡不支持0xl9、0xlb、Oxld等奇数地址的复位。

在软件设计时,尤其要注意以下两点:

①RTL8019AS的地址线从SA0~SA4依次连到S3C4480的ADDR1~ADDR5上,因此,RTL8019的寄存器地址要左移1位。

②RTL8019AS使用EXINT1中断,且上升沿触发。


2 、软件实现

2.1 VxWorks的网络协议栈和MUX接口

VxWorks中的网络协议栈叫作“SENS(Scalable En-hanced Network STack)”,即可裁减增强网络协议栈。SENS是基于4.4BSDTCP/IP协议栈发展而来的。它包含了许多4.4BSDTCP/IP协议栈没有的协议;而且SENS在实现一些协议功能时增加了许多新特性。如在IP协议实现时增加了多播功能。SENS协议栈层次如图2所示。

SENS的基本特征与传统的TCP/IP网络协议栈相似,但从图2中可以看出,SENS最大的特点是在数据链路层和网络协议层之间多了MUX层。在SENS中网络接口的驱动程序叫作“END(Enhanced Network Driver)”,即增强型网络驱动程序,它处于数据链路层。IP层和TCP/UDP层合称为“网络协议层”。在数据链路层和网络协议层之间有应用程序接口(API),这个接口在SENS中叫作“MUX(MulTIplexer)接口”。MUX接口如图3所示。MUX接口起到隔离网络驱动程序与网络协议的作用。在老式的BSD4.3的驱动模式下,网络驱动程序和协议是紧密联结的,无论协议还是驱动程序都需要了解对方的数据结构。而在新的基于MUX的模式下,驱动程序和协议并不需要了解对方。它们通过MUX接口来通信。例如,在收到一个包后,网络驱动程序并不直接访问协议的数据结构;相反,当准备将数据传给协议层时,它调用一个MUX提供的函数,该函数处理把数据传给协议层的细节。这使得添加一个新的驱动程序或协议十分容易。MUX实现了下面的一套函数集:muxBind()、muxUn-bind()、muxDevLoad()、muxDevUnload()、muxReceive()、muxError()、muxSend()、muxTxRestartRtn()、muxM castAddrDel()、muxMcastAddrGet()、mux-PollSend()、muxMcastAddrAdd()、muxPollReceive()、muxIoctrl()。网络驱动程序和协议都要调用上面的函数,不需要为它们添加任何附加代码。

2.2 END设备驱动程序装载过程

在VxWorks中,END设备驱动程序装载过程可以分为3个步骤,即指定END设备,装载END设备和启动END设备。END设备的指定是通过数组endDevTbl[ ]来完成的,该数组描述了系统中的所有网络设备的装载人口点及其相关参数。系统调用MUX设备装载函数mux-DevLoad()来装载END设备,调用MUX设备启动函数muxDevStart()来启动END设备。网络设备驱动程序的装载过程如图4所示。系统通过usrRoot()函数来调用usrNeTInit()函数完成MUX的初始化,装载网络设备表endDevTbl[ ]中描述的所有设备,并将IP协议绑定到网络引导设备上等。


当网络设备产生中断时,VxWorks调用驱动程序先前注册的中断服务程序。中断服务程序应做尽可能少的工作,以完成将数据包从本地网络设备送出/取出的操作。


2.3 文件配置

由于RTL8019兼容NE2000网卡芯片,只需要在其基础上完成必要的修改。首先将Tornado2.2\target\src\drv\end目录下的ne2000End.c和Tornado2.2\target\h\dry\end目录下的ne2000End.h拷贝到bsp目录下,然后修改以下文件。

(1) 修改ne2000End.C

①修改头文件包含目录;

②sysIntConnect修改为intConnect;

③sysLanIntenable修改为intEnable,并修改返回类型void为STATUS。

(2) 修改ne2000End.h

将寄存器地址左移1位,如:

#define ENE_RSTART(0x01《《1)

(3) 修改config.h

添加网络宏定义:

①#define INCLUDE_NETWORK

②#define INCLUDE_END

③#ifdef INCLUDE_END

#undef INCLUDE_SNGKS32C_END

#define INCLUDE_NE2000_END

#endif/*INCLUDE_END*/[page]

(4) 修改configNet.h

在endDevTbl[ ]表中添加新的装载函数(其函数命名格式为xxLoad( ))入口点及相关参数。

(5) 修改Makefile

添加MACH_EXTRA=ne2000End.o

(6) 修改sysLib.c

①添加MAC地址定义:

unsigned char ne2000EnetAddr[]=ETHERNET_MAC_ADRS;

②添加 sysInByte、sysOutByte、syslnWordString和sysOutWordString函数。

③在sysHwInit()中添加CPU端口初始化:

④在sysHwInit()中添加RTL8019芯片的复位和初始化函数。相关代码如下(有关寄存器的宏定义请参照RTL8019数据手册)


3、结 语

本文在VxWorks嵌入式实时操作系统下,提出了网络接口的解决方案,即以ARM7(S3C44B0)为核心CPU,控制网络控制器TRL8019实现网络通信。本文首先简单介绍了几款主要芯片,给出了硬件原理图;然后简要分析了VxWorks下的网络协议和驱动装载过程;最后,针对此网络接口,详细列出了VxWorks下文件配置过程,提供了部分软件源程序,对开发人员有一定的参考价值。


关键字:三星  S3C44B0  VxWorks  网络接口 引用地址:基于三星S3C44B0芯片实现VxWorks网络接口的软硬件设计

上一篇:uCGUI 移植到S3C44B0X实验
下一篇:基于LPC2214和S3C44B0X实现PCB钻床控制器的设计

推荐阅读最新更新时间:2024-10-13 21:01

3.5mm耳机孔终将消失?三星Galaxy S10更多细节遭爆料
集微网信息,日前有德国媒体爆料,称Galaxy S10+将会是一款无3.5mm耳机孔、屏幕比达93.4%的智能手机。 据彭博社上周报道,虽然Galaxy S10+的屏幕占比与小米MIX 3一致,但S10+使用的是屏幕指纹+前置摄像头置于屏幕下方的设计方案,这样看来,S10+做到上下几乎无边框的可能性非常大。 另外,有媒体猜测,Galaxy S10系列将会有三款,入门款是单摄像头的直屏款,指纹锁放置在手机一侧;标准版S10将具备4个摄像头,其中后置预计是三摄(主摄+广角+长焦),而屏幕使用的是5.8英寸曲面屏;预计S10+屏幕大小会是三部之首,并具备支持5G网络的功能。
[手机便携]
三星Exynos 9820内核照公开:8nm工艺
三星新旗舰Galaxy S10系列依然是双平台配置,一边是高通骁龙855,另一边则是三星自家的Exynos 9820。之前我们见识过二者的性能,总的来说三星相比高通还是有明显距离的,华为麒麟980很多时候都能跑到二者前头。现在,ChipRebel公布了Exynos 9820的首个内核照片,让我们对它有了更深入的了解。 首先,Exynos 9820内核的长度为11.581毫米,宽度为10.962毫米,总面积为127平方毫米,相比于Exynos 9810 122平方毫米增大了约4%。 Exynos 9820虽然用了新的三星8nm LPL工艺,但其实相比于Exynos 9810 10nm提升不大,相比于台积电7nm差远了(所以几
[手机便携]
<font color='red'>三星</font>Exynos 9820内核照公开:8nm工艺
Note7召回继续 韩版一日更换率将达八成
    大约两天前三星曾宣布,韩国仅有60%的Note7用户将受影响的设备交回,不过现在三星表示到明天,也就是10月1日为止,受影响Note7召回的比例将攀升至80%。     同时,三星正准备在韩国重启销售全新的Note7,同时也加大了宣传和促销力度,表示10月在韩国购买Note7的用户,屏幕维修可享50%的折扣一次,预计只有韩国有这政策。另外,三星也再次提醒消费者将受影响的Note7提交进行更换。   据悉,目前全球已有100万用户使用了全新的Note7产品,其中中国用户达15万。三星表示,它们都使用了相同的电池供应商提供的电池。
[手机便携]
定位超低端市场 三星将推Galaxy J1 Pop
    三星为在低端市场中竞争,去年推出了一款廉价机型Galaxy J1,不过该机并未产生很大效果。现在,据外媒报道,业内人士透露,三星很快将推出Galaxy J1的继任版本,它或命名为三星Galaxy J1 Pop。 三星J1   虽然目前还不清楚该机的规格信息,但据称它将会在全球范围内上市,其中包括俄罗斯、巴西和印度。而在硬件方面,该机应该会在J1的基础上有所升级,不过仍是一款低端设备。   我们可以先参照Galaxy J1的配置来看,该设备采用4.3英寸WVGA(800×480)液晶显示屏,搭载双核处理器,内置512MB RAM,4GB可扩展内存,配置前置200万+后置500万像素摄像头,运行Android 4.4.4
[手机便携]
海克斯康采用Wind River VxWorks平台开发下一代测量仪器
【新闻摘要】  由于风河在工业用领域的实时操作系统市场拥有稳固的领导地位,故能获海克斯康选为研发技术供应厂商。  风河的技术之所以能雀屏中选,主要在于具备极佳决定机制、稳定性以及安全特性。  借由针对工业用设备的“Wind River Platform for Industrial Devices”, 海克斯康得以开发出领先业界的测量设备。 全球嵌入式及移动应用软件领导厂商风河(Wind River)今日宣布,全球领先的设计、测量以及可视化技术供应商海克斯康测量集团(Hexagon Metrology),已正式采用“Wind River Platform for Industrial Devices”开发其新型三座标测量仪
[单片机]
全球半导体前20强出炉 三星直逼英特尔领先地位
8月6日消息,据台湾媒体报道,来自市场研究公司IC Insights最新研究报告显示,三星电子公司第二季度的增长率将自己进一步地同竞争对手拉近,并且正在超着全球最大的半导体供应商地位迈进。 IC Insights表示,2014年,英特尔半导体销售额高出三星电子公司36%,这个数字到了今年第二季度已经减少至16%,也即英特尔半导体销售额的领先优势下降了20个百分点。不过IC Insights指出,英特尔预计第三季度半导体销售额环比增长8%,而三星电子公司正在面对DRAM市场疲软现状影响(主要由于价格压力),对于三星电子公司来说近期超过英特尔还是很困难。 全球前二十强半导体公司2015年第二季度总销售额环比增长仅1%,全球整
[半导体设计/制造]
三星承诺向ASML投资近10亿美元
    北京时间8月7日消息,据外国媒体报道,荷兰上市公司半导体行业光刻系统提供商ASML今日宣布,三星电子已同意斥资5.03亿欧元(合6.29亿美元)购买公司3%的股份;此外,三星还承诺将投资2.76亿欧元(合3.45亿美元),用于在未来五年内研发ASML下一代半导体光刻技术。 三星此次承诺用于研发创新技术的总金额高达9.74亿美元,接近于三星刚刚在苹果专利战失利所遭受的罚款。 通过参与所谓的“客户创新联合投资项目”,ASML已经吸引众多投资对象。加上三星此次承诺未来五年内投资2.76亿欧元,ASML如今的研发基金总额已经高达13.8亿欧元。 据公司声明表示ASML研发项目的最终目的是“为消费者提供更加智能、更加强大、更具耗能效率
[半导体设计/制造]
三星电子宣布开发出其首款基于第八代 V-NAND 的车载 SSD
9 月 24 日消息,三星电子今日宣布成功开发其首款基于第八代 V-NAND 技术的 PCIe 4.0 车载 SSD——AM9C1,能够满足汽车半导体质量标准 AEC-Q100 的 2 级温度测试标准,在-40°C 至 105°C 的温度范围内都能保持稳定运行。 据介绍,256GB 版本的三星 AM9C1 相比前代产品 AM991 能效提高约 50%,顺序读写速度分别达到了 4,400MB/s 和 400MB/s。 三星半导体基于第八代 V-NAND 技术的车载 SSD AM9C1 三星电子副总裁兼存储器事业部汽车业务负责人 Hyunduk Cho 表示:“我们正在与全球自动驾驶汽车厂商合作,为这些企业提供高性能、高容量的车载
[汽车电子]
<font color='red'>三星电子</font>宣布开发出其首款基于第八代 V-NAND 的车载 SSD
小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

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

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

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