How to use PIC16F84 as usb controller(emulate usb IC controller)
any code my friends .![]()
How to use PIC16F84 as usb controller(emulate usb IC controller)
any code my friends .![]()
easy, thow it away and buy 18F2550 (same pin count)
USb works on 12MHz, thus you need 48Mhz clock, which is unacheavable for gradfather PIC 16F84...
P.S. Welcome to 21st century :)
Using the PIC16 series you would have to use an external USB controller with the SIE on in it.
I have done that using the USBN9203 controller from National Semi a while ago when there was no PIC18 available with the USB peripheral on chip
Another thing here, if you can write your own USB driver for the PIC part, then you can use the PIC14 family, provided the code fits in the program memory, hence you will throw PIC16F84A away because I don't expect the code to fit there. I have seen an AVR USB programmer that uses software based USB driver instead of the hardware, but I have not looked o the code.
Adding to what Beowolf said, hardware is better than software in such cases, and easier to use ;)
Good luck
As metal said, there is USB protocol implementation in firmware for small microcontrollers without USB controller. Of course it is USB 1.1 and is much slower than USB 2.0
The most famous project is from Igor Cesko for AVR's.
See the attached file or download it from his site: http://www.cesko.host.sk/
You must have some Hardware SIE anyway.
It is just the USB stack is implemented in software
It is very good Usb2serial converter use FT232 Chips. PCB & SCH is EAGLE format
Ok
I mean USB1.1 (low speed)
I think , I can use PIC16f88 like a ccontroller
to reciev data from PC (serial) and process it :D
I just bought an USB1.1->RS232 converter for half of the price of an FTDI chip disassembled it from it's molded plastic case and sticked it to my pcb.
And used a PIC16F628's serial port to communicate through it.
Of course it works only as a serial port, and you have to install a small driver tho have COM10, but you need this don't you?
Added after 3 minutes:
something like this:
![]()
As Beowolf said, just use a 18F2550 it has all the need USB hardware built in.
The USB speed might be too fast for the chip you picked.
hello guys,
can't we come up with a software usb stack as avr does on attiny micro controllers.
Thanks,
Dilan
The old 16F simply isn't fast enough and as said before the 18F2550 is an ideal solution it has USB hardware built in.
Besides why would anyone use the anicient 16F84 for new designs.
At 5MHz it'll be really crippled, I doubt it's doable.
It's also pointless IMO as the 18F2550 is designed to do this in hardware with 8k of dual buffered RAM and is much faster at 12MHz too.
You can use PIC24XX family. It has an on chip USB host controller.
For further information, check the microchip website.
hmm... maybe with an external RAM chip?
i see they do 256kbyte 8 pin now, handy for SD card block dumping.
regards, -A
One person has already done the miracle.
He is from the country with the worst politics known to men, but also with people with talent as old Picasso.
Here is the pseudo "censured" link for those who doubdt:
www_telefonica_net/web2/hidlcd
Some will post critics about "using overclocking", others will say that "not open code".
But NOW , I post:
"Those who can ... do" , those who can't ... talk critics.