PLC QCA7005调试笔记

方案选择

SOC方案选择不多,暂时只发现高通和联芯通两家。模块方案较多,基本都是基于高通方案实现的。
想要获取高通原厂的技术支持比较困难,但考虑到产品的稳定性还是选择了高通。

开发资料

网上基本找不到关于QCA7005的开发资料是因为这些资料是机密,要获取到官方开发资料流程如下:

  1. 以企业邮箱注册高通账号
  2. 按高通邮件提示提供营业执照完成认证
  3. 签署保密协议(NDA)
  4. 销售协助申请开发资料
  5. 下载

固件烧录

QCA7005出厂是没有固件的。
其固件分为两个文件,一个是NVM(即我们常说的固件),一个是PIB(可以理解为配置文件)。
可以选择从host(即主控MCU)启动,但一般会选择外置一颗flash,将固件烧录到flash中。
一种方案是用flash烧录器直接烧录好flash再贴片,但固件在flash中的地址无从得知,一个可行的方案是从已经烧录好的flash中克隆。
另一种方案则是采用官方上位机软件进行烧录。
这里介绍AVitar,一个windows桌面软件。
烧录原理为AVitar将MAC层的包发给host,host将其通过SPI转发给QCA7005,QCA7005再将固件写入flash。
这就需要MCU具备另一个网口,并能将其与QCA7005的SPI进行桥接,这一部分需要软件来实现。
其烧录步骤大致如下:

  1. 修改PIB中的MAC地址(强制的),并将NVM和PIB发送到QCA7005,这是运行SoftwareLoader的前提;
  2. 将一个名为SoftwareLoader的NVM发送到QCA7005;
  3. 再次修改PIB中的MAC地址,并将NVM和PIB发送到QCA7005,此时SoftwareLoader将固件写入flash。

驱动程序

目前host采用MPU+linux系统的结构比较常见,因为官方给出的是linux的驱动程序,且已经被较新版本的linux内核集成,只需编译即可使用。如果使用MCU则需要自己解决驱动问题,甚至是MAC,IPV6,UDP,TCP的手动组包。这存在一定的难度,但确实可以实现。

应用程序

一般是参考一些开源项目
https://github.com/bert-qin/open-plc-utils
https://github.com/Martin-P/OpenV2G


技术交流请联系我

image

posted @ 2024-11-04 17:08  bert_qin  阅读(214)  评论(0编辑  收藏  举报