This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

RM48l952 USB Device Windows 7 problem

Other Parts Discussed in Thread: HALCOGEN

Hello,

I'm using the RM48L952ZWT with the TMDSRM48HDK dev board.

My goal is to transfer data via the USB Device port (J16) to my laptop using Windows 7 64.

I'm following this instruction:

http://processors.wiki.ti.com/index.php/HALCoGen_USB_Device_-_driver_&_CDC_Class

to set up HalcoGen correctly.

 

The first question that I have is about the USB clock, after reading this post:

https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/369302

 

looks like VCLKA3_DIVR should be set to 12MHz, dividing 48Mhz by 4, but in the instruction page above it doesn't mention it and shows VCLKA_DIVR and VCLKA(_S) both at 48 Mhz. What is the correct clock setting?

An other thing is that in the instruction page, about the VIM RAM setting, there is the setup for the interrupt service routine for the USBD where serviceIrq is assigned from vector 68 to 72 but then on the VIM Channel 64-95 Tab only interrupt 69 and  70 are enabled and not 68,71,72. Is this correct?

I had configured HalCogen as per instruction above and used the file example_usbd_cdc.c in the  C:\ti\Hercules\HALCoGen\v04.05.01\examples\RM48x\example_usbd_cdc to complete the main file.

As the instruction page suggest, Windows can't find the driver for the Virtual COM port (as in the picture)

So I follow the instruction on how to locate it, but when I provide the folder where the inf file is (same folder as the example_usbd_cdc.c file, the inf file is usb_dev_serial.inf) Windows complain the was unable to find driver software for the device.

 

Please let me know if you think i'm doing something wrong.

 

Thanks again

 

Giorgio

 

 

 

  • Hello Giorgio,

    I've forwarded your questions to one of our USB driver experts. They should get back with you soon.
  • Giorgio said:

    The first question that I have is about the USB clock, after reading this post:

    https://e2e.ti.com/support/microcontrollers/hercules/f/312/t/369302

     

    looks like VCLKA3_DIVR should be set to 12MHz, dividing 48Mhz by 4, but in the instruction page above it doesn't mention it and shows VCLKA_DIVR and VCLKA(_S) both at 48 Mhz. What is the correct clock setting?

    You're right, but the 12MHz clock is needed for the Host, not the device.  So that's why the example can work with this mistake.

    Giorgio said:
    An other thing is that in the instruction page, about the VIM RAM setting, there is the setup for the interrupt service routine for the USBD where serviceIrq is assigned from vector 68 to 72 but then on the VIM Channel 64-95 Tab only interrupt 69 and  70 are enabled and not 68,71,72. Is this correct?

    It is ok.  68 and 71 aren't used in this example. 72 shouldn't really be used as it is level sensitive and will keep generating interrupts until the bus reset is released, whereas a bus reset state change is also signalled in 69.

    Regarding the windows driver issue - that's one I've not been able to figure out myself.   Would need to learn a lot more about windows to figure out how to make this reliable.

  • Thank you Anthony,

    Please let me know when you have any update on the Windows side.

    Thanks again

    Giorgio
  • Hi Anthony,

    I had it working at the end :)

    I'm very sorry, it was my mistake.

    As mentioned above I did set the VCLKA3_DIVR at 12Mhz but the error I made was in the HalcoGen USB configuration page where I made a typo on the Vendor ID string where instead of Vendor ID 0x0451 it wrote 0x1451.

    Sorry again for this kind of mistake.

    Giorgio