Comparative technical support with tortuous tricky technical problems
I contacted both Maxim and Cypress tech support since I was long convinced that it was some interaction between the micro and the watchdog and I knew negotiating between two organizations could prove problematic. Maxim replied quickly, but I am afraid there is not much good I can say after that. Their opening gambit was that the push-pull output of the MAX824 could not drive a pullup resistor and I should switch to an open collector device. Seriously? After that I should have known better than to continue. After verifying that we indeed had genuine Maxim parts, the applications engineer implied that I wasn’t using the /RST and RST as outputs and that they are only outputs. More fool him - the data sheet explicitly states that the reset pins are bidirectional. He also kept circling round and asking questions that I had provided details on already. He also said there couldn’t be a problem because “The MAX824L is available for more than ten years and customers have very good experience with the MAX824L. ” He ended by saying that since the MAX824 works when not connected, the problem had to be with the PSoC. I felt frustrated and that I was wasting time going round in circles, so I abandoned any further interaction.
Let’s contrast Maxim’s support with Cypress’. Cypress took a little longer to respond, pending the assignation of an appropriate applications engineer. I provided the same information to them. They suggested several tests and after some interaction they found the solution. Before I get to that I should point at the attitude - I felt quite impressed to see this as the signoff in one of the emails “Assuring you that the issue will be resolved soon.” Whilst recovering from a medical procedure (you do get a regular colonoscopy don’t you?- see el Magnifico’s “The worst is behind you…”) I saw in an email from Cypress - “Also please note that the recommended decoupling capacitor on the VCCD pin is 1uF. But in your schematic we are seeing 10uF (C11) capacitor on VCCD. Please make a change.” Fat chance, I thought. I have seen many discussions about the correct values for decoupling capacitors using values from 0.1uF to 0.01uF and then adding a tantalum for bulk storage, and with the advent of microfarad values of ceramic capacitors it is even possible to merge the two requirements into a single capacitor. The value seems to be largely irrelevant. However, the PSoC data sheet is quite specific and in earlier designs I had used a 1uF at this node, but somehow I had changed it to 10uF. As you can guess from my tone, it was the solution, but why?
This is my interpretation. “Decoupling” is perhaps a bad descriptor to use for this capacitor. VCCD is in fact the internal regulated 1.8V supply. Cypress tells me that the value is critical because “If this value changed, it effects stability of internal regulator and causes unexpected behavior of the device.” Nowhere in Cypress’ documents does it say that XRES is only an input - jumping to conclusions is the only exercise I get.
It seems to me that the unexpected behavior is based in the time taken to reach voltage stability. It also seems to me that perhaps the voltage startup is initiated at the end of an input reset signal. When the watchdog /RST of the watchdog goes inactive the signal goes positive and the PSoC starts its internal voltage generation. After 34us it sees a failure because the capacitor is too large, delaying the voltage startup. As a result it pulls the XRES line low, re-initiating the watchdog. The lower threshold voltage of the MAX234R would allow the PSoC more time for the VCCD to stabilize, and hence the discrepancy in the way the different threshold voltages work. On reading this a second time, there are some issues with this interpretation vis-à-vis some of my observations, but Cypress’ words “unexpected behavior” probably mean that I am never going to get closer to a complete answer.
At the end of this I didn’t feel like “hooting and hollering” (as His Majesty suggests in his original blog), and there definitely were several sleepless nights. Rather, in addition to relief in solving the problem (maybe understanding and not having to modify the PCB to boot), I felt inadequate in that I hadn’t solved the problem and sheepish since it was self-inflicted. But worse was the feeling of frustration in dealing with tech support and getting nowhere. It is a pleasure when some companies get support right. Thank you, Cypress!
Full disclosure: My employer is a Cypress Design Partner. I blog, sometimes about the PSoC, and as a long time user of Cypress tech support, I may be recognized when I submit a query.