4 软件设计
完成NIOS的硬件开发后,SOPC Builder可以帮助开发者生成相应的SDK(软件开发包)。这是由于在硬件开发中的NIOS CPU及其外设构成的系统是自定制的,存储器、外设地址的映射等都各不相同,需要的SDK也应是专有的,SOPC Builder能够自动生成SDK。
在生成的SDK基础之上,进入软件开发流程,在这个部分,开发几乎与通常的嵌入式系统的开发没有区别,唯一的不同只在于,嵌入式系统是自己定制的、裁剪过的,受到硬件的局限小一些。
控制器的操作系统考虑到性价比以及现场控制需要,采用了uClinux。uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码,其是专门为控制领域而裁减设计的嵌入式操作系统。
uClinux 从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性[5]。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。它通常用于具有很少内存或Flash的嵌入式系统。
在GNU通用公共许可证(GNU GPL)的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数,不会因为没有MMU而受到影响。由于uClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux,虽然它的体积很小,uClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。在开发应用程序之前,先将uClinux移植到NIOS处理器中来。
特别的为了应用到工业实时领域,本文进一步增强uClinux的实时性。
整个嵌入式工业以太网控制器具有以下特点:
控制器具有很高的灵活性。这是本文设计的以太网控制器的最大特点。由于微处理器采用Altera公司的NIOS,使得系统资源能够灵活调配,并且克服了采用其它处理器中存在的接口速率瓶颈的缺点,适应工业以太网实时数据的要求。
控制器具有很高的集成度。由于NIOS具有丰富的接口资源,而uClinux裁减后体积非常小,而且具备以太网功能,这样可以很容易实现控制器的微型化、Internet化;
控制器具有很高的实时性。在设计硬件和软件时都充分考虑了系统的实时性。硬件设计中采用了高速的A/D(500khz)和多路D/A输出,使得关键信号能及时采样和输出,保证了“硬实时”;操作系统中加入了RTlinux模块,保证了“软实时”。
4 软件设计
完成NIOS的硬件开发后,SOPC Builder可以帮助开发者生成相应的SDK(软件开发包)。这是由于在硬件开发中的NIOS CPU及其外设构成的系统是自定制的,存储器、外设地址的映射等都各不相同,需要的SDK也应是专有的,SOPC Builder能够自动生成SDK。
在生成的SDK基础之上,进入软件开发流程,在这个部分,开发几乎与通常的嵌入式系统的开发没有区别,唯一的不同只在于,嵌入式系统是自己定制的、裁剪过的,受到硬件的局限小一些。
控制器的操作系统考虑到性价比以及现场控制需要,采用了uClinux。uClinux是一个完全符合GNU/GPL公约的操作系统,完全开放代码,其是专门为控制领域而裁减设计的嵌入式操作系统。
uClinux 从Linux 2.0/2.4内核派生而来,沿袭了主流Linux的绝大部分特性[5]。它是专门针对没有MMU的CPU,并且为嵌入式系统做了许多小型化的工作。适用于没有虚拟内存或内存管理单元(MMU)的处理器。它通常用于具有很少内存或Flash的嵌入式系统。
在GNU通用公共许可证(GNU GPL)的保证下,运行uClinux操作系统的用户可以使用几乎所有的Linux API函数,不会因为没有MMU而受到影响。由于uClinux在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux,虽然它的体积很小,uClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、完备的对各种文件系统的支持、以及标准丰富的API等。在开发应用程序之前,先将uClinux移植到NIOS处理器中来。
特别的为了应用到工业实时领域,本文进一步增强uClinux的实时性。
整个嵌入式工业以太网控制器具有以下特点:
控制器具有很高的灵活性。这是本文设计的以太网控制器的最大特点。由于微处理器采用Altera公司的NIOS,使得系统资源能够灵活调配,并且克服了采用其它处理器中存在的接口速率瓶颈的缺点,适应工业以太网实时数据的要求。
控制器具有很高的集成度。由于NIOS具有丰富的接口资源,而uClinux裁减后体积非常小,而且具备以太网功能,这样可以很容易实现控制器的微型化、Internet化;
控制器具有很高的实时性。在设计硬件和软件时都充分考虑了系统的实时性。硬件设计中采用了高速的A/D(500khz)和多路D/A输出,使得关键信号能及时采样和输出,保证了“硬实时”;操作系统中加入了RTlinux模块,保证了“软实时”。
举报