Ethernet UDP протокол на С++ Builder 6

UDP протоол в C++ BuilderРеализовать Ethernet UDP протокол на С++ Builder 6 можно на компоненте Indi. Ethernet UDP протокол отличается своей неприхотливостью в части скорости обмена. Поэтому вполне применим для скоростного обмена информацией между персональным компьютером и цифровым модулем. В частности, в данном посте, представлен один из вариантов обмена цифровой информацией между ПК и микроконтроллером типа STM32 по Ethernet.

Область применения подобного варианта связи - гидроакустические звуковизоры, где скорость обмена информацией между цифровым модулем и ПК может достигать 92...95 MBit/s. Суть данного поста небольшая программа на C++ Builder 6 выполняющаяя двусторонний обмен информацией по Ethernet протоколу UDP между цифровым модулем выполненым на популярном микроконтроллере типа stm32 и ПК на скоростях достигающих 95 MBit/s.

Программа передает пакеты данных объемом 32 байта на STM32 с периодом 1 сек которые управляют синтезатором частоты типа AD9832 и получает от микроконтроллера пакеты данных объемом 768 байт - выборки внутреннего ADC STM32, которые тривиально отображаются в окне Memo и на графическом индикаторе. Надежность связи можно оценить с помощью Wirechark.

UDP протокол в C++Builder

Как было выше упомянуто, программа работает на базе известного Ethernet компонента C++Builder Indy UDP. При запуске проекте со среды C++ Builder 6 необходимо предварительно добавить в список сокетов IP (TIdSocketHandles) - IP своего ПК, компонента UDP сервер.

UDP сервер    UDP сокет

Данную заготовку вполне можно использовать как для тестирования Ethernet на базе микроконтроллера STM32, так и для построения на ее базе любого другого приложения для обмена информацией по Ethernet между ПК и микроконтроллером или любым другим цифровым модулем имеющим в своем составе Ethernet интерфейс. Выше скриншет программы в действии. Ну и собственно архив проекта под C++ Builder 6.

Автор проекта: Костенюк Александр.

Top.Mail.Ru