VINT Communication Speed Guide
Video
Introduction
Upgrades to VINT now allow certain second-generation devices to communicate at significantly faster speeds.
Minimum VINT Communication Speed (kbps) | Maximum VINT Communication Speed (kbps) | Fastest Data Rate Possible (Hz) | |
---|---|---|---|
VINT (First Generation) | 10 | 100 | 50 |
VINT (Second Generation) | 10 | 1000 | 1000+ |
The increased VINT communication speed results in higher data rates, as shown in the table above. It also results in significantly lower latency when sending commands to devices.
Design Considerations
Determine the VINT Communication Speed Max
Visit the product page for your device, and navigate to the Specifications tab. Find the VINT Communication Speed Max property. If the value is 100kbit/s or less, your VINT Communication Speed is not configurable, and you do not have to consider it in your design. If the speed is 1 Mbit/s, your VINT Communication Speed is configurable, and you may need to consider it in your design. Continue reading for more information.
Determine the VINT Generation
If you have a high-speed device (1Mbit/s), the next thing to consider is if the VINT Hub you are connecting to is first or second-generation, and whether the port you are connecting to supports high-speed communication.
Second-generation VINT Hubs will have a shield present on their enclosure. They will also have a megabit icon present on any ports that support high-speed communication. If you have a high-speed device, but the hub you are connecting to does not support high-speed communication, your device speed will be locked to 100kbit/s and you will not have to consider communication speed in your design.
For more information about identifying second-generation systems, | click here.
Phidget Control Panel
You can also use the Phidget Control Panel on Windows to help you identify second-generation functionality. The control panel will indicate which hub ports and devices are capable of high-speed communication.
Phidget22 API
The Phidget22 API can also be used to programmatically check if a system has high-speed devices with configurable speeds. View the Phidget API section below for more information.
Selecting a VINT Communication Speed
There are seven options for VINT Communication Speed.
VINT Communication Speed (kbps) |
100 |
160 |
250 |
400 |
500 |
800 |
1000 |
The communication speed can be adjusted automatically by the VINT Hub, or manually using the Phidget API.
Automatic Selection
By default, Auto Set Speed is enabled on every second-generation VINT Hub. This allows the VINT Hub to automatically negotiate the fastest speed possible with a given device. For many devices, this is acceptable and no further consideration is required.
Devices With Variable Data Intervals/Rates
Some devices have data intervals/rates that are impacted by the VINT Communication Speed (e.g. PhidgetSpatial Precision 3/3/3). Use the Cable Length Calculator to determine if your device has this behavior. In these situations, it is important to understand the relationship between cable length/gauge, communication speed, and data interval.
Manual Selection
If your device has a variable data interval/rate, consider manually setting the VINT Communication Speed before deploying your system. Auto Set Speed may occasionally select a slightly lower communication speed due to cable length edge cases. By manually selecting your speed, you can guarantee that you will always have the expected communication speed and data rate for a given cable length.
Phidget API
As mentioned above, you can use the Phidget API to access properties related to the VINT Communication Speed of your device.
HubPortSpeed
- This property configures the communication speed for a given VINT device.
- The available speeds depend on the device.
- The fastest speed is bound by the lesser of MaxHubPortSpeed and MaxVINTDeviceSpeed.
- When read, this property reports the active VINT Speed regardless if it is set manually or set to automatic.
HubPortSupportsSetSpeed & VINTDeviceSupportsSetSpeed
- These properties are used together to determine if setting the hub port speed is valid for a system.
- This is typically used if there is a mix of VINT Hubs or a mix of device versions that are being used in different installations, or on different VINT Hub ports.
HubPortSupportsAutoSetSpeed and VINTDeviceSupportsAutoSetSpeed
- Similar to HubPortSupportsSetSpeed, these properties are used to determine the validity of setting AutoSetSpeed of the Hub port.
MaxHubPortSpeed and MaxVINTDeviceSpeed
- The maximum communication speed of a Hub port or a VINT Device.
Example
Code
using System;
using Phidget22;
namespace ConsoleApplication
{
class Program
{
static void Main(string[] args)
{
Spatial spatial0 = new Spatial();
spatial0.Open(5000);
int hubPortSpeed = spatial0.HubPortSpeed;
int maxVINTDeviceSpeed = spatial0.MaxVINTDeviceSpeed;
int maxHubPortSpeed = spatial0.MaxHubPortSpeed;
int maxVINTSpeed = Math.Min(maxVINTDeviceSpeed, maxHubPortSpeed);
bool vintDeviceSupportsSetSpeed = spatial0.VINTDeviceSupportsSetSpeed;
bool hubPortSupportsSetSpeed = spatial0.HubPortSupportsSetSpeed;
Console.WriteLine("Current VINT Speed: " + hubPortSpeed);
Console.WriteLine("VINT Device Supports Set Speed? " + vintDeviceSupportsSetSpeed);
Console.WriteLine("Hub Port Supports Set Speed? " + hubPortSupportsSetSpeed);
Console.WriteLine("Max VINT Device Speed: " + maxVINTDeviceSpeed);
Console.WriteLine("Max Hub Port Speed: " + maxHubPortSpeed);
String message = "";
if(hubPortSupportsSetSpeed && vintDeviceSupportsSetSpeed)
{
message = "Max Settable VINT Speed: " + maxVINTSpeed;
}
else
{
message = "Cannot set VINT Speed. Using VINT Speed: " + maxVINTSpeed;
}
Console.WriteLine(message);
Console.ReadLine();
spatial0.Close();
}
}
}
Output 1
The program above was run with a PhidgetSpatial Precision 3/3/3 (MOT0110_0) connected to a VINT Hub Phidget (HUB0001_0) on port 0, which is a high-speed VINT port.
Output 2
Next, the program above was run with the same hardware, but the VINT sensor was connected to port 3, which is not a high-speed VINT port.
Result
This approach can be used when there is a mix of VINT Hubs and/or a mix of devices/device versions that are being used in different installations.
Impact on Cable Length
Modifying the VINT Communication Speed will impact the cable length you can use with your system. For more information, visit the Cable Length Calculator.
Phidget Control Panel
You can experiment with different VINT communication speeds using the Phidget Control Panel. For more information, click here.