Cyfrowe sterowniki przetwornic DC/DC: implementacja sprzętowa bez konieczności kwalifikacji kodu
Cyfrowe sterowanie zasilaniem (digital power management) staje się z roku na rok coraz bardziej popularne. Dzieje się tak z kilku powodów. Po pierwsze, na rynku dostępnych jest coraz więcej układów pozwalających na jego realizację, co pozwoliło obniżyć koszty rozwiązań. Drugą ważną przyczyną dzisiejszego sukcesu cyfrowego zarządzania zasilaniem jest rosnący poziom wiedzy o nim i zaufania w stosunku do niego u inżynierów projektujących systemy zasilające.
Istnieje obecnie wiele różnych stylów realizacji cyfrowego zarządzania zasilaniem, definiowanych przez sposób implementacji cyfrowej funkcjonalności. Mogą do tego służyć mikroprocesory, mikrokontrolery, układy DSP, a nawet FPGA. Do realizacji zarządzania w każdym ze „stylów” dostępne są układy, cechujące się stosowną mocą obliczeniową i zestawem odpowiednich interfejsów analogowych. Moc obliczeniowa zwykle nie jest problemem, jednak będące na wyposażeniu układu peryferia analogowe muszą być dedykowane do zastosowań w źródłach zasilania. Potrzebne w nich interfejsy analogowe to przetworniki analogowo-cyfrowe oraz generatory PWM, które muszą być wystarczająco szybkie i dokładne, aby zasilacz mógł pracować ze stabilną pętlą sterowania oraz miał akceptowalną odpowiedź na skoki napięcia i prądu obciążenia. Dodanie takich peryferiów do cyfrowego rdzenia w postaci zewnętrznych układów A/C jest możliwe, ale zwykle dosyć drogie i trudne do zaimplementowania, a przy tym wymaga sporo miejsca. Trudność leży w fakcie, że wybór odpowiednich układów jest trudny i wymaga wiedzy o systemach zasilania oraz dobrego zrozumienia funkcjonowania przetworników A/C.
Dużo prostszy i lepszy jest w takiej sytuacji wybór scalonego układu dedykowanego do cyfrowego zarządzania zasilaniem. Na współczesnym rynku dostępnych jest wiele takich układów.
Rozwiązania wymagające pisania kodu i jego kwalifikacji
Pierwszą grupą dostępnych rozwiązań są te wymagające programowania cyfrowej części układu poprzez pisanie kodu, często w języku C. Daje to dużą elastyczność, gdyż możliwa jest implementacja każdego pomysłu projektanta, o ile tylko nie jest on zbyt wymagający obliczeniowo i nie wymaga dodatkowych peryferiów. Elastyczność jest jednak okupiona sporym kosztem – konieczna jest wiedza programistyczna, a eksperci od projektowania układów zasilających zwykle nie są zbyt doświadczeni w kodowaniu. Czasami zespoły mają w składzie zarówno specjalistów od zasilania, jak i programistów. Takie zespoły mogą pracować sprawnie, ale często pojawiają się trudności w komunikacji, albo sytuacje, w których eksperci od programowania zbyt słabo znają problematykę zarządzania zasilaniem, by szybko znaleźć dobre rozwiązania.
Gdy pisanie kodu zostanie zakończone, konieczne jest rygorystyczne testowanie, gdyż zawieszenie się oprogramowania lub wejście w niezdefiniowane stany może się dla zasilacza skończyć katastrofą. Weryfikacja i kwalifikacja oprogramowania są czasochłonne, kosztowne i wymagają doświadczenia. W wielu zastosowaniach, takich jak motoryzacja, systemy wojskowe czy przemysłowe, każda modyfikacja kodu będzie wymagała przeprowadzenia uciążliwego procesu kwalifikacji od nowa. Te wady i trudności, ograniczają możliwości zastosowania programowanych systemów sterowania zasilaniem do specyficznych wypadków, wymagających dużej swobody w projektowaniu i niepozwalających korzystać ze standardowych rozwiązań.
Rozwiązania niewymagające kodowania, ale wymagające kwalifikacji kodu
Niektórzy producenci układów scalonych do systemów cyfrowego zarządzania zasilaniem pomagają swoim klientom w procesie projektowania, oferując wstępnie zaprogramowane narzędzia. Mogą to być na przykład zakodowane rozwiązania IP, tworzone specjalnie pod kątem realizacji funkcji zasilania, dostarczane inżynierowi projektującemu zasilacze. Projektant może połączyć niektóre z tych modułów i skonfigurować kompletne rozwiązanie. Wsparcie w zakresie programowania może też przybrać postać graficznych interfejsów, ułatwiających konfigurację i dobór funkcjonalności zasilacza. Tłumaczą one niejako sposób myślenia specjalisty od zasilania na język zrozumiały dla układu cyfrowego, ale chociaż jest to wartościowa metoda wsparcia projektowania, wynikiem jej działania jest koniec końców kod.
Przy takim podejściu możliwości projektanta są w pewien sposób ograniczone. Jeśli dane narzędzie programowe nie obsługuje jakiejś funkcji, nie da się jej w prosty sposób zaimplementować. Chociaż generacja kodu jest w takim podejściu ułatwiona, wciąż wymagane jest szczegółowe testowanie, które zapewni, że zasilacz będzie działał stabilnie, a finalny kod trzeba poddać procesowi rygorystycznej kwalifikacji.
Rozwiązania bez pisania kodu i jego kwalifikacji
Trzeci styl, w jakim można budować cyfrowe źródła zasilania stanowią systemy w pełni zdefiniowane sprzętowo, oparte o scalony kontroler z maszyną stanów. Wpływ projektanta na kontroler jest tu ograniczony do ustawiania rejestrów w maszynie stanów. Chociaż ogranicza to w pewnym stopniu elastyczność, większość możliwych scenariuszy pracy jest brana pod uwagę przy projektowaniu kontrolera, więc takie zintegrowane rozwiązanie sprawdza się w wielu przypadkach. Te naturalne ograniczenia ułatwiają też pracę i podnoszą bezpieczeństwo, gdyż przy zmniejszonej liczbie „gałek” regulujących konfigurację systemu, wyszukiwanie błędów jest dużo prostsze.
Rys. 1. Układ ADP1051 w topologii izolowanej przetwornicy DC-DC z przełącznikiem ZVS (Zero Voltage Switching) i prostowaniem synchronicznym
Na rysunku 1 przedstawiono typowy układ ze scalonym kontrolerem przetwornicy DC/DC opartym o maszynę stanów ADP1051. Jest on wykorzystywany w topologii pełnego mostka z przeznaczeniem do izolowanego przetwarzania sygnału o mocy kilkuset watów.
Graficzny interfejs użytkownika i generowane ustawienia rejestrów
Na rysunku 2 widoczny jest zrzut ekranu graficznego interfejsu użytkownika (GUI) układu ADP1051. Chociaż ustawienia rejestrów maszyny stanów można dokonywać przez interfejs I2C, takie GUI znacząco ułatwia ten proces. Całą konfigurację wykonać można na kilku ekranach, a w okienku podglądu, użytkownik może obejrzeć pełen strumień danych komunikacyjnych przepływających między GUI i układem kontrolera. Zrzut widoczny na rysunku 2 przedstawia jako przykład ustawienia kompensacji pętli sterującej. Położenie zer i biegunów można przestawiać za pomocą myszy, a dla różnych warunków pracy, możliwe jest zastosowanie różnych schematów kompensacji.
Rys. 2. Zrzut ekranu graficznego interfejsu użytkownika do konfiguracji cyfrowego kontrolera przetwornicy DC/DC opartego o maszynę stanów
Szczegóły dotyczące typowych projektów
Układ przedstawiony na rysunku 1 wykorzystuje sterownik ADP1051 firmy Analog Devices do realizacji przetwornicy DC/DC w układzie pełnego mostka. Inne typowe układy to półmostek, układ z dwoma kluczami typu two switch forward i konfiguracja active clamp forward. Kontrolery te mogą pracować też w przetwornicach rezonansowych LLC. W przypadku nieizolowanych źródeł zasilania, nowy układ ADP1055 może być używany także do budowy bardziej elastycznych, synchronicznych przetwornic obniżających. Innymi kontrolerami wykorzystującymi tę samą koncepcję są ADP1047 i ADP1048, stosowane w systemach korygujących współczynnik mocy.
Wszystkie te układy są wyposażone w interfejs I2C lub nawet PM-bus, używane do dynamicznego odczytu informacji o błędach i bieżącym stanie napięć oraz prądów w systemie. Cyfrowy interfejs służy też do ustawiania i resetowania konkretnych wartości w rejestrach. Aby ułatwić projektowanie, wszystkie kontrolery oparte o maszynę stanów są wyposażone w pamięć EEPROM, przechowującą wartości z rejestrów. Upraszcza to uruchamianie układu, a kilka bajtów pamięci można też wykorzystać na dane zewnętrzne, takie jak np. licznik godzin pracy systemu, dzięki czemu zewnętrzna pamięć flash czy EEPROM nie jest konieczna.
Zintegrowane w kontrolerach przetworniki A/C i generatory PWM są zoptymalizowane pod kątem wykorzystania w źródłach zasilania. Napięcie wyjściowe jest mierzone z zastosowaniem dwóch przetworników A/C – jeden jest bardzo szybki i zapewnia szerokie pasmo pętli regulacyjnej, drugi bardzo precyzyjny, aby zagwarantować dużą dokładność pomiaru napięcia stałego. Wyniki otrzymane z obu przetworników są następnie łączone w domenie cyfrowej, a projektant nie musi się już martwić o te bloki funkcjonalne. Na rysunku 3 przedstawiono schemat blokowy, ilustrujący integrację starannie dobranych układów analogowych oraz z pamięcią EEPROM i cyfrowym układem sterującym opartym o maszynę stanów
Rys. 3. Schemat blokowy układu ADP1051: wygodna integracja przetworników ADC i DAC z rdzeniem kontrolera
Zalety cyfrowych źródeł zasilania specyficzne dla zastosowań przemysłowych
Cyfrowe źródła zasilania są szczególnie powszechne w infrastrukturze telekomunikacyjnej, gdzie już wiele lat temu wiadomo było, że wiele funkcji i cech charakterystycznych dla zasilaczy cyfrowych wnosi do systemów oczywiste korzyści. W zastosowaniach przemysłowych jesteśmy wciąż na początku drogi, jeśli chodzi o wdrażanie digital power management. Podstawowymi motywami, które do niego skłaniają są rozwój komunikacji M2M (Machine-to-machine) oraz potrzeba przekazywania informacji o stanie i warunkach pracy zasilacza oraz o jakości napięć dostarczanych przez niego i docierających do niego. Silną motywacją do wprowadzania cyfrowego zarządzania zasilaniem w zastosowaniach przemysłowych są też wymagania dotyczące sprawności oraz obawy związane z niezawodnością systemów. Cyfrowe kontrolery zasilania oparte o maszynę stanów pozwalają łatwo i niedrogo rozwiązywać wszystkie te problemy.
Frederik Dostal – Analog Devices