TMS320F28075: Reading Compact Flash Card - Please help :)

Part Number: TMS320F28075

Tool/software:

Hi guys, I've successfully connected a 512MB Compact Flash Card to my F28075 and can set the sectors and read the data with no problems at all.

I insert a 16GB Gigabyte card and my assembly software can't read the card at all. Obviously the setup and accessing high capacity compact flash cards must be different.

Does anyone know how to read high capacity compact flash cards with your MCU?

Any help here would be totally and very much appreciated.

Thanks guys, hope to hear from you soon.

Peter Slight smile

  • Hi Peter,

    I assume that the EMIF is used to interface the compact flash. The EMIF CS0 is for Synch memory (SDRAM) only, supports up to 256Mx16. All other chip-selects are used for asynch memories such as NOR flash or CF. The memory range for CS2 and CS3 are 2MBx16 and 512Kx16 respectively.

    Which CS is used for your CF? Are you able to access all the address of your 512MB CF?

    From the EMIF CS memory map, the 16GB CF is not fully supported, but you can access part of them from 0 to 2MBx16 if CS2 is used.

    Does the 16GB CF card have the same header pinout as 512MB card? A[2:0], D[15:0], CS[1:0], CD[1:0], IO read and IO write, etc.

  • Hi QJ Wang, oops I should have explained my setup.

    I'm not using the EMIF, I'm direct controlling using the PORTS on the MCU. PORTB16 - PB31 (16bit databus) and PC13 to PC19 for A0, A1, A2, CS0, RD, WR and RESET and using TRUE IDE MODE. My code is in C28x Assembler as well.

    Yes, I can read all the sectors on the 512MB Compact flash card with no problems at all. I'm running my MCU at 50Mhz to be safe. Ports are running at SYSCLK/2.

    With the header on the compact flash card, they all have the same 50pin header and all the control lines should be the same or the cards would not be compatible with some product that use Compact Flash cards.

    BUT I better check with the 16GB Card I'm using, the brand is ATP Pro 700X MAX UDMA CompactFlash 16GB. I'm starting to feel that the 16GB initalize sequence is different from the 512MB card. Hmmm, what do you reckon?

  • Hi Peter,

    I do have a same feeling that they use different cmd sequence. I don't know much about CF. I knew that SDHC SD card uses different cmd for initialization: cmd0-cmd8-cmd55-cmd41 vs cmd0-cmd8-cmd1.