Układ MCP960X/L0X/RL0X
Poprzednio omówiliśmy propozycje front-endów przygotowanych przez inżynierów z firm Analog Devices oraz Maxim. Microchip także nie pozostał w tyle za konkurencją i opracował własną serię zaawansowanych kondycjonerów termoparowych o oznaczeniu podstawowym MCP9600/MCP9601. Na linię produktów składają się wersje MCP9600/L00/RL00 oraz MCP9601/L01/RL01. Pierwsza grupa obejmuje trzy układy podstawowe, różniące się dokładnością (odpowiednio: 0,5°C/±1,5°C, 2,0°C/±4,0°C oraz 4,0°C/±8,0°C1), zaś druga – front-endy wzbogacone o obwody przeznaczone do wykrywania awarii w obwodzie czujnika. Podobnie jak w przypadku omówionych poprzednio front-endów MAX31856 oraz MAX31850, rodzina MCP960X/L0X/RL0X także obsługuje szeroki zakres różnych typów termopar (K, J, T, N, S, E, B oraz R).
Schemat blokowy, obejmujący obydwie podgrupy układów MCP9600/1, został pokazany na rysunku 1. 18-bitowy przetwornik ADC typu delta-sigma odpowiada za digitalizację napięć termoelektrycznych, zaś wyniki przetwarzania są poddawane cyfrowej korekcji zgodnie z fabrycznie ustalonym zestawem współczynników odpowiednich dla wybranego przez użytkownika (za pomocą bitów 4...7 w rejestrze konfiguracyjnym czujnika o adresie 0x05) typu termopary. Dodatkowo układ sprawdza, czy napięcie zmierzone za pomocą ADC mieści się w dopuszczalnym przedziale, przewidzianym dla danego rodzaju sensora – jeżeli tak, rdzeń cyfrowy front-endu oblicza różnicę temperatury pomiędzy złączem „gorącym” a „zimnym”, zaś w przeciwnym wypadku wystawia odpowiednią flagę alarmową w rejestrze statusu.
Wynik pomiaru – podobnie jak w przypadku większości front-endów temperaturowych – jest odnoszony do temperatury otoczenia mierzonej przez wbudowany sensor temperatury. W przypadku rodziny MCP9600/01 mamy do czynienia z czujnikiem o rozdzielczości ustawianej programowo na wartość 0,25°C lub 0,0625°C.
Warto dodać, że jeszcze przed zsumowaniem temperatury otoczenia („zimnego końca”) oraz różnicy ΔT, wyliczonej na podstawie napięcia termopary, słowa wyjściowe ADC są poddawane filtracji cyfrowej za pomocą filtru IIR pierwszego rzędu o siedmiu konfigurowalnych poziomach uśredniania (układ korzysta z algorytmu wykładniczej średniej ruchomej, ang. EMA). Choć tego typu filtr z powodzeniem można byłoby zrealizować już po stronie oprogramowania nadrzędnego procesora, to w tym przypadku zabieg filtracji i to na tak wczesnym etapie toru przetwarzania sygnału ma konkretne znaczenie praktyczne. Producent zastosował bowiem rozbudowany blok czterech jednakowych kanałów alarmowych, wyposażonych w osobne rejestry nastawy progu alarmowego i histerezy oraz rejestry konfiguracyjne, pozwalające na ustalenie sposobu działania wyjść alarmowych (tryb przerwania lub komparatora), stanu aktywnego (niski lub wysoki), zbocza sygnału (czyli kierunku wykrywanych zmian – wzrost lub spadek temperatury), a także umożliwiające wybór temperatury, która ma być monitorowana (złącze „gorące” lub „zimne”).
Schemat funkcjonalny dla jednego z takich bloków pokazano na rysunku 2, zaś przykładowe przebiegi – na rysunku 3. W trybie komparatora wyjście pozostaje w stanie aktywnym, dopóki sygnał nie powróci do dopuszczalnego przedziału temperatury – czyli dokładnie tak, jak ma to miejsce w przypadku typowego termostatu. Z kolei funkcja przerwania powoduje, że wyjście jest sterowane w sposób przypominający obsługę flag w mikrokontrolerze – linia jest ustawiana w stan aktywny po wykryciu (zależnie od ustawień) spadku lub wzrostu temperatury, zaś po wyzerowaniu przerwania (poprzez zapisanie logicznej jedynki do odpowiedniego bitu w rejestrze konfiguracyjnym kanału alarmowego) – powraca do stanu spoczynkowego.
Jak można było zauważyć we wcześniejszych odcinkach Poradnika Implementacji, front-endy nierzadko obfitują w nietypowe rozwiązania techniczne, których próżno szukać (lub które znaleźć można, ale ze sporym trudem) w innych układach scalonych. W rodzinie MCP9600/1 ciekawym przykładem takiego niuansu będzie sposób, w jaki inżynierowie firmy Microchip rozwiązali zagadnienie wyboru adresu I²C front-endu. Zamiast klasycznych wejść binarnych mamy tu bowiem do czynienia z wejściem analogowym, obsługującym (oprócz czystego potencjału masy oraz VDD) aż 6 różnych napięć pośrednich, wynikających ze ściśle określonego wyboru kombinacji rezystorów w dzielniku napięciowym, dołączonym do linii ADDR. Takie rozwiązanie umożliwiło zwiększenie liczby możliwych adresów aż do ośmiu wartości i to z użyciem jednego tylko pinu. Przykładową realizację systemu opartego na kilku jednakowych układach z różnymi nastawami adresów zaprezentowano na rysunku 4, zaś listę możliwych kombinacji rezystorów dzielnika – w tabeli 1.
Na koniec dodajmy jeszcze istotną informację o różnicach pomiędzy członkami omawianej rodziny układów. Podczas gdy dodatkowe litery wewnątrz oznaczenia określają dokładność pomiarową AFE, to ostatnia cyfra głównego numeru układu (MCP9600 lub MCP9601) informuje o obecności bloku diagnostycznego w strukturze front-endu. Mowa o wspomnianych już wcześniej obwodach służących do detekcji potencjalnych awarii w obwodzie termopary. Dzięki odpowiedniemu doborowi wartości trzech zewnętrznych rezystorów układ MCP9601/L01/RL01 jest w stanie wykryć stany uszkodzenia i zaalarmować o nich urządzenie za pośrednictwem dwóch linii wyjściowych o aktywnym stanie wysokim (SC Alert oraz OC Alert).
Co ciekawe, producent przewidział możliwość detekcji dla obydwu wersji układu – zarówno dla MCP9600, jak i MCP9601 (rysunek 5), przy czym tylko drugi z nich ma sprzętowe wyjścia alarmowe oraz dodatkowe wejście monitorujące nieodwracającą linię wejściową ADC (VSENSE). W prostszej wersji (MCP9600/L01/RL01) w celu detekcji otwarcia obwodu trzeba wykorzystać 4. bit rejestru statusu, zaś zwarcie może być wykryte jedynie poprzez sprawdzenie, w jakim podzakresie pełnej skali znajduje się aktualny wynik pomiaru ADC.
Układ ZSSC4175
Firma Renesans także opracowała własne portfolio front-endów czujnikowych, choć spośród przeszło 30 produktów z tej kategorii zaledwie dwa wiążą się z tematem tego odcinka naszego cyklu. Jeden z nich jest przeznaczony do użytku tylko z termoparami, zaś drugi – uniwersalny – obsługuje także sygnały z fotodetektorów oraz czujników o charakterystyce rezystancyjnej. Tym razem zajmiemy się prostszym (choć w swojej klasie i tak dość rozbudowanym) układem ZSSC4175.
Schemat blokowy front-endu został pokazany na rysunku 6. Co ciekawe – choć w żaden sposób nie wynika to wprost z rysunku – architektura AFE bazuje na… 16-bitowym mikrokontrolerze RISC. W odróżnieniu od opisanych wcześniej układów, ZSSC4175 ma nie jedno, ale dwa wejścia termoparowe oraz – rzecz jasna – wewnętrzny czujnik służący do kompensacji „zimnych końców”. Sercem analogowej części front-endu jest 14-bitowy przetwornik ADC, wyposażony w multiplekser oraz wzmacniacz PGA. Dane konfiguracyjne oraz współczynniki kalibracji, pozwalające na współpracę z termoparami typu N, są przechowywane w pamięci nieulotnej. Uproszczony schemat podstawowej aplikacji front-endu pokazano na rysunku 7.
Wynikowa dokładność pomiarowa to 5°C (przy temperaturze gorącego końca na poziomie 1000°C). Sam układ może pracować w otoczeniu o temperaturze od –40 do +150°C i jest zoptymalizowany pod kątem aplikacji motoryzacyjnych, o czym może świadczyć nie tylko jego kwalifikacja (AEC-Q100 Grade 0), ale także zastosowane rozwiązania w zakresie głównego interfejsu komunikacyjnego.
Producent zdecydował się na wbudowanie w układ nadajnika zgodnego z protokołem SENT (Single Edge Nibble Transmission), stosowanym szeroko w motoryzacji do jednokierunkowej komunikacji zdalnych czujników z kontrolerami. Format przykładowej ramki w trybie Fast Channel Message (wykorzystywanym do przesyłu danych użytkowych, w odróżnieniu od transmisji typu Slow, która pozwala na przesył niewielkich ilości dodatkowych informacji, np. identyfikatora czujnika) pokazano na rysunku 8. Po impulsie synchronizacyjnym (trwającym przez dokładnie 56 cykli zegara) rozpoczyna się nadawanie paczek w formie półbajtów (stąd nazwa protokołu), kodowanych długością impulsu dodatniego (od 12 do 27 cykli, co odpowiada wartościom od 0 do 15, czyli 0x0...0xF). Typowe zastosowania protokołu SENT obejmują transmisję danych 12-bitowych (czyli złożonych z trzech półbajtów), stąd też efektywna rozdzielczość opisywanego przez nas front-endu wynosi właśnie 12 bitów (pomimo, że natywna rozdzielczość ADC jest wyższa).
Osoby zainteresowane zastosowaniem front-endu ZSSC4175 w projektowanych urządzeniach mogą skorzystać z rozbudowanego zestawu ewaluacyjnego, w ramach którego płytka układu AFE (nazwanego w nomenklaturze marki Renesans mianem SSC – Sensor Signal Conditioner) współpracuje z uniwersalnym modułem komunikacyjnym (SSC-CB), a także – w razie potrzeby – z dodatkowymi nakładkami, mającymi na celu np. prostą emulację mostka pomiarowego z użyciem potencjometru i kilku dodatkowych elementów dyskretnych. Wygląd zestawu prezentuje fotografia 1.
Podsumowanie
W tym odcinku Poradnika Implementacji zaprezentowaliśmy dwa kolejne, zaawansowane technicznie front-endy przeznaczone do prowadzenia pomiarów z użyciem termopar. Na rynku istnieje jednak szereg układów znacznie bardziej rozbudowanych, często multifunkcyjnych – czyli pozwalających na współpracę z różnymi typami czujników (termopary, RTD, czujniki półprzewodnikowe) i nierzadko oferujących interesujące możliwości dodatkowe. W niedalekiej przyszłości zajmiemy się także nimi – tymczasem zapraszamy do lektury kolejnego, już 21 (oczko!) odcinka Poradnika, w którym weźmiemy na warsztat układy AFE wykorzystujące w roli czujników niezwykle popularne termorezystory (RTD).
inż. Przemysław Musz