Friday, 28 June 2019
Bringing up the SD card interface on the MEGA65 R2 PCB
Ok, the keyboard test bitstream is currently synthesising, so I though I would look at another important sub-system in the meantime: The SD card interface.
The R2 PCB has both an SD card and microSD card interface. As I have mentioned in a recent post, the microSD interface goes through the MAX10, which complicates things a bit. Also, the pre-series cases are quite tight around the microSD cards. So, for both these reasons, we will concentrate on the full-size SD card slot.
So, to begin, I am using my FPGA pin identification framework to work out where everything goes. What I really need to know is the exact model of SD card connector we are using, so that I can verify that everything is correctly connected.
First up, check if we have VCC and GND
The signals we need are:
Data Out (DO)
Data In (DI)
Card Select (CS)
Clock (SCLK)Power (VDD)
Now to see if they are on the correct lines in the current bitstream. I'll use my test bitstream that puts a unique bit sequence on each, so that I can see which is which.
VDD - Correct at 3.3V
VSS - Correct at 0V
DO - FPGA pin #10
SCLK - FPGA pin #8
DI - FPGA pin #11
CS - Stuck at about 2V
The CS line looks to be the problem here. Hunting through, I have found that I hadn't plumbed that line through properly. So a bit of poke and fiddle, and it suddenly was working :)
Having the SD card working is super helpful, as it makes it MUCH easier to load things for testing.
Also, it is nice seeing other bits and pieces obfviously working, now that we can get as far as booting. In particular, the internal floppy drive now does its spin and seek during the boot sequence. A happy piece of progress after a lot of preliminary work over the past few days.