zoukankan      html  css  js  c++  java
  • CC3000 主机驱动API介绍

    CC3000作为是一种简单集成,简单实用的无线宽带设备,她集成了完整的802.11协议栈,802.11个人安全请求;IP网络协议栈,CC3000主机驱动对CC3000硬件访问时很轻松的。CC3000逐句驱动的关键使用是:

    很容易的配置并调节主机驱动内容,满足客户要求的功能;

    可阅读性:完整的代码文档

    简单性:极小的开发平台,和系统独立

    系统结构层次图

    驱动包含了两个部分:

    • CC3000用户应用编程接口API
    • 传输层API

    用户API被组成四个类,反应了四个不同的实体他们是

    • WLAN API ,她配合基础层,提供802.11协议
    • 网络堆栈API,配合嵌入式网络堆栈
    • 嵌入式网络应用API,配合嵌入式网络应用传递,作为编内内容的补充,这些包括一些基础网络协议应用
    • 不可变的存储器API,他用着配置CC3000设备的EEPROM

    API功能的调用,要通过设备的应用层触发激活,

    事件是设备触发行为导致了主机处理的中断,量类事件被CC3000设备产生:

    • 命令应答事件
    • 无请求事件

    命令应答事件:

    命令被发送到设备节点,并被完成或者长周期处理被触发,命令应答事件产生,

    无应答事件:

    通过触发方式,系统提供了无应答事件,这些事件同时产生,指示系统事件的发生,下面的图表显示了基础事件的次序:

    下面列出了CC3000设备产生的所有同步事件:

    HCI_EVNT_WLAN_ASYNC_SIMPLE_CONFIG_DONE :告知第一次配置处理完成

    HCI_EVNT_WLAN_KEEPALIVE:在CC3000和主机MCU之间定期的激活

    HCI_EVNT_WLAN_UNSOL_CONNECT – WLAN:连接

    HCI_EVNT_WLAN_UNSOL_DISCONNECT 告知CC3000设备从访问点断开

    HCI_EVNT_WLAN_UNSOL_DHCP:动态主机配置协议告知

    HCI_EVNT_WLAN_UNSOL_INIT:告知CC3000设备完成初始化处理

    HCI_EVNT_WLAN_ASYNC_PING_REPORT:ping结果告知

    CC3000 API 续(EEPRAM设置和TCP/UDP)

    CC3000 NVMEM API

    CC3000设备用EEPROM去存储射频标准参数,网络配置参数和补充,多数存储位置不直接通过CC3000主机写驱动,而是间接通过API调用触发固化的存储值

    EEPROM 结构图:

    1. 标识0,1,3,7,9;CC3000产生区,这部分由CC3000自我产生
    2. 偏移2,6,8,11 客户配置区:通过客户配置
    3. 4,5,10 TI 服务打包区:编程用API帮助

    EEPROM数据包含几个文件,可直接或间接访问,直接访问在写EEPROM的结尾直接触发CC300主机;间接访问触发CC3000 NVMEM API 间接地写到EEPROM ;每一个文件有独立的ID,下面的文件可悲修改被客户通过触发相符合的API

    1. NVMEM_WLAN_CONFIG_FILEID 添加或移除WLAN 只在执照
    2. NVMEM_IP_CONFIG_FILEID 通过IP 配置API去配置IP

    CC3000 WLAN API

    CC3000 APIs 提供了一种连接处理的应用方式,修改WLAN的策略,执行扫描对WLAN 模拟放大,下面的基础操作是基于CC3000设备的WLAN。

    1. 第一次配置:要求配置CC3000设备,连接功放,
    2. WLAN连接创建和断开
    3. WLAN外形定义和策略定义
    4. WLAN扫描配置和读WLAN扫描
      • 创建外形和策略

    WLAN 策略定义了三个选择可能去连接CC3000设备的AP

    1. 自动连接被打开,CC3000设备尝试连接任何AP,通过扫描,选择这种连接方式用wlan_ioctl_set_connection_policy(1,0,0)
    2. 快速连接设置:CC3000设备尝试自动重新连接到上一个AP,直到连接失败或自动重启。选择这种连接方式调用wlan_ioctl_set_connection_policy(0,1,0)
    3. 用户外部设置:CC3000设备尝试连接从外设,选择这种连接方式调用wlan_ioctl_set_connection_policy(0,0,1)
    4. 创建WLAN 连接

      下面的方式可以被创建连接使用

    1. 第一次配置CC3000设备特征,这是一个简单的方式,
    2. 直接连接到一个给定的AP
    3. 用WLAN策略和外设定义那个AP连接,直接创建连接,让CC3000设备扫描选择AP
    4. 第一次配置

      第一次被指WLAN当最终的产品还没有输入输出能力时,第一次配置提供了一种方法穿件一个外形,这些都存储在CC3000的EEPROM中,下面的图表显示的基本的流程操作,对第一次配置

    CC3000套接字API

    套接层API 创建TCP/IP连接,所有的套接字层APIS被自然的包装,套接字层APIS是相同和标准的BSD层APIS

    • 数据传输和接收发送和接收用TCP套接字:
      1. 数据传输:数据传输发生通过套接字层接口用标准的命令,Send,Sendto是BSDAPI的一部分,选择用哪个命令依据套接字类型;TCP用Send命令,UDP用Sendto

    连接被建立后,发送和接收通过TCP套接字,BSD API Send和Rec命令使用TCP套接字,Sendto和RecvfromAPI命令使用UDP套接字

    • UDP 套接字API

    客户端UDP 套接字连接:客户端UDP连接只要求创建套接字

    • 服务器UDP 套接字连接

    运行UDP服务器要求在创建套接字之前执行bind 操作,Sendto和Recvfrom API命令用着去发送和接收数据

  • 相关阅读:
    C#获取当前程序运行路径的方法集合
    SQL为查询的结果加上序号(ROW_NUMBER) 合并多个查询结果
    Asp.net导出excel时长数字被科学计数法的解决方案。(身份证长数字作为字符处理)
    Stopwatch的用法
    对web.config的ConnectionString加密
    如何检索数据库中的空值和null
    如何将闲置的平板作为第二显示器(分屏)使用
    pyinstaller 打包文件太大
    如何让openssl生成的SSL证书被浏览器认可
    还是那该死的IE~~~
  • 原文地址:https://www.cnblogs.com/jinsedemaitian/p/5589057.html
Copyright © 2011-2022 走看看