Announcement

Collapse
No announcement yet.

uVGA-III MMC card problem

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • uVGA-III MMC card problem

    We are using uVGA-III modules for a sophisticated equipment display. (40 some pages, live trend graphs, resistive touch, etc.) The module used as downgraded to uVGA-II with the PmmC file replaced. (It is for we had the software ready for uVGA-II, with 2 byte coordinated commands, etc.) The card is used with serial line commands only. We use the MMC card for a few display elements (icons mainly). The icon and picture files are under the FAT16 file system.

    This system is in production for some time, the firm produces near a hundred systems a year. I didn't deal with it too much until now, as there are not much problem with it. All worked fine! But ...
    The MMC card begins to cause errors. The error boiled down to the MMC card. There are some MMC cards which work, some never work. The smallest type MMC card accessible is 4GB. We use Kingston and Sony types. I didn't dig down to the exact error, but it appears that the MMC commands are not ended. (Probably no ACK comes back.) The icon is not appearing on the display page.
    All other works with the uVGA card, only the MMC part is at error. When we replace the card with an other "working" one, the uVGA card works totally fine, day and night, 7/24.

    We'd like to ask:
    Exacly what steps, modes, numbers to care about, when we prepare the MMC card for uVGA use? Is there a preferred brand? Which program is adequate to fully
    Presently I do not know the difference between the working and erroneous MMC cards. Unfortunately now we are having some 20 bad MMC-s, with only one spare working.
    Did you meet the problem before? (Probably I missed a previous post solving the problem when scanned previous posts.)

    The best would be to have a "How to prepare an MMC card for uVGA modules" description to handle to the engineers at production.

    Thanks for your time to deal with this problem.

    Best regards,

    Csaba / Atys

  • #2
    Looks like you are suffering from 'Read Disturb' (Google it)

    All uSD cards (and flash drives, etc.) suffer from this to varying degrees.

    The easiest solution is to use an industrial grade card with specified 'read disturb' protection (as industrial grade does not guarantee protection in itself), they come at a premium price. We have one on your site http://www.4dsystems.com.au/product/uSD_4GB_Industrial/

    You can experiment with different brands of cards, but eventually they will all display the same symptoms.

    Theoretically you can avoid this by 'rewriting' any 'blocks' that are read before they become disturbed. Since the size of a 'block' is generally not published and can vary even amongst cards of the same size for the same manufacturer, I think the the only way to achieve this is by having a master copy of all files on the uSD, periodically copying back over the slave versions of the files and using the slave versions for your app. Of course this will take time, and your app might not be able to fit this time in with 'normal operations'. Reputable manufacturers generally specify >200,000 reads before potential read disturb issues. We have never been able to 'create' the situation ourselves and, on one occasion, we read the same area of a uSD over 500,000,000 times.

    A uSD with a badly read disturbed file can be 'seen' on Windows. Copy the file to your HDD, remove and reinsert the uSD (to clear any Windows buffers) and copy the file again. Now compare them, if the file was 'very' read disturbed it will compare differently. Not that just because the file is the same does not mean there is no read disturb, it could mean you were just 'lucky' and got the same file (or the same wrong file) twice in succession.

    Mark

    Comment


    • #3
      First of all, many thanks for the fast answer.
      Unfortunately "read disturb" is not eliminated by using industry grade uSD modules. We've bought all the 14 ones available at your local distributor. Unfortunately none worked.
      The problem seems to be elsewhere. If a card is not working in a uVGA module, it doesn't work from the beginning. It is still fine with windows. If a card works with uVGA, it is OK from the beginning, and never misses any read.
      We are using the card only for storing a few icons and a bigger picture, These items are written once when the card is formatted. The uVGA card is only initialized after reset, and read. (Not too much, once on every display page.) The uSD is never written.
      There is a slight possibility that something is missed during the uSD preparation (formatting, partitioning, file-write) Most suspicious that there is some difference between the cards.
      Regards, Csaba / Atys

      Comment


      • #4
        Err, what do you mean by 'none worked'?

        In what way didn't they work?

        Can you show the output of a chkdsk against these cards?

        What brand/make/model are they?

        Can you also run the uSD tester tool from Workshop and show the output?
        Mark

        Comment


        • #5
          Tomorrow I"ll go to Budapest, to check the situation with the uSD cards. (I'm on holydays, now.) The collegues have checked the cards with the uSD tester. The results are in the copied xlsx attachment. The cards with a smiley symbol worked, others not. Sony cards didn't start at all. The errors were different. As I was the one writing the original programs, I have to check the errors deeper. I'll check whether the ACK is missing after the init (The program must run to timeout then) or the ACK missing after the icon display is called. Probably there is an ACK, but no action. As a result, generally the whole program stops functioning. Generally the program can be translated in test mode, when the commands and answers are written to the other serial port, together with some timing information. Although it was long time ago when I tested this functionality, but there is some tool to begin with. I hope. Of course the same program works properly with a uSD card which is working one. Best regards, Csaba PS.: I've tried to post the xlsx file as an attachment. Probably you've got many, probably none. Unfortunately I cannot check the attachment as don't have excel on this "e-mail only" machine.

          Comment


          • #6
            I can't see any attachment. Try embedding it in a zip file.

            What PmmC version are you using?
            Mark

            Comment


            • #7
              I am trying to send you the XLSX file first.
              The PmmC version: uVGA-II-SGC - R22 PmmC
              It seems, that we are having only TWO properly working uSD cards, approximately 30 not working.
              The theory here is, that newer cards are worse. So one of the good ones is an old card from an old mobile phone. Which worked fine for the first try.
              Best regards, Csaba
              Attached Files

              Comment


              • #8
                Click image for larger version

Name:	display_err.jpg
Views:	0
Size:	122.2 KB
ID:	46982 Some additional info:
                There are only 4 files to be displayed with the help of the uSD card in this program. The names of the files can be seen in the directory with the uSD tester TOOL, even on the "bad" cards. These are Gci files.
                I'm using a function with the command 0x6D. The card is prepared at init, with 0x40 (extended) and 0x69 (init memory card)
                CHKDSK doesn't show any error for the non-working cards.

                We've just called two grandmas, got their old uSD card. They are 2012 dated. Both worked for the first try. There is a newly acquired 2010 dated from a friend, which works, too.
                Now we try to get some more OLD cards, probably this can be the immediate solution. Probably this is only a mystery, and the real cause is deeper.

                I try to define "NOT WORKING". The program after init didn't put any Gci image to the display. Just algorithmically generated lines, rectangles, character strings painted, special characters, etc. These pages are working. Endlessly, properly, as needed. At first time an icon is displayed there is an errors:
                An absolutely non-working display with slowly appearing small colorful pixels, a snapshot is on the attached image. When a "GOOD OLD" uSD card is functioning, the page appears with the image properly placed at its correct position. With a good card there is no error, NEVER. If a card is "BAD", it is bad for the first try. The first image read causes the problem.

                Currently we are collecting OLD cards. We need 10 pcs for the current delivery, and we are at 8 now. All are dated 2012 or before.

                Best regards, Csaba

                Comment


                • #9
                  Code:
                  The PmmC version: uVGA-II-SGC - R22 PmmC
                  SGC was discontinued about 4 years ago, what effort have you put in to moving towards SPE?

                  This is the whole reason for your problem, newer uSD cards are using different command sequences.

                  I have attached an R27 uVGA-II SGC PmmC. I think it will work with all your uSD cards.



                  Attached Files
                  Mark

                  Comment


                  • #10
                    Good news! Thank you very much for helping!
                    This new PmmC seems to solve the problem.
                    Using this PmmC is far better than hunting for uSD cards made before 2012.
                    Of course we have to test the solution for a longer time. But the program started, icons displayed, ... all seems to be fine.

                    Thanks again!
                    Best regards,
                    Csaba / Atys

                    Comment


                    • #11
                      One small problem remained.
                      The PmmC is downloaded to the uVGA-III. This PmmC change modifies the character generator and the splash screen.
                      To get back our original characters, we need to use the DISP program. We have ver. 0.1.1.3 (We are having an English, Russian and a Hungarian version. And special big numbers, etc.)
                      The character download try writes out:

                      "PmmC ver. 27 not supported by this version of DISP Please download a new version of DISP."

                      The guys tried to find a new version. It is not easy. Can you help us to find the correct DISP program version?

                      Best regards,
                      Csaba

                      Comment


                      • #12
                        Can you try the attached DISP?
                        Attached Files
                        Mark

                        Comment


                        • #13
                          OK. Thanks. Tomorrow morning we'll try. It's 2:30 in the evening, here. But its very kind from you to send! Regards, Csaba

                          Comment


                          • #14
                            I came in to the factory.Tried the program you've sent. It seems to work. Although it writes version 0.1.1.3
                            The guys will try it on Monday. But it writes back the character generator properly now to the uVGA card with the newly modified. ver27 PmmC.
                            Many thanks for helping! Best regards, Csaba / Atys

                            Comment

                            Working...
                            X