This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
resources:tools-software:sigmastudio:toolbox:mastercontrolport:mastercontrolportio [14 Jul 2014 20:27] – created John McCarty | resources:tools-software:sigmastudio:toolbox:mastercontrolport:mastercontrolportio [12 Feb 2024 19:01] (current) – [Supported ICs] Felipe Neira | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Master Control Port I/O ====== | + | ====== Master Control Port Boot time I/O (ADAU145x) |
+ | |||
+ | [[resources: | ||
+ | |||
+ | |||
+ | The master control port I/O block allows communication with one external device during DSP program initialization. | ||
+ | \\ | ||
+ | |||
+ | {{ : | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | Click on {{: | ||
+ | |||
+ | ====I2C configuration==== | ||
+ | {{ : | ||
+ | \\ | ||
+ | ===GUI Control=== | ||
+ | ^GUI Control Name^Default Value^Range^Function Description^ | ||
+ | |Bitrate|400 kHz| 20 kHZ - 400 kHZ|I2C Speed| | ||
+ | |Device Address|0|0 – 127|I2C Slave Device Address| | ||
+ | |Sub-Address Bytes|2|1-4| Length of the sub address| | ||
+ | |Sequence file|-|-|Device write/read sequence to execute at boot time.This file can be defined and saved from [[resources: | ||
+ | \\ | ||
+ | |||
+ | ====SPI configuration==== | ||
+ | {{ : | ||
+ | \\ | ||
+ | |||
+ | ===GUI Control=== | ||
+ | ^GUI Control Name^Default Value^Range^Function Description^ | ||
+ | |Bitrate|100 kHz| 100 kHZ - 100000 kHZ|SPI Speed| | ||
+ | |SS_M Pin|0|0 |SPI Slave Select Channel| | ||
+ | |MP Slave Select Channel|Disabled(enabled by click on radio button)|0 - 7| SPI Slave Select Channel| | ||
+ | |Sub-Address Bytes|2|1-4| Length of the sub address| | ||
+ | |Command Length|1|1-4| Length of the command sent in bytes| | ||
+ | |Write Instruction|0|0-255|Instruction value for a write operation (0x0 for ADI audio devices, typically 0x2 for eeprom/ | ||
+ | |Write-Enable instruction|6|0 - 255|Instruction value for device write-enable operation (ignored for Master Control Port I/O Boot)| | ||
+ | \\ | ||
+ | ===== Support for Multiple Slaves ===== | ||
+ | Multiple external devices can be configured by creating multiple instances of the master control port boot time IO module and selecting appropriate slave select in the configuration parameters. | ||
+ | \\ | ||
+ | The sequence of booting up of different slaves can be configured by using the drop down list next to the {{: | ||
+ | {{ : | ||
+ | |||
+ | ===== Support for Different SPI Slave Select Pins ===== | ||
+ | If the device to be programmed is selected through MP0 (the /SS_M pin), no configuration is required in the register controls. Otherwise, the multipurpose pin must be configured to act as the slave select in the Register Window. (Hardware Configuration -> ICx - ADAU145x Register Controls -> MULTIPURPOSE/ | ||
+ | |||
+ | {{ : | ||
+ | \\ | ||
+ | \\ | ||
+ | - Slave Select Channel -> 'Slave Select Channel x' | ||
+ | - MPx pin mode -> 'Slave Select for Master SPI port' | ||
+ | - MPx pin function -> ' | ||
+ | \\ | ||
+ | \\ | ||
+ | The following table shows the mapping between module' | ||
+ | Please note that for some other blocks, there is an offset of 1 between the module parameter and the register control window. | ||
+ | ^ 'Slave Select' | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | | | ||
+ | \\ | ||
+ | |||
+ | ===== Creating Sequence File for SPI/I2C slave not supported by SigmaStudio ===== | ||
+ | Use the following file and edit for your slave. | ||
+ | <file xml ADAU1361.xml> | ||
+ | <?xml version=" | ||
+ | <ROM IC=" | ||
+ | < | ||
+ | < | ||
+ | <page modetype=" | ||
+ | <action instr=" | ||
+ | <action instr=" | ||
+ | <action instr=" | ||
+ | <action instr=" | ||
+ | </ | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Please follow the steps below to edit the XML for your Slave. | ||
+ | * Edit IC, IC_Address and Address_byte_length fields in xml. Please note that IC_Address should be an 8-bit I2C address in decimal format. Address_byte_length refers to the length, in bytes, of the external IC's address space. | ||
+ | <code xml> | ||
+ | <ROM IC=" | ||
+ | </ | ||
+ | * Add your register writes as shown below. | ||
+ | <code xml> | ||
+ | <action instr=" | ||
+ | |||
+ | </ | ||
+ | Please match all the fields as follows. | ||
+ | instr => " | ||
+ | len => Data Length in bytes+ Address_byte_length | ||
+ | addr => Register Address in decimal (not hexadecimal) | ||
+ | Then the value part should have the register values in Hexadecimal. A space should separate each data as shown in the example. | ||
+ | |||
+ | * You can add delays as shown below. | ||
+ | <code xml> | ||
+ | <action instr=" | ||
+ | </ | ||
+ | Delay is in milliseconds (Hexadecimal Format) | ||
+ | |||
+ | ===== Supported ICs ===== | ||
+ | - ADAU145x | ||
+ | - ADAU1467 | ||