Oprogramowanie i narzędzia projektowe
Z roku na rok coraz większa część procesu projektowania jest wykonywana za pomocą komputera. Etap, kiedy myśl techniczna musi zostać sprawdzona w środowisku rzeczywistym, stale przesuwa się w czasie na później, a liczba prototypowych wersji, które trzeba przygotować, nieustannie się zmniejsza. To dobra wiadomość, bo znaczy, że dostępne na rynku narzędzia projektowe mają coraz większe możliwości. Urządzenia elektroniczne stają się coraz bardziej skomplikowane i zagadnień, nad którymi trzeba utrzymać kontrolę w projekcie, jest coraz więcej.
Najlepszym przykładem jest zachowanie zasad projektowania w zakresie kompatybilności elektromagnetycznej. Łatwo można się pomylić, czegoś nie dopilnować lub o czymś zapomnieć. Dopóki projekt jest "w komputerze", pomyłkę łatwo można skorygować, potem jest to już poważny problem. Dzisiaj regułą jest także, że inżynierowie realizują kilka projektów jednocześnie i każdy z nich jest na innym stopniu zaawansowania, przez co panowanie nad szczegółami nie jest łatwym zadaniem i wymaga podzielności uwagi. Oczywiście czasu w pracy stale brakuje, stąd bierze się coraz większa presja na możliwości projektowe, bo gdy są one duże, umożliwiają dotrzymanie terminów.
Podstawowe dla elektroników oprogramowanie EDA, a więc służące do rysowania schematów i projektowania płytek jest niezbędne, ale już dawno niewystarczające. Płytka musi zostać zamknięta w obudowie, stąd firmy elektroniczne sięgają też po narzędzia do projektowania mechaniki, np. Solidworks, narzędzia CAD do projektowania połączeń elektrycznych i wiązek między blokami funkcjonalnymi w obudowie, takimi jak zasilacz, komputer, element wykonawczy. Im bardziej skomplikowane urządzenie, a więc więcej płytek, złączy i komponentów składających się na całość, tym znaczenie posiadania oprogramowania projektowego do projektowania takich "dodatków" staje się oczywiście większe.
Tworzenie projektu to także symulacje i weryfikacje poprawności wykonywane na poziomie schematu (poprawność połączeń, weryfikacja koncepcji układowych), płytki drukowanej (m.in. integralność sygnałowa), a dla wszystkich komponentów są to symulacje w zakresie kompatybilności elektromagnetycznej oraz badania termiczne. Możliwość wizualizacji płytki w trzech wymiarach ułatwia nie tylko spasowanie z obudową, ale także planowanie dróg wentylacji. Oczywiście, im więcej symulacji, tym oczywiście mniejsze ryzyko, że wykonany na koniec prototyp nie spełni założeń i będzie wymagać poprawek.
Więcej symulacji to mniej prototypów fizycznych
Możliwości zapewniane przez oprogramowanie symulacyjne są ogromne i bez problemu można uzyskać dużą moc obliczeniową niezbędną do szybkich obliczeń. Mamy przetwarzanie w chmurze obliczeniowej, farmy serwerów, które można wynająć i zlecić obliczenia. Pecety też są znacznie bardziej wydajne, co nierzadko daje spore możliwości symulacyjne zwykłym komputerom biurowym. Rozwój oprogramowania symulacyjnego przyspieszył w ostatnich latach, bo okazało się, że symulacje pozwalają przygotować projekt szybciej i taniej, niż tradycyjnie było to realizowane przez szereg kolejnych iteracji z doskonaleniem prototypów. Najbardziej znaczący postęp dotyczy EMC, gdzie symulacja przynosi bardzo spektakularne efekty.
Na koniec zostaje to, na co często nie wystarcza czasu, w tym wykonanie dokumentacji. Wiele realizowanych obecnie projektów urządzeń ma charakter specjalistyczny, a więc jest tworzonych na zamówienie i produkowanych w krótkich seriach. Takie produkty są też dopasowywane do wymagań za pomocą mniejszych lub większych modyfikacji wersji seryjnych lub też wersji bazowej o ogólnym przeznaczeniu. W ten sposób charakteryzują się w jakiejś mierze unikatowością, a wykonane zmiany wymagają udokumentowania dla potrzeb przyszłej obsługi posprzedażnej lub na żądanie zamawiającego. Tworzenie dokumentacji w przypadku, gdy proces projektowania jest realizowany w spójnym środowisku komputerowym zapewniającym wymianę danych między używanym oprogramowaniem, jest podstawą do tego, aby dokumentacja nie była problemem. Z tych przyczyn wiele dzisiaj się mówi o współpracy różnych klas oprogramowania ze sobą, a przynajmniej o wymianie danych między światem elektrycznym i mechanicznym.
Narzędzia darmowe i komercyjne
Cechą charakterystyczną rynku narzędzi dla mikrokontrolerów, procesorów DSP i układów programowalnych jest duża liczba pozycji darmowych, zarówno jeśli chodzi o platformę sprzętową, jak i oprogramowanie. Pozycje takie tworzą jeden biegun dla rynku, a drugi stanowią zaawansowane wersje komercyjne, relatywnie drogie. Na pewno wiele prostych projektów z powodzeniem daje się zrealizować za pomocą bezpłatnych środowisk programistycznych oraz dotowanych zestawów projektowych, bo mają one wystarczające możliwości. Projektanci, którzy tworzą aplikacje profesjonalne, takie, gdzie jakość i niezawodność potwierdzana jest badaniami i certyfikatami, duże zespoły projektowe i biura inżynierskie, dla których projekty są główną działalnością, nierzadko preferować dopracowane produkty komercyjne. Im skala działania jest większa, tym koszt narzędzi w przeliczeniu na sztukę jest mniejszy, co sprzyja narzędziom komercyjnym. Niemniej czynników wyboru jest naprawdę wiele.
Patrząc na te procesy w perspektywie lat, można powiedzieć, że koszt pracy inżynierskiej stale rośnie, na dodatek dobrych projektantów elektroniki zawsze brakuje, zwłaszcza w zakresie układów analogowych. Wydajne narzędzia, które są w stanie przyspieszyć projektowanie, ograniczyć liczbę wykonywanych prototypów i takie, które pozwalają zrobić więcej przy mniejszych zasobach kadrowych, zawsze będą poszukiwane i pewnie z czasem nawet bardziej niż dzisiaj. Firmy decydują się na płatne oprogramowanie także wówczas, gdy chcą korzystać ze wsparcia technicznego, ci, którzy potrzebują gotowych bibliotek, na przykład obsługujących zaawansowane układy peryferyjne, korzystają z systemów operacyjnych, realizują złożone systemy, do tworzenia których przydają się dostępne w płatnych pakietach funkcje optymalizacyjne i analityczne.
Aplikacje low-code
Wiele aplikacji mobilnych nastawionych jest z definicji na współpracę ze smartfonem. Z użyciem Bluetooth lub Wi-Fi umożliwiają one programowanie, wizualizację staniu, sterowanie i podobne udogodnienia w powiązaniu z odpowiednią aplikacją. Jej przygotowanie obecnie jest też coraz łatwiejsze i dostępne dla mniej zaawansowanych użytkowników dzięki narzędziom ograniczającym szczegółowość programowania (low-code) lub nawet eliminujących taką potrzebę (no-code). W tym drugim przypadku tworzy się ją za pomocą wyspecjalizowanego kreatora komponując z bloków funkcjonalnych. Z punktu widzenia platform IoT dostępność takich narzędzi online jest cenna, bo jeszcze bardziej ułatwia i przyspiesza realizację projektów.
Tendencje w oprogramowaniu EDA
Tendencje są takie, aby projektowanie nie kończyło się w momencie przygotowania schematu i zaprojektowania płytki, ale objęło też wirtualne przygotowanie prototypu i poddanie go badaniom. Wizualizacja i prezentacje trójwymiarowe płytek drukowanych z komponentami, projektowanie mechaniczne obudów i rozwiązań montażowych z możliwością złożenia całości ze sobą (płytki i obudowy) są już dzisiaj częścią nowoczesnego oprogramowania EDA, dzięki czemu projekt układu elektronicznego zmienia się tym samym w projekt systemu. Wizualizacja obudowy, przewodów, wzajemnego ułożenia bloków funkcjonalnych (zasilacz, wentylator, akumulator, filtr sieciowy, gniazda, otwory) staje się dzisiaj coraz bardziej istotna, bo umożliwia w kolejnym kroku przeprowadzenie wszechstronnych symulacji.
IoT i komunikacja bezprzewodowa
Spora część narzędzi i zestawów projektowych przeznaczona jest do aplikacji IoT i komunikacji bezprzewodowej. Ten segment rynku rozwija się dynamicznie, bo w pewnym stopniu jest specyficzny. Komunikacja bezprzewodowa wymaga zapewnienia zgodności z wymaganiami prawnymi, nierzadko obsługi protokołów. Do tego dochodzą zaawansowane technologie oszczędzania energii, wyłączania bloków, użycia specyficznych modulacji, kodowania danych. W przypadku komunikacji przez sieć komórkową lub inną sieć o charakterze publicznym trzeba spełnić wymagania techniczne operatora lub dostawcy infrastruktury sieciowej. Komplikacja zagadnień technicznych stojących przed projektantami w tym obszarze jest znacznie większa. Problemy pogłębia to, że wiele aplikacji IoT to maleństwa o wysokiej skali integracji, wymagające posiadania zaawansowanego parku maszynowego po stronie produkcji. Zapanowanie nad projektem bez wsparcia się nowoczesnym oprogramowaniem i platformami sprzętowymi jest w zasadzie niemożliwe, stąd dostępność rozbudowanych zestawów, narzędzi i oprogramowania staje się dzisiaj często wręcz kluczowa.
W obszarze IoT potrzeba pracy w oparciu o oprogramowanie platformy rozwojowe jest bardzo wyraźnie zarysowana. Wiele modułów komunikacyjnych to złożone konstrukcje zawierające procesor aplikacyjny, pamięć i układy peryferyjne, dające możliwość programowania. Do ich obsługi potrzebne są narzędzia programowe i sprzętowe, podobne jak dla mikrokontrolerów. Zresztą w praktyce zagadnienia komunikacyjne i mikrokontrolery są ze sobą bardzo mocno powiązane, na rynku funkcjonują specjalizowane procesory z wbudowanymi transceiverami BLE lub Wi-Fi.