Home

C3Synapse User Manual ().

image

Contents

1. aam Figure 55 C3Synapse TV driver color palette so These colors are for demonstration purposes only since every TV monitor have its color settings However If you want to have a reference for sending color bytes to my C3Synapse TV driver you should use this chart you probably know the Propeller generates color by adding luma to chroma information Luma varies from 2 ta 7 and chroma varies from 0 to SF You need to build color byte in this way Chroma lt lt 4 Is color lt lt 3 Luma Where Chroma is a value taken from a range between 0 and 15 s coloris a bit set if the byte carries color information Luma is a value taken from a range between 2 and 7 Andr LaMothe Nurve N uc SASS Eme o e c3Synapse SRAM expar ion board for PropC3 unit 1 Conversion table This table will provide you quick conversion chart between these formats Decimal Hexadecimal Binary Octal ASCII value char code and HTML code Doe Oct ex Binary Value Description Wer ox oi Stare of Header o2 2 GEI OST Stare of Text os os Gee End of Tert os oe SUI EOT End of Transmission os
2. f something goes wrong in any of these tests you will see an error message that tells you the read byte is not the byte just written Figure 13 illustrates an example of a possible error 1272012 Kurve Networks Diginer Figure 13 Third Memory write read test If something doesn t work correctly inside the C3Synapse s memory access test it means that the byte read doesn t correspond to the byte written so press ESC key and repeat the test Ifyou see the error message again then turn off the ProgC3 and inspect the assembly to see if every pin is inserted in its header hole properly If everything is ok then maybe the board may be damaged in some way Follow the warranty section for any problems NS SAC3Synapsee C3synapse SRAM expansion board for PropC3 unit The ful test program now continues by testing the output lines which are located on the system header of the C3Synapse board Figure 14 Figure 14 The system header of the C3Synapseboard There s no way for the software to get any feedback if these lines work properly Figure 15 Actually they have been already tested during manufacturing process so if you want to visually verify them you can plug some LEDs or use special LED tester shown in section 1 2 LED tester I you are going to develop software that uses the C3Synapse you might want to have a visual feedback of what you are doing 1 2012 Nurve Netuorle
3. am 185 0 iss smells 7 anal a Te a seis us 1 anal wus i sna t imis u 16s 76 v us 7 u eel u us e x 26229 79 sens me sen oo defU opening brace curly bracket 12 ile an orm p enine o vertical bar Bverber ms us 0 brace curly aru a28 ne ct tilde wr T7 delete DEL 80 Eure zor WE 3 xw 100008 Tow Jefe ising aingle quote 481390 in fF italie f function symbol frof sna ono Tew defe ring dole ute o HM dna a33 25 a5 dos horizontal ellipsis ses SS SAC3Synapsee pir Page s9 C3Synapse SRAM expar pa E 1x 17 im um ue m m m E EI m EI E EI ES E E E E EI E E 182 ES E 166 E E E 1m m m m m ns E E a az as EU us 216 17 22 zm
4. Figure 34 VEM music payer demo start screen Figure 36 VGM musie player demo playing screen Figure 37 VGM music player demo start screen You can find more information about VGM music in the support folder of this demo and at this link Andr LaMothe ZAC 3Synapse ae C3Synapse Manual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de Simone 6 2 Photo frame demo C38ynapse Demos CSSYNAPSE DVD ROM Root C3Synapse Software Demos C3synapse_Photoframe e This is basically slideshow It loads bmp bit indexed images from the SD card and show them on screen following a random sequence or the order read from the directory There are two transitions implemented Wipe and Immediate The first reveals the next image over the previous one like a wipe The second simply shows the next image all at once aver the previous one This demo uses the C3Synapse as a multiple page frame buffer and just interleaves the access ta SRAM chip between the TV driver and the main application that loads images from SD card You can find some useful color palettes within the support folder These color palettes are useful to convert images into the correct optimized palette 190x224xtbpp Figure 38 Photo frame demo cover Figure 40 Photo frame demo man 2 picture Figure 41 Photo frame demo Transformers 2 picture By Andr LaMothe Network LLC zx E ACS
5. ain 19162 tent pound sterling sign 141863 general currency aig ven sin dum Token vertical bar 19166 Mirari section spacing dieresia laut Buel copyright sion 43169 fesinine ordinal indicator defe double angle quote Haque gut Lenet J gteal not sign BIG et soft hyphen DNE registered tradesack sig ces pacing macron Jona accent 58175 desee ai pluscor ninus aion plone C3Synapse SRAM expar ion board for PropC3 unit WE ez oo superscript 2 NET ans denen superscript 3 DN aso spacing acute accent im micro sign BIBL am e6 onono paragraph sign pilerou aiga E8182 aes 287 middle det centered dot am ze 1erti spacing aes zm 089 superscript 1 272 otio masculine ordinal indicator Borde im os gren gt anale ate see zu ac m fein dA Braet ame 25 eD 09 o fraction 1 2 aso dein Fratton 376 zm verted question mark 300 11000000 A capital A grave a93 00 capital A acute i
6. zsa E F8 TITRE 0 seal u grave NETS aso sz Gamal u acute 19250 as1 xs 8 1 asa aT FC o y saa u areata or laut as sm dinneD seg acute 58253 ase me p anal thorn 14256 ms so 0 amall y dieresia or unlaut 3255 SAC3Synapsee c3Synapse SRAM expansion board for PropC3 unit 1 Schematics This section includes schematics of the C3Synapse circuit First let s see the Power LED a very basie circuit Figure 56 Pouer led Figure 56 Power LED circuit The first stage is the connection between the PropC3 C3Synapse and the expansion port The Schematic is in Figure 57 Port headers Synapse Ports E tat Header can be in 2 4 sub header if needed E or B positions 3 positions Header Gan Oe Ri 1 2 4 Sub Reader it needed headers IPA 305 Figure 57 C3Synapse headers circuits The PropC3 Port A carries Propellers pins P7 PO and it s connected to C3Synapse Data BUS PropC3 Port B carries Propeller pins P23 916 and connects only P16 P17 and P18 to the C3Synapse and is used as a control bus The PropC3 Tri ports and Analog port are pass through only and were added to leave these ports available over
7. SS SAC3Synapsee pps Page 20 C3Synapse Uxor SRAM expansion board for PropC3 unit rancesco de Sim E INSIDE THE C3SYNAPSE This section shows you how actually the CsSynapse works You will learn the functions of each IC and how it interfaces to the PropC3 At the end you will be ready to develop some programs that use your C3Synapse Ei The interface of the C3Synapse The CiSynapse board interfaces to the PropC3 with some lines of the bus Have a look at Figure 20 1 TXRA4640 PEDF abEx Figure 20 The C3Synapse headers Headers 2 and 3 are not used by the C3Synapse They are only carried on top for an easy use of them shares the same signals of the PrapC3 Bus through Header 1 instead In particular It uses lines from an Bit data bus while lines from P18 P16 are used to select all functions of the C3Synapse Figure 21 highlights these shared lines 0000000000088999 Figure 21 The C3Synapse PropC3 header 1f you are familiar with SPIN the following code can be used to access to the data lines and keep in mind that data bus is bidirectional Andr LaMothe Network Lic cS SYN PSE marene de mene Damor C3Synapse SRAM expansion board for PropC3 unit Ina 7 0 100000000 Byte to read INA 0 Gass outa 18 18 In this case you will have 3 bits only for the range of va
8. nds the value 1 1 of command decoder WenBufferLindexee INR 7 Get the bute value Pron BUS fe OUTA 18 16 Null this can be commented Sends a clock puls OUTA 18 18 MD CNT Sends the value E YE of command de OUTA E18 16 Noll this can be connented DIRA 7 0 e DATA DIR DUT Reser the direction to output As well as described in the previous sections lines marked with can be commented After the command Output Enable you use the Count command which doesn t drive directly the SRAM chip read write features Thus you automatically finalize the command on SRAM after having stored the value from the bus Even the read block routine is really fast The same happens when the repeat cycle will continue to the next byte In this way you have saved a lot of time Let s have look at the condensed routine PUB _rdBlock286 Chunk in index stddress Chunk 256 DIA 7 0 DIR IN Set direction of dats BUS te snp repeat 256 OUTA 18 16 CMD DE Sends the value I Yi cf command decoder HenBuffer index e INA 7 0 Cet the bute value from BUS UTA 18 16 z Sende the value 6 18 of command decoder pina Do DATRDIRLOUT Reset the direction to output This routine is fast but when you implement this algorithm in Propeller Assembly you will have a SUPER FAST block wr
9. videogames you can set the height of the screen to 192 pixels This will leave you more time for drawing on the frame buffer This driver source is heavily commented to help you in figuring out how it works TEST PAT Ulss Figure 48 The Test pattern picture showing on the screen You will find other TV drivers in the folder Drivers 3 Synapse Drivers C3SYNAPSE DVD ROM Root C3SynapselSoftwarelVDrivers C3Synapse TVOUT These drivers will let you learn how to use different techniques to use C3Synapse for Video generation They are enough commented to let you figure out its use Andr LaMothe Nurve Network LLC Em SSgnaepse e race deine Bamar C3Synapse nual Version 1 0 SRAM expansion board for PropC3 unit By Franc EXPANDING THE C3SYNAPSE This section will show you how the expansion header works and some possible ideas to take advantage from it Now It s time to talk about the expansion header located on top of the C3Synapse board On this header you wil find a number of signals used by the C3Synpase and multiplexed out to the header These signals can be used to facilitate additional expansion of the Synpase board Figure 49 Figure Expansion header As you can see from the picture above there are 3 groups of signals System Outputs and Power System lines are those lines that drive directly the SRAM chip Write Read and Clock These lines are dr
10. Before starting our trip in programming the C3Synapse want you to have look at some tutorials ve coded for you 3 Demos C3SYNAPSE DVD ROM Root Cisynapse Software Tutorial Fi Initializing the C3Synapse When you develop driver that uses the C3Synapse It is a good idea to create constants that represent direction of pins used by the C3Synapse So you wil define all possible commands for the command decoder for data and command direction and other useful temporary variables O OATA_DIR_OUT 1111 out data bus DATALDIRLIN 00000000 ir data bu CHODIR alll out yond pins 18 16 CU Nul 200 1001 z010 On cr 9 OD Er f addres CM sre addres CHO_SetLe sum dres CM Led aun van dong byte LosByte MidByte HighByte byte HesBuffer 258 PUB start Setup direction of control and data lines DIA 1 16 CHO DIR DIRA 7 07 DRTR DIR OUT ZAC 3Synepse C3Synapse rsion 10 SRAM expansion board for PropC3 unit By Francesco de Simone The code is really easy to understand The variable section sets some temporary variable to store values for address nibble and a buffer This is useful when we need to implement the write read block routine More on this later on F2 Thestatus LED routine As discussed before the Status LED was added to the C3Synapse for debugging purposes You can blink on and of
11. C3Syhapse SRAM Expansion Board for PropC3 Unit Programming and User Manual Version 1 0 07 12 2012 Author Francesco de Simone Digimorf Native ta forgive my English Andr LaMothe Nurve Network and 2 gt sAC3Synepse Francesco de Simone Digimor C3Synapse SRAM expansion board for C3Synapse User Manual v1 0 Copyright 2012 Nurve Networks LLC Digimorf Author Francesco de Simone All rights reserved No part of this user manual shall be reproduced stored in retrieval system or transmitted by any means electronic mechanical photocopying recording otherwise without written permission from the publisher No patent liability is assumed with respect to the user of the information contained herein Although every precaution has been taken in the preparation of this user manual the publisher and authors assume no responsibilty for errors or omissions Neither is any liability assumed for damages resulting from the use of the information contained herein Trademarks All terms mentioned in this user manual those are known to be trademarks or service marks have been appropriately capitalized Nurve Networks LLC and Digimorf cannot attest to the accuracy of this information Use of a term in this user manual should not be regarded as affecting the validity of any trademark or service mark Warning and Disclaimer Every effort has been
12. enena capital N ns e capital E mur enmeni 0 copivel 0 so no 0101000 capitat P euer 0 capitat 0 seni s2 ur 022 5 capitat E mo im 5 eei T istic as ns 0 eee senis s pe umano capital V istis 13 ST W E 5C3Sunepse pps Page 58 C3Synapse SRAM expar ion board for PropC3 unit 18b 8 X capital X sp capital Y isz sa 1 capital Z s deftopening square bracket sz im sc v eumine slash reverse solidus ns 1 Fiphe etlosing square bracket 29083 s st o1miiit0 caret spacing eircunflex accent E094 as 137 euni spacing underscore Tou Line 4095 se no o enims pacing prave accent Back A8096 LE se iez ez b s 62 lt mene 099 amali d Pig RE SENEC us ur 67 sens seii 5 NR NEST aos ast 1 seis aw 182 FIERA SENEC seit ise ec 1
13. zs EJ m m zs zs 27 2 E nz E EJ E 2r 258 EJ 356 257 ac s 36 sr EI sr m aT LI E RF a a 10001000 10001001 10001010 0901011 10001109 10001101 10001118 10010000 10010001 10010010 00 0011 10010100 1001010 10011000 1001001 10011010 1m 1801100 1001101 181110 10100000 0100001 1o ei 0300011 10100100 Imoo oer 10101000 10101010 10101100 mona moni 1010000 1912000 unit dagger mark double dagger mark Tetter modifying circumflex per thousand mille sion capital 3 caron hacel Jefe single angle quote mark Ase uilienet capital ligstce capital amp Tee aingle hi right FIS single quotation mark Fight single quotation mari left douile hi right rising double gusta n naci Fright double quotation mari Found filled bullet m dask d amall spacing tilde accent vada rk sigh amall caron kacek aingle ale ari guillenet is Tello ligature Lu capital Y dieresis or unlaut DONE mecbreskiog space averted exelanatien arit Reli
14. 7 0 300000000 Output direction for the data bus INPUT oum Ls 151 lines to prevent any accidental value value 2 Y af command decoder OUTA 18 18 000 Resets and finalizes the command on latch Byte value INA 7 0 the bute value fron the BUS The use of the CaSynapse is really easy As soon as you have mastered the access to the C3Synapse you can experiment different techniques For example if you want to read byte you can even omit the reset of command lines because if you read the datasheet of the SRAM chip you will learn that as soon as you assert the line the resulting data from memory is already available on the data bus This chip also has a buffer on the data bus that s why if you de assert OE it s stil possible to get data from the bus Even though I have shown you some shortcuts I suggest that initially when you are writing your first C3Synapse programs that you follow all the steps even If they aren t required Doing this makes cleaner code and less bugs Then once you feel comfortable with the CiSynapse s operation then you can start optimizing and using these tricks d Fran AC 3Synapse ji c3Synapse SRAM expansion board for PropC3 unit F PROGRAMMING THE C3SYNAPSE This section will show you basie demos how to use the C3Synapse At the end you will be able to develop your own driver for your applications
15. The C3Synapse has been designed on PropC3 format factor but is not mandatory that you use it only with the PropC3 Signals can be handled perfectly with other MCU such as Arduino Basic STAMP AVR etc You can use it with CPLD and FPGA too If you want for example to use it on an Arduino board Figure 51 you need some wires to connect the PropC3 data bus P7590 to a port of Arduino let s say PORT D 0 7 Then the three control ines to other three digital ports Le PORT B 10 8 Figure 51 35 and Arduino Duemilanove board Lastly you need to power up the C3Synapse with the three power lines Gnd 33v Sv Figure 52 illustrates a short example that blink the Status LED of the C3Synapse using Arduino Duemilanove and Arduino IDE Ara JG Figure 52 Arduino IDE with a blink program By Andr LaMothe Nurve Ne 3SYN PSE ed rece canon Damor c3Synapse SRAM expansion board for PropC3 unit C3SYNAPSE DRIVERS This section will show you how the expansion header works and some possible ideas to take advantage from it You can find two drivers inside the DVD ROM One is written in SPIN Language the other is in PASM language and of course i faster than the previous casynapse Drivers IC3SYNAPSE DVD ROM Root C3Synapse Software Drivers Both are heavily commented and I m sure you won t have problems in reading them Here include a summary of their f
16. channel of positive or negative charge to accumulate which is then used as the transistor action Most modern chips use the later type of transistor due to its lower power and cost The term static differentiates it from Dynamic RAM DRAM which must be periodically refreshed This makes them faster and lets them reach higher speed mounts an ISSILVS128AL LOTL I7 This IC has 512 K 8 memory cells 512 Kb and has an access time of 1005 which lets you reach the maximum speed of 100Mhz More than enough required for a Propeller based system ISGLVS128AL0TU Datasheet C3SYNAPSE DVD ROM Root 3synapse Hardware Components_Datasheets Integrated_Ciults IS61LV5128AL 10TLLpdf As all SRAMs do also this chip exhibits data permanence but it is stil volatile in the conventional sense that data is eventually lost when the memory is not powered Ifyou store data it will stil remain unless you disconnect the USB cable from the PropC3 Data still remain there even if You turn off power switch on the PropC3 This useful for debugging purposes because when you store data with ane SPIN program then you can upload another program that let you check memory locations and see if values were correctly stored Not bad EA The memory addressing system At this point we can see how this memory works inside the C3Synapse First of all have look at the pin configuration of ISSILVS128AL 10TU in Figure 27 Pins A7 40 are activ
17. n n 22 E Figure 24 Figure 25 Figure 26 Figure 27 Figure 28 Figure 28 Figure 30 C3Synapse SRAM expat sion board for PropC3 unit Status LED circuit SRAM IC ET SRAM Call 6 Transistors IS61LV5128AL pins configuration Low nibble addressing circuit latch Low nibble addressing circuit Low nibble addressing circuit sequential action Figure 31 Middle and high nibble addressing circuit latch Figure 32 Middle and high nibble addressing circuit Figure 33 Figure 35 Figure 36 Figure 37 Figure 39 Figure 40 SRAM circuit VGM music player demo music loader VGM music player demo playing screen VGM music layer demo start screen Photo frame demo art picture Photo frame demo Iron man 2 picture Figure 41 Photo frame demo Transformers 2 picture Figure 42 Photo frame demo Wolverine picture Figure 43 Figure 44 Figure 45 Figure 47 Figure 50 Photo frame demo tropical picture Photo frame demo Airwolf picture Photo frame demo Megan Fox picture Font demo example Middle and high nibble addressing circuit latch Figure 52 Arduino IDE with a blink program Figure 53 Figure 54 Figure SS Figure 56 Figure 57 Figure 58 Figure 59 Figure 60 PropC3 Micro SD card sot 268 Micro SD card SanDisk Kingston ete 168 268 is fin Casynapse TV driver color palette Power LED circuit headers circuits Command decoder IC1 SN74ACTA380
18. os o5 GOTI Eno os os or or or oono ae os i as Bs Backspace oa i1 HT orizontal Tab E ir GOOG LF Line Feed i emen YT Vertical Tab az FF Fore Feed ch Carriage Return ee shire out PINNAE NN Shite tn 2e is 00010000 Dats Link Escape XN Device Central 1 18 2212 C2 Device Control 2 1 23 SM DP XOFFDeviee Contrai 3 Device Control 4 25 Negative Relnouledgenent SMS Synchronous Taie 27 End of Black ze 3 OGMEIS Cel as a End of Hedin o2 im substitute 27 18 Escape x ic FS File Separator PIENE AR XN 1 w OR Rent te Send Record proie US Unit Separator x 001000 Space a exclamation mark de x double war IH dat maker aig anas e 8 dollar aig Bal ar as percent aign ims IRAE ANN das x xp eon apostrophe single quite mark 4a se defe opening parenthesis par C3Synapse SRAM expar ion board for Prop
19. AGREEMENT FOR C3SYNAPSE HARDWARE SOFTWARE EBOOKS AND USER MANUALS YOU SHOULD CAREFULLY READ THE FOLLOWING TERMS AND CONDITIONS BEFORE USING THIS PRODUCT IT CONTAINS SOFTWARE THE USE OF WHICH IS LICENSED BY NURVE NETWORKS LLC INC TO ITS CUSTOMERS FOR THEIR USE ONLY AS SET FORTH BELOW IF YOU DO NOT AGREE TO THE TERMS AND CONDITIONS OF THIS AGREEMENT DO NOT USE THE SOFTWARE OR HARDWARE USING ANY PART OF THE SOFTWARE OR HARDWARE INDICATES THAT YOU ACCEPT THESE TERMS GRANT OF LICENSE NURVE NETWORKS LLC the Licensor grants to you this personal limited non exclusive non transferable non assignable license solely to use in a single copy of the Licensed Works on a single computer for use by single concurrent user only and solely provided that you adhere to of the terms and conditions of this Agreement The foregoing is an express limited use license and not an assignment sale or other transfer of the Licensed Works or any Intellectual Property Rights of Licensor ASSENT By opening the and or packaging containing this software and or hardware you agree that this Agreement isa legally binding and valid contract agree to abide by the intellectual property laws and all of the terms and conditions of this Agreement and further agree to take all necessary steps to ensure that the terms and conditions of this Agreement are nat violated by any person or entity under your control or in your service OWNERSHIP OF SOFTWARE A
20. can easily modify the code to load more tiles from a bitmap In the Goodies directory on the DVD you will find a number of arcade bitmap font samples To use them you must convert them into bmp 8 bit Propeller indexed format Synapse Bonus Material CSSYNAPSE DVD ROM Root CSSynapselBonus MaterialMrcade bitmap fonts C3fonts Andr LaMothe Nur ZAC BS ynapse s Min C3Synapse Manual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de Si GA TV driver demo This TV driver is small NTSC video driver optimized for the C3Synapse It can display video at a resolution of 180x224 with full color bpp see Figure 48 below When drawing a scanline it simply reads the C3Synapse pages Demos CSSYNAPSE DVD ROM Root C3SynapselSoftwarel Demos C3Synapse TV A page is 256x256 bytes this let you treat the first byte of the address as x columns of pixels and the second byte as y rows of pixels The third byte of the address can be used as an index for pages for a page fling method which is used also in Photo frame demo As soon as the driver has drawn the last line in this case the 224th it trigs an interrupt that is used to interleave operation on the frame buffer In this way you can access the frame buffer without interfering the TV screen active period The interleaved time left for the user will increase if you reduce the active area scanlines For a typical resolution
21. in the Figure 28 below UT Nd 5C3Sunepse RES c3Synapse SRAM expansion board for PropC3 unit Manual Version 1 0 By Francesco de Simone The 7AHCIGID is latch counter IC that can store a 4 bit value in parallel using the Latch signal and then count sequentially using the Count signal 1 DVD ROM Root PDF CaSynapse Mardware Components_Datasheets Integrated_Clreuits 74HC161D 5 These two ICs are located on the left of the SRAM IC see Figure 29 below Figure 29 Low nibble addressing circuit It s time now to see how this stage works To latch a value into the counter we first need to provide 4 bit value on the data lines A C and D When these signals settle the signal LD LOAD active LOW must be asserted to store the value In the internal buffer of the counter IC When dealing with integrated circuits they operate very fast but nat infnitely fast thus it takes a finite amount of time usually measure in nanoseconds before signals stable and lt M propagate in the chip Those values are listed in the chip s data sheet under names such as holding time or settling time In this case the two ICs share the same LD line in this way the value in data lines is stored in two halves at the same time This signal is labeled SRAM_AO 7_CS and connects bath LD signals of C2 and IC3 to the comman
22. made to make this user manual as complete and as accurate as possible but no warranty or fitness is implied The information provided is an an as i basis The authors and the publisher shall have neither liability nor any responsibility to any person or entity with respect to any oss or damages arising from the information contained in this user manual The example companies organizations products domain names e mail addresses logos people places and events depicted herein are fictitious No association with any real company organization product domain name e mail address logo person place or event intended or should be inferred eBook License This electronic user manual may be printed for personal use and 1 copy may be made for archival purposes but may not be distributed by any means whatsoever sold resold In any form in whole or in parts Additionally the contents of the DVD this electronic user manual came on relating to the design development imagery any and all related subject matter pertaining to the C3Synapse board are copyrighted as well and may not be distributed in any way whatsoever in whole ar in part Individual programs are copyrighted by their respective owners and may require separate licensing SS SAC3Synapsee C3Synapse SRAM expansion board for PropC Licensing Terms amp Conditions NURVE NETWORKS LLC END USER LICENSE
23. or merge the Licensed Works 9 You may not remove alter deface overprint or otherwise obscure Licensor patent trademark service mark or copyright notices le You agree that the Licensed Works wil not be shipped transferred or exported into any other country or used in any manner prohibited by any government agency or any export laws restrictions or regulations 0 You may not publish or distribute in any form af electronic or printed communication the materials within or otherwise related to Licensed Works including but not limited to the object code documentation help files examples and benchmarks TERM This Agreement is effective until terminated You may terminate this Agreement at any time by uninstalling the Licensed Works and destroying all copies of the Licensed Works both HARDWARE and SOFTWARE Upon any termination you agree to uninstall the Licensed Works and return or destroy all copies of the Licensed Works any accompanying documentation and all other associated materials SAC3Synapsee c3Synapse SRAM expar ion board for PropC3 unit WARRANTIES AND DISCLAIMER EXCEPT AS EXPRESSLY PROVIDED OTHERWISE IN A WRITTEN AGREEMENT BETWEEN LICENSOR AND YOU THE LICENSED WORKS ARE NOW PROVIDED AS IS WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS OR IMPLIED INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE OR TH
24. the memory or as starting location for reading writing a memory block Now you will see how perform clocked auto Increment on low nibble low nibble clocking sequence 1C2 and IC3 can be clocked by trigging the clock signal to increment by 1 the value stored in their buffer Let s have a look atthe schematicin the Figure 30 When you pulse the signal Y3 of the command decoder the signal SRAM_A0 7_CNT will go through a NAND gate of ICA Which returns an HIGH signal and drives the CLK signal of IC2 and IC3 The value in buffer will be incremented by 1 Once this value reaches 15 on the next increment it overflows and a carry signal is triggered an pin 15 This RCO signal connected to ENT signal can be used to activate another 7 HC161 in cascade and IC3 are used to buffer value ranging from 0 to 255 and to count from nO to n1 within the range between O and 255 Andr LaMothe Nurve cS Synapse e Ju lanual Version 1 0 SRAM expansion board for PropC3 unit Figure 30 Low nibble addressing cicult sequential action Let s see how to do this in SPIN PUB nain Address Address 812ACF An arbitrary value within the memory address space Setup direction of Lanes SAC 3Synapse C3Synapse SRAM expansion board for PropC3 unit This first step has setup the Lou nibble to SCF nov we
25. use is extremely easy If you want to perform a write or a read action you simply have to pulse the corresponding signal Read and write lines driven by signal Y1 and Y2 of the command decoder As well as you do with other signals driven by ICI you need to send the correct value to It and then reset it to finalize the command Andr LaMothe N race deinen Bamar c3Synapse SRAM expansion board for PropC3 unit D Figure 33 SRAM circuit Now will show you how to perform the access to the C3Synapse for writing or reading 1 Write a byte to the C3Synapse PUB nain Byte value Byte value 308 direction of control lines DIM 18 16 1 Write a bute 0 Output direction for the data bus OUTPUT i 500390000 Resets lines to prevent any accidental value Lines to prevent any accidental value C3Synapse SRAM expansion board for PropC3 unit OUTA 7 0 value Prepare the byte value on the BUS OUTA 18 18 re 2081 Sends the value l Y1 of command decoder OUTA 18 16 2000 fe and finalizes the command on leteh 2 Read a byte from the C3Synapse PUB nain value Byte value s0 Setup direction of contrel Lines DIRA 18 16 se x111 Weite byte DIA
26. we really understand how it works at a high level as a low level so let s take a look at a single SRAM memory cell Static Random Access Memory SRAM is a type of semiconductor memory that uses bistable latching circuitry to store each bit The Figure 26 below shows a typical static cell circuit that stores one bit Figure 26 GT SRAM Cell 6 Transistors Each bit in an SRAM cellis stored using four transistors M1 M2 and M4 that form two cross coupled inverters This storage cell has two stable states which are used to denote D and 1 Two additional access transistors serve to control the access to a storage cell during read and write operations A typical SRAM uses six MOSFETs Metal Oxide Semiconductor Feld Effect Transistor to store each memory bit The C3Synapse uses 10 Transistors cells technology 101 instead By Andr LaMothe Network LLC e e c3Synapse SRAM expansion board for PropC3 unit Semiconductor theory is quite complex There are numerous types of transistors but they fall into two major categories Junction transistors and field effect transistors Junction transistors are constructed by creating N and P type materials and then literally placing them in contact with each other to create the transistor action Field effect transistors operate on a different premise where an electric field causes a
27. C3 unit st 28 ei TT rishv clening parenthesis ONES 52 Seil menm eme as ss aire dash Rehan serial decimal point stop E406 aper iod wo sr ar 7 vera slash virgata solidos IT del disco senis mox 1 usi so gx 2 E o disies 051 z m 4 052 ss ss 5 053 se 36 oueno 6 E soos 7 digit 7 sc 70 36 digita s n 3 digits E mom o ooma sala colos sa Gon 0S9 so m se oomo Teas than sion ait e j m jonne eal ais w v seni 7 greater than aot es question sark si too ao a RT synbal commercial at sign HM es tor A espital A 055 ss tz AE UI apitat E ce tor capital 0 Ll so gs m 10s LENA SN NE UU i espital W te 1 capital T m 2 e it 1 us
28. E WARRANTY OF NON INFRINGEMENT WITHOUT LIMITING THE FOREGOING LICENSOR MAKES NO WARRANTY THAT i THE LICENSED WORKS WILL MEET YOUR REQUIREMENTS i THE USE OF THE LICENSED WORKS WILL BE UNINTERRUPTED TIMELY SECURE OR ERROR FREE ii THE RESULTS THAT MAY BE OBTAINED FROM THE USE OF THE LICENSED WORKS WILL BE ACCURATE OR RELIABLE v THE QUALITY OF THE LICENSED WORKS WILL MEET YOUR EXPECTATIONS v ANY ERRORS IN THE LICENSED WORKS WILL BE CORRECTED AND OR vi YOU MAY USE PRACTICE EXECUTE OR ACCESS THE LICENSED WORKS WITHOUT VIOLATING THE INTELLECTUAL PROPERTY RIGHTS OF OTHERS SOME STATES OR JURISDICTIONS NOT ALLOW THE EXCLUSION OF IMPLIED WARRANTIES OR LIMITATIONS ON HOW LONG AN IMPLIED WARRANTY MAY LAST SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU IF CALIFORNIA LAW IS NOT HELD TO APPLY TO THIS AGREEMENT FOR ANY REASON THEN IN JURISDICTIONS WHERE WARRANTIES GUARANTEES REPRESENTATIONS AND OR CONDITIONS OF ANY TYPE MAY NOT DISCLAIMED ANY SUCH WARRANTY GUARANTEE REPRESENATION AND OR WARRANTY IS 1 HEREBY LIMITED TO THE PERIOD OF EITHER A Five 5 DAYS FROM THE DATE OF OPENING THE PACKAGE CONTAINING THE LICENSED WORKS 8 THE SHORTEST PERIOD ALLOWED BY LAW IN THE APPLICABLE JURISDICTION IF A FIVE 5 DAY LIMITATION WOULD BE UNENFORCEABLE AND 2 LICENSOR S SOLE LIABILITY FOR ANY BREACH OF ANY SUCH WARRANTY GUARANTEE REPRESENTATION AND OR CONDITION SHALL BE TO PROVIDE YOU WITH A NEW COPY OF THE LICENSED WORKS IN NO EVEN
29. LAX Serial Terminal program window The PropC3 firmware handles serial communications at 115 200 Baud so verify this value is set correctly and otherwise change it Also verify that the COM port number is the same you are using to program your Prop Basically the Parallax Serial Terminal window should ook similar to Figure 8 shown below Verify that you have the same settings you see here for Baud Rate check boxes and echo on your COM port will be different of course SS SAC3Synapsee pus c3Synapse SRAM expansion board for PropC3 unit Goma Badia e 1 DIR FF RTS cow l n52 le ax eos 9907 Pe Figure 8 Parallax Serial Terminal program IF you focus on another window or switch to another application running an Windows the terminal will be disabled and put in stand by mode To re enable it just go back to the fl terminal application usually ALT TAB keys and click on Enable button Now you can click inside the yellow input area on top of the window to enable keyboard input Perfect you are ready D 3 The first test of the C3Synapse execution phase In this section you will perform the Full Test to check if Synapse is working properly This will give you a first overview of the features of C3Synapse on your TV monitor and select the correct video source that came from the PropC3 Turn on the unit aso and you will see the power green LED of the C3Synapse boa
30. ND HARDWARE The Licensor and or affiliates or subsidiaries own certain rights that exist from time to time in this or any other jurisdiction whether foreign or domestic under patent law copyright law publicity rights law moral rights law trade secret law trademark law unfair competition law or other similar protections regardless of whether or not such rights or protections are registered or perfected he intellectual Property Rights in the computer software and hardware together with any related documentation including design systems and user and other materials for use in connection with such computer software and hardware in this package collectively the Licensed Works ALL INTELLECTUAL PROPERTY RIGHTS IN AND TO THE LICENSED WORKS ARE AND SHALL REMAIN IN LICENSOR RESTRICTION la You are expressly prohibited from copying modifying merging selling leasing redistributing assigning or transferring in any matter Licensed Works or any portion thereof 6 You may make a single of software materials within the package or otherwise related to Licensed Works only as required for backup purposes 9 You are also expressly prohibited from reverse engineering decompling translating disassembling deciphering decrypting or otherwise attempting to discover the source code of the Licensed Works as the Licensed Works contain proprietary material of Licensor You may not otherwise modify alter adapt port
31. Propeller chip This manual only covers the C3Synapse hardware and software demos that come with it If there is particular material that is beyond the scope of this manual 1 will refer you to one of the books above in many cases Of course hope you by default read the Propeller Reference Manual itself Otherwise you should start here at the Parallax Propeller site to see what s available online wwonw garallax com oropelier Specifically be sure ta review these documents especialy Propeller Manual from the Propeller Downloads link Propeller Datasheet from the Propeller Downloads link Propeller Questions amp Answers system from the Propeller Q amp A link Also there are a number of printed books about the Propeller you might want to piek up and read Programming and Customizing the Multicore Propeller Microcontroller Parallax Programming for the Propeller Powered HYDRA Andr LaMothe Programming the Propeller with Spin Beginners Guide to Parallel Processing Harprit Sandhu When you have familiarized with the Propeller microcontroller you should read carefully the manual Unleashing the Propeller C3 by Andr LaMothe WWW com Partals o Dounloads docs orodforopUnleashingrapelereav1 pdt Which will guide you in mastering PropC3 and then you will want to read this manual carefully Now you are ready to see what s included in the kit SAC3Synapsee C3Synapse SRAM expan
32. R2 alul zn oss tonnar w capital Y acute se oE diii capital THORN WS za GF smell sharp s az ligare dinem sella grave deve SAC3Synapsee pip Page 61 C3Synapse SRAM expar ion board for PropC3 unit ES amp iiie amp eel a acuto D 226 RE ez THO sella circus 2 xs zea 60 disresis or valet 14228 zea xs es amall a ring x EF a sell ae gere 2a1 elle cedilla 2a2 sb es 10000 amali grave p zx 4 e acute 18233 zn eR amall clreunflex t8 a sell e dieresia or la 34235 zm sse EE Teal grave p zw Tear sell i acute zm se iie 4 cirsusFlex D 2a9 octo areata or ala zsa NES EE 2 o selle ide zsa xe FE TIT anal grave zsa a rs acute 5 5 o tide tot F6 TIT Ro sell areata or 1826 Boul r FT p dineni ain zsa re 9 alash
33. SRAM chip which already has active low control ines we can examine each command selected by the multiplexer The line Y7 is named STATUS LED and connects directly to a led circuit Figure 59 This led is used for debug purposes Status led Figure 59 STATUS LED Circuit Then we have YS Y11 YIO which drive the latching systems to setup the address nibbles YB connected to some logic gates is used to clock the first latching system to make the value increment The following i the fist nibble latehing contrel Figure 60 5 SRAM expansion board for PropC3 unit Adress Latch Counter ABA Tey d Figure 60 Low nibble address circuit There are two counters buffers that handle 4 bits each they are connected in cascade so that the counting feature will send a carry bit to the second when the first overflows The Clock signal SRAM_AO 7_CNT is inverted through a NAND gate so that it becomes active HIGH and drive correctly the counter circuitry of counters The latch trigger instead remains active LOW but it also passes through 3 NAND gates and it s delayed a little it takes advantage of the time propagation inside the logic chip After some nanoseconds it trigs also the clock of counter This procedure makes the value in DATA 7 DATA 0 to stare in the buffer correctly The output lines of these two chips will configure according the internal value of the buffer and the co
34. Sunepse C3Synapse Manual Version 1 0 SRAM expansion board for PropC3 unit By francesco de Simone Figure 44 Photo frame demo Airwolf picture Figure 45 Photo frame demo Megan Fox picture The TV driver has a resolution of 180 224 pixels and it reads bytes from SRAM pages in real time Colors correspond to pixels at 1 1 this means that you can show all possible colors in the same line without color artifacts You can learn more on how the Propeller handles NTSC color in the section I1 C3Synapse TV driver color chart By Andr LaMothe Network LLC zx E ACSSunepse c3Synapse SRAM expansion board for PropC3 unit G3 Fontdemo This demo illustrates how to put tiles into the C3Synapseframe buffer To help develop this demo I implemented some simple functions that let you load font and use it rint string or a character at x y coordinates You must convert them into bmp 8 bit Propeller indexed format Demos C3SYNAPSE DVD ROM Root CaSynapse Software Demos C3synapse_Font_dema When you decide to change the set or the font bitmap the program simply loads it in and caches it in the Propellor s shared memory That tile set will be used until a new one is loaded Figure 46 Font demo 1 font set each character Figure 47 Font demo example This demo only loads 95 tiles characters from 32 to 127 inclusive but you
35. T SHALL LICENSOR OR ITS SUPPLIERS BE LIABLE TO YOU OR ANY THIRD PARTY FOR ANY SPECIAL INCIDENTAL INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND OR ANY DAMAGES WHATSOEVER INCLUDING WITHOUT LIMITATION THOSE RESULTING FROM LOSS OF USE DATA OR PROFITS WHETHER OR NOT LICENSOR HAD BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES AND ON ANY THEORY OF LIABILITY ARISING QUT OF OR IN CONNECTION WITH THE USE OF THE LICENSED WORKS SOME JURISDICTIONS PROHIBIT THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE ABOVE LIMITATIONS MAY NOT APPLY TO YOU THESE LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED REMEDY SEVERABILITY in the event any provision of this License Agreement is found to be invalid illegal or unenforceable the validity legality and enforceability of any of the remaining provisions shall not in any way be affected or impaired and a valid legal and enforceable provision of similar intent and economic impact shall be substituted therefore ENTIRE AGREEMENT This License Agreement sets forth the entire understanding and agreement between you and NURVE NETWORKS LLC supersedes all prior agreements whether writen or oral with respect to the Software and may be amended only in a writing signed by both parties NURVE NETWORKS LLC 12724 Rush Creek Lane Austin TX 78732 support nurve net www xgamestation com Support contacts support nurve net c3synap
36. can start fron this value to increment the location of menory Very Simple Later on in the manual you will learn how to write read a value on SRAM E4 3 The middle and high nibble latch Middle and High nibbles are handled by two 8 bits that store a value by asserting the CLK signal of the chip Let s have a look at the schematic in the Figure 31 shown below Figure 31 Middle and high nibble addressing circuit latch you can see from the schematic above there are two buffers 74HC374 ICS 1C6 used to handle the two nibbles of the memory address ZAC 3Synspse c3Synapse SRAM expansion board for PropC3 unit C3SYNAPSE DVD ROM Root Ss yapse ardware Compenents_Deashet intgated Crculs 74HC374 pal These two chips are located below the expansion header see Figure 32 below Figure 32 Middle and high nibble addressing circuit The first handles the middle nibble A15 A8 while the second ICS handles the three bits of the High nibble To latch a value on these chips is really simple you need only to send a value to the C3Synapse and pulse the SRAM_AB 15 CS and SRAM A16 18 CS signal These signals are driven by YA and YS of the command decoder Easy Let s see how to this in SPIN Andr LaMothe Nurve N uc Em SSgnaepse e rcc dena Damor C3Synapse mual Version 1 0 SRAM expansion board for PropC3 unit PUB main Address BIZACF fin arbitrar
37. ce it s the anly memory chip present The other two lines when active low just store read the value present in the data bus at the actual address present in the address lines These lines need to be reset after each read write operation so that you don t risk corrupting up data when changing the address if you want to go deeper and learn how all Cs present in the C3Synapse work you can find all datasheets in the DVD ROM Datasheets IC SYNAPSE DVD Root c3Synapse Hardware Components_Datasheets Uu Ise the Hardware fer you And ako everthing concerning the hardware ofthe C35yapse Gerber fles Eagle procis heit and LED tester data All the stuff present there is ruled by copyright laws and GNU license agreement SAC3Synapsee po C3Synapse Manual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de Simone 12 LED Tester If you would like to have cheap but useful tool to debug your programs for the C3Synapse you can build a LED tester Figure 63 You just need few LEDs and resistors wires and a breadboard Figure 63 LED tester on a little breadboard This circuit needs to be connected to the expansion header of the C3Synapse You follow the circuit diagram in Figure 65 to build your own Figure 64 LED tester connected to the C3Synapse This circuit is very basic and shouldn t need any explanation except for the values of the components used resistors from R1 t
38. circuit STATUS LED Circi Low nibble address circuit Figure 61 Middle and high nibble latching system Figure 62 SRAM interface circuit Figure 63 Figure 64 Figure 65 Figure 6 SAC3Synapsee LED tester on a little breadboard LED tester connected to the C3Synapse LED tester connected to the C3Synapse Custom LED Tester for the 5 24 as 25 26 x E 30 31 32 as as as a6 46 46 47 47 47 47 48 50 s2 sa sa 56 e e m 64 es 66 66 e e c3Synapse SRAM expansion board for PropC3 unit B INTRODUCTION Welcome to 5 Expansion Board is an expansion board designed for PARALLAX PropC3 Unit adds extra 512 of fast static RAM to PropC3 and gives to PropC3 the control of 5 extra output lines This hands on guide covers the design and hardware of the C3Synapse as well as demos and tutorials to get you going fast First and foremost the C3Synapse is an expansion board designed for PropC3 unit PropC3 is a Propeller based product so everything You know about the PropC3 and multicore Propeller microcontroller applies f you re a seasoned expert then you might just want to skim this manual focusing on the schematic and the main routines to access the board since that s all you need to get started This manual does not teach you Spin assembly language graphics or how to write drivers for the
39. command immediately to the Count command without any problems or glitches After the command Write Enable you use the Count command which doesn t drive directly the SRAM chip read write features Thus you automaticaly finalize the command on SRAM This is really cool because we can save a lot of processor cycles The same thing happens when the repeat cycle continue to the next byte Using this technique you saved a lot of time Now let s review the final optimized routine PUB _urBlock25 Chunk index a index _Setfddress Chunk 258 Buffer indexes Prcoare che byte value en AUS ME Sends the value 1 1 of comand decoder 16 CHOLENT Sends the value 6 Y6 of command decoder This is fast but if you convert it to assembly language it will run about 50 100 times faster However we can still optimize the algorithm itself by taking advantage of the Propellers internal counters to do some of the work for us eave itas an exercise for you advanced programmers to figure it out Andr LaMothe N uc e SSgnaepse e Zire dena Bamar C3Synapse rsion 10 SRAM expansion board for PropC3 unit de Simone Read block of bytes routine Keeping in mind the previous section you can code the same kind of routine for reading chunk a PUB _rdBlock286 Chunk in index 0 Sevfddress Chunk 258 DIRA 7 0 ie DIR IN Sex direction ot data BUS te input
40. d decoder IC1 port Y These ICs need also to be clocked once to buffer the value that s why the LD signal goes through some NAND gates that delay it and then it arrives to the NAND gate connected to the CLK signal which is always HIGH in this kind of access and By Andr LaMothe Nurve Network LLC 3Synepse and Francesco de Simone Digimorf Page 28 C3Synapse anual Version 1 0 SRAM expansion board for PropC3 unit produces a clock pulse on CLK signal of IC2 and IC3 You don t have to worry about generating this pulse because it s completely automatic Let s see now how to do it in SPIN PUB nain Address Address 812ACF Min arbitrary value within tha memory address space STFFFF Setup direction of lines DIRA 18 16 111 1 0 xin 7 0 100080000 Rese OUTA 16 15 3000 Reser Lines to prevent any accidental value lines to prevent any accidental value of the address OUTA 7 0 Address SFF Sends the low nibb OUTA 18 16 ie 2110 Sands the value 6 6 af command decoder OUTA 18 18 re 2000 Resets and finalizes the conmand on latch Signal SRAM_A0 7_CS needs to be asserted then de asserted to make ICI and 1C2 latch the value in input lines A Cand D ike a pulse As said before this is the way to set a value for the first nibble of the address This step may be used for a random access to
41. e high address lines pins from 07 1 00 are active high data lines while the chip control lines are CE OE and WE active low I s very simple to use this memory be SAC3Synapsee ae C3Synapse SRAM expansion board for PropC3 unit Address lines have been divided in 3 groups so that it is possible to control them with only 8 lines 3 have 3 nibbles to set for a complete address setup procedure LOW Nibble A7 A0 MIDDLE Nibble 15 eit HIGH Nibble A18 A16 bits We can setup the address in three times by sending 3 values to the C3Synapse through the data bus To build the whole address there is a different latch system for each nibble which must be activated to store each value The algorithm to setup the memory address is Step 1 Send low nibble value latch low nibble Step 2 Send middle nibble value latch middle nibble Step 3 Send high nibble value latch high nibble After this procedure the whole address is setup and memory location can be accessed for reading or writing That sald let s see how each latch system works E 4 1 The address low nibble latch Low nibble A7 A0 is handled by two 4 bits latch counters 1C2 IC3 that not only store a value but even has an internal counter This lets you setup the value and then you simply have to feed the counter with a clock pulse to advance in the address space Let s have a look at the schematic
42. est monitor as shown below Figure 18 image on TV Ss sAC3 Synapse C3Synapse SRAM expansion board for PropC3 unit Figure 18 The test pattern picture showed on the screen Note if you haven t inserted a SD card in the PropC3 SD card slot the program will prompt you to insert one to continue with the test Figure 19 1 2012 Narve Netuoris Digisor Figure 19 Insert SD Card message This phase af the test is important as well the previous tests If the program can t find a test SD card in the slot will retry to read the slot until you insert an SD card Additionally try ejecting and reinserting the SD card if there are read problems NS SAC3Synapsee pA C3Synapse SRAM expansion board for PropC3 unit The bitmap image showed on the screen is useful to quickly check if the overall function of the CaSynapse is correct In fact pixel data are stored in the C3Synapse s SRAM frame buffer and then read in real time and sent to the TV monitor This final test uses all features of the C3Synapse as fast as possible to really test it and make sure its 100 While the CaSynapse shows the image on the screen the system control lines Write Read and Clock are continuously accessed so if you had some LEDs connected to these lines you should see them stil works The test is now complete and we can go deeper in C3Synapse functions In the next section you will learn hox
43. f the Status LED when you need visual feed back on what s going on within the program a PUB _StatusLED_On 18 16 cha fed This command wall turn on the Statue LED This routine only turns on the status LED You can use this as is or within another routine that will blink the led a certain number of times If you need a routine to turn it off the following one will be for you program a PUB Null OUTA 18 18 re CHO Mull This connand will turn off the Status LED Another possible use of the status LED as a debugging tool is that you can also blink it n times to represent a number when needed Of course unless you are a cyborg trying to count an LED blinking 100 200 times isn t going to be easy Otherwise the blinking routine can be helpful to show a number by blinking the LED n times for example if you need to know the value of a byte PUB _StatusBLinks times pause duration n repeat n from to times 1 if duration gt D turn on if the period is greater than 5 nsee which ses hang Propeller OUTAL 8 16 CH Led sends 7 to 74138 to activate line 7 weitent ent ellefrog 1000 duration units or elio OUTALL8 16 Null waitent ent elicfran 000 ds O vo TALS vo activate Line 0 N C uso vaizs for milliseconds This routine blinks the Status LED n times where each blink has delay of duration milliseconds a
44. he PropC3 micro SD slot Figure 53 during the test procedure Figure 53 PropC3 Micro SD card slot The test micro SD card must be less than or equal to 468 This version of the PropC3 firmware doesn t support larger cards Figure 54 Figure 54 2GB Micra 50 card SanDisk Kingston ete 168 26 is fine Inside the DVD you can find the files needed by the test program and demas You can locate them inside each program folder under SD Card files for each demo CSSYNAPSE DVD ROM Root CaSynapse Software Drivers SD CARD CONTENT ZAC 3Synspse Page 54 C3Synapse SRAM expansion board for PropC3 unit 11 Support stuff Each demo has its support stuf That will let you better understand what is the demo about and eventually how to use that demo as a starting point for some other applications Demos support stuff IC3SYNAPSE DVD ROM Root CiSynapselSoftwarelDrivers Support you can find some music files players some useful support fles to use with Photoshop ete but you should focus on the use of the C3Synapse for each demo SAC3Synapsee C3Synapse SRAM expansion board for PropC3 unit 12 C3Synapse TV driver color chart The C35ynapse TV driver was coded to use color burst control signal 02 A This will give you the following color palette made by 96 colors plus 6 shades Figure 55 st se ose gt os se 500 s ose se mi dmn dan ndn
45. he same form factor and position of headers of the PropC3 and can be stacked perfectly on top By Andr LaMothe N uc E EL C3Synapse SRAM expansion board for PropC3 unit Composite BSE me Port Figure 5 Annotated PropCa Now that you have an idea of what goes where les move on and follow the next section to setup the C3Synapse and the PropC3 for the first time D 1 Mounting the C3Synapse on the PropC3 The following steps will guide you in mounting the C3Synapse on top of the PropC in order to work with it Follow E them carefully STEP 1 Make sure you follow these simple anti static precautions before handling the C3Synapse board metal window frame or similar with your finger before handling the PCB handle the edges of the and avoid touching microchips with your fingers STEP 2 Prepare your PropC3 on the table and take your C3Synapse out from the plastic anti static envelope You should see the interface pins on the bottom side of the board These pins have their corresponding headers on the Props Figure Andr LaMothe Nurve N uc e C3Synapse SRAM expansion board for PropC3 unit Figure 6 Bottom side of C3Synapse STEP 3 Once you have understood the correct orientation carefully position the C3Synapse on top of the PropC3 As you perform this operation be sure that all correspondi
46. ith the PropC3 and the C3Synapse H 1 Expansion examples We have Data bus to use system lines to drive the SRAM and some OUT lines Let s imagine you would like to have a second VGA port You can use the data bus P7 90 to drive signals for your external DAC then with system lines you can drive a latch that as soon as a Clock or Read signals occur put in its buffer the byte In this case you don t have do anything else than driving the C2Synapse counter to fetch bytes as if you were reading frame buffer You will update then the frame buffer in some interleaving mode during blank time of the video frame How you can use the OUT lines Hum you can multiply your VGA outs to 321 Do you like the idea to have 32 monitor connected to your ProgC3 Well nat impossible since with QUT lines you can drive a buffer to which is connected a multiplexing system which selects each DAC buffer for each VGA monitor Not bad the only problem would be the speed handling 32 monitor Of course this is an absurd but a potential example on what you could do Maybe more realistic example would be to drive dot matrix display circuitry that would access directly ta SRAM and would be driven with its own Cog You can do whatever you want with the C3Synapsel have fun release your imagination and ENJOY XCSSunspse Digimorf C3Synapse SRAM expansion board for PropC3 unit H2 C3Synapse and other microcontroller boards
47. iting routine By Andr LaMothe Nurve Netw SSgnaepse e rcc dena Bamar C3Synapse Manual Version 1 SRAM expansion board for PropC3 unit By Francesco de Si C3Synapse advanced programming The control lines of the C3Synapse have been configured so that you can use them at full speed by using COG s internal counters to drive each signal One example is used in the TV driver that uses 256x192 resolution You can find it inside the Driver folder of the DVD ROM Let see quickly how it can be done The most powerful feature of the C3Synapse is the sequential access for writing or reading bytes You can speed up drastically the access by driving the CNT and Read Write ines with the full speed of a counter Since you can associate a pin to counter you can trig one of the control signals with high frequencies Now will show you how to read bytes at full speed from C3Synapse Les look at control signals PINs Readi 010 Counter x011 You will have certainly noticed that these two commands have both bit number 1set So you can alternate bit O to trig repeatedly the Read and the Counter command That said you have to configure a counter to drive the bit 0 which is associated to P16 of the Propeller while you can keep the bit 1 P17 of the Propeller always set This is an advanced technique and you need to master Propeller Assembly language and the COG s counters configuration because the access to control lines mus
48. iven as you can imagine by the command decoder so are handled as you saw before in the manual CMDNUL 20 cm E om o Output lines are driven by ICS Figure 50 but this time you need to handle bits 7 3 You will have a combination of 32 values you can send with these lines so they are useful for activating some external device Figure 50 Middle and high nibble addressing circuit latch Andr LaMothe Nurve N c e BSYN PSE race dena Pamor C3Synapse SRAM expansion board for PropC3 unit In the following example you can send a value from O to 31 to the C3Synapse to activate ane af the 5 QUT lines PUB _SerQutLines Value OUTA 7 0 Value s1F lt lt 3 decoder is 18 Seti Sends the value 5 Y5 of Resets and finalizes the command on latch W s very simplet Last but not least there are extra power lines that can be use for your expansion Gnd 3 3 and Sv Be careful when using the extra power lines In order to use them safely and not overload the USB port make sure you have the PropC3 plugged to an external power supply or a powered USB Hub This ensures the PropC3 has enough power to supply the C3Synapse and anything else you might connect to it Keep in mind that you still have the PropC3 headers free sa you can still use the data bus shared w
49. just get a birds eye view of the board dr LaMothe Nurve Network LLC eS racc de inane c3Synapse SRAM expansion board for PropC3 unit a Power LED drj Rer roy ERR 1 FXA44640 PebF abEx Figure 4 C3Synapse board 1 Power LED It shows you when the board receives power from the PropC3 2 Status LED It turns on when you activate its line You can use for debugging purposes 8 Expansion header Here there are 5 out lines 3 system lines Read Write and Clock and power lines 3 3v Sv and GND that you can use to expand your C3Synapse 4 Interface header Here all the PropC3 bus lines are available for future use Refer to PropC3 dacs 5 Analogue header C3Synapse doesn t use these lines They are only carried on top of the C3Synapse for an easy use 6 Tri Ports header C3synapse doesn t use these lines They are only carried on top of the C3Synapse for an easy use synapse has been designed with stackable pass through headers to let you take advantage of the other resources of the PropC3 As you will learn later in this manual you lt A will be able to take the best from both boards for other projects Now take a look at Figure 5 below which is an annotated image of the PropC3 board Take a moment to review the Interfaces and connectors You probably already know the PropC3 but you should notice that the C3Synapse board has t
50. lues between 0 and 7 Thus you will have 8 commands that can be sent tothe C3Synapse cool We will come back to this later on in the manual in the programming section bits to send E2 The command decoder in order to control all functions of the C3Synapse you have to access to the command decoder with control lines associated to the pins P18 P16 Look at the schematic in Figure 22 the circuit is very simple fH Figure 22 C3Synapse command decoder stage Decoding the 3 address lines is accomplished by the 3 8 bit decoder ICL 749138 family chips According to the binary value read on CTRL_ lines will enable one of the n outputs active LOW These outputs are directly connected to the active LOW chip select line of each IC that drives the Static RAM Andr LaMothe N cS SUMO SES m ees de Smene Manual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de S 74 138 family datasheet IC3SYNAPSE DVD ROM Root J 38ynapse Hardware Components_Datasheets Integrated_Circults 741V338 pdf As you can see from the picture below Figure 23 you can find the C1 on PCB near the bus Baek E 22393332 Figure 23 Decoder stage The Propeller feeds the 3 bits labeled CTRI 2iCTRL 0 into the decoder 1C1 at inputs B C on pins 1 2 3 respectively Thus the binary value sent selec
51. nd between blinks there isa delay of pause milliseconds In this example elkfreq is divided by 1000 to compute milliseconds thus you can have any value for frequency Andr LaMothe N race dena Bamar C3Synapse rsion 10 SRAM expansion board for PropC3 unit de Simone F3 Set the memory address routine Atypical routine to setup a memory address sets each nibble of the address value but this isn t mandatory It depends on your application Eventhough the code below illustrates how to set all the nibbles and we have been doing this thru out the manual you are free to experiment and optimize to save space and speed up your code PUB _Setfiddress Address Migh yte Address gt gt 16 37 Sends the Low nibble of the add 70 LouByre OUTA 18 16 Sends the value 6 of command decoder OUTA 5 18 Ml fe ts and finalizes the command n Latch Senda the middle nibble cf the address outa 70 HidByre OUTA 18 18 Sends the value 4 4 of command decoder 0078 18 18 CHO Null Resets and finalizes the command en Latch Sends the high nibble of the address OUR 70 Highlute 18 16 CHO Seti Sende the value OUTA 18 18 CRO Null Resets and fin 7 5 of command decoder ies the command on Lateh This routine sets the hardware l
52. ndom access and sequential access 1 Randomly read byte SPIN routine t DIRA 7 0 DRTR DIR I Sets BUS direction to input OUTA 18 18 e CHO DE Sends che value 1 i of command decoder data IMA 7 0 OUTA 18 15 Null Rests and finalizes the command an latch DIRA 7 0 DRTR DIR DUT Reser the direction output This routine sets the address by calling a function previously defined Of course this wil waste some cog time but if you want to optimize performance you can embed the SetAddress function 2 Sequentially read byte SPIN routine data DIR IN Sets BUS dir Lis 15 CHODE Sends che value ion e input 17 11 af comand decoder Mull Resets and finalizes the command on latch DIRA 70 DRTR DIR OUT fo return da t the direction to output This routine only accesses to the memory for reading a byte If you need to increment the address instead of incrementing the internal variable linked to the address you can feed a clock pulse to the command decoder 1C1 on input OUTA 15 15 re CHO 0E Sends the value 1 Y1 of command decoder data INA 7 0 OUTA LIS 18 ie CRO Null Resets and finalizes the command on Latch DIRA 7 0 DRTR DIR DUT Fe Sends clock pul OUTA 18 18 a CHO Sends the value 6 YS cf command decoder OUTA LIB 18 CO Mull Resats and finalize
53. ng headers and pins are aligned then gently insert the board Until the pins are all seated ifthe pins don t insert easily try rocking the board a little to get the pins to slide in Take a moment to inspect all sides of the board to assure that all pins are perfectly inserted on thelr header See Figure 7 below 0 Figure 7 Views of the C3Synapse stacked on tog of the PropC3 There you go Nothing difficult really but every time you meunt unmount the C3Synapse on fram the PropC3 you should take care so that you won t damage pins or the boards The CSSynpase board mounts on top af the PropC3 however due to the tight clearance make sure to inspect the area above the PS 2 connector Its metal housing may come in contact with the underside of the C3Synapse PCB A simple safeguard it to place a piece of electrical tape under the C3Synpase or on top of the PS 2 s metal connector as show in Figure lac By Andr LaMothe Ne cS o de one Digimorf C3Synapse SRAM expansion board for PropC3 unit The first test of the C3Synapse setup phase ET You ore going to have your first test with the C3synapse To accomplish this task you need a TV video monitor that can catch the NTSC signal and of course the PC you use to program the PropC3 Let s see how to do it quickly Plug the video composite cable to Video out port of PropC3 to your NTSC moni
54. o R10 are 330 Ohm the LEDs are common 3mm round LEDs Figure 64 You can choose the colors you prefer By Andr LaMothe Network LLC e C3Synapse SRAM expansion board for PropC3 unit LED Tester LED Figure 65 LED tester connected to the C3Synapse 1 have built a tiny LED tester Figure 66 which uses SMD components You can find inside the DVD ROM a PCB bitmap I have used to build mine You will find also a sticker you can print on adhesive paper and put on top of the assembled LED tester PCB LED tester C3 SYNAPSE DVD Root 3Synapse Hardware LED_Tester C3 C3Synapse_LED_Tester_PCB png NG CiSynapse LED Tester Sticker jpg Excasunecst fum E X Tester for the C3Synapse SAC3Synapsee
55. ogie that drives the SRAM and stores each single value in separate variables for future use within the driver in fact you may see drivers that function in completely different ways there are always different ways to do the same thing You can also split this routine to three different modules giving you the control over each individual nibble PUB _SetLoufiddress Loufiyce oura 70 oum Ls 18 is 18 Address SFF UN Sero Sends the value 8 Y of command decoder OMM oe ts and finalizes the command en Latch For example the routine above sets only the low nibble of the address K s upto youl Cool Andr LaMothe N e BSgnaepse e race dena Bamar c3Synapse SRAM expansion board for PropC3 unit Francesco de Simone FA Write byte routine A byte can be written in two ways random access and sequential access Method 1 Randomly writing a byte routine Setfddress Address OUTA 7 0 data Prepare the byte value on the BUS OUTA 18 16 CHO ME Sende the value 1 YL of command decoder 15 16 Mall fe and finalizes the command an Latch This routine sets the address by calling a function previously defined Of course this will waste some cog time but if you want to optimize performance you can embed the SetAddress function Method 2 Sequentially writing byte routine OUTA 7 0 data Prepare the b
56. rd turning on See Figure 9 below Figure 9 Power LED when PropC3 powers up As soon as the program on the PropC3 starts the main menu should appear on your TV monitor screen Figure 10 By Andr LaMothe Nurve N ZAC 3Synapse c3Synapse SRAM expansion board for PropC3 unit Figure 10 C2Synapse test program main menu Option 1 performs a fll test while options from 2 to 10 perform single tests and should be used when you want to est each single feature To start the full test you need to activate the Serial Terminal program and type 1 in the yellow input area and a ha fon the TV monitor you should see 1 near the text Selection gt Figure 11 Figure 13 Virtual keyboard function Now press the ENTER key on terminal to confirm the option exactly as if you had a keyboard plugged to the PropC3 unit The full test starts and automatically performs all checks to verify that the C3Synapse board works properly It starts with three memory writing reading cycles The first cycle writes the byte 0x00 along the entire memory space For each write it reads the byte back to check ifthe written value is the same Figure 12 SAC3Synapsee C3Synapse 1 2012 Nurve Networks Digimon Figure 12 First memory write read test The second cycle tries to write byte OWAA along the entire memory space while the third ane tries to write the byte
57. re Demos Each demo is heavily commented and hopefully you won t have any problems figuring out what is going on there Since this book focuses on the C3Synapse only and programming we haven t had time to discuss topics like graphics sounds game development etc If you want to know more about these topics read Game Programming for the Propeller Powered HYDRA which can be downloaded for free from the link below WWW Sse psatxson ponsi vownlos va ap hsGaneDeonl 1 0 That will guide you in mastering the Propeller Then you should read the manual Unleashing the Propeller by Andr LaMothe WAW con rortaly downlais dcs ord oropnleshngPrapelerC3 pat That will help you in mastering the PropC3 and its devices Let s take a quick look at each demo and how they all work SS SAC3Synapsee C3Synapse SRAM expansion board for PropC3 unit Gi VGM player demo CSSynapse Demos C3SYNAPSE DVD ROM Root C3Synapse Saftware Demos C3Synapse_VGM_Player This is a musie player that plays SEGA MASTER SYSTEM VGM Video Game Music music fles This demo loads a list of files from the root folder of the SD card Then it plays music files in sequence using a PS2 keyboard connected to the PropC3 you can select previous and next track pause play the music and ext from application In this demo the C3Synapse is used to cache VGM music files and later readin real time during playback
58. s Diginer Figure 15 The OUT lines test There are 5 OUT lines that are checked following a binary counter up sequence If you had LEDs connected to these lines you would see this sequence 99000 00001 gt 00010 gt 00011 gt 00100 gt 00101 gt 00110 gt 00111 9 gt 11111 After this test the program will drive the system lines following this sequence Write gt Read Clock ZAC 3Synapse c3Synapse SRAM expansion board for PropC3 unit The last test is the Status LED test This LED is located on the right side of the C3Synapse near the middle of the board right header Figure 16 shows where this LED is Figure 16 The Status LED on the C3Synapse board In this test this LED will rapldly blink 10 times The screen will show you only that the test is performed Figure 17 You must check if the LED lights up No problem if you can t count how many times lights up the important is that it does 72012 Nave Networks Digimor Figure 17 The Status LED test screen At the end of the initial memory tests an image from the SD card is loaded into the C3Synapse memory and displayed on the NTSC monitor this wil give you a visual test to verify if the memory is working properly If the memory isn t working you will see problems visually very quickly Make sure you have test 50 card inserted into the SD card slot of the PropC3 You should see the T
59. s the command an latch return data t the direction to output As well as the write procedures this approach is useful to handle blocks of memory Andr LaMothe e 5 race dena Damar 5 mual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de Simone F6 Write block of bytes routine Let s say you want to handle the memory in chunks of 256 bytes You can implement a routine to read or write in sequence 256 bytes using the sequential access The SRAM chip has 512 so 2048 chunks of 256 bytes You can use the number of the chunk multiplied by 256 as address PUB _urBlock25 Chunk index index 0 Sethd ress Chunk 256 Buffer indexes Prcoare the byte valus an BUS ME Sends the value 1 Yl of command decoder DUT 18 16 CHO NGIL this can be commented Sends a clock pulse UTA Lit 15 CMD Sende the value E YB of comand decoder e OUTA E18 16 Null this can be commented Inthe code above notice that commented out some extra states that aren t needed Referring to the ines with the these code fragments between cach sub state put the decoder into neutral state where it s selecting no devices However since the decoder can only select one device at one time and the outputs are mutually exclusive we can skip the Null state and transition from the Write
60. se 11000010 capital eircuntlex is capital A tilde 196 oe Ci 00 A capital A dieresis oF unlav El 197 C5 capital A ring Bring asa ce iM capital AE Ligature ass 3er 7 capital C cedita Tei 08 ANGE E grave am sit capital E acute smi am s2 ch capital E eircuntlex capital E dieresia or unlaut sis CO TOT i capital T grove am 315 tooner capital T acute 8 cr oisi capital T Hein capital T dieresia or unlavt 49207 00 capital ETH ae ser 8 espital N tilde zo x2 capital 0 grave ss d espital 0 acute Mute ss o dine 8 capital 0 eircosflex men die zs ss 05 capital 0 ide mein ss 006 stooo capital O dieresia or unlavt 8216 unl sr or 0 multiplication sign 390 08 0 capital 0 slash ost capital U grave dev ze sz 0 espital U acute seis zg ss 08 0 capil U circumflex pu 220 334 oco G capital U dieresia or unlavt
61. se c3emulation com SS ZAC 3Synspse c3Synapse SRAM expansion board for PropC3 unit TABLES OF CONTENT Index INTRODUCTION C CONTENT OF THE C3SYNAPSE KIT Software CD with firmware divers and tools The DVD ROM contains everything you need to learn to use your brand new C3Synapse board D QUICK START GUIDE D 1 Mounting the C3Synapse on the PropC3 u D 2 The first test of the C3Synapse setup phase as The first test of the CSSynapse execution phase 14 E INSIDE THE COSYNAPSE E1 The interface of the C3Synapse n The command decoder 22 The core of the C3Synapse the 512Kbytes SRAM chip 25 EA The memory addressing system 26 E4A 1The address low nibble latch 27 4 2 The low nibble clocking sequence 29 43 The middle and high nibble latch a E 4 4 The memory reading and writing procedure F PROGRAMMING THE C3SYNAPSE Initializing the C3Synapse The status LED routine 37 Set the memory address routine FA Write byte routine Read byte routine 40 F6 Write block of bytes routine Read block of bytes routine a CiSynapse advanced programming a CaSynapse and PropellerGCC G C3SYNAPSE DEMOS VGM player demo SAC3Synapsee C3Synapse SRAM expan
62. sion board for PropC3 unit CONTENT OF THE C3SYNAPSE KIT Software CD with firmware drivers and tools The DVD ROM contains everything you need to learn to use your brand new C3Synapse DVD ROM Contents FTDI USB Windows drivers PARALLAX Propeller IDE v1 3 Test Firmware for PropC3 unit 1 Fes needed by the frmvare during tests e 1 Sriniassembly rer Kit PE Figure 1 DVD ROM Manuals Schematics 1 Goodies board This is the memory expansion board to be stacked on your PrapC3 see the Figure 2 below Figure 2 CaSynapse Board By Andr LaMothe Network LLC SYN PSE Jede Simone igor lanual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de D QUICK START GUIDE In this brief quick start guide we are going to review the C3Synopse briefly mount it on a PropC3 power it up TE and run the test demo This will confirm everything is working properly as well as familiarize you with the C3Synapse board itself First off take a look at Figure 3 which is your C3Synapse board Figure 3 The C3Synapse Board Take a detailed look at the C3Synapse by looking at Figure 4 which is an annotated image of the board Review all the Interfaces and location of various components Later we will drill down closer and each of the I O headers and chips used by the C3Synapse will be illustrated but for now
63. sion board for PropC3 unit Photoframe demo G3 Font demo TV driver demo H EXPANDING THE C3SYNAPSE Ha Expansion examples H2 Casynapse and other microcontroller boards 1 CSSYNAPSE DRIVERS APPENDICES AND BONUS MATERIAL 14 Howto create the micro SD card for test and demos 1i Support stuff 02 C Synapse TV driver color chart 14 Conversion table 14 Schematics 12 LED Tester Table of figures Figure 1 DVD ROM Figure 2 CaSynapse Board Figure 3 The C3Synapse Board Figure 4 C3Synapse board Figure 5 Annotated PropC3 Figure 6 Bottom side of C3Synapse Figure 7 Views of the C3Synapse stacked on top of the PropC3 Figure 8 Parallax Serial Terminal program Figure 9 Power LED when powers up Figure 10 C3Synapse test program main menu Figure 11 Virtual keyboard function Figure 12 First memory write read test Figure 13 Third Memory write read test Figure 14 The system header of the C3Synapseboard Figure 15 The OUT lines test Figure 16 The Status LED on the CaSynapse board Figure 17 The Status LED test screen Figure 18 The test pattern picture showed on the screen Figure 19 Insert SD Card message Figure 20 The C3Synapse headers Figure 21 The C3Synapse PropC3 header Figure 22 C3Synapse command decoder stage Figure 23 Decoder stage SAC3Synapsee ss s7 ri e 10 n 2 2 E E 16 16 E E 18 18 18 18
64. t be synchronized with the INA operation so you should calculate the amount clack cycles used by the byte reading loop iteration and the period of the frequency set for the counter Basically the sequence in pasm code is the following one TAT wi 00110 111 wa 1 E 256 nov feeb FreqSunapse data ine rbyte data non add ner dim o tread C3Synapse and PropellerGCC The Propeller chip can be programmed also with C C language thanks to the release of the PropGCC In the actual date June 2012 the beta version of the SimplelDE application has been released and it lets you to write program for several propeller based boards PropC3 and C3Synapse included In the section Tutorials of the DVD ROM you wil find all tutorials seen before in this manual written in C code You need only ta download and install Propeller GCC lad project fles and run each program by pressing FB key Andr LaMothe Nurve Network LLC ac SSgnaepse e rcc dena Bamar c3Synapse SRAM expansion board for PropC3 unit G C3SYNAPSE DEMOS This section will show you how the expansion header works and some possible ideas to take advantage from it P We have developed a number a demos to show off the C3Synapse and its capabilities you can find them here Casynapse Demos CSSYNAPSE DVD ROM Root CaSynapse Softwa
65. the board The CiSymapse has another expansion header JP4sJPS that gives the user some extra lines to use with possible expansions These lines The system lines that drive the SRAM chip Write Read and Clock The extra address lines unused by the SRAM chip The three power lines Gnd 3 3v 50 The C3Synapse is very easy to program and it takes advantage from the PropC3 unit using only 11 lines to drive the whole 512Kbytes space of Static RAM and 5 extra lines for expansion SAC3Synapsee Eo C3Synapse SRAM expansion board for PropC3 unit The 7 bits data lines used to carry information are used to setup the address of the SRAM chip in three separate times and are used obviously to carry actual bytes that go to and come from SRAM There is also special feature on the first nibble of the address A7 A0 The address here can be incremented by sending a clock pulse in this way you haven t to set all the address but simply clock it to increase the position in the SRAM chip in order to manage how to setup the address or data there is a Command decoder that multiplexes the control lines to drive 8 different actions in the C3Synapse The following is the command decoder stage Figure 58 Comman decoder The three control lines can code a value from 7 0 The multiplexer selects the corresponding out line This chip has active low out lines to make easier the access to
66. the line YO by decoder this will turn off the LED Then ue ui ending the value W to d Wait for another second 18 16 x000 waltent ene 50 000 000 2f ypu send this in Loop you will see pause of 1 second each tatus LED blanking vith a Now if you put this example in SPIN template you should have a program like the following one PUB nain DIRA 18 16 xiii scrive the line Y7 by sending the value TT to the decoder t for a second assuming the main clock is set to 18 16 x111 waitent ont 5000 000 Then ue uill active the Line YA by sending the value A to the decoder this will turn off the LED Then we ull vait for another second TF you send th pause of i second sach E ECSSunepse Mirman damn oer C3Synapse Manual Version 1 0 SRAM expansion board for PropC3 unit By Francesco de Simone This ls pretty right At this point you know how to send a command to the C3Synapse Now you can try making changes to this program to see how fast the LED can blink or try setting different delay values for OFF and ON status of the LED E3 The of the C3Synapse the 512Kbytes SRAM chip The core of this board is a parallel Static RAM chip that can store up to 12Kbytes of data You can see it in Figure 25 Figure 25 SRAM IC Since the C3Synapse is designed around this IC is important that
67. tor TV Video in port Confirm that the power switch of the PropC3 is in the OFF position to the right Now you can plug the USB mini cable to PropC3 USB port and to a free PC USB port assume that if you have a PropC3 you should have already used the Propeller Tool alse f Otherwise take some time to get familiar with it by reading some books docs on Propeller i When you are familiar with uploading a binary fle or a SPIN program on PropC3 you Its time now to burn the test firmware on PropC3 unit Open the Propeller Tool and navigate to the main menu Fle open Or simply press CTRL O keys Next locate the firmware file on DVD ROM C3Synapse Test Suite Firmware CSSYNAPSE DVD ROM Root C3Synapse Tools PropC3 Firmware eeprom After the load option is confirmed the Object Info window appears You can ignore all technical information about this file and simply click on the load EEPROM button The firmware will start burning into the PropC3 unit easy Before starting the full test session you need to activate the Serial Terminal program from the Propeller Tool It allows you to control the PropC3 via the PC keyboard over the USB serial connection In this way you wan t need an extra PS2 keyboard connected ta the PropC3 To open the Serial Terminal program select the menu Parallax Serial Terminal from Propeller Tool or simply press F12 key on the PC keyboard This opens the PARAL
68. ts lines Y7 0 to assert active LOW on the decoder These signals are referred in the schematic with the name of thelr function discussed later in this manual you need to send the command using the value of Yn and then 0 which corresponds to YO non connected to reset the decoder Therefore to select any of these lines the SPIN algorithm is very simpl Let s say ve uant to enable che CHO Line YL Thus ve need to send value 18 18 a good habit to reset the decoder after any connand has been sent If you send the value the line Y vill be selected but since it s not connected to anything every other linee Y will be reset 18 16 As you should have noticed the line 7 of the decoder is connected ta the Status LED circuit Figure 24 When the line is asserted active LOW it makes the LED turn on By Andr LaMothe N uc E 5 C3Synapse sion 1 0 SRAM expansion board for PropC3 unit de Simone Figure 24 Status LED circuit You already saw this LED at work during the full test now you know how to drive it and use it as a debug tool Let s see how Me vill active the line Y by sending the value 77 to the decoder chen ue will wait for second assuming the main clock ie set OUTA 18 18 ata waitent ent 50 000 Then ue uill active
69. unctions These are the functions for both drivers vou can see some dummy parameters for methods because both drivers are the same for compatibility reason _ 0107 Interface PUB start okay PUB init PUB SRM SetAddress Address dummy umnu PUB SRAM SettUT OurAddress dunn PUB SARK _SetLow Nibble PUB SARK Sethid Nabble dunn dumut PUB SRM SetHigh Nibble dumut PUB SRM FillBute Address data length PUB SAM rite Block Rddress Length menPtr PUB Read Block Length menPtr PUB SRAM HrByte Address data PUB SRAM duce Address dunn dumny PUB _StatusBlinks num duration pause PUB _StatusLED dumy dummgl dumm Gunny dunayt dummy The only difference between the SPIN code and the PASM one is that the second runs on a separate COG so that it can take advantage of having full speed LaMothe Nurve N cS SYMSPSEC e ang francesco de simone f C3Synapse SRAM expansion board for PropC3 unit 1 APPENDICES AND GOODIES This provides you some useful information for your work with the C3Synapse and the PropC3 charts tables ete Hove fun ld How to create the micro SD card for test and demos The automated Full test program reads some files from an SD card Figure S4 which needs to be inserted in t
70. unter configuration Then we have the other two nibbles of the address that are handled by two buffers The following is the schematic of this stage Figure 61 SAC3Synapsee C3synapse SRAM expansion board for PropC3 unit Pedrose Latch aa AIS Md Figure 61 Middle and high nibble latching system This is very simple the bits present in the data bus are stored in each buffer when the clock line i triggered by the command decoder ICG handles the address nibble A15 48 while ICS handles the remaining 3 bits of the address S12Kb 19 bits The remaining 5 lines of this IC are still addressable but aren t connected to the SRAM IC They are used as extra output lines for the Cisynapse In this way you can use those lines to latch some other external system You need to pay attention in setting up these lines because you may risk to Interfere with the SRAM address you should logically OR these lines with the address or use them while the address system is not used Last least but not least there is the SRAM chip SPAY nodule SAC3Synapsee C3Synapse SRAM expansion board for PropC3 unit This 1C has ST2Kbytes of memory and is controlled by only lines Write Enable Output Enable Chip Select Let s see the schematic in Figure 62 As you can see the line CS is always active in this way the chip is always selected No need to be inactive in the C3Synapse sin
71. y value within the memory address space 500000 STIFF Setup direction of Lines 15 18 x111 DIRA 7 0 211011111 UTA 7 0 300000000 Resets lines to prevent any accidental value OUTA 18 16 x00 Resets lines to prevent any accidental value Sends value S2R C3Synapse and pulse the control signal OUTA 7 0 Address gt gt 8 asFF Sende the middle nibble of the address OUTA 18 18 x100 Sends the value 4 4 of command decoder OUTA 18 18 2000 Resets and finalizes the command on latch ends value 21 to C3Synapse and pulse the control signal OUTA 7 0 ddeessel as Sends the high nibble of the address 18 18 te X101 Sends the value S YS af command decoder OUTA 18 i6 ie 2000 Resets and finalizes the command on latch Very Simplet E44 The memory reading and writing procedure 1 have already introduced the Static RAM IC used by the C3Synapse It s necessary to understand haw to setup the address before reading and writing a value from into memory so if something is not clear go back in this section and read Now that you know how to setup an address in memory it s time now to learn how to actually access to memory for reading or writing 1C7 has only 2 functions that can be controlled Write and Read As you can see from the schematic in Figure 33 below this chip is always enabled CE signal is active LOW so its
72. yte value on the BUS OUTA 18 18 re CO ME Sends the value 1 Yi of command decoder OUTA 18 18 se CHO Mull Resets and finalizes the command on Latch Let s take a moment to clarify the code above It writes data at the last location loaded into the address latch buffers it does nothing more Therefore you need to make sure that you have previously set them to the correct staring address You want to write at Furthermore after you write the data then typically you will want to update the address and Continue the sequential data access which is discussed below if you need to increment the address instead of incrementing the internal variable linked to the address you can feed a clock pulse to the command decoder IC PUB _urByte Address data OUTA 7 0 data Prepare the byte value an the BUS OUTA 15 18 s CHOME Sends the value I Yl of command decoder OUTA 18 18 re Mull Resets and finalizes the command on latch Sends clock pulse OUTA 18 18 ie Sends the value OUTA 18 16 Null Resets and finali 16 of connand decoder is the command on latch This approach is useful to handle blocks of memory Very cool By Andr LaMothe EXC3SSunspse and Francesco de Simone Digimor C3synapse SRAM expansion board for PropC3 unit By Francesco de Simone FS Read byte routine Abyte can be read in two ways Ra

Download Pdf Manuals

image

Related Search

Related Contents

  Informe final de la Red de Trigo  Avis HAS  Novus TSS Duo  2000 chevrolet venture owner`s manual  Edimax AR-7084gB  OM, Gardena, Pompa per fontana da giardino, Art 07630  Chapter 33 Lights  Brute Pressure Washer Operating instructions  Iwill MP4S-1394 Motherboard  

Copyright © All rights reserved.
Failed to retrieve file