전송 속도에 관련된 사항은 다음과 같습니다.
1. WIFI FTP BUFFER 의 크기 : ESP8266FtpServer.h 파일에 FTP_BUF_SIZE 로 정의가 되어 있는데,
크기가 기본으로 1024 // 512 로 설정되어 있는데 이 설정으로는 너무 느리다.
512 로 9KB/s , 1024로 18KB/s 밖에 안나온다.
하지만 이 크기를 1460 의 배수인 1460*2 로 바꾸면 460KB/s 의 속도가 나온다.
이 속도는 SD-Card에서 읽어서 PC로 전송하는 속도이고, SPI Single 방식의 SD-Card Write 시에는 약 86KB/s 가 나온다.
즉, SD 카드를 읽는 데는 엄청 빠른데, 쓸 때는 SPI Single 에다가 Write 할 동안 기다려야 하므로 아주 느리다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <SPI.h>
#include <SD.h>
//#include <FS.h>
#include <WiFiClient.h>
#define FTP_SERVER_VERSION "FTP-2016-01-14"
#define FTP_CTRL_PORT 21 // Command port on wich server is listening
#define FTP_DATA_PORT_PASV 50009 // Data port in passive mode
#define FTP_TIME_OUT 5 // Disconnect client after 5 minutes of inactivity
#define FTP_CMD_SIZE 255 + 8 // max size of a command
#define FTP_CWD_SIZE 255 + 8 // max size of a directory name
#define FTP_FIL_SIZE 255 // max size of a file name
//#define FTP_BUF_SIZE 1024 //512 // size of file buffer for read/write
#define FTP_BUF_SIZE 2*1460
| cs |
2. CPU Clock 속도 Up : 80MHz 에서 160MHz 로 올리면 조금 더 빨라진다.
3. SPI CLK 속도 UP : 현재 24MHz 까지 올렸는데 50MHz 까지 올려 볼 예정이다.
이 과정은 선 길이에 영향을 많이 받기 때문에, PCB가 나와봐야 알 수 있을 것이다.
버퍼 크기는 1460 배수가 아니면 속도 차가 읽기 모드에서 최대 51배나 차이가 납니다.
쓰실 때, 꼭 알아두세요. ^^
다음은 FTP 서버에서 PC로 전송시 속도를 동영상으로 찍어 봤습니다.
댓글 없음:
댓글 쓰기