Saturday, June 10, 2017

【iTestGroup】PTC-04之MLX91206 series Offline Auto-Programming Machine

一、验证烧录 (Verification of Programming)

1. 验证的主要依据: 客户手动烧录手册 Programmierung_Melexis.docx),我们根据烧录器PTC-04以及MLX91206芯片的理解与分析,分析的主要依据有烧录器以及芯片的官方说明书,数据手册等文档。
 Basis of Verification: Programming Manual from customer(Programmierung_Melexis.docx), according to understanding and analysis of the PTC-04 programmer and MLX91206 chip datasheet, mainly based on the analysis of the programmer and the chip's official manual, application and other documents.
2. 验证的主要方法:对比手动烧录以及自动烧录所产生的数据,回读的数据,下面将截图以详细说明。
 Method of Verification: Compare the data produced by manual programming with the data from auto-programming, and the following screenshot will be described in detail.

手动烧录过程:Manual Programming Process

3.1  Read EEPROM to Image: 顾名思义就是把芯片内容读取到Image,从另一个角度讲就是芯片出厂是有一个预置数据的。
Read the content of EEPROM from the chip to Image, mean read the default setting and content of the chip.
3.2  Copy Image to Temp:把Image的数据复制到Temp,其实这一步是为下一步做准备的。
Copy the image data to a temp area.
3.3  根据客户手册(Programmierung_Melexis.docx),到这里我们需要修改两个参数 (RoughGain以及FineGain),从下面的截图可以看出,芯片默认的值分别为4 & 651,不满足客户要求,需要修改为3 & 789,而且这里实际操作会发现,只有Temp那一列是可以编辑修改的,而Image是不能编辑修改的,这就是为什么需要3.2步的复制操作。
According to the programming manual from customer, here need modify 2 parameters, (RoughGain and FineGain), per the below screenshot, the default value is 4&651, not same as the customer requirements. Need change to 3&789. And here only Temp area are enable to modify, but the Image is disable.
3.4  Program EEPROM with Temp:就是将我们刚刚修改好的参数,包括芯片默认的其他参数全部烧录进芯片的EEPROM区域。
Programming the modified parameters into the EPROM of chip.
3.5  Read EEPROM + Verify:也就是将刚刚烧录的内容跟Temp进行比较。至此,完成了所有的烧录操作。
Read the values which was written by step 3.4 from the EEPROM and also compare with Temp.


自动烧录过程:Auto-Programming Process

整个过程跟手动模式是一样的,唯一的差别就在于将这些需要手动点击鼠标以及输入数据的地方,通过调用API函数,由软件自动完成。
The whole process is same as the manual programming, the only difference is to use the software to call the API function, and instead of the click and type actions manually. 
验证的原理:就是将自动烧录完成后的芯片,在手动烧录界面只做最后一步或者只做第一步,也就是读取芯片EEPROM的内容到Image,通过手动烧录软件界面就可以看到数据了。
Principle of Verification: Use the manual programming method to check the actual data from EPROM chip which was already programming by Auto-programming.

结论:Conclusion
通过比较,我们发现自动烧录与手动烧录都能实现两个要求修改的参数RoughGainFineGain的一致性。
显然,仔细比较的话,也能发现除了RoughGainFineGain高度一致外,其他参数并不完全一致。为了比较差异,我们又做了如下比较,我们用手动方式烧录不同的芯片,然后回读比较,发现即使手动烧录,芯片个体之间的数据也并不完全一致。然后自动烧录的不同芯片个体之间也同样不完全一致。
另外,从内容本身来看,比如LotNumber,如果是不同批次的芯片,读取不一致,也是合理的,所以理论上应该是允许不一致的。另外,还有的就是ID值,类似于SN,本来就应该是有独立性的。
After verification, the key parameters are the same as the manual programming method, such as RoughGain and FineGain. Of course, the best way is through functional verification.

iTestGroup为客户提供从工装夹具到烧录器选型以及软件设计一条龙的完整解决方案。有业务需求可联系sales@itestgroup.com,技术交流可联络support@itestgroup.com

iTestGroup】provide the one-step programming solution, include but not limit fixture design, programmer selection and software design. For business query, contact with Sales@iTestGroup.com; For the technical query, such as Melexis chip, PTC-04 API function... contact with Support@iTestGroup.com

<Above is the real case and get the authorization from end user for public release.>


Wednesday, June 7, 2017

【iTestGroup】I2C总线从设备地址冲突



I2C地址
I2C总线是最常用的总线之一。因为它占用的I/O资源少,总线结构简单。I2C总线上设备的关系是"一主多从",所以I2C协议中最重要的一个组成部分是I2C从设备地址。从设备地址有两种格式:7bit和12bit。由于实际使用中基本上不会挂载如此多的从设备,所以很多从设备的地址都采用7bit的格式。但是随着提供I2C接口的从设备种类越来越多 ,不同功能的从设备地址就会产生重叠。

地址冲突现象
主设备无法正常读写总线上设备地址产生冲突的从设备。通过逻辑分析仪分析总线时序,发现主设备每次请求从设备时,总线上就会有两个从设备应答,接下来的时序就乱套了。

地址冲突的原因
人为因素
在从设备选型时没有考虑到从设备地址,选用了两个相同地址的从设备。
非固定的从设备地址
一般从设备的地址经硬件上的配置后,基本都是固定的7bit。但是有一些从设备地址不是固定,如EEPROM存储器CAT24C04 。当读取CAT24C04的地址0xFF以下的数据时,从设备地址为0xA1,当读取0xFF以上的数据时从设备地址为0xA5。当总线上同时挂载了一个时钟芯片PCA8563时,因为PCA8563的从设备读取地址是0xA5,所以这两个器件就会产生了地址冲突。很多人都会只看到CAT24C04的地址是0xA1,而忽略了0xA5,从而造成了总线地址冲突。
不可避免的地址冲突
当工程师门根据项目的需求选型了两个从设备。两个从设备的地址都是不可配置,并且两个从设备地址相同。

解决方法
当从设备地址可配置时
对设备地址进行配置,避免设备地址相同。
当从设备地址不可配置时
使用多路复用器
NXP的I2C总线多路复用器,如PCA9540B是现在市面上最主流的产品之一。工作原理如图 1。


图 1 多路复用器工作原理

使用多路开关
NXP的I2C总线多路开关,如PCA9543A是现在市面上最主流的产品之一。工作原理如图 2。


图 2 多路开关工作原理

归为同一组的从设备地址都不相同,把存在地址冲突的从设备放到另外一组,每次只打开一个开关,主器件每个时刻只能和其中一组设备通信。这样同样可以解决地址冲突问题。
增加一条I2C总线
现在的MCU一般都提供2个以上的I2C接口,如果在从设备地址产生冲突,并且MCU资源有剩的情况下。可以通过增加一条I2C总线来解决地址冲突问题。

iTestGroup】具备众多基于IIC总线的开发经验,如基于IIC总线的TMP75温度传感器、TCS3414颜色传感器等等,在测试测量领域有着众多的应用。自主开发功能模块,能大幅降低测试设备整体成本,也有着更高的灵活性,当然稳定性也有一定的挑战。【iTestGroup】所开发的功能模块大部分为自用,如果有需求,也可以联系sales@itestgroup.com商讨。如果有相关的技术爱好,也欢迎与support@itestgroup.com沟通联络。

<本文转载自周立功微信公众号,如有侵权,请联系admin@itestgroup.com处理>