RADYO ELEKTRONİK VE ELEKTRİK MÜHENDİSLİĞİ ANSİKLOPEDİSİ PIC denetleyicilerinde set üstü kutuların geliştirilmesi. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi Radyo elektroniği ve elektrik mühendisliği ansiklopedisi / Mikrodenetleyiciler Mikrodenetleyiciler üzerinde yapılan cihazlar, geliştirilmekte olan tasarımların, sert mantık kullanılarak uygulanması zor, hatta imkansız olan işlevlerle donatılmasına olanak sağlamaktadır. Bu makale, PIC denetleyicilerini temel alan çeşitli telefon set üstü kutularının tasarımını açıklamaktadır. Son zamanlarda, radyo mühendisliği literatüründe bir telefon hattı için küçük set üstü kutuların oldukça fazla açıklaması ortaya çıkmıştır. 220 V'luk bir ağdan güç gerektirmezler. Üretimleri kolaydır ve konfigürasyon gerektirmezler, bu da onları her seviyedeki radyo amatörleri için çekici kılar. Böyle bir cihaz bireysel unsurlardan oluştuğunda, bir radyo amatörü cihazın çalışmasını ayrıntılı olarak anlayabilir ve istenirse onu kendi gereksinimlerine uyacak şekilde değiştirebilir. Ancak mikrodenetleyici kullanıldığında ürünlerin temel algoritmaları radyo amatörleri için erişilemez hale gelir. Ayrıca programların kaynak kodlarından bahsetmek yerine, yayınlanmış devreler için ürün yazılımı bulmak her zaman mümkün değildir. Bir PIC denetleyicisini kullanarak bağımsız olarak bir cihaz tasarlamak isteyenler için, er ya da geç kendi programlarını geliştirme sorunu ortaya çıkar. Bu makalede telefon hattı set üstü kutuları için program yazma yöntemleri tartışılmaktadır. "Eklentiler" derken, engelleyiciler ve şifreli kilitler gibi nispeten basit cihazları kastediyoruz. mikro-PBX vb., yalnızca telefon hattından güç alır ve darbeli çeviricilerle çalışır. Yazar, okuyucunun en azından genel olarak uzaktan kumanda kontrolörlerinin mimarisine ve komut setine aşina olduğunu varsaymaktadır. Bir kez daha hatırlatmamız gerekiyor: Kamuya açık telefon ağlarına bağlı tüm cihazların sertifika alması gerekiyor. En genel haliyle, herhangi bir telefon set üstü kutusu, telefon hattının durumunu izleyen bir cihazdır. parametrelerindeki değişikliklere bağlı olarak belirli eylemler gerçekleştirir. Tipik olarak hattaki voltajı izler ve değişime bağlı olarak ahizenin kaldırılıp kaldırılmadığına, bir numaranın çevrilip çevrilmediğine veya gelen bir çağrı sinyalinin alınıp alınmadığına karar verir. Bunun nasıl gerçekleştiğine daha yakından bakalım. Hat serbest olduğunda yani telefonun ahizesi kapatıldığında hattaki voltaj 48...60 V arasında olmalıdır. Ahize çıkarıldığında cihazdan yaklaşık 30 mA'lik bir akım akacak ve voltaj 5...10 V'a düşecektir. Bu voltajı Şekil 1'de gösterilen bölücüden uygularsanız. 1, PIC denetleyicinin girişine, ahizenin kaldırıldığı anı kaydedebilir veya aranan numaranın rakamlarını okuyabilirsiniz. 4 V beslemeli P1,3C kontrol cihazının yanıt eşiği 1,4... XNUMX V aralığındadır (Schmitt tetikleyicisi olmayan bir giriş anlamına gelir). Bu nedenle, ahize takıldığında kontrolöre yüksek bir seviye, çıkarıldığında ise düşük bir seviye sağlanacaktır. Telefon hattına aynı anda birden fazla telefon seti bağlıysa, içindeki voltajdan hangi cihazın aktif olduğunu anlamak mümkün değildir. Belirli bir telefonun durumunu izlemenin gerekli olduğu durumlarda, Şekil 2'de gösterilen şemayı kullanabilirsiniz. 1, a. Tüp indirildiğinde transistör VT1 kapatılır ve kolektöründe yüksek seviye bulunur. Tüp çıkarıldığında R1 direnci üzerinden akım akmaya başlar. transistör VT1 açılır ve kolektöründe düşük bir seviye belirir. Bir çağrı sırasında telefon kapasitörünün deşarjı için VDXNUMX diyotuna ihtiyaç vardır. İncirde. Şekil 2b, telefondaki akım akışını izlemeye yönelik başka bir düğümü göstermektedir. Benzer şekilde çalışır, ancak transistör yerine bir optokuplör kullanılır. Bu düğüm bu bakımdan farklıdır. polariteye dikkat etmeden hatta bağlanabilmesini sağlar. Mevcut kontrol ünitelerini tasarlarken birkaç noktanın dikkate alınması gerekir. İlk olarak, ahize kapalı olsa bile telefonda akım akabilir. Bazen oldukça büyük olabilir - 0.5 mA'nın üzerinde. GOST 7153-85'e göre tanımlanmıştır (bkz. [11]). Cihazların bu akımda çalışmaması gerekmektedir. İkincisi, bir çağrı sinyali olduğunda bu cihazların çıkışları 25 Hz frekansında ve süresiz görev döngüsüne sahip darbeler üretecektir. Bu nedenle, çağrı sinyalini telefonu açmakla karıştırmamak için işleme programının bunu dikkate alması gerekir. Ve üçüncü hoş olmayan nokta, eski PBX'lerin bazı telefon hatlarında bazen hattın tamamında kısa süreli bir akım düşüşü olması, bu da işlemci tarafından telefonun kapatılması veya numaranın çevrilmesi olarak algılanabiliyor " 1”. Bu genellikle bir bağlantı kurulduğunda veya bağlantı kesildiğinde meydana gelir. Bu durumda hataları önlemek için telefondaki akımda bir azalma tespit ettikten sonra hattaki voltajın bir bütün olarak kontrol edilmesi tavsiye edilir. Telefondaki akım kaybolmuş ve hattaki voltaj artmamışsa bu durumda telefona herhangi bir işlem yapılmadığını varsayabiliriz. Bir hattı ele geçirme veya bir telefon numarasını çevirme sürecini izlemeye ek olarak, genellikle gelen bir aramanın sinyalini kaydetmek de gereklidir. Genellikle 25 Hz frekansa ve tepeden tepeye 100 ... 150 V genliğe sahip bir sinüzoiddir ve sabit bir bileşeni veya 60 V mertebesinde bir kıvrımı korur. En basit durumda, bunun görünümü sinyal, hat voltajının izlenmesiyle aynı şekilde, yani geleneksel bir dirençli bölücü kullanılarak belirlenebilir (bkz. Şekil 1). direnç R2'nin direnci 27 kOhm olmalıdır. Hatta 100 V'un üzerindeki voltaj yalnızca zil sesi sırasında değil, numara çevirirken veya telefonu kapatırken de görünebilir. Bu, bazı eski telefon santrallerini çalıştırırken meydana gelir ve istasyon rölesinin endüktansından kaynaklanır. Bu nedenle programın yanlış darbeleri çağrı sinyalinden ayırt edebilmesi gerekir. İncirde. Şekil 3, alternatif bir bileşeni seçen bir zil sinyali sensörünün diyagramını göstermektedir. Bu sensör tercihen hat voltajı ve zil sinyalinin önceden bilinmediği durumlarda kullanılır. Çoğu durumda, açıklanan kontrol yöntemleri, bir telefon hattı için tamamen modern bir set üstü kutu oluşturmak için yeterlidir. Tipik olarak, bu tür cihazlarda kontrolör, telefonların veya diğer bazı elemanların değiştirildiği KR10T4KT1V veya benzerlerini akım anahtarlarını kontrol eder. Kontrolörün güç kaynağına özellikle dikkat edilmelidir (Şekil 4). Hatta bağlandığında, kontrolörün besleme voltajı nispeten yavaş bir şekilde artacaktır (yaklaşık 1 ... 2 s), bu da işlemcinin standart yollarla sıfırlanmasına izin vermeyecektir. Bu, program yürütmenin (en azından teorik olarak) herhangi bir ROM adresinden başlayabileceği anlamına gelir. Program başarısız bir şekilde oluşturulursa, watchdog zamanlayıcısı etkinleştirilse bile cihaz açıldığında donmalar meydana gelecektir. Bu nedenle program algoritması, işlemci girişleri üzerindeki belirli başlangıç etkileri altında (örneğin, ahizeler indirildiğinde ve bir çağrı sinyali olmadığında), programın belirli bir başlangıç noktasına geri dönebileceği ve RAM kayıtlarındaki değerlerden bağımsız olarak kendi kendini başlatma işlemini gerçekleştirin. Küçük programlar için bu koşulun karşılanması oldukça kolaydır. Ancak programın boyutu büyüdükçe görünürlüğü bozulur ve bazen programın donma ihtimaline karşı kontrol edilmesi için özel önlemler alınması gerekir. Bu çok önemli bir noktadır, çünkü telefon set üstü kutusu sürekli kullanılan bir cihazdır ve en az birkaç ayda bir, bazı dış müdahaleler nedeniyle işlemci arızalanacaktır. Bu nedenle programı tamamlanmamış bir cihaz ya çalışmayı durduracak ya da zarara neden olacak, örneğin hattı ele geçirecektir. Düşük güç kaynağı, denetleyicinin saat frekansına sınırlama getirir. KZh101V akım stabilizatörü 160 µA'ya kadar üretebilir. Bu, kontrolörün saat frekansının, bu akımın normal çalışması için yeterli olacağı şekilde olması gerektiği anlamına gelir. Tipik olarak, 32768 Hz frekansına sahip bir "saat" kuvars rezonatörü kullanılır. veya yaklaşık 50 kHz frekansa sahip bir RC osilatörü. Daha yüksek bir saat frekansının gerekli olması durumunda, örneğin 4 MHz. İşlemci uyku modunda kullanılabilir ve yalnızca belirli eylemler için bırakılabilir. Şimdi programlamaya geçelim. Diyagramı Şekil 5'de gösterilen cihaz için küçük bir program yazalım. 16. Bu cihazın pratik önemi çok fazla değildir, ancak örneği, telefon set üstü kutularını programlamanın temel yöntemlerini izlemek için kullanılabilir. Cihaz en popüler PIC84FXNUMX kontrol cihazını kullanır. elektriksel olarak yeniden programlanabilir ROM'u sayesinde basit programların hatalarını ayıklamak için en uygun olanıdır. Kesintiler, zamanlayıcı, watchdog, uyku modu gibi özelliklerinin çoğu kullanılmayacaktır. Cihaz hattaki voltajı (bu sinyale Uline diyelim) ve telefon (Itel) üzerinden geçen akımı kontrol eder. DD2 denetleyicisinin RB1 çıkışı, R1 direncine giden hattı kapatmak için kullanılabilen K3 akım anahtarını kontrol eder. Cihaz, telefonda aranan numaraları okuyabilir, uzun mesafeli iletişime kodlu erişim sağlayabilir ve doğrudan hatta bağlı herhangi bir cihazdan aramayı engelleyebilir (korsanlıkla mücadele modu). Basitlik açısından, şehirlerarası erişim kodu, şehirlerarası erişim numarasından sonra çevrilmesi gereken bir rakamdan oluşacaktır. Programın metninde kullanılan bazı gösterimleri kabul edelim. RAM kayıtlarının adları ve alt programların adları, kelimenin başında büyük harfle küçük harflerle, sabitler - büyük harflerle, etiketler - küçük harflerle, önünde bir alt çizgi ile gösterilecektir. kelimeleri de alt çizgiyle ayıracağız. Başlık olarak p16f84.inc denetleyici kayıtlarını açıklayan standart bir dosya kullanacağız. Bu dosya MPLAB PIC denetleyicileri için geliştirme ortamıyla birlikte gelir. equ direktifini kullanarak portları (TRVS kayıtları) ve OPTION ve INTCON kayıtlarını başlatmak için sabitler tanımlayalım ve şehirlerarası erişim için şifre numarasını "3" olsun (Tablo 1). Daha sonra programda kullanılacak RAM kayıtlarını tanımlayacağız. Bu, her sembolik kayıt adına kendi adresini atayarak yapılabilir (örneğin, REG1 equ OxOS), ancak cblock ve endc direktiflerini kullanmak daha uygundur. Onların yardımıyla, kullanılan kayıtların bir bloğu için tek bir başlangıç adresi belirleyebilirsiniz ve montajcı, montaj sırasında tüm kayıtları artan sırada düzenleyecektir. Dikkat etmeniz gereken tek şey. - böylece belirtilen adların toplam sayısı, fiziksel olarak mevcut denetleyici kayıtlarının sayısını aşmaz. Kayıt adlarının belirtildiği programın bir parçası Tablo'da gösterilmektedir. 2. Kullanılan giriş/çıkış satırlarının sembolik adlarını ve bayrakların adlarını belirtmek için #define yönergesini kullanalım (Tablo 3). Masada Şekil 4 başlatma rutinini göstermektedir. Şimdi bekleme döngüsünü yani o kodu oluşturalım. ahizeler kapalıyken ve bir çağrı sinyali olmadığında program tarafından yürütülür. Tipik olarak bu döngünün görevi, başlatmaları gerçekleştirmek ve tüm girişleri izlemektir. Sorunumuzla ilgili olarak programın hattaki voltajı izlemesi ve ahize kaldırıldığında düşmesini beklemesi gerekiyor. Ayrıca tüm bayrakları sıfırlamak, Şekil ve Şekil_Sayısı kayıtlarını sıfırlamak ve K1 anahtarının C girişine düşük bir seviye uygulamak gerekir. hattın R3 direnci üzerinden kısa devre yapmaması için (Tablo 5). Yürütülmesi rastgele bir adresten başlasa bile, program başlatıldığında bu döngüde düşmelidir. Uline'da düşük seviye tespit edilirse, ahizenin gerçekten açık olup olmadığının veya hatta bir çağrı sinyali iletilip iletilmediğinin belirlenmesi gerekir. Çağrı sinyali sırasında Uline girişine 25 Hz frekansında darbeler gönderilecektir. Aralarında ayrım yapmak için, Uline'ın birkaç kez çalma süresinden daha fazla bir süre alçakta çalıştırıldığından emin olmanız gerekir. [1]'e göre, telefondaki "ahizeyi kaldırmak", 250 ms'den uzun bir süre boyunca hat kısa devresi olarak kabul edilir. Hat üzerindeki alçak gerilimi 300 ms boyunca izleyen bir program fragmenti yazalım (Tablo 6). Bu parça hemen önceki parçayı takip etmelidir. Hatta 300 ms boyunca düşük voltaj varsa, bazı telefonlar kapalı demektir. Daha sonra Itel girişinde düşük bir seviye olup olmadığını kontrol etmeniz gerekir, yani cihaz üzerinden bağlanan telefonun mu yoksa doğrudan hatta bağlanan cihazın açık mı olduğunu anlamanız gerekir. “Sizin” telefonunuzu kullandığınızda program, aranan numarayı okuma moduna geçmeli, aksi halde arama bloke edilmelidir. Bu nedenle programa iki satır ekleyelim: btfsc İtel çağrı engelleme Blok altyordamı, aramayı engelleme işlevini yerine getirir. En basit haliyle, çalışması için algoritma şu şekilde görünebilir: Anahtar çıkışı yüksek bir seviyeye ayarlanmıştır ve hat, R3 direncine kapatılmıştır. Bir süre sonra, örneğin 1 saniye sonra. Anahtar düşük bir seviyeye ayarlanır ve kısa bir gecikmeden sonra (yaklaşık 20 ms) kontrol edilir. tüp takılı değil. Tüp yatırılmazsa Anahtar tekrar yüksekte beslenir ve bu döngü tekrarlanır. Aksi takdirde goto_begin ifadesi yürütülür ve program baştan başlar. Oldukça basit olduğundan ve herhangi bir özel yorum gerektirmediğinden bu altprogramın montaj kodunu dikkate almayacağız. Daha sonra telefonda aranan numara okunur. Yukarıda belirtildiği gibi, bir numarayı çevirmek sayılması gereken bir dizi darbedir. Uline üzerinden de mümkün olmasına rağmen, çevrilen numarayı Itel girişini kullanarak okuyacağız. Programın bu bölümüne ilişkin montaj kodu Tablo'da gösterilmektedir. 7. _dial_01 etiketli döngüde program, bir rakamın çevrilmeye başlamasını bekler. Aynı zamanda sürekli olarak başlatma altprogramı lnit'i çağırır ve K1 anahtarının kapısını düşük bir seviyeye ayarlar. Bu, cihazı çalıştırırken veya harici müdahale nedeniyle arıza durumunda donmayı önlemek için gereklidir. Anahtar çıkışını sıfırlamazsanız bu durum meydana gelebilir. üzerinde yüksek seviye olacağı, hattın R3'e kapanacağı ve içindeki voltajın düşeceği. Sonuç olarak program bu döngüden asla çıkamaz. TRISB kaydı başlatılmadıysa (bu, lnit alt yordamında yapılır), o zaman bir arıza sonucu Anahtar hattı bir giriş olarak programlanabilir ve kapıda biriken yük nedeniyle K1 anahtarı açılacaktır, bu da yine programın donmasına yol açacaktır. Bunu önlemek için, K200 kapısı ile ortak kablo arasına yaklaşık 1 kOhm dirençli bir direnç bağlayın. Itel'de yüksek seviye göründükten sonra alınan darbelerin sayacı sıfırlanır. Daha sonra amacı aşağıda açıklanacak olan Supress bayrağı temizlendiğinde 10 ms gecikme gerçekleştirerek Delay10 alt programı çağrılır. Bu altprogramın metni oldukça basit olduğundan burada verilmemiştir. Aynı durum benzer bir 80 ms gecikme rutini için de geçerlidir. Daha sonra hattaki voltajın artıp artmadığını kontrol ediyoruz. Değilse, telefondaki akım düşüşünün çeviriciden değil hat akımındaki düşüşten kaynaklandığı varsayılır ve program _dial_0l etiketine geri döner. Aksi takdirde Counterlo ve CounterHi kayıtlarından oluşan sayaç 400 ms'lik bir süre için başlatılır. Bu süre zarfında Itel'deki yüksek seviye kaybolmazsa, telefonun kapatıldığını ve kontrolün başlangıca, yani _begin etiketine aktarılacağını varsayabiliriz. Düşük bir seviye oluştuğunda, çevirici kontaklarının sıçramasına karşı koruma sağlamak için 10 ms'lik bir gecikme yapılır ve ardından alınan darbelerin sayacı artırılır ve zaman sayacı 100 ms için başlatılır. Yeni bir darbe göründüğünde program benzer işlemleri yapar ve 100 ms içerisinde yeni bir darbe algılanmazsa rakamın çevrilmesinin tamamlandığı ve alınan rakamların sayacının artırıldığı kabul edilir. Daha sonra alınan numarayı işlemeniz gerekir. Örneğimizde uzak mesafe iletişimlerine erişimi şifre ile engellememiz gerekiyor. Ahizeyi kaldırdıktan hemen sonra “8” rakamının çevrilmesiyle uzun mesafeli iletişimin sağlanabileceği varsayılmaktadır. Bu durum için bir program parçası Tablo'da gösterilmektedir. 8. Bastırma ve Parol işaretleri silinmişse ve ahizeyi kaldırıp ilk rakamı çevirdikten sonra durum gerçekten de budur. daha sonra program çevrilen rakamın sekize eşit olup olmadığını kontrol eder. Bu eşitlik sağlanırsa Supress ve Parol bayrakları ayarlanır. Bastırma bayrağının ayarlanması, hat çevirici tarafından açıldığında, R80 direncinin 3 ms boyunca ona bağlı kalmasıyla sonuçlanır, bunun sonucunda hatta bir rakamın çevrilmesine izin verilmez. Ancak program, R3 direncini hattan ayırdıktan sonra hala arama darbelerini yeniden hesaplama yeteneğine sahiptir. Girilen şifre rakamı belirtilen rakamla eşleşirse, bu işaretlerin her ikisi de sıfırlanır ve denetleyici, numaraların çevrilmesini engellemeyi bırakır. Şifrenin yanlış girilmesi durumunda yalnızca Parol bayrağı sıfırlanır ve o zamana kadar yazma engellenmeye devam edilir. telefon kapanana kadar. “2” numarasını çevirirken telefon hattındaki voltaj şeması Şekil 6'de gösterilmektedir. XNUMX. Şu anda çevirici hattı açıyor. Daha sonra t0 -t1 zaman aralığı boyunca gerilim kontrolör tarafından algılanana kadar artar. Ayrıca t1 zamanında. direnç R3 bağlanır. t2 anında çevirme darbesi sona erer ve U anında R3 direnci kapatılır. Böylece hattın açıldığı andan R3 direnci açılana kadar hatta sadece kısa darbeler geçecektir. Bu dürtülerin çoğu telefon santralında etkisi olmayacaktır, ancak bazı elektronik telefon santrallerinde arama olarak algılanabilirler. Bu darbelerden kurtulmak için seti dirençle değil zener diyotla bloke edebilirsiniz. Bu durumda program algoritmasının zener diyotun 80 ms süreyle bağlı kalmayacak şekilde değiştirilmesi gerekir. direnç R3 gibi. ama sürekli. Bu durumda arama sırasında hat kesilirse akım zener diyottan, kısa devre olursa telefondan akacaktır. Bu arama engelleme yöntemi [2]'de açıklanan anahtarda kullanılır. Şimdi diyagramı Şekil 7'de gösterilen cihazın çalışmasını ele alalım. XNUMX. Belirli bir dizi ek hizmet işlevine sahip paralel bir telefon engelleyicidir. Engelleyici, iki telefon setini (TS) ilk telefondan ahizeyi kaldırırken öncelik imkanı ile bir hatta bağlamak için tasarlanmıştır. SLT 1 için öncelik, başka bir telefon tarafından kullanılıyor olsa bile ücretsiz hattınızı bu telefona aktarmanıza olanak tanır. Bu durumda, bağlantıyı kesmeden önce TA2 abonesine bir uyarı sinyali verilecek ve görüşmeyi bitirmesi için yaklaşık 6...7 s süre verilecektir. Bu işlev, ikinci bir telefonun varlığını birinci telefonun sahibi için mümkün olduğunca görünmez hale getirmenize olanak tanır. SA1 geçiş anahtarı kullanılarak açılabilir veya kapatılabilir. SA2 geçiş anahtarını kullanarak, gelen bir çağrı olduğunda, üçüncü çağrıdan sonra çalmaya başladığında TA2 için bu çalışma modunu ayarlayabilirsiniz. Engelleyici, ucuz ve minimum boyutlu bir PIC12C508-04/P denetleyici üzerinde yapılmıştır. Her iki telefon seti de VT1 ve VT2 akım anahtarları aracılığıyla bağlanır. Telefonların her biri, U1.1 ve U1.2 optokuplörleri kullanılarak akımla kontrol edilir. Gelen çağrı sinyali bölücü R4R5 aracılığıyla izlenir. SA1 ve SA2 geçiş anahtarları, VT1 ve VT2 transistörlerinin kapılarına düşük bir seviye uygulanarak konumları belirlenebilecek şekilde açılır. Bu durumda, telefon akım kontrol sisteminin çıkışı, geçiş anahtarı kapatıldığında düşük, açıldığında yüksek olacaktır. Bu bağlantı, ayrı işlemci çıkışları gerektirmez ve engelleyicinin tamamı için yalnızca beş kullanılabilir denetleyici hattıyla idare etmenize olanak tanır. Ancak R9 ve R10 dirençlerinin kullanılmasına neden olan bir özellik vardır. Bunların yokluğunda (yani, sinyaller doğrudan optokuplör transistörlerinin toplayıcılarından kontrolör girişlerine beslendiğinde), cihaz bağlandığında, örneğin GP2 ve GP3 pinlerinin çıkış olarak programlanacağı bir durum ortaya çıkabilir. her birinde sırasıyla sıfır ve bir sinyal bulunur. SA1 geçiş anahtarı kapatılırsa, güç kaynağının düşük gücü nedeniyle besleme voltajının gerekli seviyeye ulaşmasına izin vermeyecek olan VD3 diyotundan bir akım akacaktır. Saat üreteci başlatılamayacak ve cihaz çalışmayacaktır. Bu akımın sınırlandırılması gerekir, bu dirençlerin amacı da budur. Engelleyici program yukarıda tartışılana benzer şekilde oluşturulmuştur. İlk döngüde, VT1 ve VT2 transistörlerinin kapıları başlatılır ve yükseğe ayarlanır. Bu döngü aynı zamanda telefonların durumunu da izler ve gelen bir çağrı sinyalinin varlığını kontrol eder. Ahizeyi kaldırdıktan sonra her iki telefon da kısa bir süreliğine kapatılır ve SA1 ve SA2 geçiş anahtarlarının konumu belirlenir. Durumları ilgili program bayraklarında saklanır. Program daha sonra arama bekleme moduna girer. Bu durumda, ahize TA2'den çıkarılırsa ve SA1 değiştirme anahtarı kapatılırsa. Kısa bir süre sonra ilk telefon hatta bağlanır. Bu bir öncelik fonksiyonuna izin verir. TA2'de bir numarayı aramaya başlarsanız, numarayı çevirirken "çıngırdamayı" önlemek için ilk telefon tekrar kapatılacaktır. Son rakamı çevirmeyi bitirdikten sonra tekrar bağlanacaktır. SA1 geçiş anahtarı açıksa TA1 hatta bağlanmayacak ve cihaz normal bir paralel telefon engelleyici olarak çalışacaktır. İkinci telefonla konuşurken TA1'deki ahize kaldırılırsa cihaz, VT2 kapısına ses frekans voltajı uygulayarak kısa bir uyarı sinyali verir. TA1'in bağlantısı kesilir ve TA6 abonesine konuşmayı bitirme fırsatı sağlamak için 7...2 saniyelik bir gecikme oluşturulur. Bundan sonra tekrar sinyal gönderilir, TA2 kapatılır ve 1 saniye sonra hat ilk telefona aktarılır. Bu, ilk telefon için öncelik fonksiyonunu uygular. Gelen bir çağrı program tarafından aşağıdaki şekilde işlenir. R5 direncinde yüksek bir seviye göründüğünde, program SA1 geçiş anahtarlarının durumunu okur. SA2 ve SA2 kapatıldığında TA2'nin hattan bağlantısını keser. Daha sonra denetleyici, çağrıdaki dönem sayısını yeniden hesaplar. Bu sayı, program sabitlerinden birinde belirtilen sayıdan azsa, çağrının gönderilmediği, hattan müdahalenin geçtiği kabul edilir. Daha sonra programın yürütülmesi yeniden başlar. Aksi takdirde gönderme sayacının içeriği artar ve program telefonlardan birinin ahizeyi kaldırmasını veya yeni bir aramanın gelmesini bekler. Bu yaklaşık 8 saniye içinde gerçekleşir. Bu süre zarfında ahize kaldırılmazsa ve bir sonraki paket gelmezse, çağrı sinyalinin sona erdiğini ve programın yürütülmesinin yeniden başladığını varsayabiliriz. Bir sonraki parsel tespit edildiğinde ve içindeki periyot sayısı program sabitinde belirtilen sayıdan büyük veya ona eşit olduğunda parsel sayacı artırılır. Bu sayaç 3 durumuna ulaştığında (bu sayı program sabitleri bölümünde ayarlanır ve değiştirilebilir) TA2 hatta bağlanır. Sonuç olarak, sonraki her paketle birlikte bir çağrı sinyali de verecektir. Devre R13C2, kontrolörün dahili osilatörünün frekansını ayarlar. Diyagramda belirtilen değerlerle 50 kHz ± %10'dur. HL1 ve HL2 LED'leri telefonun meşgul olduğunu gösterir ve HL3'ü kullanarak bağlantı sırasında hat polaritesini belirleyebilirsiniz. Engelleyici, tek taraflı folyo fiberglastan yapılmış bir baskılı devre kartı üzerine monte edilir (Şekil 8). Denetleyiciyi lehimlerken gözlemci zamanlayıcısı devre dışı bırakılmalıdır. Şekil 7'deki cihaza ait programın metni. XNUMX Edebiyat
Yazar: V. Kulakov, Rostov-na-Donu Diğer makalelere bakın bölüm Mikrodenetleyiciler. Oku ve yaz yararlı bu makaleye yapılan yorumlar. En son bilim ve teknoloji haberleri, yeni elektronikler: Sıcak biranın alkol içeriği
07.05.2024 Kumar bağımlılığı için başlıca risk faktörü
07.05.2024 Trafik gürültüsü civcivlerin büyümesini geciktiriyor
06.05.2024
Diğer ilginç haberler: ▪ Otomatik odaklama gözlükleri ▪ Güneş panelleri örümcek ağlarından daha incedir ▪ Bluetooth İşaretçili Motorola Keylink ▪ Asus ZenPower Max taşınabilir pil Bilim ve teknolojinin haber akışı, yeni elektronik
Ücretsiz Teknik Kitaplığın ilginç malzemeleri: ▪ sitenin bölümü Çocuklar ve yetişkinler için büyük ansiklopedi. Makale seçimi ▪ makale Hoşçakal. Popüler ifade ▪ makale Neden uyuyoruz? ayrıntılı cevap ▪ makale Yeni çit. Efsaneler, yetiştirme, uygulama yöntemleri ▪ makale Dar bant filtre dedektörü. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi ▪ SK-D-1'den makale UHF amplifikatörü. Radyo elektroniği ve elektrik mühendisliği ansiklopedisi
Bu makaleye yorumunuzu bırakın: Bu sayfanın tüm dilleri Ana sayfa | Kütüphane | Makaleler | Site haritası | Site incelemeleri www.diagram.com.ua |