Ok I can see that now, but this wouldn't work with our hardware SPI would it? It almost sounds perfect for a software SPI setup that is interrupt driven though.
@bko,
I have not used SPI before so more questions for you
Letās say the device is on HOLD now due to the higher priority device overriding them when it is Selected.
So you mentioned that the current transaction is paused and it resumes with HOLD is released (HIGH).
So somehow the core will know where it left off during the transaction and resume?
Eg. Writing data to FRAM halfway and the SPI GPS Module is triggered and the FRAM is put on hold.
Does the data get correctly written after the SPI GPS Module releases the HIGH after itās done communicating?
Yes, you have the idea. As @BDub said, you need to have control over the CS and hold pins for this to work. I have not read the FRAM datasheeet, but most SPI memories have continuous or page read/write modes where you put in one 24-bit address and then read or write continuous data. Using hold is perfect for things like that.
Ah nice.
Definitely love learning so much new stuff from you guys!
Would you prefer that the Write Protect (WP) is alo available or the CS & HOLD is more than sufficient for user control?
Iām thinking of buying a FRAM when i finalize the board and prototype one. Would be nice to get one made, test it, show it to you guys for improvements/feedback before the board is considered done!
Have listed down my buying list to get this shield made and working by End April!
With one of your SD Cards I could access an image or HTML file directly or by IP address ? via from code on Core running Tiny Webserver and parse the image / HTML to a web broswser ?
If so, do you have price worked out as I want one or two, Please !
Iāll be keeping the cost the minimal but canāt finalize as of now since itās still in the prototyping phase and PCBs are made in house. Trying to make this working by end of End of April so that potential users can take a look!
Thanks for your support man
I couldntāt somehow find the SOIC8 SMD footprint used by the FRAMs and decided that maybe itās time i started learning how to make my own package.
Used the Sparkfun library with the SOIC8 footprint already available and rename the pins and package into a FRAM.
Placed the library on my github as well: https://github.com/kennethlimcp/Eaglecad-libraries
Itās my first time attempting this and advice/guidance would be awesome
I am a noob to Eagle and have Limited Package creation experience but, I find many times a schematic diagram physical layout does not match layout of pins on Board. Always need to verify that the physical layout on the PCB is correct pin to trace.
You said inhouse ? Is that both creation of PCB and component solder flow ?
Thereās a rapid pcb prototyping in a lab and i can use that to make a few revisions before sending the actual design to a Fab house. Thereās also a reflow oven etc etcā¦
So basically i get access to some resources to get things done faster
SO this will be Revision 4. Took me few hours to route the 2 FRAM footprint! The individual CS pins have yet to be route and would most likely end up at A0 and A1 of the core.
Trying to finalize everything by today, make one by this week and check for any routing errors and eventually populate the components when the parts arrive!
This is R5 with the CS pin for the FRAM routed to A0 and A1 respectively.
Time for some lunch before scrutinizing all the pinouts!
Some specifications:
- Supports 1 x MicroSD Card
- Status led is added to show data is being written to the MicroSD if it is properly selected in code
- Supports 2 x FRAM memory chip which will most likely be left unpopulated unless thereās a demand for most people to have it included!
Once i get this prototype functional, the next step would be to have the CS pins of the FRAM and MicroSD on a 0-ohm pad so users are free to route and change the CS pins. FRAM pins like HOLD can also be breakout if thereās sufficient space!
Inputs/feedback?
Seems like the Stackable headers are hard to source! @mohit any idea?
R6 which is also the finalized prototyping version ready to be fabricated and tested to make sure everything is working!
Hopefully i can have it done up tomorrow and have the parts in by Wednesday
EDIT: Parts ordered and should be here on Tuesday
I would recommend making sure your vias between the two FRAM chips are ātentedā (covered in solder mask). Or change the way thatās laid out so they donāt have the potential to short out to neighboring pins.
Also it would be beneficial to put all of the components on the bottom for ease of assembly. You could put the LED on the edge of the board and it would still be visible from the side. You could also put an alternative LED footprint in parallel with the bottom side LED, but place it on the top unstuffed. In case you find itās easy and cheap to assemble in the futureā¦ or someone could just move the LED themselves if they so desired.
You should split your SPI SCK and MOSI signals by the Spark Core pins, instead of way up by the SD card. You could probably do well by rotating the FRAMs 90 Deg CCW
It looks like you may have hooked the A0 and A1 pins up to the CS of each FRAM chip. I would suggest D2 through D6 for general purpose digital outputsā¦ so you donāt tromp on any special features that someone may want to use like Analog inputs, PWM or I2C.
Let me see how best a can reroute based on your suggestion! Thereās wires underneath the SCK and MOSI which makes it difficult to wire direct to the FRAM.
As for having a parallel led footprint on the top, isnāt that going to block the entrance of the MicroSD?
Agree on the usage of Digital I/O for the CS!
Thanks for all the feedback @BDub
Send me your file, I'll de-swizzle it in 5 mins. I can visually re-route most of your tracks all on the same layer with no vias, so it shouldn't be too hard to uses vias and come up with a nice layout.
Yes that's an issue, but I didn't necessarily mean leave the LED on the bottom where you have it, or make the top side LED directly above the bottom one. You just have to find a solution if you think it's a good idea.
Also, I would not connect the GND side of the R/W LED to A2. If you connect it to GND then it will display R/W activity for all three devices Also 330 ohms is too low of a value. Iād start with 1k ohm and leave it thereā¦ itās probably bright enough without affecting the drive to the SCK line of all 3 memory devices.
Itās actually CLK to LED to Resistor to CS pin as per how Adafruit does it.
You have time? Iāll send you the file!
Just 1 tough to route wire left! Time for some breakfast
how does this look? It wil be exciting to see how you can route it on just one layer
As for the LEDs suggesting, thereās some space near the bottom of the FRAM and we can probably fit them in there easily!
Iām more or less satisfied with this prototyping version which can be used to populate components and make sure itās functional.
Do you have suggestions on how can i shield
the top layer aka something like a solder mask since the prototyping machine iām going to use doesnāt provide this functionality?
Iām thinking some transparent coating applied overā¦hmmmā¦
For a prototype you might be able to use clear nail polish. Easy to come by, and it should work fairly well. Just an idea though, Iām sure there a better alternatives out there.
#thingsthatcomestothemindofamaker
hahaha! hi5