泰凌微电子的产测工具默认提供了多个产测固件,比如测试射频RF,测试低功耗电流,这些属于前置测试,即测试PCBA硬件是否存在异常。泰凌微电子的产测系统的实现机制是:先生成一个RAM版本的产测固件,然后通过芯片的烧录口把RAM版本的产测固件加载到DUT待测设备芯片的RAM中,让产测固件执行相关指令,就可以达到测试的目的。本文就以泰凌微电子TLSR8258 SoC 检测GPIO是否焊接不良为例介绍产测固件的原理和使用方法。
1
GPIO 测试 Demo说明
此Demo有两个固件,GPIO测试板的固件和DUT待测设备的固件,分别作为Host和Slave。为了测试GPIO,Host和Slave需要连接引脚,连接示意图如下:(GPIO直接对接,例如A[0]接A[0],C[1]接C[1],串口引脚定义为:B[1]=Uart Rx,C[3]=Uart Tx)
此Demo例程的具体代码并不复杂,请客户自行理解。此处只说一些关键点,如下图截取的代码:
Slave运行后,从flash读取GPIO待检测列表,1=测,0=不测。(该列表修改方法见下文)
Slave与Host串口连接成功后,开始检测GPIO,检测过程见源码注释。
Host代码较为简单,主要是串口回复Slave的连接请求,Host回复Slave当前读取的GPIO电平数据。
2
GPIO 测试的具体步骤
Step1:
IOTSET_host.bin烧录到GPIO测试板的flash。根据上文提到的接线示意图接线。添加IOTSET_slave.bin到文件夹:EvkMonitorplatformdefault
Step2:
设置有哪些GPIO需要测试。通过修改bin格式的固件来指定哪些GPIO需要进行测试,固件地址和对应关系如下图,1=需要测试,0=不需要测试,例如A76543210对应的设置参数是01 11 11 11,即:A7=0,A6=1,A5=1,A4=1,A3=1,A2=1,A1=1,A0=1。A7是SWS烧录口,不测试。(可以使用Notepad++编辑固件)
Step3:
使用文本编辑软件打开test.tls,添加如下内容用于判断GPIO是否测试通过:
关于这些指令的具体含义,可以参考《AN_20021101-C1_Decription of the Script test.tls of EVK Testbench BLE 2M Flash.pdf》
Step4:
使用evk_monitor软件重新烧录量产夹具(download之后量产夹具需要重新上电)。
Step5:
使用evk_monitor软件开始产测
如果测试通过,则flash的0x41028地址写入0x28,并且擦除该区域,不通过则写入其他值,还可以通过该值判断具体是哪个GPIO出了问题。
GPIO测试成功的案例如下图所示:(返回0x28,则GPIO测试通过)
GPIO测试失败的案例如下图所示:(返回0xA1,则GPIO的A1引脚故障,故障可能是虚焊、PCB线断、引脚短路、芯片损坏...)
审核编辑:刘清
全部0条评论
快来发表一下你的评论吧 !