Shop OBEX P1 Docs P2 Docs Learn Events
New SD mode P2 accessory board - Page 34 — Parallax Forums

New SD mode P2 accessory board

1282930313234»

Comments

  • evanhevanh Posts: 16,453
    edited 2025-05-01 01:11

    @rogloh said:
    Same driver, different SD cards on different IO cmd/clk/data pins, right? Not actually sharing the same SD data bus (which I believe is theoretically possible in SD transfer mode); as that case seems like too much complexity.

    Yes, two separate SD pins sets for two separate cards. That's how it is right now too. I have your Eval add-on uSD board at basepin 16 and a hand wired full sized SD slot I made at basepin 40.

    The driver has no support for sharing the SD bus. It never deselects the card. EDIT: Err, it has to deselect to perform a CMD10 (SEND_CID) when it runs a rxlag calibration cycle.

    On that note, I'd very much like to come up with a solution for using block reads instead of CMD10 to do the calibration with. The problem is there's no way to be sure the data blocks being read aren't just all zeros or all ones. I think I'd need to write data to the card storage.

  • evanhevanh Posts: 16,453
    edited 2025-05-01 01:55

    @evanh said:
    On that note, I'd very much like to come up with a solution for using block reads instead of CMD10 to do the calibration with. The problem is there's no way to be sure the data blocks being read aren't just all zeros or all ones. I think I'd need to write data to the card storage.

    Oh, that's right, I did have an idea to attempt engaging 1.8 Volt UHS interface and see how the card handles the Prop2 staying 3.3 Volts ... if that somehow works then I can use UHS's dedicated CMD19 (SEND_TUNING_BLOCK) which uses the DAT pins.

    EDIT: Nah, it'll be a bust. The Vdd supply stays at 3.3 V after UHS switchover. Which means, at the very least, the card's signalling will be too low for the Prop2 inputs at speed.

  • roglohrogloh Posts: 5,903

    Yeah pity. That tuning block command looked useful otherwise. From my memory of old discussions, the pin comparator is slower than the streamer so it may not work at high speed. Still might be worth a quick look though to help measure latency somehow. There may still be some residual correlation between optimal read delay and the response time of the comparator to a known tuning pattern even if its initial delayed response is large due to its own bandwidth limitations. Perhaps try it anyway?

  • evanhevanh Posts: 16,453

    That'd be dog's breakfast. Can't operate at full speed because of the comparator's speed limit, so just projecting from something slower, and then requires power cycling and reiniting after any calibration cycle is done. UHS mode, like SPI mode, can't be switch out of without a power cycle.

  • evanhevanh Posts: 16,453
    edited 2025-05-02 03:45

    And I doubt reliability of any projected method anyway.

    PS: UHS would require bitDAC pin config for outputs as well. Otherwise the Prop2's 3.3 V outputs will likely lift the card's 1.8 V regulator voltage and cause a fault there.

    All those differences between calibrating and full speed operation would need a lot of careful behaviour mapping to make a projection from. The death nail being that different boards with different track lengths will redefine the mappings. And possibly differences in SD cards will impact it too.

  • roglohrogloh Posts: 5,903

    Ok. Sounds dubious then at best. There's no fixed/known JEDEC like structure on the SD somewhere that can be read via block transfers?

  • evanhevanh Posts: 16,453
    edited 2025-05-02 05:35

    There is a couple but they're both basically empty structures. CMD10's CID structure was the best I found with a decent mix of 1's and 0's.

    PS: The calibrator routine performs 12 x CMD10 for each dot, and 80 dots per rxlag setting, and 24 rxlag settings are tested. So possible 24 x 80 x 12 = 23040 issuings of CMD10. In reality a lot less. Each per dot group of 12 is checked for errors, which, when occurs, aborts that whole rxlag setting, flagging it unsuitable, moving on to next setting.

    PPS: CMD10 has 136 bit (17 byte) response, including the CRC and framing.

  • evanhevanh Posts: 16,453
    edited 2025-05-03 14:12

    I've made another tester program, this time for file create and delete testing ...

    Using v1.4 of sdsd.cc

     Delete 200 files ... Duration 1050 ms, 190.47 files/s
       File size = 512 bytes
     Create 200 files ... Duration 1802 ms, 110.98 files/s
     Verify 200 files ... Duration 326 ms, 613.49 files/s
    

    Using v1.2 of sdsd.cc

     Delete 200 files ... Duration 1228 ms, 162.86 files/s
       File size = 512 bytes
     Create 200 files ... Duration 2393 ms, 83.57 files/s
     Verify 200 files ... Duration 502 ms, 398.40 files/s
    

    Using plug-in version of sdmm.cc

     Delete 200 files ... Duration 1568 ms, 127.55 files/s
       File size = 512 bytes
     Create 200 files ... Duration 3164 ms, 63.21 files/s
     Verify 200 files ... Duration 721 ms, 277.39 files/s
    

    And its sister sdmm_bashed.cc

     Delete 200 files ... Duration 1595 ms, 125.39 files/s
       File size = 512 bytes
     Create 200 files ... Duration 3237 ms, 61.78 files/s
     Verify 200 files ... Duration 741 ms, 269.90 files/s
    

    All testing was at 200 MHz sysclock and with a Sandisk Extreme 64 GB card

     CID decode:  ManID=03   OEMID=SD  Name=SN64G
      Ver=8.0   Serial=8ab989e1   Date=2021-2
     Speed Class = C10  UHS Grade = U3  Video Class = V30  App Class = A2
     Card User Capacity = 60906 MiB
    
  • evanhevanh Posts: 16,453

    Samsung EVO 128 GB card

     CID decode:  ManID=1b   OEMID=SM  Name=ED2S5
      Ver=3.0   Serial=49c16906   Date=2023-2
     Speed Class = C10  UHS Grade = U3  Video Class = V30  App Class = A2
     Card User Capacity = 122240 MiB
    

    Using v1.4 of sdsd.cc

     Delete 200 files ... Duration 3058 ms, 65.4 files/s
       File size = 512 bytes
     Create 200 files ... Duration 4797 ms, 41.6 files/s
     Verify 200 files ... Duration 335 ms, 597.0 files/s
    

    Using v1.2 of sdsd.cc

     Delete 200 files ... Duration 3242 ms, 61.6 files/s
       File size = 512 bytes
     Create 200 files ... Duration 5641 ms, 35.4 files/s
     Verify 200 files ... Duration 557 ms, 359.0 files/s
    
  • evanhevanh Posts: 16,453
    edited 2025-05-03 14:42

    Adata Orange 64 GB card, using v1.4 of sdsd.cc

     CID decode:  ManID=1d   OEMID=AD  Name=USD
      Ver=2.0   Serial=000003a0   Date=2024-1
     Speed Class = C10  UHS Grade = U1  Video Class = V10  App Class = A1
     Card User Capacity = 59638 MiB
    
     Delete 200 files ... Duration 1374 ms, 145.5 files/s
       File size = 512 bytes
     Create 200 files ... Duration 2362 ms, 84.6 files/s
     Verify 200 files ... Duration 304 ms, 657.8 files/s
    

    Kingston Select Plus 64 GB card, using v1.4 of sdsd.cc

     CID decode:  ManID=9f   OEMID=TI  Name=SD64G
      Ver=6.1   Serial=58480246   Date=2021-12
     Speed Class = C10  UHS Grade = U1  Video Class = V10  App Class = A1
     Card User Capacity = 59638 MiB
    
     Delete 200 files ... Duration 1773 ms, 112.8 files/s
       File size = 512 bytes
     Create 200 files ... Duration 2724 ms, 73.4 files/s
     Verify 200 files ... Duration 297 ms, 673.4 files/s
    

    Apacer 16 GB card, using v1.4 of sdsd.cc

     CID decode:  ManID=9c   OEMID=SO  Name=USD00
      Ver=0.2   Serial=39a8fbfb   Date=2018-1
     Speed Class = C10  UHS Grade = U1  Video Class = V10  App Class = A0
     Card User Capacity = 15103 MiB
    
     Delete 200 files ... Duration 2839 ms, 70.4 files/s
       File size = 512 bytes
     Create 200 files ... Duration 4732 ms, 42.2 files/s
     Verify 200 files ... Duration 434 ms, 460.8 files/s
    

    Adata 2 GB (Camera) card, using v1.4 of sdsd.cc

     CID decode:  ManID=1D   OEMID=AD  Name=SD   
      Ver=1.0   Serial=A15002BA   Date=2007-5
     Speed Class = C0  UHS Grade = U0  Video Class = V0  App Class = A0
     Card User Capacity = 1962 MiB
    
     Delete 200 files ... Duration 21705 ms, 9.2 files/s
       File size = 512 bytes
     Create 200 files ... Duration 44480 ms, 4.4 files/s
     Verify 200 files ... Duration 262 ms, 763.3 files/s
    
Sign In or Register to comment.