мини|десно|200п|Серијски порт на рачунару, са 9 пинова.
мини|десно|200п|Серијски порт конектор (женски) на уређају који се укључује у рачунар.
Серијски порт је врста рачунарског порта који се раније често користио за повезивање разних уређаја са рачунарима. Најчешће је кориштен за повезивање рачунарских мишева, рачунарских терминала и раних штампача али и других уређаја који данас углавном користе USB порт. Серијски порт користи RS-232 стандард за комуникацију, па се отуда понекад назива и RS-232 порт.
Порт се може користити и за контролу уређаја и комуникацију са разним микроконтролерским развојним системима.
Раније је кориштен и за пренос фајлова између рачунара путем посебног серијског кабла.
Придјев серијски потиче од чињенице да порт шаље битове података један по један, за разлику од паралелног порта, који битове шаље паралелно, по осам одједном. Паралелним системом преноса се постиже већа брзина преноса података, али је потребно више жица у каблу. Са друге стране, дозвољена дужина кабла за серијску комуникацију је многоструко већа него паралелног кабла, посебно при мањим брзинама рада.
На личним рачунарима, серијски порт има ознаку -{COM1}-, -{COM2}-, -{COM3}- или -{COM4}-. То је на рачунару 9-пински Д-конектор мушког типа, а понекад и 25-пински Д-конектор мушког типа (на старијим рачунарима).
Хардвер Распоред пинова Распоред пинова серијског порта се може видјети у табели испод, за 9 пинске и 25-пинске конекторе. 9-пински конектор је уведен на АТ (286) рачунарима током 1980-их година, као допуна тадашњем стандардном 25-пинском конектору, да омогући монтажу 2 серијска конектора на металну плочицу на картици.
Распоред код 25-пинскогконектора Распоред код 9-пинскогконектора Излаз / Улаз(гледано с рачунара) Ознака Функција23 Излаз -{TxD (Transmit Data)}- Слање података32 Улаз -{RxD (Receive Data)}- Пријем података4 7 Излаз -{RTS (Request To Send)}- Захтјев за слање5 8 Улаз -{CTS (Clear To Send)}- Спремност за слање6 6 Улаз -{DSR (Data Set Ready)}- Подаци спремни7 5 - -{GND (Ground)}- Минус пол сигнала8 1 Улаз -{DCD (Data Carrier Detector)}- Детектор носиоца података20 4 Излаз -{DTR (Data Terminal Ready)}- Уређај спреман22 9 Улаз -{RI (Ring Indicator)}- Индикатор звона
Модерне матичне плоче најчешће имају интегрисан један девет-пински серијски порт. У случају да плоча нема серијски порт, могуће је купити додатне картице са серијским портовима.
У вријеме стварања стандарда RS-232, који покрива комуникацију уз помоћ серијског порта, направљена је подјела на -{DTE}- (-{Data Terminal Equipment}-) и -{DCE}- (-{Data Communication Equipment}-) уређаје. Рачунар, као -{DTE}- има по том стандарду мушки конектор, а уређаји -{DCE}- имају женски конектор. Ова подјела је касније постала много мање јасна, јер је добар дио уређаја користио двосмјерну комуникацију.
Адресе Хардверске адресе серијског портова су углавном пратиле стандард приказан у доњој таблици: Порт Улазно-излазна (I/O) адреса Прекид (интерапт) -{COM1}- -{3F8-3FF}- хексадецимално -{IRQ4}- -{COM2}- -{2F8-2FF}- хексадецимално -{IRQ3}- -{COM3}- -{3EB-3EF}- хексадецимално -{IRQ4}- -{COM4}- -{2E8-2EF}- хексадецимално -{IRQ3}-
Сигнали серијског порта мини|десно|300п|Напонски нивои серијског порта при преносу једног слова.
Стандардни серијски порт користи напонски ниво од -12 -{V}- за логичку јединицу а +12 -{V}- за логичку нулу, што је обрнуто од нормалне конвенције.
Ради лакше комуникације, пренесени битови нису само битови податка, већ постоје и СТАРТ, СТОП и ПАРИТЕТ (-{PARITY}-) битови.
Брзина рада се може подешавати са врло великим бројем бпс (бит по секунди) стања, неке од могућих брзина су: 110, 300, 600, 1200, 2400, 4800, 9600, 14400, 19200, 28800, 38400, 57600 битова у секунди. Неки серијски портови подржавају и брзине од 115200, 128000, и 256000 бпс. Све брзине нису подржане од свих врста хардвера. Мање брзине омогућавају рад са већим дужинама серијског кабла.
Број битова података је 7, 8 или 8, број старт битова 1, а стоп битова 0 до 2. Паритет може бити паран, непаран или непостојећи.
Број битова података је најчешће 8. Старт бит сигнализира уређају да се припреми за пријем података, пошто обара серијску линију са +12 на -12 волти. Стоп бит означава крај низа битова података, а паритет бит се користи за контролу исправности података. Оба се често изостављају.
Софтвер ДОС Директан приступ порту је био омогућен у ДОС оперативном систему. Сви значајнији програмски језици (-{QBasic}-/-{QuickBasic}-, -{C}-, -{Pascal}-) су подржавали приступ порту.
Као примјер можемо узети КјуБејсик (-{QBasic}-), који се налазио на сваком рачунару са ДОС-ом.
Овај код ради у ДОС-у и Windows-у 95 и 98. Шаље слово које је стиснуто на тастатури на серијски порт, брзином од 2400 бпс без успостављања комуникације са другом страном (-{handshaking}-). Подесан је за тестирање таласних облика RS-232 комуникације преко осцилоскопа:
OPEN "COM1:2400,N,8,1,RS,CS,DS,CD" AS #1 'Otvara ser. port na 2400 bps 100 VAR1$=INKEY$ 'Prati tastaturu. Slovo = VAR1. PRINT #1, VAR1$ 'Salji slovo na port. GOTO 100 'Ponovo.
Постојало је мноштво комерцијалних програма који су служили за комуникацију преко серијског порта, прикључење модема, контролу уређаја и тако даље. У те се могу убројити -{ProComm}-, -{Qmodem}-, -{Telix}- и други.
Microsoft Windows Статус серијског порта се може видјети у контролном панелу код Windows-а (-{Control Panel-System-Device Manager-Ports-COM and LPT}-). -{Resource}- таб даје хардверску адресу и прекид.
Програм -{HyperTerminal}-, који се испоручивао уз све Windows оперативне системе од верзије 95 до -{XP}-, је служио за комуникацију и контролу уређаја преко серијског порта.
Линукс У Линукс оперативном систему, ознака првог порта је -{ttyS0}-, другог -{ttyS1}- и тако даље. Популаран програм за кориштење порта у улози терминал емулатора је -{Minicom}-.
Приступ порту је могућ из већине програмских језика, као -{C}-, -{Python}- и других.
У програмском језику -{Python}-, контрола порта је једноставна уз помоћ -{pyserial}- (-{PySerial}- сајт) модула:
print 'Otvaram serijski port...' ser = serial.Serial(0, 9600, timeout=2) # Port ttyS0 (COM1) na 9600 bps print 'Serijski port otvoren.' ser.write('a') # Posalji slovo a ser.close() # Zatvori port.
Ако неки уређај шаље податке рачунару, могу се добити употребом: ulaz=ser.read(1) # Очитава један знак (слово) са порта
На овај начин се могу створити програми за комуникацију, контролу уређаја и слично.
Види још Паралелни порт
Литература
-{Assembling and Repairing Personal Computers, 2nd edition, Dan L. Beeson, Prentice Hall}-. .
Спољашње везе Серијски портови модерних и старих рачунара Серијски конектори, пинови и спецификације Програмирање серијског порта, Линукс и Windows
Категорија:Рачунарство Категорија:Информатика