基于SOPC技术的EPA蓝牙接入点的设计与实现
1、引言
本文引用地址:http://www.amcfsurvey.com/article/201609/304265.htm随着工业企业生产规模的扩大和自动化程度的提高,现场总线网络系统在大中型工业企业的自动生产控制中得到了广泛应用。大部分现场总线均使用有线传输技术作为其底层通信方式,而在一些特殊工业现场环境中,现场设备需要具有一定的移动性,有线介质的使用限制了设备的移动。为了解决设备的移动问题可以选择使用红外线、802.1lx、蓝牙等线缆替代技术来替代有线介质作为底层通信介质。使用无线技术连接的现场无线网络虽然提高了网络的灵活性,但却造成遗留有线现场总线和无线现场网络形成网络“孤岛”。为了实现两种网络的信息共享,需要在两者的边界使用接入设备实现两者的互操作。本文基于SOPC技术设计了能够有效连接EPA有线网段与蓝牙无线网段的接入点。
2、实现原理
由于蓝牙技术最初主要是为消费类电子应用而设计的,在设计协议栈时考虑了对其他应用层协议的支持,如RFCOMM是基于ETSI 07.10规范的串行仿真协议,还有电话控制协议等,其协议栈为通用协议栈[1]。考虑到控制网络中传送的信息多为短帧信息,且信息交换频繁的特点,同时为了使控制网络的通信协议简单实用,工作效率高,缩短系统响应时间,提高通信的实时性和时间确定性。因此,我们在综合分析控制系统的特点和蓝牙协议栈的基础上,以及在EPA中蓝牙接入协议参考模型的基础上,提出并实现了一种应用模型。该应用模型的体系结构如下图1所示。
图1中的粗实线代表蓝牙主机控制器接口(HCI),HCI提供了一种访问蓝牙硬件能力的通用接口,HCI固件通过访问基带命令、链路管理器命令、硬件状态寄存器、控制寄存器以及事件寄存器实现对蓝牙硬件的HCI命令。
通信过程如下:通过调用HCI指令建立数据链路层连接,当连接建立成功后,把获取的IP分组包封装成HCI数据帧,通过蓝牙物理层传输至EPA网络蓝牙接入点BEPA,BEPA收到后,解包,取出IP分组包,再采用802.3协议封装成局域网数据帧,最后通过网卡发送出去。
图1 EPA中蓝牙通信协议的应用模型
3、EPA蓝牙接入点的设计
针对以上的EPA蓝牙接入的应用模型,本文采用SOPC技术、现场总线技术设计了一种适用于EPA工业以太网的蓝牙无线接入方案。该方案的核心部分即采用NIOS II软核作为处理器。使用NIOS II软核处理器替代通用处理器(如ARM、单片机)[2],不仅简化了电路结构,而且增强了编程的灵活性,节省了硬件资源,而且FPGA的现场可编程的特性有利于系统的软件和硬件升级。本设计主要包括EPA协议栈处理部分和蓝牙协议处理部分,前者由NIOS II处理器完成,后者由BCM04模块实现,两者之间通过UART串口相连。以下分别从硬件设计方案和软件设计方案进行详细描述。
3.1 硬件系统设计
图2是EPA蓝牙接入点的硬件系统结构框图。整个设计的核心电路用一片高端系统级FPGA实现,可将嵌入式处理器、存储器、逻辑单元以及高性能I/O集成在一个芯片中,采用自顶向下的设计方法,对整个系统进行方案设计和功能划分,用硬件描述语言HDL完成系统行为设计,最后通过综合器和适配器生成最终的目标器件。在设计中FPGA采用了Altera公司的Cyclone系列的EP1C12Q240C8芯片,内嵌32位RISC软核处理器NIOS II。
在进行硬件设计时分两步完成,首先是根据需要设计EP1C12Q240C8芯片的外围电路,包括网络接口单元、存储器单元、串口通信单元、复位电路、JTAG、时钟电路、电源电路等。其次,利用Altera公司提供的Quartus II开发软件对FPGA内嵌的NIOS II软核及其相关接口进行设计。
图2 EPA蓝牙接入点的硬件结构框图
3.1.1 网络接口单元
以太网接口芯片采用了SMSC公司专门用于嵌入式产品的LAN91C111快速以太网控制器。该芯片内部同时集成了以太网介质访问控制器(MAC)及物理层收发器(PHY),支持10/100M全双工传输模式、可以方便地与各种体系得CPU连接。本设计中使用了异步总线接口模式,并与FLASH共用地址线和数据线,通过FPGA上的适配模块连接到Avalon片内总线。
3.1.2 存储器单元
由于存储操作系统内核、EPA协议栈、程序数据等的需要,本系统使用了一片型号为AM29LV320D的FLASH芯片。该芯片由AMD公司推出,容量为4MB,支持CFI接口,其与Avalon总线的连接需要FPGA内部的总线适配模块进行时序匹配。SDRAM用于存储运行期的程序代码和数据,HY57V641620芯片为现代公司推出的容量达8MB的SDRAM,由于该芯片端口的宽度可达32位,因此系统中使用单芯片即可。SDRAM读写时序比较复杂,需要在FPGA中集成专用的SDRAM控制器IP核与其对接。
3.1.3 蓝牙模块
蓝牙模块的实现采用了CSR公司的单芯片BCM04。BCM04内嵌BlueCore04芯片,并提供SPI、UART/USB、PIO、PCM接口。单芯片蓝牙无线和基带集成电路BlueCore04内有16位RISC微控制器,可作为一个简单的嵌入式控制器及蓝牙链路控制器,可运行蓝牙软件协议栈及高层应用程序。该模块的需要与NIOS II内部的UART串口IP核连接以实现与处理器的无线通信功能
3.1.4 FPGA内部IP核
为完成与上述3个外部单元的连接,还必须在EP1C12Q240C8芯片内部定制相关的接口电路。其中包括一个定时器,为EPA协议栈提供本地时钟,该时钟必须与EPA网络中的主时钟同步;两个UART串行接口控制器,其中一个与蓝牙模块连接,实现蓝牙数据的收发,另一个需要外接电平转换芯片后与上位机连接实现上位机的监控功能;一个以太网接口控制器,实现对LAN91C111的接口控制;此外还包括 SDRAM和FLASH接口等部件。所有的部件都由Altera公司以IP核的方式提供,可方便复用。系统部件及其功能见图3所示。NIOS II和所有部件通过Avalon总线连接在一起,构成基于Avalon总线的SOPC系统架构。Avalon总线是Altera公司开发的片上总线,是一种简单的总线体系结构,用来将处理器和周边设备集成到SOPC中,并规定了主设备和从端口的端口连接方式的时序关系。
评论