2 functional overview, Functional overview, Event generation – Maxim Integrated 73M1866B/73M1966B Reference Driver User Manual
Page 10: Fxo channel config and management
73M1866B/73M1966B Reference Driver User Guide
UG_1x66B_015
10
Rev. 2.7
2.2 Functional Overview
Once installed, the driver is a self-contained module running independently along with the kernel
processes. Its main purpose is to monitor the FXO line for various conditions, generates appropriated
event when they occur, and to provide access to the 73M1x66B device for management purposes, via
standard driver access methods such as open, close, select, ioctl, etc. The following sections
provide an overview of the functionalities.
2.2.1 Event Generation
During operation the driver constantly monitors the line for the following conditions:
1. APOH condition.
2. Transition back to no APOH condition (NOPOH).
3. Ring start detection.
4. End of Ring condition.
5. Battery disconnected condition.
6. Battery restored condition.
7. Polarity reversal condition.
8. Line State condition – monitoring of voltage and current.
9. Device failure condition.
10. Over voltage, current, or load condition.
11. Pulse dial complete event.
12. Pulse dial aborted event.
13. Device recovered event.
provides detail descriptions of each event.
If any of these conditions occur the driver creates an event entry in the event queue and notifies the
application layer via file descriptor ready mechanism (or via file descriptor select() function). Upon
receiving this “wakeup” notification, the application can then test the file descriptor “ready” status with the
FD_ISSET
macro to confirm, and then retrieve the event from the driver via IOCTL event get command.
2.2.2 FXO Channel Config and Management
Configuration of the FXO parameters such as PCM parameter and other management command such as
hook switch operation are done via standard device driver IOCTLs. The 73M1x66B Reference Driver
provides an extended list of IOCTLs for this purpose. The IOCTL command descriptions in
provide details of how they work.
2.2.3 Line State Analysis via Current and Voltage Measurements
The 73M1x66B Reference Driver can be programmed to provide extended line status information and
line monitoring capability. The driver operates autonomously, under the application layer control, to detect
line condition specified in pre-set criteria and automatically report status change. This alleviates the
burden of constant polling from the application layer. The line status consists of the line voltage and line
current measurements. Each measurement entity is operated independently as described below.
2.2.3.1 Interval and Even Table
The Interval and Event Table (IET) is a table that consists of multiple rows of the following information:
1. Row number.
2. Lower bound threshold.
3. Upper bound threshold.
4. Application defined event.