微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 硬件工程师文库 > 基于Nios软核的嵌入式Internet系统设计

基于Nios软核的嵌入式Internet系统设计

时间:07-23 来源:电子发烧友网 点击:

动的生成针对特定硬件环境的C语言和汇编语言的头文件以及函数库,这在软件设计中会极大的减少软件开发人员的工作量。

  1.2 软件设计

  软件设计包括嵌入式操作系统的移植、网络协议栈设计、应用级代码编写等部分,其中操作系统的移植、网络协议栈设计的关键是软件设计。下面就对这两部分作简单介绍。

  (1)μC/OS操作系统移植

  μC/OS操作系统是美国人Jean Labrosse于1992年开始编写的,它是一种适合于小型、微控制器的可剥夺实时操作系统。ΜC/OS的内核除了没有网络协议栈之外,也没有文件系统,但是本设计中的设备本身并不需要对采集数据按文件方式保存,因而使用μC/OS可以满足需要。

  ΜC/OS设计时就充分考虑到在不同平台上移值的需求,将同平台相关的部分局限在一个很小范围内,对于不同的平台只需对下面一些函数和宏进行重写。

  *OS_ENTER_CRITICAL和OS_ENTER_CRITICAL:这是两个宏,用来进行临界段保护。在本设计中使用汇编代码关中断来实现。

  *OS_TASK_SW:这是一个用于进行任务切换的宏。本设计中利用CPU的软件中断方式实现。也就是说调用此宏产生软件中断,然后由相应的中断处理程序来具体实现任务上下文保护和任务切换。

  *OSIntCtxSw:实现中断级任务切换,用纯汇编实现。

  *OSCtxSw:实现用户级上下文切换,用纯汇编实现。

  *OSTickISR:为系统定时器中断的处理函数,用纯汇编实现。

  *OSTaskStkInit:用来创建任务时,对任务堆栈进行初始化。

  (2)网络协议栈

  本系统采用的是SOPC Builder中包含针对Nios的网络协议栈,该栈以名为Plugs的函数库的形式提供给设计者,该库向软件编写都隐藏了低层硬件细节,以类似于unix套接字的方式实现了一个精简的网络协议栈。它支持以下一些网络协议:IP、ARP、ICMP、UDP、TCP。

  使用该库在硬件上有四个要求:必须使用Nios CPU,需要20KB的代码存储空间,需要4KB的数据存储空间,系统中需要有一个专供其使用的定时器。

  2 结论

  可以看出,采用Nios软核CPU进行嵌入式Intenet系统硬件设计相当快速。由于SOPC Builder开发环境的完备功能,可以把注意力集中在系统整体构架和功能上来,而无需过多的考虑细节性的电路设计,同时还可以得到比较好的系统稳定性和可靠性。

  基于Nios进行嵌入式Internet系统设计者两个突出优点。首先,硬件设计的难度,缩短了硬件开发周期,提出了设计的可靠性。CPU本身是以软核的方式实现,其功能可根据需要进行定制。其次,软件开发容易。SOPC Builder不但在硬件设计上提供了支持,在软件上也为设计者提供了较好的支持,提供了现成的网络协议栈。

  本文中的以太网远程数据采集系统已经进行了初步的仿真试验,能够达到预期的效果,被证实是切实可行的。

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

网站地图

Top