精华内容
下载资源
问答
  • 常用WiFi芯片

    千次阅读 2017-02-07 08:50:36
    随着“互联网+”时代的到来,网络越来越成为我们生活中不可缺少的一部分。作为家庭网络的核心——路由器特别是...主要WiFi芯片型号:Avastar88W8864、Avastar 88W8797 其他芯片厂商还有Ubicon,使用较少。 

    随着“互联网+”时代的到来,网络越来越成为我们生活中不可缺少的一部分。作为家庭网络的核心——路由器特别是无线路由器是我们每天都离不开的。市场上的路由器品牌众多、方案不同、性能各异,一款路由器的好坏在很大程度上决定于其核心处理器,了解路由器要从“芯”开始。

    MT7620A(MTK7620AN) + MT7612A(MTK7612EN)方案。


    1、博通(Broadcom)是有线和无线通信半导体领域的主要技术创新者和全球领先者,其产品主要针对在家庭、 办公室和移动环境中的语音、视频、数据和多媒体传递。博通为计算和网络设备、数字娱乐和宽带接入产品以及移动设备的制造商提供业界最广泛的一流片上系统和软件解决方案,博通的核心任务就是:Connecting everything(连接一切)。Broadcom无线路由器芯片是最成熟、最稳定的一种,并且支持DD-WRT等第三方开源固件,改善性能增加功能。 
    常见芯片型号:BCM4331(802.11n)、BCM4360(802.11ac)、BCM47186(高性能路由器单芯片解决方案)、BCM53125(5通道交换芯片)

    2、创锐讯(Atheros)是基于OFDM(正交频分复用)的无线网络技术厂商,提供IEEE802.11a 5GHz的芯片组,还拓展了蓝牙、GPS、以太网等领域的开发。Atheros的芯片被各大厂商所广泛采用,Netgear、TP-Link、D-Link、Intel等厂商均为Atheros客户。其在WiFi、蓝牙与GPU等芯片市场发展迅速,在CES2011上被高通(Qualcomm)并购。 
    常见芯片型号:QCA9531(主频680MHz)、QCA9582、QCA401x、QCA4531(功能齐全、方案简化)

    3、雷凌(Ralink )产品因Wi-Fi、移动和嵌入式应用所需的出色吞吐量、扩展范围、低功耗及一致的可靠性而获得认可。其芯片功能丰富、集成度高,方便开发。2011年联发科(MTK)通过换股并购Ralink雷凌公司,将Ralink作为联发科旗下的无线技术事业群。 
    常见芯片型号:RT3070、RT5350、MT7620、MT7662E

    4、瑞昱(realtek)是世界主流技术的主导者之一(IEEE会员), 台湾第五大的IC设计公司,是全球前十五大无厂半导体公司之一。创新能力突出,带动产业趋势与技术潮流。瑞昱技术专长在于拥有精深的系统知识与系统整合能力,在产品研发的阶段,瑞昱以系统为考量,藉由数字与模拟混合模式设计与电路专业,整合关键零组件(如MCU、DSP、RISC、PLL、RFIC与Memory等),以“系统芯片”(SOC)为目标,提供客户整体解决方案。 
    常见芯片型号:RTL8187L、RTL8188

    5、Marvell(迈威科技集团有限公司,现更名美满),是一家提供全套宽带通信和存储解决方案的全球领先半导体厂商,是一个针对高速,高密度,数字资料存贮和宽频数字数据网络市场,从事混合信号和数字信号处理集成电路设计、开发和供货的厂商。Marvell主要致力于为企业级用户提供极度耐用、极高可恢复行、稳健而安全的网络,也为小型企业与消费者提供网络解决方案。Marvell公司的802.11 Wi-Fi技术几乎百分之百地实现了在低功耗ARM SoC上运行,从而有效地减轻了与运行802.11 MAC有关的主系统应用处理器负担。 
    主要WiFi芯片型号:Avastar88W8864、Avastar 88W8797

    其他芯片厂商还有Ubicon,使用较少。 

    展开全文
  • 高通wifi芯片常用日志抓取方法

    千次阅读 2018-06-12 16:21:04
    1、icnss日志抓取方法adb shell cat /d/ipc_logging/icnss/log_cont > icnss.log 

    1、icnss日志抓取方法

    adb shell cat /d/ipc_logging/icnss/log_cont > icnss.log 


    2、更新固件指令
    mount -t vfat -o remount,rw /dev/block/mmcblk0p1 /firmware


    To update WCNSS firmware images during debugging/development stage
    – adb shell mount –o remount –w /firmware
    – adb push {firmware images} /firmware/image
    – adb shell sync;reboot


    展开全文
  • 一:国内常用WiFi原厂 瑞昱 RTL8710、乐鑫 ESP8266、德州仪器 TI cc3200、紫光展锐RDA5981、新干线NL6621、联发科 MT7681、高通 QCA4004。 博通Broadcom Corporation 博通是Wi-Fi芯片一哥,作为领先的半导体...

      一:国内常用WiFi原厂 瑞昱 RTL8710、乐鑫 ESP8266、德州仪器 TI cc3200、紫光展锐RDA5981、新干线NL6621、联发科 MT7681、高通 QCA4004。

     

    博通Broadcom Corporation

    博通是Wi-Fi芯片一哥,作为领先的半导体厂商,博通在无线领域的优势有目共睹,芯片集成度高,并显著降低功耗。WICED平台提供一站式的多样化应用,客户在上面做不同的软件开发以实现不同的应用。

    2015年,安华高收购博通后,形成了更大的公司战略,将在光纤和服务器相关产品领域投入更多资源。

    和其他业务相比,Wi-Fi芯片被认为是毛利率较低的业务,加上市场激烈的价格战,让博通决定放弃Wi-Fi芯片业务。

    2016年4月,赛普拉斯(Cypress)将以5.5亿美元现金收购收购博通的无线物联网业务。包括Wi-Fi,蓝牙和ZigBee物联网产品线业务,还有WICED品牌及其开发者生态系统一起。

    通过此次收购,赛普拉斯将会进一步巩固自身在汽车、工业、智能家居、可穿戴以及高速增长的物联网市场的影响力。

     

    高通Qualcomm Technologies, Inc.

    高通虽然也运营Wi-Fi芯片业务,但影响力不大。在2010年,博通占据独立Wi-Fi芯片市场28%的份额,老二Atheros则占据26%的份额。

    真正让高通在该领域占据优势的,是于2011年斥资31亿美元收购Atheros后。

    Atheros(创锐讯)1999年由斯坦福大学的Teresa Meng博士和斯坦福大学校长,MIPS创始人John Hennessy博士共同在硅谷创办,提供基于IEEE802.11a 5-GHz的芯片组,还拓展了蓝牙、GPS、以太网等领域的开发。

    Atheros被视为最专业的供应商,具有许多专利。其主力WiFi芯片还被装在世界很多品牌的电脑和手持设备中。

    在完成对Atheros的收购后,高通实现了提供全套完整连接性的产品系列,这意味着它终于可以制造出既能连接4G网络又具Wi-Fi功能的芯片。同时,高通销售手机芯片,Atheros提供连接产品,两者形成了协同效应。

    2013年,高通Atheros 推出低功耗单芯片WiFi平台QCA4002/4004,以期布局飞速发展的物联网市场,这也是高通专门为物联网应用推出的基于802.11n的单芯片平台。

    QCA4002/4004不但在芯片设计上采用一颗单芯片处理器和内存,无需使用其它MCU产品,还同时纳入了IP堆栈、软件中间件架构AllJoyn以及完整的网络服务,以协助客户以最低的开发成本,将低功耗WiFi功能增加至任何产品。

    由于采用的是单芯片设计,这两个平台的功耗非常低,而且在2.4G和5G两个频段都可以运行。两者的区别在于QCA4002是一个子系统,可用于一些要求强大的MCU或高内存的应用场景,通过搭配各种各样的MCU或内存等来实现。而QCA4004用于一些较低端的应用,内置的CPU可以独立实现很多应用。

     

    美满电子Marvell Technology Group Ltd.

    Marvell成立于1995年,原名迈威科技集团有限公司,2010年将中文名更为美满,是全球顶尖的无晶圆厂半导体公司之一。

    Marvell Wi-Fi产品在功效和技术架构方面优秀,其802.11 Wi-Fi技术几乎百分之百地实现了在低功耗ARM SoC上运行,从而有效地减轻了与运行802.11 MAC有关的主系统应用处理器负担。

    2014年6月份,Marvell发布针对物联网应用的全面的无线MCU平台:MW300 Wi-Fi微控制器。在单一芯片上集成MCU、RF收发器、网络/无线协议栈的基础上,还集成了软件开发套件和调试工具,并提供从多层安全保障。

    MW300 Wi-Fi微控制器支持802.11n Wi-Fi、内置全功能微控制器的单芯片SoC,面向低功耗进行了有针对性的优化,实现了深度低功耗状态,同时降低了正常工作时的功耗,适用于各种基于电池供电的应用场景。

    另外,该芯片搭配Marvell EZ-Connect 软件平台支持,包括易用的软件开发工具包(SDK)和应用编程接口(API),使开发人员能够充分利用该SoC解决方案内置的微控制器的全部潜能,基于该平台大大减少开发时间。

    MW300 Wi-Fi微控制器主要应用在智能家居中,适用于家用电器与家庭网络的长时间连接。

     

    德州仪器Texas Instruments Incorporated.

    嵌入式WiFi市场有两块,一块是面对高性能高成本大功率的应用,比如路由器、智能电视等,这块市场仍然是诸如博通、Marvell、MTK等主导,而对于插座、开关、小家电及可穿戴设备来说,SimpleLink无疑是不错选择。

    2014年6月份,TI推出了SimpleLink WiFi 系列WIFI平台,专为IoT而设计,包括CC3100/3200,平台具有高度的灵活性。

    其中3200在单芯片中集成了射频及模拟功能电路,将WiFi平台与ARM Cortex-M4 MCU整合在一起,实现了低功耗、单芯片WiFi解决方案。而CC3100可与任何MCU配合使用。这两款芯片都具有很低的功耗,提供低功耗射频和高级低功耗模式,尤其适用于电池供电式设备的开发。

    CC3100内建了硬件加密模块,这样做有三点好处,第一可以保证系统更安全,第二则是令加密解密功耗降低,第三则是令系统功耗降低。

    WiFi设备和路由器之间需要不断地链接,为了节省功耗,WiFi芯片往往处于待机状态,只是隔段时间就与路由器进行握手通信,如果在没有硬件加密解密功能的前提下建立握手协议会非常缓慢,一方面功耗会提升,另外系统效率也会大打折扣。而通过硬件加密解密,整个握手速度可以达到0.2s。

    两款产品都可让用户利用快速连接、云支持和片上WiFi、互联网和稳健的安全协议实现针对IoT的简易型开发,无需具备开发连接型产品的先前经验,就能够轻松地为众多的家用、工业和消费类电子产品增添嵌入式WiFi和互联网功能。

     

    联发科台湾联发科技股份有限公司

    联发科是于2011年通过换股并购了台湾雷凌科技(Ralink)之后,才出现了现在的MTK WiFi部门。

    雷凌科技成立于2001年,在此之前是台湾第一名的无线网络IC设计公司,也是联发科的供应商。联发科收购雷凌,更像是效仿了高通收购Atheros的举动。

    2014年6月,联发科发布两款专为智能家庭 应用而设计的系统单芯片(SoC)解决方案─ MT7688与MT7681。

    这两款产品低功耗,支持Smart Connection 智能手机应用程序,可实现照明灯具、智慧电视、智慧门锁等家电的网络连接。

    MT7688采用Linux系统,支持802.11n,内建MIPS24KEc/580MHz处理器,256MB内存以及AES128/256加密引擎,可处理更为复杂或数据密集型的智能家居设备,比如IP投影机及家庭监控系统。

    而MT7681则主要针对如灯泡、门锁、插座等小型设备,支持802.11n,可轻松为嵌入式设备设计网络服务,整合电源管理单元、低频放大器、射频切换器,所有功能都整合在40针脚的5*5毫米的封装中。

    瑞昱(Realtek)瑞昱半导体股份有限公司

    瑞昱(yù)半导体成立于1987年,位于台湾「硅谷」的新竹科学园区。凭借当年几位年轻工程师的热情与毅力,走过艰辛的初创时期到今日具世界领导地位的专业IC设计公司。

    瑞昱RTL8710是一个完整且自成体系的WiFi网络解决方案,能够独立运行,也可以作为从机搭载于其他主机MCU 运行。它内置了一颗主频为主166 MHz,并可兼做应用处理的超低功耗32位微型 CPU。在搭载应用并作为设备中唯一的应用处理器时,能够直接从外接闪存中启动。内置的高速缓冲存储器有利于提升系统性能,并减少内存需求。

    此外,瑞昱RTL8710在负责无线上网接入承担 WiFi 适配器的任务时,可以将其添加到任何基于微控制器的设计中,连接简单易行,只需通过SPI /SDIO 接口或 I2C/UART 口即可。 强大的片上处理和存储能力,使其可通过 GPIO 口集成传感器及其他应用的特定设备,实现了最低前期的开发和运行中最少地占用系统资源。

    在市场应用方面RTL8710可运用于智能家居、传感器网络、可穿戴电产品、 线位置感知设备、线定位系统信号等。

     

    新岸线(Nufront)北京新岸线移动多媒体技术有限公司

    新岸线创建于2004年,是一家致力于宽带无线通信和智能处理器IC核心技术研发的高科技民营企业,涉及移动通信、智能终端、智能交通、智慧家居等多个行业领域。总部设立在北京,分别在上海、广州、深圳成立了分公司。

    2011年11月,广东新岸线正式推出了自主研发的WiFi芯片NL6621,在以博通、高通以及德州仪器等国外芯片厂商为主旋律的WIFI芯片市场中,这款芯片是号称“首款国产WiFi芯片”,填补了国产WiFi芯片的空白。同时NL6621还是“国内首款WiFi基带射频处理器芯片”,是基带、射频与运算处理三合一的单芯片产品。

    NL6621集成 MCU、448KB RAM和WIFI 的三合一WIFI SOC单芯片,性能强大,接口丰富(UART/I2C/I2S/SPI/SDIO/PWM/GPIO),产品可扩展性强。

    另外还具有高开源的特点:

    1)NL6621 SDK代码完全开放,包括UCOSII,BSP,TCP/IP,WIFI等等,完全支持二次深度开发;

    2)NL6621产品级别的 WIFI-Uart SDK、机智云SDK、WIFI插座完整方案、WIFI-Led完整方案等完全开放开源,大大降低开发难度,可快速实现项目量产。

    NL6621芯片从2013年底量产至今,整体方案成熟稳定,已全面进入智能家居(美的、海尔、长虹)、WIFI单品、智能监控、传统行业等领域,并取得卓越的成绩,总出货量已高达10KK级以上。

    乐鑫乐鑫信息科技(上海)有限公司

    乐鑫成立于2008年,是一家专业的无晶圆半导体公司,致力于研发设计 WiFi 和蓝牙技术的无线系统级芯片,提供移动通讯和物联网解决方案。

    2014年上半,针对物联网市场,乐鑫推出了一款名为ESP8266 WiFi芯片,其核心是一块Diamond Standard 106Micro控制器的高集成度芯片。

    该芯片是当时行业内集成度较高的WiFi MCU芯片,集成了32位MCU、WiFi射频、基带、MAC、TCP/IP于单颗 SoC 上,实现了板上占用空间最小化。同时ESP8266 也只有7个外围器件,大大降低了ESP8266的模组BOM成本,也正因为如此,该芯片迎合了智能家居市场的价格要求。

    另外,该芯片的 WLAN 拥有领先的电源控制算法,可在省电模式下工作,满足电池和电源设备苛刻的供电要求。

    在ESP826攫取大部分物联网WiFi芯片市场之前,乐鑫就凭借无线SoC ESP8089畅销于白牌平板电脑市场,并与瑞芯微、全志彼时叱诧平板电脑、OTT盒子领域的厂商建立了合作伙伴关系。

    ESP826让乐鑫成了物联网芯片黑马,2016年9月,乐鑫又推出了新品——ESP32 ,为千“片”一律的 32位 MCU 市场带来一股新风。

    ESP32芯片将bgn WiFi和BLE合二为一,搭配双核32位Tensilica L108 MCU,最高主频可达250MHz,且具备低功耗等多种睡眠模式供不同的物联网应用场景使用。相较上一代芯片ESP8266,ESP32有更多的内存空间供用户使用,且有更多的I/O口可供开发。

    北京联盛德微电子有限责任公司

    联盛德成立于2013年,致力于物联网领域无线通信芯片的开发与应用,并专注物联网嵌入式Wi-Fi芯片。

    W500是一颗适用于物联网领域的低功耗、安全多模无线SoC单芯片。

    集成802.11n MAC、基带、射频与TCP/IP层网络协议,内置WAPI/WEP/WPA/WPA2安全协处理器,支持11e/WMM-QoS和PS低功耗功能。

    W500内置32位 ARM CPU,最高主频160MHz,内置416K Byte RAM空间(预留二次开发空间大小近200K Byte)。提供开源SDK开发包,支持客户二次开发,提供高速UART/SDIO/SPI/I⊃2;C/ADC/PWM/GPIO 等接口。

    可方便应用于智能家电、智能家居、医疗监护、无线音视频、智能玩具、汽车电子、智能电网与工业控制等领域。

     

    瑞芯微福州瑞芯微电子股份有限公司

    瑞芯微成立于2001年,是专业的集成电路设计公司。2015年瑞芯微变更为股份有限公司,注册和实收资本均为1.08亿元。

    瑞芯微和炬力、展讯诞生于同一时代,但这三家芯片商命运各不相同。前几年平板电脑的爆发式增长,让瑞芯微出尽了风头,客户不乏英特尔、华硕、惠普等大牌,业绩也曾一度呈现爆发式增长。但随着近年来平板电脑行业增速的放缓,重度依赖平板电脑的瑞芯微遭遇重创,公司业绩更是连续三年出现大幅下滑。

    7月份,瑞芯微IPO被否未通过。不过瑞芯微也嗅到了这个科技时代的潮流方向,物联网、VR都来“掺和”一把。

    2015年,瑞芯微与第三方共同推出全球最低功耗WiFi芯片——RKi6000,这款WiFi芯片功耗与BLE4.0低功耗蓝牙相当,使用时功耗仅为20mA毫安,比现有IoT设备的平均WiFi功耗降低85%。

    因为功耗表现较好,从而首次使得WiFi在IoT物联网系统中使用纽扣电池成为可能!此举可大大降低模块体积,且方便智能硬件产品的使用和安装,真正实现大幅降低设备功耗,产品尺寸及开发成本的技术优势。

     紫光展锐科技有限公司

    作为紫光集团旗下核心企业,紫光展锐致力于移动通信和物联网领域核心芯片的研发及设计,产品涵盖 2G/3G/4G/5G 移动通信芯片、物联网芯片、射频芯片、无线连接芯片、安全芯片、电视芯片等多个领域。目前,紫光展锐的员工数量近4500人,90%以上是研发人员,在全球拥有14个技术研发中心和7个客户支持中心。已发展成为中国十大集成电路设计企业、全球第三大面向公开市场的手机芯片设计企业和中国领先的5G通信芯片企业。

    2018年1月19日,紫光集团旗下展讯和锐迪科正式完成整合。作为紫光集成电路产业链中的核心企业,紫光展锐致力于移动通信和物联网领域核心芯片的自主研发及设计,产品涵盖2G/3G/4G移动通信基带芯片、射频芯片、无线连接芯片、安全芯片、电视芯片、图像传感器芯片。目前,紫光展锐的员工数量超过4500人,在全球拥有14个技术研发中心,7个客户支持中心,已发展成为全球前三的手机基带芯片设计企业,中国最大的泛芯片供应商,中国领先的5G通信芯片企业。


    锐迪科微电子成立于2004年,致力于射频及混合信号芯片和系统芯片的设计、开发、制造、销售并提供相关技术咨询和技术服务。产品主要包括GSM基带/多制式射频收发器芯片/多制式射频功放芯片/蓝牙、无 线、调频收音组合芯片/机顶盒调谐器/数字及模拟电视芯片/对讲机收发器/卫星电视高频头等。同时公司致力于智能机系统以及3G/4G通信终端平台的研 发,向中国及全球新兴市场的客户提供卓越的手机平台产品。

    紫光展锐RDA5981是一款低功耗MCU,是面向Wi-Fi智能扬声器和Wi-Fi智能家居的高性能解决方案。基于ARM Cortex-M4内核、mbed操作系统和安全网络协议栈,该芯片支持百度音乐、喜马拉雅、蜻蜓FM、贝瓦儿歌等音频资源的按需语音识别。通过加密方法(DLNA、Qplay)和QFN-40封装,改进记忆储存,扩展频率范围,并极大提升性能。

     

    二、模组厂商

    1.环旭电子股份有限公司(USI),现为日月光集团成员之一,环旭电子股份有限公司以信息、通讯、消费电子及汽车电子等高端电子产品EMS、JDM、ODM为主,主要产品包括WiFi ADSL、WiMAX、WiFi AP、WiFi Module、Blue-Tooth Module,产品主要应用于电脑、无线网卡,移动产品,汽车电子,模块组装服务等领域。所用核心WiFi芯片:高通、博通、MTK,公司主营:无线通讯模块,存储设备,销售点管理系统,手持式行动应用装置,车用调节器,车用整流桥等。

    2.博鹏发RF-LINK,深圳市博鹏发电子科技有限公司是专业从事无线互联网相关的射频系列模组应用方案、产品的综合解决平台的高新技术企业。目前经营的产品线有:无线网络WIFI接入模组、无线路由应用模组、无线蓝牙数传模组、无线蓝牙音箱模组、NFC通讯模组、GPS导航模组、Zigbee 控制模组、无线通讯模组等等,以及相关模组应用解决方案。一直致力于无线射频、通讯应用领域。所用核心WiFi芯片:瑞昱、Intel、博通、MTK。

    3.海华科技(AzureWave),所用核心WiFi芯片:Marvell、博通、高通Atheros、MTK 雷凌。公司主营:提供Wi-Fi、Bluetooth、3G、GPS、DTV、Digital Camera 等模块产品的创新研发,可广泛应用于消费性电子产品、嵌入式系统、手持式装置、行动连网产品、家电产品及工业用设备等领域。

    4.BroadLink【针对物联网】,隶属于杭州古北电子科技有限公司旗下,所用核心WiFi芯片:Marvell、MTK等。公司主营:自主研发Wi-Fi物联网传输模块、云计算平台和智能终端APP应用。值得注意的是:BroadLink采用的是Marvell、MTK等的WiFi芯片,与京东平台强绑定,较为封闭。

    5.上海庆科信息技术有限公司(MXCHIP)【针对物联网】,所用核心WiFi芯片:博通、ST,主营:嵌入式Wi-Fi、ZigBee、BTLE、NFC等产品,产品已经成功批量应用于白色家电、远程医疗、智能电网、智能交通等领域。值得注意的是:四五年前的一颗产品)双芯片的方式,WiFi驱动协议放在MCU内,市场口碑和稳定性较好。

    6.上海汉枫电子科技有限公司【针对物联网】,所用WiFi核心芯片:marvell,Ralink,主营:业从事嵌入式无线通讯领域设计开发、生产、销售和完整物联解决方案(云服务和智能终端应用程序)为一体,广泛应用于智能家电,手持移动设备,医疗和工业检测仪表,智能电网,物联网等领域。需要注意的是:汉枫的WiFi模组应用较为全面,但是产品应用中负面的评价较多。

    7.江波龙电子(longsys)【针对物联网】,所用核心WiFi芯片:高通,主营:公司以存储为核心,主要从事消费类、嵌入式、无线、系统及金融安全等存储应用定制化设计、创新型技术产品的研发、生产和全球销售。这里要提到:江波龙采用的是高通的芯片,高通WiFi芯片的设计门槛比较高,如此江波龙在硬件和软件调试上会有一定的优势。

    8.小米,所用核心WiFi芯片:marvell等 ,主营:公司主要从事消费类、创新型智能硬件类技术产品的研发、生产和销售,主要应用在智能硬件、物联网领域。

    9.360,所用核心WiFi芯片:Ralink等,主营:360旗下智能产品的研发、生产和销售。

    10.深圳市海凌科电子有限公司创建于2009年9月,是一家专业提供物联网智能家居WIFI模块产品的研发、生产、销售为一体的技术型企业。2016年10月20日在前海股权中心挂牌,股票代码:668537。2016年11月21日获得国家高新技术企业认证。目前公司的产品主要产品有串口 WIFI模组,USB WIFI模组,无线路由模组,还有配合产品的微型电源模组。我们的产品被广泛的应用于各种智能控制行业和场合。无线模块HLK-RM08S(MT7688KN芯片)34RMB

    11.海尔WIFI模块 Haier MK-QTWIFI-04 5V HAIER MK-QTWIFI-04  瑞昱RTL8711AF。

    可上商城查看查看相关价格     htts://mp.csdn.net/postedit  

    常用 IOT WiFi模块

    汉枫 RDA5981 12RMB 

    庆科 EMW3060 12RMB

    涂鸦 TYWE3S/3L 14RMB(含云服务)

    华为 HiLink 10RMB

    安可信 ESP-07S 12RMB 

    乐鑫 ESP8266 12RMB 

    海尔WIFI模块 Haier MK-QTWIFI-04 5V HAIER MK-QTWIFI-04 20RMB 

    九九物联 AFW121TI-LED1 14RMB

    三、WIFI 主要特性

    WIFI 通讯频率分 2.4G 以及 5G,目前芯片厂商主流为 2.4G 频率,但是由于 2.4G 频道有蓝牙,Zigbee 等设备,大量终端同时使用,频段会有冲突。

    高端方案 5G+ 功率为主。

    IOT 串口透传模块通讯数据波特率为 921600 下,整体数据在 900K/bps 左右。

    协议标准 802.11b:最高速率11Mbps,(150米内1-2Mbps,50米内可达到11Mbps)

    协议标准 802.11g:兼容802.11b,最高速率54Mbps的协议标准

    协议标准 802.11n:最高速率320Mbps的协议标准,通常150Mbps

    2)WIFI 模块应用划分

    1)标准式 WIFI 射频芯片

    包含操作系统的设备,主要是手机,平板,电脑,直接利用带操作系统(主要是linux,android,ios)驱动wifi射频,这种芯片依靠系统驱动上网。

    2)嵌入式wifi模组

    MCU+WIFI,由单片机实现 WIFI 射频的驱动控制。适用智能硬件单品,用于低成本物联网连接,适用无 OS 系统的智能终端。

       嵌入式WIFI与标准式WIFI的对比

     

    嵌入式WIFI模块

    标准式WIFI模块

    适用范围

    无线家电、仪表、智能灯泡等智能家居设备

    笔记本、手机、平板电脑等

    主控芯片

    模块上集成的MCU

    x86 CPU、ARM等高速微处理器

    接口

    UART、SPI、I2C、SDIO、USB

    USB、SDIO

    功耗

    产品

    紫光展锐RDA5981系列、TI的CC3200系列、乐鑫ESP8266、MXCHIP系列、ASIX系列、Atheros的HF-LPA系列等

    瑞昱RTL81xx系列、威盛VT系列、雷凌RT系列、博通BCM、Marvell、高通Atheros等

    开发设计

    集成了射频收发器、MAC、WIFI驱动、所有WIFI协议、无线安全协议、一键连接等,所有的网络软件封装成一个UART或SPI接口的设备,使用简单,只需要往UART或者SPI收发数据即可。从整体软件层面上看,不属于网络设备。

    需要在主机添加WIFI驱动、同时需要依赖主机的网络协议栈等软件平台资源,从整体软件层面上看,属于网络设备,使用时需要遵循网络相关的协议。

           

    原文链接:https://blog.csdn.net/liwei16611/article/details/87967991

    来源:全球物联网观察  http://www.sohu.com/a/162722307_297710

     

    展开全文
  • 这个也是本科最后一年业余自己玩的,里边做了ESP WIFI模块的常用命令库,也就是单片机和ESP通过串口相联通之后,单片机可以通过这个代码识别设置ESP的寄存器/工作模式,同时识别接收的数据(这个是按我需要做的,...
  • 这个也是本科最后一年业余自己玩的,比之前那个更好点,里边除了包含ESP WIFI模块的常用命令库,也就是单片机和ESP通过串口相联通之后,单片机可以通过这个代码识别设置ESP的寄存器/工作模式,同时识别接收的数据...
  • 三、网络设备框架常用接口介绍 ------>网络协议接口层 ------>sk_buff ------>sk_buff的操作函数 ------>网络设备接口层 ------>net_device相关介绍 ------>设备驱动接口层 四、驱动源码分析 ----...

    目录

    一、引言

    二、驱动框架

    三、网络设备框架常用接口介绍

    ------> 网卡部分
    ------> USB部分

    一、引言

    今天来和大家分析一下rtl88xx 系列网卡的驱动框架,该网卡是USB接口的,也就是结合了两种驱动框架

    二、驱动框架

    这个系列的网卡都是USB接口,所以本质上来说,还是一个USB外设,通过USB与CPU通信,而其中又增加了网络驱动框架,来完成网卡的功能。
    我们先从驱动的入口开始看

    驱动入口

    static int __init rtw_drv_entry(void)
    {
    ......
    
    	usb_drv.drv_registered = _TRUE;
    	rtw_suspend_lock_init();
    	rtw_drv_proc_init();
    	rtw_ndev_notifier_register();
    	rtw_inetaddr_notifier_register();
    
    	ret = usb_register(&usb_drv.usbdrv);
    ......
    exit:
    	RTW_PRINT("module init ret=%d\n", ret);
    	return ret;
    }
    

    核心还是’usb_register’注册了一个USB设备驱动,对应的驱动如下定义

    struct rtw_usb_drv usb_drv = {
    	.usbdrv.name = (char *)DRV_NAME,
    	.usbdrv.probe = rtw_drv_init,
    	.usbdrv.disconnect = rtw_dev_remove,
    	.usbdrv.id_table = rtw_usb_id_tbl,
    	.usbdrv.suspend =  rtw_suspend,
    	.usbdrv.resume = rtw_resume,
    	.usbdrv.driver.shutdown = rtw_dev_shutdown,
    ......
    };
    

    我们看一下’rtw_drv_init’

    static int rtw_drv_init(struct usb_interface *pusb_intf, const struct usb_device_id *pdid)
    {
    ......
    //根据芯片型号初始化usb适配器
    padapter = rtw_usb_primary_adapter_init(dvobj, pusb_intf);
    
    //初始化网络设备
    rtw_os_ndevs_init(dvobj)
    }
    }
    

    网卡部分

    我们先来看一下网卡部分
    看一下’rtw_os_ndevs_init’

    rtw_os_ndevs_init
    	rtw_os_ndevs_alloc
    		rtw_cfg80211_dev_res_alloc		//创建wiphy实例
    		rtw_os_ndev_alloc		
    			rtw_init_netdev
    				rtw_alloc_etherdev
    					alloc_etherdev		//创建net_device实例
    			rtw_cfg80211_ndev_res_alloc
    				rtw_wdev_alloc		//创建wireless_dev结构体,将之前创建的wiphy、net_device放进该结构体
    			
    

    可以看到,最后也是调用’alloc_etherdev’创建一个网络设备
    我们看一下其中的’rtw_init_netdev’函数

    struct net_device *rtw_init_netdev(_adapter *old_padapter)
    {
    .......
    		pnetdev = rtw_alloc_etherdev(sizeof(_adapter));
    .........
    		rtw_hook_if_ops(pnetdev);
    ......
    	return pnetdev;
    }
    

    跟一下’rtw_hook_if_ops’

    void rtw_hook_if_ops(struct net_device *ndev)
    {
    	ndev->netdev_ops = &rtw_netdev_ops;
    ......
    }
    

    直接调用’rtw_netdev_ops’
    来看一下 'rtw_netdev_ops’的一些操作接口

    static const struct net_device_ops rtw_netdev_ops = {
    	.ndo_init = rtw_ndev_init,
    	.ndo_uninit = rtw_ndev_uninit,
    	.ndo_open = netdev_open,
    	.ndo_stop = netdev_close,
    	.ndo_start_xmit = rtw_xmit_entry,
    	.ndo_set_mac_address = rtw_net_set_mac_address,
    	.ndo_get_stats = rtw_net_get_stats,
    	.ndo_do_ioctl = rtw_ioctl,
    };
    

    'rtw_xmit_entry’为该网卡的发送函数,应该和普通的网卡发送函数做的是相同,只不过最后不是写寄存器,而是通过USB发送出去

    rtw_xmit_entry
    	rtw_xmit(padapter, &pkt);
    		rtw_hal_xmit
    			padapter->hal_func.hal_xmit(padapter, pxmitframe);
    

    这里的发送函数,调用的是padapter里面的发送函数

    USB部分

    关于USB相关初始化,需要看一下rtw_drv_init中的’rtw_usb_primary_adapter_init’

    rtw_drv_init
    	rtw_usb_primary_adapter_init
    		rtw_init_io_priv(padapter, usb_set_intf_ops)
    

    最后会执行’usb_set_intf_ops’

    'rtw_set_hal_ops’就是根据我们芯片的型号去填充对应的操作接口了

    u8 rtw_set_hal_ops(_adapter *padapter)
    {
    	/* alloc memory for HAL DATA */
    	if (rtw_hal_data_init(padapter) == _FAIL)
    		return _FAIL;
    
    ......
    #ifdef CONFIG_RTL8821C
    	if (rtw_get_chip_type(padapter) == RTL8821C) {
    		if (rtl8821cu_set_hal_ops(padapter) == _FAIL)
    			return _FAIL;
    	}
    #endif
    
    #ifdef CONFIG_RTL8814B
    	if (rtw_get_chip_type(padapter) == RTL8814B)
    		rtl8814bu_set_hal_ops(padapter);
    #endif /* CONFIG_RTL8814B */
    
    
    	if (_FAIL == rtw_hal_ops_check(padapter))
    		return _FAIL;
    
    	if (hal_spec_init(padapter) == _FAIL)
    		return _FAIL;
    
    	return _SUCCESS;
    }
    

    我们这里挑一个来跟一下

    u8 rtl8821cu_set_hal_ops(PADAPTER padapter)
    {
    	rtl8821c_set_hal_ops(padapter);
    
    	ops = &padapter->hal_func;
    
    	ops->hal_init = rtl8821cu_hal_init;
    	ops->hal_deinit = rtl8821cu_hal_deinit;
    
    	ops->inirp_init = rtl8821cu_inirp_init;
    	ops->inirp_deinit = rtl8821cu_inirp_deinit;
    
    	ops->init_xmit_priv = rtl8821cu_init_xmit_priv;
    	ops->free_xmit_priv = rtl8821cu_free_xmit_priv;
    
    	ops->init_recv_priv = rtl8821cu_init_recv_priv;
    	ops->free_recv_priv = rtl8821cu_free_recv_priv;
    
    	ops->init_default_value = rtl8821cu_init_default_value;
    	ops->intf_chip_configure = rtl8821cu_interface_configure;
    	ops->read_adapter_info = read_adapter_info;
    
    	ops->set_hw_reg_handler = sethwreg;
    	ops->GetHwRegHandler = gethwreg;
    	ops->get_hal_def_var_handler = gethaldefvar;
    	ops->SetHalDefVarHandler = sethaldefvar;
    
    
    	ops->hal_xmit = rtl8821cu_hal_xmit;
    	ops->mgnt_xmit = rtl8821cu_mgnt_xmit;
    	ops->hal_xmitframe_enqueue = rtl8821cu_hal_xmitframe_enqueue;
    
    	ops->interface_ps_func = rtl8821cu_ps_func;
    #ifdef CONFIG_XMIT_THREAD_MODE
    	ops->xmit_thread_handler = rtl8821cu_xmit_buf_handler;
    #endif
    #ifdef CONFIG_SUPPORT_USB_INT
    	ops->interrupt_handler = rtl8821cu_interrupt_handler;
    #endif
    	return _TRUE;
    
    

    来看一下’usb_read_interrupt’

    u32 usb_read_interrupt(struct intf_hdl *pintfhdl, u32 addr)
    {
    	/*translate DMA FIFO addr to pipehandle*/
    	pipe = ffaddr2pipehdl(pdvobj, addr);
    
    	usb_fill_int_urb(precvpriv->int_in_urb, pusbd, pipe,
    			precvpriv->int_in_buf,
    			INTERRUPT_MSG_FORMAT_LEN,
    			usb_read_interrupt_complete,
    			adapter,
    			1);
    
    usb_submit_urb(precvpriv->int_in_urb, GFP_ATOMIC);
    }
    
    

    可以看到,最后是在这里执行’usb_fill_int_urb’,将’precvpriv->int_in_urb’发送urb给核心层
    看一下完成函数中做了什么事情

    void usb_read_interrupt_complete(struct urb *purb, struct pt_regs *regs)
    {
    //如果urb的status=0,说明接收成功了
    	if (purb->status == 0) {/*SUCCESS*/
    		if (purb->actual_length > INTERRUPT_MSG_FORMAT_LEN)
    			RTW_INFO("usb_read_interrupt_complete: purb->actual_length > INTERRUPT_MSG_FORMAT_LEN(%d)\n", INTERRUPT_MSG_FORMAT_LEN);
    //调用中断处理函数,将urb接收缓冲区的数据进行复制
    		rtw_hal_interrupt_handler(padapter, purb->actual_length, purb->transfer_buffer);
    //重新提交urb,进行下一次数据的接收
    		err = usb_submit_urb(purb, GFP_ATOMIC);
    		if ((err) && (err != (-EPERM)))
    			RTW_INFO("cannot submit interrupt in-token(err = 0x%08x),urb_status = %d\n", err, purb->status);
    	} else {
    		RTW_INFO("###=> usb_read_interrupt_complete => urb status(%d)\n", purb->status);
    ......
    		}
    	}
    }
    

    最后调用padapter中的’rtw_hal_interrupt_handler’

    s32	rtw_hal_interrupt_handler(_adapter *padapter)
    {
    	s32 ret = _FAIL;
    	ret = padapter->hal_func.interrupt_handler(padapter);
    	return ret;
    }
    

    对应到8821cu的

    ops->interrupt_handler = rtl8821cu_interrupt_handler;
    

    而’precvpriv->int_in_urb’这个urb是在哪设置的呢,经过查找,有以下的调用流程

    			rtl8821cu_set_hal_ops
    				ops->init_recv_priv = rtl8821cu_init_recv_priv;
    					rtl8821cu_init_recv_priv
    						rtl8821cu_init_recv_priv
    							usb_init_recv_priv
    
    int	usb_init_recv_priv(_adapter *padapter, u16 ini_in_buf_sz)
    {
    	struct recv_priv	*precvpriv = &padapter->recvpriv;
    	int	i, res = _SUCCESS;
    	struct recv_buf *precvbuf;
    
    #ifdef PLATFORM_LINUX
    	tasklet_init(&precvpriv->recv_tasklet,
    		     (void(*)(unsigned long))usb_recv_tasklet,
    		     (unsigned long)padapter);
    #endif /* PLATFORM_LINUX */
    
    #ifdef PLATFORM_FREEBSD
    #ifdef CONFIG_RX_INDICATE_QUEUE
    	TASK_INIT(&precvpriv->rx_indicate_tasklet, 0, rtw_rx_indicate_tasklet, padapter);
    #endif /* CONFIG_RX_INDICATE_QUEUE */
    #endif /* PLATFORM_FREEBSD */
    
    #ifdef CONFIG_USB_INTERRUPT_IN_PIPE
    #ifdef PLATFORM_LINUX
    	precvpriv->int_in_urb = usb_alloc_urb(0, GFP_KERNEL);
    	if (precvpriv->int_in_urb == NULL) {
    		res = _FAIL;
    		RTW_INFO("alloc_urb for interrupt in endpoint fail !!!!\n");
    		goto exit;
    	}
    #endif /* PLATFORM_LINUX */
    	precvpriv->int_in_buf = rtw_zmalloc(ini_in_buf_sz);
    	if (precvpriv->int_in_buf == NULL) {
    		res = _FAIL;
    		RTW_INFO("alloc_mem for interrupt in endpoint fail !!!!\n");
    		goto exit;
    	}
    #endif /* CONFIG_USB_INTERRUPT_IN_PIPE */
    
    	/* init recv_buf */
    	_rtw_init_queue(&precvpriv->free_recv_buf_queue);
    	_rtw_init_queue(&precvpriv->recv_buf_pending_queue);
    #ifndef CONFIG_USE_USB_BUFFER_ALLOC_RX
    	/* this is used only when RX_IOBUF is sk_buff */
    	skb_queue_head_init(&precvpriv->free_recv_skb_queue);
    #endif
    .......
    exit:
    
    	return res;
    }
    

    可以看到wifi模块为接收数据做初始化准备时,分配了对应URB,而在usb_read_port()函数中初始化URB和提交URB

    展开全文
  • ESP8266 IOT MiniBoard 物联网迷你开发板,是一款以ESP8266-12F为核心的物联网开发板,采用ESP8266-12F为主控,使用稳定性较高的CH340USB串口转换芯片,板载3.3V/800mA电源稳压芯片,USB供电带500MA保险,为您的电脑...
  • ESP8266系列WIFI模块的使用·

    万次阅读 多人点赞 2018-06-07 21:07:40
    芯片可工作于三种种模式下,分别是:AP模式,station模式以及混合模式,通过常用的AT指令进行控制。自芯片面世以来发行过多种型号。单单我用过的就有ESP8266-01,ESP8266-12F,ESP8266-12E这三种。当然,我没接触...
  • 无线常用短语

    2019-03-15 23:17:45
    WPA: Wi-Fi Protected Access,有WPA和WPA2两种标准 WDS: wireless ...VAP: 虚拟AP(access point),wifi芯片可以建立多组BSS ,供不同的客户访问。除了提供基本的网络给内部用户使用,还可以提供一个guest ne...
  • 破解wifi无线网络密码

    热门讨论 2012-11-07 10:46:02
     “6”,信道号,一般1、6、11是常用的信道号,选择“0”可以收集全部信道信息;  “testwep”(该输入文件名可任意);  “y”,破解WEP时候选择“y”,破解WPA时选择“n”。  (3)回车后,进入以下界面。  (4)当...
  • 机智云支持的wifi模组,Gagent模组

    千次阅读 2016-11-03 21:22:15
    Gokit 2 支持的常用模组芯片类型 汉枫 :lpb100、 lpt120 、lpt200 (汉枫lpt120系列) 乐鑫 :esp8266 庆科:EMW3162 高通:QCA4004 Realtek:RealTek 8711AM 周立功致远电子:AW54101WF1P、AW54101WF...
  • 详解Android GPS 基站 WiFi 定位

    千次阅读 2014-11-26 13:46:43
    相信很多的朋友都有在APP中实现定位的需求,今天我就再次超炒冷饭,为大家献上国内开发者常用到的三种定位方式。它们分别为GPS,百度和高德,惯例先简单介绍下定位的背景知识。 什么是GPS定位、基站定位和Wi-Fi定位...
  • RK3288一体机开发主板,采用瑞芯微四核芯片RK3288方案,主频高达1.8GHz。支持常用外接设备,接口丰富、性能稳定。支持多路显示接口:支持双 mipi、LVDS、HDMI、EDP、多种显示输出接口。支持双屏同显/双屏异显。支持...
  • 二、通过WiFi模块连接到Onenet_MQTT服务器 合泰32串口 HT32F5XXX串口 如下表所示,HT32F52352芯片USART0、USART1、UART0、UART1对应引脚号为: —— TX RX USART0 PA4 PA5 USART1 PA2 PA3 UART0 PC4 PC5...
  • 启英泰伦的语音AI芯片CI1102、CI1103有很多常用外设,如GPIO、UART、I2C、SPI、SDC等,易于将语音识别功能嵌入到客户已有的产品中,启英泰伦提供可二次开发的软件SDK,以及生成命令词固件的语音AI平台,只要更改部分...
  • 通过WiFi或移动基站的方式获取用户错略的经纬度信息,定位精度大概误差在30~1500米 android.permission.ACCESS_FINE_LOCATION 通过GPS芯片接收卫星的定位信息,定位精度达10米以内 android.permission....
  • 开发调试指令大全--(MTK开发调试命令)

    千次阅读 多人点赞 2019-04-13 11:58:34
    MTK无线驱动开发调试手册1、前言2、MTK Wifi芯片简介2.1 单频WIFI芯片信息2.2 WiFi驱动版本3、MTK 无线驱动开发调试3.1 常用命令行3.1.1 设置WLAN驱动打印级别3.1.2 查看驱动版本3.1.3 设置国家区域3.1.4 设置国家码...
  • 这一篇补充一下关于生成中代码中的几...WiFi芯片模式设置接口,按照官方给的代码,芯片有六种模式,不过常用的也就只有两种: 1、WIFI_SOFTAP_MODE WIFI_AIRLINK_MOD 具体想知道分别是什么功能,可以看官方文档 ...
  • 快速读懂中国移动Andlink能力

    千次阅读 2018-01-22 14:21:41
    一、概述: 面对众多的智能家庭终端,用户需要的是即插即用的体验,不会将设备联网是智能家居行业发展的首要痛点。...1、一键触发:支持不同厂家WiFi芯片或模块,设备上电或按键多种联网触发方式。
  • ESP8266 AP模式

    2020-08-23 19:56:45
    ESP8266 AP模式 ESP8266共有三种工作模式,分别是无线接入点模式(AP)、无线终端模式(STA模式)以及混合模式(以上两种模式的混合)。...WiFi.mode(WIFI_STA):将此WiFi芯片设为站点模式,(WIFI_AP为访问接
  • stm32(七)串口总结

    2019-09-14 14:40:37
    目前常用通信接口: USB,RJ45,WIFI,BlueTooth,耳机,VGA,HDMI, UART串口,并口打印口 应用场合: PLC设备组网(RS485),监控设备控制接口, 仪器仪表数据接口, GSM/GPRS模块, GPS全球定位模块, wifi模块,蓝牙模块, 串口...
  • 关于EVB-T335支持哪些usb-wifi设备,取决于该设备使用哪种类型芯片组,每种芯片组都有与之对应的linux驱动,而在EVB-T335的3.14.43内核源码中,已经支持了许多常用芯片组驱动,具体请用户在menuconfig中自行查看。...
  • 嵌入式开发——物联网

    千次阅读 2020-10-25 13:19:10
    国内WIFI芯片价格也变得越发便宜,堪称白菜价,各大厂对于物联网这一块也开始加大布局,这对于物联网无疑具有很大的促进作用。市场上对于物联网嵌入式开发的需求也在增加,物联网的开发主要是熟悉无线通信的方式与...
  • ESP32概述与入门准备

    万次阅读 多人点赞 2018-11-29 11:28:23
    文章目录概述常用模块介绍最小系统示例原理图成品展示 概述 ESP32是乐鑫继ESP8266后推出的又一款集成WiFi功能的微控制器。ESP32拥有比ESP8266更加强大的性能,可以用来开发更加复杂的应用。就拿下章节中模块所...
  • 使用minidwep-gtk

    千次阅读 2020-09-22 12:56:29
    【4】常用芯片类型 【5】kali2019安装 【1】wifi破解 1.wep加密:此类加密比较老旧,现在的无线路由器已经很少使用此类加密方式,破解只需要大量的数据包即可。 2.WPA / WPA2 PSK加密:这类加密是很安全的,破解的...
  • 在如今这个需要快速开发设计出产品的时代,模块化的东西越来越方便快捷,在各种模块使用的接口里面串口应该是比较常见和常用的,串口蓝牙模块,串口WIFI模块等等,除此之外串口还常用于和客户产品进行通信中也比较...
  • 针对GPRS、ZigBee、WiFi等国际标准无线传感器网络通信协议价格高、对硬件要求高等问题,提出采用适用于小型射频网络的低功耗SimpliciTI协议设计无线传感器网络的方案。首先介绍了SimpliciTI协议的基本原理;然后给出了...
  • RK3288 一体机开发主板,采用瑞芯微四核芯片 RK3288 方案,主频高达1.8GHz。支持常用外接设备,接口丰富、性能稳定。支持多路显示接口:支持双 mipi、LVDS、HDMI、EDP、多种显示输出接口。支持双屏同显/双屏异显。...
  • 无线系列-无线通信系统组成

    千次阅读 2020-04-14 08:00:41
    1.前言 为什么要写这些文章?...当然,这里讲的无线,包括WiFi、蓝牙、NFC等常用的无线通信软硬件。对于5G会有一些涉及。 从无线通信理论,理论仿真,硬件设计,包括芯片选择,射频器件选择...
  • 做一个U盘的学习路线

    2018-04-28 20:35:00
    因为USB协议比较复杂, 常用的复杂外设除了WiFi,Ethernet,SDIO和USB这些就是USB了,学习USB的时候肯定要拿一个东西下手,所以简单了解之后准备了下列资料: 前期准备 1.《圈圈教你玩USB》。这本书比较经典,但是...

空空如也

空空如也

1 2
收藏数 39
精华内容 15
关键字:

常用wifi芯片