بخشی از مقاله
كنترلر USB ، بايد بافرهايي براي ذخيره دادههايي كه دريافت ميكند يا دادههايي كه آماده فرستادن روي باس هستند، داشته باشد. بعضي از تراشهها مانند NET2888 محصول NetChip ، از رجيسترهاي به عنوان بافر استفاده ميشكند. در حالي كه برخي ديگر ، از جمله EZ-USB شركت سيپرس از بخشي از حافظه داده به عنوان بافر بهره ميبرند.
رجيسترهايي كه دادههاي رسيده يا منتقل شده را نگهداري ميكنند، عموماً داراي ساختار FIFO (اولين ورودي، اولين خروجي) هستند. در هر خواندن از يك FIFO ، بايتي كه بيشتر از همه در حافظه بوده است بازگردانده ميشود. با هر نوشتن به روي FIFO ، بايت بعد از همه بايتهايي كه در FIFO، محلي را كه داده بعدي در ن قرار دارد نشان ميدهد.
در تراشههاي ديگر، مثل سري enCore شركت سيپرس، بافرهاي USB در حافظه داده جاسازي شدهاند و برنامه تراشه هر موقعيت را براي نوشتن يا خواندن از آن انتخاب ميكند و اشارهگري كه به طور خودكار افزايش يابد تا محل دادة بعدي را مشخص كند. وجود ندارد. بايتهاي درون بافر فرستنده USB از پايينترين آدرس به بالاترين آدرس نوشته ميشوند و بايتهاي بافر دريافت به ترتيب رسيدن، از پايينترين آدرس به بالاترين آدرس ذخيره ميگردند. اين بافرها ساختار FIFO ندارند ولي گاهي با اين نام خوانده ميشوند.
براي ايجاد انتقالهاي سريعتر، بعضي از تراشهها دو بافر دارند و قادرند دو مجموعه كامل داده در هر جهت را ذخيره كنند. در حالي كه يك بلاك داده انتقال مي يابد، برنامه تراشه ميتواند بلاك داده بعدي را به بافر ديگر بنويسد. به طوري كه اين بلاك تا وقتي كه بلاك اول فرستاده ميشود آماده انتقال ميگردد. در جهت دريافت نيز. بافر اضافي ما را قادر ميسازد قبل از كامل شدن پردازش داده بر روي ترنزكشن قبلي توسط برنامه تراشه، ترنزكشن بعدي دريافت شود. سختافزار به صورت خودكار بين اين دو بافر سئويچ ميكند.
CPU
واحد پردازش مركزي (CPU) يك تراشه كنترلي USB ، با اجراي دستورات كدهايي كه در تراشه ذخيره شده است، فعاليتهايي تراشه را كنترل ميكند. هر CPU از مجموعه دستوراتي پشتيباني ميكند كه شامل دستورات زبان ماشين براي انتقال داده، انجام عملوندهاي منطقي، و پرشهاي برنامه مي باشند. اين مجموعه دستورات همچنين CPU را قادر ميسازد كه با SIE ارتباط برقرار كند. CPU ممكن است ساختاري بر اساس يك ميكروكنترلر عمومي مانند 8051 داشته باشد يا اينكه فقط به صورت ويژه براي استفاده در دستگاههاي USB طراحي شده باشد.
تراشههايي كه cpu ندارند ممكن است مجموعه دستوراتي وابسته به ارتباطهاي USB داشته باشند يا فقط از يك سري رجيستر براي ذخيره دادههاي USB و اطلاعات پيكربندي استفاده كنند. اين تراشهها مسيري را براي اضافه كردن قابليتهاي USB به هر ميكروكنترلر خارجي ايجاد مي كنند.
حافظه برنامه
حافظه برنامه كدهايي را كه CPU اجرا ميكند نگهداري ميكند. اين حافظه ممكن است روي تراشه CPU يا تراشهاي مجزا باشد.
حافظه برنامه ممكن است از هر نوع حافظهاي استفاده كند: Flash EPRON, EEROM, EPOM, ROM يا RAM. همه اين حافظهها بجز RAM (بدون باتري)، هميشگي هستند. آنها داده هاي نوشته شده را به صورت دائم نگهداري مي كنند. مقداري اين حافظههاي برنامه ممكن است حدود كيكلوبايت يا بيشتر باشد. اما تراشههايي كه از حافظههاي خارجي استفاده ميكنند امكان دارد محدودهاي در حد مگا بايت را نيز پشتيباني كنند.
نام ديگر كدهاي ذخيره شده در حافظه برنامه، برنامه تراشه است، كه مشخص ميكند حافظه از نوع هميشگي بوده و مانند ram نميتوان به راحتي آنها را ويرايش كرد و دوباره بر روي ديسك ذخيره نمود. در اين كتاب، از عبارت برنامة تراشه در مورد كدهاي برنامه كنترلر استفاده مي شود، با وجود اينكه اين كدهاي ممكن است بر روي انواع حافظههاي هميشگي و يا غير هميشگي ذخيره شوند
ROM (حافظه فقط خواندني) بايد در كارخانه برنامهنويسي شود و قابل پاك كردن نبست. اين حافظه فقط براي توليد انبوه كاربرد دارد.
EPROM ( ROM قابل برنامهريزي و پاك شدن) قابل برنامهريزي توسط كاربر است. بسياري از تراشهها سختافزار و نرم افزار برنامهنويسي ارزان دارند. براي پاك كردن EPROM، تراشه را در پاك كننده EPROM قرار ميدهيد، در اين دستگاه مدارهاي تراشه زير تابش اشعه ماوراي بنفش قرار ميگيرند. پاك شدن حدود 10 تا 30 دقيقه طول خواهد كشيد. سپس تراشه آماده خواهد بود تا دوباره برنامهريزي شود. در اطلاعات فني اين تراشه ها به ندرت به تعداد دفعات ممكن پاك شده اشاره ميشود. اما اين مقدار حدوداً 100 ميباشد.
OTP PROM ها ارزانتر هستند . ساختار آنها شبيه به EPROM ها ميباشد و مانند آنها برنامهريزي ميشوند. تفاوتشان اين است كه اين تراشهها پنجرههاي كوارتز براي پاك كردن ندارند. اين حافظه بيشتر در محصولات نهايي استفاده مي شوند. بسياري از CPU ها هر دو نوع حافظه EPROM و OTP PROM را دارا هستند.
Flash EPROM ها حافظههايي با تكنولوژي جديد هستند كه قابل پاك شدن به طريقه الكتريكي مي باشند و احتياج به اشعه ماوراي بنفش ندارند و معمولاً به ولتاژ برنامهريزي خاص مورد نياز برخي از EPROM ها احتياج ندارند. Flash EPROM هاي موجود قادرند حدود 000/100 بار پاك شده و دوباره برنامهريزي شوند.
EEPROM (PROM هاي قابل پاك شدن به طريقه الكتريكي) نيز به ماوراي بنفش و ولتاژ ويژه برنامهريزي كه EPROM ها نياز دارند. احتياج ندارد. EEPROM ها زمان دسترسي طولانيتري نسبت به Flash EPROM دارند. EEPROM ها با هر دو مدار واسط موازي كه توسط EPROMها و Flsh EPROM ها استفاده ميشود و واسط سريال كه در ميكروواير، c 2 I و spi كاربرد دارد، مورد استفاده قرار ميگيرد. EEPROMهاي سريال براي ذخيره مقدار دادة كمي كه گهگاه تغيير مييابند از جمله دادههاي پيكربندي، شماره مشخصههاي محصول و فروشنده مناسب است. EEPROM هاي موجود حدود 10 ميليون بار مي توانند پاك شده و دوباره برنامهريزي شوند.
RAM (حافظه با دسترسي تصادفي) ميتوانند به صورت نامحدود پاك و نوشته شود، اما دادهها پس از خاموش شدن تراشه از دست ميروند. براين اساس براي استفاده از RAM بايد در هر بار بالا آمدن، كدها از كامپيوتر به تراشه بارگذاري شود. EZ-USB شركت سيپرس براي ذخيره كدهاي برنامه از RAM استفاده مي كند و سختافزار ويژه و راهاندازي دارد كه در هنگام اتصال تراشه، برنامه را در آن بارگذاري مينمايد. همة CPUها مي توانند از حافظة برنامه RAM با پشتيباني باتري به منظور ذخيره كدهاي برنامه خود استفاده كنند. زمان دسترسي به RAM زياد است.
حافظه داده
حافظه داده در طول اجراي برنامه، محل ذخيره موقت ايجاد مي كند. محتويات حافظه داده ممكن است شامل دادههاي رسيده از پورت USB، دادههايي كه ميخواهد روي پورت USB فرستاده شود، مقاديري كه در محاسبات استفاده ميشوند يا هر چيز ديگري باشد كه تراشه احتياج دارد كه به خاطر داشته باشد. حافظة داده عموماً از نوع RAM است. حجم معمولي اين حافظه بين 128 تا 1024 بايت ميباشد.
رجيسترها
رجيسترها ميتوانند انتخاب ديگري از حافظههاي موقتي باشند. رجيسترها مكانهاي حافظهاي هستند كه CPU در دستورات مختلف خود از آنها به جاي استفاده از حافظههاي داده ديگر، بهره ميبرد. بسياري از رجيسترها كاربرد تعريف شدهاي دارند. بسياري از CPUها مي توانند بسيار سريعتر از حافظه داده به رجيسترها دسترسي داشته باشند.
تراشه كنترلي USB معمولاً داراي رجيسترهايي است كه اطلاعاتي كنترلي و وضعيتي را نگهداري ميكنند از جمله اندپوينتهاي فعال، تعداد بايتهاي رسيده، تعداد بايتهاي آماده ارسال ، وضعيتهاي جاري و دادههاي رسيده يا منقل شده. مثلاً يك كردن بيتي در رجستر ممكن است اندپوينتي را فعال كند. تعداد رجيسترها و محتويات آنها بر اساس خانواده تراشهها متفاوت ميباشد.
I/O هاي ديگر
بيشتر كنترلرها همچنين داراي واسطي براي ارتباط با دنياي خارج از خود به غير از پورت USB هستند. معمولاً به اين منظور يك مجموعه از پايههاي ورودي – خروجي وجود دارند كه قادرند به مدار هاي ديگر متصل شوند. تراشه ممكن است از مدارهاي واسط ديگر نيز پشتيباني كند، از جمله واسطهاي همزمان براي RS-232 يا واسطهاي سنكرون از قبيل c – 2 I ، ميكرو واير، و SPI
بعضي از تراشهها نيز واسطهاي ويژهاي دارند. مثلاً USA/321 شركت فيليپس داراي مبدل ديجيتال به آنالوگ (DAC) براي استفاده در بلندگوهاي USB را به سيگنالهاي آنالوگ با فركانس نمونهبرداري 55 كيلوهرتز تبديل مي كند. FT8U232AM محصول FTDI يك USB UART است كه به روز رساني طراحيهاي RS-232 به USB را به راحتي ممكن ميسازد.
ويژگيهاي ديگر
تراشه ممكن است خصوصيات ديگري از جمله تايمرهاي سختافزاري يا شمارنده داشته باشد. همه ويژگيهايي كه ممكن است در يك ميكروكنترلر عمومي بيابيد ممكن است در كنترلر USB نيز وجود داشته باشد.
تراشههايي كه از ابتدا براي USB طراحي شدهاند
بعضي از كنترلرها مخصوص تجهيزات USB ساخته شدهاند. به جاي اضافه كردن قابليتهاي USB به معماريهاي موجود. اين طراحيها از ابتدا براي USB انجام شده است. دو سازنده اين تراشهها شركتهاي سيپرس و Scanogic ميباشند. جدول 1-7 ويژگيهاي اين تراشهها را مقايسه ميكند.
جدول 1-7: شركتهاي سيپروس و Scanlogic ميكروكنترلرهايي دارند كه مخصوص USB طراحي شدهاند.
SL11R CY7C64113 CY7C637XX خصوصيت
ScanLogic سيپرس سيپرس كارخانه
بالا بالا پايين سرعت
4 5 3 تعداد اندپوينتها
K3 256 96 حافظه RAM (بايت)
EEPROM+BIOS ROM
سريال يا حافظة موازي خارجي OTP PROM OTP PROM نوع حافظه برنامه
K2 داخلي يا K26 خارجي K 8 K8 – K 6 اندازه حافظه برنامه (بايت)
32 32 16-10 I/O هاي همه كاره
باس داده موازي، EEPROM, UART سريال DAC، C I2 PS2, SPI يا USB قابليتهاي I/O هاي ديگر
%10 3/3
25/5/0/4 5/5-0/4 ولتاژ منبع تغذيه
100 48 24 و 18 تعداد پايهها
خانواده MS سيپرس، تراشههاي ارزانقيمت زيادي دارد كه در مجموعه دستورات بهينه شده براي USB مشترك هستند. سري ENORE سرعت پايين مي باشند، كه هر كدام براي پورت USB و 8 تا 16 خط I/O كاربرد عمومي دارند. تراشههاي سري هاي MS ديگر، I/O هاي بيشتري دارند و از انتقالهاي سرعت بالا نيز پشتيباني مي كند.
SL11R شركت SCANLOGIC داراي BIOS ROM است كه از هر چهار انتقال پشتيباني مي كند. همچنين ROM داراي كدهايي است كه اجراي برنامة تراشه كاربر را از حافظه موازي خارجي يا بارگذاري كد از EEPROM سريال به RAM ممكن ميسازد.
تراشههايي بر اساس خانوادههاي آشنا
بعضي از كنترلهاي USB سازگار با خانوادههاي موجود ميباشند. اين تراشهها دو مزيت دارند. يكي اينكه بسياري از ارتقادهندگان با معماري و مجموعه دستورات تراشه آشنا ميباشند. مطمئناً اگر طراحي شما با تراشهاي كه سازگار با 8051 است باشد، آشنايي با 8051 به شما بسيار كمك خواهد كرد. حتي اگر شما با آن معماري آشنا نباشيد، انتخاب آن خانواده عمومي به معناي آن است كه ابزارهاي برنامهريزي و اشكالزدايي آن در دسترس است و كدهاي نمونه و دستگاههاي ديگر آن تراشه در دسترس شماست.
در صورتي كه ميكروكنترلر انتخابي شما 8051 است، بسيار خوش شانس هستيد. سيپرس ، INFINEON و Standard Microsysem تراشههاي سازگار با 8051 با قابليت usb دارند. سري fx2 سيپرس در خانواده EZ-USB سازگار با 8051 از سرعت خيلي بالا پشتيباني ميكند.
تراشههايي كه با خانواده هاي ديگر سازگارند نيز در دسترس ميباشند. از جمله AVR شركت PIC, Atmel شركت ميكرو چيپ، 68 Hco5/8 شركت موتورلا. جدول 2-7 فهرست اين تراشه و بقية تراشه ها را ارائه مي كند.
جدول 2-7: بسياري از كارخانهها كنترلرهاي USB را توليد كردهاند كه سازگار با خانواده ميكروكنترلرهاي موجود ميباشند.
تراشه نمونه سازگار سازنده
AM186 Inter 80 C186 AMD
At6c711 Atmel AVR Atmel
AN2121(EZ-USB series) Interl 8051 Dallas Semi Ds80c320 Cypress
C54IU Intel 8051 Infineon
16C7X5 Micochip PIC Micochip technology
7640,7532/36 Mitsubishi 740 Mitsubishi
68HC05JB3/4 Motorola 68HCO5 Motorola
68HC08JBS Motorola 68HCO8 Standard Microsystems (SMSC)
MPC8050 Motorola Power PC STMicroeectronics
(Host or device) Intel 8051
USB97C100 SATMicroelctronics st7
St7261
تراشههايي كه به ميكروكنترلرهاي خارجي متصل ميگردند.
بعضي از تراشههاي USB فقط ارتباطات مربوط USB را انجام مي دهند و بايد به يك ميكروكنترلر خارجي وصل گردند. اين موضوع شما را قادر مي سازد كه پورت USB تان را به هر مدار ميكروكنترلر دلخواه متصل كنيد. در اينجا به دو تراشه احتياج خواهيم داشت در حال يكه كنترلرهاي ديگر هم CPU و هم هسته USB را بر روي يك تراشه دارند. جدول 3-7 انتخابهايي از اين گونه تراشهها را نشان ميدهد.
اين تراشهها داراي يك باس داده محلي و خارجي هستند كه از يك مدار واسط سنكرون سريال يا موازي براي ارتباط با CPU استفاده مي كنند. هنگامي كه كنترلر دادههاي يك USB را دريافت كند يا آماده ارسال دادههاي جديد باشد پايههاي وقفه فعال شده و CPU را آگاه ميسازند.
جدول 3-7: انتخابهايي از كنترلرهاي USB كه با يك ميكروكنترلر عمومي مرتبط مي شوند.
PDIUSBD12 PDIUSBD11 NET2888 USBN9603 USS82C تراشه
فيليپس فيليپس Netchip National Semiconductor LUCENT سازنده
بالا بالا بالا بالا بالا سرعت باس
يكي كنترلي +4 تا ديگر يكي كنترلي +6 تا ديگر يكي +5 تا ديگر يكي كنترلي+6 تا ديگر يكي كنترلي +14 تا ديگر تعداد آدرسهاي راندپوينت
بله خير خير خير بله دو بافر دارد؟
موازي غير مولتي پلكس يا مولتي p-c موازي غيرمولتي پلكس موازي غير مولتي پلكس يا مولتي پلكس، ميكروواير موازي غيرمولتي پلكس واسط پردازشگر مركزي
3/3 3/3 3/3 3/5 يا 5 3/3 ولتاژ منبع تغذيه
28 16 48 28 48/44 تعداد پايهها
خروجي ساعت قابل برنامهريزي، نشانگر LED براي وضعيت خروجي خروجي ساعت قابل برنامهريزي 32 بايت از فضاي آدرس خروجي ساعت قابلبرنامهريز FIFO قابل برنامهريزي نكات
در بعضي از تراشهها، واسط باس محلي باس محلي آهستهتر از نرخ انتقال ماكزيمم usb است. لذ اين تراشهها فقط براي دادههاي تناوبي مفيد مي باشند.
NDT 2888 از يك باس داده موازي با 8 خط داده و 5 خط آدرس استفاده مي كند. اين باس قادر است با سرعت 10 مگابايت در هر ثانيه بخواند و بنويسد در مد DMA اين سرعت حتي ميتواند بيشتر شود. USBN9603 محصول Nationqal Semiconductor انتخابهاي بيشتري را ارائه ميدهد. اين تراشه باس دادهاي سريال سنكرون ميكروواير را بفرستد. ميكروواير فقط احتياج به چهار خط دارد و ميتواند از طريق چهار خط I/O با هر ميكروكنترلري مرتبط شود.
شركت فيليپس دو تراشه PDIUBD11 با واسط C I2 و PCIUSBD12 با واسط موازي را ارائه ميدهد. USS820C محصول Lucent داراي واسط موازي است و از حداكثر تعداد اندپيوينت ممكن پشتيباني ميكند.
مرجع خصوصيات تراشه
مهمترين مدرك در مورد قابليتهاي تراشه، مرجع خصوصيات تراشه آن است . در تراشههايي كه CPU دارند، مرجعهايي در مورد مجموعه دستورات آن پردازشگر مفيد مي باشد. در برگة داده در مورد سختافزار كه شامل نحوه كار رجيسترها و ولتاژها و زمانبدي تمام پايهها مي باشد توضيح داده ميشود.
علاوه بر اين متنهاي اوليه و اساسي، بسيار از فروشندگان راهنماي مخصوص كاربران تهيه مي كنند كه جزئيات بيشتري را در مورد چگونگي استفاده از تراشه در بر دارد.
راهانداز
جنبة ديگر برنامهريزي يك دستگاه USB ، راهانداز و نرم افزارهاي كاربردي سمت ميزبان است. در اينجا نيز نمونهها مي توانند مفيد باشند.
در صورتي كه دستگاه شما سازگار با يكي از كلاسهايي است كه ويندوز از آن پشتيباني ميكند،
ديگر نگراني در مورد نوشتن يا پيدا كردن راهانداز دستگاهتان نداريد. مثلاً برنامة كاربردي كه مي تواند به يك دستگاه كلاس HID دسترسي داشته باشد از تابعهاي استاندارد API كه با راهاندازهاي HID ويندوز ارتباط برقرار ميكنند. بهره ميبرد. فروشندگان تراشه ممكن است يك برنامه نمونه را پيشنهاد كنند، از جمله NATIONAL Semicon ductor برنامه HID نمونهاي براي 9603 خود ارائه ميدهد.
بعضي از فروشندگان، بك راه انداز عمومي را ارائه ميدهند كه شما مي توانيد از آن براي تبادل دادهبا دستگاه استفاده كنيد. EZ-USB شركت سيپرس نمونهاي از آنها مي باشد. تراشه داراي معماري منحصر به فردي است كه كامپيوتر را قادر مي سازد در هنگام اتصال برنامه تراشه را بارگذاري كند. براي استفاده از اين ويژگي، تراشه احتياج به يك راهانداز خاص دارد. اين راهانداز عمومي سيپرس مي تواند كدها را به درون تراشه بارگذاري كند و همچنين مي تواند با استفاده از هر چهار نوع انتقال به تبادل داده بپردازد.
نگاهي به بعضي از تراشهها
enCoRe محصول شركت سيپرس
تراشههاي سري enCoRe شركت سيپرس، ارزان و با طراحي آسان ميباشند. هدف از ساخت اين تراشه، انتقال بلاكهاي كوچك اطلاعات در سرعت پايين است. از وسايل جانبي كه اين تراشه ميتواند در آنها به كار رود مي توان از ماوس و دسته بازي نام برد.
معماري CPU
برخلاف بيشتر تراشههاي USB ، سري enCoRe بر اساس خانواده خاصي نيست. استفاده از اين تراشه به معناي نياز به يادگيري مجموعه دستورات جديد مي باشد. هر چند كه اين دستورات كم هستند و مشابه با دستورات ديگر ميكرو كنترلرها ميباشند و اگر با برنامههاي كد اسمبلي كار كرده باشيد، يادگيري اين عبارات راحت است. يك مفسر C نيز براي اين تراشه وجود دارد.
اين تراشه از 37 دستور پشتيباني مي كند كه كارهاي اصلي مثل انتقال داده، انجام عمليات رياضي و پرشهاي برنامه را پوشش ميدهند. چون مجموعه دستورات كوتاه هستند يادگيري آنها چندان سخت نيست. هر چند اين مسأله به معناي آن است كه شما نميتوانيد دستوراتي براي انجام همه كارهاي مورد نظرتان بيابيد. از جمله، دستوري براي ضرب يا تقسيم وجود ندارد و همةمحاسبات بايد توسط عمل جمع، تفريق و انتقال بيتها انجام شود. (مفسر C داراي توابع رياضي ديگري نيز هست.)
معماري هستند. 63743 همچنين مي تواند براي ارتباطات ps/2 (سريال سنكرون) پيكربندي شود، كه دستگاههاي مكانيابي را قادر مي سازد از هر دو واسط پشتيباني كنند.
كنترلر usb
سادگي طراحي enCoRe ميتواند يك مزيت باشد اما محدوديتهايي نيز دارد. اين تراشه از تمام قابليتهاي USB پشتيباني نميكند. محدوديت سرعت پايين به معناي آن است كه آنها نميتوانند از اتصالهاي همزمان و تودهاي پشتيباني نمي كند. محدوديت سرعت پايين به معناي آن است كه آنها نمي توانند از اتصالهاي همزمان و تودهاي پشتيباني كنند، 63743 سه اندپوينت دارد. يك اندپوينت صفر براي انتقال كنترلي به علاوه اندپوينت هاي 1 و 2 براي انتقال وقفهاي . تراشه مي تواند يك اندپوينت ورودي وقفه و يك اندپوينت وقفه خروجي داشته باشد يا اينكه از دو اندپوينت در يك جهت پشتيباني كند بعضي ديگر از تراشههاي سرعت پايين، در نسخههاي اوليه خود از اندپوينت وقفه خروجي پشتيباني نمي كردند تا وقتي كه اين ويژگي به USB به USB نسخه 1/1 اضافه شد. هر اندپوينت يك بافر هشت بايتي در RAM دارد.
براي ارتقاي پروژه، سيپرس يك كيت ارتقا ارائه مي دهد كه شامل برد مدار چاپي به همراه برنامه نمايش دهنده براي بارگذاري و تست كدها مي باشد.
تنها حافظه ممكن براي تراشه OTP PROM مي باشد. براي برنامهريزي كردن PROM شما احتياج به يك دستگاه برنامهريز داريد. سيپرس يك برنامه ريز ارزان از Hi-Lo پيشنهاد ميكند.
ارتباطات usb احتياج به مقدار زيادي برنامة تراشه دارد، اما سيپرس كدهاي نمونهاي براي برنامههاي عمومي ارائه داده است.
اگر به اين تراشه علاقه منديد اما احتياج به I/O هاي بيشتر يا سرعت بالا داريد CY7C64013 و CY7C64113 را پيشنهاد مي كنم.