alvieboy

USB controller / wing

39 posts in this topic

Ok here's a bundle. It uses the previous USB and MTP libraries.

HDL: http://alvie.com/files/papilio_pro_dist-ov7670.zip

Sketch: http://alvie.com/files/ov7670-demo.zip

JPEG lib (replace the old version shipped with ZPUino): http://alvie.com/files/zpuino-jpeglib9b.zip

Check the toplevel file for hints regarding camera connection. The USB wing goes into Wing-C low (0-7).

If you manage to get it running I'll send you more details on how to associate the Windows driver.

Alvie

Share this post


Link to post
Share on other sites

Awesome! I just got Alvie's OV7670 demo working with the USB Wing and it is great. :)

I just downloaded the datasheet for the TUSB1106PWR and identified 8 free pins in the Papilio Pro design that can be used to replace the FT2232 chip with this much lower cost and more flexible option. Just need to figure out how to trigger a reboot/reconfiguration.

Jack.

Share this post


Link to post
Share on other sites
7 hours ago, Jack Gassett said:

Awesome! I just got Alvie's OV7670 demo working with the USB Wing and it is great. :)

I just downloaded the datasheet for the TUSB1106PWR and identified 8 free pins in the Papilio Pro design that can be used to replace the FT2232 chip with this much lower cost and more flexible option. Just need to figure out how to trigger a reboot/reconfiguration.

Jack.

I already know how to do that. But remember the initial plan is to support a HS phy instead like USB3300 (UTMI+/ULPI interface). Once we get it working with my prototype I think we can evaluate switching to 480Mbit, and also OTG support.

I think you will need 12 pins for that one, though. Perhaps we can use some of the JTAG/CONF pins too?

Share this post


Link to post
Share on other sites

I found the 8 pins needed for the TUSB1106 but 12 pins might be difficult, going to take a look at the design again.

Jack.

Share this post


Link to post
Share on other sites

+1: get rid of SDRAM CKE. We always tie that to '1'.

+2: get rid of LED :P

 

Share this post


Link to post
Share on other sites

Regarding SDRAM CKE: I'll point out that the data sheet's "recommended power-up sequence for SDRAM" includes bringing CKE low and then high again.  Although it doesn't say how long it needs to be low -- Hamster's SDRAM controller only does it for a single clock cycle, no longer, so it probably doesn't make any difference.

 

Share this post


Link to post
Share on other sites

We can add a RC if needed, just to raise it slowly during startup if needed.

My SDRAM controller does not at use CKE at all, but the pin may have been ground when the board powers up. I guess we can do some testing first.

Share this post


Link to post
Share on other sites

With the Papilio Pro I can find 10 pins that we can use:

 

Free pins.PNG

Share this post


Link to post
Share on other sites

That leaves us 2 short of what we need for the high speed USB3300 chip... Maybe we can share two Wing pins?

Jack.

Share this post


Link to post
Share on other sites

Those can be problematic due to need of pullup/pulldowns, and 60MHz USB bus will definitely not like it.

I understand there exist some DDR USB chips, that only use 4 data pins. Their availavility is low, however.

Honestly, I'd prefer to share some signals with the WING_B pins for example. Eventually in such a way that official wings would still work.

 

Share this post


Link to post
Share on other sites

Hmmm,

Maybe it is time to experiment with a Papilio Nano format, where the Wing_B pins are removed and dedicated to high speed serial and the whole board is shrunk down to DIP size...

Jack.

Share this post


Link to post
Share on other sites

Hey everyone,

Well I got inspired and put together a Papilio Nano board as a result of this thread and Alvie's awesome work on the USB Wing. Please take a look here:

Jack.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now