Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

PIC16f877 and USBN9604 transfer rate

Status
Not open for further replies.

lynnz

New Member
Hi,

I am trying to transfer data from PIC16f877 via USBN9604 at 800KBps. However, after trying isochronous and ping-pong method (I think the combination of these two should yield max transfer rate), the fastest rate I get is only 64KBps. This is far from what I want. I have no idea where the problem lies and have been stucked with this... Can someone please help? Thank you very much.
 
I'm presuming the USBN9604 is a USN to serial converter?, like the FT232 series?.

You're probably doing well to get 64kb/sec? - USB is a packet based system, and serial is a byte at a time. Using 'byte at a time' with USB cripples the speed drastically - as each byte is sent as a 'packet' with the associated overhead.

In any case, what are you trying to do?, there's not much 'RAM' in a 16F877 to require high speed transfers.

If you do require it?, then change to an 18F PIC that has a USB interface built-in.
 
Hi, thank you for your reply. USBN9604 is a usb node controller. It is not a serial to usb convertor. Theoretically, it should be able to achieve higher speed just like any full speed usb device.
 
lynnz said:
Hi, thank you for your reply. USBN9604 is a usb node controller. It is not a serial to usb convertor. Theoretically, it should be able to achieve higher speed just like any full speed usb device.

OK, I've just had a quick look at the datasheet, and it's an 8 bit parallel interface. Are you using the 16F877 hardware to interface to it?, or are you doing it in software?.

And as I asked before, what are you actually trying to do?, there's very little memory space in a PIC to need to transfer fast.
 
Hi, I am trying to collect samples from adcs and transfer those samples to the pc for display via usb. That is, in one cycle, I will collect samples and send them to the pc. Hence, no much of PIC memory space is needed.

"Are you using the 16F877 hardware to interface to it?, or are you doing it in software?" May I know what does this mean? I am connecting the ports of the pic to usbn9604, which is working in parallel multiplexed mode.

Thank you.
 
lynnz said:
Hi, I am trying to collect samples from adcs and transfer those samples to the pc for display via usb. That is, in one cycle, I will collect samples and send them to the pc. Hence, no much of PIC memory space is needed.

Presumably the sampling speed is reducing your throughput then?.

"Are you using the 16F877 hardware to interface to it?, or are you doing it in software?" May I know what does this mean? I am connecting the ports of the pic to usbn9604, which is working in parallel multiplexed mode.

The 16F877 has a 'Parallel Slave Port' implemented in the hardware, using PortD with control bits in PortE - presumably you're not using this?.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top