Internet Explorer is not a supported browser for TI.com. For the best experience, please use a different browser.
Video Player is loading.
Current Time 0:00
Duration 16:36
Loaded: 0%
Stream Type LIVE
Remaining Time 16:36
 
1x
  • Chapters
  • descriptions off, selected
  • en (Main), selected

Hi, my name is Hamzeh Jaradat. I am systems applications engineer for FPD-Link products at Texas Instruments. In this guide, we'll show you how to use the Analog LaunchPad GUI to configure your EVM.

So what you will get from this module-- from this module, you will learn how to configure and use the USB2ANY dongle. And you will learn how to configure and use the ALP GUI, and how to use the Scripting tab in ALP GUI. At the end, we'll show one example of successful communication with an IC via ALP.

So what are the required components for this demo? We need two types of components-- hardware components and software components. Among the hardware components, I am going to use the EVM. So DS90UB954 EVM. I need one USB2ANY dongle, cable assemblies to connect the power, to connect the EVM, and USB cable.

From the software side, we need ALP software, and you need the USB2ANY SDK. And later, I'm going to show you from where to get those softwares and how to install them. So first let's see what is USB2ANY.

USB2ANY is a small dongle that, via a USB connection to a computer, enables access to devices using different kinds of interfaces. Among those interfaces, we have to I2C, SPI, UART, GPIO, and many others. For this module, we are going to use the I2C interface to communicate with the EVM.

One info about USB2ANY dongle, it can source regulated 3.3 volt and 5 volt DC power to the target device. The maximum supply current is 300 millampere. So let's start and see how to configure and use the USB2ANY.

First, all you need to install the USB2ANY SDK. If you don't have that, please contact your local TI Support and ask them for that. Once you get it, unzip the data and install the files. Once it's installed, connect the USB2ANY dongle to the USP port in your computer and go to the Installation folder. By default, it is under C: Program Files, TI USB2ANY SDK.

Under bin folder, you will find the USB2ANY firmware loader. Go ahead and start that. You will get this window. Under Available Devices, you should be able to see your device.

And under Firmware, you should be able to see the firmware flashed on your device. If your device is not flashed with the latest firmware, you can choose the latest firmware under Update to Firmware Version and click on Update Firmware. Once it's updated, click on Done, and then your USB2ANY dongle is ready to use.

Now let's see how to configure and use the ALP GUI. First you need to download and install the ALP software. If you don't have it, go to this link and download it from there. Once it's installed on your computer, you need to start the Analog LaunchPad from the shortcut from the Start menu. Normally, the default Start menu location is under All Programs, Texas Instruments, Analog LaunchPad, and the version number. After that, you need to connect your EVM.

As you can see in this picture, the USB2ANY is connected from one side to the computer using USB cable, and from the other side using three wires to the I2C on the EVM. So you need three wires for SCL, SCA, and Ground. Once you have it connected, you need to connect a power supply to your EVM and power it on.

After that, go to the ALP GUI and do the following. Make sure your hardware is connected. In the lower left-hand corner, you will see Hardware Connected. After that, make sure that you have the right profile. In this case, we can see here in the picture the loaded profile is for the DS90UB9148. And the EVM I am using is the DS90UB954. So I need to change the profile.

To change this profile, go to USB2ANY/Aardvark Setup. Click on it and you will get new window. In this window, under this section, you find ALP devices. You will find the current profile. Please click on it and remove.

Once you remove it, go to the next section, select Daughter Board, and search for your required profile. For this case, it is DS90UB954. Please click on it and click Add, and then OK. If you don't find the required profile under this section, you need to ask your TI local support for that.

Once you get the required profile, you need to unzip it and save the data in the Installation folder. Normally, it is under C: Program Files, Texas Instruments, Analog LaunchPad, and Profiles. After that, you need to restart your Analog LaunchPad and repeat the steps from 3 to 5.

After loading the required profile successfully, please click on it. Once you click on it, you will get a new overview. This new window has a number of tabs. The number of those tabs varies from device to device.

The profile of the DS90UB954 has seven tabs-- Information tab, GPIO tab, Forwarding, Scripting, CSI Registers, and Remote Registers tabs. Each of those tabs have valuable information. We are going to go through all of them.

So first one is Information tab. Under Information tab, you have multiple sections. First section, Device Information. Under Device Information, you have the name of the device. You have the revision of the device. And you can see the I2C address.

Under RX Port Configuration section, you have port enable or disable, can see the input signal mode, cabling type, and pass threshold. The third section is Current RX Port Status. Once your device is running and linked to a serializer, you'd be able to see the linked frequency. You should be able to see bus status. And once you are receiving video signal, you should be able to see the horizontal number of bytes, number of lines, and [? actional ?] frequency, and the adaptive equalizer value and the S-filter value.

Here at the bottom, you have three different types of error counters-- look change counter, parity errors counter, and encoder errors counter. The first section shows diagnostic controls. So you can reset statistics, for example, after starting up your device. You have few errors. If you want to reset those statistics, you go and reset statistics. And if you want to restart the AEQ, you can hit this button, Restart the AEQ.

Under the second tab, GPIO, you have multiple sections containing different settings of the device GPIOs. First section is GPIO Pin Control-- contains panels and dropdown menus to enable, disable, and choose different functions of GPIOs without the need to write any specific into registers. So just with mouse click, you can enable, disable, you can convert GPIO to input or to output. You can choose the source of the GPIO. You can choose from which input port is the GPIO getting the signal. Or you can assign an output value of the GPIO, 0 or 1.

In the second section, you can see all GPIO's pin status. So if it is low or high, you should be able to see the status here. In the third section, you see the backchannel GPIOs for RX 0 and for RX 1. In the first section, you see the frame sync generator. If you want to generate a frame sync signal and send it to your serializer, you can do that here.

The third tab is called Forwarding. Forwarding tab has two sections-- RX Port forwarding control. Here you can choose which port you can forward to the output. Forwarding means sending the incoming data to the output of the deserializer so you can choose that you want to forward the data from RX Port 0, or from RX 1, or from both of them. You can choose any one and hit Apply.

The second section is CSI Transmitter Control. For example, you can activate or deactivate the application mode. You can activate the output, the CSI output of the deserializer. You can choose the number of lanes. You can choose if you want continuous clock or not. And you can choose the forwarding mode, if you have round robin mode or if you have synchronous mode for forwarding the output signal. Once you choose what you want, you need to hit Apply.

The fourth tab is called Registers tab. Under this tab, you have the registers map for this device. You can find all registers for this device. And you can change any value of any register. You can write and read the value by just clicking those boxes.

To see the details of each register, I mean the exact bits and their description, you need to click on the arrow on the right side of that register. To collapse, click on the arrow again. And once you click on a register, you can see the value under the box number 2. For example, at this case, [INAUDIBLE] device ID, if you click on it, you'll see the value of 60.

If you want to see a list of current register values, you need to click on Display button on the right side. And if you want to save a register dump, you need to click on Save. And if you want to lower the register value that you have saved previously, just click on Load, choose that file, and click OK. Then you will load all the predefined register values to the register map.

The next tab is called CSI Registers. Under this tab, you will find specific CSI registers and pattern generator registers. If you want to activate the pattern generator, you can do that under this tab. Or if you want to change the output CSI setup, then you can do them also under this tab.

This tab works in the same way as the Registers tab. If you want to expand a register to see the details, click on the arrow on the right side. And if you want to collapse, click on the same arrow again. Under Remote Registers, you will find the registers of the paired device. In this case, it is the DS90UP953.

If two serializers are paired with this device, then you can choose the required serializer under Port Selection. If you want the serializer connected to Port 0, choose RX Port 0. And if you want the serializer connected to Port 1, choose RX Port 1. Everything else under this tab works as the previous CSI Registers, or Registers.

The Scripting tab has very important functions. For example, here you can write some code lines for writing and for reading some register values locally or remotely. Also, if you want to run a pre-written Python script, you just click on Run, and load the script, and execute it.

Under Scripting tab, you can add your own buttons. For example, if you are doing the initialization multiple times, or if you want to run the pattern generator, for example, multiple times, you can create your own button. If you want to do that, click on Setup. You'll get a new window, User Defined Button Setup.

Click on Add. You will get another window, New Script Button. Give your button a name and browse for your Python script and click OK. You can save this button if you want to use it in the future by clicking on Save As, or you can add this button to your user interface and make it a default by pressing Set as Default, and then press OK.

I have created one example, and I call it Initializing OB10614. I have added this button as a default, so every time I restart my ALP, I get this button. If you don't add it as default, once you close your ALP and restart again, you will not find it.

So as I said previously, under Scripting tab, you have the option to write some command lines for writing or reading some register values. For example, if you want to read locally, you can write this command. This is the number of the register and this is the length of the byte. So in this case, I am reading just the number 0 in my local device, and which I get the value of 60X.

If you want to write a new value to any register locally, you can right this command. So I want to write the value 18 to register number 5E. If you want to read back the written value, write this command. You are reading register 5E, length of one byte, which you get 18.

And to read the value of a register remotely, you need to write this command. In this case, we have written read I2C, because it is a remote address. So I have defined the address of the remote device which I want to contact, and then the register number, and then the length of the bytes. So I am reading value of 30X.

So how to confirm that you have successful I2C communication between your USB2ANY to the EVM? Under Information tab, under Device Information section, you should be able to see the device name, revision of the device, and the I2C address. If you see those information, then in the lower left-hand corner, you should be able to see also hardware connected.

If you see those information, then you have a successful local I2C communication to your EVM. So once you have read those information, you can confirm again by going to the Registers tabs, and click on Register 00, which is I2C device ID. You should be able to read the address of the device in this field.

This communication is local, so local does not require transactions across that bidirectional control channel. It means that your communication locally is confirmed. To verify that your device is connected to a remote serializer and locked, go to Register number 04, bits 2 and 3. They should be high. If they are high, it means that you have lock and pass to your remote device.

If you confirm that your device is connected, you can go to the next step and try to read the device ID of the serializer using the deserializer. You can do that under the Scripting tab by writing one of the commands that we have seen previously in the examples-- this transaction is over in the bidirectional control channel-- and verify that it works.

So if you can read and write the register values in this way, it means that you have successful communication over the bidirectional control channel. I hope this session was useful for you as a developer to save you time and effort, so you don't need to develop your script, for example, running the pattern generator, or for typing codes, for changing register values, reading and writing. You can do that all using this ALP user interface in a very simple way.

One more information, this ALP graphical user interface can be used not only with our USB2ANY. You can use it also with Aardvark. If you need more information, please go ahead and visit our ti.com FPD-Link website. And if you have a technical question, you can contact our FPD-Link support team, or go out to E2E high speed interface forums. Thank you very much for your time.

This video is part of a series