基于NIOS II的BCMO4蓝牙通信模块的设计
板的面积,该器件具有外型小巧,插入损耗低等优点,能够很好地完成平衡到不平衡端的转换和带通滤波的功能。BCM04中需要3.3V和 1.5V两种电压,其中1.5V是为蓝牙芯片和带通滤波器+平衡-不平衡转换器供电,3.3V为Flash芯片和蓝牙芯片的外围I/O脚提供电压。CPU 与蓝牙模块接口电路图如图3所示。
图3 CPU与蓝牙接口的电路图
基于NIOSⅡ软核的FPGA芯片的SOPC设计
NIOSⅡ嵌入式处理器是FPGA生产厂商Altera公司推出的软核CPU,是一种面向用户的、可以灵活定制的通用RISC(精简指令集架构)嵌入式CPU。NIOSⅡ以软核方式提供给用户,并专为Altera的FPGA上实现做了优化,用于SOPC集成,最后在FPGA上实现。为完成设计要求,需要对处理器芯片进行配置。其SOPC Builder上的配置如图4所示。
图4 蓝牙技术模块的SOPC Builder上的配置图
SOPC设计包括以32位NIOS Ⅱ软核处理器为核心的嵌入式硬件配置、硬件设计、硬件仿真、软件设计和软件调试等。在SOPC Builder中定义了CPU、存储器接口(FLASH和SDRAM)、标准外围接口(蓝牙接口)、三态桥、硬软件程序下载口和定时器。
软件设计
蓝牙通信模块的软件设计主要集中在NIOS Ⅱ软核的驱动开发和蓝牙协议的转换上。Altera公司提供了包括硬件抽象层中字符模式器件、定时器件、文件子系统、以太网器件、DMA器件和Flash 器件,并为每个器件提供一系列统一的初始化函数和访问函数接口。通过对这些接口的读写,可完成NIOS Ⅱ软核的驱动开发的开发。
首先初始化蓝牙模块。蓝牙模块加载了各种协议层后并不能工作,还需要根据不同的硬件设计对模块初始参数进行设置。初始参数设置又称为PSK设置,可以通过BlueLAB集成开发环境或者PS Key设置软件来实现,图5所示为PS Key设置界面。
图5 PS Key设置界面
蓝牙协议栈已固化在蓝牙芯片中,所以在初始化蓝牙模块后,就可通过蓝牙模块对工业现场的其他无线设备进行读写,更新蓝牙指令。以下程序是实现蓝牙串口驱动的所有函数指针。
小结
蓝牙技术是一种无线数据与语音通信的开放性全球规范,它以低成本的近距离无线连接为基础,为固定与移动通信设备的通信环境建立了一个特别连接的短程无线技术。蓝牙技术具有低消费、低功耗、安全性高等特点。本设计在蓝牙技术的基础上,结合了嵌入NIOS Ⅱ软核的CPU,采用SOPC技术,可裁减、可扩充、可升级,并具备软硬件在系统中可编程的功能。FPGA芯片在蓝牙通信模块上的使用,使得通信模块在可根据工业现场实际需要更改CPU的配置成为可能,方便日后系统的软硬升级,延长了通信模块的使用寿命,为应付工业现场多变的环境提供了保证。
- NiosII+GPS/GSM实现汽车状态监控系统(02-09)
- 基于NIOSⅡ的声纳主机与显控台之间的RS232通信协议(05-30)
- 基于NIOS II的多串口数据通信的实现(03-17)
- 基于NiosII传真通信规程的分析与设计实现(12-17)
- 直接数字合成技术实现函数信号发生器(12-09)