This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

LP-MSPM0G3507: Need example source for ISO7816 Smart Card Support Mode

Part Number: LP-MSPM0G3507

Tool/software:

hi.

I would like to ask for help as there is no ESAM-related source while using the CCS program with the TI LP-MSPM0G3507 EVM.

An example source is needed to check the operation of ESAM ATR.

We would like to allocate the pin as follows.

VCC: PA11
IO: PA10
CLK:PA9
RST:PA8

We look forward to your help.

thank you
  • Hi, hyokeun

    Now ,we don't have Smart Card example.

    You can follow the guide from TRM 16.2.3.15 ISO7816 Smart Card Support, and use CCS with syscfg to try to build your own demo code.

    Here is the TRM: https://www.ti.com/lit/ug/slau846a/slau846a.pdf

    Regards,

    Helic

  • Hi, helic

    They changed the program as instructed by TRM, but several issues were identified as follows.
    1. If UART0_TX(clock) is set higher than 2.5 MHz, UART0_RX(Data) is not output.

    2. For oversampling 3x, TX is sent periodically every 200 ms, but for oversampling 8x/16x, tx data is sent once.

    3. It is described as below in TRM. However, the baudrate changes according to the oversampling change.

    NOTE: The bit oversampling influences the UART baud-rate configuration. The state of this bit has no effect on clock generation in ISO7816 smart card mode (the SMART bit is set).

    Can you point out the error of the source they worked on?
    I uploaded my workspace to the link below.

    https://drive.google.com/file/d/17PRPnFMQwskMIfaTYsRN3OJUBSKVwJpl/view?usp=sharing

    thanks, 

    Best regards,

  • Hi, 

    Sorry we can not access public online cloud storage, such as google drive.

    Please directly drag the file into the E2E reply box.

    Regards,

    Helic

  • ISO7816__out_of_box_LP_MSPM0G3507_nortos_ticlang.zip

    Hi, Helic

    I attached project file in e2e. 

    thanks

  • Hi, 

    Sorry for that I can verify this project from my side, because I don't have the slavehardware.

    But I have check the UART register from my side, it seems normal compared with the project set by me.

    Here is my project, can you have a test?

    uart_extend_smart_card_send_LP_MSPM0G3507_nortos_ticlang.zip

    By the way, do you have any method that can verify this ISO function without a slave hardware?

    Regards,

    Helic

  • Hi Helic

    When I tested your project I got the following result:

    1. Clock 2MHz.
    2. No TX Data.

    What we want to check is that tx data is transmitted at a baud rate of 115200 when the clock is 4~5MHz.

    <Check please Test result Photo>

    thanks

  • Hi Helic


    After connecting an slave in ISO7816 SmartCard mode, the actual data and the data received in the RX buffer are different.

    Actual data: 3b 7f 18 00 00 4a ...
    Buffer: 48 c0 00 00 00 ...

    Could you please review the attached source code and point out any errors?

    Thank you.

    (Actual Data)

    (Rx Buffer)

    1346.uart_extend_smart_card_send_LP_MSPM0G3507_nortos_ticlang.zip

  • Hi, 

    I have review this code.

    But it's hard to debug it without a hardware.

    I will try to build some test environment from my side.

    Regards,

    Helic

  • Hi, Helic

    We can provide the hardware(Smart Card) for testing.

    If we provide the hardware, would it be possible for you to test it?

    If possible, please provide the shipping address.

    Thank you.

  • Hi Helic,

    I have checked the source code you provide. It's quite simple I think, but it doesn't work I expected.

    So I would like to ask few questions about your source code.

    1. According to the datasheet, UART_RX pin is used as data input & output connected to the smart card DIO. So I think there will be an in/out setting to prevent collisions. If so how to switch input and output with one wire in your project.

    2. I just implement sending one byte(0x55) to the smart card using DL_UART_0_transmitData(UART_0_INST, 0x55). And I can see the clock is generated only for the period of data out. Please see the below image... Then how can I generate clock from UART_TX pin for the period of receiving data from smart card?

    thank you.

  • Hi, 

    I am in Shanghai, China.

    It may be a bit far.

    What hardware are you using?

    Regards,

    Helic