چند روز پيش يه پروژه(كنترل وسايل خانه از طريق خط تلفن) براي آز-ميكرو آماده كردم. فكرشو نميكردم انقد آسون باشه. بعضيا بيخودي بزرگش ميكنن در صورتيكه گلابي بود. فعلاً يه قسمت از گزارش را براتون ميذارم اينجا. بعداً هم احتمالاً نقشه مدار و يه سري جزييات ديگه براتون ميذارم:
DTMF مخفف Dual-tone multi-frequency بوده و سيستمي جهت ارسال سيگنال از طريق خطوط تلفن به مراكز سوئيچينگ در باند فركانس صوتي (شنيداري) مي باشد كه مي تواند هم به منظور مشخص كردن شماره ي مورد نظر جهت ايجاد ارتباط از طريق مراكز سوئيچينگ مورد استفاده واقع شود، هم اينكه نقش انتقال فرامين را به اين مراكز يا ساير دستگاه هاي مخابراتي ايفا نمايد.
اين سيستم نيز كاربرد هاي ديگري در ايستگاه هاي تلويزيوني دارا مي باشد، بدين نحو كه فرستنده ي اصلي مي تواند در زمان نمايش تبليغات، سيگنال هاي DTMF را براي ايستگاه هاي واسطه محلي ارسال نمايد تا آن ايستگاه بتواند تبليغات محلي خود را در آن زمان به نمايش در آورد. همچنين در برخي سيستم هاي جاسوسي نيز مي توان فرامين خاموش يا روشن كردن دوربين ها و يا ساير سيستم هاي واسطه را از اين طريق ارسال نمود.
سيستم DTMF از ۸ فركانس مختلف كه بصورت زوجي ارسال مي شوند بهره مي گيرد كه در مجموع در برگيرنده ۱۶ عدد، حرف و علامت مي باشد كه جزييات آن در جدول زير مشخص شده است:

در اين جدول، هر سطر نمايش دهنده ي جزء فركانس پايين سيگنال و هر ستون نمايش دهنده ي جزء فركانس بالاي سيگنال ارسالي مي باشد. به عنوان مثال با فشردن كليد ۱، تُن سينوسي با ۲ فركانس ۶۹۷ و ۱۲۰۹ هرتز بر روي خط تلفن ارسال خواهد شد.
در بين كد هاي موجود در جدول قبل، حروف ستون آخر داراي كاربرد هاي استراتژيك خاصي مي باشند كه عمدتاً توسط مراكز نظامي، امنيتي و سياسي مورد استفاده قرار مي گيرند و استفاده از اين كد ها در اغلب مراكز مخابراتي، براي مشتركين عادي محدود مي باشد. (بطور كلي در جهت اولويت دادن به تماس ها در مواقع ضروري و ايجاد خطوط آزاد در مواقعي كه ممكن است كليه خطوط اشغال باشند، مورد استفاده قرار مي گيرد.)
اين فركانس ها به نحوي انتخاب شده اند كه هيچ فركانسي مضربي از فركانس ديگر نمي باشد. تفاضل يا جمع هر دو فركانس برابر با هيچ كدام از فركانس هاي موجود نمي باشد. حداكثر خطاي هر فركانس مي تواند +/- ۱.۸% باشد و براي مقادير بيشتر، اين سيگنال ها در مراكز سوئيچينگ ناديده گرفته مي شوند. تفاوت قدرت بين جزء فركانس بالا و فركانس پايين سيگنال حداكثر ۳dB مي باشد.
علاوه بر فركانس هاي جدول قبل، مطابق جدول زير، در سيستم DTMF حالت هايي براي بررسي وضعيت خطوط در نظر گرفته شده :

كه مورد اول در جهت مشخص نمودن اشغال بودن خط، مورد دوم در جهت تشخيص وجود تُن آزاد و مورد سوم همان تُني است كه پس از شماره گيري موفقيت آميز و در زمان انتظار برداشتن خط توسط طرف مقابل، قابل شنيدن مي باشد.
سه شنبه ۸ مرداد ۱۳۸۷ در ۱۲:۰۸ ب.ظ
سلام
بصورت خلاصه بسیار عالی بود
شنبه ۲۳ شهریور ۱۳۸۷ در ۸:۰۴ ق.ظ
سید دستت درد نکند.
شنبه ۲۳ شهریور ۱۳۸۷ در ۸:۱۷ ق.ظ
توضيحات كاملتري را به زودي ميذارم تو بلاگ. ۲ ماه هست كه دارم با اين DTMF زندگي مي كنم و پروژه ليسانس هم با همين چيزا در ارتباطه.
چهارشنبه ۱۷ مهر ۱۳۸۷ در ۴:۵۳ ق.ظ
من مداری می خواهم که برداشتن و گذاشتن گوشی تلفن را حس کند برای متصل کردن به میکرو…
چهارشنبه ۱۷ مهر ۱۳۸۷ در ۴:۱۸ ب.ظ
منظورتون اينه كه تشخيص بده تلفن آزاد هست يا اشغال؟ اگه اين منظورتون باشه كه مدار هاي زيادي تو اينترنت براي تشخيص اشغال يا آزاد بودن خط هست كه با يه مثدار تغييرات جزيي و بعضاً بدون تغيير ميتونيد خروجيشو وصل كنيد به ميكرو…
سه شنبه ۱ بهمن ۱۳۸۷ در ۱۰:۲۰ ق.ظ
با سلام
من پروژه اي دارم با اين موضوع كه دستگاهي بسازم كه پالس رو به فركانس تبديل كنه اگه ممكنه كمكم كنيد
سه شنبه ۱ بهمن ۱۳۸۷ در ۱۱:۴۰ ق.ظ
منظورتون را درست متوجه نشدم. لطفاً بيشتر توضيح بدين. (احتمالاً منظورتون ايجاد Tone به كمك Pulse هست!؟)
چهارشنبه ۱۶ بهمن ۱۳۸۷ در ۲:۰۸ ب.ظ
با سلام
ممنون از لطفتون،بله منظورم همينه،همونطور كه قبلا توضيح دادم بايد مداري بسازم كه پالس ورودي را به فركانس تبديل كنه(DTMF)يعني همون كاري كه تلفن انجام ميده،لطفا كمكم كنيد،اگر آيسي اي هست كه اين كارو انجام ميده لطفا مدار و ديتاشيت و طرز كاركردش رو برام ارسال كنيد.
با تشكر فراوان
چهارشنبه ۱۶ بهمن ۱۳۸۷ در ۲:۳۹ ب.ظ
بازم من يكمي درست متوجه نميشم. اينكه ميگين پالس ورودي به DTMF تبديل ميشه، اين پالس ورودي از كجا مياد؟
اگه هم فرض كنيم درست متوجه شده باشم، به كمك PWM در ميكرو ميتونيد اين DTMF ها را ايجاد كنيد كه در كامپايلر BASCOM دستوري به نام DTMFOUT وجود داره كه اين كار را انجام ميده (فقط بايد اين نكته را مد نظر داشته باشيد كه Lookup Table كه براي Sample ها استفاده شده با كريستال خارجي ۸MHz محاسبه شده كه اگر اين را رعايت نكنيد درست جواب نميده) در مورد كامپايلر Codevision هم براي ميكرو هاي AVR در خود سايت Atmel يك Application Note فكر مي كنم با شماره ۳۱۴ باشه كه ايجاد DTMF را كامل با يك نمونه سورس توضيح داده كه با مقداري تغييرات جزيي يا با يه Search كوچك ميتونيد سورس كامل را براي كار در Codevision پيدا كنيد.
همچنين راه حل سخت افزاري هم MT۸۸۸۰C/CE هست كه اين هم توجه كنيد MT۸۸۸۰B/BE به شما نفروشن كه راه اندازيش يك مقدار دردسر اضافه داره. اين IC هم DTMF ايجاد ميكنه هم Decode ميكنه هم يه سري وضعيت هاي آزاد يا اشغال بودن خط را بررسي ميكنه كه من به ۲ دليل توصيه نميكنم : ۱- گرون هست نسبتاً (آخرين بار كه خريدم حدود ۴ تومن بود) ۲-راه اندازيش خيلي دنگ و فنگ داره
جمعه ۱۸ بهمن ۱۳۸۷ در ۱۰:۱۸ ب.ظ
از لطفتان صمیمانه سپاسگزارم
با آرزوی موفقیت برای شما