Components required for drawing A2B schematics in SigmaStudioPlus are described here. Make sure that SigmaStudioPlus setup is completed as explained in A2B Quick Start Guide.
The A2B transceiver chip AD24xx is listed under platforms in the Tree Toolbox of hardware configuration tab. By dragging an AD24xx icon on the Hardware configuration tab schematics for an A2B network can be drawn in the schematic tab. Refer A2B Platform Toolbox for more details.
Two host adapter options are available for A2B under Communication Adaptors to interface between SigmaStudioPlus and A2B transceiver chip.
Drag a communication channel block corresponding to your host adapter and connect to AD24xx block by drawing a wire between the two as shown in A2B Platform Toolbox
The target processor is the controller that connects to the main A2B node in the bus. The target processor can control any A2B/Peripheral node in the bus through the main A2B node.
In the schematic, the target processor is represented as shown in the below Figure. This is the starting node in an A2B schematic and has one output pin (in brown color) representing I2C or SPI connectivity.
Figure : Target Processor
Users can set the network properties by accessing the “Network properties” window by right clicking the main node, opening the settings. User can also access Network Properties form Project Window. This window offers the network properties. Refer Network Properties for more details.
There are two hierarchies of transceivers AD242x and AD243x. In each hierarchy, there are A2B transceiver node types.
The transceiver nodes are represented as shown here. In an A2B schematic, the main transceiver node connects to the PC over the I2C/SPI pin whereas it connects to a sub-node over the network output pin “B”. The sub-node transceiver node takes incoming connection on the network input pin “A” and connects to another sub-node on output pin “B”. A2B Transceiver nodes interface with peripherals via I2C/Tx/Rx pins. Rx pin can be used for either PDM or I2S/TDM reception by clicking on the Rx box.
If the output pin B is left open in a sub-node, then it is the last device of the A2B bus.
AD243x is not pin compatible with AD242x. However, both can be part of same network.
Different variants of transceiver node can be selected using the drop-down box on the node of a custom platform. Depending on the variant selected features/pins become available. Refer A2B Transceiver variant data sheet for more details on the supported features.
Figure: A2B Transceiver nodes in TreeToolBox
User can set properties for an A2B transceiver node by accessing the properties window by right-clicking on the Transceiver platform and selecting “Open AD24xx Settings”. This window offers four tabs. The ‘General View’ tab provides functionality-based controls whereas the ‘Register View’ tab provides register fields for configuring the node. ‘Stream View’ provides the stream / tunnel information for the node. ‘Crossbar View’ provides the mapping between A2B slots and TDM Channels.
Node configuration can be done from both General and Register Views tabs of Device properties window. Any change in one tab will be reflected in the other. Refer Transceiver settings for more details.
Unlike AD242x, Rx and Tx Pins of AD243x are highly flexible and programmable. They are represented as SIO pins. SIO pins can be connected to either Rx or Tx pins of the peripherals. After the connection, one can assign the functionality to various multiplexed pins using the ‘Assign Tab’ of General view as shown below.
Also note that, Main AD243x transceiver can either interface via SPI or I2C.
Figure : Pin Assign Tab
A custom platform's A2B transceiver nodes are able to connect to peripheral devices over the I2C/SPI. Some of the peripherals available on the evaluation boards are SigmaDSP codec, PDM microphones, EEPROM etc.
There are multiple variants of peripheral devices available as shown in the below Figure (Peripheral nodes in TreeToolBox). The Tx slots of the peripherals can be connected to the corresponding Rx slots of the A2B nodes and the Rx slots of the peripherals can be connected to the corresponding Tx slots of the A2B nodes. The Tx pins can be swapped by using the right click option as shown in Figure : Swapping Tx Rx pins.
Figure: Swapping Tx Rx pins
Figure: Peripheral nodes in TreeToolBox
This section describes the method to be followed for programming peripherals connected to an A2B node. The following general steps are involved in peripheral programming.
The two options for programming the peripheral devices are explained in the following sub sections.
With the Generic option, user can read or write any individual register (one at a time) by setting required fields as shown in below Figure.
Figure: Generic peripheral programming window
With the Block programming option, user can read or write a set of registers as shown in below Figure. This can be accomplished by providing an xml file containing the instructions to be executed. By checking ‘Program during discovery’ option the peripheral will be programmed during the discovery process. Note that the order of peripheral programming depends on the order in which the peripherals were connected to the A2B node in the platform canvas. This can be updated by the arrow present in the Project window in the right.
Figure: Block peripheral register programming window
An example xml file contents are shown in below Figure. A new peripheral programming file can be created by clicking on the Edit button. This will open an editor in which the instructions can be added /edited.
Optionally, user can use Integrated DSP for ADI SigmaDSP peripheral corresponding to the XML file provided in the Block Register Read/Write section.
Figure: Sequencer window for creating block programming file.