Zawsze muszę komunikować się z portem TTL UART na MCU za pomocą
komputer. Kiedy o tym mówiłem, ludzie zawsze odnoszą się do portu UART
jako port RS-232. Czy mają rację? Jeśli nie, jaka jest różnica
między nimi?
Czytając między wierszami, możesz mówić o przypadku, w którym masz płytę z MCU, do której można uzyskać dostęp (kod pobierania, debugowanie itp.) przez port USB w komputerze. Obecnie jest to dość powszechne.
Jeśli tak, prawdopodobnie system operacyjny konfiguruje „wirtualny port RS-232” dla Twojego urządzenia. To wcale nie jest port RS-232. Zamiast tego jest to oprogramowanie działające jako sterownik w systemie operacyjnym, które emuluje szczegóły starego sterownika „portu szeregowego”. To oprogramowanie komunikuje się z oddzielnym MCU (takim, który jest również na płycie z MCU) za pośrednictwem układu konwertera USB na port szeregowy (jest też wielu producentów). oddzielny MCU jest tym, co jest faktycznie podłączone do pinów portu UART MCU. Prawdopodobnie jest również podłączony do pinów JTAG MCU, aby można było debugować. W tym oddzielnym MCU znajduje się dodatkowe oprogramowanie, które obsługuje szczegóły zarówno debugowania, jak i komunikacji UART z systemem operacyjnym komputera.
A więc. Tak. Ludzie nazywają to portem RS-232, kiedy myślą o tym z punktu widzenia tego, jak system operacyjny + oprogramowanie sterownika powoduje, że pojawia się w aplikacji działającej w tym systemie operacyjnym . Możesz wtedy użyć dowolnej standardowej aplikacji, która wie, jak otworzyć port RS-232 za pomocą standardowych wywołań funkcji, które system operacyjny zapewnia do tego celu i będzie działać dobrze. Jest to więc port RS-232 z punktu widzenia tego programu użytkowego.
Ale w rzeczywistości tak nie jest.
Osobno, UART jest „uniwersalnym asynchronicznym odbiornikiem / nadajnikiem” i tradycyjnie odnosi się do układu scalonego lub bloku funkcjonalnego w MCU. Tak czy inaczej, był to zazwyczaj sprzęt zaprojektowany tak, aby łatwe oprogramowanie, które piszesz, obsługiwało używany asynchroniczny protokół szeregowy (bit startu, bity danych i jeden lub więcej bitów stopu). bang z protokołem, ale jest to prawdziwy ból i wtedy duża prędkość staje się mniej lub bardziej nieosiągalna.
Zobaczysz także USARTs - uniwersalny synchroniczny / asynchroniczny odbiornik / nadajnik - także na niektórych MCU. Oznacza to po prostu, że mogą zrobić więcej niż UART, ale zawierają również możliwości UART.
RS-232 to zestaw specyfikacji dotyczących napięć, obciążenia itd. Określa również szereg szczegółów sygnalizacji, obejmujących kilka różnych dostępnych linii sygnałowych. Ale lepiej jest postrzegać RS-232 jako specyfikację elektroniki definiującą zakresy napięcia dla znaku i spacji , marginesów szumów, dopuszczalnych szczegółów ładowania odbiornika i różnych innych szczegółów związanych z tłumaczeniem pomiędzy zakresami sygnałów analogowych i dyskretnymi cyfrowymi i nie tyle o jakimś konkretnym protokole szeregowym UART.
Po prostu skieruję Cię na strony Wiki po szczegóły (które chyba powinieneś przeczytać przed pytaniem tutaj). Są to: RS-232 i UART. Nie mam ochoty powielać tej pracy.