Flash Timing Test 记录

Flash Timing Test

记录一下目前在测的NAND Flash的Timing测试,记录测试中碰到的一些问题。

查阅数据手册

首先在测之前没有详细地阅读数据手册,所以出现了一些问题,其中最大的问题是没有对照数据手册的Interface Mode Selection真值表,所以关于示波器的触发设置的有些不对,一直无法触发到。
Flash Timing Test 记录MT29F2G08ABAGAWP-IT:G芯片数据手册中的Interface Mode Selection表。

所以下次测试得先看表,对照着设置触发后才能正确的抓到不同状态下所要测的 t 值。

测试点焊接问题

困扰我最大的问题是测试点问题,首先目前我在测的板子所需测的测点在Top层和Bottom层,所以测试时需要翻转板子,而又因为需要持续触发,所以需要焊接测试点,然后用示波器的夹持方式测试,而测试点大多为0402甚至0201封装的电阻电容一侧,焊接时几乎没有多少附着面积,这对我的焊接功力是一个比较大的考验,这方面也是我还有待加强的地方。

焊接不好所带来的后果就是,测试点不牢靠,即使贴上纸胶仍然会掉落,测试的大部分时间也是浪费在这上面,之后如果测另一块板子,希望能有更好的测试点位置或者有更好的测试工具之类的,当然自身的焊接功力也更需要提升。

另外就是Flash是BGA的封装,针对这种封装也无法使用直接焊在芯片周围的方式,目前的电路大多数芯片功能较多,引脚较多,集成度高,采用BGA封装,经常测试的位置需要留出测试点,方便测试。

另一个问题是,测试线长度问题,如果测试线过长的话,就会产生波形不够平整的现象,如果只是测量时序问题,还可以接受,但如果是测Signal quality问题的话,测试线就不能太长,一定要排除是自己外部加入的质量问题,如果有问题,也好确认就是板子当中的问题。

必要的时候需要使用接地环,接地线长度会对波形中的噪声问题有比较大的影响。这点有切身体会,如果将接地线靠近POE或者DCDC电源部分,就会有比较大的开关噪声呈现在波形上,但其实这并不是板子出现的问题,所以一定得将它排除掉。

测量过程中的问题

触发模式

第一个问题,测试触发模式选择,首先一定得确保四根通道都连接上,一般来说,咱们测试写状态下的时序较多,读状态下待测的不多,然后,针对读写需要设置不同的指令。

记录一下触发模式设置方式,我使用的是Keysight的DSOS204A_1G/2G/4G示波器,其他示波器应该与其大同小异,后续我有空看看其他示波器是不是这样设置。

接入了四根通道的电压探棒后,在 Trigger 中选择 Setup,首先对照上述的关于读写指令状态的Logic Table设置四个通道,一般来说先触发的是CE#,WE#,CLE,ALE,后续还需更换连接测试点。 选择Gallery,选择触发模式(State,Rising Edge(AND)),选择Threshold中触发电平为50%。

接着就是触发然后测量数据手册中的这些待测时间。

读写指令

在测量tDS或tDH时,需要连接到IO测试点,看IO的波形,这需要电脑连接板子下一个读写指令,一般来说读指令都存在,CPU在上电时读取FLASH。而写指令一般来说得看情况,大部分情况下需要我们通过串口工具下一个写指令。

向前辈要一个写指令时,前辈说这一个板子好像软件那边没有给一个写指令,所以直接顺带教我如何升级code。在升级code中,FLASH就会有写指令,也可以抓到IO口数据波形

升级FLASH中的CODE

首先,利用串口转接工具,连接板子console口到电脑。连接另一个网口到电脑,POE供电不动。上电后,电脑中打开串口工具,进入板子的boot界面,打开 tftp 工具,选择对应code的路径。

输入指令
setenv ipaddr 192.168.1.1;setenv serverip 192.168.1.10
ping 192.168.1.10
setenv bootargs console=ttyMSM0,115200n8
tftpboot norplusnand-ipq6018_64-single.img
imgaddr=$fileaddr && source $imgaddr:script

其中第一行是分配IP地址作用,板子在没有完全工作时自身没有IP地址,所以需要我们自己设置一个IP地址,后面的192.168.1.10是自己电脑的IP地址,逐行发送,第二行是ping 本机的网口,看是否正常配置且连通。

第三行指令根据板子不同,软件那边会给出不一样的指令,我们这边暂不讨论。第四行是对应code 的名称。指令逐行全部发送完成后,可以在boot界面看到板子的状态,如果开到板子中出现 ubi 或u-spi done的状态,此时如果示波器一直触发此时已经触发到IO口数据波形。测量所需的时间。

最后全部保存出一个报告即可。