Maybe your concern about to use a separate processor in order to implement USB host funcion shouldn't be so rigid. One such microcontroller with a reduced number of pins (28) is the Microchip PIC24FJ64GB002 with USB OTG. One advantage is that would be easy to change the firmware by yourself. The next level (useful for you since no user code is required - ...
It seems crazy to have a whole dedicated processor to connect to that FTDI device just to get the serial data back out.
Unfortunately, that's the only way to do it. The Vinculum is just a microcontroller that has a USB host interface. There's no alternative to doing all the enumeration and polling process required to read USB.
Original 8051 CPUs tend to use 12 clock cycles per instruction. Therefore it can use 12 clock cycles per instruction, to instruct internal logic gates in a 12-step sequence according to the opcode to select the immediate value from opcode operands onto internal data bus, and store it into some register, which is register A as instructed by the opcode.
MIPI-DSI is a specialized interface intended to drive displays (Display Serial Interface).
It has low-voltage high-speed differential signaling with a low power mode where the differential signals are used in common-mode.
Very few conventional microcontrollers support MIPI-DSI and even fewer support bidirectional capability.
The equivalent interface for ...
Seemingly you expect something which has 5 separate outputs which can be activated one at a time by pressing buttons 1...5 on an IR remote controller.
The others have tried to say that this is possible, in theory such IC can exist. But you must have a remote controller designed just for that IC. Generally the codes used in remote control systems are complex ...
There is such a wide range of needs for IR remote control that there are very few or probably zero devices that receive and decode IR remote control signals.
You will need to do it with a microcontroller.
Do you have an IR transmitter?
It's been a couple of years, but I believe that one can build a MicroBlaze with or without hardware floating point. If I remember correctly, without took 3 DSP48x blocks and with took 6 DSP48x blocks. I think when you build it, it sets the switches so that the compiler knows what it has.
Part of the decision process in design was how many BRAM blocks to ...
The loop waiting for the timer is run not at all, if TF0 is not set, or only once, because it resets the flag TF0 right in the first iteration:
while (TF0 == 1)
TR0 = 0;
TF0 = 0;
Instead, reset the flag and then wait for it to be set by the timer:
TF0 = 0;
Parallel connection and increasing total Ah (batteries are from different manufacturers).
That's a really bad thing to do. You should never connect batteries / battery packs in parallel unless you REALLY know what you're doing and then the batteries should be of the same model and preferably of similar age and wear level.
If you ignore this advice and do it ...
What are the actual numbers like in terms of power dissipation?
Below are a series of diagrams I produced when investigating crystal oscillator power dissipation changes versus external drive resistance (R1) and loading capacitor (CL1 and CL2) changes. The equivalent circuit is a good place to start before jumping into the actual power dissipation: -
It's a known fact that the oscillator needs a minimum (critical) current to start and maintain the oscillation.
What are the actual numbers like in terms of power dissipation?
Eric Vittoz explains this quite well in his paper about oscillator design. I'll not dive into the technical details but only the result.
The critical conductance for the oscillator ...
<10 pF are common now with high accuracy are preferred for the reasons stated.
Then learning how to compensate for Cin and Cgnd stray capacitance are more important. leaving out a gnd underneath reduces stray capacitance to gnd.
Generally it is wiser to use an XO rather than an X with caps as the cost is reasonable, or if you prefer accuracy of 1 to 2 ppm ...
Thanks to glen_geek I have managed to conclude that the PIC16F15345 do not allow for different frequencies on different PWM-modules running in parallel. The PIC16F1574, which glen_geek refers to, can do this by varying phase and offset per PWM-module. Furthermore, the clock source/prescaler can be selected per PWM-module.
Although this is not a direct answer to your question, here is another way to get a measurement by the more general method of curve fitting.
We start by using a generic sine equation which includes amplitude a, phase c and frequency b and time x.
g(x) = a \cdot sin(b \cdot x + c)
Assuming harmonics and other disturbances being normal distributed, we ...
(1) The OP's relay is opto-isolated, Low level triggered, JD-Vcc jumpered.
(2) To trigger the relay, a Low level signal is used to sink around 5mA to GPIO pin.
(3) The GPIO pin should be able to sink 5mA without any problem. In other words, it is not necessary to increase current using NPN BJT 2N2222, or Darlington ULN2803.
(1) How to ...
I would use a bipolar transistor with its collector to the right terminal of the on/off switch.
Emitter to ground. And a resistor to the base that is driven by an output from your MCU.
Set the signal high to turn power off.
Ensure that the transistor does not get turned on during the power-up and initialization of the MCU.
When is a MOSFET more appropriate as a switch than a BJT?
Answer: 1) a MOSFET is better than a BJT when:
When you need really low power.
MOSFETs are voltage-controlled. So, you can just charge their Gate once and now you have no more current draw, and they stay on. BJT transistors, on the other hand, are current-controlled, so to keep them on you have to ...
The Power OK line tells you if both Power On and AC Good are OK. So that's the one you want.
It can sink up to 100mA, which is more than enough for a small indicator LED. Remember that low is OK, high is not OK. So wire the LED between 5V and the signal output.
The relay module requires a 5V powersupply to operate. Simply switching the inputs will not operate the relays with out that 5V power source.
You do not need R12 for your TSR1-2450 switching regulator. It can handle loads up to 1 ampere and input voltage up to 36V.
You don't need D4. It is redundant. D3 is all you need as a reverse polarity protection.
There are several reasons for using a gate resistor, like:
Damping ringing between wire inductance and gate capacitance;
Slowing down the switching transition and preventing spikes (will also help with EMC);
Reducing the gate drive current spike to a level the microcontroller can safely handle.
If any of these apply for your application, you must use a ...
Source code in C for 8051 is always compiler specific. One reason is the crazy addressing space (data, idata, pdata, xdata, and no, I am not making this up).
Thus you always need to know which C compiler you want to code for.
Each Compiler call usually needs quite a lot of command line arguments - e.g. in order to select the correct MCU and memory model. ...
There are quite a few parts to make the magic of programming a microcontroller work.
Your development toolchain (compiler, assembler, linker etc) translates your program from source code to a series of machine instructions which will be stored on the microcontroller.
The micro controller normally stores the program in flash memory (UV erasable and one-time ...
Depending on the vintage of the microcontroller, it's equipped with either UV erasable EPROM in a ceramic package with glass window, 'one time programmable' EPROM in plastic packaging (for production) or Flash memory (typical of most current devices). Some can even be bought with mask programmed ROM for high qty manufacture.
Some programmers support various ...
First things first...do you understand how a one-time programmable fusible memory works? Like if I had a billion little wires and each one I choose to connect to either +V for a logic HI (ONE )and GND for a logic LO (ZERO), do you understand how that stores a program in itself of ones and zeroes? You could take a voltmeter and for each wire you could measure ...
Program code is stored in microcontrollers ROM memory (in this case flash). Stored data in such memory is retained after power-off.
Your microcontroller has 14KB of flash memory, there code resides after programming.
This memory is based on MOSFET structures, which retains data after power is disconnected. For more information on how flash memory works I ...
The PIC includes a type of nonvolatile memory called "Flash EEPROM". When you "send your program to the microcontroller", the special adapter is in fact programming your code into this memory. The physical memory is a special kind of transistor with a floating gate that can store a charge more or less indefinitely, even with no power ...
Possibly it might be this: -
The above implies that the transmission has a word length of 7 bits plus a parity bit. But, you have parity disabled (none) and so it might only be transmitting 7 bits followed by the stop bit (always 1). That could give your PC the impression that the stop bit is a data bit and that it is high. Have you tried setting your PC to ...
You'll have a pull-up of 4k7 || 10k = 3k2.
The open drain pin will have to handle a maximum current of V / R = 3.3 / 3k2 = 1 mA.
In open drain pin's device datasheet it was mentioned that open drain pin as input will handle max of 10 uA.
This sounds as though you are mis-reading it. It doesn't "handle" a current but may source or draw up to 10 μA....
You have not correctly wired the CP2102 for USB operation.
Among multiple possible issues:
the required connection of the VBus input is missing, which prevents the chip from placing the virtual enumeration resistor. To quote the data sheet "VBUS Sense Input. This pin should be connected to the VBUS signal of a USB network. A 5 V signal on this pin ...
In addition to everything that you have been told here, what I always do with a pic that controls relays, it is just after the program line that orders to turn off or turn on the relay, I put a pause (NOP) of 1 or 2 ms, and then continue running the program.
BUT .. You don't actually state a question but it's easy to infer one ! On the lines of ... 'how do I fix this ?'
Since you want to switch 220V AC, why not use a zero.cross-switching SSR instead of the relay ? No contacts involved, no arcing, almost no noise !
Decades ago I was presented with a similar problem. The rubbish pcb design had been inherited from ...
The counter will increment until it reaches the TOP value, it will then be cleared and start again.
The value in the compare registers are constantly compared with the current counter value and when they are equal an event occurs (such as set the PWM output or create an interrupt). For that to occur the counter must be able to reach the value stored in the ...
You seek to determine the relative timing of two events by the usage of radio.
While one mechanism of doing this would be to synchronize clocks and transfer timestamps, to do that you would first needs a mechanism for synchronizing clocks by radio; and if you had that you could simply use the mechanism directly for the events of interest.
So imagine a ...
The application you referred to unhelpfully showed a speaker symbol rather than a piezoelectric sounder/buzzer.
A 'piezo' is nothing more than a rather poor capacitor that makes a noise or creates a voltage in response to some form of pressure if used as an input.
You'll need to program an output pin on the micro to produce a squarewave at the frequency ...
Thank you for bringing up an interesting, practical problem to solve! You have some interesting ideas in the comments, but here is the approach I would take.
74H5C95 has 6mA output with a 5v supply according to the datasheet. If you want to run your LEDs at 20mA, you will not be able to with just the shift register. You could use a transistor for each LED as a switch controlled by the shift register pin and the other pins of the transistors attached to your supply voltage if you are married to the 74H5C95.
A PWM transistor switch can regulate the average current, or you can choose a better uC such as a PIC12 that supports max. current out of low 200 mA or 150 mA high.
100mW @ 71mA = 1.4V or 20 Ohms choose duty cycle from 1.4/Vdd supply voltage ratio and add a flyback diode for wire inductance.
how to access all 256 pins to read and write from/to them simultaneously?
Not at all. Simultaneity requires the same amount of inputs, and you have less.
Normally, you'd just use a parallel-to-serial shift register as input, or a serial-to-parallel shift register as output here, if you need to interact with all pins regularly, instead of just selected ones.
If you based your design off of WIZnet's "wizarduino" schematic, then I suspect you didn't notice the note on it that said not to actually populate the 3 pull down resistors On the PMODE pins. These are resistors R30, R31, and R32 on your schematic. The device will not work correctly until those 3 resistors are removed. With the pull down ...
If the SPI chip select signal is low throughout all of the transfers then the LSM6DS3 device will behave as if you are performing a multibyte read (see Figure 10 in the datasheet). The initial read of the WHO_AM_I register starts the read and the read will continue with subsequent registers while the chip select is low.
The chip select signal must go high ...
For example if ADC sample rate is big enough is there a possibility we capture the 0 in the PWM period, so we get very variable values through the ADC?
Yes. There are several solutions:
First, where is your current measurement shunt? If it is in series with the load, then it will measure current all the time. But if it is in series with one of the MOSFETs, ...
I needed just this, a PWM heater control for 230V. Just 75 Watt, a floormat under my feet in winter. But using a dimmer (for lamps) the phase cutting sharply interfered with my headset. I tried two, but the second did even worse.
What I made was a multivibrator with the 555 timer IC. The downside with that is that you need a low voltage power supply build in....