FlexMem: <$25 Memory expansion for ANY propeller board with a 10 pin header! (F
In my PropCade thread, heater asked about a low pin count parallel SPI ram solution… I was not going to reveal FlexMem until it was tested, but since he was asking…
Like PropCade, FlexMem was inspired by my work with VMCOG. I have not had a chance to write the driver yet, however that is high on my list of priorities… until then, the driver from obex.parallax.com/objects/346/ Tim Moore’s “N256S0830HDA SPI SRAM driver” should work, once the pins are adjusted to FlexMem.
After sending the design to Sapieha, he made another amazing layout!
- Works on ANY Propeller board that supports the 10 pin ProtoBoard style header
- up to THREE FlexMem’s can share the header
- works best on P0-P7 with the driver I have designed
- 3.3MB/sec burst read/write with one cog for RAM or FRAM
- 6.6MB/sec burst read/write with two cogs for RAM or FRAM
- four identical devices on the board at the same time
- supports SOIC-8 devices
- supports DIP-8 devices
- works with 23K256 32KB Microchip SPI ram’s (128KB/board)
- works with FRAM’s (up to 512KB/board)
- works with FLASH (up to 256MB/board)
- jumper selectable for one of three chip selects
- approx. 1 3/16″ x 1 1/16″ and 15/16″ tall (including stacking header)
FlexMem will work with ANY Propeller board with 8 pins available (p0-p7 is ideal, p8-p15 or p16-p23 will work but will be slower)
This thread with be the “Official” FlexMem thread, and I will be uploading photo’s, and documenting my progress in debugging the prototype.
Frequently Asked Questions
Q1) Why is FlexMem faster on P0-P7?
A1) The driver needs the four data bits to be on P0-P3 so that the MOVI instruction can be taken advantage of in the driver to assemble larger units of data
*** Initially only P0-P7 will be supported, as the performance hit makes using other pins unattractive
Q2) Why are you not using eight SPI ram’s for a byte wide memory?
A2) A byte wide FlexMem is certainly possible, however economically it makes far less sense. Eight SPI 32Kx8 memory chips cost significantly more than a single 512Kx8 parallel sram chip. It would be easy to use two FlexMem’s to provide an eight bit wide data bus, however it would require ten Propeller pins (P0-P7, and two other pins)
Q3) Why will the counter-assisted single cog driver burst at 3.3MB/sec when the bit-banging one can only achieve 2MB/sec?
A3) The bit banging driver requires two more instructions for every four bits read, which is an overhead of 16 instructions for reading a LONG, whereas the counter based driver only requires a two instruction overhead for reading a LONG – a savings of 14 instructions per LONG.
Q4) When will FlexMem be available for sale?
A4) As soon as the drivers are debugged, I will make a limited number of FlexMem kits available for sale. Large quantities are expected to be available for sale in early May, 2010.
Please feel free to ask any questions you may have!
(photo’s will be added in a few hours)
www.mikronauts.com E-mail: mikronauts _at_ gmail _dot_ com
My products: Morpheus / Mem+ / PropCade / FlexMem / VMCOG / Propteus / Proteus / SerPlug
and 6.250MHz Crystals to run Propellers at 100MHz amp 5.0″ OEM TFT VGA LCD modules
Las – Large model assembler Largos – upcoming nano operating system
Post Edited (Bill Henning) : 4/16/2010 7:43:44 PM GMT
Related Forum Messages
Hi guys, I have not been around much due to consulting and family; however my workload - and family needs for my time - have lightened up, so I thought I'd post a list of what I am working on: TRAVEL SCHEDULE ----------------------------- UPEW 2011 in Rocklin CA (May 21,22) SOFTWARE TASKS --------------------------- 1) single-cog VGA hirez text modes Looks like kuroneko found a solution that should work, I will be trying it this week 2) FlexMem fast driver, gt3MB/sec the test 2MB/sec driver is running, I now have to convert it to using timer-generated clocks to get it above 3MB/sec... close to 4MB/sec with a single cog may be ...I've been thinking about doing something like this for several years. Every so often there is some discussion on this forum about using multiple memory chips in parallel. When the CS came out I purchased some extra 23K256 SRAM chips. I figured I'd want to learn how to use the 23K256 chips that are on the C3 so I might as will have some extra for other Propeller projects. I also wanted more memory to use with my machine vision project so I attempted an eight chip/bit SRAM driver. I stacked the eight DIP chips on top of each other and soldered the common ...This thread is started for W25Q Quad bit SPI Flash driver collaborative development and testing. Why is this important? W25QXX is a SPI Flash device that supports accessing up to 4 bits of data at a time and a 2MByte chip is available in S08 for less than $2.50. The highest density availabe DIP8 is 1MB. Using 2 of the devices side by side, a 10 pin interface can be used for large and fast non-volatile instruction storage allowing up to 22 Propeller pins free for general purpose usage. A 10 bit Flash interface will be at least 10 times faster than a ...After lunch, I will begin testing the three new PCB's the courier delivered about an hour ago: (As usual, Sapieha did a beautiful job on the PCB layouts) 1) SD-uSD A 10 pin module with both full size SD and micro SD support - at the same time! I will start a thread for this board after I test it and verify the PCB is fully functional. Fits the following platforms: - Parallax Proto Board (USB and Serial) - all Mikronauts platforms (Morpheus, Propteus, CPUModule, and others) - breadboards (Demo Board, Propeller BOE) - Propeller Platform (using ppBridge) - C3 (using c3Bridge) - QuickStart (using qsBridge) Sapieha wanted to make this board ...Hi, I'm working with MCF54455EVB and I need to communicate via USB. The final purpose for using this board, don't allow us to use any OS so I have to program all the drivers. By now I can comunicate with ATA in FAT FILE system, but I don't know how to do it with USB, I need some driver to be able to write/read it. I've found CMXUSB_LITE driver, but the problem is that works with MCF5225x and I don't know if this board is too different to try to port this driver to my board. I ...I am about to send to manufacture a cost reduced RamBlade3R. Here are the specifications... - Propeller overclocked to 104MHz (socketed 6.5MHz xtal) - 24LC64 (yes only 8KB to boot from microSD card) - 512KB 55ns SRAM (512KBytes) - microSD socket - 6pin header (3V3, GND, /RST, SI, SO, nc) - center 4 pins are PropPlug compatible - PCB size 1"x1.4" - The 6pin header is at one 1" end and the microSD is faces the other 1" end. - Available fully assembled (smt) except the pin headers (both straight and rightangled pins will be provided, and a socket). ...I'm asking for guidance on building a higher speed SPI driver using counters. Here's what I have done so far. I am working with a WizNet W5200 that has a 80MHz SPI interface. I built two SPI drivers; one gleamed from AN012: Interfacing the Propeller to External SRAM with SPI and the other is a PASM version of the application note. The drivers work great. The PASM driver can deliver bust data at ~5M bits/sec up and down. I studied several SPI counter drivers in the OBEX that implement similar schemes. CTRA/B is use as the clock while CTRB/A and PHSB/A IO ...Well, its a new year, and here's a new driver! Now available on the OBEX is the (http://obex.parallax.com/objects/619/) is the SD3.01_FATEngine. There's ALOT of new functionality, and alot of stuff is fixed. Stop using the SD2.0_FATEngine if you can and switch to the SD3.01_FATEngine. (I found ALOT of problems with the SD2.0_FATEngine while updating it... you won't run into the problems easily however... but they are there). Anyway, new features (Please read the bottom of my post if nothing else): The file system is locked now for any access from any cog. This ensures that the FAT structure and directory structure are kept ...I posted this question (inappropriately) buried in another thread in another sub-forum, and would like to "elevate" it to it's own topic on the proper forum. Background: I'm working on a project that requires a high datarate throughput (data is received from the WIZnet module that is used in the Spinneret). The PASM driver to get data from the WIZnet module will run in one cog, with the received data being available as bytes in that cog's RAM. The data will be processed, manipulated, and then will be sent out a Propeller pin; which specific pin will be determined by specific values ...Hi, I'm relatively new to Parallax Propeller and I'm trying to develop a system using Propeller. System consists of P8X32A QFN44 IC + I2C EEPROM, nRF9E5 433/868MHz RF Transceiver/8051 IC ( I implemented a basic SPI protocol between Parallax and nRF9E5) TV Output ( 7" color PAL/NTSC TFT screen ) Microchip SPI SRAM + SPI EEPROM ( For future use ) I'm using the TV driver and Graphics driver came with Spin tool and I'm drawing some boxes, lines and print text menu on the screen. I don't use mouse, keyboard or any other driver. I already completed and tested most of the firmware. But at ...Hey I have Propeller QuickStart board, and I'm starting to develop a add-on board. Till some parts come, i did some research and now i need some hints from experienced peoples... ;-) First "issue" is number of I/O's. Over here is written that pins 1 - 28 are generic I/O pins, and rest 12 pins are having some functions (in witch I don't want to interfere?)... Is there a simple way to extend number of pins? The reason I ask is because the add-on board should had to have 5-6 motor drivers (pololu A4988 driver), but i'll first start with 4. Now, each ...While working with average joe to speed up the touchscreen board, we have ended up with a design that has very fast external memory transfers. Using two sram chips in parallel, data is transferred two bytes at a time. Further, there is a hardware counter so there is no need to load in an address each cycle. So this gives you access to 19 address bits (or more) plus 16 data bits which is clearly more than the 32 pins on the propeller. I'm happy to stand corrected, but I believe this is the fastest XMM memory solution to date. A ...I'm working on a driver for a dual motor control board. This board has an enable line, I would like to be able to share the enable line between multiple driver board. There is no problem electrically with that but there is a configuration problem. It would be best to be able to pass the pin used for the enable signal and have the driver figure out if that pin has already been configured as an OutputPort. If the pin is already an output port than the driver instance would only need to keep a reference to the OutputPort object. So far ...This driver is for the 128x64 GLCD from Xiamen Ocular which is supplied as optional item when purchasing the Mikroelektronika EasyPic 4 Board. This driver is modified from the Hantronix driver supplied by CCS to adapt to this GLCD and board. Modification done on the original driver is : 1) Swapped CS1 and CS2 pins 2) I/O pins adjusted to suit the board and GLCD Hope this is useful:Hi, I am following up on a previous post regarding operating a 12 V DC gearbox motor with propeller. After receiving some some helpful feedback, I decided to get the following motor driver board. http://www.pololu.com/catalog/product/1212 I am a novice. Thus far, I have been able to build my project by following some of Gadget Gangster's step-by-step tutorials that are available online. However, I am unsure of the correct way to wire/connect the motor driver board (see link above) to my project. Can someone advise me? I am trying to connect the motor driver board to the breakout board (see below) that comes with the ...Since I'm working on this chip emulation for the project of emulating SEGA SC-3000 / SG-1000 system on Propeller, I've decided to start a specific thread on it. This will let everybody to find out useful information on one place. I will update this thread with the work in progress of this driver written in SPIN/ASM, with all docs/video related to this Processor, and possible use and implementation on actual propeller powered board, especially the PROP C3. I hope you will like this IdeaI can't seem to find a thread that flew by a while ago about making a serial driver without jitter on the serial port. I was going to post this there. Anyway... I'm posting here today because I think I have a nice solution to the serial port driver jitter problem. I've updated my full duplex serial driver found here, http://obex.parallax.com/objects/397/, to run at 250,000 BPS using a 96 MHz clock. It has the added feature that it always changes the state of the TX pin aligned to the baud rate. So, it has no output jitter! Additionally, the driver is ...I just picked up an electric wheelchair that I intend to make into a multipurpose outdoor service bot. It is was a Jazzy 1101 if you want to see what one looks like. This particular chair has the joystick controller separate from the motor driver - makes it much easier to hack. I have hooked up my scope in an effort to decode the signals and found that it sends a 6 mS burst of serial data every 10 mS. It looks like each burst is 20 120 bits long but it is hard to tell because the traces jump ...I have been looking for the cheapest and most efficient way to construct a repstrap. My plan is to use the Arduino Mega as the core (I read official support may be coming soon). The step driver is a significant portion of the electronics package costs and complexity, so I wanted to investigate alternatives for that as well. Easy Driver amp Easy Driver Quad appear to be options that are simple to implement and provide 8x micro-stepping. [schmalzhaus.com] [schmalzhaus.com] Can someone explain the advantages of the Stepper Motor Driver v2.3 vs the Easy Driver? I read through all the documentation ...hey guys, whats im trying to do is to develop a usb driver for my gtp-lite for windows 7. the current driver only supports windows xp and theres a one for vista too apparently but i couldnt find a driver that works for windows 7. i tried contacting the original developers but they have given up development a long time back. so it would be great if you guys could point me in the right direction on how to build the actual driver. if it requires a particular language im quite ok with java and c. the pic on the programmer is ...
- Bill’s TODO list
- My attempt at 23K256 SRAM drivers. Includes 8-bit version.
- Winbond W25Q Driver
- The Courier dropped off the prototypes for three new PCB designs today…
- Port USB driver for MCF5445x
- RamBlade3R : A cost reduced RamBlade addon (Prop 104MHz, 512KB SRAM, microSD)
- Guidance for using counters to build an SPI bus interface
- Better than sliced bread! SD3.01 FAT16/32 Driver Updated!
- Unsolved Any tricks to make passing data between cogs using hub RAM more efficient?
- Propeller With TV+Graphics… Memory Issue
- I/O’s and ADC ?
- XMM language musings
- Finding out if pin is in use
- KS0108 Driver For MikroElektronika EasyPic 4 Board
- Unsolved Connecting motor driver board to propeller PCB
- TEXAS INSTRUMENTS – TMS9918/9928 VDP Emulation on Propeller
- Improved Serial Driver
- Decoding electric wheelchair controller
- Easy Driver vs Stepper Motor Driver v2.3
- Developing usb drivers for pic