Thông báo

Collapse
No announcement yet.

SD card và MMC card

Collapse
This is a sticky topic.
X
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • #76
    Nguyên văn bởi yankazaz Xem bài viết
    - FAT16, FAT32 là gì?
    FAT = File Allocation Table: Bảng phân bố dữ liệu. Đối với FAT16, người ta dùng 16bit = 2byte để lưu ảnh của một file bất kỳ trên vùng dữ liệu vào bảng FAT. Còn đối với FAT32, người ta dùng 32 bit. Như vậy rõ ràng rằng, với 16bit, dung lượng hỗ trợ sẽ bé hơn nhiều lần so với FAT32.

    - Cấu trúc ổ cứng gần như giống hoàn toàn với MMC và SD, đều chia thành những sector, từ sector 0 đến sector xxxxxxx. (Mỗi sector = 512byte). Trong đó:

    Sector 0 là MBR: Master Boot Record
    Nếu đọc được sector này, các bác sẽ đọc được PBR ở đâu (sector thứ mấy), .v.v..v

    Giả dụ Sector x là PBR: Partion Boot Record
    Đọc sector này, các bác sẽ biết bảng FAT ở đâu, dung lượng (tính theo sector) là bao nhiêu; Root Entry ở đâu, gồm bao nhiêu entry, vùng dữ liệu tính từ sector nào....v.v.

    Vậy giả thiết tôi muốn đọc một file tên là MT.txt trên ổ cứng thì thao tác sẽ là:

    Tôi di chuyển đến Root Entry. Vùng này chứa thông tin về file trên ổ, kể cả file đã xóa. Tôi đọc từng entry, mỗi entry 32byte, so sánh tên trong mỗi entry với "MT". Nếu có, tôi sẽ đọc tiếp vùng bắt đầu (sector bắt đầu) của file là bao nhiêu, file đã xóa hay chưa. Giả thiết ổn cả, tôi sẽ nhảy đến sector của vùng bắt đầu file và tiến hành đọc file này. Dữ liệu sẽ có dạng hex. Nhưng đối với file txt, các bạn có thể chuyển sang ASCII.

    Câu hỏi sẽ là: khi nào thì biết file kết thúc, chả nhẽ cứ đọc một lèo sao? Trong root entry có cả điểm bắt đầu file và kết thúc file.

    Cần phân biệt có 2 kiểu ghi file lên thẻ. Ghi tuyến tính tức là ghi từ sector x, đến x+1... Và ghi kiểu frag, cứ chỗ nào có cluster trống thì ghi. Đối với ghi tuyến tính, ta dễ thực hiện và chỉ cần đọc từ sector bắt đầu đến sector cuối. Còn đối với ghi frag, hết 1 cluster ta phải đọc FAT để biết xem cluster tiếp theo nằm ở đâu, cho đến khi nào trên bảng fat có cluster kết thúc.

    Đối với người bắt đầu, ghi tuyến tính không phải là quá khó và đơn giản về mặt quản lý hơn là frag....
    làm sao tìm được sector tiếp theo của file MT.txt từ bản FAT hả bạn. xin cứu

    Email:
    Tel: 0983.497.310

    Comment


    • #77
      Có ai có sơ đồ modul MMC/SD ko? Nếu có up cho mình với. Thanks

      Comment


      • #78
        Nguyên văn bởi windly Xem bài viết
        Xin chào tất cả mọi người và chào riêng bạn yankazaz để cảm ơn bạn về những thông tin rất hữu ích cho những ai muốn tìm hiểu giao tiếp MMC và UC. Mình cũng đang tìm hiểu về MMC giao tiếp AVR, theo hướng dẫn của bạn yankazaz mình đã khởi tạo MMC thành công nhưng mình gặp trục chặc khi ghi data vào 1 block. Mình không hiẻu quy trình check respond 0x05 như thế nào. Bạn có thể post một đoạn chương trình đã chạy để ghi data vào 1 block của MMC để mình học hỏi được không? Thanks bạn rất nhiều
        mình cũng đang bí như bạn ,mong bác nào làm rồi hướng dẫn lại ,cám ơn

        Comment


        • #79
          chào các pác,mình đang có trong tay 1 thẻ MMC mà theo định dạng RAW.mình ko thể giao tiếp với máy tính.mình muốn đọc các sector bên trong nó thì phải lam sau.mong các pác giúp với.thanks

          Comment


          • #80
            Nguyên văn bởi chehatsen Xem bài viết
            mình cũng đang bí như bạn ,mong bác nào làm rồi hướng dẫn lại ,cám ơn
            Giao tiếp MMC/SDC không khó, chỉ khó là phải ghi kiểu gì để khi cắm vô máy tính thì máy đọc được thôi.
            Mới đây tôi đã làm thành công đọc ghi nhiều file excel(normal name, long file name)theo các định dạng FAT12(thẻ 16Mb),Fat16(thẻ 256Mb) và Fat32(thẻ 1Gb). Làm xong rồi thấy chả có gì để quan tâm, luồn này có anh bạn keo BVH hỏi hoài không chỉ, chán wa tôi mất 2 tuần cho vấn đề này và cuối cùng cũng thành công khekhe

            Khi ghi 1 block data thì MMC sẽ đáp ứng lại 1 byte mà ta chỉ cần check 5bit cuối thôi nếu =0x05 thì viêc ghi thành công, thế thôi còn khác 0x05 thì có lỗi ta nên ghi lại data đó

            Email:
            Tel: 0983.497.310

            Comment


            • #81
              Nguyên văn bởi windly Xem bài viết
              Chào bạn bvhoang, mình thấy module FM32 của bạn rất hay và mình cũng đang cần một cái để thử giao tiếp với MMC/SD. Bạn bán bao nhiêu một bộ, mình đã gửi mail cho bạn mà không thấy reply, mình ở Hà Nội.
              Tôi đã đọc ghi Fat32 cho MMC và SDC, nếu bạn cần giao tiếp MMC/SDC qua RS23 để đỡ thời gian ngâm cứu thì có thể liên hệ tôi đặt mạch. tien_huy19@yahoo.com

              Email:
              Tel: 0983.497.310

              Comment


              • #82
                Nguyên văn bởi tienhuypro Xem bài viết
                Giao tiếp MMC/SDC không khó, chỉ khó là phải ghi kiểu gì để khi cắm vô máy tính thì máy đọc được thôi.
                Mới đây tôi đã làm thành công đọc ghi nhiều file excel(normal name, long file name)theo các định dạng FAT12(thẻ 16Mb),Fat16(thẻ 256Mb) và Fat32(thẻ 1Gb). Làm xong rồi thấy chả có gì để quan tâm, luồn này có anh bạn keo BVH hỏi hoài không chỉ, chán wa tôi mất 2 tuần cho vấn đề này và cuối cùng cũng thành công khekhe

                Khi ghi 1 block data thì MMC sẽ đáp ứng lại 1 byte mà ta chỉ cần check 5bit cuối thôi nếu =0x05 thì viêc ghi thành công, thế thôi còn khác 0x05 thì có lỗi ta nên ghi lại data đó
                bạn nói thế thì ngắn gọn khó hiểu quá ,bạn có thể chỉ chi tiết được không?
                theo tôi nghĩ để ghi vào mmc
                - mcu gởi command ghi tới mmc gồm có 5 byte
                - mmc gởi tiếp 2 byte ff để nhận reponse từ thẻ nhớ nếu nhận được 0x00 là ok còn không thì lỗi
                -mmc gởi startbyte là 0xfe sau đó gởi tiếp 512 dữ liệu cần ghi vào mmc
                -mcu gởi tiếp 1 hay 2 byte 0xff gì đó để nhận data reponse từ mmc nếu là 0x05 là ok
                tôi đang tìm hiểu nên chắc là có nói sai ,bạn nào làm rồi chỉ lại cho anh em tí nhưng chi tiết dùm

                Comment


                • #83
                  cho mình hỏi với, khi giao tiếp với thẻ nhớ thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?
                  ý mình hỏi dạng là âm thanh, hình ảnh hay văn bản... hay các loại khác.
                  để thành dạng văn bản thì phải lập trình như thế nào?

                  Comment


                  • #84
                    mình muốn nói ở quá trình ghi dữ liệu lên thẻ nhớ. ví dụ như ở một hệ thống kiểm tra nhiệt độ tại một nơi nào đó, mà ta cần ghi lại nhiệt độ tại các thời điểm khác nhau thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?

                    Comment


                    • #85
                      sao không có sư phụ nào hướng dẫn cho anh em hết vậy ?

                      Comment


                      • #86
                        Nguyên văn bởi rongluakq Xem bài viết
                        mình muốn nói ở quá trình ghi dữ liệu lên thẻ nhớ. ví dụ như ở một hệ thống kiểm tra nhiệt độ tại một nơi nào đó, mà ta cần ghi lại nhiệt độ tại các thời điểm khác nhau thì dữ liệu được ghi lên thẻ nhớ có dạng là gì?
                        Tốt nhất là bạn nên ghi theo file excel thì rõ ràng nhất.
                        Bạn tính trung bình mỗi lần ghi thì tốn bao nhiêu byte và nhân lên theo số lần ghi. VD bạn tạo 1 file có dung lượng là 1M nhưng trong file đó không chứa gì cả, và lúc này bạn chỉ việc ghi nội dung vào file 1M đó là xong, tính thử ghi bao nhiêu lần thì hết 1M rồi tạo File khác cũng 1M. Với thẻ nhớ 4GB thì ghi tới luc cháy mạch vẫn chưa hết đâu nhỉ . Tôi đã làm theo phương án này rồi và thấy cũng khả thi. Chúc bạn thành công

                        Comment


                        • #87
                          Làm sao dùng Card MMC/SD trên cùng một Adaptor

                          Thẻ MMC có 7 chân, thẻ SD có 9 chân ( file đính kèm ). Bác nào làm rồi xin cho biết 2 chân còn lại (8,9) của SD nối vào đâu nhỉ. Bác có sơ đồ thì Post lên cho tui xem với.

                          Thank
                          Attached Files

                          Comment


                          • #88
                            Nguyên văn bởi hocAVR Xem bài viết
                            Thẻ MMC có 7 chân, thẻ SD có 9 chân ( file đính kèm ). Bác nào làm rồi xin cho biết 2 chân còn lại (8,9) của SD nối vào đâu nhỉ. Bác có sơ đồ thì Post lên cho tui xem với.

                            Thank
                            2 chân này không nối vào đâu hết bạn à. Bạn có thể tham khảo 1 sơ đồ bên dưới mà mình vẽ.
                            Thân.
                            Attached Files
                            Biển học mênh mông - Biết đâu là bờ...

                            Comment


                            • #89
                              thực ra em thấy giao tiếp với thẻ nhớ SD và MMC thì chỉ cần dùng chuẩn SPI là giao tiếp được
                              giao tiếp thẻ nhớ với VDK thì cứ tuân theo chuẩn giao tiếp SPI thôi. nhưng còn mấy vấn đề thế này mong mọi người giúp em một chút
                              các lệnh cơ bản để giao tiếp với thẻ nhớ .
                              giao tiếp nếu chỉ giao tiếp theo kiểu thông thường thì nó chẳng khác gì con EEPROM ngoài . nhưng mà như thế thì mình rất khó quản lý dữ liệu trong nó . người ta sẽ giao tiếp thẻ nhớ theo định dạng bảng FAT32
                              vậy làm thế nào để sử dụng được bảng FAT32 .
                              mong mọi người giúp
                              cảm ơn nhiều

                              Comment


                              • #90
                                hic.hình như luồng này đã bị lãng quên rồi hay sao ấy.mãi mà chẳng thấy ai qua đây

                                Comment

                                Về tác giả

                                Collapse

                                atmega8 Tìm hiểu thêm về atmega8

                                Bài viết mới nhất

                                Collapse

                                Đang tải...
                                X