Shop OBEX P1 Docs P2 Docs Learn Events
Bill's TODO list — Parallax Forums

Bill's TODO list

Bill HenningBill Henning Posts: 6,445
edited 2011-03-21 16:29 in Propeller 1
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, >3MB/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 feasible.

3) VMCOG2

Large memory version - I have it figured out and half changed over

Two software projects for UPEW, to be announced later

HARDWARE TASKS

I have ordered production quantities of the following boards that I've discussed before, and will have them available for sale soon:

CPUModule
DIG-8-IN-V
DIG-8-OUT-V
FlexMem
Proteus (pcb rev.2)

I also have a new prototying board coming, and the second prototype of a new exciting propeller platform. More details on those after I receive and test them.

DOCUMENTATION

I have to document and start making available 485Plug and all the boards above, and write more documentation for PropCade and the new Morpheus and Mem+ (pcb rev.2) boards (which I also have in stock).

ALL of the above boards were laid out by Sapieha, and are works of art.

If you guys would prefer that I addressed the TODO list for software in a different order than I posted above, please let me know!

Comments

  • KyeKye Posts: 2,200
    edited 2011-03-14 16:01
    Hey Bill, I think I know how to make a single cog hires text solution also.

    Please take a look at how the ASM works for the following driver: http://obex.parallax.com/objects/655/

    I believe caching during the HSYNC is the only way.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-14 16:13
    I'll take a peek at your code.

    Generally, it is *barely* possible to do 80x24 text in VGA mode at 80MHz; I tried to make a driver like that a while ago and it was close to working well ... but ...

    I found that there was not enough time in the hb/hs/hf time to keep the font in the hub and do all the needed font decoding, I had to have at least two blank scan lines (of the background color) before every row of active characters. This led to an annoying stripe effect when the characters were inverted, and did not allow graphics block characters to vertically touch each other. I used an 8 pixel wide, 9 pixel tall 96 character font packed into 214 longs in the cog with weird packing and addressing to get the timing right.

    Each line of the font was double scanned.

    I gave up on it when I decided it was not worth the trouble as it would mean losing graphics characters, and looks horrible inverted.
  • KyeKye Posts: 2,200
    edited 2011-03-14 16:37
    Writing about my idea todo this is too much for me... but it involves moding that driver to support a custom 8x12 character font set and just packing 8 characters into a long which are buffered during the HSyncs. Then displayed during the scan line.

    At 640x480 using 8x12 font that's 80x40 characters. If the screen is kept to just 2 colors I KNOW its possible. Just alot of work.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-14 16:42
    Most worthwhile things tend to be a lot of work :)
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-14 19:55
    Bill,

    Will your FlexMem and Propcade boards work with the 4 bit wide Winbond W25Q chips that have been mentioned recently? There is one available as a PDIP.

    Thanks,
    David
  • Ken GraceyKen Gracey Posts: 7,401
    edited 2011-03-14 20:11
    If you guys would prefer that I addressed the TODO list for software in a different order than I posted above, please let me know!

    Add an item if you could: attend UPEW in May. We're hoping to see you at that time. - Ken
  • RossHRossH Posts: 5,519
    edited 2011-03-14 20:15
    Ross's TODO list:

    1. Write a TODO list.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-14 20:18
    Hi David,

    PropCade can use a 2 bit mode with flash, but there is no benefit over a counter driven 1 bit mode (unless you use 2 cogs and weird interleaving).

    A SOIC8 W25Q64 is around $5.50 for 64Mbits, and another 64Mbit SOIC-8 (one bit wide) part I can get for only $1.72 (neither part includes taxes, duty, shipping etc) - so no one should now be surprised if I start selling 256Mbit FlexMem Flash boards :)

    (Geez, another cat escapes the bag)

    FlexMem is set up to use four 1-bit devices (DIP/SOIC8/TDFN8 and I think WSON8 might also work on it, I will test that...), so while it cannot use a four bit device (in 4 bit mode) it can use 4x 64Mbit SOIC8 devices to provide 256Mbits of flash on one board. I should be receiving the first batch of production boards mid next week :)

    I can easily make a 4 bit Winbond chip compatible FlexMem board, however I am not sure there is an advantage over using 4 single bit devices (ok, write error checking would be easier) given the above...

    While I can't give more details yet, don't be too surprised if I have some more boards at UPEW :)
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-14 20:21
    Hi Ken!

    Sorry I've been MIA... life has been - interesting - and too busy.

    I added it to the first post :)

    I'll email you an update later. Don't worry, I'll have more neat new products :)
  • jazzedjazzed Posts: 11,803
    edited 2011-03-14 21:48
    (Geez, another cat escapes the bag)
    Amazing how that happens :)
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-15 09:27
    PropCade can use a 2 bit mode with flash, but there is no benefit over a counter driven 1 bit mode (unless you use 2 cogs and weird interleaving).
    I've never used counters. How can they be used to speed up SPI transfers? Do you use the counter to generate the clock?
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-15 09:50
    David Betz wrote: »
    I've never used counters. How can they be used to speed up SPI transfers? Do you use the counter to generate the clock?

    You are correct; sorry - I should have been more specific.

    Since PropCade runs at 100MHz, I will be generating a 25MHz clock with CTRA so I can use code like the 20Mbit SD card read/write code.

    This will let me burst read/write to the cog memory at close to 25Mbps. Even with hub reading/writing overhead I should be able to get roughly 2.5MB/sec burst read/write for sram and flash on PropCade.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-15 10:08
    Cool! I guess I should try that with the SPI code I wrote for ZOG on the C3.
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-15 11:57
    Absolutely! it will run SPI at 20Mbps, 4x faster than bit-banged unrolled SPI at 5Mpbs, or 5x faster than looped 4Mbps SPI code.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-15 12:11
    Do you have code to do this that you can share or is yours proprietary?
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-15 12:22
    The 20mbps code will simply be a simple adaptation of the code in fsrw26 (chip select change, pin defs for CLK, MISO, MOSI) however it will be about a week before I get to it.

    I open source most of the code I write :)
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-15 12:25
    Thanks! I'll look at the fsrw26 code.
  • David BetzDavid Betz Posts: 14,516
    edited 2011-03-15 12:42
    Okay, now I remember that I looked at fsrw26 before and was a bit confused about all of the different SPI drivers. I didn't see any document describing their differences but I may have missed something. Can someone tell me the relative merits of mb_rawb_spi.spin, mb_small_spi.spin, mb_spi.spin, and safe_spi.spin?

    Thanks,
    David
  • bsnutbsnut Posts: 521
    edited 2011-03-16 19:11
    I just entered to Spinneret contest for my Web Based Ship Monitoring System will like to use the 485Plug in this project. The question when will it be available or can I get a drawing?
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-16 19:24
    hi bsnut,

    It is available now, and in stock... I'll figure out the BOM pricing tomorrow for the full kit. The only reason I have not made a web page for it yet is lack of time.

    How many would you need? Since you are using a Spinneret, I assume you will need the 3.3V version :)

    Would you prefer the RJ45 connector version, or the 3-screw terminal version?

    For the RJ45 version, you can use standard CAT-5 or CAT-6 Ethernet cables for the RS485 network cables.

    Thanks,

    Bill
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-16 19:46
    I took a quick peek at the Spinneret docs, and it is extremely easy to use 485Plug with it!

    For debugging, run five wires from the spinneret board to 485Plug as follows:

    (Spinneret pin numbers taken from the Spinneret docs, page 7)
    Spinneret      485Plug
    
    J1 pin 2   --> GND (pin 1)
    J1 pin 1   --> 3v3 (pin 5)
    J1 pin 7   --> tx (pin 4) ... this will control the RS485 direction
    J1 pin 8   --> rx (pin 3) ... this will be the signal input/output to the RS485 chip
    
    

    This will use P26&P27 for tx (direction), rx (data) equivalents of hcomm during testing.

    Once your code works, you can just plug 485Plug into the PropPlug header, and run a wire from J1-pin1 to 485Plug pin5 to power the 485Plug, freeing up J1 for other uses.

    Note: the 485 pins are numbered in reverse order compared to the PropPlug on the silk screen
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-21 15:43
    I am having trouble sourcing the 3.3V MAX3485 here in Canada; Digikey only has one, and won't get more until April; Mouser has stock but the shipping is high. I have stock of the 5V version, but that requires adding a 1K resistor in-line before connecting it to the prop.
    bsnut wrote: »
    I just entered to Spinneret contest for my Web Based Ship Monitoring System will like to use the 485Plug in this project. The question when will it be available or can I get a drawing?
  • Bill HenningBill Henning Posts: 6,445
    edited 2011-03-21 16:29
    The SN65HVD08P is really nice... more expensive but only 1/8th load, and works at both 3v3 and 5V !!!!
Sign In or Register to comment.