V2.2 / FAQ / 中文

泰芯AH方案FAQ

责任与版权

责任限制

本文档内容仅供参考。珠海泰芯半导体有限公司(以下简称“泰芯”)未对本文档信息的准确性或完整性作出任何明示或暗示的陈述或保证,且不对使用本文件信息所产生的后果承担任何责任。

泰芯保留在不另行通知对本文件进行修改、改进或其他变更的权利。

泰芯没有为客户产品的应用、设计验证提供协助的义务。客户应自行对其应用的设计、验证和测试负责,并确保其应用符合所有法律、法规及安全相关的要求。

如因客户未遵守本协议导致任何损害、费用、损失及/或责任,泰芯不承担任何责任;同时,客户应全额赔偿因客户未遵守本协议而给泰芯造成的任何损害、费用、损失及/或责任。

版权声明

未经泰芯书面同意,任何一方不得为商业目的修改、改编、变更、翻译或基于本文件创建衍生作品。

未经泰芯书面同意,任何一方不得向第三方披露或分发本文件中提及的任何部分或全部源代码、SDK、二进制文件和目标代码。

任何一方不得修改、反向工程、反汇编、反编译或以其他方式试图发掘任何非源代码部分的SDK,包括但不限于预编译的二进制文件和目标代码。

此外,任何可能侵犯泰芯或其他知识产权所有者权利的行为也均被严格禁止。

对于实施上述侵权行为的主体,泰芯有权依据中华人民共和国法律或其他可能适用的法律、国际条约采取必要的法律措施,包括但不限于对侵权人提起诉讼或仲裁,或申请法律强制措施。

珠海泰芯半导体有限公司

2024年09月24日

修订记录

日期

版本

描 述

修订人

2026-05-28

V2.3

增加修改连接参数后出现连接失败的说明;

WY

2026-03-26

V2.2

增加关于SDK环境编译搭建说明;

增加硬件flash、滤波器、休眠唤醒说明;

增加编译环境搭建说明;

增加接口连接问题说明;

增加实际使用问题说明;

增加版本管理说明;

WWW

2026-01-14

V2.1

修改升级固件的描述(是否需要手动重启);

增加网卡open失败的描述;

增加无法连接路由器/手机的说明;

增加通过网口输入AT+的说明;

WY

2026-01-09

V2.0

修改打印口的设置方法;

修改升级固件的描述;

修改烧录固件的描述;

增加资料下载的说明;

增加网桥模块IP的说明;

增加模块选型的说明;

增加linux驱动打印event is full的说明;

增加修改sta个数要恢复出厂的说明;

WY

2022-04-18

V1.3

增加Flash烧写方法;

WY

2022-03-28

V1.2

增加多台设备测试卡顿问题;

WY

2021-12-10

V1.1

增加了硬件常见问题和工具常见问题的描述跟解决方法;

ZJD

2021-08-07

V1.0

Create;

WY

1 软件常见问题

1.1 关于资料的下载

  • 资料下载的链接:

https://www.taixin-semi.com/Product?prouctSubClass=33

  • 关于SDK/固件:

目前网站提供1.6版本SDK和2.4版本SDK;

固件方面,网站只提供2.4版本;如果需要1.6版本固件,请客户通过编译1.6 SDK得到,或者联系FAE;

  • 关于2.4版本和1.6版本的区别:

1.6版本是2025年之前主推的版本,目前已经不增加新功能;后续如有新功能将在2.4版本上增加,建议新客户优先考虑2.4版本,对后续的新功能扩展比较好。

  • 关于FMAC和WNB的区别:

FMAC是指用SDIO/USB/UART等跟主控对接的接口;WNB是指网桥,用RMII接口。

1.2 Linux驱动打印event list is full

Linux驱动打印event list is full (max 16), drop old event,是由于主控没有读走event队列导致队列满了,是正常现象,可以忽略这个打印。

1.3 修改sta个数后,升级固件后运行不正常

打印看到 assertation "wnbcfg.max_sta == WNB_STA_COUNT" failed,是由于sta个数修改,导致参数区出现错位,需要恢复出厂(at+loaddef)。

1.4 网桥工作不正常,出现hg_gmac_open报错

出现assertation "!ret" failed: function: hg_gmac_open, 报错是什么问题?

是以太网PHY通讯出现错误导致的,需要检查PHY芯片和AH模块的焊接是否有问题。

1.5 修改连接参数后出现连接失败

出现ap显示连接,sta显示没连接,可能是因为:当模块处在从未连接过渡到连接的中间状态时,刚好修改了ssid或者key/psk,导致连接状态异常,并且之后都连不上了,除非重启模块才能恢复。

规避办法:设置ssid或者key/psk之前,先把hg0 down掉,等设置完参数后,再将hg0 up起来,就不会发生:在连接的中间状态时刻修改参数了。

2 硬件常见问题

2.1 原理图常见问题

  1. UART调试串口即:UART TX跟UART RX需要串上1K的限流电阻防止串口漏电。
  2. 模组的VCC1供电要串一个磁珠保护SWICTH。
  3. 模组的配对Pin跟角色选择Pin有两套方案。分别是1.配对IOA7,角色IOA8;2.配对IOB1,角色选择IOB2。选用RMII(网口)、USB、UART接口通信时默认使用第1套方案;选用SDIO、SPI通信时默认使用第2套方案;需要更改时请找FAE确认。
  4. 我们模组正常情况下的功耗如下图所示。如需要STA低功耗模式则要加上NOR FLASH。

1639122616(1)

如果需要低功耗模式,且低功耗电流要求<300uA,则需要将pin 4/5/6 在进入低功耗模式的时候断电;且此时1.3V供电(pin 34/35)由外部DCDC电路输入。

如果不需要低功耗功能,那么模组的供电不需要分电。1.3V(pin 34/35)也不需要供电,两脚悬空即可。此时1.3V由内部LDO供电。

2.2 PCB常见问题

  1. IPEX座子底下要进行镂空处理,否则影响RF性能。
  2. 信号线尽量短,如果实在改不了就进行包地处理。
  3. RF回路尽量不要拐弯,会影响RF性能。如需拐弯,避免直角拐弯,建议圆弧拐弯;禁止RF走线走到模组下方。
  4. 电源DCDC电路要尽量远离RF回路。

2.3 关于模块的选型

目前AH模块有不带saw的型号:900P,和带saw的两个型号:900PNR和900PNR-860M,分别是带了915M saw(通带902-928MHz)和860M saw(通带859-894MHz);

900P好处是同时支持915和866两个频段,但是对抗基站的干扰会比较差,所以户外的方案,还是建议选择带saw的版本;

2.4 设备可支持多少组uart?

当前最多只支持2组UART,UART0(IOA10 & IOA11)、UART1(IOA12 & IOA13),UART0与SDIO接口复用、UART1与USB接口复用。

如果使用SDIO(SPI)、UART、MRII接口,只能保留使用UART1(IOA12 & IOA13)。

如果使用USB接口,只能保留使用UART0(IOA10 & IOA11)。

2.5 Nor Flash电路是否需要保留?

Flash用于存储固件,可快速启动保存数据。是否保留取决于需求,如果带主控不需要休眠功能和保存配置数据,可以不保留,其他情况请保留Nor Flash电路。

当前仅支持SDIO、USB接口从Linux主控推入固件,或者SPI接口从NONOS主控推入固件,若没有对应接口也请保留nor flash电路。

暂无Flash支持列表,市面上常用的Flash都可支持,Flash容量要求≥8Mbit。

2.6 关于低功耗引脚MCLR的硬件设计。

唤醒模组的MCLR引脚是要求负脉冲唤醒,而且脉冲时间比较短(500us),如果host希望输出上升沿唤醒,或者host端拉不出 500us 短脉冲,就建议换其他IO;注意MCLR如果被拉低电平超过2mS,则会导致模块reset。

2.7 V2.4多唤醒源(MULTE_WAKEUP)要怎么理解,硬件如何设计?

如果是需要快速响应(几百ms)的唤醒事件,就要合并到唤醒IO;如果是一些不需要快速响应的事件,例如电池低电,usb插入,这种是可以不并到唤醒IO的,就靠保活周期(默认1S),软件去查事件的状态,就可以了。

快速响应唤醒详细介绍:

休眠状态下,只会保留一个唤醒脚,所有唤醒源都需要连接到同一个唤醒脚,同时连接另一个io用于区分不同的唤醒源(模组唤醒后,可以自定义检测对应的脚位状态用于区分不同唤醒原因)。

具体软件逻辑可以参考V2.4.x.5的SDK,main.c文件中,“MULTI_WAKEUP”相关的示例代码。

3 工具使用常见问题

3.1 串口工具

  • 接上串口之后电脑无法识别。
  • 原因:未安装CH340驱动
  • 解决方法:找我司FAE提供驱动安装文件。
  • 电脑能识别串口了,有打印输出了但是输不进命令。
  • 原因:会话设置有误。请参考下面设置方法:

图2-1 串口参数配置

另外,请注意串口工具中选中新行模式,否则无法输入AT命令。

3.2 固件升级方法

注意要原来有固件,才能用这个小节的方法升级。

目前固件升级方法一共两种:

  1. 串口升级(对于所有类型的固件都适用)

输入at+fwupg,输入成功后打印会返回cccccccccc,此时点击上方功能栏的传输。点击里面的发送XMODERN,选择你要升级的固件。等待固件升级到100%完成即可。升级完自动重启。

  1. OTA工具升级(只适用于wnb固件升级)

连接产品与电脑的网口,打开OTA工具,使用方法见下图。

1639124601(1)

注意,

1,升级完不会自动重启,要手动重启,才能扫描到新的版本。

2,网卡IP指的是连接网桥的电脑以太网卡的IP,如果识别不到,有可能需要手动设置固定的IP。

3.3 烧录固件

Flah空片不能通过升级固件方式写入固件,只能通过烧录方式写入固件。有2种方式可以烧录flash。

  1. 通用Flash烧录器,最好是带夹子的,这样即便是贴到板子上了,也能烧写;如果只是烧录flash,不做SDK二次开发,可以考虑这个选项;

烧录器购买链接(仅供参考):

https://detail.tmall.com/item.htm?id=530205056639&ali_refid=a3_430582_1006:1109448581:N:Rn1Tc5S/8BWSknQ1pSbObgfXeXQ8g6uI:e80a03b434e3fc5fbd65345b3837fe7e&ali_trackid=1_e80a03b434e3fc5fbd65345b3837fe7e&spm=a230r.1.14.13&skuId=4531295887509

  1. 用TX-CLINK工具烧录,这个调试器,可以用来调试也可以烧录。购买请联系业务。优点是除了支持flash烧录还支持SDK二次开发调试,缺点是客户要买TX-CLINK以及搭建TX-CLINK的环境。

具体方法请参考:

烧录的工具包为:CSKY-FlashProgrammer-windows-V1.0.6-20200115-1549,解压后如图所示。工具包可在泰芯官方网站下载。(参考1.1)

先安装CSKY_DebugServer_Driver,然后进入FlashProgrammer文件夹,双击运行”CSKYFlashProgrammer.exe”。

选中Advance子页,设置Program Algorithm File,如图2-10所示。在上级目录里找到TXW8300_FLASH_ALGORITHM.elf 。

回到主页面,增加bin文件烧录

选择要烧录的固件,选中program和verify,点击start进行烧录,如图2-12所示。

硬件操作方法:

  1. 按照如下方式连接TX-CLINK工具。
  2. 如果原来有固件,需要短接flash 1、2脚再上电,上电后释放flash1、2脚;若flash中无固件,可不需要短接flash1、2脚,直接上电。

:TX-CLINK工具和平头哥的Ck-link lite是一样的功能,如果有Ck-link lite也是可以的。

3.4 Flash固件烧录的地址是多少?

固件烧录的地址是0地址。

4 编译环境搭建问题

4.1 SDK的编译环境如何搭建?

在官网下载对应的SDK文件。

https://www.taixin-semi.com/Product?prouctSubClass=33

下载剑池CDK工具

https://www.xrvm.cn/community/download?id=4397799570420076544&isLatestVersion=1

...SDK\...\project目录中有对应的cdkproj后缀文件,打开即可。

4.2 不同的接口要用哪个SDK?

以太网接口需要用带wnb后缀的SDK(版本号为x.x.x.3的),其他的sdio、uart、usb接口需要用evb后缀的SDK(版本号为x.x.x.5)

4.3 如何编译不同接口的固件?

生成的固件如下,会带有ic型号-主版本号-snv版本号-日期,建议加上一些关键配置信息以便区分固件类型:

4.4 软件版本管理

我们当前的软件版本v2.4.x.5-xxxxx,前面的v2.4.x.5为主版本号与分支相关一般情况不会变动,后面xxxxx对应为SVN版本号,便于追溯问题相关的版本修改。

为保证能追溯问题,上述版本请不要擅自修改,若有SDK的二开需要做版本管理,请使用app_version。

4.5 编译报错,怎么处理?

可以检查一下是否编译生成对应的固件,若已生成可以不用在意上述错误。

5 带Linux主控接口问题

5.1 主控的tf卡槽接evb板,驱动加载不成功?

先要确定主控是否有detect脚(一般情况有卡插入会拉低),检查clk脚是否有输出,检查svcc脚供电是否正常(1.8v、3.3v),sdio的数据脚需要有上拉(需要确认是否有外部上拉或者主控端有内部上拉)

若tf卡槽使用仍有问题,可以尝试sdio接口飞线,具体可参考5.2。

5.2 sdio飞线测试注意事项:

  1. 确认主控支持的电压,若主控sdio电压为1.8v,svcc需要从主控接入;
  2. D0~3、CMD、CLK脚需要接上拉(10K);
  3. 若用高频率的clk测试有出现sdio相关的报错,建议降低clk测试(≤510MHz)
  4. 若从主控飞线到evb板svcc,不需要接上拉,evb上有上拉电阻(svcc供电)。

  1. 若没有从主控飞线到evb板svcc,需要接上拉电阻(vcc供电没有接上拉电阻)。
  2. 飞线尽可能短、各个线平齐、固定住线,如下

5.3 开机uart没有日志输出,指令输入无反应?

  1. 确认当前固件版本,只有调试串口才会有日志输出,不同的固件调试串口不同;
  2. 检查flash是否有固件,是否连接正常;
  3. 检查平台是否正常工作,vcc供电是否3.3v;
  4. 检查串口工具是否有问题;

5.4 驱动./build_ahtool.sh生成对应的工具

会出现缺少hgics相关内容的异常信息“make: *** No rule to make target 'hgics.o', needed by 'hgics'.Stop.”要怎么处理?

hgics是其他型号的驱动名称,两个型号共用驱动,需要将tools/test_app/Makefile,改成EXEC = hgota libnetat hgicf hgpriv #hgics,再重新编译即可。

6 测试常见问题

6.1 网桥模块的IP地址是多少,如何打流

IP这个要看使用的是2.4版本固件,还是1.6版本固件

2.4版本,是带了LWIP的,默认IP网段是192.168.123.x,AP默认是.1,sta可以看打印分配到什么地址;也有打流的at+命令可以用来在两个网桥之间直接打流(具体可以参考at+指南)

1.6版本是不带LWIP的,是没有IP的,只是网络包的透传。要靠两边电脑来打流了

6.2 多台设备一起近距离测试,传输卡顿

老化测试时,多台设备一起近距离测试,发现传输卡顿

原因:这个问题,是由于AH的带宽本身不太宽,导致多台近距离同时测试时,会有互相影响。

解决方法:在确保每台设备的AH射频性能没问题的前提下,多台老化测试如果出现卡顿,可以适当将设备间隔大一些,例如一个测试台放2~3套设备,每个测试台之间隔几米(不少于3米,有可能需要更远)。

6.3 为什么无法无线连接路由器?为什么手机搜索不到Halow?

一般路由器使用的是wifi b/g/n/ac/ax等协议,都是属于2.4G、5G频段,wifi halow协议是在sub1GHz的频段,与2.4G、5G频段不能直接互联,只能用泰芯的ah模块互联。

6.4 网桥怎么通过网口发AT指令?

网口可以通过netat工具发指令,通过netlog下载日志,工具在官网可以下载:

https://www.taixin-semi.com/Product?prouctSubClass=33

netat使用方法,需要输入AH网桥连的电脑以太网卡的IP地址(如果没有请设置静态IP);netlog使用方法一致。

7 实际使用问题

7.1 特殊Mac地址介绍

关于特殊Mac地址限制,Mac地址首位如果为1则为组播,为0则为单播,特殊Mac地址全00(全0地址,未做初始化或“无地址”标记),全FF(广播地址)。

7.2 配对连接的方法?

模组有两种方式连接:相同的ssid、psk自动连接、pairing配对连接。不论哪种连接方式都需要保证AP和STA 的chan_list、bss_bw参数一致。

驱动端用pairing指令进入配对模式(两边都要进入配对模式),出现pairing success后,就可以退出配对模式,会自动连接。(必须要退出pairing才会进入握手连接)

7.3 Rssi数值是正整数0~10之间是否正常?

Rssi计算公式

rssi是有可能大于0的,一般的无线rssi数值<1mw所以为负数,当>1mw时数值会为正数,近距离测试,对于AH模组只要不超过正数10都属于正常。

7.4 信道、带宽设置怎么理解?要怎么选择?

chan_list设置的是中心频点,bss_bw设置的是带宽,实际使用需要确保各个信道不会有重叠,要避免同、邻频干扰。以900M默认设置为例,如下图