USB <--> SPI

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?

Reply to
Atlantis
Loading thread data ...

Atlantis przemówił ludzkim głosem:

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.

formatting link

No to wymień uC na taki z dwoma UARTami, albo dorób drugi software'owy.

Wszystko zależy od stromości zboczy sygnału, przesłuchów między przewodami w kablu itp.

Reply to
Zbych

W dniu sobota, 14 września 2013 10:51:46 UTC+2 użytkownik Atlantis napisał:

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.

Reply to
stchebel

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.

Reply to
Marek

W dniu 2013-09-14 12:20, Zbych pisze:

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.

Reply to
Atlantis

W dniu 15.09.2013 10:42, Atlantis pisze:

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.

formatting link
?idp=1&search=atmega8u2 Do obsługi stosu USB masz gotowca:
formatting link

Reply to
Zbych

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.