Nog veel meer ontwerptips en domme fouten

Dit topic is gesloten


...en op de andere printjes ook. Ga ik morgen doen denk ik. Blijft prutsen anders

http://prive.bitwizard.nl/innostor_typefout_small.png
Geen fout van mezelf, maar van iemand anders. Kijk naar de URL van het plaatje voor een hint als je hem niet direct ziet....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Haha, moest even zoeken. Wel een erg lullige fout zeg

Tidak Ada

Golden Member

Tja, als je Chinese karakters gewend bent, blijft dat Westerse schrift moeilijk....;)

Rommelige werkplek? In de natuur is wanorde de meest stabiele toestand; de entropie is dan maximaal. Het handhaven van "orde" kost daarom altijd energie. ----------------------> TUBECOLLECTORSASSOCIATION@yahoogroups.com

moest wel 3 keer kijken, maarja idd een tikvoud

maartenbakker

Golden Member

Na 3 keer kijken zie ik hem nog steeds niet.

@lucky Luke: foei, wat een fout... En natuurlijk op de enige plaats waar ik niet gekeken heb.

[Bericht gewijzigd door maartenbakker op 18 augustus 2013 18:21:26 (52%)]

"The mind is a funny thing. Sometimes it needs a good whack on the side of the head to jar things loose."

Op de chips zelf ook, of alleen op het plaatje op de site? (tevens hint @maartenbakker :))

Eluke.nl // Backwards Lightspeed Bus: i*i=-1, so iic=-c.
EricP

mét CE

Op 18 augustus 2013 18:04:14 schreef maartenbakker:
Na 3 keer kijken zie ik hem nog steeds niet.

Als je op het plaatste zelf klikt, wordt-ie wat groter en dan valt het wel op. Hopen voor hen dat het alleen op de site niet klopt :)

Het fysieke chipje heb ik geloof ik niet een scan of foto van bij de hand. Maar volgens mij is die te klein voor de complete naam.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Op 16 augustus 2013 11:59:33 schreef SparkyGSX:
@REW: het lijkt toch ook wel een beetje op cryptanalysis hoor; wat je hier doet, is eigenlijk een chosen-plaintext attack.

Daar heb je gelijk in.

Ik denk dat het iets gemakkelijker wordt als je eerst een groot blok identieke bytes schrijft, en dan bekijkt of je ook een of meerdere blokken identieke bytes (niet perse met dezelfde waarde) terug kunt vinden.

Als ik het block op 0x108000 XOR met het block 1000 blocks verder (0x318000), dan krijg ik op een paar bitjes na allemaal nullen. Dus: Ik weet dat ze de boel xoren met een bitstream die na 1000 blocks weer hetzelfde is.

Verder vermoed ik dat die bitstream met een LFSR gemaakt is. Het hoeft niet cryptografisch sterk te zijn als er maar evenveel nullen en enen in zitten.

Ik weet dat met wat slimmigheden je de parameters van de LFSR kan achterhalen uit de bitstream. Veel bits heb je daar niet voor nodig. Als het shift register iets van 32 bits is, heb je met 64 of 128 bits al de mogelijkheid om de LFSR te kraken. Maar ik heb veel, veel meer bits om mee te spelen, dus dat moet lukken.....

Na wat research blijkt dat het algoritme "Berlekamp–Massey" heet. Met wat zoeken heb ik het niet zelf hoeven schrijven. (kost veel tijd om de artikelen te lezen en de mathematische formules in C-code te vertalen).

1 van de programmas komt, als ik daar het stuk waarvan ik weet dat er nullen in staan er in stop, steeds met OFWEL dat er een sudden jump is ofwel dat er 247 bits in het register zouden zitten. Verder komt ie dan met een feedback string: 1 xxx*0 11 yyy*0, waarbij ik nu XXX en YYY even niet meer weet. Totaal van 3+xxx is ongeveer 128. Die "trailing zeroes" doen volgens mij niks. Of wel?

De reden dat er vaak zo'n "jump" in zit kan heel goed zijn dat er dan een bitfout in zit. Ik heb veel bitfouten. De flash van de klant was TLC: 8 niveaus per cel, drie bits! Er hoeven maar een paar electronen hun kont te keren, en je hebt een bitfout. Het huidige oefen-ding heeft maar vier niveaus per cel, maar ook daar zie ik regelmatig een bitfout.

Ik dacht de ECC te kennen. Per sector van 4096 bits:

ECC(0..23) = ECC(b*2+v) = xor (alle bits waarvan het adresbit-b = v)

v=0..1, b=0..11

resulteert in 24 bits ECC. Dat is prima als er "zo nu en dan" een bitje omvalt. Maar als er 5 bits per sector omvallen is dat veel te zwak. Er is ongeveer 128 bits aan ECC ruimte beschikbaar, dus met 24 bits kom je er niet. Met 128 bits kan je in theorie iets in de buurt van 10 bits corrigeren. Dat zal nodig zijn ook! Door niet per 512 bytes ECC te doen, maar per 2048 kan je de situatie verbeteren. Nu kan je rond de 34 bits corrigeren, maar ben je dus niet direct de pineut als er 1 sector is met 11 fouten.

Eventueel kun je direct na de blok een ander stuk bekende data zetten, waarbij je als het goed is dus weet waar dat precies terecht gekomen is.

Een belangrijk probleem is dat blokken niet sequentieel of 1-op-1 op de flash komen. Er zit in ieder geval een wear leveling ding in. Anderzijds, je kan vaak maar per 128k tegelijk de boel wissen. Dus de truuk is als er per block van 4k geschreven wordt, wis je een block van 128k, en schrijf je alle blocks die geschreven worden gewoon in dat block van 128k in de volgorde dat ze binnenkomen. Per block moet je dan bijhouden waar de nieuwste versie staat. Ook dat staat normaliter in de "extra" ruimte, en snoept iets af van de beschikbare ECC bits.....

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Kom er nu achter dat de zuignappen van de (aquarium)verwarming in m'n etsbak zijn opgelost in m'n natriumpersulfaat.

Geweldig... Wat moet ik nu weer opgeven dat er inzit bij het KGA? "Bevat koperionen en opgeloste zuignappen"? :)

Geen ontwerptip of domme fout, maar leek me wel een vermelding in dit topic waard.

En als tip voor de volgende natuurlijk om die zuignappen van de verwarming af te halen, want ze blijven toch niet zitten en ze lossen blijkbaar op, op den duur.

Eluke.nl // Backwards Lightspeed Bus: i*i=-1, so iic=-c.

@REW: ik had eigenlijk niet verwacht dat er daadwerkelijk een vorm van encryptie achter zou zitten; heeft dat ding ook een stukje software waar je een wachtwoord moet invoeren of zo?

Aan de andere kant zou ik me kunnen voorstellen dat het technisch interessant is om een simpele vorm van encryptie toe te passen, niet zozeer om gegevens te beveiligen, maar omdat elke half fatsoenlike cryptografische functie een output geeft die op dat van een random number generator lijkt; ongeveer 50% 0 en 50% 1, met een zeer minimale kans op lange reeksen identieke bits. Misschien levert dat op een of andere manier een voordeel op voor de wear-leveling of zo.

Voor de duidelijkheid: ik heb hier totaal geen verstand van, bovenstaande is slechts een wilde gok van waarom ze mogelijk iets dergelijks zouden kunnen doen.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Ik vermoed dat het aantal bitfouten op "random" data iets lager is dan op "alleen maar nullen" of "alleen maar enen". Stel dat ze alle cellen (bakjes) tot niveau 7 vullen, en er loopt 9% uit. Dan heb je overal 6.37 staan, afgerond 6. Iedere drie bits heb je een bit fout. Als je aan het begin al de boel XORt met een pseudorandom reeks heb je maar in 25% van de gevallen een grens-van-een-bitwaarde overschreden. En de kans op allemaal dezelfde bitjes is VEEL groter dan de kans op "precies DIE pseudorandom reeks".

Nu is "alle celletjes 10% verandering" natuurlijk extreem. Maar als het gemiddeld 1 of 3% is, en er wat statistische ruis omheen zit, valt er nog steeds een bepaald percentage aan celletjes op de verkeerde waarde, terwijl dat met pseudorandom data ineens veel minder is.

Hoe zou nu 10% uit alle celletjes kunnen weglekken? Dat hoeft helemaal niet zo te gebeuren! Stel dat de referentie waarde door een verandering van omstandigheden een paar procent anders is geworden.... Voila! Je /meet/ bij het uitlezen ineens allemaal 10% andere waardes....

Kortom, op harddisks en kennelijk moderne flash drives wordt tegenwoordig de boel met een pseudorandom bitpatroon ge-xor-ed om een vrijwel 100% kans te krijgen op een 50/50 1 versus nul verhouding.

four NANDS do make a NOR . Kijk ook eens in onze shop: http://www.bitwizard.nl/shop/

Voor het verzenden van MPEG data doet men ook zoiets: "de randomizer". Dit is bedoeld om een redelijk homogeen spectrum te krijgen na modulatie en dus minder last te hebben van interferentie verschijnselen.

Henri's Law 1: De wet van behoud van ellende. Law 2: Ellende komt nooit alleen.

Je kunt natuurlijk een schema keurig ontwerpen met diverse tooltjes.
En daarna uitproberen op een breadboard.
Maar dan moet je wel goed opletten als je het overzet op gaatjesprint...
De 'dikke' condensator na een transformator en gelijkrichter en vóór de 78xx moet je natuurlijk wel correct plaatsen.
En niet, zoals ik dus deed, ACHTER de 78xx.
Pic opgeblazen.

Just find out what you like and let it kill you

Ik zou eigenlijk verwachten dat het wel ongeveer naar behoren zou werken; de spanning zal wel een stukje inzakken voorbij de top van de sinus, maar de PIC zal wel blijven werken. De 7805 zou ook niet veel moeite mogen hebben met een 100Hz gelijkgerichte sinus aan zijn ingang, zonder zijn uitgang boven de 5V te laten komen. Ik zou niet direct kunnen verklaren waarom die PIC dan stuk is, tenzij je het hele ding achterstevoren hebt gezet of zo.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

De spanningsregelaar ziet in zo'n situatie 100 maal per seconde (bijna) 5V aan z'n uitgang, en 0V aan z'n ingang. Mogelijk heeft die het begeven, waardoor er meer dan 5V op de uitgang komt te staan.

Prosper, yop la boum, c'est le roi du macadam (aldus Maurice Chevalier)

De 78xx heeft een bepaalde bandbreedte. Als je die overschrijd dan komt de ingangsspanning op de uitgang te staan. Heb zo iets 1 keer gehad. Stand er een gesuperponeerde spanning van 20 volt met 1 giga herz erop. De 7805 was toen ook behoorlijk warm, gekookt als het ware en wat erachter zat kon de vuilnisbak in.

@pros: goed punt, dat zou kunnen. Nu kan er, vanwege de gelijkrichter, geen stroom terug lopen, maar het is alsnog mogelijk dat het ding er stuk van gaat.

@vincent1971: natuurlijk, maar 100Hz mag toch geen probleem zijn, lijkt me.

Een manager is iemand die denkt dat negen vrouwen in één maand een kind kunnen maken

Op 7 september 2013 10:44:03 schreef SparkyGSX:
@pros: goed punt, dat zou kunnen. Nu kan er, vanwege de gelijkrichter, geen stroom terug lopen, maar het is alsnog mogelijk dat het ding er stuk van gaat.

@vincent1971: natuurlijk, maar 100Hz mag toch geen probleem zijn, lijkt me.

Nee in principe is 100Hz geen probleem. Wellicht een diode over de 78xx plaatsen? Heb je altijd een kleine spanningsval over de 78xx. Ik meen dat je zoiets wel eens ziet bijvoorbeeld bij aansturing van motoren enzovoort op de uitgang.

fred101

Golden Member

Ik zet bijna altijd 2 diodes bij een 78XX. 1 in sper van uitgang naar ingang en 1 in sper van uitgang naar massa. Misschien wat overkill maar ik heb sindsdien geen defecte regelaars meer gehad. Dat heb ik echter the hard way geleerd

Het domme deel :
Bij mijn eerste zelfbouwvoeding zoiets als hadv gehad, of eigenlijk elke fout die je met voedingen kan maken heb ik daar gemaakt. Eerst een of andere elco achter een LM317, Vrij snel resulteerde dat in boem. Oeps, daarom staat er dus 16V op een Elco ;-), Toen en andere elco, big is better dus iets van 4700 uF. Ging even goed tot ik de boel aan had staan en met iets anders een fout maakte, aardlek eruit en direct daarna een knal. De oude LM317 ge-explodeerd. Waarschijnlijk veroorzaakt door die hele dikke volgeladen elco zonder bleeder, en zonder load.

Toen leerde ik dat je twee LM317 voedingen niet zonder diodes zomaar door kan lussen tot 1 bipolaire voeding. Dat resulteerde ook in een LM317 in stukjes. Weet niet meer wat ik toen fout deed. Gebeurde in ieder geval toen ik de voeding uitzette met de load er nog aan. Wwaarschijnlijk zat daar een dikke elco op de ingang. Van bleeders had ik toen nog niet gehoord.

Mijn eerste excursie met digitale uitlezing (de CO voeding) eindigde in 2 van de 4 defecte uitlezingen (ICL7106 met een gat erin) en twee TIP torren die wat plastic missen. Weet nog niet waarom. De uitlezing had een eigen trafo en het ging ook hier mis bij doorlussen.

Dat je eerst trafos moet meten leerde ik bij de ombouw van een electuur voeding. Electuur print eruit, gerepareerde CO voedingen erin erin. Nu analoge meters. Beng, weer de TIPs defect en beide CA3140's. De 0-30V voeding bleek uit 50V DC te worden gemaakt. Oeps...

De tips:
Daarna alles via de datasheet met elke mogelijke beveiliging. Daarnaast nog een kleine (3A) dynamisch en statische instelbare load gebouwd waarmee ik nu eerst elke gebouwde voeding (ook voedingen die ik ergens inbouw) mee test. En dat scheelt veel ellende.

Mijn huidige project heeft 8 voedingsrails (ringkern, +15, +12 +8, +5, -12, -5 en +24 en +28 via een boostconverter, en nog twee Vrefs) en bij de load test bleek dat de +5 en -5 beide boven de 170 mA gingen oscilleren. Nu hoeven ze dat niet te leveren maar het is toch een teken. Dat kon ik nu oplossen voor het weer te laat is.

Ook een vergissing zoals die van hadv komt zo aan het licht want ik ben kampioen in spiegelbeeld aansluiten. Zo'n miniload is supersimpel en snel gemaakt. Ik heb eerst gewone weerstanden gebruikt maar nav het topic van oa het Blackdog over voedingen besloot ik naast mijn grote heftige load (incl stroom/spanning geregelde source) dit compacte ding te bouwen, gewoon met een enkele, wel hele dikke, IRFZ. Stroom meet ik met een Tek current probe wat weer gedoe met shunts scheelde. Hij is heel mooi regelbaar, Het is geen probleem om bv 20 mA in te stellen (kan er zelfs ledjes mee testen.

Ik denk dat ik ook eens een keer (wel een wat minder heftige) PSU martelaar zoals als die van blackdog ga bouwen.

Nog een tip, zo'n load is prima te integreren in een voeding als stroom regeling. De DUT stroom loopt dan via de load naar massa. Een opamp zorgt dat de spanning over de DUT constant blijft (begrensd door een OVP, de load zorg dat de stroom constant blijft. Dat werkt eigenlijk boven verwachting. De spanning wordt geregeld door een paar dikke HEXFETs en de stroom door hun broertjes. De verbruiker hangt dus tussen de HEXFETs in. Ga zo nog eens een 3A versie bouwen (de grote variant kan >10A en iets van 24V, weet niet meer precies, hij wordt eigenlijk sinds ik die compacte load heb alleen gebruikt om mijn nood loodaccu te laden en af en bv accu loadtesten te doen) Daar is de OVP en stroombegrenzing handig voor.

www.pa4tim.nl, Reparatie van meet- en calibratie apparatuur, ook oud en exotisch

Op 7 september 2013 11:56:49 schreef fred101:
Ik zet bijna altijd 2 diodes bij een 78XX. 1 in sper van uitgang naar ingang

Maar dan komt de ingangsspanning toch op de uitgang te staan?
http://www.jcbrune.nl/78xx.png

D3 moet gedraaid worden, of het komt nie goe

Pi and Pimatic

Van uitgang naar ingang staat 'ie dus niet in sper, van ingang naar uitgang staat 'ie in sper... (Moet dus idd precies andersom als wat Djenn tekent en wat fred zegt)

Is een trucje zodat je de uitgangsspanning niet hoger kan maken dan de ingangsspanning. Handig als er veel capaciteit achter hangt en je de ingang kortsluit/ingangsspanning eerder wegvalt dan uitgang.

[Bericht gewijzigd door Lucky Luke op 7 september 2013 12:41:46 (10%)]

Eluke.nl // Backwards Lightspeed Bus: i*i=-1, so iic=-c.
fred101

Golden Member

Inderdaad zeker niet als de tekening. Lucky Luke schrijft het denk ik, zoals ik bedoel. Ik gooi weer eens links/rechts/ingang/uitgang etc door elkaar. Ik kan niet spiegelen maar ook bij dit soort dingen ga ik in de fout bij opschrijven. Wat ik bedoel is Kathode aan ingang, anode aan uitgang.

Heb ik die van uitgang naar massa wel goed beschreven ? De kathode aan de uitgang en anode aan massa (bij een 78XX) Excuses.

www.pa4tim.nl, Reparatie van meet- en calibratie apparatuur, ook oud en exotisch

Dit topic is gesloten