
Когда вы отлаживаете МК, то у вас на виду текущее значение регистров и место где сейчас находится выполнение программы, можно в режиме реального времени изменять регистры и выполнять программу по шагам. В ПЛИС никаких регистров нет, а тем более программы, как же там происходит отладка? В данной статье мы покажем, как пользоваться встроенным логическим анализатором Quartus SignalTap. в качестве подопытной схемы выступит счетчик в коде Грея. На самом деле SignalTap предоставляет огромные возможности по отладке проектов. По сути дела он позволяет заглянуть внутрь микросхемы и посмотреть на временные диаграммы интересующих нас сигналов.

Кроме работы по интерфейсу RS485, наш газоанализатор может работать по интерфейсу ETHERNET с протоколом UDP. UDP (User Datagram Protocol) представляет сетевой протокол, который позволяет доставить данные на удаленный узел. Для этого передачи сообщений по протоколу UDP нет надобности использовать сервер, данные напрямую передаются от одного узла к другому. Снижаются накладные расходы при передаче, по сравнению с TCP, сами данные передаются быстрее. Все посылаемые сообщения по протоколу UDP называются дейтаграммами. Также через UDP можно передавать широковещательные сообщения для для набора адресов в подсети. В этой статье мы создадим class ETHServer для общения по интерфейсу ETHERNET с помощью UDP пакетов. Начиная с фреймворка .Net 1.1 (и более поздних версий .NET) компания Microsoft добавила поддержку UDP соединения, включением класса UdpClient как части пространства имен System.Net.Sockets. Для начала опишем используемые классом переменные:

Эта статья показывает, как записывать и читать данные от устройства, подключенного к последовательному порту (COM-порт) из приложения на языке C# в среде .NET. В этой статье мы создадим class RS485Server для работы с нашим газоанализатором по интерфейсу RS485. В недалеком прошлом для работы с Serial Port в среде .Net 1.1, мы должны были использовать либо Windows API, либо использовать управление из сторонних библиотек. В среде .Net 2.0 (и в более поздних версиях .NET) компания Microsoft добавила поддержку последовательного порта включением класса SerialPort как части пространства имен System.IO.Ports. Реализация класса RS485Server сделана очень прямо и очевидно. Для начала опишем используемые классом переменные:

Два года назад мы пытались использовать Raspberry Pi B+ для запуска нашей системы Умная остановка. В прошлый раз результат нас особо не вдохновил, и мы на какое-то время приостановили наши эксперименты. Но как известно время не стоит на месте, производители выпускают новые продукты. И мы решились повторить наш эксперимент уже на новой плате: Raspberry Pi 3 Model B. На этот раз мы решили не искать простых путей, и занялись кросс-компиляцией кросс-платформенного инструментария разработки ПО на языке программирования C++ QT 5.11 на Linux Ubuntu 17.10. Что из этого получилось можно прочитать под катом.

Анализ газовых сред является обязательным мероприятием в работе химических производств, а также на многих промышленных предприятиях. Такие исследования представляют собой процедуры по измерению того или иного компонента в газовой смеси. Например, в горнодобывающих предприятиях знание характеристик воздуха в шахте является вопросом безопасности, а экологи таким образом определяют концентрацию вредных элементов. Не так часто подобные анализы применяют в бытовых целях, но если такая задача и возникает, то лучше всего использовать газоанализатор. Это измерительное устройство, позволяющее определить состав газовой смеси. При этом есть множество разновидностей данного прибора, которые имеют принципиальные отличия.

Для реализации одного из наших проектов нам понадобилось найти способы наладить взаимодействие между «взрослыми» серверами, служащих для накопления и обработки больших массивов информации и нашим устройством с микроконтроллером «STM32», эту самую информацию собирающим. Одним из вопросов, возникающих при проектировании радиоэлектронных систем, является передача данных (например, первоначальных настроек) от сервера к контроллеру.
Метод передачи данных, разумеется, может разниться в зависимости от решаемой задачи. При больших объемах информации, возможно, будет предпочтительнее использовать какой-то бинарный протокол, возможно, даже с сжатием информации. В случае же, если объем передаваемой информации относительно небольшой, можно передавать данные в формате JSON. В плюсы такому методу можно записать как удобство интерпретации передаваемой информации «на глаз», так как это практически просто удобочитаемый текстовый поток, так и простоту обработки при помощи готовых библиотек.