ST-Link i STM32F4 – specyficzne kłopoty z wersją krzemu Z
Od marca 2012 w oficjalnych kanałach sprzedaży firmy STMicroelectronics dostępne są nowe wersje mikrokontrolerów STM32F4, w których struktury w wersji „A” zastąpiono strukturami w wersji „Z”. W nowych wersjach struktur poprawiono większość błędów występujących w wersji „A”, wprowadzono także pewne modyfikacje, które mogą utrudnić zastosowanie nowych wersji mikrokontrolerów w dotychczasowych projektach.
Szybkie tempo wprowadzania nowych wersji i typów mikrokontrolerów na rynek powoduje radykalne skrócenie czasu testowania ich w fabryce, w wyniku czego producenci dość często wprowadzają udoskonalane wersje struktur krzemowych. Ten popularny współczesny syndrom dotknął także mikrokontrolery STM32F4 w wyniku czego ujawniły się – między innymi – dwa często występujące problemy, które przedstawiamy poniżej.
1. ST-Link/ST-Link v2 i nieprawidłowa sygnatura
W nowych wersjach mikrokontrolerów STM32F4, z wbudowana strukturą w wersji „Z”, zmieniono identyfikator (sygnaturę typu) z wartości 0x411 na 0x413, która nie jest przypisana w obecnie dostępnej wersji programu ST-Link Utility do żadnego typu mikrokontrolera (rysunek 1), co uniemożliwia zaprogramowanie pamięci Flash i rejestrów opcji.
Rys. 1. Mikrokontrolery STM32F4xx w wersji „Z” mają sygnaturę 0x413 (vs 0x411 w wersji „A”), która nie jest rozpoznawana przez obecną wersję ST-Link Utility
2. Problem z wejściem PDR_ON
Producent w mikrokontrolerach w wersji „Z” wprowadził także ryzykowną zmianę, która dotknęła układy montowane w obudowach LQFP100: pin 99 (w wersji „A” noszący oznaczenie PDR_ON) w wersji „Z” przypisano linii zasilającej VSS. Ponieważ pin 99 jest wewnętrznie dołączony do VSS, istnieje ryzyko zwarcia wyjścia układu sterującego linią PDR_ON – jeżeli takie rozwiązanie było stosowane.
Rys. 2. Do pobrania przygotowaliśmy bibliotekę SCHLIB dla AltiumDesignera 10 z obydwiema wersjami STM32F4xxVx
Do pobrania poniżej udostępniono bibliotekę dla edytora schematów AltiumDesigner 10 z obydwiema wersjami mikrokontrolerów STM32F4xxVx.
Fot. 3. Zaznaczona litera określa wersję krzemu zastosowanego w mikrokontrolerze (w przykładzie jest to wersja „A”)
Na fotografii 3 pokazano umiejscowienie oznaczenia wersji krzemu na obudowie mikrokontrolera (pokazano wersję „A”).
Warto zwrócić uwagę, że w wersji „Z” nie zostały usunięte wszystkie wykryte niedociągnięcia, dlatego zalecamy zapoznanie się przed rozpoczęciem prac projektowych z bieżącymi erratami dotyczącymi wybranego typu mikrokontrolera.