34
嵌入式控制研究室 www.21control.com 1 实验五 uc/OS-II 实时操作系统在 Nios II 中的运行 . 实验目的:了解在 NIOSII 中使用 uc/OSII 实时操作系统的基本方法。 . 实验说明: uc/OS-II 已经在世界范围内得到广泛的使用,包括手机、路由器、集线器、 不间断电源、飞行器、医疗设备及工业控制等。实际上, uc/OS-II 已经通过了非 常严格的测试,并且得到了美国航空航天管理局(FAA)的安全认证,可以用 于飞机、航天器等与人性命攸关的控制系统中 1 。因此,uc/OS-II 在工业等实时 性需求比较强的领域应用非常广泛,我们的学习套间提供了在 NiosII 系统中运 uc/OS-II 的例子(“ucosII_test”),该例子定义了两个任务:Task1 Task2两个任务交替执行。例子虽然简单,但可以作为 uc/OS-II NiosII 系统中运行 的演示。同学们可以参考 NiosII 的软件开发手册以及 uc/OS-II 的发明人——Jean J. Labrosse 的著作“MicroC/OS-II The Real-Time Kernel(Second Edition)的中译 本《嵌入式实时操作系统 uc/OS-II》(第二版,邵贝贝等译),研究和设计出功能 更强、更符合实际应用的程序。 一、 参考前面的方法建立一个工程软件工程; 二、 打开工程的.syslib 工程属性,按下图所示修改编译属性: 在“System Library Contents”的“RTOS:”下拉框选择“MicroC/OS-II”, 以及右边的程序段都选择 SDRAM,因为使用了操作系统,内部 ram 比较小会 容不下,在这里我们选择 SDRAM 作为 uc/OSII 的运行环境。 MicroC/OS-II 的各个选项的配置可以通过点击“RTOS Options…”按钮进 行选择和配置,如下图所示: 1 《嵌入式实时操作系统 uc/OS-II》(第二版)

uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

  • Upload
    others

  • View
    19

  • Download
    0

Embed Size (px)

Citation preview

Page 1: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

1

实验五 uc/OS-II 实时操作系统在 Nios II 中的运行

一. 实验目的:了解在 NIOSII 中使用 uc/OSII 实时操作系统的基本方法。 二. 实验说明:

uc/OS-II 已经在世界范围内得到广泛的使用,包括手机、路由器、集线器、

不间断电源、飞行器、医疗设备及工业控制等。实际上,uc/OS-II 已经通过了非

常严格的测试,并且得到了美国航空航天管理局(FAA)的安全认证,可以用

于飞机、航天器等与人性命攸关的控制系统中1。因此,uc/OS-II 在工业等实时

性需求比较强的领域应用非常广泛,我们的学习套间提供了在 NiosII 系统中运

行 uc/OS-II 的例子(“ucosII_test”),该例子定义了两个任务:Task1 和 Task2,两个任务交替执行。例子虽然简单,但可以作为 uc/OS-II 在 NiosII 系统中运行

的演示。同学们可以参考 NiosII 的软件开发手册以及 uc/OS-II 的发明人——Jean J. Labrosse 的著作“MicroC/OS-II The Real-Time Kernel”(Second Edition)的中译

本《嵌入式实时操作系统 uc/OS-II》(第二版,邵贝贝等译),研究和设计出功能

更强、更符合实际应用的程序。

一、 参考前面的方法建立一个工程软件工程; 二、 打开工程的.syslib 工程属性,按下图所示修改编译属性:

在“System Library Contents”的“RTOS:”下拉框选择“MicroC/OS-II”,以及右边的程序段都选择 SDRAM,因为使用了操作系统,内部 ram 比较小会

容不下,在这里我们选择 SDRAM 作为 uc/OSII 的运行环境。 MicroC/OS-II 的各个选项的配置可以通过点击“RTOS Options…”按钮进

行选择和配置,如下图所示: 1 《嵌入式实时操作系统 uc/OS-II》(第二版)

Page 2: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

2

具体操作和配置按照需要和参考 ALTERA 的软件开发手册。本例子采用默

认配置。 三、 做完这些配置后,就可以添加程序了,例如,我们这个例子创建了两个

任务,这两个任务交替运行: #include <stdio.h> #include "includes.h" #include "system.h" #include "altera_avalon_pio_regs.h" #include "alt_types.h" #include "lcd_1602.h" /* 定义任务堆栈大小*/ #define TASK_STACKSIZE 2048 OS_STK task1_stk[TASK_STACKSIZE]; OS_STK task2_stk[TASK_STACKSIZE]; /* 定义任务的优先级 */ #define TASK1_PRIORITY 1 #define TASK2_PRIORITY 2

Page 3: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

3

/* 任务 1 运行,然后阻塞 3 秒钟,切换到其它任务 */ void task1(void* pdata) { alt_u8 led; while (1) { led = 0x1; *(unsigned int *)PIO_LED_BASE = led; initialcd(); displaystring(0x80,"SOC:HelloWorld!"); displaystring(0xC0,"Task1 Running..."); printf("Task1 Running...@@@@@@@@@@@@@@@ \n"); OSTimeDlyHMSM(0, 0, 3, 0); } } /*任务 2 运行,然后阻塞 3 秒钟,切换到其它任务*/ void task2(void* pdata) { alt_u8 led; while (1) { led = 0x2; *(unsigned int *)PIO_LED_BASE = led; initialcd(); displaystring(0x80,"uc/OS-II--Demo!"); displaystring(0xC0,"Task2 Running..."); printf("Task2 Running...$$$$$$$$$$$$$$$ \n"); OSTimeDlyHMSM(0, 0, 3, 0); } } /* main 函数建立 2 个任务,然后启动内核,操作系统即转入运行内核 */ int main(void) { OSTaskCreate(task1, NULL, (void *)&task1_stk[TASK_STACKSIZE-1], TASK1_PRIORITY); OSTaskCreate(task2, NULL, (void *)&task2_stk[TASK_STACKSIZE-1], TASK2_PRIORITY); OSStart(); return 0; } 结论:从本例可以看出,在 NiosII 中运行 uc/OSII 并不难,关键是实际应用中

如何建立正确的任务,以及各个任务如何调度等等,这些内容建议仔细参考《嵌

入式实时操作系统 uc/OS-II》等相关书籍。

Page 4: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

4

实验六. 学习开发套件 V3.0 中嵌入 Uclinux 的步骤和方法

在学习开发套件 V3.0 中嵌入 Uclinux 的步骤和方法,硬件系统为

EP1C6,2Mflash,8Msdram.

开发环境:SOPC 学习开发套件 V3.0,型号 EP1C6。QII5.1+SP2,NiosII

IDE5.1+SP1。

一 .安装 nios2linux 开发包 nios2linux-1.4

二 .建立硬件系统

1. QII 中建一工程 linux_nios,并添加 NIOSII CPU,QII 工程和平常的建

立并没有什么区别,只要得加上 flash 和 sdram,因为这里只是对 linux 的

简单调试,所以 SOPC 中只添加 LED 和 UART 等几个简单外设。如下图:

2.

注意为防止不必要的麻烦,这里尽量使用默认名字。

如果想用 USB 连接电脑,在 QII 中把串口连接到 USB 线的 IO 管脚上即可。

我们的工程中是两个口都接了,使用串口或者 USB 口都行。

三.建立软件环境

打开 NIOSII IDE。

3.1 建立 linux 内核

file-> new-> project 后如下图:

Page 5: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

5

注意:在安装 Microtronix_uclinux_nios2 开发包后在 IDE 中分增加出如上图

的 Microtronix NiosII 选项如果没有可以按下面方法解决:

1)、打开 cmd,在 开始->运行 那里输入 cmd

2)、cd 到你的 NiosII 的工作目录下面,我的 NiosII 安装在 D 盘,如下:

Page 6: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

6

3)、在这里输入命令 nios2-ide.exe –clean,进入 NiosII IDE 的 clean 模

式,选择 workspace:

这是在 New->Other 那里你就可以看到那个 linux 的目录项了。关了 IDE 窗

口和 cmd 窗口,这样就可以正常看到 Microtronix_linux 了。

Page 7: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

7

3.2 输入内核名字

按 next:

finish 完成

四. 构建内核:

4.1 右键内核名,在弹出菜单中选择 Configure Kernel 如下:

Page 8: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

8

后进入如下界面:

因为 flash 只有 2M 因此构造的内核应尽可能的小,其大小不能超过 1M。因此在

这里要去掉没用到的选项:

按空格键 取消或者选择

General setup:

Page 9: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

9

processor type and features:这里选择的是 Microtronix Cyclone board

support,不是 Altera

在 Device drivers 除以下默认及保留串口外,其它都去掉

Generic Driver Options --->

Memory Technology Devices (MTD) --->

Block devices --->

串口位置及设置如下:

Device drivers-- Character devices --->Serial drivers --->:

设置完这里后其它便可使用默认,然后 esc 退出保存。

Page 10: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

10

4.2 修改两个脚本文件

D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin

ux.kernel_1.4.0\linux-2.6.x\arch\nios2nommu\kernel\ vmlinux.lds.inc文

件以及同目录下的 vmlinux.lds.S 文件 稍作修改以占用更少的空间:

D:\altera\kits\nios2_51\bin\eclipse\plugins\com.microtronix.nios2lin

ux.kernel_1.4.0\linux-2.6.x\drivers\mtd\maps\ 中找到 microtronix.c 文

修改以下画线部分如下图:

Page 11: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

11

五..完成后编译内核:

经过相当长时间的等待便可看到编译生成的内核 vmlinux.bin 二进制文件:

Page 12: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

12

六.用 flash programer 下载此内核到 flash 中的从 0 地址开始:

七.建立文件系统:

7.1 在 IDE 中 File->new->project

Next 输入名字:

继续 Next:

Page 13: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

13

NEXT:点击 Install Minimal:

Finish 后有警告,不管,确定后完成。

7.2 编译此文件系统后生成 romfs.bin 文件,同上面烧写内核的方法,把此

文件烧写到 flash 中去,注意 offset 地址为:0x100000

此图中我把 romfs.bin 文件拷到了 C 盘,所以 file 中是:c:\romfs.bin

Page 14: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

14

八.ok

下载成功后,接上 USB (或者串口),打开串口调试工具,按一下板子上的 reset

键后可看到串口工具接收窗中显示如下信息:linux 系统便启动成功了。

输入命令:ls bin

Page 15: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

15

九.建一个 LED 闪动程序。

9.1 在 IDE 中 File->New->project:

一路 next 到 finish.

9.2. 建一个 C 文件:

在弹出的对话窗输入文件名:hello.c 注意要加.c 后缀:

Page 16: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

16

9.3 把…altera/kits/nios2/examples/software/linux/apps 目录下

samples/hello 文件夹里的 makefile 复制到 my_app 工程下。

注意:makefile 文件的选择是有讲究的。具体请参阅:在目录

..altera\kits\nios2_51\documents\linux\ 下的 Linux Reference Guide.pdf

文档第 19 页。

在 hello.c 中输入以下程序:

#include <stdio.h>

main()

{

int i;

char led=0x1;

while(1)

{

for(i=0;i<100000;i++);

* (int*) 0x80202040=led; //0x80202040是led灯的地址

led=~led;

}

}

说明:其它外面地址在内核工程 nios2_system.h 中定义,如下图

Page 17: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

17

9.4 右键 my_app 工程:选择如下图:

在弹出以下对话窗:

点 Ceate 完成。

Page 18: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

18

9.5.右键 my_app 工程:选择如下图:开始编译程序。

9.6 编译完成后没问题的话就可生成 hello.exe 运行文件:

Page 19: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

19

9.7.把生成的 hello.exe 文件复制到文件系统目录下的 BIN 文件夹,如下图:

9.8.编译此文件系统:

9.10. 后把生成的文件系统 romfs.bin 用 flashprogramor 下载到 flash 中。

方法和上面烧写文件系统到 flash 相同。

十.于是我们便完成了整个 linux 的移植和简单开发过程。

运行结果:

插好 USB 线,打开串口调试工具,按一下 reset:

输入 ls bin 回车。

Page 20: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

20

输入 hello 回车

此时便可看到核心板上两个 LED 交替闪动。

结论:可见,在 NiosII 中移植 ucLinux 并不难,关键是人的 ideal,即用它来

实现什么功能呢?那就是您来发挥的时候了,呵呵,努力!

声明:该教程版权归嵌入式控制研究室(www.21control.com) 所有,未经许可,

任何人,任何单位不得以任何方式将此教程的任何内容(包括内容、图片、例

程等)进行翻印、传播等。

Page 21: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

嵌入式控制研究室及产品介绍

2006年 9月 8日

嵌入式控制研究室致力于嵌入式技术的研究、开发和普及推广,其产品质量

好,服务好,价格保持在国内同类产品中最低,因此赢得了广大用户的青睐。其

中有 80%左右客户为学生个人或者团体(包括学校实验室、老师等),不少学校实验室大批量采购我们的产品作为实验室 EDA实验平台或作为课程设计平台;其它 20%左右的用户为个人或公司。除了国内用户,还包括土耳其、法国、加拿大、新加坡和台湾等客户。

“ www.21control.com”是我们展示研发成果和技术交流的网站平台,经过一年多的悉心管理,该网站逐渐得到广大嵌入式技术爱好者的喜爱。我们不断地

完善产品的生产和管理,例如,与著名 ALTERA 芯片代理商和芯片分销商建立长期的合作关系;与电路板焊接加工厂建立长期的生产合作关系;不断改善了产

品包装和形象…从采购到生产到销售,我们积累了很多宝贵的经验。 FPGA/SOPC学习套件的特点和优势: (一) 有丰富的例子、文档和相关教程,真正适合初学者。功能过多、系

统复杂的学习板并不适合初学者,特别是缺乏电子设计经历的学生(在中国高校,

85%以上的本科生缺乏电子设计实践的经历),对于一个没有经历过电子设计实践的学生,面对一块功能繁多、系统复杂的开发板是无从入手的,在缺乏简单易

懂的入门教程的情况下更是如此。时常有学生向我们抱怨某些开发板资料非常少

(特别是中文资料),缺少入门的例子和相关的说明,不知如何入手。针对这种

情况,我们设计了更适合初学者的学习套件,并编写详尽的配套说明文档和教程,

帮助学生快速地熟悉开发的流程,建立起学习信心和兴趣。 (二)核心板与实验板分离,核心板更具实用性。我们发现实际上有不少购买我

们的套件的客户主要是将其核心板用于他们的系统中,因为这样一方面可以省却

了设计 FPGA 最小系统的麻烦,也省却了焊接微小间距贴片封装 FPGA 的麻烦(很多初学者并未掌握焊接这些微小间距封装芯片的技巧)。我们目前有多种核

心板可供选择,例如 EP1C6型、EP1C12型、EP2C5型和 EP2C8型,新型号不断增加,例如正在开发中的 EP2C20 型和 MAXII 型等。这些核心板实际上是一块独立的 SOPC最小系统板,SDRAM和 Flash都集成在核心板上,学生甚至可以用面包板制作各种外围电路与核心板相连,完成各种简单的实验(非常适合学

生进行课程设计)。另外,如果项目试验中只需用到 FPGA功能(即无需定制 Nios系统),则可以将 SDRAM 和 Flash 卸下(或者通过直接在 FPGA 内部置高这两个芯片的片选或输出使能管脚),核心板实际上就成了一个将所有 FPGA 的 IO管脚引出的 FPGA核心板。 (三)价格低,我们针对学生用户来定价,让更多的学生购买得起。作为纯粹的

消费者,中国学生目前的购买能力是非常有限的,原版的开发板动辄数千元,极

少数学生个体能买得起。虽然 ALTERA 公司的大学计划提供了一些初学者套件和工具给部分大学实验室,但相对于国内 2100 万的大学生来说,不过是沧海一粟。而一般情况下,这些捐赠的初学者套件的实际使用率是非常有限的,只有少

数优秀的学生有机会在参加电子设计比赛等场合使用。我们推出的学习套件虽然

功能比较简单,但价格非常低廉,符合学生的购买能力,并在保证质量的前提下

Page 22: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

尽量节约管理、生产等成本,以让更多的学生能够学习和掌握 FPGA的开发技术。 (四)具有多种功能扩展模块可选配,如:10M网络扩展模块、100M网络扩展模块、USB2.0扩展模块、视频扩展模块等。 因此,质优价廉、丰富的学习例子和教程,以及良好的售后服务和支持是我

们获得用户信赖和支持的三大法宝。我们的产品价格定位于学生,经过调查统计,

我们的学习套件的价格仅为国内同类功能产品价格的三分之二左右,部分甚至仅

为二分之一;而我们的产品在学习例子、教程以及技术的支持上,明显优于国内

同类产品,各个型号学习套件的例子都是针对学生学习规律而设计,由浅入深,

并辅以我们编写的配套实验教程,即使基础较差的学生也能很快上手;此外,我

们建立了客户学习交流群(群号:10533764)供很多初学者用户即时交流,同时我们的工程师都随时在线解答学生的疑问。除此之外,我们的技术支持还包括工

程 师 经 常 在 线 回 帖 的 论 坛 专 区

(http://www.21control.com/bbs/index.asp?boardid=11)以及电话技术支持。实践表明,我们的热心和及时服务,赢得了广大客户的信赖和厚爱,我们的客户群越

来越大。 嵌入式控制研究室的产品包括下表所示: 表 I 产品列表

品名/型号 功能/特点

FPGA/SOPC学习套件 V2.0 EP1C6型

64MBits SDRAM、16Mbits FLASH、EPCS1、2 个 RS232 串口、2 数码管、USB1.1(使用USB-UART桥接芯片)、2个用户 LED、3个按钮开关、 16x2 字符 LCD 模块、 I2C EEPROM、用户手册及入门教程(印刷版)。其它配件:ByteBlasterII 下载电缆、电源、资料光碟等。 该板适合基础比较差的初学者。

EP1C6型

EP1C12型

EP2C5型 FPGA/SOPC学习套件 V3.0

EP2C8型

64MBits SDRAM、16Mbits FLASH、EPCS1或 EPCS4、RS232串口、4个数码管、USB1.1(使用USB-UART桥接芯片)、2个用户LED、4个按钮开关、16x2 字符 LCD模块、128x64图形点阵 LCD 模块,8 色 VGA 接口、PS/2键盘接口、交流蜂鸣器、IP-USB 接口(用于验证 IP实现 USB协议)、I2C EEPROM、用户手册及实验教程(印刷版)。其他配件:

ByteBlasterII 下载电缆、电源、资料光碟等。功能比 2.0稍多,适合初学者。

EP2C5型 实验盒型

FPGA/SOPC学习套件 EP2C8型

功能与 V3.0相同,适合实验室使用

10M 以太网扩展模块

RTL8019 适用于 FPGA/SOPC学习套件 V3.0 所有型号

100M 以太网扩展模块

LAN91C111 适用于 FPGA/SOPC学习套件 V3.0 EP1C6和EP1C12型号

Page 23: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

视频编解码模

块 采用 SAA7114和 SAA7126或SAA7121芯片

多种视频输入和输出,适用于 FPGA/SOPC学习套件 V3.0 所有型号

USB2.0扩展模块 CY7C68013 适用于 FPGA/SOPC学习套件 V3.0 所有型号

专业级音频处

理开发板 EP1C3T144C8采用 TMS320C5409 DSP 作为主处理器、EP1C3T144C8 FPGA作为协处理器,24Bits音频 AD/DA

虽然我们团队比较年轻,但我们的分工明确、管理有序,在产品开发以及生

产过程中都能有效控制产品的成本以及质量: (1) 产品开发之前都做好充分的调查工作,以实用节约的原则作为指导

思想,深入研究大学生的学习需求来决定各个功能的取舍,尽量使

得每个功能都比较典型、实用; (2) 与著名芯片代理商或芯片分销商建立长期的合作关系,保证芯片质

量和稳定的供应;准确控制订货批次和数量,降低因浪费造成的成

本; (3) 与电路板焊接加工厂建立长期生产合作关系,采用先进的焊接工

艺,保证产品的生产质量; (4) 改善产品包装及相关材料,定制合适的产品包装盒,使产品质量在

存储和运输过程中更有保障; (5) 采取一些有效的管理措施进一步节约成本。 我们的成功有赖于工程师高度的敬业精神和责任感。他们工作一丝不苟,不

懈地吸收新知,锐意创新。从 2005年 10月推出的 V1.0版本的 FPGA/SOPC学习套件算起,经历了 V2.0版本,到目前的 V3.0版本,产品的品种、功能、例子和教程等都有了相当大的改进,并保持了同行最低的价格水平和最高性价比。同

时,不断开发出各种与 FPGA/SOPC 学习套件配套的应用扩展模块,包括10M/100M 网络扩展模块、USB2.0 扩展模块、视频处理扩展模块等;另外,音频处理模块、运动控制模块和以 EP2C20 为核心的开发板以及 MAXII 系列学习板也正在开发计划中。 目前我国非常紧缺掌握 FPGA/PLD技术的专业人才。我国总共有 2100万的

在校的大学生,数量居全球第一,以 10%来算,有超过 200万的电类相关专业的学生将要学习 FPGA或 PLD技术,目前各高校正纷纷建立 EDA实验室的状况就可以证明这一点。学校实验室的 EDA设备的数量非常有限,即使假设这些设备的实际使用率达 100%(实际上很多实验设备的实际使用率非常低),其数量和开放度(在这里,开放度是指实验设备真正开放给学生使用的限度,很多实验室

为了保护实验设备,实验设备的开放度很低)也不能满足学生独立操作和学习的

需要。因此,很多学生个人宁愿自费购买学习套件,但他们的经济能力只能承担

起相当廉价的实验设备。目前市面上销售的开发板或实验箱,价格不菲,动辄数

千元,大部分的学生都买不起。因此,我们开发和生产廉价的 EDA学习套件供应给广大的学生,将是一件非常有意义和值得去做的事情。

Page 24: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

附录:各个产品图片及简要介绍 1. FPGA/SOPC学习套件 V2.0

图 1 FPGA/SOPC学习套件 V2.0

该产品功能比较少,适合基础比较差的初学者。2个 RS232串口、2数码管、USB1.1(使用 USB-UART桥接芯片)、2个用户 LED、3个按钮开关、16x2字符LCD模块、I2C EEPROM、用户手册及入门教程(印刷版)。 详 细 介 绍 请 参 考 :

http://www.21control.com/Shop/FPGA/200605/Shop_20060522164800.html 2. FPGA/SOPC学习套件 V3.0 (1) EP1C6/EP1C12型:

Page 25: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 2 FPGA/SOPC学习套件 V3.0—EP1C6/EP1C12型 (2) EP2C5/EP2C8型:

图 3 FPGA/SOPC学习套件 V3.0—EP2C5/EP2C8型

该产品由 FPGA/SOPC学习套件 V2.0升级而来,其实验板增加了一些功能,

例如:PS/2接口、8色 VGA接口、128*64点阵式 LCD接口和 USB接口等。例子程序和教程也增加了更多内容。实验板共有:1个 RS232串口、4个数码管、USB1.1(使用 USB-UART 桥接芯片)、2 个用户 LED、4 个按钮开关、16x2 字符 LCD模块、128x64图形点阵 LCD模块,8色 VGA接口、PS/2键盘接口、交流蜂鸣器、IP-USB接口(用于验证 IP实现 USB协议)、I2C EEPROM、用户手册及实验教程(印刷版)。 该套件有多种核心板可选择,目前有 EP1C6、EP1C12、EP2C5和 EP2C8型

号核心板。也逐渐增加许多扩展模块供客户选用,例如:10M/100M网络模块、USB2.0、视频模块等。由于核心板与实验板分离,所以增加了加固底板会使连接更牢固、可靠。

Page 26: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 4 FPGA/SOPC学习套件 V3.0—加固底板

详细介绍请参考:

http://www.21control.com/Shop/FPGA/200605/Shop_20060522170735.html

(3) 实验盒型 FPGA/SOPC学习套件

实验盒型 FPGA/SOPC 学习套件的功能与 FPGA/SOPC 学习开发套件

V3.0一致,不同的是实验盒型专为学校实验室而设计,整块电路板安装于盒子里,体积小巧,储存、方便,最适合学校实验室作为实验平台、学生课程

设计等使用。 详细介绍请参考:

http://www.21control.com/Shop/FPGA/200607/Shop_20060726183248.html

(4) 核心板(目前共有 EP1C6/EP1C12/EP2C5/EP2C8四种型号核心板):

Page 27: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 5 核心板正面

该核心板的价格低廉,比较适合用于搭建简单的基于FPGA和SOPC的系统,

例如学生课程设计时用于搭建实验电路。核心板实际上是一个 FPGA 最小系统板,也是一个 SOPC最小系统板,它以 FPGA芯片为核心,辅以电源、时钟源、配置芯片、SDRAM和 Flash等。FPGA的所有 IO管脚都由标准 2.54间距的排针引出,学生甚至可以使用万能电路板搭建简单的系统,例如交通灯、时钟电路等。

当然,对于一些简单的项目研发前期,也有不少人用来快速搭建试验电路。

Page 28: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 5 核心板反面

核心板反面:U1为 EPCS1/EPCS4配置芯片,U2为 I2C EEPROM芯片,U5

为 64Mbits SDRAM,U3为 16Mbits FLASH芯片 (5) 实验板: 实验板扩展了一些比较典型的实验功能,例如,按键、LED、LCD 模块接

口、PS/2 键盘接口、VGA 接口、数码管、蜂鸣器、USB、串口等功能。通过学习这些基本功能和接口的控制逻辑原理和设计方法,学生基本上能开始跨入

FPGA开发的门槛。当然,当这些功能不再满足深入学习的情况下,还可以选购我们开发的其它功能扩展模块,例如网络扩展模块、USB2.0 扩展模块、音频处理扩展模块、视频处理扩展模块等,用户也可以自主设计各种功能扩展模块,加

到 FPGA核心板上即可使用。

EPCS1/4

I2C EEPROM

FLASH

SDRAM

Page 29: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 6 实验板 V3.0 3. 各种扩展模块 (1) 10M 网络扩展模块 (提供 SOPC Builder Ready Component 及 HAL

Driver)

RS232

VGA接口

用 CP2102 实现的 USB

用于验证 USB IP的 USB接口

PS/2接口

蜂鸣器

1602 字符 LCD接口

128*64点阵 LCD 接口

核心板插座

连接核心板 Bank2

RJ45插座 & 隔离变压器

RTL8019

Page 30: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

图 7 10M网络扩展模块 (2) 100M 网络模块 (兼容 SOPC Builder LAN91C111 Component 及其

HAL Driver)

图 8 100M网络扩展模块

(3) 网络扩展模块与 FPGA/SOPC学习套件 V3.0连接示意图

图 9 网络扩展模块与 FPGA/SOPC学习套件 V3.0连接示意图

SD卡插座

连接核心板 Bank2和 Bank4

RJ45插座 & 隔离变压器

LAN91C111

Page 31: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

(4) 视频编解码模块

图 10 视频扩展模块 该视频扩展模块包含视频 AD和 DA,其中 AD采用 PHILIP的 SAA7114,

支持 CVBS 视频信号输入,如 DVD、录像机、摄像机等 CVBS 视频信号;DA采用 SAA7121。配合 FPGA或MCU等,视频该模块可用于视频监控、图像采集等。该模块可配合 21control 的 FPGA 核心板使用,也可以由用户接到其他系统中使用。

视频输出

视频输入

RGB输出

视频编码芯片

视频解码芯片FPGA核心板 Bank3插槽

Page 32: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

(5) USB2.0通讯模块

图 11 USB2.0扩展模块

该 USB2.0扩展模块采用最流行的 CY7C68013芯片,内含 51单片机。该模块可配合 21control 的 FPGA 核心板使用(可接于核心板的 BANK3 插针,也可以接于 BANK4的插针,具体参照使用说明书),也可以用于用户的其他系统中,或者单独作为学习 USB2.0开发使用。

CY7C68013-56 USB2.0芯片

CY7C68013 与外部MCU 或 FPGA 的接口(兼容 FPGA核心板 V3.0)

Page 33: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

4. FPGA核心板接入多个功能模块的示例

如图 12 所示,FPGA 核心板分别接入了 10M 网络板扩展板、USB2.0 扩展板和视频扩展板,可组成 USB视频/图像采集系统、网络视频/图像采集系统。

图 12 FPGA核心板接入多个功能模块的示例

Page 34: uc/OS-II 实时操作系统在 中的运行 一 实验目的:了 …read.pudn.com/downloads94/sourcecode/others/370931/NiosII...嵌入式控制研究室 1 实验五 uc/OS-II实时操作系统在Nios

嵌入式控制研究室 www.21control.com

5. FPGA/SOPC学习开发套件的包装:

图 13 FPGA/SOPC学习套件的包装

(1) 相应型号核心板; (2) 实验板 V3.0; (3) ByteBlasterII下载线;(可补差价换 USB-Blaster); (4) 5V开关电源; (5) USB线; (6) 2~3张资料光碟; (7) 《FPGA/SOPC实验教程》、《用户手册》; (8) 1602字符型 LCD模块和 128*64 LCD模块均为选配件; (9) 10M网络扩展模块和 100M网络扩展模块均为选配件; (10)可以根据需要选购 USB2.0扩展模块和视频扩展模块。

各个产品更详细的说明和价格请参考网上商城的详细介绍:

http://www.21control.com/Shop/Index.html 嵌入式控制研究室 www.21control.com 电话:020-87543030

包装盒

电源

USB线

《实验教程》

10M网络板

核心板

BB2下载线

128*64 点阵式 LCD

实验板

《使用手册》

1602字符 LCD