微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > 射频无线通信设计 > Open1081使用MICO core API 与Wifi协议熟悉

Open1081使用MICO core API 与Wifi协议熟悉

时间:10-02 整理:3721RD 点击:

802.11工作方式

802.11定义了两种类型的设备,一种是无线站,通常是通过一台PC机器加上一块无线网络接口卡构成的,另一个称为无线接入点(AccessPoint,AP),它的作用是提供无线和有线网络之间的桥接。一个无线接入点通常由一个无线输出口和一个有线的网络接口(802.3接口)构成,桥接软件符合802.1d桥接协议。接入点就像是无线网络的一个无线基站,将多个无线的接入站聚合到有线的网络上。无线的终端可以是802.11PCMCIA卡、PCI接口、ISA接口的,或者是在非计算机终端上的嵌入式设备(例如802.11手机)。

802.11四种主要物理组件

1. 工作站(Station),构建网络的主要目的是为了在工作站间传送数据。所谓工作站,是指配备无线网络接口的计算设备。

2. 接入点(Access Point),802.11网络所使用的帧必须经过转换,方能被传递至其他不同类型的网络。具备无线至有线的桥接功能的设备称为接入点,接入点的功能不仅于此,但桥接最为重要。

3. 无线媒介(Wireless Medium),802.11标准以无线媒介在工作站之间传递帧。其所定义的物理层不只是一种,802.11最初标准化了两种射频物理层以及一种红外线物理层。

4. 分布式系统(Distribution System),当几个接入点串联以覆盖较大区域时,彼此之间必须相互通信以掌握移动式工作站的行踪。分布式系统属于802.11的逻辑组件,负责将帧转送至目的地。

MICO BSD-like Socket 接口

int socket (int domain, int type, intprotocol)

Create an endpoint for communication.More...

int setsockopt (int sockfd, int level, intoptname, const void *optval,

socklen_t optlen)

Set options on sockets. More...

int getsockopt (int sockfd, int level, intoptname, const void *optval,

socklen_t *optlen)

Get options on sockets. More...

int bind (int sockfd, const structsockaddr_t *addr, socklen_t addrlen)

bind a name to a socket More...

int connect (int sockfd, const structsockaddr_t *addr, socklen_t addrlen)

Initiate a connection on a socket. More...

int listen (int sockfd, int backlog)

Listen for connections on a socket. More...

int accept (int sockfd, struct sockaddr_t*addr, socklen_t *addrlen)

Accept a connection on a socket. More...

int select (int nfds, fd_set *readfds,fd_set *writefds, fd_set *exceptfds,

struct timeval_t *timeout)

Monitor multiple file descriptors, waitinguntil one or more of the file

descriptors become "ready" forsome class of I/O operation (e.g., input

possible). More...

ssize_t send (int sockfd, const void *buf,size_t len, int flags)

Send a message on a socket. More...

int write (int sockfd, void *buf, size_tlen)

Send a message on a socket. More...

ssize_t sendto (int sockfd, const void*buf, size_t len, int flags, const

struct sockaddr_t *dest_addr, socklen_taddrlen)

Send a message on a socket to a specifictarget address. More...

ssize_t recv (int sockfd, void *buf, size_tlen, int flags)

Receive a message from a socket. More...

int read (int sockfd, void *buf, size_tlen)

Receive a message from a socket. More...

ssize_t recvfrom (int sockfd, void *buf,size_t len, int flags,

struct sockaddr_t *src_addr, socklen_t*addrlen)

Receive a message from a socket and get thesource address. More...

int close (int fd)

Close a file descriptor. More...

用户使用流程

通常用户的做法就是打开一个socket,调用一个ioctl,等待消息返回,收到消息后继续做下面的事情,然后又等待内核消息的返回,如此循环。 比如我们的系统的流程就是这样的:


Open1081中代码中的使用:

似乎没写完啊

完全不懂wifi 模块对应程序开发

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

网站地图

Top