27.2. Танилцуулга
Өмнөх | Бүлэг 27. Цуваа холбоонууд | Дараах

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

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

bps

  Bits per Second bps буюу секундэд дамжуулах бит — өгөгдөл дамжих хурд

DTE

  Data Terminal Equipment DTE буюу Өгөгдлийн Терминал Төхөөрөмж — жишээ нь таны компьютер

DCE

  Data Communications Equipment DCE буюу Өгөгдлийн Холбоонуудын Төхөөрөмж — таны модем

RS-232

  Тоног төхөөрөмжийн цуваа холбоонуудад зориулсан андагч стандарт. Одоо TIA-232 гэгддэг.

Холбоонуудын өгөгдлийн хурдны талаар ярихдаа энэ хэсэг «baud» гэсэн ухагдахууныг ашигладаггүй. Baud нь тодорхой хугацаанд хийгдсэн цахилгааны төлвийн шилжилтүүдийн тоог хэлдэг бол bps нь хэрэглэгдэх зөв ойлголт юм.

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

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

#### 27.2.2.1. Кабелиуд

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

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

Null-модем кабель нь «Signal Ground» буюу Газар дохио зэрэг зарим дохионуудыг шууд нэвтрүүлдэг боловч зарим дохионуудыг шилжүүлдэг. Жишээ нь нэг талын «Transmitted Data» буюу Дамжигдсан Өгөгдөл зүү нь нөгөө талын «Received Data» буюу Хүлээн авсан Өгөгдөл зүү уруу ордог.

null-модем кабелийг терминалуудтай ажиллахаар болгож болно. Энэ хүснэгт нь RS-232C дохионуудын нэрс болон DB-25 холбогч дээрх зүүний тоонуудыг харуулж байна. Мөн стандарт нь шууд холбогдох 1-р зүүг 1-р зүү Protective Ground буюу Хамгаалалтын Газар шугам уруу дууддаг боловч энэ нь ихэвчлэн орхигддог. Зарим терминалууд 2, 3 болон 7-р зүүнүүдийг зөвхөн ашиглахад зүгээр ажилладаг бол бусдууд нь доор дурдсан жишээнүүдээс өөр тохиргоонуудыг шаарддаг.

Хүснэгт 27.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

Дараагийн хоёр хүснэгт нийтлэг байдаг өөр хоёр схемийг үзүүлэв.

Хүснэгт 27.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

Хүснэгт 27.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

### Тэмдэглэл:

Нэг талд байгаа нэг зүү нь нөгөө талын хос зүү уруу холбогдох бол тэдгээрийн холбогч дээр хос зүүний хооронд нэг богино утсаар болон урт утсаар нөгөө ганц зүү уруу холбон ихэвчлэн шийдсэн байдаг.

Дээрх дизайнууд нь хамгийн нийтлэг юм шиг санагддаг. Өөр хувилбарууд дээр SG нь SG уруу, TD нь RD уруу, RTS болон CTS нь DCD уруу, DTR нь DSR уруу болон эсрэгээр холбогддог.

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

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

#### 27.2.2.2. Портууд

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

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

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

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

Тоног төхөөрөмжтэй цуг ирсэн баримтаас ашиглах портын төрлийн тодорхойлолтыг үзнэ үү. Портыг нүдээрээ харж шалгах нь бас үр дүнгээ өгдөг.

##### 27.2.2.2.2. Портын нэрс

FreeBSD дээр цуваа порт бүрт `/dev` сан дахь оруулгаар та ханддаг. Хоёр өөр төрлийн оруулга байдаг:

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

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

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

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

FreeBSD нь анхдагчаар дөрвөн цуваа портыг дэмждэг. MS-DOS®-ийн ертөнцөд эдгээр нь `COM1`, `COM2`, `COM3`, болон `COM4` гэгддэг. FreeBSD нь одоогоор BocaBoard 1008 болон 2016 зэрэг «дүлий» олон порттой цуваа интерфэйс картууд болон Digiboard болон Stallion Technologies-ийн хийдэг илүү ухаалаг олон порттой картуудыг дэмждэг. Гэхдээ анхдагч цөм нь зөвхөн стандарт COM портуудыг хайдаг.

Таны цуваа портуудыг таны цөм таньж байгаа эсэхийг харахын тулд цөмийг ачаалж байх үед мэдэгдлүүдийг үзэх хэрэгтэй эсвэл цөмийн ачаалалтын мэдэгдлүүдийг дахин харуулах `/sbin/dmesg` тушаалыг ашиглах хэрэгтэй. `uart` тэмдэгтүүдээр эхэлсэн мэдэгдлүүдийг хайгаарай:

`#` `/sbin/dmesg | grep 'uart'`

Хэрэв цөм бүх цуваа портуудыг чинь танихгүй байгаа бол `/boot/device.hints` файлд тохируулах хэрэгтэй байж болох юм. Байхгүй төхөөрөмжүүдийн хувьд тэдгээр мөрүүдийг тайлбар болгох эсвэл бүрмөсөн арилгаж болох юм.

### Тэмдэглэл:

`IO_COM1 порт` нь `0x3f8` хаяг дээрх портод зориулагдсан орлуулалт юм, `IO_COM2` нь `0x2f8`-ийн `IO_COM3` нь `0x3e8`-ийн `IO_COM4` нь `0x2e8`-ийн орлуулалт юм. Эдгээр хаягууд нь цуваа портуудын нэлээн түгээмэл портын хаягууд бөгөөд 4,3, 5 болон 9 тасалдлууд нь нэлээн түгээмэл тасалдал хүсэх шугамнууд юм. Ердийн цуваа портууд нь ISA-bus бүхий PC-үүд дээр тасалдлуудыг хуваалцаж чаддаггүйг бас санаарай (олон порттой хавтангууд нь өөр дээрээ хавтан дээр бүх 16550A-уудад нэг эсвэл хоёр тасалдал хүсэх шугамуудыг хуваалцахыг зөвшөөрдөг бичил схемүүдтэй байдаг).

### 27.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) гарын авлагын хуудаснуудаас үзнэ үү.

### 27.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` бүртгэл бичдэгээр болгох хэрэгтэй.

Өмнөх | Дээш | Дараах
Бүлэг 27. Цуваа холбоонууд | Эхлэл | 27.3. Терминалууд

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

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