1. Why do I need a host processor?
a. The ADIN2299 acts as a “gateway” for Ethernet Connectivity. The ADIN2299 will be part of a 2 processor system with the ADSP-CM409 acting as the communications controller
2. What do I need to evaluate the ADIN2299?
a. Visual Studio
b. STM CUBE IDE
c. ADIN2299 evaluation kit.
d. Protocol Master( Usually Siemens, Rockwell or Beckhoff).
3. What is “ni-example-app”?
a. ni-example-app is the host processor simulator. It is basically a network interface example application that can run on any given processor.
b. It is distributed to run on windows and an embedded environment.
4. What flavors can ni-example-app for windows run?
a. UART
b. Ethernet
c. These both come from the PC.
5. What flavors does ni-example-app for STM32 run?
a. UART
b. Ethernet
c. SPI
d. These all come from the STM32 board.
6. What is the significance of the link configuration file?
a. This file gets created and determines the link configuration (UART, SPI or Ethernet).
7. Do I have to make a link configuration file?
a. No this can be done using the pins for this device.
b. The Link Selector pins can be strapped to make the ADIN2299 use a specified link to the host processor.
c. The Pins determine the link type unless you have loaded a link configuration file to override this.
8. Where should I start writing my host code?
a. The general flow is shown in ni-example-app
i. Follow this flow with the exception of how you configure the device and you should be good to go to conformance.
9. What is an LPL?
a. The LPL is a platform specific file that is written by a software developer. It allows the user to communicate with RPG2 using the distributed driver/libraries for ni-example-app. Once a user creates the LPL for their device, they can simply use the Unified Interface API to create their industrial ethernet application.
10. What do I have to do to change protocols?
a. There are three methods to changing protocols all of these are detailed in the ADIN2299 user guide.
i. API – You can use the source code of the Unified Interface to reprogram the ADIN2299 from the host processor.
ii. You can use JTAG(this is also the only way to get an Embedded Design up and running initially).
iii. Web Server – If you access the Web Server for the ADIN2299, there is an option there to upload files/data.
11. What is the significance of transmit modes for ADIN2299?
a. On Network – This transmit mode keeps ADIN2299 on pace with the network.
i. Host to ADIN2299 updates the same speed as the network does.
b. On Request – This transmit mode gives data from the network to ADIN2299 when asked.
i. This is an option for transmission from ADIN2299 to the host processor.
c. On Time – This transmit mode sends data from the host to ADIN2299 at a given time.
i. This works the same way for the ADIN2299 to Host and from Host to ADIN2299.
d. On Change – This transmit mode sends from the Host to the ADIN2299.
i. The network data is only updated if it changes.
12. What components need to be used for integrating ADIN2299 on the embedded design?
a. This is covered in the Hardware Design Integration Guide.
b. Other than the fido5210, ADIN1200 and the ADSPCM-409CZ The following table breaks this down.
Component | Description | Manufacturer | Part Number |
Capacitors | Decouple each voltage rail (3.3 V) with a 47 µF capacitor and a 0.1 µF capacitor. | User specified | User specified |
LEDs | MOD, NET, dual color LEDs, green and red | KPBA-3010ESGC | Kingbright |
Resistors | 470 Ω resistors, LED, current limit | User defined | User Defined |
Ferrite Bead | 1.5 A, 120 Ω ferrite bead at 100 MHz | Murata | BLM15EG121SN1D |
MagJack | RJ45 jack, module connector with integrated magnetics and LEDs | Würth Electronics | 7499010121A |
Reset Supervisor | 2.9 V power monitoring reset supervisor chip | Analog Devices | AMD708SARZ |
13. Can I deviate from the embedded reference design when it comes to components?
a. Yes, but typically with resistors and capacitors. For details please refer to the ADIN2299 user guide.
14. What software do I need to use for evaluating the ADIN2299?
a. A user needs a specific toolchain for the host processor in use. For our example, visual studio and the STM embedded cube are what is in place for the sample application.
i. In addition – Wireshark is very helpful for debugging any issues that come up.
15. How does ni-example-app work beyond just the example app?
a. The ni-example-app code is portable C Code.
b. As a follow on, the main portions of the code will compile in any embedded C environments.
16. My company doesn’t let us use DHCP as part of our environment for assigning IP addresses. Is there a way around this?
a. Yes, there is an option as part of the command line argument pass. The ADIN2299, will then use the static IP that was passed in and there is no need for a DHCP server.
17. What is the significance of the LEDs and are they required?
a. Yes, the LEDS play a specific role and should be viewed as required as each of the protocol test houses is moving towards requiring them.
18. How do I know when they will flash and how to quantify that behavior?
a. They are given the flashing interval by the network application in use. Other than connecting the LEDs, this is handled automatically by the network application.
19. What is the significance of the “SDONE” signal?
a. This signal stays low and then goes high once ADIN2299 is completely initialized. NI-example-app has some code built in to respect the SDONE for the ST environment.
b. This is discussed more in the hardware design integration guide.
20. How can I reprogram ADIN2299?
a. You can use several different methods.
i. Reprogram using JTAG.
ii. Reprogram by using the web server.
iii. Reprogram using ni-example-app (Use the API of the Unified Interface to send the reprogrammed data).
21. How can I get my own configuration data onto ADIN2299?
a. You can use several different methods.
i. Reprogram using ni-example-app.
ii. Use the prebuilt batch files to substitute your io-config.bin file as a substitute.
22. Am I limited with 6 bytes in and 8 bytes out with ADIN2299?
a. No this is an example configuration. The intent is for the customer to use the IO configuration tool to create their own devices footprint.
23. Can I create my own IO footprint without using the IO configuration tool? Or can I create my own devices or items from scratch?
a. This API does exist and is shown in the Unified Interface.
i. Use NI_AddItemCustom to create items from scratch with the corresponding parameters per protocol.
ii. Use NI_SetDeviceCustom to create a device from scratch with the corresponding parameters per protocol.
24. How can I change the Mac address for the ADIN2299?
a. You change the “rems-interface.txt” in the file system the ADIN2299.
PRIMARY MAC ADDRESS: 78:C6:BB:00:00:00 // Change here
PORT 0 MAC ADDRESS: 78:C6:BB:00:00:01 //Change here
PORT 0 AUTO-NEG ENABLE: 1
PORT 0 SPEED: 100
PORT 0 DUPLEX MODE: "FULL"
PORT 1 MAC ADDRESS: 78:C6:BB:00:00:02 // Change here
PORT 1 AUTO-NEG ENABLE: 1
PORT 1 SPEED: 100
PORT 1 DUPLEX MODE: "FULL"