当前位置:首页 > 嵌入式 > 嵌入式软件
[导读]基于SoPC的网络模块设计与实现

摘要:在Altera公司提供的QuartusⅡ软件中开发网络模块控制器并在SoPC Builder中将其作为一个独立的IP核集成到SoPC中,通过软件驱动控制器实现网络模块收发等操作,发挥其设计灵活、集成度高、收发速度快等优点,为SoPC设计中网络功能提供了新的方案。
关键词:SoPC;NIOSⅡ;网络模块

    网络模块是网络设备中必不可少的部分,随着近年来物联网技术的高速发展,对互联设备的网络模块提出的更高要求。本文提出了基于NIOSⅡ的SoPC系统设计与实现的网络模块。
    美国Altera公司于2000年提出了SoPC(Systemon a Programmable Chip,可编程片上系统)技术,并同时推出了相应的开发软件QuartusⅡ及硬件平台FPGA (Field-Programmable Gate Array)。SOPC具备嵌入式处理器内核,具有丰富的IP核资源可供选择,拥有足够的片上可编程逻辑资源,提供处理器调试接口和FPGA编程接口,具有单芯片、低功耗、小封装等的优点。NIOSⅡ是Altera公司发布的软核处理器,其最大特点是可配置性较好,即用户可根据自已的标准定制处理器,按照需求选择合适的外设、存储器和接口。此外还可以轻松集成自己专有的功能,使设计具有独特的竞争优势。NiosⅡ软核处理器的原理框图如图1所示,其中对用户可见的单元电路包括存储器文件、算术逻辑单元(ALU)、与用户自定义指令逻辑的接口、异常控制器、中断控制器、指令总线、数据总线、指令及数据缓存、紧密耦合存储器接口电路及JTAG调试模块等。本设计通过Altera公司的FPGA芯片和NIOSⅡ嵌入式系统实现SoPC。

1 系统总体方案设计
    Altera公司的SoPC Builder为建立SoPC设计提供了标准化的图形环境,SoPC Builder包含在QuartusⅡ软件中。SoPC Builder帮助设计者自动完成系统集成的工作,ScPC提供了直观的图形用户界面(GUI),帮助设计者添加和配置系统所需的外设(包括存储器、定制外设和IP模块),根据设计者的要求将这些外设与处理器连接在一起,并自动完成外设和存储器的地址映射、中断控制和总线控制等工作。完成系统配置之后,SoPC Builder根据要求生成VHDL或Verilog HDL的系统级设计代码,并自动生成部分外设的硬件抽象层(HAL)代码和底层硬件驱动代码,为软件开发做好准备。图2所示为SoPC Builder为本次设计生成的系统模块的应用实例。



2 网络模块设计与实现
    SoPC系统设计流程如图3所示。设计者根据任务要求决定系统需求,用SoPC Builder建立自已的SoPC系统。在硬件方面,建立一个顶层设计文件,将生成的SoPC系统例化,并设置引脚分配、时序要求及其它设计约束,然后编译硬件设计并将FPGA设计下载到目标板中。在软件方面,用Nios IIIDE开发应用软什,在其中使用Nios II指令仿真器运行并调试软件。之后将可执行软件下载到目标板上的NiosⅡ系统中,在目标板上运行调试软件,并对设计的不足进行收进。
2.1 硬件模块设计
    系统选用Altera公司Cyclone II系列的EP2C35F672C6,构建一个基于NIOS II的SoPC系统。本设计中,NIOS II CPU负责网络模块的控制、数据的传输以及I/O接口等功能,故选用高端NIOS II/f内核以满足所要求的功能,其约占1400—1800个逻辑单元,3个M4K RAM块,可以用来增加指令缓存。NIOS II/f的最好性能可达到101 MIPS将NIOS II处理器的复位地址设置为cfi_flash,其为非易失存储器Flash。将NIOS II处理器的异常地址设置为sdram_0,其为掉电易失的存储器SDRAM在“JTAG Debug Module”标签下选择Level 1,此时占用逻辑资源最少,为300—400逻辑单元,2个M4K RAM块。
    网络模块选用DAVICOM半导体公司的DM9000A DM9000A集成了带有通用处理器接口的MAC和PHY,支持100Base-T应用,带有auto-MDIX,支持10Mb/s和100Mb/s的全双工操作DM9000A既可支持8位处理器,也可支持16位处理器接口。DM9000A完全兼容IEEE 802.3u规范,支持IP/  TCP/UDP求和检验,支持半双工模式背压数据流控。


    DM9000A内部功能框罔如图4所示,左边带有AUTO—MDIX的收发器提供RJ45的接口,中间为MAC,右边则为处理器接口。处理器可通过这个接口实现对DM9000A的控制,具体引脚包括:
    ◇nRD读命令;
    ◇nWR写命令;
    ◇nCS/nAEN片选;
    ◇SD0~SD7数据总线(低8位);
    ◇SD8~SD15数据总线(高8位),在16位模式下才有用;
    ◇CMD命令类型。低电平时,读写INDEX口;高电平时,读写DATA口;
    ◇INT中断请求。
    SoPC的标准组件库中并不包含网络控制器DM9000A,在这里需要添加自定义组件。
在SoPC Builder中,用Create new component添加自定义组件。需要向其添加HDL设计文件DM9000A_IF.v,用来设计一个从Avalon总线到DM90 00A的一个逻辑接口,其代码所下:
    [!--empirenews.page--]
  
[!--empirenews.page--]
     
    接下来设置输入/输出信号,使DM9000A控制器的输入/输出信号与Avalon总线信号匹配。
    在QuartusⅡ中为系统创建一个如图5所示NIOSⅡCPU顶层文件,实现对NIOSⅡ系统例化。

[!--empirenews.page--]
    DM9000A为本设计的核心,其模块如图6所示。其中:


    ◇iCMD用来区分是INDEX端口还是DATA端口,与处理器的地址线相连;
    ◇iCS_N片选信号;
    ◇iDATA写数据;
    ◇iRD_N读信号;
    ◇iRST_N复位信号;
    ◇iWR_N写信号;
    ◇oTADA读数据;
    ◇oINT中断请求信号;
    ◇其余信号均与Avalon总线相连。
    将编译后的文件下载到FPGA中,完成硬件部分的设计。
2.2 软件模块设计
    系统网络模块的控制是通过在集成开发环境NiosⅡIDE中用C语言编程实现的。
    为实现网络模块的通信功能,需存放MAC地址、IP地址以及目标MAC地址、IP地址,其数据结构均用无符号字符型数组实现,MAC地址为6个字节,IP地址为4个字节,如下:
   
   
    网络通信,最重要的就是协议的一致。本设计将各个协议字段存储在一维无符号字符型数组中,根据各个协议需求的不同而开辟不同的空间,如下:
   
    接收到的数据报存储在无符号字符型数组中,其中数组长度,即可接收的数据报长度MAX_PACKET_SIZE由头文件确定为1522,如下:
    unsigned char rcv [MAX_PACKET_SIZE];
    //接收到的报文


    网络模块控制流程如图7所示。系统首先对网络控制器DM9000A进行初始化,包括ARP、内存、定时器等的初始化。初始化完成之后,通过特定接口设置网卡的IP地址、子网掩码、默认网关等信息。接下来,网络模块开启中断,以便接收网络控制器的中断信号。当接收到发送端或接收端的中断信号后,分别进入到各自的处理进程中进行处理。若没有中断,系统则进入等待状态。

3 系统测试
    由前面的工作,完成了网络模块软、硬件部分的设计。将设计下载到FPGA平台中,运行该系统。
    使用网线将FPGA的RJ45接口与路由器相连接。网络模块自动获取IP地址为192.168.0.101,子刚掩码为255.255.255.0,默认网关为192.168.0.1计算机也与同一个路由器相连,其获取的IP地址为192.168.0.100。这样计算机与FPGA中网络模块处于同一网段,互相之间可以通信。使用Ping命令,由计算机向网络模块的IP地址192.168.0.101发送500个包,无丢包现象,在这500个数据包中,返回速度在2~5ms之间。通过在NiosⅡIDE中编程实现网络模块Ping计算机,同样发送500个包没有丢包现象。
    将另一个同样的FPGA连接到路由器上,获取到IP地址192.168.0.102。在NiosⅡIDE中编程,IP地址为192.168.0.101的FPGA通过网络模块向IP地址为192.168.0.102的FPGA发送UDP格式的控制报文,可以顺利控制后者面板上LED灯的亮灭,延迟不超过1秒。
    本设计完成了基于SoPC的网络摸块的软硬件设计与调试,验证了网络馍块的工作状况,并在此基础上实现了基于网络的控制命令的传送,使SoPC设计能与PC机或其他各种电子设备进行数据交换。随着物联网技术的发展,基于网络的系统必将具有广阔的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭