新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于SOPC技术的EPA蓝牙接入点的设计与实现

基于SOPC技术的EPA蓝牙接入点的设计与实现

作者:时间:2016-09-12来源:网络收藏

图3 系统部件及结构框图

本文引用地址:http://www.eepw.com.cn/article/201609/304265.htm

3.2 软件系统设计

图4为接入点上的软件结构框图,该结构框图中的协议栈部分参照《用于工业测量与控制系统的系统结构与通信规范》进行设计,并在接入点中实现。由于在系统中资源有限很难开发完整的协议栈,所以本接入点中对EPA通信协议栈做了裁剪。如图4所示,基于的系统设计主要分为3层,最底层构成整个系统的硬件平台,提供软件的运行平台及通讯接口。第2层是操作系统UC/OS II,该操作系统是一个基于抢占式的实时多任务内核,可固化、可裁减,具有高稳定性和可靠性[3]。这一层提供任务调度以及接口驱动,同时通过硬件中断实现系统对外界的通信请求实时响应最上层算法的实现。第3层为应用程序层,该层负责加载EPA协议栈。

图4 EPA接入点软件结构框图

3.2.1 NIOS II驱动开发

此部分工作主要是针对本系统的特定硬件进行移植并编写所需的各种驱动。HAL即硬件抽象层,是NIOS II开发套件的一部分,由Altera公司提供,它封装了系统中硬件操作的相关细节,驱动程序也作为它的一部分。HAL共抽象了六种器件模型,包括字符模式器件、定时器件、文件子系统、以太网器件、DMA器件和Flash器件,并为每个器件提供一系列的统一的初始化函数和访问函数接口,通过这种方式,HAL向上一层提供了一个类POSIX的API接口,即硬件抽象层应用界面。针对NIOS II的软件开发,其实是建立在HAL之上,而非直接面向NIOS II硬件本身。

3.2.2 协议和EPA协议的转换

EPA协议栈加载在UC/OS II操作系统之上,其物理层和数据链路层通过LAN91C111网络控制芯片完成,而网络层和数据传输层由LWIP协议栈完成(LWIP协议栈实现了IP、ARP、UDP、ICMP等协议),然后在LWIP协议栈之上加载了EPA应用层,在EPA应用层上实现了EPA套接字映射实体、EPA系统管理实体、EPA应用访问实体、EPA管理信息库。

当EPA接入点启动后,首先需要初始化相关硬件设备驱动,包括UART串口驱动,设置与蓝牙模块的通信的波特率值38400bps,初始化串口接收和发送缓冲区,向蓝牙模块写入初始化的HCI指令[4];其次是网络接口驱动,写入LAN91C111的相关寄存器值,初始化网口接收和发送缓冲区,并且通过lwip协议栈中提供的sys_thread_new()函数创建以太网接收和发送报文进程。当蓝牙模块接收到无线数据时,由蓝牙模块解析出该报文,并把该报文存放在串口接收缓冲区中,然后调用EPA应用层的处理函数,判断该报文是属于设备声明报文还是数据分发报文,并且将该报文封装成EPA报文从以太网接口发送出去。

4、测试系统

EPA蓝牙接入点能够同时接入7个现场蓝牙设备所采集到的数据[5],而在我们的测试系统中只接入了一个蓝牙现场设备即图5中第一行所显示的EPA蓝牙阀门定位器,EPA蓝牙阀门定位器每隔0.5秒将采集到的阀门值通过蓝牙报文传送给EPA蓝牙接入点,然后经由蓝牙接入点进行报文格式转换后,以EPA报文格式发送给负责监控的上位机。从图中可以看到阀门定位器的当前值,测试表明该接入点运行良好,能够很好的完成网段互联功能。

图5 上位机通过EPA蓝牙接入点监测EPA阀门定位器(蓝牙)的实时数据

5、结论

本文设计的基于NIOS II软核EPA蓝牙接入点目前已经完成了初步的调试和测试工作,测试表明该接入点运行稳定,能够完成正常的无线通信及以太网通信功能。相比于以往的开发方案采用技术缩短了开发周期节约了硬件资源,并且为以后的系统的软硬件升级提供了很大的空间。


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭