Цуваа холбоонууд

Ухагдахуунууд

bps
Bits per Second буюу секундэд дамжуулах бит -- өгөгдөл дамжих хурд
DTE
Data Terminal Equipment буюу Өгөгдлийн Терминал Төхөөрөмж -- жишээ нь таны компьютер
DCE
Data Communications Equipment буюу Өгөгдлийн Холбоонуудын Төхөөрөмж -- таны модем
RS-232
Тоног төхөөрөмжийн цуваа холбоонуудад зориулсан EIA стандарт
Холбоонуудын өгөгдлийн хурдны талаар ярихдаа энэ хэсэг “baud” гэсэн ухагдахууныг ашигладаггүй. Baud нь тодорхой хугацаанд хийгдсэн цахилгааны төлвийн шилжилтүүдийн тоог хэлдэг бол “bps” (bits per second буюу секундэд дамжуулах бит) нь хэрэглэгдэх зөв ойлголт юм (энэ нь ямар ч байсан хэцүү зөрүүд хүмүүст тийм ч яршиг төвөг болдоггүй юм шиг санагддаг).

26.2.2. Кабелиуд болон Портууд

Өөрийн FreeBSD систем уруу модем эсвэл терминалыг холбохын тулд танд компьютер дээр чинь цуваа порт болон өөрийн цуваа төхөөрөмж уруу холбох зөв кабель хэрэгтэй болно. Хэрэв та өөрийн тоног төхөөрөмжтэй болон шаардагдах кабельтай аль хэдийн танил болсон бол энэ хэсгийг айлгүйгээр орхиж болно.

26.2.2.1. Кабелиуд

Хэд хэдэн өөр өөр төрлийн цуваа кабелиуд байдаг. Бидний зорилгод нийцэх хоёр хамгийн нийтлэг төрөл бол null-модем болон стандарт (“straight буюу шууд”) RS-232 кабелиуд юм. Таны тоног төхөөрөмжийн баримт шаардлагатай кабелийн төрлийг тайлбарлах ёстой.

26.2.2.1.1. Null-модем кабелиуд

Null-модем кабель нь “Signal Ground” буюу Газар дохио зэрэг зарим дохионуудыг шууд нэвтрүүлдэг боловч зарим дохионуудыг шилжүүлдэг. Жишээ нь нэг талын “Transmitted Data” буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын “Received Data” буюу Хүлээн авсан Өгөгдөл зүү уруу ордог.
Та бас өөрийн null-модем кабелийг терминалуудтай ажиллахаар болгож болно (өөрөөр хэлбэл чанарын зорилгоор). Энэ хүснэгт нь RS-232C дохионууд болон DB-25 холбогч дээрх зүүний тоонуудыг харуулж байна. Мөн стандарт нь шууд холбогдох 1-р зүүг 1-р зүү Protective Ground буюу Хамгаалалтын Газар шугам уруу дууддаг боловч энэ нь ихэвчлэн орхигддог. Зарим терминалууд 2, 3 болон 7-р зүүнүүдийг зөвхөн ашиглахад зүгээр ажилладаг бол бусдууд нь доор дурдсан жишээнүүдээс өөр тохиргоонуудыг шаарддаг.
Хүснэгт 26-1. DB-25-аас DB-25 Null-Модем кабель
Дохио Зүү #   Зүү # Дохио
SG 7 холбогдох 7 SG
TD 2 холбогдох 3 RD
RD 3 холбогдох 2 TD
RTS 4 холбогдох 5 CTS
CTS 5 холбогдох 4 RTS
DTR 20 холбогдох 6 DSR
DTR 20 холбогдох 8 DCD
DSR 6 холбогдох 20 DTR
DCD 8 холбогдох 20 DTR
Одоо үед нийтлэг байдаг өөр хоёр схемийг энд үзүүлэв.
Хүснэгт 26-2. DB-9-өөс DB-9 Null-Модем кабель
Дохио Зүү #   Зүү # Дохио
RD 2 холбогдох 3 TD
TD 3 холбогдох 2 RD
DTR 4 холбогдох 6 DSR
DTR 4 холбогдох 1 DCD
SG 5 холбогдох 5 SG
DSR 6 холбогдох 4 DTR
DCD 1 холбогдох 4 DTR
RTS 7 холбогдох 8 CTS
CTS 8 холбогдох 7 RTS
Хүснэгт 26-3. DB-9-өөс DB-25 Null-Модем кабель
Дохио Зүү #   Зүү # Дохио
RD 2 холбогдох 2 TD
TD 3 холбогдох 3 RD
DTR 4 холбогдох 6 DSR
DTR 4 холбогдох 8 DCD
SG 5 холбогдох 7 SG
DSR 6 холбогдох 20 DTR
DCD 1 холбогдох 20 DTR
RTS 7 холбогдох 5 CTS
CTS 8 холбогдох 4 RTS
Тэмдэглэл: Нэг талд байгаа нэг зүү нь нөгөө талын хос зүү уруу холбогдох бол тэдгээрийн холбогч дээр хос зүүний хооронд нэг богино утсаар болон урт утсаар нөгөө ганц зүү уруу холбон ихэвчлэн шийдсэн байдаг.
Дээрх дизайнууд нь хамгийн нийтлэг юм шиг санагддаг. Өөр хувилбарууд дээр (RS-232 Made Easy номонд тайлбарласнаар) SG нь SG уруу, TD нь RD уруу, RTS болон CTS нь DCD уруу, DTR нь DSR уруу болон эсрэгээр холбогддог.

26.2.2.1.2. Стандарт RS-232C кабелиуд

Стандарт цуваа кабель нь RS-232C дохионуудыг бүгдийг нь шууд нэвтрүүлдэг. Өөрөөр хэлбэл кабелийн нэг талын “Transmitted Data” буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын “Transmitted Data” буюу Дамжигдсан Өгөгдөл зүү уруу ордог. Энэ нь модемийг таны FreeBSD систем уруу болон зарим нэг тохирох терминалиуд уруу холбоход хэрэглэгдэх кабелийн төрөл юм.

26.2.2.2. Портууд

Цуваа портууд нь өгөгдлийг FreeBSD хост компьютер болон терминалын хооронд дамжуулах төхөөрөмжүүд юм. Энэ хэсэг нь ямар төрлийн портууд байдаг болон FreeBSD дээр тэдгээрт хэрхэн ханддагийг тайлбарлах болно.

26.2.2.2.1. Портуудын төрлүүд

Хэд хэдэн төрлийн портууд байдаг. Та кабелийг худалдаж авах юм уу эсвэл хийхээсээ өмнө энэ нь таны терминал болон FreeBSD систем дээрх портуудад таарах эсэхийг шалгах хэрэгтэй.
Ихэнх терминалууд DB-25 портуудтай байдаг. FreeBSD ажиллаж байгаа PC-үүд зэрэг персонал компьютерууд нь DB-25 эсвэл DB-9 портуудтай байдаг. Хэрэв та PC дээрээ олон порттой цуваа карттай бол танд RJ-12 эсвэл RJ-45 портууд байж болох юм.
Тоног төхөөрөмжтэй цуг ирсэн баримтаас ашиглах портын төрлийн тодорхойлолтыг үзнэ үү. Портыг нүдээрээ харж шалгах нь бас үр дүнгээ өгдөг.

26.2.2.2.2. Портын нэрс

FreeBSD дээр цуваа порт бүрт /dev сан дахь оруулгаар та ханддаг. Хоёр өөр төрлийн оруулга байдаг:
  • Call-in буюу дуудагдах портууд нь /dev/ttydN гэгддэг бөгөөд N нь тэгээс эхлэх портын дугаар юм. Ерөнхийдөө дуудагдах портыг терминалуудад зориулж ашигладаг. Data carrier detect (DCD) буюу өгөгдлийн зөөгч илрүүлэх дохиог зөв ажиллахыг цуваа шугам батлахыг дуудагдах портууд нь шаарддаг.
  • Call-out буюу дуудах портууд нь /dev/cuadN гэгддэг. Дуудах портуудыг терминалуудад зориулж ихэвчлэн ашигладаггүй, зөвхөн модемуудад зориулж ашигладаг. Цуваа кабель эсвэл терминал нь зөөгчийг илрүүлэх дохиог дэмждэггүй бол та дуудах портуудыг ашиглаж болох юм.
Хэрэв та терминалыг эхний цуваа порт уруу (MS-DOS® дээр COM1) холбосон бол терминалд хандахдаа /dev/ttyd0 гэж ашиглах болно. Хэрэв терминал нь хоёр дахь цуваа порт дээр байгаа бол (бас COM2 гэгддэг) /dev/ttyd1 гэх мэтээр ашиглах ёстой.

26.2.3. Цөмийн тохиргоо

FreeBSD нь анхдагчаар дөрвөн цуваа портыг дэмждэг. MS-DOS-ийн ертөнцөд эдгээр нь COM1, COM2, COM3, болон COM4 гэгддэг. FreeBSD нь одоогоор BocaBoard 1008 болон 2016 зэрэг “дүлий” олон порттой цуваа интерфэйс картууд болон Digiboard болон Stallion Technologies-ийн хийдэг илүү ухаалаг олон порттой картуудыг дэмждэг. Гэхдээ анхдагч цөм нь зөвхөн стандарт COM портуудыг хайдаг.
Таны цуваа портуудыг таны цөм таньж байгаа эсэхийг харахын тулд цөмийг ачаалж байх үед мэдэгдлүүдийг үзэх хэрэгтэй эсвэл цөмийн ачаалалтын мэдэгдлүүдийг дахин харуулах /sbin/dmesg тушаалыг ашиглах хэрэгтэй. Ялангуяа sio тэмдэгтүүдээр эхэлсэн мэдэгдлүүдийг хайгаарай.
Зөвлөгөө: sio орсон мэдэгдлүүдийг харахын тулд дараах тушаалыг ашиглана:
# /sbin/dmesg | grep 'sio'
Жишээ нь дөрвөн цуваа порттой систем дээр эдгээр нь цуваа порттой холбоотой цөмийн ачаалалтын мэдэгдлүүд юм:
sio0 at 0x3f8-0x3ff irq 4 on isa
sio0: type 16550A
sio1 at 0x2f8-0x2ff irq 3 on isa
sio1: type 16550A
sio2 at 0x3e8-0x3ef irq 5 on isa
sio2: type 16550A
sio3 at 0x2e8-0x2ef irq 9 on isa
sio3: type 16550A
Хэрэв таны цөм бүх цуваа портуудыг чинь танихгүй байгаа бол та өөрийн цөмийг /boot/device.hints файлд тохируулах хэрэгтэй байж болох юм. Та өөртөө байхгүй төхөөрөмжүүдийн хувьд тэдгээр мөрүүдийг тайлбар болгох эсвэл бүрмөсөн арилгаж болох юм.
Цуваа портууд болон олон порттой хавтангийн тохиргооны талаар дэлгэрэнгүй мэдээллийг sio(4) гарын авлагын хуудаснаас лавлана уу. Өөр хувилбарын FreeBSD дээр урьд нь ашиглаж байсан тохиргооны файл та ашиглаж байгаа бол болгоомжтой байгаарай, учир нь төхөөрөмжийн тугууд болон синтакс хувилбарууд хооронд өөрчлөгдсөн байдаг.
Тэмдэглэл: IO_COM1 порт нь 0x3f8 хаяг дээрх портод зориулагдсан орлуулалт юм, IO_COM2 нь 0x2f8-ийн IO_COM3 нь 0x3e8-ийн IO_COM4 нь 0x2e8-ийн орлуулалт юм. Эдгээр хаягууд нь цуваа портуудын нэлээн түгээмэл портын хаягууд бөгөөд 4,3, 5 болон 9 тасалдлууд нь нэлээн түгээмэл тасалдал хүсэх шугамнууд юм. Ердийн цуваа портууд нь ISA-bus бүхий PC-үүд дээр тасалдлуудыг хуваалцаж чаддаггүйг бас санаарай (олон порттой хавтангууд нь өөр дээрээ хавтан дээр бүх 16550A-уудад нэг эсвэл хоёр тасалдал хүсэх шугамуудыг хуваалцахыг зөвшөөрдөг бичил схемүүдтэй байдаг).

26.2.4. Төхөөрөмжийн Тусгай файлууд

Цөм дэх ихэнх төхөөрөмжүүдэд “төхөөрөмжийн тусгай файлууд”ын тусламжтайгаар ханддаг бөгөөд эдгээр файлууд нь /dev санд байдаг. sio төхөөрөмжид /dev/ttydN (dial-in буюу гаднаас залгах) болон /dev/cuadN (call-out буюу дуудах) төхөөрөмжүүдийн тусламжтай ханддаг. FreeBSD нь бас эхлүүлэх төхөөрөмжүүд (/dev/ttydN.init болон /dev/cuadN.init) болон түгжих төхөөрөмжүүдтэй (/dev/ttydN.lock болон /dev/cuadN.lock) байдаг. Эхлүүлэх төхөөрөмжүүд нь урсгалын хяналтдаа RTS/CTS дохиоллыг ашигладаг модемийн crtscts зэрэг холбооны портын параметрүүдийг порт нээгдэх бүрт эхлүүлж тохируулахад хэрэглэгддэг. Түгжих төхөөрөмжүүд нь хэрэглэгчид болон програмуудын зарим нэг параметрүүдийг өөрчлөхөөс сэргийлэхийн тулд портууд дээр тугуудыг түгжихэд хэрэглэгддэг. Терминалын тохиргоонууд, түгжих болон эхлүүлэх төхөөрөмжүүд болон терминалын тохируулгуудыг тохируулах талаар дэлгэрэнгүй мэдээллийг termios(4), sio(4), болон stty(1) гарын авлагын хуудаснуудаас үзнэ үү.

26.2.5. Цуваа портын тохиргоо

ttydN (эсвэл cuadN) төхөөрөмж нь таны өөрийн програмууддаа зориулж нээхийг хүсэх ердийн төхөөрөмж юм. Процесс төхөөрөмжийг онгойлгоход энэ нь терминалын I/O тохиргоонуудын анхдагч олонлогтой байх болно. Та эдгээр тохиргоонуудыг дараах тушаалаар үзэж болно
# stty -a -f /dev/ttyd1
Энэ төхөөрөмжид тохиргоонуудыг өөрчлөхөд төхөөрөмжийг хаах хүртэл тохиргоонууд нь идэвхтэй байдаг. Дахин онгойлгоход энэ нь анхдагч тохиргоо уруугаа буцдаг. Анхдагч олонлогт өөрчлөлтүүдийг хийхийн тулд та онгойлгоод “эхний төлөвт” төхөөрөмжийн тохиргоонуудыг тааруулж болно. Жишээ нь ttyd5-ийн хувьд анхдагчаар CLOCAL горим, 8 бит холбоо, болон XON/XOFF урсгалын хяналтыг идэвхжүүлэхийн тулд доор дурдсаныг бичнэ:
# stty -f /dev/ttyd5.init clocal cs8 ixon ixoff
Цуваа төхөөрөмжүүдийн системийн дагуух эхлүүлэлт нь /etc/rc.d/serial файлаар хянагддаг. Энэ файл нь цуваа төхөрөмжүүдийн анхдагч тохиргоонуудад нөлөөлдөг.
Програм зарим тохиргоонуудыг өөрчлөхөөс сэргийлэхийн тулд “түгжих төлөвт” төхөөрөмжид тохиргоо хийнэ. Жишээ нь ttyd5-ийн хурдыг 57600 bps болгож түгжихийн тулд доор дурдсаныг бичнэ:
# stty -f /dev/ttyd5.lock 57600
Одоо програм ttyd5-ийг онгойлгож портын хурдыг өөрчлөхийг оролдоход хурд нь 57600 bps-с хөдлөхгүй байх болно.
Мэдээж та эхний төлөвт болон түгжих төлөвт төхөөрөмжүүдийг зөвхөн root бүртгэл бичдэгээр болгох хэрэгтэй.
 

0 Response to "Цуваа холбоонууд"

Post a Comment