کارت هوشمند کارتی است از جنس پلاستیک که توسط مدار مجتمعی که در آن کار گذاشته شده، هوشمند میشود پیوند میان کارت پلاستیکی و یک میکروپروسسور امکان ذخیره و بازیابی و پردازش داده را به صورتONLINE یا OFFLINEفراهم میسازد، کارتهای هوشمند چندین برابر نوارهای مغناطیسی توانائی ذخیره اطلاعات را دارند.
کارتهای هوشمند از نظر نحوه عملکرد به دو نوع CONTACTو CONTACTLESSتقسیم میشوند در کارتهای CONTACT اطلاعات از طریق یک ماژول الکترونیکی که با دستگاهREDEAR ارتباط دو طرفه بر قرار می کند، منتقل میشود.
کارتهای CONTACTLESS حاوی یکCOIL هستند که با آنتن گیرنده ارتباط برقرار میکند تا بتواند اطلاعات را انتقال دهد.(در این مقاله اتکای ما روی کارتهایCONTACT است).
کارتهای هوشمند بر اساس نوع و محتویات تراشه بکار رفته در آنها به دو دسته تقسیم میشود:
1) MEMORY ONLY
2) MEMORY WITH SECURITY LOGIC
3) MEMORY WITH CPU
با توجه به کاربرد کارت هوشمند مشخصات متمایزی برای تراشه کارت، نـرم افزارMASKROM و نرم افزار کاربردی در نظر گرفته میشود.
MASKROM حامل سیستم عامل کارت هوشمند میباشد .برنامه کاربردی بعـد از تولید، درون تراشه بار میشود و استفاده از حافظه EEPROM امکان تغییر برنامه کاربردی را فراهم میسازد برنامه ریزی EEPROM عموما با زبان برنامه نویسی JAVAصورت میگیرد.
حافظهEEPROM که شامل اطلاعات کاربر و برنامههای کاربردی میباشد دو بخـش دارد یک بخش حفاظتی و بخش دیگر که از طریق ترمینالهای کارت میتوان به آن دسترسی پیدا کرد و اطلاعات کاربردی را کسب کرد . وقتی که ناحیه حفاظت شده EEPROM با اطلاعات مناسب بارگذاری شد، کارخـانه تولید کننده کارت هوشمند میتواند فیوزهایی را که داخل تراشه وجود دارد قطع کند تا آن ناحیه غیر قابل دسترسی شود . علاوه بر مسیری برای قطع و وصل الکتریکی مسیری برای تست کردن وجود دارد که در قسمت خارجی قرار دارد. بین این مسیرهای کنترلی و خود تراشه فیوزهایی وجود دارد، بعد از تست کردنICاین فیوز قطع میشود تا از تاثیرات الکتریکی ناخواسته قطعه جلوگیری شود .همگام با پیشرفت تکنولوژی قابلیت REGROWTHبه این فیـوزها اضافه شده است که در این حالت بعد از تست کردن مسیر تست به طور فیزیکی قطع میشود .
کارتهای پردازنده (MEMORY WITH CPU):
کارتهای هوشـمندMEMORY ONLY و MEMORY WITH SECURITY LOGIC در واقع زیر مجموعهای از کارتهای پردازنده میباشنــد ، کارتـــــــهای هــوشـمـنـدی با یک ریــزپردازنده -ON-BOARD عملیات در زیر کدبندی با مکــــــانیزم پیشرفته امنیتی، پردازش محلی دادهها و محاسبات پیچیده را ارائه میدهد.
کارتهای CONTACT که متداولترین نوع ICC میباشند 8 کنتاکت دارند که تنها 6 تای آنها مورد استفاده قرار میگیرد (طبق استانداردISO )
که کارت از طریق این CONTACT ها با READER ارتباط برقرار میکند.
شناسایی CONTACT ها:
.1 VCC(منبع تغذیه)
2.GND
3 . CLK (پالس ساعت)
4 .VPP (ولتاژ برنامه ریزی)
5 .RST (سیگنال RESET)
6 . خط I/O(ارتباط سریال ورودی و خروجی)
VCC:
منبع تغذیه برایIC ولتاژ بین 4.75vتا5.25v و جریان مصرفی200mA تعریف می شود چون اکثر READERهای موجود با5v (طبق استاندارد ISO ) کار میکنند وIC هائی که در کارتهای متداول استفاده میشوند با5v کار میکنند اکثر این کارتها جریانی بین10mA تا 20 mAرا در فرکانس 3.5 MHz دارند.
CLK :
اگر چه مدار مجتمع، خودش میتواند شامل مدار به منظور راهاندازی مدار درون باشد، در عمل بیشتر با تراشههایIC با یک پالس ساعت خارجی از طریق دستگاه رابط(READER) تغذیه میشوند. آنچه که باید مورد توجه واقع شود این است که سرعت انتقال سریال رویI/O به طور موثری توسط فرکانس این پالس تعیین میشود.
VPP :
این سیگنال برای تعیین ولتاژ مورد نیاز برای برنامهریزی حافظه غیر فرار طراحی شده است. پرکاربردترینICها از حافظه EEPROM که در آن ولتاژ بالایی در حدود12.5v تا 21v مورد نیاز استفاده میکنند. معمولاً این ولتاژ باید به صورت خارجی از طریق CONTACTهایIC تأمین شود .
RST :
سیگنال RESET توسط دستگاهREADER تامین میشود و برای اجرای برنامهای که در MASK ROM IC قرار دارد استفاده میشود.
استاندارد ISO سه مد برای سیگنالRESET تعریف کرده است:
1.INTERNAL RESET
2.ACTIVE LOW RESET
3.SYNCHRO NOUS ACTIVE RESET
اکثر میکروپروسسورها از مد ACTIVE LOW RESET استفاده میکنند که در ان زمانی که سیگنال RESET از صفر به یک میرود (لبه مثبت )کنترل را روی آدرس ورودی در برنامه منتقل میکند.
خط I/O :
استاندارد ISO یک LINE سیگنال برای تبادل داده بینIC و دستگاهREADER تعریف کرده است این به این معناست که LINE باید نسبت به این که IC انتقال دهنده یا دریافت کننده اطلاعات است، تغییر جهت بدهد.
ترتیب عملکرد برای فعال کردن دستگاه READER به صورت زیر تعریف میشود :
1. RST=0
.2 اعمال VCC
.3 قرار دادن I/O در مد دریافتی
4. تامین VPP
5 . تامین پالس ساعت
6. RST=1
و ترتیب غیر فعال کردن IC برای دستگاه READER به صورت زیر تعریف میشود :
RST=0 .1
2. قطع پالس ساعت
3. قطع VPP
4. قطع ورودی
5. قطعVCC
کاربردهای عمومی SmartCard
پروتکل انتقال (T):
مشخصات انتقالی به وسیله کارتهای میکروپروسسوری کنترل میشود . وقتیT=0 باشد تداخل در انتقال بایتها ایجاد میشود در حالی که وقتی T=1 باشد پروتکال یک BLOCK عملیاتی به وجود میآورد .
انتقال داده به دو صورت انجام میشود :
1 . HALF DUPLEX
2 . FULL DUPLEX
در HALF DUPLEX جهت انتقال داده بسته به این که IC تراشه یا READER داده را منتقل میکند تغییر جهت میدهد. (LINE یک طرفه)
در FULL DUPLEX دو سیگنال ورودی و خروجی به طور مداوم در دو جهت منتقل میشوند که مشابه انتقال همزمان در کانکتورهای RS232Cدر PC میباشد .
انتقال یک کاراکتر 8 بیتی نیاز به چند بیت کنترل دارد :
1. بیت START
2. PARITY BIT (بیت مقایسه برای اشکار کردن خطاها)
3.GUARD TIME (برای جدا کردن و جلوگیری از تداخل کاراکترها میباشدکه برابر دو پریود بیتی تعریف میشود و اگر از بلاک استفاده شود به یک بیت تغییر مییابد.)
نمونه برداری از LINE باید به صورتی باشد که RECEIVER موقعیت و مکان LINE را در وسط هر پریود انتقال نمایش میدهد.
دستگاهREADER دستور را با پروتوکلT=0 آغاز میکند.
اثر متقابل بین دستگاه رابط و ICC منجر به فرمان و پاسخ متوالی میشود برای این پروتوکل داده فقط میتواند در یک جهت (یا برای دستور یا برای پاسخ) جاری شود چه پیغام فرمان شامل داده برای ICC باشد و چه فرمان داده را از ICC بگیرد .زمانی که نیاز به انتقال داده در هر دو جهت باشد آنگاه از دستور(GET RESPONSE) بعد از دستور اولیه برای باز یافتن پاسخ داده استفاده میشود تفاوت این دستور باT=1 این است که در T=1 پروتوکل یک ENVELOPE دور یک بلوک کاراکترها میگذارد که اجازه کنترل جریان و به هم پیوستنBLOCKها و تصحیح خطاها را میدهد.
پس از اینکه دستور GET RESPONSE داده شد ICC با یک بایت PROCEDURE پاسخ میدهد که بعد از آن یا داده به ICC و یا از ICC با توجه به فرمان ویژه انتقال مییابد.
این بایت PROCEDURE اجازه کنترل VPP (ولتاژ برنامه نویسی EPROM ) را به دستگاه میدهد در CASE حافظه EPROM بایتهای PROCEDURE بسیار زیادی هستند.
در این قسمت به معرفی چند تراشه کارت هوشمند می پردازیم:
یکی از بزرگترین IC های کارت هوشمند ساخت شرکت SIMENCE یک کنترل کننده 8 بیتی است که شامل یک میکروکنترولر 8051 مرکزی 8 بیتی، 540 بیت پردازشگرکمکی برای اعمال حسابی، 10 کیلو بایت حافظه ROM ، 32 بایت PROMو 2.5 کیلو بایت EEPROM و همچنین 606 بیت حافظهRAM (که 256 بایت برای میکروکنترلر 8051 و 350 بایت برای پردازشگر) میباشد. فرکانس ساعت مورد نیاز این قطعه5 مگا هرتز که دارای قابلیت 512 بیت در کمتر از 220 میلی ثانیه میباشد.
IC با شمارة P83C852، IC دیگری است که به خوبی دارای ویژگیهای حفاظتی میباشد.در این IC مدارهایی برای آشکار کردن فرکانس و ولتاژ کار قطعه وجود دارد که اگر ولتاژ قطعه از مقدار مشخصی کمتر شود یا فرکانس کار آن از یک مگا هرتز پایینتر شود از کار کردن مدار جلوگیری میکند.