سه شنبه, ۱۸ اردیبهشت, ۱۴۰۳ / 7 May, 2024
مجله ویستا

صدا در كامپبوتر


صدا در كامپبوتر

همهٔ ما در هنگام كار با كامپیوتر, صدای بوق كامپیوتر را شنیده ایم این بوق یا بیپ درست مثل بوق ماشین كه به آن هم بوق Beep می گوییم و كاربرد های مختلفی دارد, در زمان های مختلف و به دلایل گوناگون نواخته می شود

● بوق (Beep)

همهٔ ما در هنگام كار با كامپیوتر، صدای بوق كامپیوتر را شنیده‌‌ایم. این بوق یا بیپ درست مثل بوق ماشین كه به آن هم بوق (Beep) می‌‌گوییم و كاربرد‌‌های مختلفی دارد، در زمان‌‌های مختلف و به دلایل گوناگون نواخته می‌‌شود. مثلا"، در هنگام راه‌‌اندازی سیستم، زمانی كه می‌‌خواهد پایان موفقیت‌‌آمیز عملیات POST را اعلام ‌‌كند از یك بوق دلنشین استفاده می‌‌كند كه معنای آن این است: «هی! سلام! واحد‌‌های ورودی- خروجی كامپیوتر بی‌عیب هستند. تا چند لحظهٔ دیگر به سروقت سیستم عامل می‌‌روم و آن را بارگزاری می‌‌كنم!» یا زمانی كه شما مشغول حروف‌چینی با صفحهٔ كلید هستید، اگر «پشتهٔ»(Buffer) صفحه‌كلید پرشود، باز این بوق شنیده می‌‌شود، كه معنای آن این است:«هی! دست نگه دار! من از پس این همه كلید كه زده‌‌ای بر نمیام، كمی آهسته‌‌تر!» و بوق‌‌های دیگر كه در هنگام كار با برنامه‌‌ها و نرم‌‌افزار‌‌های گوناگون شنیده می‌‌شوند امّا همهٔ آنها در یك خصوصیت مشتركند و آن این است كه تصور می‌‌كنند صفحه‌نمایش بنابه دلایلی قابل استفاده برای پیام خطا نیست یا شما متوجه صفحه‌نمایش نیستید بنابراین، با هر پیام كه بر صفحه‌نمایش ظاهر می‌‌كنند، یك بوق هم به صدا در می‌‌آورند و یا این كه نیازی به اشغال صفحه‌نمایش برای پیام خطا نیست.

بوق‌‌هایی كه شنیده می‌‌شوند، غالباً توسط دو منبع تولید می‌گردند: «BIOS» یا «برنامه»، بوق‌‌هایی كه توسط BIOS تولید می‌‌شوند اشكال‌ها و معایب احتمالی سیستم، اعم از ورودی‌‌ها و خروجی‌‌ها و سایر لوازم داخلی یا جانبی آن را در هنگام راه‌‌اندازی(Boot) یا در حین كار، گزارش می‌‌كند. مفهوم این بوق‌ها به نوع BIOS سیستم بستگی دارد. پایین مفهوم بوق‌‌های عمومی BIOS در كلیهٔ BIOS‌‌های موجود در كامپیوتر است.

▪ معانی بوق‌های BIOS در هنگام راه اندازی كامپیوتر

دلیل / نوع بوق

منبع تغذیه خراب است یا متصل نشده / بدون بوق، صدایی شنیده نمی‌شود، هیچ اتفاقی نمی‌افتد

منبع تغذیه خراب یا پشته صفحه‌كلید پر شده / بوق ممتد

خرابی منبع تغذیه / بوق كوتاه ممتد

خرابی بُرد سیستم / یك بوق بلند، یك بوق كوتاه

خرابی تطبیق‌دهندهٔ گرافیكی یا صفحه‌نمایش و یا عدم وجود آنها / یك بوق بلند، دو بوق كوتاه

خرابی تطبیق‌دهندهٔ گرافیكی یا صفحه‌نمایش و یا عدم وجود آنها / یك بوق بلند، صفحهٔ تاریك

ایراد از كنترل‌كنندهٔ محرك فلاپی / یك بوق كوتاه، بدون (Boot)

اكنون می‌‌خواهیم بررسی كنیم كه كامپیوتر چگونه صدا (Beep) تولید می‌‌كند؟ قبل از آن اجازه دهید ماهیت صدا را بررسی كنیم و سپس به چگونگی تولید آن توسط كامپیوتر‌‌هایPC بپردازیم.

● ماهیت صدا

صوت یا صدا نوعی سیگنال قیاسی(Analog Signal) است یا به عبارت ساده‌‌تر، یك موج پیوسته است و چون موج است مانند امواج دیگر دارای دو مشخصه است:

▪ دامنه

▪ طول موج یا بسامد(فركانس)

دامنه، اندازهٔ ارتفاع موج صداست و معمولا" به آن وُلوم (Volume) یا بلندی صدا گفته می‌‌شود. صدا‌‌هایی كه به زحمت شنیده می‌‌شوند، دامنهٔ كم دارند. دامنه، تعیین‌كنندهٔ شدت احساس صدا است، با واحد شدت صوت یعنی دسی بل(dB) بیان می‌‌شود. شدت عادی صدا‌‌های محیط اطراف ما dB۴۰ تا dB۱۱۰ است. یك كلاس پرسروصدا دارای dB۹۰ شدت صدا است. دامنهٔ صحبت عادی dB۵۰ است. وقتی صدای رادیو- ضبط را خیلی بلند می‌‌كنید حدود dB۹۵ شدت دارد.

▪ طول موج، اندازهٔ فاصله زمانی بین دو قلّهٔ متوالی از امواج است و فركانس، تعداد امواج در ثانیه. معمولاً به آن تون(Tone) یا پیچ(Pitch) می‌‌گویند. فركانس را برحسب Hz (هرتز) اندازه‌‌گیری می‌‌كنند. هرتز، عبارت است از تعداد امواج در ثانیه. نظر به این كه تغییرات طول موج، عكس تغییر در فركانس است، به جای این دو اطلاع، فقط یكی از آنها، مثلا" فركانس را درنظر می‌گیرند.

هر حركت ارتعاشی، باعث ایجاد صوت می‌‌گردد، چه این ارتعاش توسط تار‌‌های صوتی انسان ایجاد گردد، چه پردهٔ بلندگو یا یك سیم پیانو یا ارتعاش پوست رویهٔ یك طبل و چه ارتعاش ناشی از حركت بال یك پشه باشد! هر ارتعاش تنها یك موج ایجاد می‌‌كند و اگر چندین ارتعاش پی‌‌درپی و به سرعت رخ‌دهند، آوای یك طنین به گوش‌می‌‌رسد.

این آوای به‌گوش‌رسیده، دارای یك فركانس خاص است كه توسط همین فركانس از بقیهٔ صدا‌‌ها متمایز می‌‌گردد. گوش موجودات (از جمله انسان) دارای محدودیت شنوایی است، به این معنی كه محدودهٔ فركانس‌‌های خاصی را می‌‌شنود. انسان معمولا" فركانس‌‌های بین ۲۰ هرتز تا ۲۰ كیلو هرتز را می‌‌شنود (در این میان، سروكارمان بیشتر با صدا‌‌های پایین‌‌تر از۱۰ كیلوهرتز است). نت‌‌های بم، طول موج‌‌بلند دارند(فركانس كم) و نت‌‌های زیر طول موج كوتاه دارند(فركانس زیاد). صداهای قابل تشخیص فركانسی بین ۵۰۰ تا ۸/۱ كیلو هرتز دارند. به عنوان نمونه، به موارد زیر اشاره می‌‌شود:

▪ مكالمهٔ عادی، فركانسی تا حدود ۱۶ كیلوهرتز دارد.

▪ پیانو، صدا‌‌هایی تولید می‌‌كند كه محدودهٔ فركانس آنها بین ۳۰ هرتز تا ۵/۳ كیلوهرتز است.

▪ نت C میانی پیانو فركانس ۶۳/۲۶۱ هرتز دارد.

▪ خطوط استاندارد تلفن، فقط از فركانس‌‌هایی بین ۳۰۰ هرتز تا ۳۰ كیلوهرتز استفاده می‌‌كند كه برای تشخیص صدا كافی است.

● چگونه بلند‌‌گو را به صدا درآوریم؟

PC سیگنال‌‌های الكتریكی در حدود ۱۸ هرتز تا یك میلیون هرتز را می‌‌تواند تولیدكند، امّا محدودیت‌‌های مكانیكی بلندگوی PC از ایجاد صدای بالاتر از ۱۰۰۰۰ هرتز جلوگیری می‌‌كند.

در كامپیوتر‌‌هایPC ، صدا با استفاده از یكی از تراشه‌‌های روی بُرد اصلی كامپیوتر تولید می‌‌شود. این تراشه، تراشهٔ ۸۲۵۳ است كه در زمان‌‌سنج قابل برنامه‌‌ریزی است. یكی از وظایف متعدد این تراشه، ارتعاش پرده بلندگو است. این ارتعاش می‌‌تواند به تعداد متفاوت انجام پذیرد. برای محاسبهٔ تعداد ارتعاش مورد نیاز، تراشهٔ ۸۲۵۳ از تراشه نوسان‌‌ساز ۸۲۸۴ استفاده می‌‌كند. تراشهٔ ۸۲۸۴ در حقیقت قلب PC است، زیرا در هر ثانیه ۱۱۹۳۱۸۰ بار می‌‌تپد. تمام تنظیم‌‌های زمانی با استفاده از این تراشه انجام می‌‌شود، به عنوان مثال، تراشهٔ تنظیم‌‌كنندهٔ ساعت(Clock) با استفاده از همین تپش(سیگنال) تولید شده توسط تراشهٔ ۸۲۸۴، ساعت درونی كامپیوتر را تنظیم می‌‌كند.

● ۱۱۹۳۱۸۰فركانس مورد نظر

تراشهٔ ۸۲۵۳ نیز برای محاسبهٔ تعداد ارتعاشات، از این نوسانات استفاده می‌‌كند. اما قبل از هر چیز باید فركانس موردنظر ما به تعداد این نوسانات تبدیل گردد. برای این كار از فرمول زیر استفاده می كنیم :

* ــــــــــــــــــ = تعداد شمارش شده نوسان

استفاده می‌‌كنیم. اجازه دهید نام تعداد شمارش را Count و تعداد فركانس مورد نظرمان را با Freq نشان دهیم، بنابراین خواهیم داشت:

ــــــــــــ= Count

اكنون كه تعداد شمارش (Count) مشخص شده، كافی است این عدد را به تراشهٔ ۸۲۵۳ اعلام كنیم. اما قبل از این كار، باید به تراشهٔ ۸۲۵۳ اعلام كنیم، مقداری كه می‌‌خواهید برای آن ارسال كنیم Count محاسبه شده برای پخش صدا از بلندگو است - به یاد داشته باشید تراشهٔ ۸۲۵۳ وظایف گوناگونی برعهده دارد كه به صدا درآوردن بلندگو فقط یكی از آنهاست-به این منظور باید عدد۱۸۲ را به درگاه(Port) h۴۳(۶۷دسیمال) ارسال كنیم. این مقدار به تراشهٔ ۸۲۵۳ اعلام می‌‌كند مقادیری كه بلافاصله بعد از آن به درگاه h۴۲ (۶۶ دسیمال) ارسال می‌‌گردد مقدار Count است.

اكنون برای اعلام مقدار Count به تراشهٔ ۸۲۵۳ از درگاه h ۴۲ ) ۶۶ دسیمال) استفاده می‌‌كنیم اما این درگاه یك درگاه ۸ بیتی (۱ بایتی) است، در حالی كه Count محاسبه شدهٔ ما ۱۶ بیتی(۲ بایتی) است بنابراین، باید مقدار Count را به دو قسمت تقسیم ‌‌كنیم: ابتدا قسمت اول (بایت پایینی) سپس قسمت دوم (بایت بالایی). برای این كار می‌‌توانیم در زبان C مقدار Count را به عنوان یك یونیون به شكل زیر تعریف كنیم.

}union

; long divisor

; [ unsigned char c[۲

; count {