Obsługa pamięci masowych z USB za pomocą mikrokontrolerów LPC1300 firmy NXP

Program usbmemrom

Opisana zostanie teraz przykładowa aplikacja. Dostępne są wersje kodu (zamknięte w workspace’ach) dla trzech środowisk programistycznych: LPCXpresso, IAR oraz Keil. Mimo że kod w C jest taki sam, każdy workspace został dostosowany tak, aby bez problemu dał się otworzyć w środowisku programistycznym, dla którego został przewidziany. Zestawy uruchomieniowe, na których program został przetestowany są wymienione poniżej (w tabeli 2), ale jako że usbmemrom nie wykorzystuje żadnych peryferiów, takich jak np. diody LED, uruchomienie go na jakimkolwiek układzie z mikroprocesorem LPC1343 i połączeniem USB nie powinno sprawić problemu.

 

Tab. 2. Zestawy i środowiska uruchomieniowe dla przykładowej aplikacji

Środowisko programistyczne JTAG Zestaw uruchomieniowy
LPCXpresso (firmy Code Red) LPC-LINK zintegrowany z płytką LPCXpresso Płytki: LPCXpresso oraz Embedded Artists LPCXpresso (płytka bazowa)
LPCXpresso (Code Red) LPC-LINK zintegrowany z płytką LPCXpresso LPCXpresso
IAR Embedded Workbench IDE 5.4 J-Link zintegrowany z płytką IAR LPC1343-SK IAR LPC1343-SK
Keil ?Vision4 RealView MDK-ARM ULINK2 (firmy Keil) Keil MCB1000

 

Uruchamianie programu usbmemrom na płytce LPCXpresso LPC1343 przy użyciu środowiska LPCXpresso

Płytka LPCXpresso jest wyposażona w interfejs do debugowania LPC-LINK, pozwalający na programowanie przez USB, więc nie ma konieczności wykorzystywania dodatkowego JTAG-a.

 

Rys. 6. Zdjęcie płytki LPCXpresso LPC1343

Rys. 6. Zdjęcie płytki LPCXpresso LPC1343

 

Wykorzystanie LPCXpresso z płytką bazową Embedded Artists

 

Rys. 7. Wyjścia USB na płytce Embedded Artists

Rys. 7. Wyjścia USB na płytce Embedded Artists

 

 

Po wlutowaniu na płytkę LPCXpresso złącza szpilkowego, należy ją podłączyć do płytki Embedded Artists, dzięki czemu można używać kabla mini-USB do połączenia płytki bazowej EA z komputerem. Aby połączenie USB było to możliwe konieczne jest także ustawienie kilku zworek na płytce EA. Należy zewrzeć nóżki 1 i 2 złącza J14 znajdującego się w pobliżu portu Ethernet oraz piny 1 i 2 w złączach J12. Zworkę można znaleźć w pobliżu potencjometru. Jest wiele innych konfiguracji zworek – w razie wątpliwości lub problemów należy się odnosić do dokumentacji płytki Embedded Artists.

Modyfikacja płytki LPCXpresso

Alternatywą do używania płytki bazowej LPCXpresso Embedded Artists jest wykonanie modyfikacji płytki LPCXpresso LPC1343 i dodanie do niej kabla USB. Jako że płytka ma wbudowane układy warstwy fizycznej USB (PHY), do podłączenia jej do portu USB konieczny jest tylko rezystor podciągający.

 

Uwaga: takie proste połączenie nie implementuje mechanizmu NXP Soft-Connect pozwalającego na „miękkie” podłączanie i odłączanie urządzeń USB, ani zasilania USB. W związku z tym, podłączenie płytki do komputera-hosta musi nastąpić po inicjalizacji peryferiów USB na płytce. Jeśli płytka zostanie podłączona do komputera zanim układ LPC USB się zainicjalizuje, rezystor podciągający powiadomi komputer o obecności urządzenia USB, ale układ USB na płytce nie odpowie, bo nie będzie gotowy. To z kolei spowoduje wyświetlenie w systemie Windows błędu, mówiącego o błędnie działającym urządzeniu USB. W takim przypadku należy odłączyć płytkę od komputera i podłączyć ją ponownie.

 

Rys. 8. Schemat modyfikacji płytki LPCXpresso LPC1343 pod kątem połączenia USB

Rys. 8. Schemat modyfikacji płytki LPCXpresso LPC1343 pod kątem połączenia USB

 

 

Uwaga: zamiast samemu okablowywać złącze USB typu A, można użyć gotowego kabla USB A-B i odciąć końcówkę typu B. Zakończenie typu A można wtedy rozebrać i wlutować na płytkę LPCXpresso.

 

Do pobrania

O autorze