微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 蓝牙局域网接入点的嵌入式实现

蓝牙局域网接入点的嵌入式实现

时间:07-24 来源:互联网 点击:

无线、基带、链路控制器和管理器协议。本系统采用的蓝牙模块已经固化有蓝牙的底层协议,并且提供了标准的访问接口(HCI),不再这里讨论。

2) 中间协议组:这是本系统需要开发的核心部分,包括有逻辑链路控制及适配协议(L2CAP)、服务搜索协议(SDP)、基于TS07.10的串口仿真协议(RFCOMM)。

3) 应用协议组:本系统实现了篮牙的协议子集LAN Access Point(LAP),这种应用模式在蓝牙连接上使用IETF的点到点协议(PPP),PPP是一种广泛使用的Internet标准,为IP通讯提供了主机配置和准备,PPP是为在同等单元之间传输数据包这样的简单的链路而设计的。这种链路提供全双工操作,并按照顺序传递数据包。PPP为基于各种主机、网桥和路由器的简单连接提供一种共通的解决方案。使用PPP是LAP的关键,PPP适用于数据接入点和数据终端间的连接。IP网络业务能够在PPP链路上传输,PPP在设计时已经考虑到了要在串行连接上使用,因此在LAP中PPP可以运行在串口仿真协议RFCOMM之上。UDP、TCPIP是由IETF定义,主要用于Internet上的通讯。四. 协议栈的实现

篮牙协议栈的设计主要包括:结构设计,重要数据结构的设计,任务的管理,内存的管理等等。

1) 结构设计:系统采用单进程的结构,由主程序循环的调用几个任务。当一个任务执行完之后,才会进入对下一个任务的执行。任务的执行不影响中断的产生和中断服务程序的调用,可以保证系统对外部事件的响应,构成典型地前后台系统。

2) 重要数据结构的确定:根据对蓝牙协议的分析可知,协议的中心任务是建立和管理几个蓝牙设备之间的连接,建立通讯链路,并借此传输数据。因此对这种连接的建立,维护和参数管理是软件最基本的功能。根据蓝牙规范中连接的属性和各种协议数据包的定义,可以确定对应的数据结构。例如可以用结构l2cap_con来描述逻辑链路控制和适配协议层的对等层间的连接通道。

struct l2cap_con {

BD_ADDR remote_bd; /* 6 bytes */

unsigned short local_cid;

unsigned short remote_cid;

int current_state;

unsigned short psm;

unsigned short remote_mtu;

unsigned short flush_timeout;

};

其中BD_ADDR是一个6字节的结构,记录连接中另一方的蓝牙地址,local_cid是逻辑信道本地端设备信道标示符,remote_con是远端信道标示符,current_state表示目前的连接状态,psm是协议/服务复用段,remote_mtu是远端最大传输单位等等。还有其他一些变量用来说明这个连接的一些属性和状态。通过这个数据结构,可以描述在L2CAP 对等层间的数据通道。除了结构l2cap_con之外,还有许多用来描述各层协议数据包属性的结构也都是系统的核心结构,这里不再详细列出。

3) 任务管理:针对协议任务和事件数量多,并且之间相关性大的特点,使用有限状态机的方法来处理,并采用过程驱动方案来实现有限状态机,为每个输入状态启动一个过程。当某一个事件发生时,系统利用当前状态来选取一个适当的动作,该动作处理输入事件并更新当前状态变量值。如图四所示是L2CAP的面向连接信道的状态机,显示了由哪一个事件导致状态转换,以及在状态转换时采取哪一个动作。信道的操作共有七个状态:关闭、高层连接请求、L2CAP层连接请求、配置、打开、高层断开连接请求、L2CAP层断开连接请求。

4) 内存管理:内存管理通常是操作系统的核心任务之一,由于本系统没有使用操作系统,所以这部分任务是系统必需而重要的任务。输入的数据包必须被保存在内存中,并将其传递给适当的任务作进一步的处理。同时,应用程序产生的输出数据也必须以数据包的形式存储在内存中,并将其传递给硬件设备传送出去。设计要做到快速分配存储空间,并且避免数据包在各层协议之间移动时的数据复制。针对本系统处理的实际情况:蓝牙协议数据报只有一些固定的大小的包类型,因此采用系统分配大小固定的缓冲区的方案。这样作可以杜绝内存碎片。需要缓冲区的时候,系统调用allot_bt_buffer函数。只要缓冲区分配完成,需要保存的仅仅是指向缓冲区的指针,所以归还缓冲区到空闲缓冲区列表的时候,系统调用unallot_bt_buffer,将被释放的缓冲区的指针交还给它。采用这种方法,协议软件只需传递指向该缓冲区的指针,处理过程统一,并且避免了处理过程中数据的移动。

从一般软件设计分类的角度来看,设备管理和系统资源管理是操作系统的任务。在综合考虑系统简单性和成本等因素之后,本系统中没有使用独立的实时操作系统,而是由嵌入式软件完成部分应该由操作系统完成的功能。

五. 结束语

本嵌入式局域网访问点已可以应用于对机

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top