Hi,
I bought TMS320C5535 eZdsp USB Kit and start to learn about USB support.
I would like to build multichannel USB Audio DAC working in anynchronus mode.
At this moment I finished USB to SPDIF converter based on TAS1020B (also anynchronus mode) I try migrate to C5535.
In "TMS320C5535/34/33/32 Ultra-Low Power DSPTechnical Reference Manual" we can find information about USB PHY initalization.
Information is clear and understandable.
13.2.6 USB PHY Initialization
The general procedure for USB PHY initialization consists of enabling the USB on-chip oscillator,
configuring PHY parameters, and finally resetting the PHY. The detailed USB PHY initialization sequence
is as follows:
1. The bits USBOSCBIASDIS and USBOSCDIS in the USB system control register (USBSCR) should be
cleared to 0 to enable the on-chip USB oscillatory if not enabled already.
2. Wait cycles for the on-chip oscillator to stabilize. Refer to the device-specific data manual for oscillator
stabilization time.
3. To configure the PHY for normal operation, the bits USBPWDN, USBSESSEND, and USBPLLEN in
USBSCR should be cleared to 0, the USBVBUSDET bit should be set to 1, and the USBDATPOL bit
should be set according to the system requirements (set to 1 for normal operation).
4. Enable the USB clock by clearing USBCG to 0 in the peripheral clock gating configuration register 2
(PCGCR2).
5. Set the USBCLKSTPREQ bit.
6. Set COUNT = 20h in the peripheral software reset counter register (PSRCR).
7. Reset the USB controller by setting USB_RST to 1 in the peripheral reset control register (PRCR). This
bit will self-clear once the reset has been completed.
But when I started to analyze USB_init procedure in "C55 Low Power Chip Support Library V2.50" i found completely different sequence:
1. Set COUNT = 20h in the peripheral software reset counter register (PSRCR).
2.Reset the USB controller by setting USB_RST to 1 in the peripheral reset control register (PRCR).
In TRM 13.2.11.1 wh have information:
"When USB_RST is set to 1, a hardware reset is forced on the USB controller.
Please note that the USB input clock must be enabled when using USB_RST"
But the USB oscillator is disabled and USB Clock is off.
3.Enable the USB clock by clearing USBCG to 0 in the peripheral clock gating configuration register 2 (PCGCR2).
4.Clear bits USBPWDN, USBPLLEN,USBOSCBIASDIS and USBOSCDIS in the USB system control register (USBSCR)
5.Set the USBCLKSTPREQ bit.
6. RESET USB once again by set bit RESET in CTRLR
Can someone explain these discrepancies?
Another problem is that the library "C55 Low Power Chip Support Library V2.50" is available from "http://software-dl.ti.com/dsps/dsps_public_sw/dsps_swops_houston/C55X/CSL-c55x-lowpower-versions.htm" and the same V2.50 library is a part of "C55X-AUDIOFRAMEWORK " but there are few differences (with no explanation).
Best regards
Jarosław Czuła
PS I'm sorry but my English is poor