ايران ويج

نسخه‌ی کامل: تكنولوژي كارت تلفن
شما در حال مشاهده‌ی نسخه‌ی متنی این صفحه می‌باشید. مشاهده‌ی نسخه‌ی کامل با قالب بندی مناسب.
سلام دوستان كسي درمورد تكنولوژي كارت تلفن اگاهي داره ميخولم بدونم چجوري ميشه روي يه كارت تلفن بنويسم و بعد اونو بخونم. البته سوء تفاهم نشه دارم يه قفل ديجيتال براي خودم ميسازم كه قادر باشه 10 كاربر رو پشتيباني كنه و براي شيكتر شدنش ميخوام از كارت تلفن استفاده كنم.
در ضمن تااينجا فهميدم كه حافظه كارت تلفن كه از نوعEEPROM هست داراي 13 بايت حافظه است.حالا براي ادرس دهي هر يك بايت از اين حافظه از كدهاي هشت بيتي 00 تا 0C استفاده ميكنيم ديگه؟ درسته؟
ممنون از راهنمايي شما.
به اینا می گن اسمارت کارت که تکنولوژی های متفاوتی هم داره
کارت تلفن توی سایت فکر کنم بحث شده باید به سرچ بکنی
http://en.wikipedia.org/wiki/Smart_card
سلام
توي help بسكام يه مطلب پيدا كردم به اسم BCCARD شكل پايه هاي ايسي كارت رو كه كشيده بود 8 پايه بود كه پايه هاي 4 و5 اون no connection بودن مابقي هم ترتيبشون مثل اسمارت كارت بود. ميتونم با اين پروتكل كاري انجام بدم؟
ولي اينجور كه پيداست نميشه روش هر عدد دلخواهي نوشت .
توي مطالبي كه خوندم اينو نوشته بود كه 4 بايت 10 تا13 هزينه رو توي خودشون ذخيره ميكنن و به اين صورت هست كه با هر بار صفر شدن بايت 13 يك بيت از بايت 12 صفر ميشه و بايت 13 دوباره به FF تبديل ميشه و اين كار براي باتهاي 11 و 10نيز به همين ترتيب تكرار ميشه (13روي12و 12روي11 و 11 روي 10 تاثير ميذاره)تا اينكه تمام بيتها صفر بشه كه ديگه هيچكدوم قابليت تبديل شدن به FF رو ندارن با اين حساب با هر براي هر بار تعويض كد كاربر بايد يك كد كوچكتر از كد قبلي انتخاب كرد و در نهايت بعد از چند بار تعويض كد كارت تلفن غير قابل استفاده شده و بايد يه كارت ديگه خريد.
مشكل دوم اينه كه هزينه 8 كارت براي 8 كاربر 16هزار تومن ميشه هر كارت2هزار تومن كه اين كار هزينه پروژه رو بالا ميبره .
مطالبي كه تا حالا پيدا كردم و فكر كنم خيلي بكار بياد رو ميذارم ولي هنوز تست نكردم:
1- شمارنده ادرس(address counter) ادر س هر يك بيت رو در خودش قرار ميده يعني ما 13 بايت داريم كه شمارنده ما از 0 تا 104 مقدار دهي ميشه با هر لبه بالا رونده كلاك پالس يك واحد به اون اظافه ميشه و با لبه پايين رونده كلاك پالس اطلاعات بيتي كه شمارنده ادرس به او اشاره ميكنه روي پايه I/O قرار ميگيره
2- نوشتن روي كارت تلفن فقط به يك چيز ختم ميشه و اونم صفر كردن يك بيت هست تنها در يك صورت عدد يك رو مينويسه و اونم اينكه تمام بيتهاي يك بايت صفر شده باشه كه در اين صورت يك بيت از بايت بعدي به ازاي تمام صفر شدن اين بايت صفر ميشه و بعد همين بايت دوباره باFF پر ميشه (مثال بايت 12 به FE تبديل شده و بايت 13 كه00 شده به FF ّّ تبديل ميشه)اين عمليات رو write carry ميگن.
انواع عمليات هايي كه روي كارت تلفن انجام ميشود و نحوه انجام انها:

1-صفر كردن شمارنده ادرس :
RS=5 و ‍CLK=5
يعني همزمان پايه كلاك پالس و ريست را يك ميكنيم در اين حالت شمارنهد ادرس يا همان address counter صفر ميشود.
2- افزايش يك واحدي شمارنده ادرس:
RS=0 , CLK=0 to 1
براي افزايش يك واحدي شمارنده ادرس در حالي كه پايه ريست غير فعال است پايه كلاك پالس را از صفر به يك ميبريم .
3-خواندن بيتي كه ادرس ان در شمارنده ادرس ميباشد:
RS=0, ‍CLK= 1 to 0
بعد از افزايش يك واحدي شمارنده ادرس نوبت به خواندن ان بيت ميرسد براي خواندن اين بيت در حالي كه هنوز پايه ريست صفر است پايه كلاك را از يك به صفر تبديل ميكنيم در اين حالت ديتا روي پايه I/O ظاهر ميشود.

4-صفر كردن يك بيت(عمليات نوشتن) :
clk=0 , RS=0 to 1 to 0,clk=0 to 1(10ms) to 0
در حالي كه كلاك پالس صفر است اگر پايه ريست را يك كنيم باعث ميشود كه شمارنده قفل شود كه شرايط نوشتن را براي ما تهيه كرده.بعد ريست دوباره صفر ميشود بعد از صفر شدن پايه ريست كلاك پالس را به مدت 10 ميلي ثانيه يك ميكنيم در اين مدت بيت مورد نظر صفر ميشود كه به عبارتي عمليات نوشتن را انجام دادهايم. در گام اخر بعد از 10ميلي ثانيه ايه كلاك را صفر ميكنيم كه با اين كار شمارنده از حالت قفل خارج شده و اطلاعات بيت مورد نظر كه عدد 0 ميباشد روي پايه I/O قرار ميگيرد.
خوب حالا اگر اين بيت بيت هشتم يا همان بيت اخر باشد ما علاوه بر صفر كردن ان بايد يك بيت از بايت بعدي را صفر و بايت مورد نظر را دوباره با مقدار FF پر كنيم كه همانطور كه گفتم اين عمليات رو write carry ميگن براي اين كار عمليات زير رو انجام ميدن.
5- عمليات wrrite carry :
clk=0 , RS=0 to 1 to 0 , clk=0 to 1(10ms) to 0
clk=0 , RS=0 to 1 to 0,clk=0 to 1(10ms) to 0
در واقع عمليات نوشتن رو دو بار پشت سر هم انجام ميديم. همونطور كه گفتم پايه كلاك وقتي به مدت 10ميلي ثانيه يك ميشه كه پايه ريست صفر شده باشه بعد از اين كار پايه كلاك هم صفر ميشد. حالا هم ريست هم كلاك پالس صفر هستن كه اگر در اين حالت كلاك پالس رو يك كنيم يك واحد به شمارنده اظافه ميشه ولي ما اين كار رو انجام نميديم.در حالي كه كلاك و ريست صفر هستن ريست رو يك ميكنيم تا شمارنده دوباره قفل بشه و ما وارد مرحله دوم نوشتن بشيم و عمليات قبل تا ازاد شدن شمارنده تكرار ميشه. نكته اي كه اينجا مهمه بدونيم اينه كه كار نوشتن در همون 10 ميلي ثانيه انجام ميشه و 10 ميلي ثانيه اول فقط بيت اخر رو صفر ميكنه و 10 ميلي ثانيه دوم كار صفر كردن يك بيت از بايت بعدي و پر كردن بايت موجود با FF را انجام ميده.

خلاصه:

1-اگر پايه هاي ريست و كلاك همزمان يك شوند شمارنده صفر ميشود .
2-اگر پايه ريست صفر باشد و كلاك پالس سريعتر عمل كند با يك شدنش يك واحد به شمارنده اظاف ميشود و با صفر شدنش اطلاعات و ارد حروجي ميشود.
3- اگر پايه ريست سريعتر از پايه كلاك عمل كند در صورتي پايه كلاك صفر باشد با يك شدن ريست شمارنده قفل ميشود و در صورت يك بودن كلاك پالس شمارنده ريست ميشود.
اميدوارم كه به كارتون بايد ،موفق باشيد.



اقا من زیاد توضیح نمیدم
ولی یه پروژه هست توی کتاب"پروزه های میکروکنترلر" چاپ انتشارات"پرتونگار" که دقیقا همین کاری که شما میخوایو انجام داده
شک نکن