Embedded Systems Conference
Breaking News
Newest First | Oldest First | Threaded View
User Rank
antedeluvian   8/13/2014 11:13:12 AM

This general approach seems to be the simplest, but I have never used a comparator before. ... In concept, comparators appear to be simple, but are there any things that make them not as simple as they may seem?

Comparators are indeed simple to use. The only area of concern is when the signals are close in value (or you have a very slow rising/dropping waveform). You can get a chatter of the output in that region. A hysteresis technique is usually used to stop this. If the STM32 has internal comparators you could achieve this in software by driving the one comparator input with a D/A and when the switch occurs, modifying the D/A value up or down as necessary. Traditionally though the output is fed back through a network of resistors to shift the comparator input voltage slightly. Here is an Analog Devices app note on the subject. Google "comparator hysteresis" for more.

User Rank
antedeluvian   8/13/2014 11:02:38 AM

Option 1
The Si4704/05 has a digital audio output signal that I could take into my STM32 chip. The problem with this is that the max equivalent audio output rate from the FM audio chip is 48 kHz. I need to time a pulse that is 1 ms second long, so I will only have ~48 counts of resolution. This is just not enough. I could attempt to offset this by essentially curve fitting the output from the FM audio chip in the STM32 and then processing this signal

Forgive me if I am about to describe a technique that you have already described or have discounted. You could set up an internal counter with as fast a clock as you like. Then use the digital audio output signal to gate the counter so it only counts while the signal is high. You could get a much better resolution that way. With flip flops you could make it edge sensitive or counters for both the positive signal and the negative signal would allow you to measure between successive positive (and negative edges). I do hope the counters in the STM32 allow for this.

{Added after 5 minutes} I see arshs has provided the same solution while I was typing.

User Rank
Alternative solution
arshs   8/13/2014 10:55:22 AM


There is another alternative that I have implemented in the past for exactly the same situation.

You can use a Timer Input Capture function to capture the rising and falling edges of the digital pulse signal. Depending of the Timer time base, you can have a very fine resolution.

The Input Capture function from the timer "captures" the Timer count at the moment of the rising and/or falling edge. Usually, an interrupt is generated and the captured value is saved in an array for post processing.

After the message has finished transmitting, the array of counts (times) contains a series of times that is a representation of the 1's and 0's of the message. You would need a function to convert the times to bits (based on the bit rate or time per bit), and recover the message.


If the data output signal from the transceiver is square wave 0V to 3V amplitude, you don't need a comparator, because the signal can be connected directly to a MCU pin (a pin with input capture alternative function). Otherwise, the comparator is required to convert the transmitted signal to the right levels.


Max The Magnificent
User Rank
I'm thinking...
Max The Magnificent   8/13/2014 10:40:30 AM
I'm thinking the comparator is a good idea -- you could use transitions on the output to generate interrupts to start and stop a background timer in the MCU -- thereby freeing up the MCU for other tasks.

As data rates begin to move beyond 25 Gbps channels, new problems arise. Getting to 50 Gbps channels might not be possible with the traditional NRZ (2-level) signaling. PAM4 lets data rates double with only a small increase in channel bandwidth by sending two bits per symbol. But, it brings new measurement and analysis problems. Signal integrity sage Ransom Stephens will explain how PAM4 differs from NRZ and what to expect in design, measurement, and signal analysis.

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Like Us on Facebook
Special Video Section
The LTC®6363 is a low power, low noise, fully differential ...
Vincent Ching, applications engineer at Avago Technologies, ...
The LT®6375 is a unity-gain difference amplifier which ...
The LTC®4015 is a complete synchronous buck controller/ ...
The LTC®2983 measures a wide variety of temperature sensors ...
The LTC®3886 is a dual PolyPhase DC/DC synchronous ...
The LTC®2348-18 is an 18-bit, low noise 8-channel ...
The LT®3042 is a high performance low dropout linear ...
Chwan-Jye Foo (C.J Foo), product marketing manager for ...
The LT®3752/LT3752-1 are current mode PWM controllers ...
LED lighting is an important feature in today’s and future ...
Active balancing of series connected battery stacks exists ...
After a four-year absence, Infineon returns to Mobile World ...
A laptop’s 65-watt adapter can be made 6 times smaller and ...
An industry network should have device and data security at ...
The LTC2975 is a four-channel PMBus Power System Manager ...
In this video, a new high speed CMOS output comparator ...
The LT8640 is a 42V, 5A synchronous step-down regulator ...
The LTC2000 high-speed DAC has low noise and excellent ...
How do you protect the load and ensure output continues to ...