47

Clock errors are not corrected, they are compensated in two steps. 1. Error determination The GPS control segment uses reference receivers in well known locations to determine the actual orbital elements and the clock error of space vehicles. The reference for position is the WGS84 reference frame, for time it is the international atomic time. Even the ...


18

UART timing for asynchronous data relies on knowledge of the data rate and having a clock that is typically 16 x faster. The top half of the picture shows how data is re-synchronised and the bottom half shows a badly synchronised system (13x clock rate) just as an example: - In the absense of any data edges, the correctly timed clock can sample the data ...


15

A GPS receiver creates a local replica of something called "GPS system time", which is a virtual timebase created from all of the clocks on the satellites and ground stations. This replica is integral to the process of coming up with a navigation solution, which is based on measuring the signal delay from each satellite to an accuracy on the order of ...


10

Question 1: is there a method to do sampling correction/syncronization between the microcontrollers? Can you suggest a literature in this topic? All STM32 ADC are capable of using an external trigger to initiate sampling. You can distribute a 100 KHz clock and use that to trigger the conversions synchronously. This is the easiest and most reliable method, ...


8

The simple answer is that they don't on their own. The synchroniser is there not to ensure the data gets across, but the ensure you don't end up with metastable signals feeding lots of other signals and causing problems. The second FF as the diagram shows catches the metastable first FF output and prevents it propagating further through the design. There ...


8

I am not fond of encoding command data as an analog signal in a digital file. I think I would try something like encoding the lighting commands as text blocks in the lyrics block of the ID3 information inside the mp3 file. The lyrics block is before the sound data, so you should be able to decode it quickly before you start playback. Typical libraries for ...


7

For the most common asynchronous serial communications the protocol requires the transmit and receive ends to agree on the data signalling rate and the data format. Format being an agreement between ends as to number of bits to expect from start bit through stop bit. Knowing this the receiver just has to synchronize itself on the leading edge of the start ...


7

I will preface this answer by saying that, at this time, I have no practical experience with power generation. The following comments are from stories I have listened to and documents I have read. You should not rely on any of this information while doing serious engineering work. With that disclaimer out of the way... The answer of "how do you synchronise ...


7

Pretty much all solar/wind/fuel cell inverters use a software phase-locked loop. I have designed a number of such converters, both single-phase and three-phase. The PLL determines the grid frequency and angle. Your power converter then utilizes the data to produce the appropriate amount of real and sometimes reactive power. A good starting point for ...


7

An "atomic clock" comprises two major subsystems: a precision oscillator controlled by a feedback mechanism that's based on some quantum-mechanical phenomenon, and a digital counter/display subsystem that shows how many cycles of the oscillator have occurred so far. The relative oscillator phase in multiple units can be measured; there are papers at NIST, ...


6

say you have a clock at location A. How do you synchronize it with a clock at location B, which is far away from A? You can do what NTP does. Roughly speaking, send a request for current time at the moment \$t_0\$ the server receives your request at \$t_1\$ and sends you a reply at \$t_2\$ receive the reply \$T\$ at the moment \$t_3\$ set your time to \$T+\...


6

As you already understand, your traffic light controller state machine is a synchronous machine. That is, it is driven by some clock in such a way that all combinatorial logic changes happen and settle out to stable values long enough before the next clock edge to meet the required set-up times. simulate this circuit – Schematic created using ...


6

UARTs (rs232) have a start bit (0) and a stop bit(1). see Andys diagram. But they use wire, and the noise is very low -basically none. On a noisy link, this works very badly. If the start bit is wrong, everything after it is wrong, and stays that way. Radios don't generally do this, they more likely have a preamble which is has a warm up burst of 1/0's for ...


6

Using an auxiliary DSP for decompression may make this difficult unless you limit yourself to constant bitrate files - if you need high time accuracy of the light events you may need to account for the processing delay from when you put the data in until the sound comes out, which would be different at different bitrates. Possibly you could work around a ...


6

I once developed an application in which arbitrary events could be triggered by audio watermarks embedded in the sound. You could play the sound through tinny unamplified computer speakers at one end of the conference room table, and my demo box sitting at the other end would turn on LEDs at exactly the correct moments. It was efficient in the sense that ...


6

Both of these work on the idea that there is at least some delay in the sample loop of the slaves, which could be adjusted to make the slowest slave catch up with the fastest. That is, that there's a software timer which triggers an individual capture of the ADC. Pure software You could read about the Network Time Protocol, and borrow/adapt as much of it ...


5

Yes, GPS is used for exactly that purpose pretty often. GPS receivers often emit a sharp pulse-per-second signal. Together with the current GPS or UTC time that you can query through the usual means (serial port NMEA messages), that allows for a synchronized understanding of absolute time. For example, the Ettus USRPs (SDR devices) of all but the tiniest ...


5

is there a method to do sampling correction/syncronization between the microcontrollers? Can you suggest a literature in this topic? So, you'll need to synchronize their sampling clocks. That requires keeping the core frequencies of the MCUs identical and marking a common start point in time. The first one can be managed by distributing an oscillator to ...


4

I have done this with multiple 500KVA truck mounted machines on a festival site back in the day, if goes something like this: Set the no load voltage of the two machines to be within a volt or so. Set the idle speed of the two machines to be within 1/4Hz or so. Set the droop percentage for full load such that when both machines are at full load the voltage ...


4

There are usually two causes of this: The bus terminators are not installed. The 120 Ω terminators at each end of the bus perform two functions: Absorb the energy that would otherwise be reflected by the open end of the cable. This is particularly important on long busses and at high bit rates. To keep the bus in the recessive state when it is not ...


4

Simply because the system is more than good enough to do what's asked of it. The power is low, but it's enough for a sensitive receiver with a clear view of the sky to reconstruct with high reliability. In fact, it's not just good enough that a receiver can decode and synchronize to the bit pattern, as the original design intended; it's good enough that a ...


4

First, synchronize all of the devices to a common timebase using NTP, PTP or GPS, depending on your actual accuracy requirements (on the order of ms, µs, or ns, respectively).1 NTP should be sufficient for "a window of 10 ms". Your command packets should include both the action to be performed along with a timestamp (a short time into the future) ...


3

DC Sources: I think you look at each generator as if it is a DC battery. You can connect two DC batteries in parallel if they have the same voltage. Because they are DC. They provide direct current. What if the voltage of one battery is greater than the voltage of the other battery? Current moves from the battery that have higher voltage to the battery ...


3

The data is not packetised on the wire (unless you're using USB-serial), so there is absolutely no guarantee that the data will stay together in any particular way. If you "drain" the input and wait for incoming bytes to stop, then you can be fairly sure you've got all of it that was sent, and you can work backwards from the end. Unless one of the bytes in ...


3

The first FF is not always metastable. Assuming that input edges are uniformly distributed with respect to its clock, the first FF has a certain probability of going metastable that is related to the clock period and its setup/hold time requirements. If it does go metastable, it resolves itself within some amount of time — the probability of remaining ...


3

One problem with asynchronous designs, is the presence of race or hazards. Say for example in this circuit, let A = 1, B = 0 and C = 1 initially and so D is stable and settled at 1. Now let B changed to 1 and C changed to 0 at the same moment. Its obvious that D will remain at 1. But in real circuits, propagation delays and wire delays matter. Hence it is ...


3

I have two ac souces (sic) one being the electrical wall outlet and the othee (sic) being an inverter that will go to zero volts, ... I don't know what "will go to zero volts" means but read on ... ... and both at 60hz. That will be 60 Hz nominal. The mains frequency will drift and so will the inverter. How do I sync the inverter to the wall outlet? ...


3

No, the Quebec's grid is isolated from the rest of the North American continent. This is due to the historical decision to make sure that Quebec is 100% independent in terms of energy production. This also mean that Quebec is capable of rebuilding its network in case of a total black-out because Hydro-Quebec regulate the voltage of its grid and the ...


3

From this document: "Most Tektronix oscilloscopes also provide a discrete output that delivers the trigger signal to another instrument—a counter, signal source, or the like." It's probably on the back of the scope, and you may need to read the manual to get it working right. If you were operating at 100MHz I'd also caution you that there's probably some ...


3

I'm not sure what it is exactly that you want to "calibrate", but I worked on a very similar project several years ago, and came up with a scheme that worked fairly well for us. In our case, we had a GPS receiver providing position fixes and a 1 PPS signal to our processor, and we needed to be able to precisely interpolate 5 ms intervals (200 Hz) from the 1 ...


Only top voted, non community-wiki answers of a minimum length are eligible