Breaking News
Blog

RC Receiver Project: When & How to Access/Measure a Signal?

NO RATINGS
View Comments: Newest First | Oldest First | Threaded View
antedeluvian
User Rank
Author
Comparator
antedeluvian   8/13/2014 11:13:12 AM
NO RATINGS
Adam

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.

antedeluvian
User Rank
Author
Timer/Counter
antedeluvian   8/13/2014 11:02:38 AM
NO RATINGS
Adam

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.

arshs
User Rank
Author
Alternative solution
arshs   8/13/2014 10:55:22 AM
NO RATINGS
Hi,

 

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
Author
I'm thinking...
Max The Magnificent   8/13/2014 10:40:30 AM
NO RATINGS
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.

Most Recent Comments
michigan0
 
SteveHarris0
 
realjjj
 
SteveHarris0
 
SteveHarris0
 
VicVat
 
Les_Slater
 
SSDWEM
 
witeken
Most Recent Messages
9/25/2016
4:48:30 PM
michigan0 Sang Kim First, 28nm bulk is in volume manufacturing for several years by the major semiconductor companies but not 28nm FDSOI today yet. Why not? Simply because unlike 28nm bulk the LDD(Lightly Doped Drain) to minimize hot carrier generation can't be implemented in 28nm FDSOI. Furthermore, hot carrier reliability becomes worse with scaling, That is the major reason why 28nm FDSOI is not manufacturable today and will not be. Second, how can you suppress the leakage currents from such ultra short 7nm due to the short channel effects? How thin SOI thickness is required to prevent punch-through of un-dopped 7nm FDSOI? Possibly less than 4nm. Depositing such an ultra thin film less then 4nm filum uniformly and reliably over 12" wafers at the manufacturing line is extremely difficult or not even manufacturable. If not manufacturable, the 7nm FDSOI debate is over!Third, what happens when hot carriers are generated near the drain at normal operation of 7nm FDSOI? Electrons go to the positively biased drain with no harm but where the holes to go? The holes can't go to the substrate because of the thin BOX layer. Some holes may become trapped at the BOX layer causing Vt shift. However, the vast majority of holes drift through the the un-dopped SOI channel toward the N+Source,...

Datasheets.com Parts Search

185 million searchable parts
(please enter a part number or hit search to begin)
Like Us on Facebook
EE Times on Twitter
EE Times Twitter Feed