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
Thông báo
Collapse
No announcement yet.
SD card và MMC card
Collapse
This is a sticky topic.
X
X
-
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ẽ.Nguyên văn bởi hocAVR Xem bài viếtThẻ 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
Thân.Attached Files
Leave a comment:
-
-
Tốt nhất là bạn nên ghi theo file excel thì rõ ràng nhất.Nguyên văn bởi rongluakq Xem bài viếtmì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ì?
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
Leave a comment:
-
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ì?
Leave a comment:
-
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?
Leave a comment:
-
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?Nguyên văn bởi tienhuypro Xem bài viếtGiao 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 đó

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
Leave a comment:
-
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.comNguyên văn bởi windly Xem bài viếtChà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.
Leave a comment:
-
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.Nguyên văn bởi chehatsen Xem bài viếtmì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
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 đó
Leave a comment:
-
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
Leave a comment:
-
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 ơnNguyên văn bởi windly Xem bài viếtXin 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

Leave a comment:
-
làm sao tìm được sector tiếp theo của file MT.txt từ bản FAT hả bạn. xin cứuNguyê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....
Leave a comment:
-
mình mới viết tới chỗ khởi tạo MMC vừa tới phần gởi CMD0 là nó reponse 00 nghĩa là bị lỗi ,mình làm như bác yankazaz chỉ
.CSEG
.INCLUDE"M16DEF.INC"
.ORG 0X000
RJMP BATDAU
.ORG 0X020
BATDAU:
.equ TCAR=0X60
.DEF TEMP=R17
;CLEAR RAM DATAS
LDI ZH,HIGH(TCAR)
LDI ZL,LOW(TCAR)
LDI TEMP,0
CLEAR_RAM_LOOP:
ST Z+,TEMP
CPI ZH,HIGH(RAMEND)
BRNE CLEAR_RAM_LOOP
CPI ZL,LOW(RAMEND)
BRNE CLEAR_RAM_LOOP
LDI TEMP,LOW(RAMEND)
OUT SPL,TEMP
LDI TEMP,HIGH(RAMEND)
OUT SPH,TEMP
KHOITAOSPI:
CALL KHOITAOSPI1
CALL SPI_255_transfer
KHOITAOMMC:
CBI PORTB,2
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
SBI PORTB,2 ;SET SS
CALL SPI_zero_transfer
CALL SPI_zero_transfer
GUI_CMD0:
LDI R16,0X40
CALL SPI_TRANSFER
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
CALL SPI_zero_transfer
LDI R16,0X95
CALL SPI_TRANSFER
CPI R16,0X01
BRNE GUI_CMD0
CALL HIEN_THI_1
LAPLAI:
RJMP LAPLAI
KHOITAOSPI1:
LDI R16,0XBF
OUT DDRB,R16;THANH GHI B XUAT DU LIEU
LDI R17,0X52
OUT SPCR,R17
RET
SPI_255_transfer:
SER R16;THANH GHI R16 CHUA FF
RJMP SPI_transfer
SPI_zero_transfer:
CLR R16
RJMP SPI_transfer
SPI_transfer:
OUT SPDR,R16;CHEP DATA R16 VAO THANH GHI SPDR
wait_SPI_transfer:
SBIS SPSR,SPIF;BIT SPIF=1 THI BO QUA LENH KE;bit SPIF la bit 7 cua thanh ghi SPSR
RJMP wait_SPI_transfer
IN R16, SPDR;THANH GHI R16 SE CHUA DATA TU THE NHO
RET
HIEN_THI_1:
LDI R18,0XFF
OUT DDRA,R18
LDI R19,0X0F
OUT PORTA,R19
RET
BÁC NÀO CHỈ MÌNH CHỖ SAI MÌNH CẢM ƠN NHIỀU NHIỀULast edited by chehatsen; 18-11-2009, 15:24. Lý do: bác nào chỉ giùm mình chỗ viết sai ,cảm ơn nhiều nhiều
Leave a comment:
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Dạ, cảm ơn bác đã nghe qua và có lời khích lệ cháu ạ.
Thật lòng cháu không dám nhận hai danh hiệu Kỹ sư và Nhạc sĩ đâu ạ, vì phải thật hiểu sâu nắm vững cơ, chứ thực lực cháu đây chỉ là biết chút ít thôi à. Về phần...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 11:58 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietĐơn giản thì có trải nghiệm này
http://www.dientuvietnam.net/forums/...ch%C3%AA%CC%81
Chỉ phần cứng,...-
Channel: Điện tử công suất
27-01-2026, 21:32 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pphức tạp quá, nếu mà có mạch làm sẵn thì ngon, e dùng 2 tấm pv loại 18v 55w thôi bác
-
Channel: Điện tử công suất
26-01-2026, 08:52 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi Nexus 6Pcảm ơn bác nhiều nha, để e nghiên cứu
-
Channel: Điện tử công suất
26-01-2026, 07:38 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi vi van phamkỹ sư nhạc sĩ dinhthuong dạo này lên tay nghề khá quá.
-
Channel: Tâm tình dân kỹ thuật
25-01-2026, 21:29 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Hát Mừng Sinh Nhật, sáng tác: HĐT, hòa âm-thể hiện: AI
-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 22:13 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Chào bác, gần Tết công việc bác bận lắm phải không?
Vâng mọi người đều thế cả.
Em mới trả phí cho nó 1 tháng, nhờ nó hát thử ấy ạ. Tiếc vì em đã dốt nhạc lí lại lười học nên sáng tác thì vụng về mà hát demo...-
Channel: Tâm tình dân kỹ thuật
24-01-2026, 21:53 -
-
Trả lời cho Có mạch sạc nlmt nào có mppt không các bácbởi bqvietCảm thấy cứng tay thì làm theo hướng dẫn khá chi tiết ở trang sau
https://www.instructables.com/DIY-1k...ge-Controller/-
Channel: Điện tử công suất
23-01-2026, 16:50 -
-
bởi Nexus 6PNhư tiêu đề, các bác giới thiệu e mạch sạc nlmt mppt có chức năng chỉnh dòng với, tấm PV của em 18V 55W, dùng để sạc cho khối pin sắt 3.2V 45A (sắp tới sẽ thay bằng ắc quy 12V)
e cảm ơn-
Channel: Điện tử công suất
23-01-2026, 11:23 -
-
bởi mylinhattNếu bạn đang tìm một dòng máy phay đứng CNC vận hành ổn định, gia công tinh chuẩn và tối ưu năng suất, thì Kitamura là lựa chọn rất đáng cân nhắc. Dòng máy này có kết cấu trục chính theo phương thẳng đứng, bàn máy nằm ngang và vận hành tự động thông qua điều khiển bằng máy tính...
-
Channel: Điều khiển - Tự động hóa
23-01-2026, 11:02 -

Leave a comment: