Maker Pro
Maker Pro

crystal, oscillator problem ?

Working with this radio transmitter MAX41460. It is supposed to output a signal on its CLKOUT pin for the MCU to interrupt on and shift out radio bits. It works fine when MCU (ATTiny88) runs at 2 or 4 MHz from its internal RC oscillator, but that is too slow for the workload.
8 MHz would be perfect, however it causes the radio transmitter not to output its CLKOUT signal any longer. Sometimes it does and it dies after some 5 - 10 oscillations. Now, the transmitter runs off of an external crystal, 16 MHz, 12 pF without additional caps on its sides, as per datasheet recommendation. Could this have anything to do with the clkout staying silent / dying ?
 

Harald Kapp

Moderator
Moderator
There are 3 ways to control the oscillator of teh MAX41460:
1. Sending a wakeup pulse for MAX41461–MAX41464 in the preset mode, or
2. Writing to device I2C address for MAX41461–MAX41464 in the I2C mode, or
3. Pulling CSB pin low on the MAX41460.
Which one do you use? Does the oscillator show the same behavior when you use the CSB=LOW method?

Are both chips (µC and MAX) appropriately buffered by bypass capacitors? The µC will draw more power when operated at 8 MHz than when running at 2 MHz. This increased power may lead to voltage dips on the power supply which in turn may influence the MAX. Decoupling Vcc by a small ferrite may also help, one ferrite for each chip.
Do you have a solid ground plane in place?
 
Hello Harald,

I am using the 3rd way. The other two are for different chips anyway (excellent datasheet...). There are 100 nFs bypasing both the uC and the MAX. Perhaps not enough storage capacity ? There is no oscilloscope on my bench :(.

Same behaviour observed when supplying power from both ISP programmer or batteries. Yes, there is a GND plane on the bottom layer (2 layer PCB) , especially solid around the IC2 transmitter.
 

Attachments

  • Screenshot_20211026_134608.png
    Screenshot_20211026_134608.png
    439.9 KB · Views: 2

Harald Kapp

Moderator
Moderator
The 100 nFs are goof for high frequency. Are there also some larger electrolytics for higher energy storage on the PCB? If not, try a 100 µF across the µC's supply pins.

In some cases it helps to add a combination of different ceramic capacitors (e.g. a 100 nF, 10 nF and 100 pF) to reduce the impedance across a broad spectrum of frequencies, but I doubt this is the case here.
 
Tried with 47 uF, 100 uF, 220 uF accross the uC power input, no joy. One of the caps even made things worse (probably high ESR, it has been on the shelf for years). Also tried adding 3.3 nF + 15 pF in parallel to the transmitter's 100 nF bypass, no joy either.
As a sidenote, typical transmitter current in my case is 13 mA while the uC draws some 2.5 mA at 8 MHz and around 1.5 mA at 4 MHz.
 

Harald Kapp

Moderator
Moderator
There is no oscilloscope on my bench
How do you verify then the operation of the oscillator in the MAX?
Try to isolate the problem:
- is it due to an issue with the MAx and its circuit?
- is it due to the µC and its circuit?

To isolate the first, keep the µC in permanent reset, then check the operation of the oscillator in the MAX. You should have an oscilloscope for that.
To isolate the second, once you have verified the MAX operates correctly standalone, Try to get the communication between MAX and mC up and running using simple test routines, don't throw the full software package at it. Have a close look at your interrupt handling. Maybe the clock is operating but your interrupt handler isn't?
 
I asked Max. Int. support last week; no answer:

I have finally weeded out that really simple code and made it work in sync mode. At least at room temperature...
For 2 and 4 MHz it works fine when PWDNMODE is 0x2, however it won't work too well (sometimes not at all) with the exact same code but at 8MHz. CLKOUT just stays silent. We have discovered that it can work at 8 MHz too only when PWDNMODE bits are set to 0 (shutown state). Any hints on that ?

So, in case anyone out there is struggling, try changing PWNMODE bits.
 
Top