Shock Media

Navigatie

FPGA/CPLD uitbreidings bordje

Forum > Ontwikkeling > FPGA/CPLD uitbreidings bordje 1 | 2 | Volgende >>
Naam Bericht
Mr GAmba
Special Member

Aangezien er nu een aantal mensen een MAXII CPLD bordje hebben, en ook een aantal een DE1 bordje, lijkt het mij wel een goed idee om hiervoor een uitbreidingsbordje te maken waarop een aantal basis componenten zitten die bij het ontwerpen van pas komen.

Nu is mijn vraag aan jullie, wat voor componenten zouden jullie hier graag op zien zitten ?

Ik zat o.a. de denken aan:
LCD (karakter / grafisch)
Rotary encoders (draaiknoppen met/zonder klik)
4x4 toetsenbord
RS232 poort
IR poort (bidirectioneel)
LED's (Matrix, rij, 7-segment)

En als eventuele extra uitbreidingen:
VGA-poort (64kleuren, 800x600)
433Mhz modules
Grote LED matrix (7x??, voor lichtkranten)
PS/2 (toetsenbord)
Vermogenstrappen (transistoren/fets/triacs/relais)

Mijn idee is dus om 1 echte uitbreidingskaart te maken, met daarop dus het eerste rijtje met elektronica, en losse printje met daarop de elektronica die minder vaak gebruikt wordt / al aanwezig is op de DE 1 kit.

Aangezien jullie misschien andere opvatting hierover hebben, zou ik ook graag jullie mening hierover hebben. Wat vinden jullie belangrijke elektronica die tijdens het ontwikkelen handig is, en wat is juist weer niet nodig.

Zoals een aantal van jullie misschien al wel weten heb ik momenteel een eigen webshop waar de MAXII en DE1 verkocht worden, de bedoeling is om van dit product een veelzijdig systeem te maken waar veel mensen met plezier mee kunnen "spelen". De bordjes zullen dan uiteindelijk ook door mij verkocht gaan worden. Uiteraard niet tegen de hoogste prijs, maar met een kleine winstmarge zodat ik iig de ontwikkelingskosten eruit kan halen. Voordeel hiervan is dat ze "altijd" beschikbaar zijn, en niet alleen tijdens inkoopacties.
MAXII op voorraad ! - MAXII webshop - 3D render van je print?
Mr. SnuGGelS

Klinkt heel interessant in ieder geval. Misschien is het nog een idee om een van de volgende dingen toe te voegen:

- SPI ADC (10 of 12 bits oid)
- SPI DAC (10 of 12 bits oid)
- SRAM chip van aantal kbit
- SD kaart interface

Afhankelijk van de prijs van het bord hier wel interesse!
fotoopa

Er is nogal wat verschil in mogelijkheden tussen de DE1 en de MAXII boardjes. Daarom mijn voorkeur:

LCD 2x16 char (of 4x20 maar dit maakt geen hardware verschil) Ik zou geen grafische display gebruiken omdat de MAXII geen interne RAM heeft. Als je die moet aanmaken met de beschikbare LE's ga je veel te snel vollopen.

Ookzo voor de VGA. Vanwege geen interne RAM is die niet geschikt voor de MAXII, terwijl op de DE1 die reeds voorhanden is.

Rotary encoders voorkeur 2 stuks dit zijn 4 ingangen die je nodig hebt.

4x4 matrix keyboardje aansluiten via 4 pullup weerstandjes en 4 ingangen en je bent klaar -> zeker doen.

RS232 poort twijfel ik een beetje, eigenlijk zou ik liever de bestaande versie USB zien die reeds in een IA actie verdeeld geweest is, maar anders is een gewone RS232 zeker niet duur en je hebt ook weinig pinnen nodig.

7 segment led display zou ik wel voorzien. Voorkeur gaat naar de versie die Xantus reeds in de cyclone kit gebruikt heeft met 4 digits. je hebt 12 pinnen nodig en 4 kleine fets.

IR poort zou ik een lage prioriteit geven, is er nog plaats, oké anders niet.

Zelfde voor PS2, eigenlijk is de MAXII wat aan de kleine kant. Zit ook al stadaard op de DE1, ik heb hem buiten het testen nog nooit praktisch gebruikt. De 4x4 keyboard daarentegen altijd.

Vermogentrappen, zeker. Neem enkele FETS liest min 0.5A of meer. Een voudig aan te sturen en altijd ergens geschikt voor. Kijk wel voor het logic level en tracht minimaal 50V of meer toelaadbare spanning op de uitgang.

Maak het uitbereidingsbordje niet te klein, veel liever wat clasieke componenten die iedereen kan solderen en zorg voor voldoende plaats; Anders zijn er weer een hele hoop die er een rotshooitje van zullen maken.

433MHz module is zeker aan te bevelen, vergt weinig plaats en slechts 1 pin. Ik heb hiervoor reeds de volledige driver geschreven.

Ook zo voor de 1-wire ic's zoals de ds18B20 temperatuur sensor. Ik ben bezig aan het schrijven van de driver, kost je slechts 1 I/O pin en je kunt meerdere devices op aansluiten, ook andere functie's.

De aanbeveling van I2C componenten zoals ram of AD, DA's is ook aan te bevelen. weer weinig pinnen nodig en brede waaier aan mogelijkheden.

Plaats de I/O connector minstens een zoals op de DE1, dus met de pinheader bovenaan anders is de pinout voor de flatkabel niet compatiebel. Er zijn er die hem reeds onderaan geplaatst hebben maar dit is zeker niet aan te raden.

Plaats een power connector 7..9V en 5V regulator op de I/O print zodat je de MAXII niet over de USB moet blijven voeden. Plaats eventueel een kleine jumper op die 5V zodat je hem gemakkelijk kunt uitschakelen als hij aan de USB lijn hangt.
FPGA voorbeelden
Mr GAmba
Special Member

Voor de componenten was ik idd van plan om zoveel mogelijk through-hole te gebruiken, maar met gebruik van FT232RL chipjes kom je daar niet meer mee weg. Zo ook voor evt vermogensfets, die zijn er in hele mooie SMD uitvoeringen.

Aansluiting sowieso via de "terasic" 40pins layout

Geheugen uitbreiding met een SD kaart lijkt me ook handig.

1-wire bus zou idd ook wel tof zijn, dan heb je een hoop mogelijkheden.

SRAM is misschien ook wel tof, daar heb ik al wel een idee voor, maar moet even kijken hoe je die chips precies aanstuurt.

Een SPI interface met AD en DA chips kan ook, maar heeft I2C dan geen voorkeur ?
MAXII op voorraad ! - MAXII webshop - 3D render van je print?
fotoopa

quote:
Op 3 juli 2008 17:33:21 schreef Mr GAmba:Geheugen uitbreiding met een SD kaart lijkt me ook handig.

Veel te zwaar protocol voor een MAXII, gewoon niet haalbaar. Zal uiteindelijk niemand gebruiken vanwege te weinig resources.

I2C of SPI is gewoon een kwestie van de driver. Hardware maakt het weinig uit.

SRAM is mooi maar vraagt nogal wat pin resources. Ik heb hier heel wat oude DIL SRAM's met 24/28/32 pins. Maar die oude zijn dan weer op 5V. Hoewel met een kleine serie weerstand op de databus zijn ze wel te gebruiken zijn op de 3.3V interface. Anders kun je ook een dlatch gebruiken voor het adres in 2 maal te bepalen om het aantal I/O lijnen te beperken en de grotere chips voorzien zoals DIL 512Kx8 SRAM versie's.
FPGA voorbeelden
rew

Ik zou graag een "standaard" connector op het FPGA bord gebruiken. Dan verschillende kleine uitbreidingsbordjes, zodat je kunt kiezen welke je gebruikt.

Verder hoop ik dan dat die uitbreidingsbordjes zo goedkoop worden dat je een setje van die dingen op voorraad kan hebben, en dus bij mekaar kan prikken wat je op dat moment wilt hebben....

[edit] Oh, als standaard connector gebruik ik: een 2x10 header met pin 1 en 2 GND en 19 en 20 VCC (3.3 of 5V).

Ik heb hier al de "uitbreidingsbordjes": 16 leds en nog een paar voor.....
[Bericht gewijzigd door rew op 4 juli 2008 11:34:13]
four NANDS do make a NOR
KaRaMBa

quote:
Op 3 juli 2008 17:57:03 schreef fotoopa:
quote:
Geheugen uitbreiding met een SD kaart lijkt me ook handig.

Veel te zwaar protocol voor een MAXII, gewoon niet haalbaar. Zal uiteindelijk niemand gebruiken vanwege te weinig resources.

I2C of SPI is gewoon een kwestie van de driver. Hardware maakt het weinig uit.

SD kaartjes kun je toch gewoon met SPI lezen/schrijven?
fotoopa

quote:
Op 4 juli 2008 11:53:48 schreef KaRaMBa:[...]SD kaartjes kun je toch gewoon met SPI lezen/schrijven?

SPI op zich is geen probleem maar je moet de data nog in zijn juiste vorm klaar stomen. Het is niet zoals op de PC waar je een uitgebereide bestaande bibliotheek kunt gebruiken. Lost maar eens het files systeem op puur in je MAXII boardje.

Anders mag je wel een voorbeeldje geven..... van een oplossing en hoeveel LE's je nodig hebt.
FPGA voorbeelden
Uranium

quote:
Op 4 juli 2008 13:25:43 schreef fotoopa:
[...]
SPI op zich is geen probleem maar je moet de data nog in zijn juiste vorm klaar stomen. Het is niet zoals op de PC waar je een uitgebereide bestaande bibliotheek kunt gebruiken. Lost maar eens het files systeem op puur in je MAXII boardje.

Anders mag je wel een voorbeeldje geven..... van een oplossing en hoeveel LE's je nodig hebt.


Niets belet je toch om geen file system gebruiken, mar bv gewoon, afbeelding 32 voor op de lcd staat van sector 500 tot sector 554.
fotoopa

Dat is idd de meest eenvoudige vorm. Hoeveel LE's dit zou kosten weet ik niet maar je hebt intern geen beschikbare ram. Anderzijds heb je wel flash op de MAXII en die kan je dan wel gebruiken voor beperkte LCD toepassingen. Maar full grafisch zal je snel aan de beperkingen zitten.

Een MAXII boardje is buitengewoon leuk om mee te werken maar je mag er niet alles van verwachten. Anders moet je overgaan naar de DE1 waar je dan meteen alles reeds onboard hebt. Ook de SD card zit daarop.

Maar goed ik heb geen echt voorbeeld van een praktische realisatie op een MAXII van een bruikbare SD interface. Zodra ik een werkend voorbeeld tegenkom zou ik wel overtuigd zijn.

De andere I/O headers gebruiken voor uitbereidingen is wel een aanrader. Zo kan je wel eenvoudig een RAM,FLASH of DA/AD aansluiten op vb de 20 pins op de zijkant van de MAXII. Als je ram wilt gebruiken moet die liefst 8bit parallel beschikbaar zijn. Heb je die dan kan een grafisch display wel goed draaien. Ik heb daarvan al vroeger werkende versie's gegeven en die staan trouwens nog op mijn site. Weliswaar waren ze voor de BlueBird Xantus board maar mits beschikbare ram kunnen ze dan ook op de MAXII. Een MAXII beschikt ook niet over PLL mogelijkheden. Dus daar ben je minder flexibel voor het genereren van verschillende clocks.
FPGA voorbeelden
djoveld

Als je voor het 7-segment display hetzelfde type gaat gebruiken als op xantus zijn board dan zou ik je willen vragen om die displays ook los op je webshop aan te bieden, ik heb er een paar nodig voor een prototype maar heb geen zin om er een complete order van te maken...

Misschien is het wel een goed idee om ook andere componenten die voor andere projecten bruikbaar zijn los aan te gaan bieden als je er tenminste genoeg van in huis hebt...
Makkelijk beginnen met AVR : Kijk eens op www.meeps.nl
fotoopa

TSOP1736 zou ik ook voorzien. Heeft slechts 1 I/O pin nodig, weinig componenten, lowcost en gemakkelijk soldeerbaar. Ik heb de verilog werkende routines hiervoor. Altijd mooi als je via een TV AF bediening je toepassing kunt sturen.

Ik heb hier 3 boarden, dus zeker kandidaat voor meerdere I/O printen!

Update:

Ik heb net de temperatuur sensor uitgewerkt voor het MAXII boardje zie: http://www.circuitsonline.net/forum/view/63082
De routines kunnen gedownload worden van het project inclusief de modules voor het 1-wire protocol interface van de ds18b20 sensor.
[Bericht gewijzigd door fotoopa op 4 juli 2008 22:37:51]
FPGA voorbeelden
Eagle666

@footopa: u opperde al meerdere keren dat bepaalde zaken niet konden wegens gebrek aan interne ram. Zou het plaatsen van externe ram op een uitbereidingsboardje dan niet een oplossing zijn? (externe ram erbij en dan wel een grafische display mogelijk?)
fotoopa

Ja natuurlijk heb je dan meer mogelijkheden maar je moet oppassen met de totaalprijs. Je komt soms snel aan een veel hogere prijs met veel minder mogelijkheden dan die van de DE1 waar een heel groot verschil is. 2000 LE's tov 20.000 LE's is 10 maal meer en we spreken nog niet van de andere elementen die dezelfde verhouding liggen. Je mag een CPLD niet vergelijken met een FPGA (interne ram, pll, hardware multiplayers, meerdere clokken, LVDS support enz).

Maar terug voor de CPLD MAXII. Dit is de laagste entry level en bevat voor de meesten reeds enorme mogelijkheden. Maar je moet een beetje je toepassingen kiezen. Gebruik een LCD character display en je hebt een zee van mogelijkheden. Laat het grafisch display eerder aan de grotere boards.

Met wat trekken en duwen ga je wel een grafisch display 4.3" aansluiten. Er zullen er altijd wel zijn die zoiets met succes kunnen integreren maar dit is dan niet zozeer voor de massa of de startende gebruiker. Al je I/O's gaan al snel opgebruikt zijn als je daar teveel extern geheugen moet bijplakken terwijl je een aaneenschakeling van allemaal kleine interfaces gaat gaan maken die onderling weer moeten verbonden worden met pluggen en kabels. Dit maakt het weer duur.

Een goede keuze van een I/O uitbereidingsboardje met accent op I/O drivers (fet uitgangen kunnen veel verschillende zaken sturen) een 7 segments display is uitstekend voor vele toepassingen en een ideale start om te leren programeren voor de nieuwkomers, en dan de kleine lowcost interfaces brengen je een zee van mogelijkheden zoals die temperatuur sensor (3 pootjes, 1 weerstand, 1 I/O pin en minder dan 1 euro), evenzo voor een TSOP1736, een RX433 module aansluiting, enkele rotary encoder, matrix keyboard,een header voor de LCD enz. Daar kunnen heel velen mee werken en de kosten zijn laag.

Maar blijft realistisch en praktisch. Anders maakt je een duur luchtkasteel. Denk eraan, zo een boardje is vooral bedoeld om te leren omgaan met deze nieuw hardware.
FPGA voorbeelden
fotoopa

quote:
Op 3 juli 2008 17:33:21 schreef Mr GAmba:Een SPI interface met AD en DA chips kan ook, maar heeft I2C dan geen voorkeur ?
Ik denk dat er idd meer I2C chips gebruikt worden. Ik heb tot heden nog nooit iets gebruikt samen met een CPLD of FPGA. Dus wordt het tijd om dit eens te testen en wat verilog code voor te schrijven. Ik heb hier nog wat van die chips liggen, ik dacht een 8 bit I2C I/O. Ik ga hem even opvissen en op het interface boardje plaatsen samen met een paar ledjes of druktoetsen. Als het klaar is post ik wel de code in de MAXII toepassingen topic.

Update:
Ik zie dat de I2C chips doorgaans 5V versie's zijn. Om de SCL en SDA lijnen goed te interfacen zou je 2 kleine fets moeten voorzien en 4 weerstanden als level convertor. Dan heb je de 3.3V interface aan de MAXII zijde en de 5V aan de I2C zijde. Plaats je deze komponenten dan heb je de mogelijkeid om gelijk welk boardje te interfacen die I2C aansluitingen heeft. Ik zie dat elektuur destijds voor de fets de FVD301N gebruikt heeft en de weerstandjes moeten dan 2K2 zijn tussen de 3.3V en iedere lijn op de 2 zijden. Ik heb 5 stuks PCF8574 liggen, genoeg om een en ander te testen. Die fets ga ik moeten ergens aankopen.
[Bericht gewijzigd door fotoopa op 5 juli 2008 11:37:53]
FPGA voorbeelden
Avenger 2.0

Ook liefst een hoop basisdingen zoals fotoopa zegt tegen een goedkope prijs (max 50 euro).
[Bericht gewijzigd door Avenger 2.0 op 6 juli 2008 01:01:42]
fotoopa

Voor de display zou ik een oplossing voorstellen met alternatieve bestukking tussen een 2x16 char LCD display en een 4 digits 7 segment display. Praktisch zal een gebruiker zelden behoeftig hebben aan beide display gelijktijdig. Het aantal nodige I/O pinnen is 12 voor de 7 segments display met 4 kleine fets of zelf gewone npn transistors tov 10 I/O pinnen voor de LCD eventueel 1 extra voor de enable van de background verlichting als je die wenst aanstuurbaar te maken. Door de juiste component plaatsing op de PCB kun je dan een van de 2 versie's bestukken. PCB zal hierdoor niet meer kosten, want de nodige ruimte zal niets verschillen. Kontrast regeling display is dan ook een optioneele bestukking ( kleine pot meter of zelfs optie met 2 vaste weerstandjes is meestal voldoende voor de kontrast instelling.

Voor I2C of SPI kan waarschijndelijk iets gelijkaardigs voorzien worden tenzij er voldoende ruimte is voor beiden gelijktijdig.

Verilog code voor het aansturen heb ik voor beide versie's beschikbaar.

Update:
Als je een 16 pins DIP socket voorziet kan je daar een 8x dipswitch inpluggen (8x pullup weerstandje op de lijntjes) voor 8 input settings. Door die dipswitch's uit te pluggen en te vervangen door een kabelje voor een 4x4 matrix keyboardje heb je meteen een keyboard entry. Terug dubbel functie mogelijkheid zonder extra kosten.
[Bericht gewijzigd door fotoopa op 6 juli 2008 11:50:17]
FPGA voorbeelden
ngielen

Ik heb wel belangstelling voor een FPGA/CPLD uitbreidings bordje.
Met daar op:
4x16 LCD on board (meer info dan 2x16)________10 x I/O
4x4 matrix keyboardje on board________________8 x I/O
Los matrix keyboardje is relatief duur en er
is geen 16 pins DIP socket en 8x dipswitch
meer nodig.
3x Rotary encoders voor RGB, XYZ oid__________6 x I/O
IR poort met TV afstandsbediening sturen_______1 x I/O
433MHz module_____________________________1 x I/O
1-wire ic's bv ds18B20 temperatuur sensor______1 x I/O
9 x vermogens FET aantal A zo hoog mogelijk
dit zijn 2 H-bruggen plus een master___________9 x I/O

Totaal 36 X I/O
Alle I/O van de 40 pin connector zijn gebruikt.
Dit kan redelijk goedkoop zijn.

Een tweede bordje op de 28 pin van de MAX II kan dan bv. een monochroom grafisch LCD,Flash geheugen ed. krijgen.
[Bericht gewijzigd door ngielen op 8 juli 2008 01:50:51]
Jochem_S
Golden Member

quote:
Op 5 juli 2008 11:13:11 schreef fotoopa:
Update:
Ik zie dat de I2C chips doorgaans 5V versie's zijn.
Welke chips gaat het hier over? Werken die niet gewoon ook met een pullup naar 3V3 op de bus ipv 5V? En er zijn toch ook zat 3V3 I2C devices tegenwoordig toch?
fotoopa

Ja de nieuwe I2C chips werken op 3.3V Maar fotoopa is al een beetje ouder hé. Ik heb nog enkele soorten liggen van vroeger. Maar als je de spec's van de I2C bekijkt dan moeten de levels op SDA en SCL 0.7 x VDD zijn, CMOS levels dus. Als je dan wilt compatiebel blijven met alle devices moet je absoluut die levelomvormers bijplaatsen. maar dit is echt niet duur, 4 weerstandjes en 2 logic N FET's. Zo ben je save voor de standaard.

@ngielen,
- De aansluiting voor 4x16, 4x20 of 2x16 LCD display's is pinout en layout dezelfde. De gebruiker kan gewoon kiezen wat hij erinplaatst.
-Voor die combinatie dipswitch is dit enkel een layout kwestie, gewoon de gaatjes voorzien op de goede plaats. De gebruiker heeft dan zelf de mogelijkheid wat hij daarin bestukt. Dit is geen meerprijs, enkel 8 gaatjes meer in de PCB. Dipswitch en socket moeten dan ook niet meegeleverd worden als kit.
Wil je het klavier uitbouwen, vb op een frontplaat zetten dan soldeer je een 8 pin header en verbindt het geheel met een flatkabeltje. terug geen meerprijs voor de kit, is gewoon facultatieve bestukkings mogelijkheid.

- 9 Vermogen FET's is nogal veel als je andere dingen daardoor verliest. Ik denk dat veel gebruikers zouden blij zijn als er op een pinheader CLK,DATA,LOAD,GND en 5V zou ergens beschikbaar zijn. Daarmee kun je de zoveel gebruikte 74HC595 shuifregisters aansturen. Wat je ook kunt doen is die layout zo maken dat die pinheaders kunnen bestukt worden ipv enkele FET uitgangen. Zo ken je aan enkele I/O pinnen meer mogelijkheden toe waarbij de gebruiker dan zelf kan kiezen wat hij wenst te gebruiken. De kit samenstelling kan dan beperkt worden tot vb 4 FET's ipv 9 FET's. De gebruiker kiest dan zelf zijn voorkeur uitbereiding in functie van zijn toepassing.

Ook daarom zou ik de layout waar de LCD komt ( doorgaans een 1x16 pins header) zo kiezen dat hij ook past voor een 4x7 segment display. Dit is weer geen meerkost, enkel kwestie van enkele gaatjes op de juiste plaats. In de kit hoef je dan zelfs geen display te voorzien, die onderdelen kunnen gemakkelijk op een afzonderlijke bestellijst komen. De gebruiker heeft dan weer meer mogelijkheden. De kitprijs zelf wordt lager.

Update:

Als je op de print een 4x4 matrix keyboardje zou voorzien met afzonderlijke druktoetsen dan nog kun je een 1x8 pinheader voorzien die aan dezelfde 8 pinnen van de matrix ligt. Het geeft je de mogelijkheid een standaard afzonderlijk keyboard via een kabeltje aan te sluiten zelfs parallel op het bestaande. Kost je 8 gaatjes in de PCB. Iemand die de toetsen of matrix keyboard niet wenst te gebruiken kan die 8 I/O pinnen uitwendig ergens anders voor gebruiken. Voorzie je een 10pins header dan kan de GND en 5V zelf ook gebruikt worden.

Vergeet zeker niet om een 5V te voorzien anders kan de MAXII niet standalone werken.
[Bericht gewijzigd door fotoopa op 8 juli 2008 09:35:34]
FPGA voorbeelden
Mr GAmba
Special Member

Alvast bedankt voor jullie feedback!

Ik ben een weekendje weggeweest en had geen internet bijdehand, maar een snelle scan door het topic gaf al een hoop nuttige input.

Meerdere functies per pin lijkt mij een zeer goed idee, vooral om de uitbreidbaarheid in het oog te houden.

LCD's 2x16 en 4x16 enz.. is eigenlijk wel een must. De combinatie met 7-segment display's is zeker wel een goede optie, die zal ik dan ook is gaan uitwerken.

Een knoppen-array, als ik er ruimte voor kan maken zal ik deze zeker toevoegen, eventueel als "afbreek" stuk, die normaal wel vast zit aan de print, maar d.m.v. een scheurlijn af te breken is, dan kan deze altijd appart gebruikt worden.

Een "standaard" header voor I2C / SPI is ook wel een goed idee, dan kunnen daar extra componenten op aangesloten worden.

1-Wire bus zou ook wel handig zijn, is een 3 pins header (+5V, data, GND)

5 Volt regelaar, evt schakelend, om wat minder vermogen te hoeven wegstoken.

Rotary encoders, 2 sowieso, 3 zou idd wel een fijne extra optie zijn.

SRAM, hier heb ik zelf nog niet veel ervaring mee. Zou een chip als: AT25DF161 bruikbaar zijn ?

IR, TSSOP1736 + IR-led en klaar.

RF, 433 Mhz modules en klaar.
[Bericht gewijzigd door Mr GAmba op 8 juli 2008 10:13:39]
MAXII op voorraad ! - MAXII webshop - 3D render van je print?
fotoopa

Ja ik vermoede dat je op vakantie was. Waarschijndelijk de meeste trouwens die zo een MAXII boardje al hebben want je hoort er heel weinig van die het momenteel gebruiken.
Je link geeft een serial flash device. Maar dit maakt weinig uit. Of dat nu via I2C is of via SPI dat maakt niets uit.

Maar ik vraag me af welke toepassing dit kan gebruiken. Ik kan er mij niet direct een indenken vooral als je rekening houd dat er geen interne ram in de MAXII zit. Ram of flash serieel beperkt sterk je realtime mogelijkheden als je die niet intern kunt opslaan. Stel dat je iedere keer je serial device moet gaan adresseren en dan serieel de bitjes binnen nemen dan vergt dit heel veel tijd voor toepassingen zoals een grafisch display vb. Enfin messchien zijn er anderen die daar een praktische realisatie van kunnen geven maar ik ziet het niet zo zitten.

Moet dan daarbij nogeens extra sram via I/O poorten toekennen dan bekom je al heel snel een print met vele aanhangsels en weinig kracht onder de motorkap (LE's in de CPLD) Die uitbereidingen wegen dan helemaal niet meer op tov een DE1 board.

Wat in extreem nog zou gaan is op de uitbereidings headers van de zijconnector, daar zitten GND,3.3V en 20 I/O pinnen beschikbaar. Daar een kleine ram (2Kx8) opzetten zou gaan. ( mag ook een moderne grote ram zijn omdat er geen kleinere meer bestaan maar het is een beetje jammer dat je een 8Mbyte sram hebt en maar 2 Kbyte kan van gebruiken omdat je geen pinnen hebt. En daar weer extra adres latches opzetten om het adres te verdubbelen brengt je weer snel op een worst configuratie waar langs alle kanten stukjes aanhangen. Ik heb hier al gekeken om zo een ram aan te hangen, ik heb ze in alle grootes maar omdat ze dan weer 5V zijn ( de oudere versie's) heb je dan weer het interface probleem voor 3.3V levels voor het lezen van de data. De modernere hebben 3.3V maar zijn dan weer kolosaal groot ( megabytes) en serieel heb ik al uitgelegd, realtime geven ze in vele gevallen te veel beperkingen.

Een swich-mode power vind ik nogal luxe, zeker als je rekening houd dat de MAXII nauwelijks iets verbruikt. Door de 5V op een connector te voorzien kun je ook maken dat er een geregelde 5V mag aangeboden worden, weer zo een optie die niets kost maar waar de gebruiker kan kiezen tussen 5V en een brute 7..9V ingang en vb een doodsimple 7805 en ruimte voorzien voor een kleine koelvin.

Update:

Ik heb zopas routines gevonden voor een I2C master en voor een SPI master. Beide routines onder de "GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version." Zie onderstaande link:

http://www.charmedlabs.com/index.php?option=com_smf&Item...t=prev#new

Ik heb ze even gecompileerd voor het MAXII boardje en de I2C master neemt 120 LE's, de SPI master 72 LE's. Ik heb ze nog niet getest maar ze zullen blijkbaar wel werken. Dus zoiets op het MAXII boardje implementeren is gewoon kwestie van de verilog module erin te plakken
[Bericht gewijzigd door fotoopa op 8 juli 2008 12:59:47]
FPGA voorbeelden
Mr GAmba
Special Member

Voor het RAM, parrallel vind ik ook prima, en ik had het stukje aan de linkerkant al in gedachte om daar een geheugen module voor te maken. Zoals gezegd heb ik hier zelf nog niet veel ervaring mee, en kan dus ook niet gelijk iets verzinnen, maar het is wel iets om komende week naar te gaan kijken.

Mooi dat I2C en SPI zo makkelijk te implementeren is.
MAXII op voorraad ! - MAXII webshop - 3D render van je print?
fotoopa

Ik heb het SRAM probleem nog even bekeken. Stel dat je een klein printje maakt op basis van onderstaande tekening:


.
Die je op die 24 pins opplugt op de zijkant. Daar heb je 20 I/O pinnen ter beschikking plus GND en 3.3v. Gebruik je een 8bit dreg of latch type dan kan je het adres via het load signaal in 2 keren toepassen waardoor je van 8bit naar 16bit gaat. Maximaal kan je op deze manier 64Kx8bit ram gebruiken op het MAXII boardje. Ik heb het hier getekend voor 5V devices en in dat geval moeten in serie met de datalijnen 8x een weerstandje ingebracht worden omdat bij het lezen de level hoger dan 3.3V kan gaan. Door de interne diode op de I/O pinnen beperk je de spanning en de stroom bij het lezen. Wel moet je nog ergens een aansluiting vinden voor de 5V want op die pinheaders zit slechts 3.3V

kies je echter voor de recente sram's op 3.3V en een overeenkomstige 3.3v dreg dan heb je geen level probleem en mag je alles direct koppelen wat resulteerd in een zeer eenvoudige layout ( kan zeker eenzijdig gerout worden omdat je de I/O pinnen naar wens kunt vastleggen voor optimale layout.

Met deze rammogelijkheid kun je wel een grafisch display gebruiken zoals ik reeds vroeger getoont heb voor de BlueBird FPGA versie van Xantus:



Dit display is grafisch en heeft 480x272 pixels. Door enkele van de kleurbits samen te leggen verlaag je het aantal nodige I/O pinnen en is het realiseerbaar op het MAXII boardje. De character rom voor deze display kan dan in het interne flash geheugen. De aansluiting van het grafisch display zou dan best op de andere resterende pinnen komen, vb die 20pinnen van de 3de rij.

Update:

Hier een voorstel voor aansluiting:




De blauwe teksten zijn dubbele functie's die met een draadverbinding of jumper kunnen ingesteld worden volgens de gebruiker. Functie's zijn zoveel mogelijk gegroepeerd. Voor andere functie's zoals vb extra leds zou ik die door de gebruiker laten connecteren op de andere pinheaders juist naast deze 40 pinnen. De zijdelinkse connector zou ik dan voorbehouden voor andere uitbereidingen zoals sram module, flash module, enz.

Uiteraard is dit enkel een voorstel en niet bindend. Kan ook zijn dat bij het routen blijkt dat bepaalde verbindingen helemaal niet goed liggen. Dit voorstel is 100% compatiebel te maken met de DE1. Gebruikers die ook de DE1 board hebben kunnen alles daar testen.
[Bericht gewijzigd door fotoopa op 8 juli 2008 21:59:30]
FPGA voorbeelden
Mr GAmba
Special Member

Voor het SRAM zou je dus zoiets kunnen gebruiken ?

Voor de Dlatch is de 74LVT373 geschikt, deze heeft aan een voedingsspanning van 3.3V genoeg.
[Bericht gewijzigd door Mr GAmba op 9 juli 2008 13:12:32]
MAXII op voorraad ! - MAXII webshop - 3D render van je print?
Zoeken in topic 1 | 2 | Volgende >>