free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
All right. voor een keer ben ik de beginner , en ik heb geen goesting om alles zelf uit te vlooien.
het gaat hem om de 18F4550 en 18F4555 in DIP 40 verpakking.
Compiler heb ik (Swordfish gekocht om verschillende redenen : is mijns insziens de beste basic compiler (ik heb machientaal van verschillende compilers bekeken op dezelfde code en swordfish levert mijns insziens de compactste code), source van alle libraries, operator overloading, en een CDC library die ik wil gebruiken) Maar die keuze is gemaakt en daar gaat het hier niet over.
Compileren werkt. Eerste programma (led-looplichtje) al geflasht via een standalone progammer (DIY kit) en 't werkt.
Maar nu komen de vragen ... Hoe programmeer je dat ding ISP ? Welke pinnen zijn nodig (ik wil ook LV mode kunnen gebruiken en dan kan RB5 niet gebruikt worden. In normaal bedrijf moet die aan grond hangen. ik veronderstel dat de programmer die hoog trekt dan.. weerstand naar grond eraan ? ) Wat als ik RB6 en Rb7 wil gebruiken als normale poot in de applicatie maar toch de mogelijkheid wil voorien om ISP te flashen ? Ik heb wel een brak schema van een microchip demoboard ... maar daar gebruiken ze de poten niet voor iets anders... weerstandje ertussen van paar 100 ohm zodat de programmer kan oversturen?
usb interconnectie ? mijn ding is self powered. wat doe ik met binnenkomende 5 volt van usb ?
Met andere woorden hoe weet de firmware wanneer usb geconnecteerd wordt ? De firmware draait ook zonder usb ... ik moet dus ergens kunnen zien dat er ene 'connect' is' ... kan de chip dat uit de D= en d- of moet ik de vbus ook naar een i/o poot leiden die ik dan bewaak ?
heeft elke poot de mogelijkheid om ene pull-up in te schakelen ? wat is de typische waarde van die weerstand ? hoe groot is de spreiding ?
bestaat er een of andere tool om makkelijk de fusebits uit te vlooien. Silicon labs heeft een 'click-o-rama' waar je aanvinkt hoe je welke pin wilt gebruiken en daar rolt dan de programma code uit om de registers juist te laden.. zoeits wil ik voor pic ook. ik heb geen goesting om telkens 300 paginas te doorworstelen. die datasheets van microchip zitten vol van info die her en der verspreid staat ... der is altijd wel ergens nog een 'gotcha...'
nu ben ik wel niet van plan om elke 5 minuten van PIC te veranderen. de 4550 en 4555 kosten niks en hebben alles in huis wat ik wil en er zijn kleinere broers van in de 2550 en co
[Bericht gewijzigd door free_electron op (21%)]
Jochem
If you want to succeed, double your failure rate.
Op 27 november 2009 05:30:04 schreef free_electron:
en ik heb geen goesting om alles zelf uit te vlooien.
NP, hoewel ik er dan natuurlijk ook niet teveel tijd in ga stoppen he 
in DIP 40 verpakking.
Stop je er ook buizen in?
LVP heb ik zelf nog nooit gebruikt. Kan de datasheet natuurlijk even erbij pakken, maar dat kun jij ook.
ISP inderdaad gewoon RB6 en RB7 via weerstand aan de rest van je circuit. Evt nog een diode afhankelijk van wat je eraan hangt, maar dat vogel je zelf wel uit.
Alleen PORT B en D hebben S/W programmable weak pull-up. Min/max pull-up current staat in datasheet (ordegrootte van tientallen microamperes).
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Das het rotte aan die datasheet. Der staan nergens voorbeeld schematjes in ...
weak pull-up.. khadded kunnen denken. in plaats van daar 10k in te stoppen. grrr nu kan ik weer extern pullups gaan bijzetten...
en nee der komen geen buizen in. tmoet alleen makkelijk nabouwbaar zijn. dus voor 1 keer : alles through hole... tis weer even wennen...
[Bericht gewijzigd door free_electron op (25%)]
@Jochem
Ik neem aan dat hij bedoelt dat het IC 40 pins heeft en in een DIL package zit. (package=verpakking
)
Jochem
If you want to succeed, double your failure rate.
Het is me helemaal duidelijk. Ingewijden hadden een quote als deze niet nodig, maar speciaal voor jou:
Op 3 december 2006 20:45:23 schreef free_electron:
free gaat effe op de bovenste tree van de 'rafters' gaan staan en scandeert luidkeels :SMD SMD SMD SMD SMD SMD SMD SMD ESSSSS EMMMM DEEEEEEEEE
ben ik duidelijk genoeg !
gene gaten meer boren , alles vele kleiner , je hoeft je print niet continue om te draaien en hopen dat je de juiste poot aant warmen bent . geen pootjes meer afknippen die dan , ofwel in je oog terechtkomen , ofwel in het tapijt zodat ze 2 minuten later in je voeten prikken ..
en t stockeert in leuke kleine doosjes.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> Maar nu komen de vragen ... Hoe programmeer je dat ding ISP ?
MCLR, gnd, 5V, RB6 en RB7 aansluiten
> ik wil ook LV mode kunnen gebruiken
waarom? kost je 1 pin
> weerstandje ertussen van paar 100 ohm zodat de programmer kan oversturen?
dat is handig tussen RB6/RB7 en de restv van je schakeling. Waarde afhankelijk van de kracht van je progger, ik neem meestal 1k of 2k2.
> wat doe ik met binnenkomende 5 volt van usb ?
als je zelf power hebt: niets, behalve wat je zelf wilt. Je kan het op een pin aansluiten om te detecteren.
> heeft elke poot de mogelijkheid om ene pull-up in te schakelen ?
RTFM
> zoeits wil ik voor pic ook. ik heb geen goesting om telkens 300 paginas te doorworstelen.
Aan klikken heb je niets als je niet weet wat die bits betekenen, dus je zal toch moeten lezen. Hoofdstukje 'special features of the CPU' is meestal < 10p.
]
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 27 november 2009 09:12:14 schreef Wouter van Ooijen:
>MCLR, gnd, 5V, RB6 en RB7 aansluiten>dat is handig tussen RB6/RB7 en de rest van je schakeling. Waarde afhankelijk van de kracht van je progger, ik neem meestal 1k of 2k2.
>Aan klikken heb je niets als je niet weet wat die bits betekenen,
1) als ik het goed begrijp trekken ze MCLR naar ene hoge spanning.. klopt ?
2) das wat ik moest weten.
3) tis de bedoeling dat datprogrammatje uitleg verschaft he. Al eens
de config wizard van silicon labs gezien ? je hebt per feature een wizard. ik wil de pll op die frequentie , mijn clock is dit , ik wil op die pin de uaret met die baudrate , ik wil van die io pin een open drain maken , die is een push pull etc. je hoeft geneens te weten waar de bits zitten of hoe ze heten. Daar rolt een include file out die de bits juist zet.
kzallet weer zelf moeten schrijven zeker ...
Jeroen Boere
IF you can't convince them, then confuse them!
Wat btreffende die fuse settings:
Staat er in de directory van Swordfish niet een include file die de compiler gebruikt als referentie?
Bij PicBasic staat er een .lpd file met onderop alle mogelijk fusesettings.
hieruit is makkelijk af te leiden hoe ze heten en hoe je ze gebruikt.
Wouter van Ooijen
Wouter van Ooijen: VOTI webwinkel, docent HvU (Technische Informatica); C++ on mictrocontrollers blog
> 1) als ik het goed begrijp trekken ze MCLR naar ene hoge spanning.. klopt ?
Een HVP progger ja, een LVP progger hoeft dat niet te doen.
> Al eens de config wizard van silicon labs gezien ?
Nee, maar ik heb een hekel aan dat soort dingen. Wat mij betreft is er source code, en niets anders.
> kzallet weer zelf moeten schrijven zeker ...
zodra je begrijpt wat je wilt hebben in de fuses (en dat kan geen tool voor je doen) is het gewoon and'en van de juiste constanten uit de header file
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 27 november 2009 19:31:58 schreef Wouter van Ooijen:
Nee, maar ik heb een hekel aan dat soort dingen. Wat mij betreft is er source code, en niets anders.zodra je begrijpt wat je wilt hebben in de fuses
onder het motto van waarom makkelijk als het ook moeilijk kan zeker ...
kijk maar eens naar die config wizard. das een droom. je kan eender welk blok in de cpu configureren , der rolt een volledige gecommentarieerde include file uit met de juiste settings en je krijgt ook nog eens een mooie pin mapping te zien. en je kan van include ook terug naar instellingen. ideaal om BSP's aan te maken.
Maakt het leven makkelijk.
enfin. kzal het maar weer 'the hard way' doen ... en tzal or-en zijn zeker 
Over LV programmeren : ik begrijp ui tde datasheet dat als je dat ding krijgt uit de fabriek dat LVP ge-enabled is... geeft dat geen problemen of kan HVP altijd LVP 'oversturen' ? met andere woorden stel dat ik op een nieuwe chip die poot RB5 hoog trek.. ( die moet laag zijn normaal in rust. hoog trekken is lvp mode binnengaan )
kan ik dan toch programmeren via de HVP methode.
ik zal er dus ook moeten voor zorgen dat in mijn config bits ergens die LVP ge-disabled word...
[Bericht gewijzigd door free_electron op (24%)]
Jeroen Boere
IF you can't convince them, then confuse them!
zoals je zelf zegt: alles naar zijn waarde.
Wast kost een licentie Swordfish en wat kost een licentie voor Silicon Labs?

free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Op 27 november 2009 20:13:51 schreef Jeroen Boere:
zoals je zelf zegt: alles naar zijn waarde.
Wast kost een licentie Swordfish en wat kost een licentie voor Silicon Labs?
silicon labs is gratis ... swordfish was 200 $ ... ( voor een licentie met 2 hardware dongles )
Jeroen Boere
IF you can't convince them, then confuse them!
Jouke
Met geld moet je creativiteit bekopen.
Op 27 november 2009 09:06:42 schreef Jochem:
Het is me helemaal duidelijk. Ingewijden hadden een quote als deze niet nodig, maar speciaal voor jou:
Dan wil ik nog één toevoegen: 
En nog iets: op een microcontroller programmeer je in ASSEMBLY en daarmee uit. alleen dan leer je dat ding kennen van binnen en van buiten. ALLE compilers zijn knudde.
http://www.circuitsonline.net/forum/view/message/257847#257847
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Ik heb geen interesse om pic's te leren kennen. Ik heb een doel voor ogen. De snelste weg en die van de minste weerstand is de beste.
Ik heb wel de tijd genomen om de compilers eens te analyseren. (picbasic , microbasic , oshon en swordfish.) Swordfish levert de beste machine code en heeft de modernste Basic compiler met operator overloading , inline functies en dergelijke.
Mikrobasic is een geweldige ramp. die compiler snapt geneens dat je een string uit rom kunt lezen en direct naar ene uart kan pompen. ze kopieren eerst de rom naar ram en passeren dan een pointer. dat zijn allemaal onnodige mov's en ram. Das de echte reden waarom ze hun library source niet vrijgeven... die libraries zittne vol van allerhande truken. ze draaien eigenlijk op een virtuele processor.
Swordfish doet dat niet. Je bent wel beperkt tot de 18F familie , maar die is groot genoeg.
Nog eens ik heb geen interesse om pic expert te worden. Dit is een one of a kind project wat door 8+ jarigen moet kunnen in elkaar gezet worden... dubbelzijdige print met allemaal thru-hole spul. het enige 'crazy' ding wat erop zit is een COG (chip on glass) display maar voor een leek is dat ook ene thru-hole component.
Wat het is vertel ik later wel.. en ga niet speculeren wat het is je raadt het toch nooit... het kadert in een groter 'werk'.
timmie
niet met me uitspraken(of opmerkingen) eens mail me.K8048 guide
HVP werkt altijd ook als LVP aan staat.
voor de rest zijn fuses toch niet zo moeilijk.
USB interface kijken of die er wel is?
poortje monitoren of de kabel is aangesloten ik zie zo snel geen andere optie in de DS
Lucky Luke
Eluke.nl | handgetypt | I'm a poor, lonesome cowboy, with a long, long way to go.
8+ jarigen? Kinderarbeid? Of 'n leuk bouwkitje?
Wbt dat LVP proggen zal ik ff een lompe mening neerpoten: laat lekker links liggen, zet lvp uit in de fuses, gebruik die pin als I/O, en als er geprogrammeert moet worden: pak een HVP programmer. (zullen we zien dat tegen de tijd dat ik proffesioneel elektronentemmer ben ze dit quoten als ik 's een PIC LVP programmeer, maarja.)
Reset (mclr) van de PIC leg je normaal gesproken aan VCC (via 10...33K oid), en de programmer zet er dan 13V op om de PIC in programmeermodus te duwen. + nog wat speciaal gedoe op die rb6 en 7. MCLR kan bij sommige PIC's trouwens ook als input pin gebruikt worden (alleen vervalt dan de resetmogelijkheid).
de config (fuse) setings heb ik Hier gepost.
Als je C kunt schrijven, kun je ook MPLAB C18 compiler MPLAB gebruiken van microchip zelf, ook gratis.
Dat ding heeft usb interface, op het forum van microchip heb ik laatst een voorbeeld van een toetsenbord gevonden voor mijn usb toetsenbord, en die werkt perfect.
zelf descriptors, handlers en reutemeteut schrijven voor je usb applicatie is een ramp....
Gr. Rik
free_electron
Silicon Member
Professioneel ElectronenTemmer - siliconvalleygarage.com - De voltooid verleden tijd van 'halfgeleider' is 'zand' ... US 8,032,693 / US 7,714,746 / US 7,355,303 / US 7,098,557 / US 6,762,632 / EP 1804159 - Real programmers write Hex into ROM
Ik ben er al uit. Mijn eerste ding draait al.
CDC library van swordfish werkt vlekkeloos. inpluggen en windows denkt dattie een com poort bij krijgt.
ik ben uitindelijk voor HVP gegaan omdat ik die extra i/o best kan gebruiken. ik heb een pickit 2 kloon gekocht bij sure electronics samen emt wat smd opbergdozen die ik toch nodig had. mijn eerste pic werdt geflasht met een diy149b programmer maar das maar een brak ding... nu nog de usb bootloader aan de praat krijgen zodat ik nieuwe code kan flashen via usb en ik ben er helemaal.
die fusebits zijn inderdaad minder erg dan wat ik ervan dacht eerst. tis wel eerst effe ene puzzelwerk om hele precies uit te vlooien hoe je hem nu wilt configureren. ik laat dat niet aan de compiler over maar ik zet zelf de registers. de ingebakken functies verspelen teveel code naar mijn gedacht.
en dan gans de meuk nog eens overdoen in een 2550... ( nu draai ik op een 4550 en 4555. ik had er nog een paar liggen die ik ooit eens 'gesampeld' had.
alleen stom dat er geen pic's zijn met ingebakken DAC ... nuja een pwm kanaal gaat ook maar das toch niet echt hetzelfde.
nu nog effe wachtne op mijn bestelling van bij sparkfun en die van digikey. mouser hebbik al binnen 
druk aant layouten nu... tis effe wennen terug met thru-hole spul spelen.
misschien off-topic maar weet er iemand waar er potdorie nog lcd displays te krijgen zijn met i2c interface. blijkbaar is dat compleet verdwenen. ik heb er nog een tros liggen ( chip on glass 2x16 karakers met maar 5 pootjes. : power, grond sda scl en de spanning voor de lcd zelf ) twaren er van rohm maar die zijn daar mee gestopt. drat !
en ik zoek ook nog mooi draaiknopjes ( stijl degene die op de rigol scoop zitten. de rotary encoders heb ik al. draaiknopje voor 6millimeter as met een D vorm ( dus afgeplatte kant )
overal waar je kijkt zijn het van die aartslelijke vuile bakelieten pijlknoppen. bah. precies voor lampenbakken uit de jaren 50 ... ) digikey heeft niet echt iets. mouser heeft iets van een zwitzers merk maar der moeten mooiere te vinden zijn dan dat ... google is kapot blijkbaar want 'rotary knob' en aanverwanten levert niet veel op ...
[Bericht gewijzigd door free_electron op (32%)]
Daan Timmer
Ik ben programmeur! geen electronicus! http://www.daantimmer.nl/ Er is een ontwerp! nu nog inhoud :-)
Op 11 december 2009 06:26:31 schreef free_electron:
alleen stom dat er geen pic's zijn met ingebakken DAC ... nuja een pwm kanaal gaat ook maar das toch niet echt hetzelfde.
Eh? al eens naar de 16-bits gekeken?
dsPIC33FJxxGPxx
dsPIC33FJxxMCxx
dsPIC33FJxxGSxx
Hebben een DAC. maar geen USB echter 
PWM + simpel 1e orde laagdoorlaatfilter = DAC?
en de resolutie is 10-bits, ook niet slecht.
Indien nodig laagdoorlaatfilteruitgang bufferen met opamp.
Ik gebruik 220Ω om het wat makkelijker voor de icsp te maken, 100Ω was te weinig. Op deze pennen heb ik verder alleen de uitgangen van een optocoupler welke tijdens programmeren hoog-ohmig zijn maar waarschijnlijk te veel parasitaire capaciteit hebben om de flanken netjes te houden.