[求助] 神啊,STM32总是自动复位

pkcfl   2012-6-25 15:05 楼主

芯片:STM32F103C8。

原理图:除了最小系统设计,时钟输入悬空使用内部时钟,另外连了SPI1,I2C1,其余引脚悬空。电源是2.8V。

症状:IAR通过JLINK调试,刚开始能正常调试烧写程序,芯片在调试状态下可正常工作。过一会(十几秒或者几十分钟不等),JLINK会100%连接不上,JLINK的灯由正常的绿色变成橙色,不能下载程序。这时候发现NRST已经变为低电平约0.2-0.3V(这之间的随机值,不固定),这是导致JLINK连接不上的直接原因。无论插拔JLINK或是断电重启,芯片的NRST均为0.2V左右,发现只有用烙铁重新加热NRST引脚(注意是加热,没有虚焊或是短路等焊接问题),重新上电时NRST变为高电平,并可以重新连接JLINK。不过仍旧是只能工作很短时间,NRST就又自动变低。

换过一次芯片,症状没有改变。google或百度过,有人遇到过类似问题,如下。但是没有得到有效解决,原文链接https://my.st.com/public/STe2ecommunities/mcu/Lists/cortex_mx_stm32/Flat.aspx?RootFolder=https%3a%2f%2fmy%2est%2ecom%2fpublic%2fSTe2ecommunities%2fmcu%2fLists%2fcortex%5fmx%5fstm32%2fProblem%20with%20the%20nRST%20pin%20in%20a%20STM32F100CBT6&FolderCTID=0x01200200770978C69A1141439FE559EB459D7580009C4E14902C3CDE46A77F0FFD06506F5B&currentviews=258

Problem with the nRST pin in a STM32F100CBT6

We have a problem with the nRST pin of a STM32F100CBT6 microcontroller. We have been working on the problem for several days and we don’t find out what is exactly the cause of this problem.

The problem lies in the nRST pin. There is nothing but a pull-up 10KOhms and a 100nF capacitor connected on this pin, but the pin does't go high.

For an unknown reason we see an unstable signal on this pin during some seconds, that fluctuates around 2.5 Volts to 2.7 Volts. After a period of 1-10 seconds the reset signal goes to low and remains there forever. The only way to take the microcontroller out of the reset is to force a 3.3V level onto this pin. When the pin is again released, it behaves well during some seconds (3 to 20 seconds), then it starts the fluctuations during some seconds (20 seconds or more) and finally falls again to reset.

Power supply is applied through a linear regulator (LM1117-3.3) to all the VDD and VDDA pins. We have checked pin by pin that the voltage arrives well to all the supply pins. Decoupling capacitors for each power supply pin pair are 100nF and are located very close to the microcontroller (2-3 mm away). Power supply is stable and does not have any fluctuations. It is also accurate, as we have measured a level of 3.37V with an oscilloscope and two different multimeters.

We have built 2 boards with this microcontroller and we have exactly the same problem.

Sometimes the reset signal stays high during enough time to program the microcontroller. The problems happens with the microcontroller erased and with the microcontroller programmed. In the second case (microcontroller programmed) we use HSE and we can see that the crystal clock works properly (8MHz). However, WE DO SEE THE SAME FLUCTUATIONS superimposed to the clock signal. We have checked the PCB and there are no shorts or couplings between the clock lines and the nRST (although we see that they connect to the microcontroller through contiguous pins).

We have also tried to remove the crystal and to run from the HSI Clock (Hi Speed Internal Clock) but the problem with the nRST stays there.

We have tried to remove the capacitor and the pull-up resistor, and the problem is the same, although the fluctuation levels are a little bit lower

We have the IWDG disconnected and the only thing that is now soldered on both boards is the microcontroller and the regulator (with its decoupling 470uF capacitors and the input and the output of the regulator)

The ONLY way to make the system go out of reset is to make a short-circuit (a 56 ohm resistor) between the nRST pin and the 3.3V voltage rail, but we cannot then reprogram the device (our JTAG cannot make the nRST pin low under these conditions).

We are looking desesperately for a solution. Please help us.

回复评论

暂无评论,赶紧抢沙发吧
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复