project bf537 mmc card

8
ТЕХНИЧЕСКИ УНИВЕРСИТЕТ- СОФИЯ, ФИЛИАЛ ПЛОВДИВ ПРОЕКТИРАНЕ НА ВГРАДЕНИ МИКРОПРОЦЕСОРНИ СИСТЕМИ Курсов Проект Изготвили: Тонка Танчева, гр.31а, фак. 605 277 Светла Райкова, гр.31а, фак. 605 289 Пловдив Проверил:............. 2010г. /гл.ас.д-р Б. Петров/

Upload: posnai

Post on 10-Apr-2015

145 views

Category:

Documents


1 download

DESCRIPTION

Connecting MMC card to SPI of BF537 EZ-KIT LITE

TRANSCRIPT

Page 1: Project BF537 Mmc Card

ТЕХНИЧЕСКИ УНИВЕРСИТЕТ- СОФИЯ, ФИЛИАЛ ПЛОВДИВ

ПРОЕКТИРАНЕ НА ВГРАДЕНИ МИКРОПРОЦЕСОРНИ СИСТЕМИ

Курсов Проект

Изготвили:

Тонка Танчева, гр.31а, фак. 605 277

Светла Райкова, гр.31а, фак. 605 289

Пловдив Проверил:.............

2010г. /гл.ас.д-р Б. Петров/

Page 2: Project BF537 Mmc Card

Page 2

Задание

Свързване на MMC карта към SPI на ADSP-BF537 EZ-KIT LITE

Проекта да включва:

Осигуряване на възможност за индикиране при поставене на карта

памет в слота;

Програмно следене на захранването на MMC карта;

Индикация за захранване на карта;

Инициализиране на SPI интерфейса на ADSP-BF537 процесор;

Записване на данни през SPI върху MMC карта;

Page 3: Project BF537 Mmc Card

Page 3

За целите на настоящия курсов проект се използва карта памет тип: MMC

card (Multi Media Card), модел: Transcend TS256MMC. Нейната структура е на

базата на flash паметта, достъпът до нея се осъществява посредством сериен

интерфейс оптимизиран за бърз и сигурен обмен на данни. TS256MMC може да

работи в два режима на работа: MMCmode и SPImode. /табл.1/

Табл.1

Избраната MMC карта се използва в SPImode, което дава възможност за

използване и на SD карта в SPImode през SPI интерфейса на ADSP-BF537. Това

осигурява възможност за използване както на SD така и на MMC карта.

Page 4: Project BF537 Mmc Card

Page 4

Схемна реализация:

Page 5: Project BF537 Mmc Card

Page 5

Софтуерна реализация:

1.MMC_SD.c

#include "cdefBF537.h" #include<stdio.h> #include"sys/exception.h" #include " mmc_sd_init.h" #include "image_data.h" #define h 128 #define v 128 EX_INTERRUPT_HANDLER(detect_ISR) unsigned char img_on_card[h][v]; img_on_card[0][0]=*go_see; void main(void) int cntr=0; InitPLL(); InitSPI(); InitINT(); capture(&see_all[0][0]); register_handler(ik_ivg12,detect_ISR); while(1) cntr++;

2.mmc_sd_init.h #ifndef mmc_sd_init #define mmc_sd_init void InitPLL(void);

Page 6: Project BF537 Mmc Card

Page 6

void SPI_init(void); void InitINT(void); void InitPLL(void) *pPLL_CTL=0x1400; //reset *pPLL_CTL=0x3000; // MSEL 24x | NO BYPASS | NO I/O DELAY | NO PD| NO STOPCK | PLL ON | 1/1 DF //VCO 600MHz *pPLL_DIV=0x0005; //reset *pPLL_DIV=0x0014; //CCLK 300MHz | SCLK 100 MHz /*** upBF537-master, MMC_card slave***/ void SPI_init(void) *pPORTF_FER = 0x3C00; //enable:SPI_CLK-pin13,SPI_MISO-pin12,SPI_MOSI-pin11,SSEL1-pin10; *pSPI_BAUD = 0x0002; //(frequancy[bit/sec]/bits, which are transfered) *pSPI_CTL = 0x5600;//TIMOD-start transfer with R of SPI_RDBR; // SZ[2]SPI_TDBR emty-send last word // GM[3]SPI_RDBR full-discard incoming data; // enable:SS,MISO,SPI; //SIZE of words:8bits; begin transfer with LSB; CPHA=1 void InitINT(void) *pPORTF_FER |=0xffdf; //PF5 GPIO *pPORTFIO_DIR |=0xffdf; //PF5 Input *pPORTFIO_INEN &=0x0020; //PF5 Input Buffer Enable *pPORTFIO_POLAR &=0x0020; //PF Low level or Falling Edge *pPORTFIO_EDGE |=0xffdf; //PF Low level *pPORTFIO_MASKA &=0020; *pSIC_IAR3 &=0x00005000; //PF 5 Enable interrupt *pSIC_IMASK &=0x08000000; //PF 5 interrupt enable #endif

Page 7: Project BF537 Mmc Card

Page 7

3.image_data.h #ifndef image_data #define image_data #include<stdio.h> #define h 128 #define v 128 section("sdram0_bank3") unsigned char see_all[h][v]; section("sdram0_bank3") unsigned char *go_see; void capture(go_see); void capture(go_see) FILE *ip; int read; ip=fopen("clouds.bmp","rb+"); read=fread(go_see,sizeof(unsigned char),h*v,ip); if (read<h*v) if (ferror(ip)) printf("fill_buffer failed with an I/O error\n"); else if (feof(ip)) printf("fill_buffer failed with EOF\n"); else printf("fill_buffer only read %d items\n",read); if (ferror(ip)) printf("ERROR R/W \n"); else printf("R/W Stream Good\n"); if ((fclose(ip)) == NULL) printf("Successful Closing\n"); else printf("ERROR Closing\n"); #endif

Page 8: Project BF537 Mmc Card

Page 8

Спецификация на използваните елементи:

на част ИС Стойност Производител Корпус Допълнителна Информация

IC1,2,3 74HC125 ON Semiconductor

TSSOP-14 Буфер

X1 FPS009-3003 Yamaichi Con Слот за SD/MMC

Q2 BSH2550 Ugs=0,4V Philips SOT23 pMOS D1 AND520HW AND T1-3/4

SV1 20pin female con C1 100nF Multicomp C025-

024X044

С2 10uF VISHAY 085CS-1AR

R1,R2,R6 10kΩ 0204V R3 1kΩ 0204V R4 7kΩ 0204V