This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52 support ISO7816 protocol

Hi,

let me know if nRF52 support ISO7816 protocol for Smart Card Interface.

Regards, jagadish.H

Parents Reply Children
  • For clock signal generation, "devzone.nordicsemi.com/.../ give an example to let GPIO has 4M clock signal output.

    For GPIO work as IO pin of ISO/IEC7816, "devzone.nordicsemi.com/.../" give the example code.

    To implement the ISO/IEC7816 protocol stack, just according the Spec document of ISO/IEC7816 to interact with the smart card or card reader (depends on nRF52/51 act as card reader or start card).

  • Thank you Jiacheng... we will implement this.. if any issues we will get back to you..

  • One point, with our implementation, the ISO7816 stack can not be run as an application program of SoftDevice, i.e., ISO7816 stack and BLE stack can not be run at the same time, since ISO7816 packet TX/RX can not be interrupted. Currently we are working on 2 protocol stack (BLE and ISO7816) work together with TDM (time division multiplexing) manner.

  • It is a total custom implementation, I'm not sure if Nordic think it is useful for general purpose and have an official support.

    I think it is no problem for nRF51/52 work as a card to interact with interface device (card reader). However, if use nRF51/52 as a general card reader, there are some electrical specification issues, for example, ISO/IEC 7816 requires the current supply is up to 50mA, this can not be provided by GPIO of nRF51/52. Although with our implementation, nRF51/52 are working perfectly as a SIM/USIM card reader, but I have no idea if use nRF 51/52 as a general card reader.

    About our progress, it is no problem to let the 2 stacks (Softdevide and ISO7816) work "together" as TDM manner, it is working in our implementation. Since at any time, there is only 1 stack running. We are trying to make 2 stacks work concurrently by using timeslot feature of Softdevice.

  • Hi Jiacheng,

    Thanks for the additional information.

    In our case, we are talking to a custom part and the UART interface to the card/part does not require the high current supply--so that part isn't an issue for us. But we do need to talk using 7816 protocol. I'm not certain yet whether we would try to interleave it with BLE using time slots, or whether we may be able to make the two mutually exclusive (e.g., disable the radio for the situations where we need to use 7816 protocol).

    From what you've said, it sounds like the 7816 library you are using does not have built-in support for arbitrating with the radio using time slots--that the application level has to take care of managing the time slots and be sure to only use the 7816 library at the allowable times? Or does the library provide time slot management too?

    Finally, is there any plan to make the library available?

Related