保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

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


M缓冲有两个输入时钟:读时钟和写时钟。读时钟信号为50MHz,远高于写时钟信号。这种缓存RAM读写频率不同的设计,可以显著减小低速外围设备对CPU的占用时间。CPU通过对状态和控制寄存器的读写,实现对本部分的控制。考虑到系统的可扩展性,同A/D相连的数据线宽度为32位,方便今后扩展,最多可以4个8位A/D并行工作。另外,本部分在单个RAM缓存存满时,是以中断的方式通知CPU。


     (3)定制CPU和接口

这部分设计使用到的开发工具是Altera公司的SOPC Builder,该工具会自动进行系统定义,完成SOPC开发的集成过程。设计者采用SOPC Builder能够在图形化界面内定餐一个从硬件到软件的完整系统。

首先,根据设计需要使用SOPC Builder来对Nios CPU进行定制,包括CPU是不吸数据和代码缓冲、CPU寄存器数量(Nios CPU最多可以有512个寄存器)等。本设计中的Nios CPU有256个寄存器,未使用数据和代码缓冲。除了Nios CPU之外,还需要用SOPC Builder将CPU同外围设备的接口添加进来。对于本设计来说,就是将在前面提到的A/D接口以用户自定义接口的方式添加进来,其余器件同CPU的接口只需在SOPC Builder中将对应的接口模块添加进来即可。

然后,用SOPC Builder将定制转换为VHDL等具体的设计文件。除此之外,SOPC Builder还根据定制的结果,自动的生成针对特定硬件环境的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软核的嵌入式Internet系统设计(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/164943.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。