AN265 2 N D - G E N E R A T I O N P R O SLIC ® GUI U S E R ’ S G U I D E 1. Introduction The 2nd-Generation ProSLIC® Graphical User Interface (GUI) software uses the USB port or the parallel port of a PC to communicate with the ProSLIC. Either the USB-capable Voice motherboard (VMB) or an older parallel port ProSLIC motherboard may be used with the software. The Voice motherboard accesses the ProSLIC's SPI and PCM ports, while the ProSLIC motherboard only accesses the SPI port. This document applies to Rev 0.98 of the software. The program runs on Windows 98/NT/2000/XP. Invoking the 2nd-Generation ProSLIC GUI causes the Voice motherboard to be initialized (if it is connected) and the ProSLIC to be taken out of reset. 2. Installation To install the 2nd-Generation ProSLIC GUI, run setup.exe. If a previous installation of the software is detected, running setup.exe uninstalls the old version, and it is necessary to run setup.exe again. When setup installation is complete, installation instructions for the USB driver for the Voice motherboard are displayed. At this point, connect the USB cable from the PC to the Voice motherboard. If prompted to install a driver, direct Windows to use the directory specified in the instructions displayed at the end of the installation in: C:\Program Files\Silicon Laboratories\VMB Driver\ If you are not prompted to install the USB driver, it is recommended that you uninstall the old driver and install the driver provided with the software. 2.1. Reinstall USB Driver To uninstall the USB driver, go to Start->Control Panel, and double-click on “System”. Go to the “Hardware” tab as shown in Figure 1. Figure 1. System Properties Screen Rev. 0.2 5/07 Copyright © 2007 by Silicon Laboratories AN265 AN265 Then, click on “Device Manager”. Expand USB controllers, and you should see “USBXpress Device” as shown in Figure 2. Figure 2. Device Manager Screen 2 Rev. 0.2 AN265 Right-click on this device, and choose "Update Driver…". Decline connecting to Windows Update by choosing "No, Not this time" when prompted as shown in Figure 3. Figure 3. Hardware Update Wizard Click “Next”. Then, choose "Install from a list or specific location (Advanced)" as shown Figure 4. Figure 4. Installing Software for USBXpress Device Rev. 0.2 3 AN265 Click “Next”. Now, choose “Search for the best driver in these locations”, and use the “Browse” button to specify C:\Program Files\Silicon Laboratories\VMB Drivers as shown in Figure 5. Figure 5. Search and Installation Options Click “Next”, and the drivers will be updated as needed. 4 Rev. 0.2 AN265 3. Launching The Software The 2nd-Generation ProSLIC GUI may be used with either the older ProSLIC motherboard or the Voice motherboard; however, by default, the USB interface for the Voice motherboard is selected. 3.1. Voice Motherboard (USB) First, make sure that the USB cable is connected and that power is applied to the Voice motherboard. Click on the shortcut in the start menu at Program Files → Silicon Laboratories → 2nd Generation ProSLIC GUI. Select Si324x or Si3226 and click “OK”. If you receive a message like the one in Figure 6, make sure that the Voice motherboard driver is installed, the USB cable is connected, and that no other running software is accessing the Voice motherboard. Figure 6. USB Error Sometimes, it may be necessary to unplug the USB cable and reconnect it to the Voice motherboard to reset the USB device. The Voice motherboard defaults to SPI/PCM communication; however, GCI communication can also be used. To use GCI, first connect SDITHRU on the ProSLIC to ground, and then select “Connect Motherboard” and “Connect USB (GCI)”. 3.2. ProSLIC Motherboard (Parallel Port) Click on the shortcut in the start menu at Program Files → Silicon Laboratories → 2nd Generation ProSLIC GUI. Ignore any error message pertaining to the USB interface. To enable the parallel port interface, go to the menu bar at the top, and select “Connect Motherboard”; then, select “Connect LPT”. Make certain that power is applied to the board. If the parallel port address differs from the default (0x378), select the “Options” menu item; then, select “Parallel Port Config” to change the port address being used. Rev. 0.2 5 AN265 4. ProSLIC Communication On the top left of the screen, there are several important controls, shown in Figure 7. The “Channel” control selects the channel with which the software is currently communicating. The value can range from 0 to 31 for a total of 32 channels. The “Broadcast” control enables the broadcast bit in the SPI control byte during register writes, allowing the user to write to all channels simultaneously. The “RESET” button pulls the ProSLIC's reset pin low when it is pressed. This button may also be activated using the Escape key. Figure 7. Screen Top Left The “Initialize” button determines how many channels are present, reads the device ID of the current channel, reads the detected PCLK rate, and displays this information on the top right of the screen. Pushing this button also loads the contents of the initialization file to the ProSLIC. The file is located in the installation directory and contains the recommended initialization sequence. This file may be edited to change the behavior of the “Initialize” button. The format of this file and other files used by the software are described later in this document. If the “All Channels” control is checked, all channels are initialized according to the contents of the initialization file; otherwise, only the channel currently selected is affected by the “Initialize” button. Select the appropriate BOM option using the “Linefeed” selector before pressing “Initialize”. On the bottom left of the screen, there are controls to read and write single registers or RAM locations (see Figure 8). Select whether you would like to access a register or a RAM location and enter the address to access. If writing to the ProSLIC, enter data to write in the box next to the “Write” button, and then click either “Write” or “Read” to execute. Data read back is displayed in the box next to the “Read” button. Figure 8. Single Reads/Writes Also shown in Figure 8 is the User Mode control, which is activated by clicking on the green area. If User Mode is successfully entered by the ProSLIC, the control turns bright green to confirm. 6 Rev. 0.2 AN265 5. Registers/RAM When you launch the software, the “Registers/RAM” tab, which displays a table of all the registers in the ProSLIC, appears on the right side of the screen (see Figure 9). Hold the mouse over the register locations to see the address of each register, or, alternatively, select “Display Addresses” below the register table to change from displaying the register names to displaying the register addresses in the table. The “Read All” button executes a one-shot read of all the registers in the table, whereas the “Continuous Read” button causes the table to be continuously updated until Continuous Read is turned off. Typing a new value in one of the boxes in the register table causes a register write to take place. Figure 9. Registers/RAM The RAM table on the right side of Figure 9 behaves similarly with its own “Read All” and “Continuous Read” buttons; however, in this case, only the visible values in the RAM table are updated when Continuous Read is turned on. The address and name of each RAM location are always displayed. The RAM locations may be sorted numerically or sorted by function. When the RAM values are sorted by function, the “Go To” control helps navigate to RAM locations relating to a particular function without scrolling through the table. Certain RAM locations can be converted to their decimal equivalent by first clicking on the value and then hovering the mouse over the RAM table. Typing a new value into the “Value” column of the RAM table causes a RAM write to take place. Use the “Search String” box to search for a RAM location, and navigate through the matches using the “Next” button. While Continuous Read is active on the register table, the Interrupts Accumulator is updated. The values read from the IRQ registers are ORed together until the “Clear” button, shown in Figure 10, is pressed. Figure 10. Interrupts Accumulator Rev. 0.2 7 AN265 6. Gauges The Gauges tab is shown in Figure 11. These controls are used to view the monitor ADC (MADC) value in decimal units. To activate the gauges, turn on the “Continuous Update” control and select whether you want to scale the power to full scale or to the value of the power threshold registers using the “Power Scaling” control. Figure 11. Gauges 8 Rev. 0.2 AN265 7. Graph The graph tab is shown in Figure 12. These controls can be used to plot the value of registers or RAM locations over time. The Y axis is a linear decimal scale, and autoscaling can be turned on or off by right-clicking on the Y axis. The X axis can be adjusted by entering different values in the “# samples shown” field. This alters the number of samples displayed on the plot. Enter the locations you wish to read in the “Graph Read Info” box at the top left. RAM locations can be multiplied by a scaling factor before they are plotted by entering a value other than 1 in the LSB field. The graph plots data as long as the “Continuous Update” button is active; however, the “Triggered Stop” controls can be used to stop the data acquisition when a specified rising or falling edge occurs. Choose which edge to trigger on using the “Trigger” control and specify the threshold using the “Trigger Value” box. The “Hold Samples” box specifies how many samples before the event are saved. Click “Enable” to enable the trigger, and turn on “Continuous Update”, if it is not already active. To aid in the detailed examination of plots, two cursors are available. The cursor controls are on the top left of the graph. The mean, standard deviation, variance, or RMS value can be calculated for the first address to be read. Select the calculation to perform using the "Parameter to calculate:" selector; the result is displayed beneath the selector. The units displayed on the Y axis can be adjusted using the “Y Scale Format” and “Y Scale Precision” controls. The time between samples on the graph can also be manipulated using the “Time Between Samples” control. The maximum sample rate possible is achieved using a zero millisecond time between samples and is limited by the number of devices on the USB bus and the CPU load of the PC running the software. Figure 12. Graph Rev. 0.2 9 AN265 8. Audio (Voice Motherboard Only) The audio tab is shown in Figure 13. The functionality of this tab is only valid with the Voice motherboard (USB interface). The Voice motherboard is capable of transmitting and collecting PCM samples. Before any audio transfers are attempted, the PCM clocks and format must be set up. In GCI mode, this panel shows the status of the C/I bits and allows the user to change the downstream C/I bits. The C/I bit indicator updates when the “Run Acquisition” control is turned on. Figure 13. Audio 10 Rev. 0.2 AN265 9. PCM Configuration (Voice Motherboard) Unlike previous ProSLIC motherboards, the configuration of the PCM bus for the Voice motherboard is accomplished via software. The ProSLIC GUI allows you to configure the PCM clock rate, PCLK source, and FSYNC source. In addition, the DSP on the Voice motherboard allows PCM data to be passed between the PC and the ProSLIC. The PCM timeslots used by the DSP are also configurable. While the ProSLIC's PCM timeslots can be configured to use any bit count for PCM transfers, the Voice motherboard's DSP can only be configured on 8- or 16-bit boundaries. For example, if you select a TXSLOT of 1 in 8-bit mode, you would need to set the ProSLIC PCMRX registers to 8 (1x8bits) to receive the data. Almost all features relating to the PCM capability of the Voice motherboard are located on the Audio tab. Table 1 shows the main configuration parameters for the Voice motherboard PCM. Select the PCM format in the “DSP PCM” control on the Audio tab and press “Update DSP” to configure the Voice motherboard's DSP to receive samples of this type. Pressing “Update SLIC” updates the current ProSLIC channel with the same PCM settings except that the ProSLIC transmit timeslot is equal to the Voice motherboard's receive timeslot and vice versa. The Voice motherboard now sends/receives audio to/from the current channel. The DSP on the Voice motherboard has a 1024 word buffer for sending PCM data to the ProSLIC. This buffer loops continuously and can be loaded using the controls in the “TX” box on the Audio tab. DC, square, sine, and ramp waveforms are available. Press “Update” to load the buffer. The units for the amplitude are specified as either codes or volts in the “Graph Controls” box below the audio plot. “Codes” refers to the raw values coming from the PCM, which could be 8- or 16-bit, while “Volts” displays a scaled value less than one. When the “Run Acquisition” button is active, data is pulled from a FIFO in the Voice motherboard's DSP and plotted on the screen. Data can be plotted in the time domain or the frequency domain, and the data buffer size for the GUI can be adjusted with the “Buffer Size” control. The “Measurement” control enables or disables the update of values calculated in the “Graph Measurements” display. Note: In GCI mode, PCLK and FSYNC are generated by the Voice motherboard, and subframes 0 and 1 are used. The data displayed in the audio graph will come from whichever channel is selected by the “Channel” control. 10. File Input And Output Figure 14 shows the file input/output controls. The file format described here is the same as the format used for the initialization file loaded by the “Initialize” button. Figure 14. File IO First, select a file name by either entering it manually into the “File Name” box or by clicking on the yellow folder button. To output the current register and RAM contents of the current channel, click on the “Read” button so that it now says “Write” and then press “OK”. If an existing file is chosen, a prompt asks if the program can overwrite the file. Navigate to the file you selected in the first step; it will look similar to Figure 15. Rev. 0.2 11 AN265 Table 1. Voice Motherboard PCM Main Configuration Parameters Parameter Options Location PCM Clock Frequency All supported by ProSLIC Audio Tab → PCLK Freq External PCLK/FSYNC Enable/Disable Menu: Options → External PCM Source External FSYNC Enable/Disable Menu: Options → External FSYNC only DSP Timeslots 8- or 16-bit boundaries Audio Tab → DSP PCM → TXSLOT/RXSLOT Figure 15. Example File When inputing a file, click on the “Write” button to change it back to “Read” and click “OK”. To apply the file to all channels, the “All Chan” box should be checked. If “All Chan” is enabled, the file is read through once for each channel. Do not enable broadcast when loading a file. All recently loaded files are selectable using the “Recent Files” control. 12 Rev. 0.2 AN265 11. File Format In the files used to input or output register and RAM values, there are several things to remember. Lines beginning with the # character are ignored. Register/RAM addresses are in decimal format while register/RAM values are in hexadecimal format. For example: Register 11 = 15 #will write register 11 to 0x15 RAM 600 = 12345678 #will write RAM 600 to 0x12345678 Delays can be inserted with the WAIT command. For example: WAIT 100 #will wait 100 ms before proceeding The current channel can be changed using the channel command, but this command should not be used when the All Chan box is checked since it causes the file to be loaded once for every channel and may lead to confusing results. CHANNEL 2 #switch to channel 2 The RESTORE command can be used to go back to whatever channel was selected before any changes to the current channel were made by CHANNEL commands in the file. For example: RESTORE #restore original channel number User mode can be enabled and disabled using the USER and LOCKUSER commands. For example: USER #enable user mode The patch RAM can be loaded using the PATCH command. For example: PATCH C:\PATCHFILE.DSP_PROM #Load Patch Commands from another file can be executed by using the INCLUDE command. For example: INCLUDE C:\INPUT2.TXT Calibration can be performed using the CAL command. This will cause the CAL bit to be set, and the software will not proceed until the CAL bit clears (or the timeout period expires). LOCKUSER #disable user mode Rev. 0.2 13 AN265 12. RAM Access Type In the “Options” menu, there is an item called “16 bit RAM Accesses”. When this is enabled, the lower 13 bits of each 29-bit RAM location are cleared, and RAM accesses are performed using the 16-bit SPI accesses. This option is not valid for GCI. 13. Tools Menu The tools menu contains many useful tools for calculating register and RAM values. Clicking on an item in this menu brings up a popup with the requested tool, which can subsequently be closed by pressing the Escape key or pushing the “Close” button. 13.1. Tone Generator The Tone Generator tool is used to calculate coefficients for the tone generators inside the ProSLIC. Select the desired amplitude, frequency, and cadence, and then press “Load Values” to load the configuration into the ProSLIC. The calculated register values are displayed. 13.2. PCM Config The PCM Config tool can be used to configure the PCM registers of many channels at once. Press “Load” to update the ProSLIC. 13.3. DC Feed The DC Feed tool is used to calculate the parameters for the ProSLIC dc feed. It shows a plot of the expected dc feed curve. Warnings appear if the values entered are unachievable; however, if desired, these warnings can be disabled by checking “Turn off out of range warnings”. To load the calculated outputs to the ProSLIC, click “Load Values”. 13.4. Load Patch RAM The patch RAM load tool can be used to download patch code to the ProSLIC. Select a dsp_prom file by clicking on the yellow folder icon next to the “Patch Code File” box, and then press “Load Patch” to load the patch RAM. The entry points table should be filled in automatically when you select a valid patch code file. It is best to load a patch using an input file during initialization. 13.5. Pulse Metering (Si324x) The pulse metering tool is used to program the pulse metering registers but also contains a timer for ramping up and down the pulse metering tone. Configure the pulse metering parameters and then click “Load Values” to program the ProSLIC. To use the timer function, enter values for “Time On” and “Time Off” and then enable the timer by turning on the “Run Metering” button. The ramp bit is toggled automatically at the programmed rate. 13.6. Toggle Register State The toggle register state tool behaves similarly to the pulse metering timer function but is more flexible. Select which address to toggle and enter values for the on state and off state. Finally, enter the values for “Time On” and “Time Off” so that the chosen address toggles between the two values when the “Run” button is turned on. 13.7. Battery Switching (Si324x) The battery switching tool aids in programming the registers related to battery switching. Configure the battery voltage and GPIO setup, and then click the “Load” button to configure the ProSLIC. 13.8. Ringing The ringing tool calculates ringing register values as well as ring trip parameters. Enter the ringing cadence, frequency, amplitude, and offset. Then, enter the ring trip parameters, and click “Load” to write these values to the ProSLIC. 14 Rev. 0.2 AN265 13.9. FSK The FSK tool calculates the FSK generation coefficients for caller ID. Enter the frequencies for mark and space as well as the amplitude and baud rate. Clicking “Load” will cause the settings to be written to the ProSLIC. 13.10. MADC The MADC tool displays the monitor ADC values in hexadecimal as well as decimal similar to the “Gauges” tab. The advantage of the MADC tool is that more of the MADC registers are displayed. Optionally, the values can be averaged by changing “number of samples to average”. 14. Coefficient Generator The Coefficient Generator (on the menu bar) can be used to generate the impedance coefficients. The user may input the desired impedance values using a text file. The output is also provided in a text file. The user may also enter input values on the screen by choosing the “Use Screen Input with the Input Method” control. The values specified in the RRC boxes on the screen are then used along with the values listed in Table 2 to calculate the coefficients. The format of the RRC inputs for both the screen input and the file input mode is selected using the RRC format control. Table 2. Values Used with Screen Input Input Value cline 10 nF cac 100 nF tx_gain 0 dB rx_gain 0 dB tx_spec See example input file rx_spec See example input file 14.1. Coefficient Generator Input File Once you have installed the ProSLIC GUI, several example input files for the Coefficient Generator are provided. They are located in the install directory in the folder "File Examples". The input file templates are also accessible through a shortcut in the start menu. Choose Start → Programs → Silicon Laboratories, and click “Input_Template”. To use the provided Microsoft® Excel file, first make any changes to the input values, and save the file as a .txt file. The resulting text file may be used as an input to the Coefficient Generator. The input files created by the user must be of the same format as the provided example input file. There are three ways to input the 2-Wire and Balance Impedance: RRC Model S Domain Spectrum (magnitude and phase) The program chooses whichever comes first in the input file. All of these options are demonstrated in the example input file. To select an input file, click on the yellow folder icon to the right of the input file text box. The Windows® file open dialog appears. Alternatively, the full path of the file may be typed into the text box. Selection of the output file is performed in a similar manner. To view the input or output file selected, push the “View/Edit File” button next to the appropriate text box. The status indicator at the top left of the screen shows "Ready" until “Calculate Coefficients” is clicked. It shows "Working…" while the program is running the calculations. When the calculations are complete, it shows "Ready" again, and the resulting output files are displayed in Windows® Notepad. The results are also displayed in the output graphs to the right of the screen. The scale of these graphs can be changed by selecting the text on the axes and changing the minimum and maximum values. Click on the tabs at the top to view the various graphs. To reload these graphs from a previously-created output file, select the file in the output file text box, and click “Reload Output Graphs from Output File”. The input graph on the bottom left shows the values of the desired TX and RX magnitude spectrums. Rev. 0.2 15 AN265 14.2. Coefficient Generator Input File Format Any lines beginning with the "#" character are treated as comments and are ignored. The lines beginning with "$" are flags for the program. For example, the 2-wire impedance in the RRC format is as follows: $z_rrc start flag #2-wire impedance (RRC model) comment 600.000000 values 0.000000 0.000000 $ end flag Table 3 describes the various input values. Table 3. Input Values Input File Flag Order of Values in File Range Description b_rrc R (Ω) R (Ω) C (nF) 3 values Balance impedance (RRC model) z_rrc R (Ω) R (Ω) C (nF) 3 values 2-wire impedance (RRC model) b_spec Frequency (Hz) Magnitude (dB) Phase (rad) Any number of points from 0 to 4 kHz Balance impedance (spectral) z_spec Frequency (Hz) Magnitude (dB) Phase (rad) Any number of points from 0 to 4 kHz 2-wire impedance (spectral) b_s The first value, b_s(1), is the coefficient associated with the s9 term in the numerator polynomial, b_s(10) is the constant term. b_s(11–20) are likewise for the denominator 20 values Balanced impedance (s-domain – 10th-order numerator and 10thorder denominator z_s The first value, z_s(1), is the coefficient associated with the s9 term in the numerator polynomial, z_s(10) is the constant term. z_s(11–20) are likewise for the denominator 20 values 2-wire impedance (s-domain – 10th-order numerator and 10thorder denominator tx_spec Frequency (Hz) Magnitude (dB) (0.2–3.4 kHz) 321 points Desired TX magnitude spectrum spaced 10 Hz rx_spec Frequency (Hz) Magnitude (dB) (0.2–3.4 kHz) 321 points Desired RX magnitude spectrum spaced 10 Hz tx_gain Magnitude (dB) 1 value Desired TX gain rx_gain Magnitude (dB) 1 value Desired RX gain cline C (nF) 1 value External line capacitor value 16 Rev. 0.2 AN265 Table 3. Input Values (Continued) Input File Flag Order of Values in File Range cac C (nF) 1 value rprot R (Ω) Description External ac coupling capacitor value External protection resistor value 14.3. Coefficient Generator Output File The generated output file contains the resulting return losses, TX spectrum, RX spectrum, and coefficients. The corresponding inputs are at the end of the file. The program also generates a file that is compatible with the file input capability of the ProSLIC GUI (see Figure 14). The coefficients are listed first in hexadecimal format. Next in the file is the 2-wire return loss (labeled "rl") specified by 321 points from 200 to 3400 Hz. The 4-wire return loss ("bal") is listed next in the same format. Then, the resulting RX and TX spectrums are listed. The points are specified as frequency (Hz), magnitude (dB), and phase (rad). 14.4. Example Coefficient Generator Input File #Example input file for Si324x Coefficient Generator #Application picks input format that comes first in file #out of # 1: b_rrc and z_rrc # 2: b_spec and z_spec # 3: b_s and z_s #This example uses the RRC model format of input $b_rrc #balance impedance (RRC model) 600.000000 0.000000 0.000000 $ $z_rrc #2-wire impedance (RRC model) 600.000000 0.000000 0.000000 $ $cline #nF 10.00 $ #external line capacitor value $cac #nF 100.0 $ Rev. 0.2 17 AN265 #external AC coupling capacitor value $rprot 0.000000 $ #external protection resistor value $tx_spec #Freq Mag #desired TX magnitude spectrum (0.2-3.4kHz) 321 points spaced 10Hz #end points are specified here (the rest are interpolated) 200 0.000000 3400 0.000000 $ $rx_spec #Freq Mag #desired RX magnitude spectrum (0.2-3.4kHz) 321 points spaced 10Hz #end points are specified here (the rest are interpolated) 200 0.000000 3400 0.000000 $ $tx_gain #tx gain 0.0 $ $rx_gain #rx gain 0.0 $ 14.5. DSL Splitter Applications Contact Silicon Labs for coefficients to use in DSL applications. 18 Rev. 0.2 AN265 NOTES: Rev. 0.2 19 AN265 CONTACT INFORMATION Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 Email: [email protected] Internet: www.silabs.com The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories, Silicon Labs, and ProSLIC are trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders. 20 Rev. 0.2