Here is my vhdl spi module. I just grab the data on MISO when I put chip select low on every clock edge (pastebin.com/pi6Wipyk) - I suspect that my code is just grabbing a bunch of non data when the chip isn't outputting.
I added a transferCount so it only grabs the next 8 bits after chip select goes low but there was no change
@MLM SPI chips can put their data out on either the rising or falling edge --- check your data sheet. Typically you clock the data in on the other edge, which should be in the middle of the time when the data line is stable.
I'm trying to find the right MOSFETs/Transistors for my application. I need to control the speed of a 100W/12V DC motor using PWM signals from an Arduino or ATTiny2313 ic.
If you assume that you clock on the falling edge then #13 says you get ZERO hold time, and nothing about setup time. If you assume that you clock on the rising edge then there are no valid timing parameters to tell you what your actual setup/hold time is.
@William'MindWorX'Mariager Most of the switching speed is dependent on how you drive the MOSFET. Drive it correctly and most MOSFETs will switch fast enough for you.
@William'MindWorX'Mariager Just about any MOSFET with a rating of 30+ volts and 20+ continuous amps will work fine. Of course I am ignoring things like package, cost, N/P Channel...
@William'MindWorX'Mariager make sure you use protection diodes or nothing will work for long.
From what I can gather, it seems like at 12V I don't need to worry too much about what I go with. MOSFETs looks preferred. I guess I'll look at a few H-Bridge designs. I'm used to the L293D H-Bridge IC, so that should be an easy transition for me.
@William'MindWorX'Mariager You want about a 2x margin. So if your motor is 10A, then you want to be able to do 20A over your normal temp range. Also, P-Channel MOSFETs have a higher Rds(on) than N-Channel and so will dissipate more heat. And your current ability goes down as heat goes up.
@ThePhoton It's possible. I saw the I2C resemblance in that data-sheet excerpt too. Sometimes that's just a lazy technical writer that was over-zealous when cutting and pasting from the I2C section of the datasheet.