-
1. Data: 2020-11-21 09:12:27
Temat: Kilka pytań o STM32F407VGT6
Od: Atlantis <m...@w...pl>
Do tej pory wszystkie swoja bardziej "zaawansowane" projekty (takie,
które wymagały zastosowanie MCU o większej mocy obliczeniowej i bogatym
zestawie peryferiów) robiłem głównie na układach PIC24/PIC32, wcześniej
ATXmega. Miałem już trochę do czynienia z STM-ami, ale głównie w formie
prostych STM32F103. Teraz przymierzając się do pewnego projektu
przyglądam się bardziej zaawansowanemu układowi z tej rodziny -
STM32F407VGT6. Gdy przeglądałem dokumentacje i przeklikiwałem się przez
konfigurator STM32CubeMX, nasunęło mi się kilka pytań:
Sposób podłączenia USB w trybie host:
Na stronie 186 dokumentacji
(https://www.st.com/resource/en/datasheet/stm32f407v
g.pdf) znajduje się
schemat. Pin VBUS gniazdka USB jest na nim podłączony za pośrednictwem
"current limiter power switch" albo przynajmniej "basic power switch",
sterowany pinem GPIO.
W STM32CubeMX nigdzie nie widzę możliwości wyboru tego wyjścia
kluczującego zasilanie, które byłoby przypisane do konkretnego
interfejsu USB. Mam rozumieć, że już z poziomu kodu wybiera się dowolny
pin GPIO?
Pytam, ponieważ w układach PIC32 był do tego przeznaczony sterowany
sprzętowo pin VBUSON, z którego stosowania można było zrezygnować w
konfiguracji, co zresztą robiłem, ponieważ w moim urządzeniu do hosta
USB był na stałe podłączony pendrive, nie było wiec konieczności
kluczowani zasilania - było ono wyprowadzone na gniazdku na stałe.
Rozumiem, że w przypadku STM32 sterowanie zasilaniem jest obowiązkowe i
powinienem w swoim projekcie uwzględnić ten switch?
Poza tym widzę, że można aktywować/dezaktywować jeszcze dwa piny
przypisane do interfejsu USB: VBUS oraz SOF. Rozumiem, że VBUS służy do
wykrywania zasilnia na gniazdku USB i jest stosowany w trybach device
orz OTG. Schemat w dokumentacji dla trybu host nie uwzględnia tego pinu,
jednak STM32CubeMX pozwala na jego użycie nawet w trybie "Host only".
Jaka jest jego funkcja w tym przypadku? Rozumiem, że mogę z niego
zrezygnować, jeśli urządzenie m być hostem?
I jeszcze jedno pytanie odnośnie USB. DO tej pory we wszystkich swoich
projektach stosowałem drabinkę transili tuż obok gniada USB. Schematy w
dokumentacji ich nie uwzględniają. To uproszczenie schematu, czy celowe
działanie? Rozumiem, że nadal mogę stosować to zabezpieczenie z STM32?
Magistrala równoległa do podłączenia LCD:
Z tego co widzę, mikrokontroler posiada sprzętową magistralę do
komunikacji z pamięciami, którą można także wykorzystać do podłączenia
wyświetlacza LCD.Dysponuję takim wyświetlaczem:
https://barth.pl/pictures/TFT_320GVT_9341_bottom.jpg
Czy będzie się go dało podłączyć za pomocą tego interfejsu? Jeśli tak, w
jaki sposób? Do którego pinu powinien iść sygnał "LCD register select"?
Czy ten interfejs wymaga już jakiegoś specjalnego sposobu prowadzenia
ścieżek?
Przetwornik cyfrowo-analogowy:
Widzę, że ten układ posiada dwa wyjścia DAC. Sprawdzą się w roli wyjść
audio (odtwarzanie muzyki) czy lepiej zastosować osobny układ, np. na I2S?
Interfejs SDIO:
Z tego co widzę, układ posiada również interfejs SDIO. To dla mnie pewna
nowość, bo do tej pory zawsze podłączałem karty SD przez SPI. Czy
powinienem o czymś pamiętać projektując płytkę? Linie SDIO trzeba już
prowadzić w jakiś określony sposób? Który tryb pracy (SD/MMC) i
szerokość magistrali (1/4/8 bit) będą najbardziej odpowiednie?
-
2. Data: 2020-11-24 09:39:07
Temat: Re: Kilka pytań o STM32F407VGT6
Od: MKi <e...@t...op.pl>
Atlantis pisze:
> Sposób podłączenia USB w trybie host:
> Na stronie 186 dokumentacji
> (https://www.st.com/resource/en/datasheet/stm32f407v
g.pdf) znajduje się
> schemat. Pin VBUS gniazdka USB jest na nim podłączony za pośrednictwem
> "current limiter power switch" albo przynajmniej "basic power switch",
> sterowany pinem GPIO.
> W STM32CubeMX nigdzie nie widzę możliwości wyboru tego wyjścia
> kluczującego zasilanie, które byłoby przypisane do konkretnego
> interfejsu USB. Mam rozumieć, że już z poziomu kodu wybiera się dowolny
> pin GPIO?
Tak
> Pytam, ponieważ w układach PIC32 był do tego przeznaczony sterowany
> sprzętowo pin VBUSON, z którego stosowania można było zrezygnować w
> konfiguracji, co zresztą robiłem, ponieważ w moim urządzeniu do hosta
> USB był na stałe podłączony pendrive, nie było wiec konieczności
> kluczowani zasilania - było ono wyprowadzone na gniazdku na stałe.
> Rozumiem, że w przypadku STM32 sterowanie zasilaniem jest obowiązkowe i
> powinienem w swoim projekcie uwzględnić ten switch?
Jeśli przewidujesz sytuację, że device weźmie za dużo prądu,
ogranicznik poda sygnał "overcurrent" i trzeba będzie zasilanie
odłączyć - wtedy ten port jest potrzebny. Dowolny.
> Poza tym widzę, że można aktywować/dezaktywować jeszcze dwa piny
> przypisane do interfejsu USB: VBUS oraz SOF. Rozumiem, że VBUS służy do
> wykrywania zasilnia na gniazdku USB i jest stosowany w trybach device
> orz OTG. Schemat w dokumentacji dla trybu host nie uwzględnia tego pinu,
> jednak STM32CubeMX pozwala na jego użycie nawet w trybie "Host only".
> Jaka jest jego funkcja w tym przypadku?
To już moje rozważania teoretyczne, nigdy nie robiłem hosta.
Ale wydaje mi się, że VBUS jest wejściem monitorującym 5V i
generującym przerwanie, gdy napięcie spanie poniżej normy.
> Rozumiem, że mogę z niego
> zrezygnować, jeśli urządzenie m być hostem?
Jeśli jesteś pewny źródła 5V można z niego zrezygnować.
W Reference manualu (rev. 13, str. 1255) jest przykładowy
układ bez VBUS.
> I jeszcze jedno pytanie odnośnie USB. DO tej pory we wszystkich swoich
> projektach stosowałem drabinkę transili tuż obok gniada USB. Schematy w
> dokumentacji ich nie uwzględniają. To uproszczenie schematu, czy celowe
> działanie? Rozumiem, że nadal mogę stosować to zabezpieczenie z STM32?
Ja stosuję układ https://www.st.com/en/protection-devices/usblc6-2.ht
ml
Nie było przypadku uszkodzenia portu.
> Magistrala równoległa do podłączenia LCD:
> Z tego co widzę, mikrokontroler posiada sprzętową magistralę do
> komunikacji z pamięciami, którą można także wykorzystać do podłączenia
> wyświetlacza LCD.Dysponuję takim wyświetlaczem:
> https://barth.pl/pictures/TFT_320GVT_9341_bottom.jpg
> Czy będzie się go dało podłączyć za pomocą tego interfejsu? Jeśli tak, w
> jaki sposób? Do którego pinu powinien iść sygnał "LCD register select"?
Ja stosuję inne wyświetlacze, ale nazwy pinów są takie same. Połączenia:
LCD - STM32
RS - A16
RD - NOE
WR - NWE
CS - NE1
Reset - dowolny port
> Czy ten interfejs wymaga już jakiegoś specjalnego sposobu prowadzenia
> ścieżek?
Ja się nigdy nie specjalnie nie przejmowałem i zawsze działa.
> Przetwornik cyfrowo-analogowy:
> Interfejs SDIO:
Nie znam się i się nie wypowiem :(
Pozdrowienia,
MKi
-
3. Data: 2020-11-25 09:43:37
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 24.11.2020 09:39, MKi wrote:
> Jeśli przewidujesz sytuację, że device weźmie za dużo prądu,
> ogranicznik poda sygnał "overcurrent" i trzeba będzie zasilanie
> odłączyć - wtedy ten port jest potrzebny. Dowolny.
Hmm... To jest realizowane przez bibliotekę do obsługi USB, czy muszę to
sam zaimplementować w pętli głównej/funkcji obsługi przerwania
zewnętrznego? Pytam, bo chciałbym się upewnić, czy mogę dostosować się
zarówno do elementów, gdzie pin EN jest aktywowany stanem niskim, jak i
wysokim.
Rozumiem, że nic nie stoi na przeszkodzie, żeby zamiast "switcha"
zastosować przetwornicę, którą mogę wyłączyć zewnętrznym sygnałem?
Urządzenie będzie zasilane z akumulatorka, więc przetwornica i tak jest
jedynym sposobem na uzyskanie 5V do zasilania USB.
> Ja stosuję układ https://www.st.com/en/protection-devices/usblc6-2.ht
ml
> Nie było przypadku uszkodzenia portu.
Dokładnie tych samych używam od dawna z PIC32 oraz Xmega. Dzięki za
potwierdzenie, że nie ma z nimi problemu w przypadku STM32. ;)
-
4. Data: 2020-11-25 10:04:12
Temat: Re: Kilka pytań o STM32F407VGT6
Od: MKi <e...@t...op.pl>
Atlantis pisze:
> On 24.11.2020 09:39, MKi wrote:
>
>> Jeśli przewidujesz sytuację, że device weźmie za dużo prądu,
>> ogranicznik poda sygnał "overcurrent" i trzeba będzie zasilanie
>> odłączyć - wtedy ten port jest potrzebny. Dowolny.
>
>
> Hmm... To jest realizowane przez bibliotekę do obsługi USB, czy muszę to
> sam zaimplementować w pętli głównej/funkcji obsługi przerwania
> zewnętrznego? Pytam, bo chciałbym się upewnić, czy mogę dostosować się
> zarówno do elementów, gdzie pin EN jest aktywowany stanem niskim, jak i
> wysokim.
Sam implementujesz. Tylko od zastosowanego układu ograniczającego
prąd zależy, czy EN będzie aktywowane Hi czy Lo.
> Rozumiem, że nic nie stoi na przeszkodzie, żeby zamiast "switcha"
> zastosować przetwornicę, którą mogę wyłączyć zewnętrznym sygnałem?
> Urządzenie będzie zasilane z akumulatorka, więc przetwornica i tak jest
> jedynym sposobem na uzyskanie 5V do zasilania USB.
Jak dla mnie jak najbardziej. Tylko musisz skądś wziąć
sygnał "overcurrent".
Pozdrowienia,
MKi
-
5. Data: 2020-11-25 15:45:47
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 25.11.2020 10:04, MKi wrote:
> Jak dla mnie jak najbardziej. Tylko musisz skądś wziąć
> sygnał "overcurrent".
Może znajdzie się jakaś przetwornica, która daje taki sygnał? ;)
-
6. Data: 2020-11-25 16:25:05
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Zbych <a...@o...pl>
On 25.11.2020 15:45, Atlantis wrote:
> On 25.11.2020 10:04, MKi wrote:
>
>> Jak dla mnie jak najbardziej. Tylko musisz skądś wziąć
>> sygnał "overcurrent".
>
> Może znajdzie się jakaś przetwornica, która daje taki sygnał? ;)
Jak poszukasz to na pewno :-)
https://www.ti.com/ds_dgm/images/alt_slvs886c.gif
-
7. Data: 2020-11-27 09:21:57
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 24.11.2020 09:39, MKi wrote:
> Ja stosuję inne wyświetlacze, ale nazwy pinów są takie same.
Mogę jeszcze zapytać jakichś wyświetlaczy używasz?
Bo szukając informacji na temat mojego egzemplarza przekonałem się, że
nie jest to zbyt popularny model. Chińczycy chyba przestali go
produkować, zastępując nieco nowszą wersją, która ma inny pinout. Ciężko
będzie kupić zastępczy egzemplarz albo drugi taki sam wyświetlacz do
kolejnego projektu...
-
8. Data: 2020-11-27 10:03:19
Temat: Re: Kilka pytań o STM32F407VGT6
Od: MKi <e...@t...op.pl>
Atlantis pisze:
> On 24.11.2020 09:39, MKi wrote:
>
>> Ja stosuję inne wyświetlacze, ale nazwy pinów są takie same.
>
> Mogę jeszcze zapytać jakichś wyświetlaczy używasz?
> Bo szukając informacji na temat mojego egzemplarza przekonałem się, że
> nie jest to zbyt popularny model. Chińczycy chyba przestali go
> produkować, zastępując nieco nowszą wersją, która ma inny pinout. Ciężko
> będzie kupić zastępczy egzemplarz albo drugi taki sam wyświetlacz do
> kolejnego projektu...
Używam dwóch:
https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf43gtibedbt0.html
https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf70htifgdbt0.html
Pozdrowienia,
MKi
-
9. Data: 2020-12-19 15:31:17
Temat: Re: Kilka pytań o STM32F407VGT6
Od: Atlantis <m...@w...pl>
On 27.11.2020 10:03, MKi wrote:
> Używam dwóch:
> https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf43gtibedbt0.html
> https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf70htifgdbt0.html
Dzięki. Tak jeszcze dla porządku zapytam, bo właśnie kończę projektować
płytkę: czy któreś linie interfejsu LCD wymagają podciągania rezystorami
do zasilania?
-
10. Data: 2020-12-21 09:39:34
Temat: Re: Kilka pytań o STM32F407VGT6
Od: MKi <...@...com>
W dniu 2020-12-19 o 15:31, Atlantis pisze:
> On 27.11.2020 10:03, MKi wrote:
>
>> Używam dwóch:
>> https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf43gtibedbt0.html
>> https://www.unisystem.pl/pl/products/lcd-tft/standar
d/wf70htifgdbt0.html
>
> Dzięki. Tak jeszcze dla porządku zapytam, bo właśnie kończę projektować
> płytkę: czy któreś linie interfejsu LCD wymagają podciągania rezystorami
> do zasilania?
Nie, ten interfejs (zasadniczo to jest interfejs pamięci NOR Flash,
sterowanie LCD jest tak przy okazji) jest całkowicie samodzielny.
A w ogóle to STM ma swoje własne pullupy i pulldowny, możesz je
włączać i wyłączać programowo.
Pozdrowienia,
MKi