本设计采用了Altera公司开发的第二代低成本的FPGA芯片,在其之上开发了基于BCM04的NIOSⅡ蓝牙通信模块。该通信模块能够代替电缆,有效的应用于工作环境复杂多变的工业现场,可实现与现场设备、接入点、手操器等设备的无线通信
引言
在工业现场中,大多的通信设备是通过加装通信模块来实现的,而大多的通信模块的处理器采用ARM核。随着微电子学和计算机科学的迅速发展,电子系统已经从电路板级系统集成发展成为包括ASIC、FPGA和嵌入式系统的多种模式。SOPC由于集成了硬核或软核CPU、DSP、存储器、外围I/O及可编程逻辑模块,在设计和应有的灵活性及其成本方面有较大的优势。
NIOSⅡ系列处理器是Altera公司的第二代FPGA嵌入式处理器。同前一代软核的CPU相比,NIOSⅡ的性能得到很大提高,体积更小,其最大处理能力是第一代软核的三倍。逻辑功能方面具有32位的精简指令集CPU。实现方式是在FPGA上通过编程的方式实现,这是与传统的CPU的一个根本的差别。本文是在NIOSⅡ软核的基础上设计了蓝牙通信模块,并在工业以太网中,较好地实现了通信模块与工业现场设备的无线通信。
NIOSⅡ嵌入式处理器概述
NIOSⅡ处理器是Altera公司的第二代用户可配置的通用32位RSIC软核微处理器,是Altera公司特有的基于通用FPGA架构的软CPU内核。它可以提供:完全的32位指令集、数据总线和地址空间;32位通用的目的寄存器;32个外部中断源;计算64位和128位乘积专用指令;单指令桶形移位器;对多种片上外设进行访问,提供片外存储器和外设接口;在IDE控制下,硬件辅助调试模块可对处理器进行启动、停止、单步和追踪操作;基于CNU C/C++工具链和Eclipse IDE;所有的NIOSⅡ处理器系统的指令集兼容;具有超过150 DMIPS的性能。
它将设计输入、综合、布局、验证、编程与配置以及第三方EDA工具接口集成在一个无缝的综合性设计环境中。NIOSⅡ的硬件开发环境是在SOPC builder中进行的。SOPC builder是一个自动化的SOPC硬件系统的开发工具,集成在Quartus Ⅱ软件内,Quartus Ⅱ和SOPC builder一起为建立SOPC设计提供标准化的图形环境。Quartus Ⅱ和SOPC builder软件,可以在很短的时间内定义一个完整的硬件系统。SOPC builder 通过SOPC开发阶段的系统定义、集成和验证的自动化,缩短了产品的市场化时间。
NIOSⅡ软件开发环境被称为NIOSⅡ集成开发环境(Integrated Development Environment,IDE)。它内嵌在Quartus Ⅱ设计工具中,可通过JTAG将应用程序下载到SOPC硬件系统中进行调试,可在指令集仿真器中对应用程序进行仿真调试,也可在ModelSim软件中进行仿真调试。基于NIOSⅡ的SOPC的软硬开发环境及设计流程如图1所示。
图1 基于NIOSⅡ的SOPC软硬件开发环境及流程
首先利用SOPC Builder的界面定制系统,产生输出文件;然后进入传统的FPGA硬件开发流程;在Quartus Ⅱ中进行逻辑综合、布局布线。在软件流程中,用户利用NIOSⅡ IDE环境,建立工程、编译设计、调试等。
蓝牙通信模块的硬件设计
蓝牙技术是一个开放性的、短距离无线通信技术标准,工作在全球通用的2.4GHz ISM频段,采用跳频扩频技术,可以用于近距离通过无线连接的方式实现固定设备以及移动设备之间的网络互连,在各种数字设备之间实现灵活、安全、低成本、小功耗的数据和语音通信,实现全方位的数据传输。
工业现场中存在多种使用不同方法进行互连的设备。对有些环境比较恶劣,布线不方便等因素可以采用蓝牙无线通信技术来实现数据的通信。本设计中,采用了基于NIOSⅡ软核的FPGA芯片EP1C12Q240C8作为CPU处理器,并在处理器的外围拓展了64Mb的SDRAM和16Mb的Flash,配置了50MHz的时钟、复位电路、下载口,接入蓝牙模块,以便在蓝牙通信模块中实现通信协议并通过蓝牙模块发送测试数据或接收控制命令等。图2为基于NIOSⅡ软核的蓝牙通信模块的硬件设计框图。
图2 基于NIOSⅡ软核的蓝牙通信模块的硬件设计框图