[SOLVED] Serial to parellel chip issue

so i was using the 74HC595 with arduino ,the chip is too slow . i overclocked my arduino to 20Mhz . i want to operate with the chip at a frequency of 10Mhz . (CPU_f/2) . with SPI it does not work , since the chip seems to output wrong data , though when i lower the speed to (CPU_f/64) or (CPU_f/128) it works fine .

so i need an other chip (serial to parallel) that can operate at high clocks , 10..16Mhz etc

than you

Have you looked at the 74HC595 specifications? It can shift at 100MHz.

yh but this is what i get in practice though , if i set the clock at 10Mhz the output of the chip is almost always incorrect , when i set a lower frequency like 125Khz ,the output is perfect , how can u explain that

it was a program issue .

hello, i have a question please : how do you change the arduino frequency ? like you're saying you changed the frequency

By using a 20MHz crystal or resonator I expect...

MarkT:
By using a 20MHz crystal or resonator I expect…

ok so that’s a hardware thing but what about the software or the SPI library ? and why does the advantage of working with higher frequency resonator ? is that you get RESPONSE faster ?

the clock speed is the CPU speed . the faster the clock , the faster the chip works . i think these atmega328 chips do run at 20mhz without major issues , though you would need to change a couple of things in the hardware or maybe the bootloader for you to upload programs via serial to the chip . the SPI speed is proportional with the CPU speed . the fastest possible speed of SPI if (CPU_f/2) for a 16mhz arduino uno that would be 8mhz i think , though here it's 10mhz . with an oscillator you might get the chip even running at 32mhz , though you might damage the chip and it might not work sometimes , but it's supposed to work in most cases . you can find useful links for that .

the clock speed is the CPU speed . the faster the clock , the faster the chip works . i think these atmega328 chips do run at 20mhz without major issues , though you would need to change a couple of things in the hardware files or maybe the bootloader for you to upload programs via serial to the chip . the SPI speed is proportional with the CPU speed . the fastest possible speed of SPI is (CPU_f/2) for a 16mhz arduino uno that would be 8mhz i think , though for a 20mhz overclocked chip it's 10mhz . with an oscillator you might get the chip even running at 32mhz , though you might damage the chip and it might not work sometimes , but it's supposed to work in most cases . you can find useful links for that .

ah ok thank you for that i wanted to understand but i guess arduino uno 16 mhz would be the most suited rather keep that then getting into trouble :D

but one more question in which cases you need to make it run faster can you please give me examples ?

i think these atmega328 chips do run at 20mhz without major issues

If you order the ATmega328-20PU , then clearly you are correct.

If you order the ATmega328-20PU , then clearly you are correct.

well i i think i had an "Atmega328-20PU" once , though i overclocked the atmega328p chip with no trouble and some other atmega328 chips .

in which cases you need to make it run faster can you please give me examples ?

simply when you need faster processing , like faster communication or when you are working with protocols that require fast access to memory and rapid output .

though i overclocked the atmega328p chip with no trouble and some other atmega328 chips .

I believe the term "overclocking " only applies if you exceed the rated clock frequency. (like running a 16Mhz chip at 20 Mhz). You would have to exceed 20Mhz to overclock the 20 Mhz part.

amine2: well i i think i had an "Atmega328-20PU" once , though i overclocked the atmega328p chip with no trouble and some other atmega328 chips . simply when you need faster processing , like faster communication or when you are working with protocols that require fast access to memory and rapid output .

well in my case it should be fast ! i am building RC car based on Xbee module so it needs fast communication

Why aren't you using a DUE ?

raschemmel: Why aren't you using a DUE ?

because the final circuit will have a standalone arduino not the full arduino ! no space for the full arduino :)

you did mention RC , i did work with RC planes and a quadcopter before , i cant understand why you would require high speed processing for that

@MarkT ,

how do you change the arduino frequency ? like you're saying you changed the frequency

By using a 20MHz crystal or resonator I expect...

I think you should mention the rest of it, since obviously , there is more to it than that. You need to change the frequency in the board file.

uno.name=Arduino Uno

uno.vid.0=0x2341 uno.pid.0=0x0043 uno.vid.1=0x2341 uno.pid.1=0x0001

uno.upload.tool=avrdude uno.upload.protocol=arduino uno.upload.maximum_size=32256 uno.upload.maximum_data_size=2048 uno.upload.speed=115200

uno.bootloader.tool=avrdude uno.bootloader.low_fuses=0xFF uno.bootloader.high_fuses=0xDE uno.bootloader.extended_fuses=0x05 uno.bootloader.unlock_bits=0x3F uno.bootloader.lock_bits=0x0F uno.bootloader.file=optiboot/optiboot_atmega328.hex

uno.build.mcu=atmega328p uno.build.f_cpu=16000000L uno.build.board=AVR_UNO uno.build.core=arduino uno.build.variant=standard

What does the "16000000L" means in the above boards.txt file ?

And what does the "f" represent in this line ?

uno.build.f_cpu

What's going to happen if you swap the crystal and don't change that value ?

amine2: you did mention RC , i did work with RC planes and a quadcopter before , i cant understand why you would require high speed processing for that

i donno i just said it i mean you need a fast signal

i am building RC car based on Xbee module so it needs fast communication

I could see how it might need to be fast for an aircraft but how fast does it need to be with a car ? Using a serial interface for a remote control device just seems awfully slow. I have an old school 72 Mhz transmitter but it works fine for any aircraft I fly. I can't imagine trying to use wifi for RC . The range probably sucks.