Hi,
I am using LM3s374 9 as USB HOST controller and TUSB2046B as USB HUB controller.... Now i am going to controller 30 USB Devices by USB Host through multiple HUBs...
Query :
1 . How can i address individual devices which are connected in multi HUB mechanism.
2 . How can i pass data to a perticular device through this multiple HUBs...
Can anybody answer the above mentioned question...
Pls find the attached file.
4353.USB_HUB_Cascading_mechanism.xlsx
There is a set of registers in the USB Host module on the LM3S3749 that stores this information. Each endpoint contains the following 8-bit registers for recording the target device's addressing information.
USB Transmit Functional Address Endpoint nUSB Transmit Hub Address Endpoint nUSB Transmit Hub Port Endpoint nUSB Receive Functional Address Endpoint nUSB Receive Hub Address Endpoint nUSB Receive Hub Port Endpoint n
You should also be aware of an existing errata on Stellaris devices:
Hope this helps,
Peggy
Hi Peggy,
ThanQQQ.. for u r valueble information ...
But by using those registers(what u have mentioned in last post),we can only accomdate the information of one HUB and connected device to the corresponding HUB ..
But my Query is how can i accomidate multiple HUBs and connected devices to corresponding HUBs...Please see the below figure ..
With this above mentioned mechanism how can i Adress the individual device...
- Kali
Kali,
The Stellaris LM3S3749 supports four endpoints. However, in your configuration, it appears that you may only be using one configurable endpoint (with the addition of endpoint 0 for control transactions between devices). In either case, you would write the device address of the desired device to the Functional Address Endpoint n register, the hub address of the desired device to the Hub Address Endpoint n, and the hub port of the desired device to the Hub Port Endpoint n register. At this point, the Stellaris device would send data packets over this endpoint to the desired device. Section 16.2.2.1 of the datasheet explains this in more detail. In the case of your particular setup, each hub and device will have its own unique address.
I found this link which might explain the addressing process more clearly: http://www.lvr.com/usbcenum.htm.
ThanQQ.. for u r valueble information and immidiate rpls
I understood what u have explained in u r last reply... But problem is how can i accomadate the addresses of remaining HUBs and and Devices (which are connected to down streams ports of main HUB(Tier 2))...
And u mentioned one more point ,Each device HUB and Device will have its own unique address.. But as per my knowledge HOST its self will set the address for perticular HUBs and devices ...But at the time of enumaration how host can detect these many devices (HUBs or Devices) and how it will going to assign the address...
Is there any special mechanism exists for above mentioned query...Pls let me know...
And one more doubt is shall i use functions which available in TI website for USB HOST and USB Device enumaration and data transfer operations...If it possible can u give me the steps for firware development.. In host and Device point of view..
And guide me the Interrupt handling process in both cases like HOST mode Device mode... There is know ISR routine available in given USB Stack...How can i put the given interrupt handling functions in vector table..
Mean while i will go through the link which u have given
-Kali
Although we do not have specific hub examples, it might be usefult to look through some of the USB host examples in the StellarisWare software package. StellarisWare can be downloaded from here: www.ti.com/sw-lm3s. Once you've installed StellarisWare, the USB Library User's Guide can be found in C:\StellarisWare\docs\SW-USBL-UG-xxxx.pdf. Also, the examples are located in the board-specific folders located in C:\StellarisWare\boards.
Hi peggy,
ThanQQQ...
I already having those codes..
My doubt was, shall i use functions which available in TI website for USB HOST and USB Device enumaration and data transfer operations...If it possible can u give me the steps for firware development.. In host and Device point of view..
Pls give guidence for the above points....
Stellaris Peggy ... StellarisWare can be downloaded from here: www.ti.com/sw-lm3s.
...
StellarisWare can be downloaded from here: www.ti.com/sw-lm3s.
Hi Peggy, many thanks for all precious information I was seeking for and you posted, I just try'd link but point to a wrong location, link name is correct location and all information was there.
The book chapter link http://www.lvr.com/usbcenum.htm was just found for this post? If not, please can you post some title of book about this topic? The one in link appear to be M$ centric I see another same series on Linux embedded named "USB Embedded Host", I need interface a mass storage and keyboard, which one can better address topic on Stellaris library?
Merry Christmas.
Roberto
Regards
Please login & click Verify Answer if this post answered your question.