FreeBSD гарын авлага
Өмнөх | Бүлэг 26. Цуваа холбоонууд | Дараах

# 26.2. Танилцуулга

> Сануулга: FreeBSD 8.0-аас эхлээд цуваа портын төхөөрөмжийн цэгүүд `/dev/cuad`N``-с `/dev/cuau`N`` ба `/dev/ttyd`N``-с `/dev/ttyu`N`` болж өөрчлөгдсөн. FreeBSD�7.X хэрэглэгчид доорх баримтыг үзэхдээ эдгээрийг бодолцох хэрэгтэй.

## 26.2.1. Ухагдахуунууд

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/ttyu`N`` гэгддэг бөгөөд `N` нь тэгээс эхлэх портын дугаар юм. Ерөнхийдөө дуудагдах портыг терминалуудад зориулж ашигладаг. Data carrier detect (DCD) буюу өгөгдлийн зөөгч илрүүлэх дохиог зөв ажиллахыг цуваа шугам батлахыг дуудагдах портууд нь шаарддаг.

- Call-out буюу дуудах портууд нь `/dev/cuau`N`` гэгддэг. Дуудах портуудыг терминалуудад зориулж ихэвчлэн ашигладаггүй, зөвхөн модемуудад зориулж ашигладаг. Цуваа кабель эсвэл терминал нь зөөгчийг илрүүлэх дохиог дэмждэггүй бол та дуудах портуудыг ашиглаж болох юм.

Хэрэв та терминалыг эхний цуваа порт уруу (MS-DOS� дээр `COM1`) холбосон бол терминалд хандахдаа `/dev/ttyu0` гэж ашиглах болно. Хэрэв терминал нь хоёр дахь цуваа порт дээр байгаа бол (бас `COM2` гэгддэг) `/dev/ttyu1` гэх мэтээр ашиглах ёстой.

## 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/ttyu`N`` (dial-in буюу гаднаас залгах) болон `/dev/cuau`N`` (call-out буюу дуудах) төхөөрөмжүүдийн тусламжтай ханддаг. FreeBSD нь бас эхлүүлэх төхөөрөмжүүд (`/dev/ttyu`N`.init` болон `/dev/cuau`N`.init`) болон түгжих төхөөрөмжүүдтэй (`/dev/ttyu`N`.lock` болон `/dev/cuau`N`.lock`) байдаг. Эхлүүлэх төхөөрөмжүүд нь урсгалын хяналтдаа `RTS/CTS` дохиоллыг ашигладаг модемийн `crtscts` зэрэг холбооны портын параметрүүдийг порт нээгдэх бүрт эхлүүлж тохируулахад хэрэглэгддэг. Түгжих төхөөрөмжүүд нь хэрэглэгчид болон програмуудын зарим нэг параметрүүдийг өөрчлөхөөс сэргийлэхийн тулд портууд дээр тугуудыг түгжихэд хэрэглэгддэг. Терминалын тохиргоонууд, түгжих болон эхлүүлэх төхөөрөмжүүд болон терминалын тохируулгуудыг тохируулах талаар дэлгэрэнгүй мэдээллийг termios(4), sio(4), болон stty(1) гарын авлагын хуудаснуудаас үзнэ үү.

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

`ttyu`N`` (эсвэл `cuau`N``) төхөөрөмж нь таны өөрийн програмууддаа зориулж нээхийг хүсэх ердийн төхөөрөмж юм. Процесс төхөөрөмжийг онгойлгоход энэ нь терминалын I/O тохиргоонуудын анхдагч олонлогтой байх болно. Та эдгээр тохиргоонуудыг дараах тушаалаар үзэж болно

    # stty -a -f /dev/ttyu1

Энэ төхөөрөмжид тохиргоонуудыг өөрчлөхөд төхөөрөмжийг хаах хүртэл тохиргоонууд нь идэвхтэй байдаг. Дахин онгойлгоход энэ нь анхдагч тохиргоо уруугаа буцдаг. Анхдагч олонлогт өөрчлөлтүүдийг хийхийн тулд та онгойлгоод “эхний төлөвт” төхөөрөмжийн тохиргоонуудыг тааруулж болно. Жишээ нь `ttyu5`-ийн хувьд анхдагчаар `CLOCAL` горим, 8 бит холбоо, болон `XON/XOFF` урсгалын хяналтыг идэвхжүүлэхийн тулд доор дурдсаныг бичнэ:

    # stty -f /dev/ttyu5.init clocal cs8 ixon ixoff

Цуваа төхөөрөмжүүдийн системийн дагуух эхлүүлэлт нь `/etc/rc.d/serial` файлаар хянагддаг. Энэ файл нь цуваа төхөрөмжүүдийн анхдагч тохиргоонуудад нөлөөлдөг.

Програм зарим тохиргоонуудыг өөрчлөхөөс сэргийлэхийн тулд “түгжих төлөвт” төхөөрөмжид тохиргоо хийнэ. Жишээ нь `ttyu5`-ийн хурдыг 57600�bps болгож түгжихийн тулд доор дурдсаныг бичнэ:

    # stty -f /dev/ttyu5.lock 57600

Одоо програм `ttyu5`-ийг онгойлгож портын хурдыг өөрчлөхийг оролдоход хурд нь 57600�bps-с хөдлөхгүй байх болно.

Мэдээж та эхний төлөвт болон түгжих төлөвт төхөөрөмжүүдийг зөвхөн `root` бүртгэл бичдэгээр болгох хэрэгтэй.

Өмнөх | Эхлэл | Дараах
Цуваа холбоонууд | Дээш | Терминалууд

Энэ болон бусад баримтуудыг ftp://ftp.FreeBSD.org/pub/FreeBSD/doc/ хаягаас татаж авч болно.

FreeBSD-ийн талаар <questions@FreeBSD.org> хаягтай холбоо барихаасаа өмнө баримтыг уншина уу.
Энэ бичиг баримттай холбоотой асуулт байвал <doc@FreeBSD.org> хаягаар цахим захидал явуулна уу.
Энэ бичиг баримтын орчуулгатай холбоотой асуулт байвал <admin@mnbsd.org> хаягаар цахим захидал явуулна уу.