认识TA3235S模块
TA 是 Things Air 的缩写,字面意思可以理解为传播万物之类的意思,其实就是表达这是一个无线传输模块
模块开发基于的芯片是TI公司的 CC3235S
该模块共有三种类型:
TA3235SNA | TA3235SUA | TA3235SSA |
![]() | ![]() | ![]() |
无天线无底座版本 | 仅有UFL(IPEX)天线底座的的版本 | 模块PCB上印刷了天线 |
芯片上电后的工作模式选择
下图为TA3235模块的原理图:
注意:TA3235Sxx模块的外接引脚序号与CC3235S芯片的引脚序号并不对应,具体的TA模块的引脚与CC3235S的引脚的对应情况在模块的手册中也有提到。
我们需要注意的是左侧的SOP00、SPO01、SOP02三个引脚
由于CC3235S芯片在一开始上电后会对芯片的工作模式进行选择,而工作模式的选择便是由这三个引脚控制的,因此上电测试时我们必须要保证这三个引脚处于稳定且有效的电平状态下。
TI推荐这三个引脚的电路图按下图方式绘制:
TI表明这三个模式选择引脚在上电烧录完成后均可以作为正常引脚使用,但为了避免在上电时检测到虚假SOP值,TI强烈建议用户仅使用SOP2实现其他功能,即仅使用SOP2引脚产生输出信号。“SOP0”和“SOP1”引脚作为5ghz控制开关,而不参与其他功能的实现。
于是实际电路图我们仅将SOP2引脚引出,参考下面的CC3235x的上电启动模式表图,我们可以选择UARTLOAD0和FUNCTIONAL_4WJ两种启动模式分别作为用于在发布版本将程序生产image文件烧录的Flash中和在调试阶段利用4Wire_JTAG来对程序进行调试。
于是我设计的电路图仅对SOP2引脚添加了一个上拉下拉状态选择开关,而对SOP0和SOP1引脚没有外接其他电路。
在完成了电路板的绘制和焊接后,需要对CC3235S进行上电测试。
CC3235芯片的上电测试
TA3235S模块的上电测试便是对上述两种启动模式是否可以正确选择,并正常进入到程序运行状态进行实验,实验过程如下:
1、UARTLOAD上电模式测试
UARTLOAD模式允许我们通过UART将应用程序烧录到CC3235S的flash和SRAM中,在上电后设备会无限期地等待UART烧入代码。该模式仅在需要烧录发布版本的应用程序时使用,在烧录完成后必须将SOP位切换为Functional Mode上电模式,在重新上电后设备才能恢复正常工作状态。
再次提醒,在UARTLOAD模式下完成了对flash的烧录后,需要重新切换到FUNCTIONAL模式下,设备才能在下次上电时正常工作
进行UARTLOAD上电模式测试时,首先要将SOP2引脚与VCC相连做上拉(这里没有加上拉电阻是有问题的,会导致该引脚在上电完成后无法正常使用,在下一版电路中有做修改)
TI提供了Uniflah软件来生成Image文件,并对CC3235S进行FLASH烧录,虽然功能强大的Uniflash根本不屑于办此般小事,但对我们上电测试来说却很是方便。
对于Uniflash的详细介绍再另一篇博客中提到:(挖坑)
Uniflash的官方资料链接:UniFlash Quick Start Guide (ti.com)
在本文中,我们主要使用Uniflash对CC3235S芯片进行连接测试,UART烧录测试和JTAG Debug测试,保证芯片焊接后处于正常的工作状态。
首先介绍一下硬件连接情况:
本次测试采用自行设计的电路板与LAUNCHPAD上的XDS110烧录芯片进行连接,采用4线制JTAG连接方式,并且需要连接TX和RX,保证串口可以正常通信,并且需要保证SOP2拉高,SOP1, SOP0 拉低。
接下来开始使用UniFlash进行上电测试操作,
如果我们生成的Image文件可以成功烧录到芯片中则证明UARTLOAD上电模式的测试成功,,,
1、选择设备
上面实物图中,SOP0,SOP1已被内部拉低,SOP2通过跳线帽与VCC相连,芯片上电后进入UART LOAD模式。
给芯片上电,并打开Uniflash后,进行如下操作:
选择第一个LAUNCHPAD-CC3235S,并Start Image Create
2、芯片连接测试
点击创建一个New Project
随意创建一个新工程,注意这里的选择,首先设备类型一定是要选择CC325S,
设备模式有两种:开发模式和生产模式
- 开发模式(Development):将设备选为开发模式后,完成Flash烧录后切换到Functional模式仍然可以进行debug调试
- 生产模式(Production):将设备选为生产模式后,JTAG引脚将被禁用,完成Flash烧录后切换成其他模式将无法再进行debug调试
进入新建工程页面,点击Connect进行连接测试,测试结果如下,说明可以与芯片建立连接
4、生成Image文件并烧录
依次点击Burn,(Creat Image), Program Image
若出现下图结果则说明镜像文件烧录成功:
如果我们此时在打开CCS
导入一个CC3235S的例程,选择创建Image文件和MCU+Image的编译模式,点击编译,编译后不会报错,点击烧录是可以成功烧录的
具体过程如下图:
结果如下图所示:
补充:上面选择生成的Image文件会在对于工程文件中的MCU+Image子目录保存,在Uniflash的芯片选型界面选择CC3235S BOOTLOAD选项后,可以将该Image文件导入,并选择对于的串口引脚烧录到CC3235S的Flash中。
2、FUNCTIONAL_4WJ模式上电测试
FUNCTIONAL_4WJ是设备功能的开发模式,在这个模式下支持我们使用4线制的JTAG引脚来调试我们的设备CC3235S,并且不需要连接串口线。
硬件连接情况跟上图一致,只是去掉了串口相关的连接线TX和RX,也省去了RESET引脚
注意:如果在上面创建Image文件进行Flash烧录操作时,将设备模式选为了生产模式,在切换到FUNCTIONAL_4WJ模式时调试不会成功,必须保证上述进行的uniflash烧录操作时开发模式。
我们需要将SOP2与GND相连将其切到低电平,此时由于我们处于FUNCTIONAL_4WJ模式,当我们上电测试时我们可以进行debug模式的编译,但不能进行Image+MCU模式的编译,若进行Image+MCU的编译会有如下报错:
若非要使用Image+MCU模式的编译,我们需要右键项目名称,打开属性配置页面的Image Creator页面,将Enable“Image Creator”取消勾选,即下图勾中的选项:
这是因为Debug和Image+MCU两种编译模式是经过不同的编译器生成不同的可执行文件,首先我们知道我们编写的所有程序如果想要运行,都需要对源码进行编译和执行。
- 编译是通过某种编译器来解析我们的源代码,生成可以与目标平台连接的可执行文件
- 执行是将可执行文件运行与目标平台建立连接
比如,对于我们在Visual Studio编写的一个源码来说,生成解决方案是我们说的编译,此时我们会得到一个.exe文件,但如果我们想要在windows上执行该文件,则需要到cmd命令行输入
.\<可执行文件名>.exe
来执行该文件,这才使我们写的文件在windows上正常运行起来。
同理,对于我们CCS上写的单片机程序,如果我们想让这个程序在单片机上运行,也要经过编译、执行两个过程,但不同的编译模式会生成不同的可执行文件,与单片机建立连接的方式也不同。
对于CC3235S而言,它支持两种编译方式
- Debug编译模式:会生成一个可以进行仅用于调试的可执行文件,在编译完成后,我们可以点击Debug按钮
来执行该可执行文件,此时会将编译生成的可执行文件烧录到单片机的RAM中(RAM是单片机运行程序的地方),从而完成程序与单片机的连接,但RAM具有易失性,当单片机断电后在RAM中执行的程序将丢失。
- Image+MCU编译模式:会生成一个可以储存到单片机flash中的可执行文件,在编译完成后会生成一个可执行文件,这个可执行文件会被存到Image文件夹中,在编译完成后,我们可以通过flash按钮
来执行该可执行文件,此时CCS会将Image(注意是Image,并不只是可执行文件,因为CC3235S还需要对另一个核心烧录网络服务文件)烧录到Flash中,当单片机在正常工作模式下重新上电时,就会从flash中读取程序在RAM中运行。
那么,我们接下来的测试,若选择编译模式为Debug模式,则编译不会报错,且可以正常进入Debug模式则说明Debug测试成功,并且在不勾选创建镜像文件的情况下,进行Image+MCU编译也不会报错,并且可以进行Debug调试。
下图为成功进入的Debug调试界面,此时编译的可执行文件已成功烧录到单片机的RAM中: