اطلاعیه

Collapse
No announcement yet.

iso7816 با avr

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    iso7816 با avr

    آیا می توان با avr پرتکل iso7816 را بطور کامل پشتیبانی کرد ؟

    #2
    پاسخ : iso7816 با avr

    سلام
    این پروتوکول واسه کارت های هوشمند هست"؟

    دیدگاه


      #3
      پاسخ : iso7816 با avr


      این پروتوکول واسه کارت های هوشمند هست"؟
      آره یک نمونه ساده از اون در کارتهای تلفن بکار رفته .

      دیدگاه


        #4
        پاسخ : iso7816 با avr

        سلام
        من تو یک شرکت که " دیسپنسر های بنزین " تولید می کرد ، بودم و روی آنها دستگاه های که کارت هوشمند سوخت وجود داشت.
        اسم شرکت " مخابرات راه دور شیراز" ؛ یک از اونا باز کردم دیدم میکرو کنترلر داخلیش atmega64 .
        که فکر کنم بشه این پروتکل iso7816 را پیاده سازی کرد.

        من تو پاساژ امجد ، طبقه بالای همکف رو برو پله ها قبلا یک مغازه است که کتاب آموزش کارت های هوشمند مثل سوخت و تلفنی و ... داشت که احتمالا این پروتکل هم توش باشه.
        خداوندا
        از بچگی به من آموختندهمه را دوست بدار حال که بزرگ شده ام و کسی را دوست می*دارم می گویند:
        فراموشش کن
        دکتر علی شریعتی

        دیدگاه


          #5
          پاسخ : iso7816 با avr

          البته من شنیدم که sam این پرتکل رو ساپورت می کنه و توی کتابخونه های آن هست ولی من می خوام با avr اینکار رو بکنم .
          اگه کسی بتونه کمکم کنه ممنون میشم

          دیدگاه


            #6
            پاسخ : iso7816 با avr

            با سلام،

            اگر با پروتکل ISO7816 - T0 کارت راه می افته، با یه ارتباط ساده سریال میشه!
            اینجا سر نخ رو داده :
            http://electronicdesign.com/article/digital/drive-smart-cards-with-a-low-cost-mcu-s-uart15147

            سخت افزار و کد رو داده، ولی کل کار با خودته تا کامل بشه .... :mrgreen:
            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

            Sh_Nourbakhsh@Yahoo.com

            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

            دیدگاه


              #7
              پاسخ : iso7816 با avr

              بسیار ممنون البته من پورت سریالم در این پروژه درگیر است و نمی تونم از اون استفاده کنم ولی اگه همین طوری هم راه بیفته بعدا اون پورت رو هم یک کاری می کنم .

              دیدگاه


                #8
                پاسخ : iso7816 با avr

                با سلام،

                این هم یه پروژه است به اسم شاه کلید که بر اساس همون پست قبلی طراحی و اجرا شده ( البته کامله ) یه نگاهی بهش بنداز، شاید بکارت اومد ......

                http://s3.picofile.com/file/7528927197/AT3244.rar.html

                ضمنا، اگر پورت سریال برات مهمه، میتونی سریال سخت افزاری رو برای کارت استفاده کنی و یه سریال نرم افزاری هم برای ارتباطت راه بندازی! و در بدترین حالت، از یه میکرو با دو سریال پورت استفاده کنی، مثلا همون ATmega64 ..... :mrgreen:
                مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                Sh_Nourbakhsh@Yahoo.com

                http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                دیدگاه


                  #9
                  پاسخ : iso7816 با avr

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

                  دیدگاه


                    #10
                    پاسخ : iso7816 با avr

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

                    شما شماتیک مثال پست دوم ( مثال کامل ) رو دیدی؟!
                    فرکانس کاریش دقیقا مشخصه ( 4.9152MHz ) و منبع کلاکش هم از میکرو جدا شده.

                    با تلفیق پروژه دومی و یه ارتباط سریال نرم افزاری ( که همه جا هست )، کار شما راه می افته ..... :mrgreen:
                    مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                    Sh_Nourbakhsh@Yahoo.com

                    http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                    دیدگاه


                      #11
                      پاسخ : iso7816 با avr

                      اره شماتیک دوم رو هم دیدم و نمی دونم چرا کریستال گذاشته ؛ می تونسته اون کلاک رو با میکرو درست کنه و از یه پین بهش بده .
                      البته سوال من هم همینه که کلا این استاندارد فقط با این کلاک کار می کنه یا نه ؟
                      با تایمر و استفاده از وقفه اون اختمالا بشه یک کلاک اینجوری ساخت البته هر چی گشتم نتونستم باود ریتهای دیگری که اختمالا ساپورت میکنه رو پیدا کنم . و راحتترین اونها رو انتخاب کنم.

                      دیدگاه


                        #12
                        پاسخ : iso7816 با avr

                        نوشته اصلی توسط داریوش عباسی
                        اره شماتیک دوم رو هم دیدم و نمی دونم چرا کریستال گذاشته ؛ می تونسته اون کلاک رو با میکرو درست کنه و از یه پین بهش بده .
                        البته سوال من هم همینه که کلا این استاندارد فقط با این کلاک کار می کنه یا نه ؟
                        با تایمر و استفاده از وقفه اون اختمالا بشه یک کلاک اینجوری ساخت البته هر چی گشتم نتونستم باود ریتهای دیگری که اختمالا ساپورت میکنه رو پیدا کنم . و راحتترین اونها رو انتخاب کنم.
                        شما اینجا رو ببین، اطلاعات الکتریکال استاندارد ISO7816 هستش :
                        ISO 7816-3 Smart Card Standard:
                        Part 3: Electronic Signals and Transmission Protocols

                        http://www.cardwerk.com/smartcards/smartcard_standard_ISO7816-3.aspx
                        مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                        Sh_Nourbakhsh@Yahoo.com

                        http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                        دیدگاه


                          #13
                          پاسخ : iso7816 با avr

                          با سلام و تشکر
                          من از روی اینها نتونستم باودریتهایی که پشتیبانی می کنه رو در بیارم.
                          البته نمی شه که فقط همون باود ریتی که در اون مثال گفته رو ساپرت کنه و حتما با باودریتهای زیادی کار می کنه .
                          اگه کمکم کنید ممنون میشم .

                          دیدگاه


                            #14
                            پاسخ : iso7816 با avr

                            با سلام،

                            شما این استانداره که در پست قبلی قرار داده بودم رو خوندی؟!
                            اگر میخوای روی این کارتها کار کنی، حتما بخونش، مهمه....
                            اینو تووش دیدی؟ :
                            In order to read the initial character (TS), all cards shall initially be operated with fi in the range of 1 MHz to 5 MHz.

                            فرکانس کریستال در راه اندازی اولیه، باید بین 1 تا 5 مگاهرتز باشه!

                            حالا شما مشکلت با باودریت هستش یا با فرکانس کریستال؟ این دو تا با هم فرق دارن.....

                            بعد از راه اندازی کارت، اگر خواستی، میتونی باودریت رو با اعمال تغییرات لازم در پارامترهای کارت، تغییر بدی.
                            این هم تووش نوشته که خیلی مهمه :

                            This initial etu is used during answer to reset is replaced by the work etu during subsequent transmission. F is the clock rate conversion factor and D is the bit rate adjustment factor to determine the work etu in subsequent transmissions.

                            For internal clock cards:

                            initial etu = 1/9600 s
                            work etu = (1/D)*(1/9600) s

                            For external clock cards:

                            initial etu = 372/fi s
                            work etu = (1/D)*(F/fs) s

                            The minimum value of fs shall be 1MHz.
                            The maximum value of fs is given by table 6.

                            I and P define the active state at VPP.
                            - Maximum programming current : Ipp = 1mA
                            - Programming voltage : Vpp = P.V

                            N is an extra guardtime requested by the card. Before receiving the next character, the card requires a delay of at least (12+N) etu from the start leading edge of the previous character. No extra guardtme is used to send characters from the card to the interface device.

                            The default values of these parameters are:
                            F = 372 ; D = 1 ; I = 50 ; P = 5 ; N = 0

                            این متن رو ببین، برادر آلمانی، ولفگانگ در مورد نحوه محاسبه باودریت نوشته و خلاصه ای از چند پاراگراف همون استاندارده! ( با فرکانس کریستال 3.5712 MHz ) :
                            کد:
                            Use the current (1997) edition of 7816-3, not the obsolete (1989) edition.
                            Its still not easy to do the calculations, so readers of this note should
                            check it over carefully.
                            
                            7816-3:1997 section 8.2 on work waiting time:
                            
                            wwt = 960 * WI * (Fi / f)
                            
                            f = card clock frequency - let us assume 3571200 Hz (3.5712 MHz)
                            
                            Fi is the clock rate conversion factor. It is coded as FI in the top 4 bits
                            of ATR interface byte TA(1), and Table 7 is used to find the value of Fi. If
                            TA(1) is not present, the default value of Fi is 372 (see below about this
                            muddle).
                            
                            WI is coded in ATR specific interface byte TC(2); the default value if TC(2)
                            is not sent by the card is 10
                            
                            Using default values and the assumed card clock frequency of 3571200, we
                            have:
                            
                            wwt = 960 * 10 * (372 / 3571200) = 1 second
                            
                            For the calculation of the etu (elementary time unit, or bit period on the
                            I/O line), another factor comes in. 7816-3:1997 section 6.5.2:
                            
                            1 etu = (F / D) * (1 / f)
                            
                            First, one of 7816-3's muddles must be cleared out of the way:
                            
                            if interface byte TA(1) is present, F = Fi as found via Table 7 (see above);
                            if TA(1) is not present, F = Fd = 372;
                            but if a successful PPS exchange in which the interface device sends PPS1 to
                            request the card to accept values of F and D takes place, F = Fn as sent
                            back by the card. (PPS is the new name for PTS)
                            
                            D is the extra factor: the I/O line bit rate adjustment factor (e.g.
                            changing D from the default 1 to the value 2 halves the length of the etu,
                            or doubles the bit rate). The same muddle as for F applies:
                            
                            first, it is coded as DI in the bottom 4 bits of ATR interface byte TA(1),
                            and Table 8 is used to find the value of Di;
                            if TA(1) is not present, the default value of Di is Dd = 1;
                            and a PPS exchange can change D just as it can change F.
                            
                            So, using default values and a clock rate of 3.5712 MHz:
                            
                            1 etu = (372 / 1) * (1 / 3571200) = 1.04167 sec (104.167 microsec or, of
                            course, 1/9600 sec)
                            
                            It seems, therefore, that changing the value of Di in the ATR does not
                            change the value of the wwt, but changing the value of Fi does. Is this what
                            the writers of 7816-3:1997 meant? I don't think so, because the wwt required
                            is related to the values of clock sent to the card, the internal structure
                            of the card's CPU and clock processing circuits, and the application
                            algorithm programmed into the card. Changing Fi and Di doesn't change the
                            way that the card runs its application code, and so should not change the
                            wwt - but changing Fi does change the wwt.
                            
                            FI from the card, besides influencing I/O bit rate, also indicates the max
                            clock frequency that the card can be run at. So:
                            
                            FI = 0 (means Fi = 372), Di = 1 gives a bit rate of 9600 in our example, a
                            wwt of 1 sec, and indicates (Table 7) a max clock frequency of 4 MHz
                            (typical for a card run at 3 Volts Vcc)
                            
                            FI = 1 (also means Fi = 372), Di = 1 gives a bit rate of 9600 in our
                            example, a wwt of 1 sec, and indicates (Table 7) a max clock frequency of 5
                            MHz (typical for a low cost card run at 5 Volts Vcc)
                            
                            FI = 3 (means Fi = 744), Di = 2 also gives a bit rate of 9600 in our
                            example, but changes the wwt to 2 sec, and indicates (Table 7) a max clock
                            frequency of 8 MHz (e.g. for a Hitachi 3109 card as used by "rollout spec"
                            Mondex in a single application environment)

                            و این فایل رو بر اساس توضیحاتی که داده، درست کرده :
                            www.wrankl.de/HdC/CalcATR.xls

                            به سایت این برادر محترم آلمانی، ولفگانگ، یه سری بزن، کارش درسته!
                            این هم یه نمونه شبیه ساز کارت هست که اوپن سورس با VB نوشته، کلی بدرد میخوره :biggrin:
                            http://www.wrankl.de/TSCS/TSCS.html

                            ضمنا، این هم چیز خوبیه : :mrgreen:
                            http://www.smartcard.co.uk/tutorials/sct-itsc.pdf

                            بقول برادرای خارجکی
                            Any question?!
                            مادامی که از شخصی یاد میشود، او و افکارش زنده اند ....

                            Sh_Nourbakhsh@Yahoo.com

                            http://s2.picofile.com/file/7170362468/_Wall_e_.jp

                            دیدگاه


                              #15
                              پاسخ : iso7816 با avr

                              aival جان خیلی ممنونم

                              در مثالی که شما گفته بودید باود ریت رو همیشه ثابت در نظر گرفته و اصلا تغییری دیده نمی شه ولی لینک شما گفته شده که:
                              initial etu = 372/fi s
                              work etu = (1/D)*(F/fs) s
                              و با توجه به کریستال موجود در مدار etu عدد دیگری بدست می آید یا من اشتباه می کنم .

                              دیدگاه

                              لطفا صبر کنید...
                              X