Chuyển đến nội dung chính

Kết nối thẻ SD với vi điều khiển AT89S52


Kết nối thẻ SD với  vi điều khiển AT89S52

Thẻ SD được ưa thích hơn do kích thước nhỏ, dung lượng bộ nhớ cao, bộ nhớ lưu trữ dài hạn, tiêu thụ năng lượng thấp và chi phí thấp. Vì vậy, sản phẩm bộ nhớ này được sử dụng trong hầu hết các sản phẩm điện tử tiêu dùng.
Nếu bạn muốn thực hiện một hệ thống thu thập dữ liệu mà nên lưu trữ một lượng lớn dữ liệu thì SD card là một sự lựa chọn rất tốt.

Thẻ SD hoạt động ở mức logic 3.3v TTL trong khi vi điều khiển hoạt động ở mức logic 5v CMOS. Do đó họ không thể kết nối trực tiếp. Nếu kết nối chắc chắn thẻ SD sẽ bị hỏng do chập cháy.
Để giải quyết vấn đề này chúng ta cần một mạch điện áp chuyển đổi cấp giữa thẻ SD và vi điều khiển 89s52. Chúng tôi có thể sử dụng chip chuyển đổi SN74LS4245 chuyên dụng để thực hiện chuyển đổi phân áp.
Như vậy phải xây dựng một bộ chuyển đổi mức điện áp và sau đó có thể làm cho nó với một bóng bán dẫn NPN đơn giản.

Kết nối 5V với microcontroller và 3.3v bên cạnh thẻ SD. Mạch này chỉ có thể được sử dụng để chuyển dữ liệu từ vi điều khiển sang thẻ SD. Và để chuyển dữ liệu từ thẻ SD sang vi điều khiển, bạn có thể kết nối trực tiếp các chân từ vi điều khiển 89S52 có thể đọc dữ liệu ở logic 3.3v.

Chế độ truyền thông
Có 2 giao thức truyền thông cho thẻ SD. Họ là chế độ SD và chế độ SPI. Chế độ SD là một chế độ đọc thẻ SD chuẩn. Nhưng nó cần một giao diện bộ điều khiển thẻ SD. Nhưng AT89S52 không có bộ điều khiển giao diện thẻ SD tích hợp. Vì vậy chúng tôi đi cho chế độ tiếp theo đó là chế độ SPI. Nó chỉ cần một dây 4 cho truyền thông dữ liệu. Cũng có rất nhiều microcontrollers bây giờ trên thị trường có  giao diện cổng SPI.
Mặc dù AT89S52 không có bộ điều khiển phần cứng SPI sẵn có, chúng tôi có thể sử dụng một bộ điều khiển SPI phần mềm để mô phỏng các tuyến bus SPI.
Ngoài ra AT89s52 chỉ có 256 bytes RAM trong , khi thẻ sd đọc và viết khối cần 512byts tại một thời điểm. Vì vậy, chúng ta cần một RAM bên ngoài nên được interfaced với vi điều khiển. Trong mạch này chúng tôi đang sử dụng 62256 IC có công suất 32KB.
Thiết kế phần mềm
Trong khi quyền lực trên thẻ sd sẽ ở chế độ SD bus. Gửi một lệnh đặt lại CMDO để vào chế độ SPI. Gửi dữ liệu vào thẻ SD được thực hiện bằng cách tạo ra một phần mềm SPI bus. Sử dụng mã sau để truyền dữ liệu sang thẻ SD.

sbit CS=P1^0;
sbit CLK= P1^1;
sbit DATaI=P1^2;
sbit DATaO=P1^3;
#define SD_Disable() CS=1 //Dừng cờ CS
#define SD_Enable() CS=0 //Mở cờ CS
unsigned char SPI_TransferByte(unsigned char val)
{
unsigned char BitCounter;
for(BitCounter=8; BiCounter!=0; BitCounter--)
{ CLK=0;
DATaI=0; // Bắt đầu ghi dữ liệu
if(val&0x80) DATaI=1;
val<<=1;
CLK=1;
if(DATaO)val|=1; // Đọc
}
CLK=0;
return val;
}
Initializing the SD card
unsigned char SD_Init(void)
{ unsigned char retry,temp;
unsigned char i;
for (i=0;i<0x0f;i++)
{ SPI_TransferByte(0xff); //delay
}
SD_Enable(); //Mở Chip select
SPI_TransferByte(SD_RESET); //gửi tín hiệu reset
SPI_TransferByte(0x00);
SPI_TransferByte(0x00);
SPI_TransferByte(0x00);
SPI_TransferByte(0x00);
SPI_TransferByte(0x95);
SPI_TransferByte(0xff);
SPI_TransferByte(0xff);
retry=0;
do{ temp=Write_Command_SD(SD_INIT,0);
//Send the initialization command
retry++;
if(retry==100) //lặp 100 lần
{SD_Disable(); //đóng chip select
return(INIT_CMD1_ERROR);
//Nếu sảy ra lỗi thì hiển thị lỗi và quay lại
}
}while(temp!=0);
SD_Disable(); //Đóng  card
return(TRUE); //Lặp đến khi kết thúc
}

***********************************************************

Đọc và Viết khối dữ liệu
Sau khi hoàn thành việc khởi tạo thẻ SD, chúng tôi có thể thực hiện các thao tác đọc và ghi.
Chế độ SPI Bus hỗ trợ hoạt động ghi một khối (CMD24) và đa khối (CMD25). Multi-block hoạt động là viết ra bắt đầu từ vị trí quy định, cho đến khi thẻ SD trước khi nhận được một lệnh ngừng CMD12 để dừng lại.
Một khối duy nhất viết hoạt động của chiều dài khối dữ liệu chỉ 512 byte.
Để đọc thẻ SD CMD17 được sử dụng và thẻ SD sẽ trả lời với 0XFE theo sau là 512byte dữ liệu và 2 byte cuối cùng là mã xác minh CRC.

Nhận xét

Bài đăng phổ biến từ blog này

Cánh tay sắt T800 của kẻ hủy diệt

Cánh tay là một sản phẩm tinh tế có thể hoạt động trong môi trường độc hại, cũng như thay thế cho cánh tay của người khuyết tât. Đây cũng là đột phá từ Kỹ thuật đến mỹ thuật để mô hình hóa 1 sản phẩm truyền hình được nhiều người biết đến. Dưới đây là tất cả các bản vẽ để thiết kế hoàn chỉnh cánh tay T800 này.  Các bạn có thể dưa vào đây để chế tạo lại. Chúc các bạn may mắn !                                                                                         Nguồn  http://blog.heliumware.com

Trực thăng tự chế Furia

Với thiết kế ‘khá đơn giản’, trực thăng Furia là một lựa chọn hấp dẫn nếu bạn muốn tự chế tạo cho mình một chiếc CHƠI. Các bạn có thể tải bản vẽ theo đường link ở phía dưới. Các thông số kỹ thuật cơ bản: Đường kính cánh nâng: 5,8 m Đường kính cánh đuôi: 1,1 m Chiều cao: 2,1 m Chiều dài: 3,81 m Tải trọng tối đa: 318 kg Khối lượng rỗng: 158 kg Thể tích thùng chứa: 30 l Chỗ ngồi: 1 Tầm bay: 130 km Vận tốc cực đại: 150 km/h Vận tốc tiết kiệm nhiên liệu: 110 km/h Vận tốc thẳng đứng: 5,6 m/s Trần bay: 3800 m Động cơ: Rotax 65 mã lực Link download bản thiết kế:  Trực Thăng Furia

Tết âm và những điều liên quan tới năm 2018

1. Bánh chưng  Theo quan niệm phổ biến hiện nay, cùng với bánh giầy, bánh chưng tượng trưng cho quan niệm về vũ trụ của người Việt xưa. Bánh có màu xanh lá cây, hình vuông, được coi là đặc trưng cho đất trong tín ngưỡng của người Việt cổ và các dân tộc khác trong khu vực châu Á. Tuy nhiên, theo Giáo sư Trần Quốc Vượng, bánh chưng nguyên thủy có hình tròn và dài, giống như bánh tét, đồng thời bánh chưng và bánh giầy tượng trưng cho nam và nữ trong tín ngưỡng phồn thực Việt Nam[1]. Bánh tét, thay thế vị trí của bánh chưng vào các dịp Tết trong cộng đồng người Việt ở miền nam Việt Nam, theo Trần Quốc Vượng đây là dạng nguyên thủy của bánh chưng. Gói và nấu bánh chưng, ngồi canh nồi bánh chưng trên bếp lửa đã trở thành một tập quán, văn hóa sống trong các gia đình người Việt mỗi dịp tết đến xuân về. Khi sêu tết nhau tặng bánh chưng thì người Việt có lệ tặng một cặp bánh chứ không tặng một cái lẻ. 2. Cây đào, mai và quất  Cây quất – Phong phú và hạnh phúc Theo quan ...