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.
Hello, I'm traing to emulate the EEPROM with a microcontroller MSP430F261X using a TUSB3410. I’m having troubles with the configuration of the i2c ports, and the order the header should be introduce in the microcontroller.
Regarding the Header order:
Step 1 - Create device signature, Step 2 - Create descriptor blocks, Step 3 - Define String Descriptors (string index 1=Manufacturer, string index 2=Product, string index 3=Serial #), Step 4 - Terminate the header.
I'm attaching a file that shows the proper order: TUSB3410_Serialized.txt
About the I2C commands, you can go to this link: http://focus.ti.com/lit/ds/symlink/tusb3410.pdf . Look for Chapter 10 (page 52), there are some registers that can control the stop condition for read and write operations, transmitter and receiver handshake signals with their respective interrupt enable bits, etc...
Best Regards,
Ismael
; ; The example below places device and string descriptors, as well as ; application firmware, into the header of an EEPROM to be used with TUSB3410. ; Unlike with TUSB2136, TUSB3210, and TUSB5052, the firmware should NOT modify ; these descriptors programmatically, or it will overwrite the values below. ; Assuming they are not overwritten, these descriptors will be reported to the ; USB host. ; ; For 3410 virtual COM port applications (USB/serial bridge), use this template and do the ; following: ; ; 1) Customize the VID/PID in the device descriptor ; 2) Customize the strings ; 3) Prepare the serial number string for customization with an EEPROM ; programmer ; ;------------------------------------------------------------------------------ ; ; Commands: ; Header Generator uses these commands to generate an EEPROM header that is ; readable by the bootcode. Check the bootcode listings for more information about ; how each descriptor block is handled. ; ; USB_DEVICE_DESCRIPTOR, ; USB_CONFIGURATION_DESCRIPTOR ; USB_STRING_DESCRIPTOR ; AUTOEXEC_BINARY_FIRMWARE, ; END ; ; For string descriptors, '@' is used to generate SPACE character. ; Therefore it is not possible to include an '@' symbol in the descriptor ; string. ; ; ; Rules: ; ; 1. Before any descriptor blocks, create the device signature using DEVICE_NAME. ; This is the part number for the USB controller device (i.e., "TUSB3410") ; ; 2. The last descriptor block for any config file should always be END. ; ; 3. The header should contain, at a minimum, a device descriptor and string ; descriptors for manufacturer, product, and serial number. Firmware can ; also be included with AUTOEXEC_BINARY_FIRMWARE. ; ; 4. USB_STRING_DESCRIPTOR type only supports one language ID. ; ;------------------------------------------------------------------------------ ; ; Step 1 - Create device signature ; DEVICE_NAME = TUSB3410 ; Tells the bootcode there's a valid EEPROM header ; ; Do not change if this script is being used with ; ; TUSB3410. ; ;------------------------------------------------------------------------------ ; ; Step 2 - Create descriptor blocks ; DESCRIPTOR_BLOCK USB_DEVICE_DESCRIPTOR ; 0x12, ; size of this descriptor in bytes 0x01, ; device descriptor type 0x10, 0x01 ; USB spec 1.10 0xff, ; device class is vendor-specific 0x00 ; no sub-classes 0x00 ; no protocol 0x08 ; 8 bytes in endpoint 0 0x51, 0x04 ; vendor ID: 0x0451 (TI's VID) <-- ** ENTER CUSTOM VID ** 0x1A, 0x34 ; product ID: 0x341A <-- ** ENTER CUSTOM PID ** 0x01, 0x01 ; device release number = 1.01 0x01, ; index of string descriptor describing manufacturer 0x02, ; index of string descriptor describing product 0x03, ; index of string descriptor 0x01, ; number of possible configuration ; ; DESCRIPTOR_BLOCK USB_STRING_DESCRIPTOR ; ; string descriptors ; ; ; string index 0, language ID ; 0x04, ; length: 4 bytes 0x03, ; DESC_TYPE_STRING 0x09,0x04, ; english 0x0409 ; ;------------------------------------------------------ ; string index 1, Manufacturer ;------------------------------------------------------ ; 0x24, ; length: 36 bytes 0x03, ; DESC_TYPE_STRING 'T',0x00,'e',0x00,'x',0x00,'a',0x00, 's',0x00,'@',0x00,'I',0x00,'n',0x00, 's',0x00,'t',0x00,'r',0x00,'u',0x00, 'm',0x00,'e',0x00,'n',0x00,'t',0x00, 's',0x00, ; ; = "Texas Instruments" ; ;------------------------------------------------------ ; string index 2, Product ;------------------------------------------------------ ; 0x2A, ; length: 42 bytes 0x03, ; DESC_TYPE_STRING 'T',0x00,'U',0x00,'S',0x00,'B',0x00, '3',0x00,'4',0x00,'1',0x00,'0',0x00, '@',0x00,'E',0x00,'E',0x00,'C',0x00, 'o',0x00,'d',0x00,'e',0x00,'@',0x00, 'S',0x00,'e',0x00,'r',0x00,'@',0x00, ; ; = "TUSB3410 EECode Ser " ; ;------------------------------------------------------ ; string index 3, Serial # ;------------------------------------------------------ ; ; ** INCREMENT THIS NUMBER WITH EEPROM PROGRAMMER ** ; 0x12, ; length :18 bytes 0x03, ; DESC_TYPE_STRING '0',0x00,'0',0x00,'0',0x00,'0',0x00, '0',0x00,'0',0x00,'0',0x00,'1',0x00, ; ; = "00000001" ; ;------------------------------------------------------ ; string index Block Terminates ;------------------------------------------------------ ; 0x00,0x00 ; 0 bytes, end of block ;------------------------------------------------------------------------------ ; ; ;DESCRIPTOR_BLOCK AUTOEXEC_BINARY_FIRMWARE ; ;LOAD_BINARY_FILE = umpe3410.i51 ; ;------------------------------------------------------------------------------ ; Step 3 - Terminate the header ; DESCRIPTOR_BLOCK END ;