tiện thể nói về thẻ nhớ SD và MMC mấy bác cho em hỏi em co cái ổ cứng của máy điện thoại n90,các bác có cách nào mà khi em tháo ổ cứng ra em đọc dữ liệu như thẻ nhớ SD và MMC được không.Chân thành cảm ơn.
Thông báo
Collapse
No announcement yet.
SD card và MMC card
Collapse
This is a sticky topic.
X
X
-
Mình có viết một thư viện chuẩn dùng cho giao tiếp thẻ nhớ MMC/SD (định dạng FAT32). Thư viện này có đầy đủ các hàm đọc/ghi/xóa/tạo mới/liệt kê... các file và thư mục. Mình post bản demo lên để giới thiệu. Các bạn cho ý kiến nháAttached Files
Comment
-
Nguyên văn bởi goldenstar Xem bài viếtmình định dùng MMC để lưu trữ dữ liệu cho bảng led ma trận, không biết có ổn không nhỉ, có giới hạn về số lần truy xuất thẻ không các bác ?
Comment
-
Nguyên văn bởi goldenstar Xem bài viếtmình định dùng MMC để lưu trữ dữ liệu cho bảng led ma trận, không biết có ổn không nhỉ, có giới hạn về số lần truy xuất thẻ không các bác ?
email:mahaco@fpt.vn
Comment
-
Demo MMC SD FAT32 Library by bvhoang (full read, write included)
Cách đây một năm, khi thấy mọi người thắc mắc về việc dùng thẻ nhớ SD MMC và vệc đọc ghi tệp với định dạng FAT32, mình có tranh thủ viết một thư viện để làm việc này. Mình đã test chạy ngon lành trên phần cứng cũng như mô phỏng trên proteus với một số họ uC như MCS51, AVR, ARM7. Mình post lên bản demo mình soạn cho ATMEGA32 (dịch với CodeVisionAVR). Các bạn xem xem có dùng được không nhá. Chương trình thiết lập một giao diện console, giống DOS và UNIX, để quản lý tệp và thư mục. Các bạn gõ các dòng lệnh vào cửa sổ terminal và test thử nhá.
ví dụ:
l,0,/<enter>
liệt kê thư mục gốc (list root)
o,rw,/info.txt<enter>
mở tệp info.txt trong thư mục gốc
r,0,20<enter>
đọc 20 byte trong tệp vừa mở (có định danh số 0)
p,0,10,S<enter>
đặt vị trí con trỏ trong tệp (có đinh danh số 0) đến vị trí thứ 10 kể từ đầu tệp (S= Start, C= Current nha)
w,0,13<enter>
ghi 13 byte vào tệp 0
c,0<enter>
đóng tệp 0
o,rwc,/Hoang/abcd.efg<enter>
mở tệp abcd.efg trong thư mục Hoang và tạo mới nếu tệp không tồn tại
f<enter>
xem firmware version
h<enter>
xem trợ giúp về tập lệnh
................Attached Files
Comment
-
Thư viện của mình xử lý việc đọc ghi tệp trên thẻ nhớ khá nhanh. Mình có thử với con ARM7 (AT91SAM7S256), clock khoảng 50MHz (dùng PLLRC), file kích thước khoảng 4MB, thì tốc độ đọc file là khoảng 400kbit/s, còn tốc độ ghi file là khoảng 100kbit/s. Với tốc độ này thì chơi nhạc, ghi âm thoải mái!
Chương trình mình post lên kia là demo về việc chuyển đổi giao tiếp thẻ nhớ (FAT32) sang rs232 thôi. Tất nhiên cái demo này không phù hợp với ghi âm hoặc phát tiếng vì tốc độ chậm, chỉ phù hợp với việc thu thập nhiệt độ, độ ẩm, tọa độ GPS,... thôi.
Comment
-
Nguyên văn bởi sotuoi Xem bài viếtBạn có thể chỉ mình cách tạo file ảnh của thẻ nhớ để mo phỏng không? Mô phỏng trên proteus. Mình muốn tạo thẻ nhớ 512Mbyte thì sửa thế nào?
Tất nhiên bạn có thể tạo ảnh lên đến 512M với các phần mềm trên. Tuy nhiên việc tạo ra dung lượng lớn như thế là không cần thiết, tốn bộ nhớ và mất thời gian đợi. Bạn cần phải biết một điều là những thông tin quan trọng về cấu trúc hệ thống FAT(32) đều nằm ở những sector đầu tiên trên thẻ. Với thẻ nhớ khoảng 512M, bạn chỉ cần tạo file ảnh bằng cách lấy khoảng 2M đầu tiên là đủ. Bạn xem cái ví dụ của mình đấy, thẻ đó là 512M, nhưng file ảnh chỉ khoảng hơn 1M.
Các bước để tạo một file ảnh bé mà đầy đủ thông tin của một thẻ nhớ lớn như sau:
1. Format thẻ với định dạng đang nghiên cứu
2. Trên thẻ mới Format, hãy tạo ra một số thư mục và một số tệp nhằm mục đích tạo ảnh cho nó tự nhiên.
3. Dùng Winhex tạo ảnh với kích thước khoảng 2M
Chúc may mắn nhá
Comment
-
Các anh và các bạn cho em hỏi : Em cũng đang làm đồ án về SD card, là " Trình chiếu hình ảnh từ SD card lên monitor, sử dụng IP Nios II ( trên kit DE2)", nhưng hiện tại em không biết làm thế nào cả, tự nhiên đang tìm hiểu về tập lệnh của NiosII thì đùng một cái tuần trước ông thấy kêu làm tiếp phần trên, mà em thì không hiểu gì về SD Card cả, hạn nộp đồ án thì sắp đến rồi, mong các anh và các bạn giúp đỡ. Em biết đây là topic về AVR , tự nhiên hỏi về NiosII thì cũng kì, nhưng mà bí quá không biết làm sao, mong mọi người bỏ qua cho.
Comment
-
Giới thiệu mọi người một module giao tiếp thẻ nhớ MMC/SD hỗ trợ FAT32 đã hoàn chỉnh của tôi. Module này hỗ trợ hầu hết các chức năng về đọc, ghi, xóa, tạo mới,... với tệp và thư mục lưu trong thẻ nhớ định dạng FAT32.
Đặc biệt module này làm việc với dải điện áp rộng, nuôi bằng 3.3V hoặc 5V đều được nên có thể đầu nối trực tiếp với VĐK chạy 3.3V hoặc 5V mà không cần thông qua bất kì một mạch chuyển đổi điện áp nào cả.
Bạn có thể tham khảo và so sánh với các sản phẩm cùng loại của các hãng khác như
- uMMC của Rogue Robotics (Canada)
- uALFAT của GhiElectronics (USA)
- Serial MMC/SD của Cubloc (Korea)
-----------------------------------------------------------------------------------------------
Mọi chi tiết về sản phẩm xin liên hệ theo email: bvhoang42@yahoo.comLast edited by bvhoang; 11-06-2009, 23:28.
Comment
-
Nguyên văn bởi bvhoang Xem bài viếtGiới thiệu mọi người một module giao tiếp thẻ nhớ MMC/SD hỗ trợ FAT32 đã hoàn chỉnh của tôi. Module này hỗ trợ hầu hết các chức năng về đọc, ghi, xóa, tạo mới,... với tệp và thư mục lưu trong thẻ nhớ định dạng FAT32.
Đặc biệt module này làm việc với dải điện áp rộng, nuôi bằng 3.3V hoặc 5V đều được nên có thể đầu nối trực tiếp với VĐK chạy 3.3V hoặc 5V mà không cần thông qua bất kì một mạch chuyển đổi điện áp nào cả.
Bạn có thể tham khảo và so sánh với các sản phẩm cùng loại của các hãng khác như
- uMMC của Rogue Robotics (Canada)
- uALFAT của GhiElectronics (USA)
- Serial MMC/SD của Cubloc (Korea)
-----------------------------------------------------------------------------------------------
Mọi chi tiết về sản phẩm xin liên hệ theo email: bvhoang42@yahoo.com
Comment
-
Nguyên văn bởi yankazaz Xem bài viết- Tôi xin tiếp với hàm ghi sector MMC
- Thao tác ghi sector cho MMC/SD cũng tương tự như đọc sector, đó là:
+ Nhập sector cần ghi vào 4 thanh ghi
+ Gọi hàm shift sector để chuyển number sector - number byte
+ Gửi lệnh CMD 0x58, 4byte frame, 1byte CRC = 0xFE
Ở đoạn này, thông thường như hàm read thì chúng ta sẽ gửi tiếp 0xFF qua SPI để đọc byte response, check giá trị và kết thúc hàm. Nhưng đối với hàm ghi, chúng ta sẽ gửi 0xFF để check response. Giả sử response này là A, chúng ta sẽ and A với 0x1F (chỉ check 5bit thấp của response) và so sánh với 0x05. Nếu khác, có nghĩa là lệnh ghi bị lỗi (error)
+ Sau khi check response này, chúng ta tiếp tục gửi 0xFF và check như đối với hàm read (if (response !=0x00) { call error subroutine})
Về cơ bản, hàm giao tiếp với MMC/SD không khó khăn (thực sự không khó nếu bạn thực hiện việc chuyển sector - byte và check response đúng). Các bạn (nếu không có UART để debug), có thể dễ dàng sử dụng LCD16x2 sau từng command để xem command nào lỗi. Ví dụ: sau khi send command 0x00, ta sẽ send 0-OK lên LCD. Nếu không thấy có cái gì trên LCD, (do không có JTAG và debug tool, mọi thứ chạy trong uC là tối tăm như đêm chị Dậu) - bạn nên check lại hàm send command, read sector và write sector.
Mọi thứ sẽ bắt đầu khi chúng ta đọc - ghi FAT.
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
Comment
Bài viết mới nhất
Collapse
-
bởi HendersonThe 2024 Orioles year incorporates 21 game titles still left in the direction of be performed. Merely 6 of all those video games will be in opposition to groups who presently include in this article-. 500 documents. 3 of them are protected up this weekend as the Orioles include the Rays arrive within...
-
Channel: Góp ý cho diễn đàn
hôm nay, 14:48 -
-
bởi bqvietĐấy gọi là cái "điểm gãy" trong đồ thị điện áp - dung lượng còn lại. Dùng điện áp hở cực để xác định sắp hết hoặc gần đầy thì vẫn tạm ổn. Dùng để đo SOC/DOD thì đừng. Ngay cả số km đã đi cũng chả xác định được...
-
Channel: Điện tử dành cho người mới bắt đầu
Hôm qua, 21:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Vâng, em cũng nghĩ thế khi search được hãng ấy là SRNE, nên em test luôn những cái còn lại, và kết quả đều như nhau.
Nhận thấy kết quả khó chấp nhận, em cũng phân vân có nên mail cho họ để họ thử kiểm tra mã đó không; giữa...-
Channel: Điện tử công suất
Hôm qua, 11:33 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi dinhthuong80Xin cảm ơn bác bqviet luônnhiệt tình cho biết nhiều thông tin quí báu, cảm ơn bạn mèomướp có ví dụ đơn giản và dễ hiểu, cảm ơn tất cả đã bớt chút thời gian quí báu vào đây đọc bài.
Cảm ơn bác nhathung1101 cho thông tin và chúc mừng bác mua được những tấm pin NLMT cực tốt theo...-
Channel: Điện tử công suất
Hôm qua, 11:22 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi mèomướpDạ chú nhat... cứ coi pin mặt trời như 1 cái ắc qui nhìu ngăn mắc nối tiếp ấy ạ. Khi 1 ngăn yếu thì cả cái ắc qui yếu luôn ạ. Nó có nhìu bộ nối tiếp mắc song song nên bị che 1 khoảng nhỏ ảnh hưởng nhìu nhưng chắc ko đến nỗi mất 50% đâu ạ...
-
Channel: Điện tử công suất
Hôm qua, 06:36 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Nếu nói bị cái lá che sáng mà giảm 50% thì tôi càng không tin, bởi trên vườn tôi mặc kệ ông trời làm vệ sinh.
Tức là lá tự rụng, gió tự dọn. Ai hơi đâu mà leo lên dọn. Nếu phải như thế thì tôi dek thèm lắp làm gì.-
Channel: Điện tử công suất
16-01-2025, 21:44 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi nhathung1101Chả hiểu ý cậu nói gì. Cái diode bypass quan trọng thế ư???
Cái giàn của tôi chả thấy cái diode nào mà vẫn hoạt động hơn 3 năm rồi.
Nhưng nó không có kiểu nối dây với bấm cốt như của cậu.
Tóm lại là tiền nào của nấy, đừng hoang tưởng kỹ thuật hóa. Kẻo ô tô điện đua nhau lắp diode.-
Channel: Điện tử công suất
16-01-2025, 21:31 -
-
Trả lời cho Dùng biến áp tự ngẫu 110V có tốn điện không?bởi nhathung1101Tôi dùng 4 cái điều hòa Fujitsu hàng bãi Nhật, nên phải dùng 4 cục đổi nguồn 220 xuống 100V. Để bật quanh năm, chả thấy bằng bữa bia. Chứ tắt đi là mất mấy bữa luôn.
-
Channel: Điện tử gia dụng
16-01-2025, 21:24 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietViệc che khuất một phần dẫn tới giảm hiệu suất, thế giới bàn rất nhiều. Đôi khi chỉ cần một chiếc lá nhỏ thôi cũng dẫn tới giảm hiệu suất tệ hại
https://www.motorhomefun.co.uk/forum...-shade.295187/
https://www.solarchoice.net.au/learn/design-g...-
Channel: Điện tử công suất
16-01-2025, 19:52 -
-
Trả lời cho Giúp em về mạch MPPT và Solar Panel với!?bởi bqvietNhà thơ & nhạc sỹ lâu không bàn chuyện kỹ thuật mà hổm rày chia xẻ dài phết. J/K
Về vụ đo nhiệt độ sai, chắc lô hàng bị sao đó chứ khó có khả năng nhà sản xuất chế tạo chất lượng thấp đến vậy. Bất kể là hàng...-
Channel: Điện tử công suất
16-01-2025, 19:48 -
Comment