Atlantis
Guest
Sat Sep 14, 2013 8:51 am
Czy istnieje jakieś proste rozwiązanie, które umożliwiłoby emulację
transmisji szeregowej (terminal) przy pomocy złącza USB (od strony PC) i
SPI (od strony MCU)? Coś jak FT232, ale podpinane nie pod USART ale SPI.
Chodzi mi o możliwość terminalowej konfiguracji/debugowania w prostym z
prostym MCU, który ma tylko jeden, już wykorzystany USART.
BTW jak długie mogą być doprowadzenia magistrali SPI? Zdarzyło mi się
już umieszczać złącze ISP na innej płytce, połączonej z główną
ekranowanym kablem o długości poniżej 10 cm. Nie zauważyłem
jakiejkolwiek wrażliwości na zakłócenia (pstrykanie lutownicą, GSM). Nie
było samoczynnych resetów, błędów podczas wgrywania wsadu także nie
zauważyłem.
Czy podobne podejście przy podłączaniu układów pracujących na magistrali
SPI może być źródłem jakichś problemów?
Zbych
Guest
Sat Sep 14, 2013 10:20 am
Atlantis przemówił ludzkim głosem:
Quote:
Czy istnieje jakieś proste rozwiązanie, które umożliwiłoby emulację
transmisji szeregowej (terminal) przy pomocy złącza USB (od strony PC) i
SPI (od strony MCU)? Coś jak FT232, ale podpinane nie pod USART ale SPI.
SPI nigdy nie będzie emulowało dobrze UARTa, bo bo slave nie może
inicjować transmisji. Potrzebny będzie polling, albo dodatkowa linia
sygnalizacyjna.
Więc albo sam wydłubiesz sobie konwerter na SPI widziany po stronie PC
jako urządzenie USB CDC ACM, albo możesz użyć gotowych konwerterów
USB->SPI i wyrzeźbisz program na PC, którym będzie wiedział jak gadać z
tym konwerterem i twoim układem.
http://www.tme.eu/pl/katalog/?idp=1&search=ftdi%20spi&cleanParameters=1
Quote:
Chodzi mi o możliwość terminalowej konfiguracji/debugowania w prostym z
prostym MCU, który ma tylko jeden, już wykorzystany USART.
No to wymień uC na taki z dwoma UARTami, albo dorób drugi software'owy.
Quote:
BTW jak długie mogą być doprowadzenia magistrali SPI? Zdarzyło mi się
już umieszczać złącze ISP na innej płytce, połączonej z główną
ekranowanym kablem o długości poniżej 10 cm. Nie zauważyłem
jakiejkolwiek wrażliwości na zakłócenia (pstrykanie lutownicą, GSM). Nie
było samoczynnych resetów, błędów podczas wgrywania wsadu także nie
zauważyłem.
Wszystko zależy od stromości zboczy sygnału, przesłuchów między
przewodami w kablu itp.
Quote:
Czy podobne podejście przy podłączaniu układów pracujących na magistrali
SPI może być źródłem jakichś problemów?
Guest
Sat Sep 14, 2013 1:46 pm
W dniu sobota, 14 września 2013 10:51:46 UTC+2 użytkownik Atlantis napisał:
Quote:
Czy istnieje jakieś proste rozwiązanie, które umożliwiłoby emulację
transmisji szeregowej (terminal) przy pomocy złącza USB (od strony PC) i
SPI (od strony MCU)? Coś jak FT232, ale podpinane nie pod USART ale SPI..
Chodzi mi o możliwość terminalowej konfiguracji/debugowania w prostym z
prostym MCU, który ma tylko jeden, już wykorzystany USART.
BTW jak długie mogą być doprowadzenia magistrali SPI? Zdarzyło mi się
już umieszczać złącze ISP na innej płytce, połączonej z główną
ekranowanym kablem o długości poniżej 10 cm. Nie zauważyłem
jakiejkolwiek wrażliwości na zakłócenia (pstrykanie lutownicą, GSM). Nie
było samoczynnych resetów, błędów podczas wgrywania wsadu także nie
zauważyłem.
Czy podobne podejście przy podłączaniu układów pracujących na magistrali
SPI może być źródłem jakichś problemów?
Ja wykorzystuję FT2232H, ustawiam w tryb pracy Host Bus Emulation Mode, dalej mam na FPGA trochę naprawdę prymitywnej logiki i zapisując 0/1 na odpowiednie bity jakiegoś tam portu zmieniam stany SPI. Raptem 3 bity. Działa bez pudła. Co do długości połączeń nie należy spodziewać się większych problemów o ile nie masz na myśli kilometrów.. Przez SPI obsługuję dalej AD9512.
Marek
Guest
Sat Sep 14, 2013 4:11 pm
On Sat, 14 Sep 2013 10:51:46 +0200, Atlantis <marekw1986NOSPAM@wp.pl>
wrote:
Quote:
Czy istnieje jakieś proste rozwiązanie, które umożliwiłoby emulację
transmisji szeregowej (terminal) przy pomocy złącza USB (od strony
PC) i
Mcp2210, widziany jako hid od strony usb (pc), od strony mcu jedt
spi. Masz 2 bufory 64 bajtowe in/out. Bardzo prosta komunikacja, po
prostu dane z pc wymieniasz przez te bufory.
--
Marek
Atlantis
Guest
Sun Sep 15, 2013 8:42 am
W dniu 2013-09-14 12:20, Zbych pisze:
Quote:
No to wymień uC na taki z dwoma UARTami, albo dorób drugi software'owy.
Hmm... Któryś z AVR-ów w obudowie TQFP32 (coś podobnego do
Atmega8/88/168/328) ma może dwa USART-y? Nie mogę się doszukać niczego
na ten temat.
Zbych
Guest
Sun Sep 15, 2013 10:21 am
W dniu 15.09.2013 10:42, Atlantis pisze:
Quote:
W dniu 2013-09-14 12:20, Zbych pisze:
No to wymień uC na taki z dwoma UARTami, albo dorób drugi software'owy.
Hmm... Któryś z AVR-ów w obudowie TQFP32 (coś podobnego do
Atmega8/88/168/328) ma może dwa USART-y? Nie mogę się doszukać niczego
na ten temat.
Na stronie atmela masz wyszukiwarkę. Sprawdź sam.
Ja bym pomyślał jeszcze na AVRkiem z USB+UART (np.ATMEGA8u2,
ATMEGA32u2). Wtedy nie będziesz musiał podłączać żadnych konwerterów.
https://seguro.pl/sklep/?zobacz=5192
http://www.tme.eu/pl/katalog/?idp=1&search=atmega8u2
Do obsługi stosu USB masz gotowca:
http://www.fourwalledcubicle.com/LUFA.php