嵌入式工业以太网控制器的设计和应用 |
引言 本文对嵌入式工业以太网控制器进行了开发研究,提出用SOPC技术来解决控制器硬件设计中存在的接口速率瓶颈问题,提高了控制器的实时性,实验结果表明该系统运行稳定可靠随着工业以太网的大规模应用,嵌入式的工业以太网系统也越来越多地渗入到了工控领域,以ColdFire微处理器和ARM处理器为硬件平台的嵌入式工业以太网系统已经得到了广泛应用。但是,由于上述这些系统的开发平台并不完全针对工业以太网的应用情况,因此在实际应用中经常出现硬件资源浪费或者资源不够的问题,开发系统往往需要外接PLD芯片来进行外围器件的逻辑控制,存在接口速率的瓶颈问题。基于SOPC技术的NIOS处理器能解决这个难题。 硬件设计 控制器的硬件设计在SOPC Builder和QuartusII中完成。利用它们可以灵活定制NIOS CPU的各个特性甚至指令,可以使用Altera提供的大量IP来加快开发NIOS外设的速度,提高外设的性能,还可以使用第三方IP,或VHDL、Verilog来定制外设。 嵌入式工业以太网控制器的硬件分为三个部分:FPGA部分、存储器部分和外围元件部分,如图1所示。本文选用的FPGA是CYCLONE EP1C6。 在SOPC Builder中需要设计的是FPGA部分,要建的NIOS系统包含的元件模块有:一个NIOS CPU 核,用于连接NIOS核的Avalon总线控制器,一个存放启动和调试程序的内部存储器Boot ROM,一个UART串行通信电路模块(RS232核),一个内部定时器和一些通用I/O外围接口模块。为使NIOS系统正常工作,在FPGA外围必须接有一个RS232通信口、RJ45、几个发光管和数码管以及16M的SRAM和4M的Flash ROM。 软件设计 由于在硬件开发中的NIOS CPU及其外设构成的系统是自定制的,存储器、外设地址的映射等都各不相同,因此需要专有的SDK(软件开发包)。在完成NIOS的硬件开发后,SOPC Builder能够自动生成SDK。 软件部分的开发几乎与通常的嵌入式系统的开发没有区别,唯一的不同只在于:这里的嵌入式系统是自己定制的、裁剪过的,受到硬件的局限小一些。 考虑到性价比以及现场控制需要,控制器的操作系统采用了整个嵌入式工业以太网控制器具有以下特点: |