11/04/2005

آموزش پی ال سی

این کتاب که توسط سایت mikroelektronika به رایگان در اینترنت قرار گرفته است شامل فصول مناسبی در مورد PLC ها می باشد. کتاب با تکیه بر پی ال سی های OMRON است که بیشتر در ایران مورد استفاده قرار می گیرد و با اندک تفاوتی برای پی ال سی های زیمنس نیز قابل استفاده است، پس مرجع خوبی برای آموزش پی ال سی است. علاوه بر اینکه فصل آخر شامل مثال های کاربردی از پروگرام کردن با زبان Ladder می باشد.

فصول کتاب در ذیل آمده است:


Chapter I Operating system (سیستم عامل)

Introduction

1.1 Conventional control panel

1.2 Control panel with a PLC controller

1.3 Systematic approach to designing a process control system

Chapter II Introduction to PLC controllers (معرفی پی ال سی های کنترل کننده)

Introduction (معرفی)

2.1 First programmed controllers

2.2 PLC controller parts

2.3 Central processing Unit –CPU

2.4 Memory

2.5 PLC controller programming

2.6 Power supply

2.7 Input to PLC controller

2.8 Input adjustment interface

2.9 PLC controller output

2.10 Output adjustment interface

2.11 Extension lines

Chapter III Connecting sensors and output devices (اتصال سنسورها و خروجی های
دیگر)

3.1 Sinking-Sourcing concept

3.2 Input lines

3.3 Output lines

Chapter IV Architecture of a specific PLC controller (معماری یک نوع پی ال
سی)

Introduction

4.1 Why OMRON?

4.2 CPM1A PLC controller

4.3 PLC controller output lines

4.4 PLC controller input lines

4.5 Memory map for CPM1A PLC controller

Chapter V Relay diagram (دیاگرام های رله ای)

Introduction

5.1 Relay diagram

5.2 Normally open and Normally closed contacts

5.3 Short example

Chapter VI SYSWIN, program for PLC controller programming (معرفی نرم افزار
Syswin)

Introduction

6.1 How to connect a PLC controller to a PC

6.2 SYSWIN program installation

6.3 Writing a first program

6.4 Saving a project


6.5 Program transfer to PLC controller

6.6 Checkup of program function

6.7 Meaning of tool-bar icons

6.8 PLC controller function modes

6.9 RUN mode

6.10 MONITOR mode

6.11 PROGRAM-STOP mode

6.12 Program execution and monitoring

6.13 Program checkup during monitoring

6.14 Graphic display of
dimension changes in a program

Chapter VII Examples (مثال ها)

Introduction

7.1 Self-maintenance

7.2 Making large time intervals

7.3 Counter over 9999

7.4 Delays of ON and OFF status

7.5 Alternate ON-OFF output

7.6 Automation of parking garage for 100 vehicles

7.7 Operating a charge and discharge process

7.8 Automation of product packaging

7.9 Automation a storage
door

Appendix A Expanding the number of I/O lines (توسعه ی خطوط IO)

Introduction

A.1 Differences and similarities

A.2 Marking a PLC controller

A.3 Specific case

Appendix B Detailed memory map for PLC controller (نقشه ی حافظه ی پی ال سی)

Introduction

B.1 General explanation of memory regions

B.2 IR memory region

B.3 SR memory region

B.4 AR memory region

B.5 PC memory region

Appendix C PLC diagnostics (عیب یابی پی ال سی)

introduction

C.1 Diagnostic functions of a PLC controller

C.2 Errors



کتاب را می توانید از اینجا دانلود کنید.

10/26/2005

آشنایی با پورت سریال - قسمت سوم

در این پست به معرفی یک مدار ساده و جالب در مورد نمونه برداری از یک کمیت آنالوگ با پورت سریال می پردازم.
همه ی ما می دونیم که کامپیوترها موجوداتی رقمی اند یعنی فقط صفر و یک رو درک و تولید می کنند. حالا اگر ما بخواهیم یک کمیت آنالوگ را به عنوان ورودی به کامپیوتر بدهیم باید از یک مبدل آنالوگ به دیجیتال (
ADC) استفاده کنیم. اما ساده ترین مبدل ها معمولا مقدار نمونه برداری شده در هر لحظه را در 256 حالت یعنی 8 بیت Encode می کنند. بنابراین ما در خروجی مبدل، هشت بیت داریم که باید این دیتا تبدیل به رشته ای سریال شود تا بوسیله ی پورت RS232 قابل خواندن باشد، پس استفاده از یک شیفت رجیستر PISO ضروری است مگر اینکه خروجی مبدل، سریال باشد. علاوه بر این شیفت رجیستر نیاز به پالس ساعت دارد که این مسئله نیز با یک مدار کلاک سنکرون شده با Baud Rate پورت حل می شود و در نهایت کل مدار نیاز به یک منبع تغذیه دارد که خود منبع شامل مدار مجتع تنظیم کننده (مثل 7812 یا LM723)، ترانسفورماتور، پل و صافی می باشد.

حال اگر کمیت مورد اندازه گیری تغییرات سریعی نداشته باشد و بنابراین نرخ نمونه برداری ما پایین باشد (مثل اندازه گیری دما، روشنایی یا ارتفاع یک مایع) می توانیم از مدار ساده ی زیر که براحتی قابل پیاده سازی است استفاده کنیم.

فقط یک خازن، مقاومت حرارتی (ترمیستور) و یک دیود!! (تازه استفاده از دیود اختیاری است!)

طرز کار مدار:


در ابتدا هر سه پین پورت سریال در وضعیت صفر منطقی هستند و بنابراین ولتاژ دو سر خازن صفر ولت است. با یک شدن پین
DTR، خازن از طریق مقاومت و با ثابت زمانی RC شروع به شارژ شدن می کند.
مقدار مقاومت ترمیستور بستگی به دمای محیط دارد و در نتیجه زمان شارژ شدن خازن نیز با افزایش دما به علت کم شدن مقاومت NTC کم می شود و بالعکس. وقتی خازن به اندازه ی ولتاژ DTR شارژ شد، پین DSR که در وضعیت خواندن است، 1 شدن را تشخیص می دهد. از زمانی که DTR یک می شود تا زمانی که DSR به سطح ولتاژ 1 منطقی می رسد توسط نرم افزار اندازه گیری می شود و این مقدار زمان متناظر با یک RC، مقدار مقاومت و در نتیجه دمای منحصر به فرد می باشد. پس از اینکه DSR یک شد و مقدار دما اندازه گیری شد پین DTR
توسط نرم افزار صفر می شود تا ولتاژ دو سر خازن از طریق دیود، تخیله شود. در اینجا اگر دیود وجود نداشته باشد ولتاژ از طریق مقاومت باعث ایجاد جریان می شود و در نتیجه زمان بیشتری طول می کشد تا تخلیه شود و فرکانس کاری مدار و نرخ نمونه برداری کاهش می یابد.
فرض کنیم در یک دما مقاومت 10 کیلواهم است، در نتیجه ثابت زمانی
RC برابر 0.01 ثانیه است و زمان کامل شارژ شدن خازن 5RC
یا 0.05 ثانیه یا 50 میلی ثانیه می باشد.

واضحه که این روش را می توان بوسیله ی میکروکنترلر نیز به راحتی پیاده کرد. (
DSR به پایه وقفه ی خارجی میکروکنترلر وصل می شود و DTR یک بیت از پورتها که با یک شدن آن تایمر فعال شود و با ایجاد وقفه تایمر متوقف شود. و پس از آن ایجاد یک Lookup Table برای جستجوی مقدار متناظر دما)

سعی می کنم به زودی نرم افزار مربوط به این مدار را (به زبان دلفی) و کد اسمبلی (میکروکنترلر 8051) آن را با توضیحات روی وبلاگ بگذارم.

9/20/2005

آشنایی با پورت سریال - قسمت دوم


:: سطوح سیگنال RS23:

در این استاندارد سطح ولتاژ 3+ تا 12+ نمایانگر وضعیت Space یا صفر منطقی و بازه ی 3- تا 12- ولت نمایشگر وضعیت Mark یا یک منطقی می باشد. این در حالی است که تجهیزات استاندار TTL (مثل میکروکنترلر 8051) با سطوح بین 0 و 5 ولت کار می کنند. برای تبدیل ولتاژ RS232 و TTL به یکدیگر باید از مبدل های ولتاژ استفاده کرد که یکی از این ها مدار مجتمع MAX232 و یا HIN232 می باشد. که MAX232 یک تراشه ی 16 پایه است که شامل 2 فرستنده و 2 گیرنده است که می توانید برگه ی اطلاعاتی آن را از اینجا یا اینجا دانلود و مطالعه کنید. در زیر یک مدار نمونه را برای کار با این IC مشاهده می کنید.


12 ولت، ولتاژ نامی در حالت بی باری است و معمولا در حالت مدار باز دقیقا 12 ولت نیست و کمی کمتر است، مثلا در مورد PC من این اندازه 11.25 ولت بود. اما در مورد جریان نیز، جریان نامی بین 7 تا 10 میلی آمپر در حالت اتصال کوتاه است و این مقدار بستگی که مدار اینترفیس PC (شامل UART و غیره) شما دارد و مثلا در مورد کامپیوتر من این مقدار 8.9 میلی آمپر بود. استاندارد RS232 برای وسایل استاندارد با مقاومت بین 3 تا 7 کیلو اهم طراحی شده است و بنابراین با افزایش جریان، ولتاژ پورت شدیدا افت می کند و معمولا به ازای هر میلی آمپر جریان اضافی، 1 الی 2 ولت فشار کم می شود و در نهایت روی حدود 0.7 ولت متوقف می شود. لازم به ذکر است که این پورت بر خلاف پورت موازی در مقابل اتصال کوتاه محافظت شده است و همان طور که گفته شد در این حالت جریانی بین 7 تا 10 میلی آمپر می دهد یا می کشد.

:: توپولوژی شبکه ای

یکی از معایب استاندارد RS232 بر خلاف RS422 و RS485 این است که تنها برای ارتباط نظیر به نظیر (Peer to Peer) طراحی شده است و امکان شبکه شدن با دیگر ادوات را ندارد. این استاندارد برای فواصل تا حدود 15 متر مناسب می باشد و برای فواصل بیشتر می توان از روش 20mA loop استفاده کرد. (مثل پروگرامر بعضی PLC های زیمنس) اما روش مناسب دیگر در محیط های صنعتی استفاده از RS485 می باشد که در فواصل زیاد تا فرکانس 1MHz نیز کار می کند. بنابراین RS232 برای ارتباطات کم دامنه مثل اتصال دو PC ،PC با یک دستگاه یا دو دستگاه با یکدیگر استفاده می شود.

:: دو مفهومی را که باید در مورد استاندارد RS232 بدانید، اصطلاحات DTE و DCE هستند:

DTE سرنام Data Terminal Equipment است و DCE مخفف Data Communications Equipment. این عبارات برای نشان دادن پین های کانکتور یک دستگاه و جهت ارتباطی سیگنال در پین ها می باشند. معمولا کامپیوتر یک DTE می باشد و دستگاه های دیگر یک DCE و شما می توانید در ادامه ی توضیحات DTE را یک کامپیوتر و DCE را یک دستگاه دیگر فرض کنید. در این استاندارد DTE از یک کانکتور 9 پین Female (یا 25 پین) و DCE از یک کانکتور 9 پین Male (یا 25 پین) استفاده می کند. بنابراین می توان یک DCE را مستقیما به یک DTE کرد اما در حالتهای غیر از این باید از کابل های Null Modem استفاده کرد که در ادامه به آن خواهم پرداخت. اگرچه استاندارد RS232 برای کانکتور 25 پین نیز تعریف شده است اما ما در اینجا بحثمان را بر روی کانکتور 9 پین متمرکز می کنیم چون اغلب PC ها از این کانکتور استفاده می کنند و DB9 نام دارد.



:: قالب اطلاعات ارسالی:

همانطور که در پست قبل اشاره شد مطالب مربوط به قالب بندی کاراکتر و فریم اطلاعاتی در چارچوب این استاندارد قرار نمی گیرد و توسط نرم افزار تعیین می شود. به طوری که در یک قاب اطلاعاتی که توسط بیت شروع و بیت پایان محصور شده است معمولا 7 یا 8 بیت دیتا قرار می گیرد و یک بیت توازن نیز تعریف می شود. بیت شروع متناظر با صفر منطقی است و بیت پایان (که ممکن است 1 یا 2 بیت باشد) توسط یک شناسایی می شود. مثلا در نمودار زمانی زیر قاب اطلاعاتی شامل 10 بیت است که هفت بیت آن شامل دیتا یک بیت آغازین و یک بیت پایانی و یک بیت توازن (زوج) قبل از بیت پایان می باشد.


:: در زیر مشخصات پین های کانکتور 9 پین استاندارد RS232 را از DTE ملاحظه می کنید:

پین1 و 9:

این پین ها به ترتیب Carrier Detect و Ring Indicator یا CD و RI نام دارند و مربوط به مودم می شوند که اولی برای تشخیص حامل بر روی خط و دومی برای اعلان یک تماس تلفنی به مودم شماست و معمولا در طراحی های کنترلری به ندرت مورد استفاده قرار می گیرند.

پین های 2و3:

این پین ها به ترتیب Received Data و Transmitted Data یا RD و TD نام دارند و به ترتیب جهت دریافت داده ها یک از یک DCE و ارسال داده ها از یک DTE به یک DCE به کار می روند. این نامگذاری ها ممکن است فریبنده باشند چون پین TD در یک DCE جهت دریافت داده ها به کار گرفته می شود! خط TD در زمان معطلی توسط DTE در حالت مارک نگه داشته می شود.

پین های 7و8:

ابتدا کمی در مورد مفهوم Flow Control:

فرض کنید که یک DTE را به یک DCE متصل کرده ایم، از آنجایی که معمولا سرعت DTE (کامپیوتر) از سرعت یک DCE (مثلا یک مودم یا یک میکروکنترلر) بیشتر می باشد. اگر مکانیسمی جهت کنترل انتقال اطلاعات وجود نداشته باشد، DCE قادر نخواهد بود همه اطلاعات ارسالی از DTE را دریافت کند. این مکانیسم را Flow Control یعنی کنترل جریان اطلاعات می گویند.

پین های 7 و 8 به ترتیب Request to Send و Clear to Send یا RTS و CTS می نامند. فرض کنید که DTE می خواهد یک کاراکتر را برای DCE ارسال کند، در این حالت DTE از طریق پین RTS یک منطقی ارسال می کند و در صورتیکه DCE قادر به دریافت اطلاعات باشد یک سیگنال پاسخ از طریق پین CTS ارسال می کند و در غیر اینصورت خط در حالت صفر نگه داشته می
شود و
DTE اجازه ندارد اطلاعات را ارسال کند. به این روش Handshaking یا دست دادن نیز می گویند.


پین های 4و6:

واضح است که DCE به علت سرعت کمتر برای ارسال نیاز به کسب مجوز از DTE ندارد اما در صورت لزوم پین های Data Set Ready و Data Terminal Ready به ترتیب نقشی مشابه RTS و CTS را ایفا می کنند. (به ترتب خطوط 4 و 6)

پین 5:

زمین سیگنال می باشد.



:: و نکته ی پایانی ادامه ی توضیحات پین های 7 و 8 می باشد:

فرض کنید دو DTE یا دو DCE بخواهند با هم ارتباط برقرار کنند در اینصورت به علت یکسان بود سرعت دو وسیله نیاز به Flow Control نمی باشد بنابراین پین های 7، 8، 4 و 6 نیاز نمی باشند و گفتیم که خطوط 1 و 9 نیز اغلب در کاربردهای کنترلی استفاده نمی شود پس استاندارد RS232 را در ساده ترین حالت خود به صورت Full Duplex تنها با سه سیم می توان پیاده سازی کرد که به این حالت Null Modem (یعنی بدون مودم) می گویند. برای ساخت یک کابل Null Modem تنها باید خطوط RD و TD را به صورت ضربدری (Cross) به یکدیگر متصل کرد و خط سیگنال (5) را نیز به نظیر خود وصل کرد.

--> در یادداشتهای بعدی با یک پروژه ی جالب این بحث را ادامه خواهیم داد.


8/30/2005

آشنایی با پورت سریال - قسمت اول

فکر می کنید سابقه ی ارتباطات دیجیتال چند سال باشه؟ شاید تعجب کنید اگه بگم 160 سال! از زمانی که ساموئل مورس و همکارش آلفرد وایل اولین پیام تلگراف رو در در 24 می 1844 از مریلند به واشنگتن فرستادند تقریبا 160 سال میگذره. ممکنه بگید پس انسان های بدوی هم که با آتش با هم ارتباط برقرار می کردن لابد تو تاریخچه ی ارتباطات دیجیتال قرار می گیرند، پاسخ مثبته! اونها با هم ارتباط دیجیتال سریال آسنکرون داشته اند!!! البته پروتکل هم داشته ولی متاسفانه من اسمشو نمی دونم!
خب اونها با عبور دادن پارچه از روی آتش (به عنوان کریر) دود اون رو قطع و وصل میکردن و در واقع با ایجاد پف، دود رو مدوله می کردن و اینطوری صفر و یک منطقی تولید میکردن! و فرد گیرنده این پیام رو بر حسب یک قرارداد از پیش تعریف شده دیکد میکرده و پیام رو استخراج می کرده. حتی دقیقا یک بایت (کلمه) بیت شروع و پایان داشته! البته سرعتش خیلی پایین بود مثلا یک یا نیم بایت (حرف) در دقیقه!
اگه به این چیزایی که گفتم شک دارید، مدخل های Smoke Signal ,
Optical telegraph و Digital رو از دایره المعارف Wikipedia بخونید تا باورتون بشه! اما منظور من از تاریخچه ی مخابرات دیجیتال، شکل الکترونیکی اون بود که همونطور که گفتم این مسئله به اختراع تلگراف برمیگرده.

مثلا کد زیر به زبان مورس یعنی IBMW:

=.=...===.=.=.=...===.===...=.===.===

به صورتی که "=" معادل یک منطقی و "." معادل صفر منطقی است. مقایسه کنید با کد این کلمه در استاندارد اسکی:

01001001010000100100110101010111

که در اینجا "1" معادل یک منطقی و "0" معادل صفر منطقی است.

تلگراف به مرور زمان پیشرفت کرد و شبکه های تلکس بر مبنای آن به وجود آمدند تا جاییکه امروز ایمیل از نوادگان همان تلگراف است!


ارتباطات سریال

ü تعریف

مبادله ی بیت به بیت اطلاعات تنها از طریق یک کانال (البته بجز زمین) را ارتباط سریال می گویند.

ü انواع

سنکرون (همزمان):

یک سیگنال زمانی از طریق یک کانال مجزا همراه با پیام ارسال می شود. (مثل استاندارد I2C و RS232 )

آسنکرون (غیرهمزمان):

در این روش اطلاعات زمان بندی همراه با سیگنال ارسال می شود. (مثل RS232, RS485)

ü بررسی

از لحاظ تئوری تنها یک سیم برای انتقال اطلاعات سریال به صورت آسنکرون لازم است اما در واقعیت این مسئله عملی نیست. به عنوان مثال اگر یک بیت از اطلاعات بر اثر خطا یا نویز تغییر کند ممکن است کل اطلاعات بعد از آن یک بیت شیفت پیدا کند و پس از تفسیر و تبدیل به دیتای موازی کل اطلاعات مخدوش شود. بنابراین نیاز به استاندارهایی وجود دارد که امکان ارتباط قابل اطمینان را فراهم کند. یکی از این استانداردها RS232-C است که در سال 1969 توسط موسسه EIA تعریف شد. اگرچه نام این استاندارد RS232-C است اما معمولا به نام RS232 شناخته می شود و مخفف Recommended Serial می باشد. این استاندارد معمولا در پورت سریال کامپیوترهای شخصی استفاده می شود.

پروتکل ارتباطی RS232 در لایه ی هفتم مدل OSI قرار می گیرد و موارد زیر در آن تعریف شده است:

- مشخصات الکتریکی سیگنال از قبیل سطح ولتاژ، نرخ سیگنال، زمان بندی و Slew Rate، سطح مقاومت ولتاژ، رفتار اتصال کوتاه، بیشینه ی جریان ظرفیتی و طول کابل

- مشخصات مکانیکی واسط از قبیل سوکت اتصال و تعریف پین ها.


- عملکرد هر مدار در کانکتور واسط


- زیر مجموعه های استاندارد از مدارهای واسط برای آن کاربرد ارتباطی


همانطور که گفته شد این استاندارد در لایه های زیرین مدل OSI کار می کند و مشخصات لایه های بالا از جمله کدگذاری کاراکتر (مثلا ASCII) و همچنین قالب بندی کاراکتر (مثل بیت شروع و پایان یا بیت توازن) در قالب این استاندارد قرار نمی گیرد و معمولا بوسیله ی نرم افزار تعیین و تفسیر می شوند. این استاندارد سقف ماکزیمم نرخ بیت را 20.000 bps تعریف کرده است در حالی که بسیاری از تجهیزات جانبی مثل مودم ها از این اندازه تجاوز کرده و با نرخ هایی بالاتر از این (مثل: 38.400 ، 37.600 و 115.200) با سطح ولتاژ RS232 کار می کنند.

در پست بعد در مورد جزئیات استاندارد RS232 خواهم نوشت.


8/26/2005

مدل مرجع OSI

این مدل OSI بدجوری برای من دردسر شده. اونجوری که دلم می خواهد نمی تونم جای TCP-IP رو توش پیدا کنم. البته ممکنه خیلی از متخصصین با تجربه ی شبکه این مدل رو درک کرده باشن ولی به نظر من در ابتدای امر کمی بدفهمه. به هر حال ما که از پرسه زدن تو Tutorial های Cisco چیز خاصی دستگیرمون نشد ولی نوشته ی زیر رو تو سایت یکی از این متخصصین مایکروسافت پیدا کردم که به شکل داستانی با نقش اول جیمز باند سعی کرده این مدل رو قابل فهم کنه و چون دیدم بدک نیست، ترجمه اش کردم تو بلاگم گذاشتم. ولی یه کم به خودم امیدوار شدم چون حتما مشکل از این مدله که این بابا براش اینطوری سناریو درست کرده!

=> شماره ها بر حسب لایه های معادل در OSI هستند.

7.
جیمز باند با عالی ترین مقام سازمان جاسوسی در طبقه ی هفتم فرمانداری کل این سازمان ملاقات می کند و از او یک پیام سری دریافت می کند که باید به سفیر آمریکا در سفارتخانه برساند.

6.
سپس جیمز به طبقه ی ششم می رود، در آنجا نامه تلخیص، کد گذاری و به یک زبان میانجی ترجمه می شود.

5.
جیمز باند با آسانسور به طبقه ی پنجم می رود. در آنجا مامور امنیتی چک می کند که آیا همه چیز همراه اوست و تعدادی Checkpoint در نامه قرار میدهد تا همتای او مطمئن شود که او همه ی پیام را منتقل کرده است.


4.
در طبقه ی چهارم پیام آنالیز می شود تا مشخص شود آیا پیام های دیگری به مقصد سفارت وجود دارند تا همراه آن ارسال شوند و همچنین اگر پیام خیلی طولانی است به بسته های کوچکتری تجزیه شود تا در مقصد دوباره بازسازی شود.

3.
در طبقه ی سوم یک کارمند آدرس نامه را چک می کند و به جیمز باند کوتاه ترین راه به سفارت را نشان می کند.

2.
در طبقه ی دوم نامه در یک کیسه ی مخصوص (پاکت) قرار داده می شود و روی آن آدرس فرستنده و گیرنده قید می شود و به گیرنده اعلام می کند که آیا بسته های دیگری در حال ارسال هستند یا خیر.

1.
جیمز به طبقه ی اول می رسد که در آنجا کمیسر، یک آستون مارتین برای رفتن به سفارت آماده کرده است!

باند در حالی که نامه ی سری در دستش است راهی سفارت می شود. و در آنجا پله به پله بالا می رود و یک روند معکوس را طی می کند تا به سفیر برسد و پیام را به او تسلیم کند.

و سفیر بسیار خرسند است است که پیام در امنیت کامل به او رسیده است!

و تعریف کوتاهی از هر لایه ی مدل OSI در همون سایت:


7.
Application لایه ای را نشان می دهد که در آن نرم افزار ها به سرویس های شبکه دسترسی پیدا می کنند. این لایه سرویس هایی را نمایش می دهد که مستقیما نرم افزارها یی از قبیل برنامه های انتقال فایل، دسترسی به دیتابیس و فرستادن ایمیل را ساپورت می کنند. (مثال: HTTP, FTP, SMTP)

6.
لایه ی
Presentation اطلاعات دریافتی از لایه ی قبل را تبدیل به یک زبان میانی می کند و همچنین این لایه وظیفه ی مدیریت رمزگذاری اطلاعات را برعهده دارد و در صورت امکان داده ها فشرده می کند تا بیت های کمتری برای ارسال لازم باشد. (ASCII, MPEG, MIDI)

5.
لایه ی Session وظیفه ی کنترل ارتباط بین دو کامپیوتر را بر عهده دارد. به این ترتیب که اجازه می دهد که دو کامپیوتر یک ارتباط را برقرار، حفظ و قطع نمایند. (NetBIOS)

4.
در لایه ی Transport پیام تصحیح خطا می شود و به بسته های کوچکتری تقسیم می شود، همچین بسته های دریافتی را بازسازی شده و پیام تایید دریافت برای فرستنده فرستاده می شود. (TCP, NetBEUI)

3.
Network
وظیفه دارد بسته را آدرس دهی کند و کوتاه ترین مسیر را برای ارسال آن فراهم کند و مانع از مشکلات ترافیکی در شبکه شود. (IP, IPX)

2.
لایه ی Data Link وظیفه دارد بیت ها ارسالی از Network را به Frame تبدیل کند و فریم ها را یکی یکی ارسال کرده و از گیرنده تائیدیه دریافت کند. (Ethernet, ATM, Frame Relay)

1.
لایه Physical وظیفه ی ارسال بیت به بیت اطلاعات را روی کانال ارتباطی بر عهده دارد، همچنین این لایه مشخصات فیزیکی کابل شبکه و تکنیک ارسال اطلاعات را بر عهده دارد. (DSL, RS232, SONET, ISDN, E1, T1)

راستی این شبیه ساز روتر رو هم دانلود کنید. خیلی چیز جالبیه! می تونید انواع پیکربندی شبکه ها رو در حد CCNA (و فکر کنم بالاتر) تمرین کنید. دانلود (38 مگابایت)

7/24/2005

معرفی پورت موازی

دوستی از من خواستن که در مورد پورت موازی توضیح بدم و من هم در این پست مختصری در مورد پورت موازی یا پارالل (Parralel) یا پورت پرینتر (LPT) توضیح داده ام.

به طور کلی کامپیوترهای سازگار با IBM دارای دو دسته پورت موازی و سری هستند و پورت موازی که مورد بحث ماست دارای یک کانکتور 25 پین Female در پشت کیس کامپیوتر است که این کانکتور D25 نام دارد. سیستم عامل ویندوز پورت موازی را با نام LPT می شناسد و پورت های سریال را با نام های COM2 ،COM1 و USB و اخیرا Firewire یا IEEE1394 که هر کدام دارای استاندارهای خاص خود می باشند و سعی می کنم در آینده در مورد ارتباطات سریال و استاندارهای ارتباطی آن (RS232 و RS485) که بسیار موضوع پرکاربرد و جالبی هستند، بنویسم.

در تصویر زیر کانکتور پورت موازی (در قسمت فوقانی) و در زیر آن دو پورت سریال را مشاهده می کنید.

می دانیم که در ارتباطات موازی یک بایت که شامل هشت بیت است به صورت موازی و همزمان منتقل می شود و در ارتباط سریال هر بایت توسط یک ثبات انتقالی (Shift Register) به شکل سریال در می آید و سپس توسط یک کانال انتقالی (یک بیت یا یک سیم سیگنال و یک سیم زمین) منتقل می شود. بنابراین کوچکتر بودن کانکتور سریال (معمولا 9 پین) نسبت به پورت موازی بدین دلیل است. امروزه پورت سریال کاربردهای نسبتا کمی دارد و تقریبا در آینده ای نزدیک جای خود را به اتصالات سریال و مخصوصا استاندارد سریع USB خواهد داد به طوری که امروزه حتی بخش عمده ای از پرینترها با اتصال USB وارد بازار می شوند. سرعت استاندارد پورت موازی بین 50 تا 100 کیلوبایت در ثانیه می باشد و وظیفه هر یک از پین های این پورت در زیر توضیح داده شده است:

پین 1: سیگنال strobe را حمل می کند. قابل ذکر است که زمان بندی و انتقال اطلاعات در هر بیت می تواند به دو صورت سنکرون و آسنکرون انجام شود که در روش سنکرون یک سیگنال زمانی به همراه اطلاعات فرستاده می شود تا مرجعی برای تشخیص و تفکیک بیت ها فراهم آورد که به این سیگنال Strobe گفته می شود. در ارتباطات سریال معمولا از روش آسنکرون استفاده می شود که در آن صورت بیت شروع و بیت پایان به همراه اطلاعات ارسال می شود و زمان بندی را انجام می دهد. (در این مورد در یادداشت ارتباطات سریال بیشتر توضیح خواهم داد.) سطح ولتاژ این پین معمولا بین 2.8 تا 5 ولت است اما زمان ارسال یک بایت اطلاعات به حدود 0.5 ولت کاهش می یابد.

پین 2 تا 9: این پین ها وظیفه حمل یک بایت اطلاعات (Data) را بر عهده دارند و در واقع یک منطقی معادل 5 ولت و 0 منطقی معادل حدود صفر ولت می باشد.

پین 10: وظیفه ی ارسال Acknowledgment را بر عهده دارد. بدین ترتیب که مانند سیگنال Strobe با ارسال 0 منطقی اعلان دریافت اطلاعات ارسال شده را بر عهده دارد.

پین 11: یک بودن این پین اعلام می کند که پرینتر مشغول است و با صفر شدن آن به کامپیوتر اجازه ی ارسال اطلاعات را می دهد.

پین 12: پرینتر با ارسال یک منطقی از طریق این پین اعلام می دارد که کاغذ ندارد!پین 13: پرینتر با ارسال یک اعلام می کند که به کامپیوتر متصل است.

پین 14: کامپیوتر با ارسال یک منطقی به صورت خودکار نقش جلوبرنده یا Auto Feed را بازی می کند.

پین 15: در صورت بروز مشکل برای پرینتر با ارسال صفر منطقی، کامپیوتر را بروز خطا مطلع می کند.

پین 16: کامپیوتر با ارسال صفر پرینتر را برای وظیفه ی بعدی آماده می کند.

پین 17: وظیفه اش این است که در صورت لزوم به صورت از راه دور با ارسال یک منطقی اتصال پرینتر را از کامپیوتر قطع کند.

پین 18 تا 25: زمین سیگنال هستند و به عنوان مرجع ولتاژ برای پین های دیگر استفاده می شوند.عملیات فوق در جدول زیر نیز آورده شده است:

ستون دوم مربوط استاندارد 36 پین Centronics که امروزه در کامپیوترهای سازگار با IBM کمتر استفاده می شود.
همان طور که ملاحظه می شود ارتباطات پورت موازی با استاندار اصلی به صورت Simplex یا یکطرفه می باشد. اما در سال های بعد از معرفی استاندارد اولیه، در سال 1991 استاندارد (Enhanced Parralel Port (EPP توسط شرکت های Intel, Xircom و Zenith معرفی شد. EPP سرعتی بین 500 کیلوبایت تا 2 مگابایت دارد و معمولا برای اتصالات وسائل جانبی غیر از پرینتر استفاده می شود. پس از آن در سال 1992 استاندارد (Extended Capabilities Port (ECP توسط Microsoft و Hewlett Packard برای بهبود عملکرد واسط پرینتر معرفی شد. و سرانجام یک سال بعد استاندارد IEEE 1284 توسط سازمان IEEE شد که مشخصات کار با هر دو نوع EPP و ECP را دارا بود.
در حال حاضر معمولا کامپیوترهای IBM از استاندارد ECP جهت پورت موازی یا LPT استفاده می کنند. (جهت اطلاع از این مسئله در سیستم عامل ویندوز در Device Manager شاخه ی Ports را بررسی کنید. وظایف تخصیص داده شده به پین های پورت موازی با استاندارد ECP در جدول زیر آورده شده است:

رعایت نکردن نکات زیر نیز خالی از ضرر نیست:

1. پورت موازی از امکان Hot Swapping یا تعویض در حین کار پشتیبانی نمی کند. بنابراین باید در زمانی که سیستم عامل بوت نشده و یا در زمان خاموش بودن آن باید تجهیزات را به این پورت متصل یا جدا کنید.

2. ولتاژهای ورودی نباید از 5 ولت بیشتر شوند و یا از صفر کمتر.

3. پورت موازی در مقابل جریان بیش از حد محافظت نشده بنابراین مراقب اتصال کوتاه باشید و برای بارهای بزرگ از بافر استفاده کنید.

6/03/2005

اسمیت چارت و رتبه بندی دانشگاه های ایالات متحده

نمودار اسمیت (Smith chart) در سال 1939 توسط Philip H. Smith با هدف تسهیل محاسبات مخابرات مایکروویو اختراع شد. اگرچه امروزه کامپیوترها می توانند در زمان کوتاهی این محاسبات را انجام دهند اما همچنان این نمودار دو بعدی به عنوان یک ابزار ارزشمند مورد استفاده قرار می گیرد. برای دانلود نرم افزار محاسب این نمودار اینجا را کلیک کنید. این نرم تحت ویندوز امکانات جالبی را در اختیارتون قرار می دهد. برای یادگیری کار با این نمودار این صفحه را مطالعه کنید.

Ranking دانشگاه های ایالات متحده در رشته ی برق رو می ببینید. کارولینای شمالی آخره!

Rank-2006-Electrical/Electronic/ Communication

Rank/School Average assessmentscore (5.0=highest)

1. Massachusetts Institute of Technology 5.0
2. University of California–Berkeley 5.0
3. Stanford University (CA) 4.9
4. University of Illinois–Urbana-Champaign 4.8
5. California Institute of Technology 4.7
6. Georgia Institute of Technology 4.5
7. University of Michigan–Ann Arbor 4.5
8. Carnegie Mellon University (PA) 4.4
9. Cornell University (NY) 4.3
10. Princeton University (NJ) 4.2
11. Purdue University–West Lafayette (IN) 4.2
12. University of Texas–Austin 4.1
13. University of California–Los Angeles (Samueli) 4.0
14. University of Southern California (Andrew and Erna Viterbi) 4.0
15. University of Wisconsin–Madison 3.9
16. University of Maryland–College Park (Clark) 3.8
17. University of Washington 3.8
18. Pennsylvania State University–University Park 3.7
19. Rice University (Brown) (TX) 3.7
20. Texas A&M University–College Station (Look) 3.7
21. University of California–San Diego (Jacobs) 3.7
22. University of California–Santa Barbara 3.7
23. University of Minnesota–Twin Cities 3.7
24. Columbia University (Fu Foundation) (NY) 3.6
25. Johns Hopkins University (Whiting) (MD) 3.6
26. Ohio State University 3.6
27. Rensselaer Polytechnic Institute (NY) 3.6
28. Northwestern University (IL) 3.5
29. Arizona State University (Fulton) 3.4
30. Duke University (NC) 3.4
31. North Carolina State University 3.4
32. University of Colorado–Boulder 3.4
33. University of Florida 3.4
34. University of Pennsylvania 3.4
35. Virginia Tech 3.4
36. University of Arizona 3.3
37. Yale University (CT) 3.3
38. Brown University (RI) 3.2
39. Iowa State University 3.2
40. University of California–Davis 3.2
41. University of Notre Dame (IN) 3.2
42. University of Virginia 3.2
43. Washington University in St. Louis (Sever) 3.2
44. Case Western Reserve University (OH) 3.1
45. Michigan State University 3.1
46. Rutgers State University–New Brunswick (NJ) 3.1
47. University of Massachusetts–Amherst 3.1
48. Vanderbilt University (TN) 3.1
49. University of California–Irvine (Samueli) 3.0
50. Boston University 2.9
51. Dartmouth College (Thayer) (NH) 2.9
52. Drexel University (PA) 2.9
53. Northeastern University (MA) 2.9
54. University of Rochester (NY) 2.9
55. Auburn University (Ginn) (AL) 2.8
56. Colorado State University 2.8
57. Lehigh University (Rossin) (PA) 2.8
58. Polytechnic University (NY) 2.8
59. Syracuse University (NY) 2.8
60. University of Iowa 2.8
61. University of Pittsburgh 2.8
62. University of Utah 2.8
63. Washington State University 2.8
64. Oregon State University 2.7
65. SUNY–Stony Brook 2.7
66. Texas Tech University 2.7
67. University at Buffalo–SUNY 2.7
68. University of Connecticut 2.7
69. University of Illinois–Chicago 2.7
70. University of Missouri–Rolla 2.7
71. University of New Mexico 2.7
72. Worcester Polytechnic Institute (MA) 2.7
73. Clemson University (SC) 2.6
74. University of Delaware 2.6
75. University of Tennessee–Knoxville 2.6
76. Brigham Young University (Fulton) (UT) 2.5
77. Illinois Institute of Technology (Armour) 2.5
78. New Jersey Institute of Technology 2.5
79. Southern Methodist University (TX) 2.5
80. University of Central Florida 2.5
81. University of Houston (Cullen) 2.5
82. University of Kansas 2.5
83. University of North Carolina–Charlotte (Lee) 2.5

Link: US NEWS

5/25/2005

معماری میکروکنترلر

اول این پست رو بخونید بعد دو تصویر زیر را با هم مقایسه کنید:



شکل پایین بلوک دیاگرام ساده شده ی یک میکروکنترلر را نشان می دهد که قسمت های مختلف آن مطابق نمودار بالایی تفکیک شده است. قسمت هایی که در هیچ محدوده ای قرار نگرفته اند بخش هایی فرعی هستند.

4/29/2005

چرا میکروکنترلر

اول الکتریسیته نبود، یعنی بود ولی آدم نمی دیدش! گاهی وقتا رعد و برق رو تو آسمون می دید ولی نمی دونست چیه! بعد که فهمید کهربا می تونه کاه رو جذب می کنه بازم نمی دونست چرا ولی فلاسفه یونان باستان می گفتند کهربا روح داره که می تونه چیزی رو حرکت بده! خب بیچاره ها حق هم داشتند شاید اگه ماکسول هم اون موقع زندگی می کرد همین حرف رو میزد! بعد که یه دو سه هزار سالی گذشت تا یه بابایی به اسم گیلبرت اومد گفت نه بابا این به خاطر اینه که کهربا در اثر اصطکاک با بعضی از مواد می تونه باردار بشه و خرده کاه رو جذب کنن. تا اینجا هیچ خبری از بار متحرک نبود و فقط بار ساکن مورد توجه بود تا اینکه تو اوائل قرن هجدهم بنجامین فرانکلین گفت الکتریسیته می تونه جاری بشه و در اینجا بود که مدار الکتریکی متولد شد چون ذره ی باردار فقط تو مسیر بسته می تونه دور بزنه. حدود صد سال بعد در سال 1831 مایکل فارادی تئوری تولید جریان الکتریکی بوسیله ی تغییر میدان مغناطیسی رو ارائه کرد و چند سال بعد ژنراتورها ساخته شدند. از همین جا بود که بشر تصمیم گرفت الکترون ها رو به شکلهای مختلف تو مسیرهای مختلف (مدار) به گردش دربیاره و همش تقصیر فارادی بود !!!!

تا اینجا هم تا پنجاه شصت سال همه چیز به خوبی و خوشی! پیش می رفت ولی در اواخر صده ی نوزدهم بود که یک روز آقای ادیسون لامپ خلا رو کشف کردند و دانش الکترونیک متولد شد. این اختراع مفید به سرعت منجر به ساخت تقویت کننده و فرستنده های رادیویی شد. بازهم تا چهل پنجاه سال مهندسان الکترونیک سرشون به لامپ های خلا گرم بود و برای خودشون با این لامپ ها انواع و اقسام مدارات آنالوگ و دیجیتال از آمپلی فایر صوتی گرفته تا ماشین حساب های بزرگ و کامپیوتر رو ساخته بودند. اولین کامپیوترشون انیاک (ENIAC) بود با 30.000 تا لامپ و به اندازه یک ساختمان چند طبقه که قدرتش از ماشین حساب های جیبی شما هم کمتر بود!

این دفعه یه اتفاقی افتاد که تقصیر آزمایشگاه های بل بود که نیمه هادی ها رو به جون هم انداخت و ترانزیستور و دیود و ترایاک و انواع المان های غیرخطی با تولد اولین المان فیزیک حالت جامد (ترانزیستور) اختراع شدند و دنیا برای مهندسان الکترونیک گلستان شد!! لامپ های داغ، شکننده، گران، پرمصرف، حجیم و کم انعطاف جاشون رو به یک سوگلی سه پایه دادند که نه تنها داغ نمی شد و نمی شکست، خیلی کم مصرف و جمع و جور بود. تولد این جانور سه پا اولین انقلاب الکترونیک لقب گرفت ولی انقلاب اول زیاد دوام نداشت چون 10-15 سال بعد از اون دومین انقلاب که اختراع مدار مجتمع (IC) بود صورت گرفت. مدارهایی که قبلا یک بار با لامپ طراحی شده بودند و یک بار با ترانزیستور باز طراحی شدند این بار روی یک تراشه ی سیلیکونی به صورت یک بسته بندی وارد بازار شدند.

یک پرانتز برای جمله ی آخر:

همه ی مدارهایی که با عناصر گسسته ساخته شده بودند بعد از اختراع IC به صورت مجتمع ساخته نشدند چون اولا سیستم های کاربردی انقدر متنوعند که امکان تولید همه ی آن ها به صورت Package وجود ندارد و ثانیا گاهی ما نیاز به مداری داریم که فقط برای خودمان قابل استفاده است و بنابراین تا حد امکان مدارات مجتمع با کاربرد چند منظوره و به عنوان المان های اساسی تولید شدند و از آن ها در طراحی سیستم های مورد نیاز استفاده شد.

پرانتز بسته!

یه روز یه بابایی اومد گفت حالا که من برای طراحی یک سیستم باید از این همه المان استفاده کنم چقدر خوب می شد اگه یه المان داشتم که این سیستم رو توش جا می دادم!
خب با اینکه المان ها خیلی هاشون به صورت مجتمع و بسته تولید شده بودند ولی بازم این بابا حق داشت!! خب یه وقت می خواست یه مدار کنترلی طراحی کنه باید از چند ده جین المان استفاده می کرد. پس یه بابای دیگه حرفشو گوش کرد و یه المان براش ساخت که باهاش هرکاری که می خواست می تونست بکنه. اسم اون المان میکروکنترلر بود.
ولی میکروکنترلر خام بود باید بهش می گفت که ازش چی می خواد. این کار رو برنامه نویسی برای میکروکنترلر انجام داد و به این ترتیب بود که این المان انقدر محبوب شد که هنوز چیزی جانشین اش نشده و همچنان بعد از حل بسیاری از مسائل به دنبال مسائلی برای حل می گردد ...

4/19/2005

پروگرام کردن 8051 از طریق پورت پرینتر

تعدادی از میکروکنترلرهای خانواده ی 8051 که دارای حافظه ی فلش هستند برای پروگرام شدن نیازی به پروگرامر ندارند و از طریق پورت موازی (پرینتر) قابل پروگرام شدن هستند لیست تعدادی از این میکروها در زیر آورده شده است:

AT89S51 ,AT89S52, AT89S53, AT89S8252


شماتیک اتصالات لازم را در تصویر زیر مشاهده می کنید:



برای انتقال فایل HEX به حافظه ی میکرو به نرم افزاری نیاز دارید که می توانید آن را از اینجا دانلود کنید.



اگر در استفاده از نرم افزار مشکلی داشتید Comment بگذارید تا جواب آن را بنویسم.

در ضمن یه تشکر دارم از آقا احسان عزیز که به من محبت دارن و باید بهشون بگم که باعث خوشحالی منه که مطالب این وبلاگ براتون مفید بوده و امیدوارم در آینده هم اینچنین باشه. در مورد فرار از روزمرگی و بقیه الطاف شما هم فقط می تونم بگم این نظر لطف شماست و ممنونم و امیدوارم موفق باشید دوست خوبم.