sballbobo 发表于 2013-7-9 22:21:39

LGT使用过程中的几点问题及解决

第一次使用LGT,在开发过程中遇到一些问题,现列出来,让大家有个参考,同时也让自己有个备忘。
一些问题是自己研究解决,大多数问题是坛里网友及LGT技术人员帮忙解决。

芯片是08A-sop8

1:IO口问题:第一次在用的时候,无论用手碰到哪一个脚,都会引起复位,而且机率非常高,大约大于80%。因为临时做的电路板,包括烧写部份,然后直接用电脑的USB接口供电以及烧写。后来想想会不会电脑机箱的静电引起的复位。在电脑机箱上拉了一根线,直接到金属自来水管上,复位基本上没出现过,但偶尔碰第五脚(VCC/RST)还是有复位的现像,机率约小于5%。看来LGT的抗干优可能需要加强一下。因为这样用USB供电写程序,我是一直以来都这么干的,其它的芯片一直没出现过这个问题。

2:读IO口问题:读IO口复位的问题,大家可能都遇到过了。我也同时遇到,按手册和大家的方法写程序。我接的是一个按键,按键有时操作快了,还是会有复位的现像,但机率非常小。因为现在这个项目对按键的操作不会太快,而且就算复位,也没关系。因为按键只会在工厂模式下有效,有用户手上的产品,是没有按键的。我的程序如下:
   i=PANx;
asm("nop");
asm("nop");
if (i=xxxx);
为了保险,我上面多加了两句nop;估计意义不大,对时序要求高的没必要加。

3:IO口设置问题:在设置输出输入状态时,DDR寄存器设置,必须将不用的脚设为输入,否则有可能不正常。没研究清楚,反正自己按平时的写法,为了方便,同一组PORT口,不用的我也会跟其它的一样,如DDRA=0xff,也许我只用A.7位,这时我为了方便,其它位都是一样。这个可能与SWD功能有关联。因为在08A中遇到的问题,是SWD复用的PC6,PA6不正常,其它的正常,当正确设置SWD位时,其它不用的口设为输入状态。不用的口,不一定是指空脚,也指芯片中没有的脚。如08AB端口只有PB2,那么设置时写为这样:DDRB=0b00000100,假设PB2为输出。

3:SWD位的问题:SWD位如果要关闭,必须要连续写两次数据,手册说是4个时钟周期内。反正连续写两次就对了。SWD位要关闭,对应的IO口才能使用。

4:时钟设置问题:在设置时钟时,如需要外部时钟,又需要EEPROM的系统,一定要开启外部时钟,同时不能关闭内部时钟,因为EEPROM的时钟是由内部时钟提供,关闭后则EEPROM不正常,其它芯片内置的硬件功能,是否由内部时钟提供时钟信号,一定要看清楚手册,否则相应功能会不能工作。为了保险起见,在选用外部时钟时,同时也保持内部时钟启动,应该就没什么问题了。问LGT技术,说不会有不良影响。

5:VCC引脚问题,08A-sop8封装,第5脚ACC与RST复用,在烧写时,第2脚作为VCC。这就引起一个问题量产产品中,如果第2脚有一个高电平信号,芯片就能有电启动了。所以大家在使用时,硬件上尽量将这个脚作为输出使用,并保证这个脚没有倒灌电流输入,否则芯片会无缘无故启动起来了。如果硬件上无法避免,则在这脚串拉一个大的限流电阻,具体阻值需要多少,我没有实险过,反正大到不够芯片启动的电流就行。

6:ISP烧写EEPROM数据,暂时只试过一次是成功的,然后一直没成功过了。这个原因不清楚,因为现在产品中用不到这个功能,所以也没时间去解决,有空再研究,或谁知道原因的,也告诉我一声。我想有可能是系统电压的问题,因为现在我用5V。

7:电源电压,这个芯片用的是1.8-3.6V的电压,这个大家一定要注意了,我没细心看手册。但我现在一直用5V,已经用了一个星期了,没发现有什么奇怪的问题。



暂时问题就这么多,以后使用中遇到什么新问题,继续发上来。大家在使用中遇到什么问题的,也一起整理到这里。一能让其它网友可以在这里查找解决方法,二能让LGT公司继续改进芯片,越做越好,越做越强大。


LGT 发表于 2013-7-9 22:44:02

非常感谢你细致的总结!
对于第一点, 目前的SOP8封装的VCC其实并没有封装出来, 而是用RST脚供电。
这个SOP8是专用于一个VUSB的项目,所以才有这样怪异的封装。 其他封装的08A, 不会有你说的复位现象。

第二点, 也是和你说的复位有关, 你的程序:
i = PINX
if(i == xxx) 中, i 的定义一定要是volatile unsigned char这样, 否则编译出来还是可能有SBIC/SBIS指令, 这种指令才是
导致容易复位的最大可能原因。
另外, 你也可以搜索下编译出来的代码, 看看有没有SBIC/SBIS指令。

非常感谢你对我们的鼓励, 我也建议你试用新的LGT8F88A, 这个芯片的已经完全修复了之前的BUG, 并且I/O的ESD,
抗干扰都是能达到工业级的水准。

renpeng009 发表于 2013-7-10 00:48:35

LGT 发表于 2013-7-9 22:44 static/image/common/back.gif
非常感谢你细致的总结!
对于第一点, 目前的SOP8封装的VCC其实并没有封装出来, 而是用RST脚供电。
这个SO ...

LGT8F88A 的IO太多了,来个同样是8PIN的就好了

ycheng2004 发表于 2013-7-10 09:38:47

renpeng009 发表于 2013-7-10 00:48 static/image/common/back.gif
LGT8F88A 的IO太多了,来个同样是8PIN的就好了

+1
                                       

xwkm 发表于 2013-7-10 15:14:13

LGT 发表于 2013-7-9 22:44 static/image/common/back.gif
非常感谢你细致的总结!
对于第一点, 目前的SOP8封装的VCC其实并没有封装出来, 而是用RST脚供电。
这个SO ...

我老早就写过一个修改版的头文件。加入inline函数解决这个问题了。

liujian6f 发表于 2013-7-10 17:55:00

renpeng009 发表于 2013-7-10 00:48 static/image/common/back.gif
LGT8F88A 的IO太多了,来个同样是8PIN的就好了

+1                                                                        

sballbobo 发表于 2013-7-11 03:09:59

看122,回5,大家看帖不顶帖,呵呵.

sballbobo 发表于 2013-7-11 03:11:32

LGT 发表于 2013-7-9 22:44 static/image/common/back.gif
非常感谢你细致的总结!
对于第一点, 目前的SOP8封装的VCC其实并没有封装出来, 而是用RST脚供电。
这个SO ...

IO口这个真没注意.我改用你的方法试试.88A能尽快有SOP8封装就好了.还有,大约什么时候推出?引脚与08A一样吗?如果一样,我可以先出产品.如果不一样,推出时间短的话,可以等等.

chen1986sl 发表于 2013-7-31 22:59:29

   出了SOP8后 IO复用 又和08A一样。。 有点纠结。。
页: [1]
查看完整版本: LGT使用过程中的几点问题及解决