پایان نامه بررسی طراحي و ساخت يك كارت صوت كامپيوتر
مقدمه:
نوشتار حاضر توضيح و گزارشي است راجع به ساخت وسيلهاي كه قادر به ضبط صدا روي رايانه و تبديل آن فرمتي قابل درك براي سيستم عامل است و در واقع ميتوان آن را به نوعي مدار واسطي با استفاده از اسلات ISA كامپيوتر دانست.
اين پروژه در واقع شامل سه بخش طراحي و ساخت بخش آنالوگ، طراحي و ساخت سختافزار ديجيتال براي ارتباط با كامپيوتر و طراحي و اجراي نرمافزاري براي شناساندن به رايانه است.
به عقيده اينجانب مهمترين هدف اين كار را ميتوان گامي براي درك نحوه ارتباط رايانه با محيط خارج دانست، كاري كه امروزه ميتواند يكي از مهمترين اصول و نيازهاي اتوماسيون باشد. زيرا با توجه به اينكه رايانههاي شخصي اكنون وسايلي در دسترس و ارزان قيمت هستند، بهترين و ارزانترين راه اتوماسيون ارتباط دادن وسايل گران ديروزي به رايانه ارزان امروزي است كه با توجه به قابليت برنامهپذيري فوقالعاده بالا ما را قادر ميسازد با هزينهاي بسيار كم امكاناتي فوقالعاده زياد را به وسايل خود اضافه نماييم و علاوه بر اينكه كاري كه سختافزار پيچيده و گران قيمت انجام ميداد را نيز رايانه با نرمافزار به نحوي بهتر و دقيقتر انجام خواهد داد. به عنوان نمادي از اين روند در اين پروژه بر خلاف كليه كارتهاي صوتي موجود در بازار كه روي برد خود تراشهاي به عنوان DSP دارند، با استفاده از يك نرم افزار كار پردازش سيگنال ديجيتال انجام ميشود.
توضيحات خود را نخست با توضيح كامل اسلات ISA كه مهمترين بخش پروژه است آغاز مينماييم. سپس توضيحاتي راجع به كارتهاي صوت موجود در بازار و در نهايت راجع به نحوه كار مدار آنالوگ، نحوه ارتباط با رايانه و چگونگي عملكرد نرمافزار ادامه ميدهيم. در اين قسمت لازم است از زحمات و راهنماييهاي ارزشمند استاد راهنما جناب آقاي دكتر شريفي قدرداني كرده و براي ايشان آرزوي موفقيت در فعاليتهاي علمي و تحقيقاتيشان را داشته باشم. همچنين از جناب آقاي مهندس وكيلي به عنوان مشاور سختافزاري و جناب آقاي مهندس محمد حسن بستاني به عنوان مشاور نرمافزاري نهايت امتنان را دارم.
مقدمهاي بر باس ISA
همراه با پيشرفت سيستمهاي كامپيوتري و ظهور CPU هاي قويتر، باسهاي ارتباطي اجزاء كامپيوتري نيز، دچار تغيير و تحول شدهاند. باس اولين كامپيوترهاي IBM ، باس XT ي 8 بيتي بود. با ظهور CPU هاي 16 بيتي اين باس جاي خود را به باس AT يا ISA ي 16 بيتي با فركانس كاري 8 مگاهرتز داد. ظهور CPU هاي 32 بيتي و كاربردهاي سريع گرافيكي از يك طرف و مشكلات باس ISA از طرف ديگر، سازندگان كامپيوتر را بر آن داشت كه به فكر ايجاد يك باس جديد و سريع باشند. بدين ترتيب باسهايي نظير IBM Micro Channel و EISA معرفي شدند كه 32 بيتي بودند. اين باسها داراي سرعت بيشتري نسبت به ISA بودند و بسياري از مشكلات آن را برطرف كرده بودند ولي باز داراي مشكلاتي بودند. مثلا IBM Micro Channel با ISA سازگار نبود و EISA داراي سازگاري الكترومغناطيسي خوبي نبود.
براي افزايش سرعت مخصوصا براي كارتهاي گرافيكي يك روش اين است كه به جاي اينكه كارتها از طريق اسلاتهاي توسعه نظير ISA به كامپيوتر وصل شوند بطور مستقيم به باس محلي كامپيوتر وصل گردند و بدين ترتيب چندين باس محلي بوجود آمد كه از جمله مهمترين آنها ميتوان به باس VESA يا VLBUS اشاره نمود. بوسيله اين باس ميتوان حداكثر 3 كارت را به باس محلي CPU وصل نمود.
با روي كار آمدن پردازنده پنتيوم و مشكلات موجود در گذرگاههاي قبلي، شركت اينتل به فكر طراحي يك باس استاندارد با سرعت و قدرت بالا افتاد. بدين ترتيب باس PCI معرفي گرديد كه براي دسترسي به اجزاي جانبي با همان سرعت باس محلي طراحي شده است.
باس محلي CPU به دو باس به اسم front side bus و backside bus تقسيم شده است.باس backside يك كانال سريع و مستقيم بين CPU و حافظه كش (مرتبه دوم) را فراهم ميكند.باس frontside از يك طرف حافظه سيستم را از طريق كنترلر حافظه به CPU وصل ميكند و از طرف ديگر باسهاي كامپيوتر نظير PCI ، ISA و … را به CPU و حافظه سيستم وصل مينمايد.در واقع اين كار باعث گرديده است كه وقتي CPU با حافظه كش كار ميكند، وسايل جانبي ديگر بتوانند به حافظه سيستم دسترسي پيدا كنند.
در اين پروژه سعي شده باس ISA به طور كامل مورد بررسي قرار گيرد كه به ترتيب مطالب فصول 1و 2 را تشكيل مي دهند. در اين فصول به طور مفصل مشخصات الكترونيكي اين باسها و نحوه ارتباط آنها با CPU بيان شده . اميد كه اين پروژه بتواند در تفهيم مطالب مذكور مفيد فايده قرار گيرد.
.
ISA BUS
باس ISA (Industry Standard Arehitecture)
باس ISA كه برخي به آن باس AT نيز ميگويند داراي مشخصات زير ميباشد:
- 16 بيت باس ديتا
- 24 بيت باس آدرس
- 11 خط وقفه IRQ2-ERQ7)، IRQ14-IRQ15،IRQ10-IRQ12)
- 7 كانال DMA
- ماكزيمم فركانس باس برابر 33/8 مگاهرتز
- سيكلهاي باس بدون Wait state را حمايت ميكند
- حمايت از masterهاي alternate
- انتقال داده به صورت سنكرون است و Muster هيچ سركشي از Slave به عمل نميآورد. بلكه Master و Slave خود را با كلاك سيستم سنكرون ميكنند. ماكزيمم انتقال داده برابر است با :
8/33MHZ *
محدوديتهاي ISA
1- باس ديتاي آن 16 بيتي است و نميتواند باس ديتاي 32 و 64 بيتي پردازندههاي پنتيوم را حمايت كند.
2- باس آدرس آن 24 بيتي است و ميتواند MB16 حافظه را آدرس كند و قادر نيست باس آدرس 32 بيتي (GB4) پردازندههاي پنتيوم را حمايت كند.
3- شيارهاي گسترش باس ISA بزرگ بوده و علاوه بر اينكه جاي زيادي را ميگيرد به دليل افزايش اثرات فازي و القايي فركانس باس به 33/8 مگاهرتز محدود ميگردد. يعني CPU كه با فركانسهاي بالا نظير 50 مگاهرتز كار ميكند هنگام كار با ISA با نرخ 33/58 مگاهرتز تبادل داده ميكند. به علت كم بودن پايههاي زمين اثرات تابش فركانس راديويي و اثرات Crosstalk كاهش نيافته و ISA از نظر اجرايي دچار مشكل ميگردد.
4- چون وقفهها (IRQها) حساس به لبهاند، به هر يك فقط يك وسيله ميتواند اختصاص پيدا كند. و دو يا چند وسيله نميتوانند از يك پايه وقفه مشترك استفاده نمايد. در سيستمهاي فركانس بالا، وقفه حساس به لبه، به دليل نويز در ورودي IRQ، امكان فعال شدن غلط وجود دارد.
5- در كامپيوترهاي قديمي PC/XT 4 كانال DMA 8 بيتي وجود داشت كه كانال 0 براي Refresh حافظههاي DRAM بكار ميرود. كانالهاي 3-1 بعنوان DMA براي انتقال داده بكار ميروند.
در كامپيوترهاي جديد PC/AT، كانال 0 وظيفه Refresh حافظههاي DRAM را بر عهده ندارد و بجاي آن يك مدار Refresh اين كار را انجام ميدهد. بنابراين كانال 0 نيز ميتواند مانند بقيه كانالها براي انتقال داده استفاده شود. در كامپيوترهاي PC/AT، 3 كانال DMA، 16 بيتي اضافه شده است. پس در مجموع 7 كانال DAM وجود دارد كه كانالهاي 5 الي 3، 8 بيتي و كانالهاي 4 الي 7، 16 بيتي هستند. مشكلي كه وجود دارد انستكه كانالهاي DMA 16 بيتي تنها قادر به انتقال داده از آدرسهاي زوج هستند ولي DOS داده را از آدرس فرد يا زوج به حافظه RAM منتقل مينمايد و با اين كار سازگار نيست. بنابراين عمليات انتقال بجاي DMA از طريق CPU انجام ميگيرد.
سيگنالهاي گذرگاه ISA :
خطوط آدرس A0-A19
A0-A19 (كه به آن SA0-SA19 نيز ميگويند) جهت دستيابي به حافظه و I/Oها مورد استفاده قرار ميگيرند. چون سرعت CPU زياد است و ممكن است چپهاي جانبي با اين سرعت كار نكنند و قبل از برداشتن آدرس توسط وسايل جانبي آدرس نامعتبر گردد. بنابراين آدرس را latch ميكنيم (مثلاً توسط 74373). اين كار توسط سيگنال ALE انجام ميگيرد. تراشه Latch توسط لبه بالا رونده ALE فعال ميشود و خطوط آدرس در لبه پايين رونده ALE در داخل Latch قرار ميگيرند. اين كار در درون PC انجام ميشود و خطوط فوق كه در Slot موجود ميباشند Latch شده هستند و در طول سيكل خواندن يا نوشتن ثابت ميمانند.
ALE
Address Lnvalid Time to latch Address Valid
شكل(1-1)
براي وسايل I/O فقط پايههاي A0-A15 استفاده ميشود و خطوط وزن بالا براي كار با حافظه ميباشند.
: (Address Latch Enable) ALE
اين سيگنال براي ايجاد اطلاعات زماني براي latch كردن آدرس بكار ميرود. لبه بالارونده اين سيگنال وجود آدرس معتبر را روي پايههاي A0-A19 نشان ميدهد. لبه پايينرونده، ALE را ميتوان براي latch كردن آدرسهاي دريافتي از ريزپردازنده بكار برد. آدرس روي خطوط آدرس از لبه پايينرونده اين سيگنال تا آخر سيكل باس معتبر است.
: (Address Enable)
اين سيگنال براي اين منظور بكار ميرود كه مشخص نمايد كدام يك از دو وسيله پردازنده يا DMA كنترل باس را در اختيار دارد.
1=AEN : كنترل باس در اختيار DMA است.
0=AEN : كنترل باس در اختيار CPU است.
CLK :
فركانس سيستم است كه تمام عمليات خواندن و نوشتن با اين كلاك سنكرون هستند. در كامپيوترهاي PC/XT، CLK=4.7MHZ است. در كامپيوترهاي PC/AT، CLK=6MHZ، است. در PCهاي بعدي اين فركانس بالاتر است. البته مقدار آن توسط بايوس سيستم قابل انتخاب است.
باس اطلاعات D0-D7 :
باس اطلاعات دوطرفه 8 بيتي كه براي ارتباط با I/O، حافظه و ساير المانهاي سيستم ميباشد.
DRQ1 ،DRQ2 ، DRQ3 ، DACK1 ، DACK2 ، DACK3 تقاضايDMA و تصديق DMA :
اين سيگنالها براي بدست آوردن كانال DMA مورد استفاده قرار ميگيرد. وسايل جانبي كه ميخواهند ازكانال DMA استفاده نمايند، پاية DRQ را 1 ميكنند. اين پايه تا وقتي در حالت 1 ميماند كه DACK فعال شود، (از 1 به 0 تغيير حالت دهد) در مواردي كه بيش از يكي از DRQ1 ، DRQ2 ، DRQ3 فعال شده باشد، DRQ1 بالاترين اولويت و DRQ3 پايينترين اولويت را دارد.
نقد و بررسیها
هنوز بررسیای ثبت نشده است.