| ??? 01/20/03 06:55 Read: times |
#36819 - RE: detection of pulse dialing for PABX sys |
If your system is connected to a PABX line as the equivalent of a telephone set and you wish to do pulse dialing (as you imply in the body of your forum post) then proceed as follows:
Your circuit will contain some type of DAA (data access arrangement) that includes an off-hook switch. When your device is off-hook this switch is closed and allows loop current to flow in the line wire pair. Pulse dialing is performed by causing the loop current to be turned back off and then on again in a pulse sequence. One pulse for a "1" up to ten pulses for a "0". There is specific timing that is used for this pulsing sequence which you can find in telephone standards specifications for the country where you want your device to work. Typically a rate of 10 PPS (pulses per second) is used. Note that there are also needed delays from time of initial off-hook state to first digit and for inter-digit spacing. If instead your system is connected to a PABX line as monitoring device (in parallel with a normal telephone) and you desire to detect the dialing sequence in process on that line (as you state in the subject line of your forum post) then you may do the detection as follows: You need to carefully design a circuit that taps across the phone wire pair and monitors the voltage across the line. This circuit needs to detect this voltage on a differential manner so as to not require the phone line to be directly "grounded" from one side to the ground of your system. (or the power supply for that matter). Then in addition the circuit must be designed so that it presents a very small load to the phone line (on the order of 250 uA or less) so as to not load the line and make it look off hook. The circuit must also be capable of surviving in the presence of the ringing voltage or other high voltage spikes on the phone line. There are also a lot of stringent specs for a device of this sort if it is to be connected to the PSTN, but since you are working in a PBX environment you can relax a little bit. The circuit wants to be some type of differential comparator wired to the phone line through 470K or 1M resistors in a pair of voltage dividers with 1K or 1.5K resistors to ground of the microcontroller system. The comparator needs to detect voltage changes across the phone line using a line threshold from about 13 to 18 volts. The output of the comparator will be high or low depending on the onhook/offhook state of the phone line. During a pulse dialing sequence the comparator will generate a pulse sequence that follows the approximate 10 PPS timing I described above. In addition during the time the ringing voltage is on the line the comparator will present a square wave that follows the frequency of the ringing signal, which may be from 15 to 30 Hz depending upon the locale and the PABX type. Your microcontroller needs to incorporate an algorithm to monitor the comparator output timing and decypher the hook state, ringing state and pulse dialing state. ------------- Note that some 15 years ago I worked on a phone line monitor box that did detection for up to 32 phone lines. There were 32 comparators in the box, each working as described as above, and the outputs were all arranged to be connected to a single port pin of the processor. A 32 -> 1 mux controlled by 5 output port pins allowed the software to select which comparator to look at a any given time. A timer interrupt was setup to sequence the mux at a 10 KHz rate and then to drive a series of internal filters in the microcontroller in a state machine manner. The state machine was capable of maintaining internal variables for each phone line that showed on-hook, off-hook, ringing, or pulse dialing states. And if pulse dialing it would show the last digit detected. All this was done on an old Hitachi 6303 type processor with 3.58MHz crystal (which was an instruction cycle rate of 0.895 MHz. This processor had a quite large amount of firmware and did a lot of stuff in addition to the filtering I mentioned above. And yet with clever design it was possible to do the line filtering/detection using only about 2.8% of the processor bandwidth! You can believe it when I tell you that algorithm development took several months of hard work. I don't have access to any of the specific design details but if you cannot figure out how to make the comparator circuit then post back here and I'll see if I can sketch it up and give you the general idea of how it is done. Michael Karas |
| Topic | Author | Date |
| detection of pulse dialing for PABX sys | 01/01/70 00:00 | |
RE: detection of pulse dialing for PABX sys | 01/01/70 00:00 |



