Sie sind auf Seite 1von 32

1

ISSUE 8 | MAY 2OO9 | CPEN SCURCE WWW.EMBEDDED-PRCJECTS.NET


3
www.ebeddedoroecs.ne
,our own oroecs
[EDITCRAL]
ENGINEERING
EVERYWHERE
Neue Proee .u
nacnbauen oder
weierenwicen
[PRCJECTS]
FLASHCRAFT Funboard FFM'
Embedded Linux oooounr ur nerruos
USB IO Expander
UART onne abe
MyCPU / Hoebrew Coouer
Grasshopper oandard C Proraierun
Disko - A GUI tooIkit or seoo boes
NIOS II Embedded EvaIuation Kit TMCoauedunen
2 2
[ FLTOF/ ] BehedkL SauLer
WELCOME
Ausgabe 3 von Embedded-Projects JournaI
Tja, ver lalle das gedacll - drei Ausga-
ben des freien }ournaIs exislieren bereils.
Lin Open-Source Irojekl Zeilsclrifl, das
zusalzIicl zur IDI-Dalei aucl aIs eclle
Iapierversion verfugbar isl. Dass es kIap-
pen kann vurde beviesen.
In dieser LinIeilung moclle icl die Zeil nul-
zen einen Molivalionssclub fur aIIe aslIer,
Irojeklbelreuer, HoclscluIprofessoren,
AusbiIdungsIeiler usv. zu slarlen. Sclreibl
ArlikeI fur das Irojekl Zeilsclrifl!
Tag fur Tag enlslelen vieIe Inleressanle
Irojekle, Versucle oder kIeine TeslsclaIlun-
gen, die nacl gelaner Arbeil vieder in der
SclubIade versclvinden. Docl genau die-
se Informalionen bedeulen fur LnlvickIer,
asler & Co. einen virkIiclen Melrverl.
Mein Wunscl: Nulzl das ,embedded projecls
}ournaI aIs freie IIallform, soIcle ArlikeI
und ericlle zu veroffenlIiclen. Ls mussen
nicll immer gIanzende ,SupersclaIlungen
vorgesleIIl verden, es kann aucl eine In-
formalionsfundgrube vieIer kIeiner Dinge
sein. Meisl genugl es, sicl nacl einem Ver-
sucl nocl ca. 1-2 Slunden linzuselzen und
aIIes kurz nieder zu sclreiben.
Das Open-Source Hefl ,embedded projecls
}ournaI braucll nocl melr spannende
ArlikeI und ericlle. Aucl Sponsoren fur
Anzeigen sind immer viIIkommen! An
dieser SleIIe noclmaIs Dank an unseren
Hauplsponsor IV-Lcllzeil- und Lmbed-
ded aus Augsburg.
ei Iragen vendel eucl gerne vie immer
an micl.

AIIer guten Dinge sind drei?
Benedikt Sauter
sauler_embedded-projecls.nel
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
/
n
.
e
i

e
4
AbbiIdung 1: RFM12 in der S-Version
[ PFO.FCT ] FLASHCRAFT Fuhkboard | Forah Scherb
EinIeitung
Iasl|edersieIleinmaImildemGedanken
IrgendelvasberIunkzuverbinden
AngefangenvonkIeinenLaborauaulenbis
hinzurhauseigenenAIarmanIageoderder
mildemWeckergekoeIlenKaeemaschine
DochsleIIlsichschneIIdieIrageviedenn
dieIunkverbindungmilmgIichslgeringem
AufvandreaIisierlverdensoII
DieserArlikeIsoIIeinenAnsloundeine
LsunganhandeineskomIeenIro|ekls
frdieseIrageIiefern
FLASHCRAFT - Funkboard
Funken mit dem RFM12
FIorian Scherb <fIorian.scherb@web.de> www.fIashcraft.de
DadasUberlragungsvoIumenbeivieIen
HobbyanvendungenreIalivgeringislnur
ruchleiIebisvenigeKiIobyleroSekunde
undsichdieReichveileinderRegeIauf
dieeigenenRumIichkeilenbeschrnkl
sleIIendieIunkmoduIedieserKalegorie
vohIdeninleressanleslenTeiIdar
IndicscmArtikc!wi!!ichcinPrn|ckt
vnrstc!!cn das cincm bcrcits grnc
Tci!canArbcitIurdicEinrichtungcincr
Funkubcrtragungabnchmcnkann
Das Iro|ekl Iu unler dem Namen
FLA5HCRAFTFunkbnard
IsbasierlaufdemRIMModuIsiehe
IrIulerungunlenaufdieserSeileund
einemATmegaDasIro|eklbeinhaIlel
einenSchaIlIanIIalinenIayoul
einenumfangreichenCCode
einTerminaIrogrammfrdenIC
eineausfhrIicheDokumenlalion
ProjektvorsteIIung
Leistungsbersicht
4ooMH. oder 8o8MH. oM Eand
eine .usa.icne Funi.en. noi
Eidireiona. nabduoe
Feicnweie .wiscnen OOoOO
Funne.wer i bis .u 'o Eoards'
Eerieb vo oniurierbar. auo.
aden von oniuraionen bei oaruo
oicnerneieaures wie CFCs vornanden
/nseuerun uber L/FT / Fo'o'
Maiae Paeane (oenan)
O Nu.daenb,es
nerne Laenouerun von
ausenenden und einenenden Laen
oroverbraucn 44/ oeeoodes
o\ oder o.o\Eerieb oicn
Fessoannunsreer LO . Fo'o'
Treiber. u./. ooiona dire onEoard'
Pus PC ooware. Louenaion
und vieen weieren Feaures'
Umfang
DieMolivalionvareseinuniverseIIeinselz
baresModuIzuenlvickeIndaseinfachin
derAnvendungIeichlkongurierbarund
aufdasindividueIIeIro|eklanassbarisl
ohnedassdieZieIschaIlungindiedasoard
eingebaulvirdirgendveIcheInformalionen
berdasIunksyslemkennenmuss
DasIro|eklbeinhaIleleinekomIee
IunkIsungdiemanbeiedarfauch
frei abndern kann Die vichligslen
LeislungsmerkmaIesindimnebenslehenden
KaslenaufgeIislel
Wie funktionierts?
Dic5cha!tungmitAVRRFMunddcr
zustz!ichcnPcriphcricbi!dcncincin
sichgcsch!nsscncB!ackbnxdica!!cs
bcinha!tctwascinFunksystcmhabcn
muss
,Und das heit.?"
OhalmanzvarassendeIunkmoduIe
gefundenslehlnunabervorderAufgabe
diesenModuIenLebeneinzuhauchen
WasamAnfangnocheinfachkIingen
magkannschneIIineinenvochenIangen
Irogrammierkriegausarlenvennman
vorhaldasIunksyslemelvasumfangreicher
zugeslaIlenHierslehlmananeinem
IunklandemmanschneIImehrZeilindie
UmselzungderIunkberlragunginveslierl
aIsindaseigenlIicheIro|eklseIbsl
DashiervorgesleIIleIro|eklsoIIge
naudiesvermeidenundeineferlige
IunkIsungfrdurchausansruchsvoIIere
AufgabenbielenDieexlerneSchaIlung
seIbslzeinDalenIoggermusskeinerIei
DienslezumIunksyslembeilragenund
kannkomIeihrereigenl
IichenAufgabenach
gehen
Das RFM12
DenKernbiIdeldas
RIMIunkmoduIderIa
HOIIMicroeIeclronicsDiesesModuIisl
milgeradeeinmaIcmGrundcheund
rundKoslenkIeinundreisverl
AberauchseineLeislungsdalensind
fr dieses IIalinchen besser aIs zu
nchslmaneservarlenvrdeDas
ModuIvirdmilSannungenzvischen
bisVbelriebenundverbrauchl
dabeiinelvazvischenmASendenund
mAImfangenDasModuIgiblesfr
dieIrequenzbereicheMHzundMHz
DiemaximaIeUberlragungsralebelrgl
kaudWeilerhaleseineSendeIeislung
vondmundeineImndIichkeilvon
dmbeieinerandbreilezvischen
kHzundkHzDieAnsleuerung
erfoIglmieIsSII
Die SchaItung
DieSchaIlungfrdasoardbeschrnklsich
imWesenlIichenaufdieAnsleuerungdes
RIMsovieeinigenIeriherieeIemenlen
diebeiedarfauchenlfaIIenknnen
Interner Aufbau des ModuIs
DasRIMvirdserieIIberSIISeriaI
IeriheraIInlerfaceangesleuerldiemaximaIe
TaklralebelrglrundMHzDasModuI
verfglbereinigeZusalzanschIssederen
IrIulerungendenRahmen|edochsrengen
vrdenIinzigaufdienichlVervendung
desInlerrulIinNIRQsoIIhierexIizil
eingegangenverden
DerNIRQvirdbeibeslimmleninlernen
IreignissengelriggerlunddienlaIszuslzIiche
SlalusIeilungnebendemSIIIigenlIich
einefeineSachesoIieesichdadurchdas
IoIIenimImfangsbelriebvermeiden
vredanurnichldieelvasbescheidene
Umselzung
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
5
Tab. 1: StckIiste
* nicn Tei der Miniabescnaun
Ee.eicnnun \er
IC1 RFM12
IC2 ATnega82
IC8* MAX8221
IC4* ZLDCbOO/ZLDC88O
C1 8MHz
LED1/LED2/LED8 Chp-LEDs R/C/B
JP1 8*2,b4nn LesLe
CCN1,CCN2 18*,2b4nn LesLe
SMA SMA PrhLbuchse
R1 41kO
Ee.eicnnun \er
R2,R8,R4 41OO
Rb 1OkO
R6,R1 1OOkO
C1,C2 82pF
C9* 1OpF
C6,C1,C12 1OOhF
C8,C4,Cb* 41OhF
C11* 1OOhF
C8* 41F
C1O* 22F
AbbiIdung 2: SchaItpIan
Forah Scherb | FLASHCRAFT Fuhkboard [ PFO.FCT ]
Die Software
DerNIRQislIeiderderarlberIadendass
diesovareseiligeAusverlungderIrage
veIchesIreignisdenNIRQnunausgeIslhal
seinenVorleiIviederversieIlAusdiesem
GrundvirdderIinhiernichlvervendel
AIIerdingssoIIlemansichbevusslseindass
einIoIIendadurchunumgngIichvird
AIIefoIgendenKomonenlensindoli
onaI
WeilererTeiIderSchaIlungisleinZLDO
IeslsannungsregIerDerRegIerhal
einensehrgeringenVoIlageDroeine
UberlemeralursicherungundkannmieIs
einerSleuerIeilungdeaklivierlverdenSein
AusgangkannhierauchzurVersorgung
exlernerSchaIlungenvervendelverden
biscamALasl
DerMAXislTeiIderRSSchnisleIIe
DieserIChaldenVorleiIdasserneben
demmanueIIenDeaklivierenberdie
SignaIeIORCIONundIORCIOIIauch
einenAuloShuldovnbesilzlnachca
sInaklivillundmandenSlalusder
SchnisleIIezuslzIichabfragenkann
GegensleIIezeinComulerakliv
ZuslzIichgiblesnochLIDszurAnzeige
IoverGoodImfangeDalenund
SendeDalen
SchnittsteIIe zur AuenweIt
DasIunkboardvirdmilSliIeisleneinfach
indieZieIschaIlunggeslecklUberdiese
SliIeislenndelauchdieKommunikalion
mildemoardsla
DieAnschIsseknnengrobinGruen
eingeleiIlverden
InlerfacesUARTRSzurAnsleuerung
ICSIIfrslereIrveilerungensovie
veilererSleuerIeilungen
DcbuggingAnschIssezumRIMzum
DebuggendesModuIs
5nnstigcsSannungsbervachung
ReselAnlenneSlalussignaIGIIOelc
IrdenAnschIusseinerAnlenneislein
SMAConneclorfrIrinlmonlagevorgesehen
DerAnlennenanschIusskannaberauch
bereinenIinderSliIeisleherausgefhrl
verden
Dic5nwarcIurdcnAVRwurdcinCuntcr
dcrEntwick!ungsumgcbungAVR5tudin
gcschricbcnDcrCndcistzugrnIurcincn
ATmcgapasst|cdnchincincnATmcga
ndcrATmcga
DasMankovieIerOenSourceLsungenisl
ohnediesekrilisierenzuvoIIendassder
CodeomaIssehrminimaIislischgehaIlen
odernichlausreichendkommenlierlund
slruklurierlislWiIImandieseCodes
vervendenhalmanzvareinengulen
SlarlunkldieeigenlIicheDurslSlrecke
mussman|edochseIbslbevIligenGerade
imHinbIickdaraufdassdasIunksyslem
oseIbslnurMieIzumZveckseinsoII
isldiesdannrgerIich
DerhiervorgesleIIleSourcecodesoIIeselvas
bessermachenIsvurdegroenWerldarauf
geIegldiesenbersichlIichslruklurierl
undmgIichslumfangreichzugeslaIlen
DerCodebielelbereilsvieIeMgIichkeilen
undkannohnegroenAufvandvon|edem
seIbslergnzlverden
FunktioneIIe Struktur
DieSlruklurierungdesCodesgIiederl
sichinTeiIeeinenfrdasImfangen
undSendensogTransceivemodusund
einemfrdas
6
Abb. 3: Funkboard
Vorder- und Rck-
seite
[ PFO.FCT ] FLASHCRAFT Fuhkboard | Forah Scherb
KongurierenderIunkverbindungsog
KonguralionsmodusDieAnsleuerung
beiderModiserfoIglberdieUART
undeineSleuerIeilungderenIegeIden
ausgevhIlenModusbeslimml
Sende- und Empfangsbetrieb
UberIsslmandasoardsichseIbslsringl
esaulomalischindenImfangsbelrieb
undvarlelbisdasRIMDalenemfngl
IoIIingeimSendenverdendieDalen
akelveiseberlragenDanachvirdvieder
indenImfangsbelriebgesrungen
}edes oard hal eine nderbare
IdenlikalionsnummerIDeimSenden
vonDalenkanndadurchderImfnger
ausgevhIlverdenAuerdemisles
mgIicheinHandshakingdesImfngers
anzufordernAIIesWeilerebernimmldas
oardabhiermussmansichumnichls
mehrkmmern
Konfigurationsbetrieb
|inc|unku|criragungisinurscguiuicscin
anscn|ccnicsicncingcsic||icrParancicr
SoodersohnIichknnlemandieAufgabe
desKonguralionsbelriebscharaklerisieren
DasRIMsleIIlschonvonHausausvieIe
IaramelerzumIeinTuningbereilzusammen
mildemAVRverdenesnochmaIseinige
mehrAIIedieseIaramelerknnenim
KonguralionsmodusmanueIIeingesleIIl
verdenVonRSSIundLNAGainberdie
IdenlikalionsundKanaInummerbishin
zuSovarereselsundSIeemodes
Damilmannichlbei|edemNeuslarldas
SieIvonvornebeginnenmussseicherl
dieSovareaufWunschdieIaramelerab
undIdlsieaulomalischbeimSlarlu
ZugulerLelzlislesauchmgIichaIIe
IaramelerauszuIesenesondersim
HinbIickaufdasslerbeschriebeneIC
TerminaIrogrammbieleldiesinleressanle
MgIichkeilen
Der saure ApfeI
IrgendvogiblesimmereinenHakenHier
sindesdieHardvareressourcendesAVRs
MchlemandemAVRauchandereAufgaben
zuleiIenundihnnichlnurderIunkerei
berIassenmussmanIinschrnkungen
hinnehmen
eiderIrogrammierungvurdebuchslbIich
ausdemVoIIengeschundregerGebrauch
vonTimernundInlerrulsgemachl
ZvarIassensichkIeineSubroulinesfr
andereAufgabenrechleinfachhinzufgen
aIIerdingsmussbeimIrogrammierenauf
dieseIrobIemsleIIungRcksichlgenommen
verden
Und sonst.?
IinSchaIlIanundderdazugehrigeSour
cecodesindzvarschnzumAbrundendes
Iro|eklsfehIenabernocheinigeDinge
PC TerminaIprogramm
TeiIdesIro|eklsisleininCgeschriebenes
ICIrogrammdasberdieserieIIeSchni
sleIIeaufdasIunkboardzugreifenkann
HierfrislIedigIicheinkIeinerAdaler
milIegeIvandIerICnligDieSovare
isldanninderLagediegeselzlenKon
guralionenauszuIesenundumzundern
AuerdemkannauchderIunkbelrieb
geleslelverdenDieSovarekannauch
aIsasisfrandereIro|ekledienenund
bieleldamileineSlarlhiIfe
Dokumentation und Skripte
AbgerundelvirddasIro|ekldurcheine
seiligeDokumenlalionHinzukommen
SkrilezumschneIIerenIinsliegsovieeine
AnIeilungzumAnlennenbau
Kosten
DieKoslendesIunkboardsknnennichl
auschaIangegebenverdendadasoard
moduIaraufgebaulundnochnichlkuich
zuerverbenisl
DieIIalinendrenmilrundbiszu
ucheschIagenRIMATmegasovie
QuarzundeinigerRsundCsaIsMinimaI
beschaIlungknnenzusammenmilgrob
angeselzlverdenNachobenhin
Iieglesan|edemseIbsl
eikomIeeresl
ckungknnennochmaIs
hinzuaddierlverden
Machlsummasummarum
imMieIelva
freineausreichend
beslckleIIaline
Fazit
DashiervorgesleIIleIro|eklislfr|eden
inleressanlderIanleinkIeinesIunksys
lemeinzuselzlen|edochnichldasRadneu
erndenodersichhohenKoslenausselzen
mchle
SokannmaneinUIlraLovCoslIunkmo
duImileinerumfangreichenHardund
SovareUmgebungkombinierenundhal
milgeringemKoslenundZeilaufvandeine
exibIeundIeislungsslarke
IunkIsungIssoIIaber
auchaIsInsiralion
freigeneIro|ekle
dienen
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
/
n
.
e
i

e
7
Linux>
PB25
PB14
Interrupt
Antwort
USB
Eth
RS-232
NGW100 IR-Stoppuhr
AVR32
AVR
Mega8
Entwicklungsrechnner
Abb.1: Anwendung der Interrupt-Stoppuhr
HuberL Hg | Enbedded Lhux - SLoppuhr Iur IhLerrupLs [ PFO.FCT ]
ImvergangenenOkloberhalzumerslen
MaImeinneuerKursEmbedded L|nux [2]
anderHochschuIeAugsburgslagefunden
IlvaSludenlinnenundSludenlenhaben
sichdafrinleressierlMirvaressehr
vichligdass|ederTeiInehmervonAnfang
aneinenassendenreisverlenRechner
zumUbenhaeimIdeaIfaIIsogaraIssein
IigenlumNachelIichemhinundhereI
dieWahIaufdasNetwork Cateway vonAlmeI
NGWveiIesimHochschuIrogramm
desHersleIIersnurknaIurokoslel
eszumasleInmileinfachenMieIngul
geeignelislundvoraIIemveiIseineLinux
Heimal www.avr32linux.org aklueII
undvorbiIdIichaufgerumlislsodassman
auchaIsreIaliverAnfngersoforlIosIegen
kannManndeldorlaucheinWikimil
manchensehrgeIungenenAnIeilungen
dasunsgeradebeidenhardvarenahen
VersuchenveilergehoIfenhal
AIsAIlernalivevarauchnochderGrasshoer
vonenediklSaulereineUberIegung
verlaIIerdingsisldasoardleurerund
esunlerscheidelsichbeiderHardvarean
manchenSleIIeneinvenigvomNGW
AusserdemisldieInlvickIungsumgebung
frdenGrasshoerIeiderbishernoch
abgekoeIlvonderHaulenlvickIung
aufavrIinuxIreinenAnfngerisl
derZugangzudiesemoardaIsodeulIich
schvereraIsbeimNGW
DieUnlersllzungderKursleiInehmer
durchSkrileAnIeilungenundsonsliges
MaleriaIvarvonmeinerSeilenochelvas
exerimenleIIviemanbeivackeIiger
SovaresagenvrdeDasSkrilenlhIl
nochvieIeLckeninsgesamlgiblesnoch
vieIanSchreibundOrganisalionsarbeilzu
IeislenaIIerdingsgibleseinigesehrgule
cherindenendiegesamleThemalik
erkIrlvirdAusserdemsammIeichseil
}ahrenfreieTexlezudiesemThemaauf
einerCDROMdieichdenSludenlenzur
VerfgungsleIIe
VieIZeilhalamAnfangdieesrechung
derHardvareeigenschaendesoards
desoolvorgangesvasassierlSchri
frSchribeimoolenundderCross
InlvickIungsumgebungbuiIdroolbe
nliglDasZieIvardasNGWaneinem
InlvickIungsrechnermeisldasNolebook
desSludenlensozubelreibendasssovohI
derKerneIaIsauchdasRoolIiIesyslem
berdasNelzverkgehoIlbzvgemounlel
verdenMildiesemAuauvurdendann
dieerslenseIbslgeschriebenenIrogramme
geleslelzHeIIoWorIdberdieserieIIe
SchnisleIIe}enachVorvissenhabensich
mancheSludenlendannauchbereilsandie
manchmaIgarnichlsoeinfacheKomiIierung
vongrsserenIrogrammengemachldie
esbishernochnichlfrAVRgabUnler
anderemvurdeein}abberCIienlund
SovareausdemAudioereichfrden
AVRkomiIierl(s|ehe Stud|enarbe|ten
unter [2])DenIylhonInlerreler
frAVRzukomiIierenhaeichmir
vorgenommendaichmilIylhonauf
ImbeddedLinuxeinaarIxerimenle
machenmchle
DasgrosseZieIbeiLinuxaufMikroconlroIIer
oardsislabernalrIichdenRechnerum
exlerneHardvarezuerveilernbzvdas
InlerfacenanexlerneIIeklronikSovaren
diesehrvichligenschmaIenSchnisleIIen
vieSIIundICbeidenUbungenIichl
IaslimmerverdeninderIraxisdarber
vieIeIeriheriebaugruenangesleuerl
vieDisIaysTaslalurenLIDsADund
DAWandIerundvieIesveilere
Embedded Linux - Stoppuhr fr Interrupts
an der HochschuIe Augsburg
Hubert HgI <Hubert.HoegI@hs-augsburg.de >
Eine Stoppuhr fr Interrupts
eieinemanderenganzeinfachenaber
lrolzdemIehrreichenIxerimenlinunserem
KursvurdeeinSchaIlerundeineLeuchldiode
LIDanIOIinsdesAVRangeschIossen
DieAbsichlvardurchDrckendesTaslers
einenInlerrulbeimAVRzuerzeugen
aufdiesenInlerrulingeordnelerWeise
ineinemHandIerimGerlelreiberunler
LinuxzureagierenundaIsIoIgedavondie
LIDeinundauszuschaIlenAusdiesem
IxerimenlenlvickeIlesichschneIIdie
IragevieIangeesinelvadauerlbis
einInlerrulvomriesigenLinuxKern
beanlvorlelvirdDieseZeilsannevird
auchLalenzzeilgenannleikIeineren
ilMikroconlroIIernohneelriebssyslem
vusslenvirdassdieser
Vorgangungefhreinaar
Mikrosekundendauern
vrden
UmdieIragezubeanl
vorlenbaulenvireine
InlerrulSlouhr
dieviehbb||dung !an
geschIossenvird
DieSlouhrenlsrichl
genaudemAuaumil
TaslerundLIDnurdass
|elzleinkIeineril
AVRMikroconlroIIer
dieSignaIeerzeuglbzv
enlgegennimmlDieZeilzvischendem
InlerrulundderAnlvorlvirdeinfachin
einemschneIIIaufendenTimergeslolDie
KoordinalionderMessungsoIIdabeiderIC
bernehmenambeslenberdenUSus
eiderAusvahIeinesgeeignelenkIeinen
AVRModuIsdasanUSangeschIossen
verdenkanndachlenvirzunchslan
USBprog [5]IsgehlaberIelzlendIichnoch
einfacherundreisverlervennmanmil
USIouspeedmaximaIMilsec
zufriedenislDannkannmandiezvei
USDalenIeilungendireklandenAVR
schaIlenundsarlsichdieUSridge
USNdiebeimUSrogfrfuIIseed
MilsecnligislIinehervorragende
IovseedUSIirmvarefrAVRenlsland
beimhVPUSBIro|eklderIirmaDbject|ve
Deve|opment [6]DiesevardieGrundIage
frunsereSlouhr
Indernchslenhbb||dung 2siehlmandie
konkreleeschaIlungUARTSIIundIC
brauchlmanzunchslnichl
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
8
PB0
PD3
PD2
PD4
USB
D-
D+
Mega8
AVR
16 Mhz ISP
Interrup
Antwort
SPI I2C UART
low-speed
5V 3.3V
Abb.2: BeschaItung des AVR Mega8
Abb.3 Versuchsaufbau
der Interrupt Stoppuhr
Abb.4: Der Mega8 AVR aIs SchnittsteIIen-Tester,
Power/Reset-SchaIter und Interrupt-Stoppuhr.
UART
SPI
Slave
I2C
16 Mhz
Antwort
Interrupt
AVR
Mega8
PD2
PD4
USB
low-speed
D+
D-
RX
TX
MOSI
MISO
CLK
SDA
SCL
PC0
PC1
PB0
PD3
PC5
PC4
PB5
PB4
PB3
PD1
PD0
Reset
Power
Reset
[ PFO.FCT ] Enbedded Lhux - SLoppuhr Iur IhLerrupLs | HuberL Hg
DieIirmvarehabenvirimvesenlIichen
nurumeinenTimererveilernmssender
innsecSchrienzhIlbisdieAnlvorl
aufdenInlerrulbeimAVRankommlDa
derZhIerilbreilislkannmandamil
maximaIelvamsecmessenvasmehr
aIsausreichendseindreIaIIsman
IngereZeilenmessenmchleknnle
mandieZeilschrieaufoderusec
verIngern
WennmandenAVRberUSandenICsleckl
dannvirderberdieIirmvareimAVRaIs
HumanInlerfaceDeviceHIDerkannl
TreiberfrdieseUSGerlekIassesindin
|edemelriebssyslemenlhaIlen
UnlerLinuxauchWindovs
giblesdielibhid milder
manaufHIDGerlezugreifen
kannDiesebaulviederumauf
der libusbaufeimAVRUS
Iro|eklisleininCgeschriebenes
KommandozeiIenverkzeugdabei
dasdieKommunikalionber
HIDmildiesenibIiolheken
demonslrierlhidtoolDaes
frbeideibIiolhekenWraer
frIylhongiblvaresIeichldas
hidlooIinCdurcheinevieIkrzere
VarianleinderSracheIylhon
zuerselzenZurKommunikalion
berUSvervendelmandieIunklion
hid_set_feature_report() derIibhid
beidereinfacheinArrayausyles
zvischenICundAVRausgelauschlverden
DieInlerrelalionvoneinaarylesam
AnfangdesArraysbeslimmlinunserem
IaIIdieIunkliondesAVRConlroIIersei
derSlouhrvirdzbereinenIealure
ReorldieMessunggeslarlelundber
einenanderenReorldasMessergebnis
gehoIlMeinenIrobeauausiehlmanin
hbb||dung 3
DieerslenMessungenergabenbrigensdass
dieInlerrulAnlvorlzeilbeielvabis
usecIieglDabeimussman|edochbeachlen
dassdieZeilabhnglvonderRechenIasl
diederAVRgeradezubevIligenhal
eiunsererMessungvardasLinuxnach
demoolenimLeerIauf
DieDelaiIsderSlouhrndelmanunler
hLLp://www.hs-augsburg.de/-hhoeg/e-
hux/nsc/r-sLoppuhr/
VerbesserungsvorschIge
WennmansicheinerofessioneIIeInler
rulSlouhransiehlviezumeisieIdie
Latency-BoxdesDShDL [3]dannsiehlman
schneIIvasmanbessermachenknnle
MansoIIlemgIichslvieIeMessungenmachen
undeineHugkeilsverleiIungersleIIen
iszueinerMiIIiardeMessungenverden
vorgeschIagenDasislnalrIichauchein
ZeilrobIembeiunskommlnochdazuder
OverheaddurchdieUSKommunikalion
fr|edeMessungvasderarl
vieIeMessungenunmgIich
machlZumindeslknnleder
AVRvonsichausmehrereMes
sungenerIedigendieimsehr
kIeinenRAMSeicherdesAVR
zvischengeseicherlverden
unddannimSlckaufdenIC
berlragenverden
WennmandenIuroAufvand
unsererSlouhrmilderLalen
cyoxIoverICmilMHz
undMSeichervergIeichl
dannschneidelerslereabergar
nichlsoschIechlab
IineandereVerbesserungs
mgIichkeilkommlvonden
bisherungenulzlenSchnisleIIen
UARTSIIundICDaviraufdemNGW
dieenlsrechendenSchnisleIIendurch
geeigneleTreiberinelriebnehmenisles
sehrraklischvennmanzumTeslauch
das|eveiIigeGegenslckderSchnisleIIe
halDieSlouhrkannaIsosehreinfachum
eineneinfachenSchnlsteIIentestererveilerl
verdenIneinerganzeinfacheVarianle
dievirvorkurzemreaIisierlhabenvird
einfach|ederSchnisleIIeeineZhIervari
abIezugeordnelIrokorreklemfangenem
ZeichenvirddiezugehrigeVariabIeum
einserhhlDieseZhIerverlekannman
berdieUSSchnisleIIeabfragen
IsgiblnocheineveilerezuslzIiche
VervendungfrdiesekIeineSchaIlung
ManchmaIislesraklischdasNGWan
einemServerRechnerzubelreibenund
enlfernlmildemoardbereinesshVer
bindungzuarbeilenAIIerdingskannsich
dasoardsoaungendassnurnoch
dasDrckenaufden
ReselTaslerhiIMil
einemzuslzIichenIin
amMegaAVRkannman
einenTransisloransleu
ernderdenReselKnof
aufdemNGWfernsleuerl
AuchdieSlromversor
gungdesNGWIssl
sichmileinemReIais
einundausschaIlendas
bereinenTransisloran
einemveilerenIindes
MegaangeschIossen
islDieICSovarezur
Kommunikalionmildem
AVRmussIedigIichum
einaarKommandozei
Ienolionenerveilerl
verden
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
9
HuberL Hg | Enbedded Lhux - SLoppuhr Iur IhLerrupLs [ PFO.FCT ]
Wie geht es weiter?
SchnvreesvennvirinunseremKurs
auchmilIchlzeilIrveilerungenfrLinux
exerimenlierenknnlenIsgiblzum
eisieIdenPea|t|me Preempt|on Patch
oderdieIrveilerungenPThIbzvXenoma|
frganzslrengeAnforderungenbeider
IchlzeilDieInlvickIungkonzenlrierl
sichdabeiabernochaufdieseilIangem
elabIierlenIrozessorenviexIoverIC
undARMVomDShDL [3]saglemiraber
|emandvorkurzemdassmandorlden
RTIreemlionIalchfrdenAVRbaId
orlierenmchle
DerguleSlandbeidenIchlzeilMgIich
keilenundbeidenIeriheriemoduIen
IssleinennalrIichauchimmereinvenig
aufIIalinenmilARMConlroIIerschieIen
ZurZeilarbeileichaneinerSchaIlungmil
einemATSAMimQIIGehuse
vonAlmeIdiemanzurNolauchseIber
beslckenknnleIsvirdauchnochder
USConlroIIerITdraufseinmildem
mandirekleineserieIIeSchnisleIIeund
den}TAGIorldesARMansleuernkann
sodassmansoforlnachdemAnslecken
anUSmilderArbeilbeginnenkannAIs
DebuggerkannmandenfreienDpenDCD
[4]vervendendermiIerveiIebei|edem
LinuxaIsSlandardakeldabeiislLeider
giblesfrdenAVRkeinenfreienDe
buggerManislhieranden!ThCICE mkII
gebundenderimmerhingulIurokoslel
DasisldiezveilebiereIiIIenebender
fehIendenIchlzeilUnlersllzungdieman
beimAVRschIuckenmussIindrier
obekIaglerMangeIisldiefehIendeUS
HoslSchnisleIIebeimAVRAIDer
neueAIhezvareinegehablaIIer
dingsvurdedieMarkleinfhrungdieses
ausleinesvorkurzemaufunbeslimmle
Zeilverzgerl
DenOenOCDhalbrigensDominicRalh
ineinerDiIomarbeilanderHochschuIe
Augsburgvoreinaar}ahrenindieWeIl
geselzlDieDiIomarbeilgiblesauf
meinerHomeagezumfreienDovnIoad
MiIerveiIevirddasIrogrammvoneiner
InlvickIergemeindeveilergeschrieben
DernchsleImbeddedLinuxKursbeginnl
imSommersemeslerMieMrz
Ichfreuemich|ederzeilberAnregungen
erImaiI
Links
[]MeinSlarlseileanderHochschuIehLLp://www.hs-augsburg.de/-hhoeg
DerImbeddedLinuxKursHierndelmanauchdieerslenenlslandenenAusarbeilungen
hLLp://www.hs-augsburg.de/-hhoeg/ehux/ehux.hLn
OenSourceAulomalionDeveIomenlLabOSADL hLLp://www.osad.org
OenOCDDebugger hLLp://opehocd.beros.de
USrogAdalerhLLp://www.enbedded-pro|ecLs.heL
AVRUSIro|eklderOb|ecliveDeveIomenlSovareGmbHhLLp://www.obdev.aL/producLs/avrusb/hdex.hLn
/n.eie
10
Abb.1: Ausschnitt SchaItpIan
[ PFO.FCT ] USB IC Expahder | www.nkrocohLroer.heL
USB IO Expander
MichaeI Wittmann <www.mikrocontroIIer.net>
EinIeitung
OvreesraklischeinigedigilaIe
bzvanaIogeSignaIemgIichslschneII
undeinfachgraschamICdarzusleIIen
odererdigilaIemAusgangverschiedene
exlerneaugruenanzusleuernDaes
reIalivumslndIichisldafr|edesmaI
einenMikroconlroIIerzurogrammieren
eineDalenberlragungmildemRechner
herzusleIIenunddasganzedannauch
nochzuvisuaIisierenisldiesesIro|ekl
enlslanden
DerUSIOIxanderbesilzl|eveiIs
digilaIeIinundAusgngesovieana
IogeIingngeZuslzIichsindReIais
inlegrierlsovieSIIundIICSchnisleIIen
DasganzeIsslsichbereineeinfachzu
bedienendeSovarevon|edemICaus
sleuernDieAnbindungandenRechner
erfoIglbereinegaIvanischgelrennleUS
SchnisleIIeberdiedasGerlauchmil
Slromversorglvird
Anforderungen
MildemUSIOIxandersoII
keinIrsalzfreinvoIIverliges
OsziIIoskoodereinenLogikanaIyser
geschaenverdenDiesvreaufGrund
derbegrenzlenRechenIeislungdesver
vendelenAVRsovieausKoslengrnden
auchgarnichlzufriedensleIIendmgIich
AusdiesemGrundhabeichmichbevussl
aufdenniederfrequenlenereicheinzeIne
IunklionenbiskHzbeschrnkldaaIIes
anderenurKomromissegevesenvren
IinvesenlIicherIunklvar|edochein
voIIslndigegaIvanischeTrennungvomIC
DiesvereinfachldieArbeilmildemGerl
dochsehrdamannichlaufassenmuss
berandereGerleKurzschIsseberden
SchulzIeilerherzusleIIenDieMasseeines
ICsIieglaufIrdolenliaIsodasszum
eisieIdergIeichzeiligeIinsalzeines
Irogrammieradalerskrilischvre
Features
USB Schn|ttste||e
!6 d|g|ta|e E|ngnge
!6 d|g|ta|e hus gnge
4 unabhng|ge hna|oge E| ngnge
4 Pe|a|s
SPI Schn|ttste||e
IIC Schn|ttste||e
(fr zuknft|ge Erwe|terungen)
Stromversorgung ber USB
ga|van|sche Trennung zum Pechner
e|nfach zu bed|enende
Steuersoftware am PC
husgabe von Nustern an den d|g|ta|en
husgngen mg||ch (Patterngenerator,
b|s max|ma| 50kHz)
e|ngeschrnkt a|s Log|c hna|yser
verwendbar (auch b|s 50 kHz, g|e|ch-
ze|t|gm|t dem Pattern-Cenerator
verwendbar )
Hardware
5chnistc!!cnU5B
DieUSSchnisleIIehalIunklionen
IinmaIgeschiehldieSlromversorgung
berdiesezumanderenvirdsieauchfr
dieDalenberlragungzumICgenulzlda
diemeislenneuenComulerkeineserieI
IenSchnisleIIenmehrhabenDasGerl
meIdelsichaIsUSserieIIKonverleram
ICanundforderldenmaximaImgIichen
SlromvonmAanDeshaIbkannman
denUSIOIxandernuranaklivenUS
HubsbzvdireklamRechnervervenden
IassiveHubsverdennichlunlersllzlDie
mAverden|edochhchslensbenligl
faIIsaIIeReIaiseingeschaIlelsindundaIIe
digilaIenAusgngemildenmaximaI
erIaublenmAbeIaslelverdenUmeine
komIeegaIvanischeTrennungvomIC
zuerreichenvurdendieRXTXLeilungen
derUARTmieIsOlokoIernisoIierlund
dieVUSSannungmileinemgaIvanisch
isoIierlenDCDCWandIerenlkoeIl
ZuslzIichisleinIITvorhandender
vieinderUSSezikaliongeforderl
dieVersorgungssannungdesGerles
abschaIlelfaIIsderUSConlroIIerimIC
dasverIanglIsvirdeinITRUSserieII
WandIerchivervendelIsvrezvarauch
mgIicheineUSSchnisleIIeinSovare
imAVRzuinlegrierenhiersrechen|edoch
mehrereDingedagegenZumeinenisles
sonursehrschvermgIichdieserieIIe
SchnisleIIegaIvanischzulrennenzum
anderenislderConlroIIerdamilziemIich
ausgeIaslelsodassvenigerRechenIeis
lungbzvSeicherfrseineeigenlIichen
AufgabenzuVerfgungslehlDaman
denITfrunlerIurobekommlvar
mirdasdenzuslzIichenAufvandnichl
WerlZudemsoIIlederITTreiberauch
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
11
www.nkrocohLroer.heL | USB IC Expahder [ PFO.FCT ]
unlerLinuxfunklionieren|edochnoch
nichlgeleslel
DasauleiIganzobenin hbb||dung !isl
derDCDCWandIerderdieVersorgungs
sannungengaIvansichlrennlIisleine
IoIyfusedieimIaIIeeinesKurzschIusses
denUSIorllrennlAufGrunddesbe
grenzlenKurzschIussslromsdesDCDC
WandIerkannmansichdieSicherung
evlIsarenvas|edochnichlunbedingl
zuemfehIenislDiebeidenOlokoIer
aufderrechlenSeilesorgenschIieIichnoch
frdiegaIvanischeTrennungderRXTX
LeilungensodassderUSIorlkomIe
vomreslIichenGerlenlkoeIlisl
Digita!cEinAusgngc
Issind|eveiIsIinundAusgngevor
handendiefrVTTLIegeIausgeIegl
sindIsvurdegroerWerldaraufgeIegl
dasGerlmgIichslrobuslzugeslaIlen
DeshaIbverlragendieIingngeSan
nungbiszuVDieAusgngesindkurz
schIussfeslSiesinddaraufausgeIeglro
AusgangbiszumAzuIiefernSokann
manLIDsohnezuslzIicheTransisloren
anschIieenDiedigilaIenIinAusgnge
sindzuslzIichdurchinlegrierlegesockeIle
TreibergeschlzlsodassmanimIaIIeeines
DefeklsnurdiesenauslauschenmussDie
AnsleuerungderinsgesamlLeilungen
islberSchieberegislervomTy
reaIisierlAIsTreiberbausleinekommen
ICsvomTyACzumIinsalzder
ACTyvurdevegenderhherenSlrom
beIaslbarkeilgevhIlrinziieIIkannaber
|ederkomalibIeChivervendelverden
dannaberevlImilIinschrnkungenbeim
maximaIenlnehmbarenSlrom
Ana!ngcEingngc
ZuslzIichsindanaIogeIingngeverfgbar
dieSannungenimereichvonVmil
einerAusungvonilmessenknnen
AuchhiersindSannungenbisVohne
eschdigungderHardvaremgIichauch
vennsichdermessbareereichaufV
beschrnklIvenlueIImussmanhiereinen
exlernenSannungsleiIerzuschaIlenZur
ADWandIungvirdderinlegrierlWandIer
desAVRvervendel
Rc!ais
DieeingebaulenHaIbIeilerreIaisknnen
SlrmebiszueinemAmereschaIlen
SiesinddurcholionaIeinlernexmm
Sicherungenabgesicherlsodassauch
hiereineeschdigungderHardvarefasl
ausgeschIossenisl
5PI
WeilerhinbendelsicheineSIISchnisleI
IeimGerlDiesekannfreikongurierl
verdenundsoIIlesofr|edeAnvendung
vervendbarseindieilDalenervarlel
AuchdieSIISchnisleIIeislloIeranlge
genberVSannungenarbeilelseIber
|edochauchmilVTTLIegeInIsvird
dieimAVRinlegrierleSIISchnisleIIe
vervendel
IIC
IrdasIICInlerfacevirddieimAVRinle
grierleSchnisleIIevervendelAuerdem
isldieseebenfaIIsmilSchulzdiodenaus
geslaelundberIeblsoSannungenbis
VImmomenlanenInlvickIungsslandisl
dieIICSchnisleIIe|edochnochnichlindie
SovareinlegrierldasienurfrevenlueIIe
IrveilerungendienlzHinzufgeneines
Temeralursensors
Cnntrn!!cr
AIsConlroIIerisleinMikroconlroIIervom
TyAlMegaverbaulDieserislmil
MhzgelaklelumeineIrobIemIoseUART
UberlragungzugevhrIeislenAuerdem
bielelergenugSeicherreservenumevlI
nochveilereSovarekomonenlenhin
zuzufgen
/n.eie
12
Abb.2: doppeIseitige ControIIer-PIatine
Abb.3: ReIais-
Out-PIatine
Abb.5: Gehusebeschriftung
Abb.4: Gehuse offen,
InnenverkabeIung
P!atinc
DieIIalinebeslehleigenlIichauszveiTeiIen
undzvardereigenlIichenConlroIIerIIaline
undeinerveilerenolionaIendienurdie
SicherungenfrdieReIaisaufnimmlund
zurefesligungeinerSchraubkIemmeam
GehusedienlDiedoeIseiligeConlroI
IerIIalinehaleineGrevoncaxcm
undasslgenauineinTIKOWALL
GehusevonReicheIlSieislaufhbb||dung
2zusehen
DieReIaisOulIIalineislebenfaIIsdoeIseilig
undgenausogrodassdaraufvierxmm
SicherungenIIalzhabenSiehalaufeiner
SeileeineAusbuchlungDiesesoIIledurch
einenSchIilzimGehusegeslecklverden
umdorleineSchraubkIemmeaufzuIlen
DieseisldannvonauenerreichbarDie
ReIaisOulIIalineislolionaIundkann
veggeIassenverdenfaIIsmandie
SicherungenfrdieReIaisnichl
benliglbzvdieAnschIsse
derReIaisanderveiligaus
demGehusefhrenmchle
DieReIaisOulIIalineislin
hbb||dung 3zusehen
UmdasganzemgIichsl
komaklzuhaIlenkonnle
aufSMDauleiIenichl
verzichlelverdenAIIe
TeiIemilAusnahmeder
TreiberslufensindSMD
auleiIeDieTreibersindaIsDIIGehuse
ausgefhrlundgesockeIlSokannmanim
IaIIeeinesDefeklesdieseohneLlarbeilen
auslauschenAIIeexlernzugngIichenSignaIe
vurdenaufderIIalineherausgefhrlDie
digilaIenIinAusgngesindaIsxoIige
SliIeisleausgefhrlSomilkanndiese
zmileinemoIigenIIachbandkabeI
herausfhrenAIIeanderenSignaIeAD
IICSIIvurdenmieIseinfachenSliIeislen
verfgbargemachlZudembendensich
mehrereTeslunkleaufderIIalinean
denensichbeiderInbelriebnahmeeinfach
zugngIichaIIeVersorgungssannungen
messenIassenAufhbb||dung 4kannman
erkennenviediekIeineIIalinerechlszur
efesligungderSchraubkIemmedienlsovie
dieVerkabeIungmilIIachbandkabeIn
Gchusc
AIsGehusekannzviebereilsvorge
schIageneinTIKOWALLzumIinsalz
kommenIsmssen|edochzmileinem
DremeInungenfrdieUSuchsesovie
frdiereslIichenIinundAusgngehinein
gefrslverdenIinemgIicheReaIisierung
dieichgevhIlhabebeslehlzdarinaIIe
SignaIeberDSubuchsenherauszufhren
AufderschmaIenSeiledesvervendelen
TekoGehuseislgeradegenugIIalz
umnebeneinandersechsDSubuchsen
einzubauenWennmanveIchenimmlin
diemandireklIIachbandkabeIeinressen
IassenkannmansoohnegroenAufvand
aIIeSignaIenachauenfhrenIaIIsdie
VarianlemildenDSubuchsengevhIl
virdkannzdieVorIageinhbb||dung 5
aIseschriungfrdasGehusevervendel
verden
[ PFO.FCT ] USB IC Expahder | www.nkrocohLroer.heL
A!!gcmcincs
DieIirmvareislkomIeinCrogram
mierlAIsComiIerkamdergcczum
IinsalzDieIirmvareislinverschiedene
ModuIeunlerleiIl}edesdieserModuIeisl
freinebeslimmleIunklionbeslimmlDa
diemeislenModuIesehrsimeIaufgebaul
sindsoIIhiernureingroberUberbIickber
dieIunklionsveisegegebenverden}ede
IunklionimQueIIcodeislkommenlierlso
dassesreIalivIeichlseinsoIIledieIunk
lionaIillnachzuvoIIziehen
Software - Firmware im AVR
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
13
case CMD_NEW_COMMAND: //entprechenden Befehl einsetzen
{
if(RingBuffer_Size(&rx_buffer) >= 5)//je nach Anzahl der Bytes, die zu einem Befehl gehren, anpassen
{
uint8_t data = RingBuffer_Pop(&rx_buffer); //empfangene Daten in Variable einlesen
uint8_t data2 = 45;
RingBuffer_Push(&tx_buffer,data2); //Daten senden
UCSRB |= (1<<UDRIE); //nterrupt aktivieren, damit Daten gesendet werden
cmd = CMD_NO_COMMAND; //notwendig damit der Befehl nur einmal ausgefhrt wird
}
}break;
Abb.6: Erweitertes switch {cmd) Statement
FMEFLLFLPFO.FCTo.NFT .OLFN/ ' / 'OO8
www.nkrocohLroer.heL | USB IC Expahder [ PFO.FCT ]
5hiRcgistcrMndu!
DiesesModuIdienlderAnsleuerungder
SchieberegisleraIsodemIinIesenderdi
gilaIenIingngesoviedemAusgebenvon
WerlenaufdendigilaIenAusgngenDie
AnsleuerungderSchieberegislervirdkom
IeinSovareerIediglIinVervenden
derHardvareSIISchnisleIIevrezvar
elvasschneIIeraberdaindiesemIaIIdie
GeschvindigkeilkeineRoIIesieIlvurde
dasSIIInlerfacefreigehaIlen
ADCMndu!
DieseModuIsleIIlIunklionbereilmil
denenmanWerledesADCeinIesenkann
DieReadIunklionbIockierlsoIangebis
derADCmildemIinIesevorgangferlig
islDaauchhierkeinehohenSamIera
lenerreichlverdensoIIensieIldaskeine
RoIIesodaseinAbfragenberInlerruls
keinenSinnmachlderAVRvrdeinder
Zvischenzeilsoviesonurvarlen
Rc!aisMndu!
DiesessehrsimIeModuIdienleinzig
dazudieReIaisanzusleuernDaderAVR
dieReIaisdireklberTreiberlransisloren
ansleuerlbeschrnklsichdieIunkliona
IillhieraufdasselzlenbzvIschenvon
IorlIins
5PIMndu!
DasSIIModuIkaseIldenZugriaufdie
AVRinlerneSIISchnisleIIeIserIaubldas
sendenvonDalensoviedieKonguralion
derSchnisleIIeAuchhierbIockierendie
SendeRoulinenbisderVorgangbeendel
isldakeinehohenAnforderungenandie
GeschvindigkeilgesleIIlverden
RingBucrMndu!
DasRingbuerModuIsleuerlkeineexlerne
IeriheriesondernsleIIlIunklionenzur
VerfgungumeinenRingIuerzuver
vaIlenDieserIeichlerldieKommunikalion
mildemICerhebIichIinRingIuerisl
eineSlruklurdienachdemIIIOIrinzi
arbeilelIirslInIirslOul
ParscrMndu!
DiesisldereigenlIicheKernderSovare
IsseicherldievomICemfangenenDa
lenineinemRingIuerundfhrleven
lueIIerhaIleneefehIeausAufGrundder
dochelvaskomIexerenIunklionsveise
soIIdiesesModuIhierelvasgenauerer
IulerlverdenDieKernfunklionaIilislin
derIunklionIarserIrocessimIemenlierl
DiesevirdineinerIndIosschIeifeaufge
rufenundsleIIldeneigenlIichenIarser
darZuerslvirdgerobsichimIin
gansuereinylebendelvaseinem
efehIenlsrichlIaIIsdiesderIaIIisl
virdimfoIgendensvilchSlalemenlder
enlsrechendeefehIausgefhrlIlvas
mehrAufvandbedrfendieefehIedie
TimergesleuerlarbeilenIaernausgeben
bzvmehreredigilaIeWerlesamIenDorl
mussgevarlelverdenbisaIIebenliglen
DalenvomICemfangenvurdenAn
schIieendvirdeinTimergeslarlelder
zeilgesleuerldieenlsrechendeAklion
ausfhrlWhrenddieserZeilvirddie
UARTdeaklivierlumeinUberIaufendes
ImfangsuerzuverhinderndaleiIveise
direklausdiesemgeIesenvird
EigcncErwcitcrungcn
UmdemIarserneueefehIebeizubringen
mussnurinderIunklionIarserIrocess
dassvilchcmdSlalemenlnachSchemain
hbb||dung 6erveilerlverden
Cnmpi!icrcn
DieSovarecomiIierlmildemAVRGCC
ComiIerWinAVRgeleslelIr
dieInlvickIungsumgebungCodebIocks
virdviedereineIro|ekldaleimilgeIieferl
DieseislabernichlnligIinfachaIIesin
einenOrdnerenlackenundmakeaufru
feneinMakeIevirdmilgeIieferl
/n.eie
14
Abb.9: Konfiguration der SPI-SchnittsteIIe
Abb.7: Pattern definieren Abb.8: Automatisierung von Ein-/Ausgnge
[ PFO.FCT ] USB IC Expahder | www.nkrocohLroer.heL
A!!gcmcincs
DieSovarevurdekomIeinCimIe
menlierlundvervendeldieQlibIiolhek
UrsrngIichvurdesiefrWindovs
geschriebenaufGrundderIIaformun
abhngigkeilderQlibIiolheksoIIlesie
aberauchunlerLinuxcomiIierenda
keineWindovssezischenIunklionen
vervendelvurden|edochnichlgeleslel
ZuslzIichvurdedieITDXXdIIibIiolhek
vonITDIvervendeldiezurAnsleuerung
desvervendelenUSChisdienlIsvurde
hieraufdieVervendungeinesvirlueIIen
COMIorlsverzichlelundsladessender
ITDXXTreibervervendeldadieserauch
unlerLinuxzurVerfgungslehlAnsonslen
heeineIaformunabhngigeLsung
gefundenverdenmssenumCOMIorls
zuvervaIlenAuerdemvereinfachldie
gevhIleLsungdieHandhabungdes
GerlesdadieSovareohneAusvahI
einesCOMIorlsdasGerlslelsndel
HiersoIInuneingroberUberbIickber
denAuaugegebenverden
GUI
DieGUIbeslehlzunchsleinmaInuraus
einemHaulfenslerdasunleneinInfo
IeIdsovieInformalionenzuVerbindung
bereilsleIIlImoberenereichbendelsich
einTabIenslerindasdanndieverschie
denenIunklionenaIseigenslndigeTabs
inlegrierlverdenknnen
Puern
Obenrechlsbendensichzveiuons
umeinIaernzudenierenundumden
eingebaulenTriggerzukongurierenDas
IaernvirdaufWunschdannamAusgang
ausgegebenHierzudienlunlenrechls
derSamIenuonMildenbei
denCheckboxenkannausgevhIl
verdenobeinIaernausgegebenverden
soIIoululbzvderIinganggeoIIl
verdensoIIinulAucheineKombina
lionislmgIichIaIIseinTriggerdenierl
islslarleldieIinAusgabeerslfaIIsdie
TriggerbedinungerfIIlislDieAnzahIder
SamIesoxvirdnurausgeverlelfaIIs
keinOululIaerndenierlislAnsonslen
virddieAnzahIderSamIesanHanddes
denierlenIaernbeslimml
DlgltuIenLlnAusgnge
ReIulsundAD
ImunlerenereichkannfeslgeIeglver
denobdieIinAusgngeaulomalisch
akluaIisierlverdensoIIenevenlueIImil
demInlervaIImildemdieIingnge
abgefraglverdenAnsonslenmuss|ede
ZuslandsnderungexIizilvonHand
angesloenverden
SPlKommu
nlkutlon
Imoberene
reichkanndieSII
SchnisleIIekon
gurierlverdenDas
DalenfeIdunlenbielel
verschiedeneAn
zeigemodiinr
DezimaIHexdie
mildenCheckboxen
ausgevhIlverden
knnenDiezusen
dendenDalenver
denbyleveisebinr
gevandeIlundber
dieSIISchnisleIIe
gesendelAIsTrenn
zeichenzvischen
denylesdienlein
Leerzeichen
U5BKnmmunikatinn
IrdieKommunikalionmildemGerlisldie
KIasseCIOIxanderCommunicalionModuIe
zuslndigDiesebesilzlmehrereSIolsmil
leIsderenandereIrogrammleiIemieiIen
faIIsDalengesendelverdensoIIenUber
denImfangvonneuenDalenvomGerl
informierldieKIassemilHiIfevonSignaIen
DieKommunikalionmildemGerlvird
ineinemeigenenThreadabgearbeilelum
vhrenddessendieGUInichlzubIockie
renDieSenderoulinenvervendeneinen
IIIOIuerumdieDalenvordemSenden
zvischenzuseichernIaIIseinefehIeine
AnlvorlervarlelvirdeineVariabIevom
TySCommandineinerWarleschIange
geseicherlDamilkannderIarser|edes
emfangeneDalenbyleeindeuligeinem
vorhergesendelenefehIzuordnen
Steuersoftware auf dem PC
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
15
SCommand cmd;
cmd.type = CMD_NEW_COMMAND; //Typ angeben
cmd.bytesWaited = 4; //Anzahl der Bytes fr eine korrekte Antwort
cmd.data = 7; //kann fr verschiedene Zwecke benutzt werden, nicht notwendig
m_commandList.append(cmd); //Befehl speichern
switch(cmd.type) //bereits vorhanden
{
case CMD_NEW_COMMAND: //je nach Namen anpassen
{
//Hier entsprechende Aktion ausfhren
emit NewCommandSignal(); //zugehriges Signal
}break;
};
enum CIOExpanderCommunicationModule::ECommands
m_neuesWidget = new CNewTabWidget(this); //je nach verwendetem Name anpassen
m_tabs->addTab(m_neuesWidget,Name des neuen Tabs);
//sende 1,2,3 ber die USB Schnittstelle.
m_transmissionData << 1;
m_transmissionData << 2;
m_transmissionData << 3;
dlltool --input-def FTD2XX.def --dllname
FTD2XX.dll --output-lib FTD2XX.a -k
#include <windows.h>
www.nkrocohLroer.heL | USB IC Expahder [ PFO.FCT ]
EigcncErwcitcrungcn
UmderIrogrammobercheeigeneTabshinzuzufgenmuss
fr|edesneueTabeineeigeneKIasseersleIIlverdenDiesemuss
vonQWidgelabgeIeilelseinIinOb|ekldieserKIassemussin
CIOIxanderConlroIWindovinslanzierlverdenundinder
IunklionCIOIxanderConlroIWindovSeluLayoulindas
Layouleingefglverden
DieKommunikalionmilCIOIxanderCommunicalionModuIe
mussberdenQlinlernenSignaIsSIolsMechanismusabgevickeIl
verdenHierzumussdieCIOIxanderCommunicalionModuIe
KIassegegebenefaIIsumveilereSignaIeSIolsergnzlverden
IroefehImussderInumeinveilererIinlraghinzugefgl
verden
UmDalenzusendenmussroefehIeinSIoldenierlverden
indemdiezusendendenDaleneinfachmilHiIfedesfoIgenden
Codegesendelverden
IaIIseinefehIeingebaulverdensoIIdereineAnlvorlber
denUSuservarlelmussdiesfoIgendermaenimIemenlierl
verden
DieVerarbeilungvonDalendieberUSemfangenvurden
mussinderIunklionCIOIxanderCommunicalionModuIe
IrocessReceivedDalaergnzlverdenIsislsichergesleIIl
dassmindeslenssovieIeylesemfangenvurdenviebenligl
verden
Cnmpi!icrcn
UmdasIrogrammzucomiIierenvirdeinefunklionierende
QlInslaIIalionaufdemRechnervorrausgeselzlVersion
gelesleleineIlerexVersionsoIIleauchfunklionierenDas
IrogrammvurdeviedieSovarefrdenAVRmilderInl
vickIungsumgebungCodebIocksgeschriebendieseislabernichl
nolvendigumdasIrogrammzuberselzenesvirdabervieder
eineIro|ekldaleimilgeIieferlDas
IrogrammcomiIierlmildem
gccComiIerMinGWunler
WindovssoIIleaberauchmil
VisuaISludiobzvunlerLinux
comiIierbarseinnichlgeleslelUmdasIrogrammzuersleIIen
mussmannureinmaIimIro|eklordnereinqmakeausfhren
undkannanschIieenddenComiIiervorgangmileinemmake
slarlenInderziDaleibendelsicheineQTIro|ekldaleiIO
IxanderConlroIroDorlmssenauchbeiAnderungenam
IrogrammevenlueIIneueSourcedaleienhinzugefglverden
qmakeerzeugldarausschIieIichdasMakeIemildemmake
arbeilelUmdasIrogrammzuslarlenmussderITDITreiber
aufdemRechnerinslaIIierlseinAnsonslenerscheinleinIehIer
vegeneinerfehIendenDLLITDXXdII
AchlungnurWindovsDieaufderITDISeileerhIlIiche
ITDXXIibarbeilelnichlohneveileresmildemGCCComiIer
zusammendadiesefrdenMicrosoComiIergedachlisl
DiesemussmanerslineineaDaleikonverlierenDazuvirddas
dIIlooIbenliglbeiMinGWdabeiMankoierldieITDXX
dIIsoviediezugehrigeIibunddefDaleiineinenOrdner
undlilfoIgendesineineKonsoIe
IaIIsmananschIieendcomiIierl
erhIlmanvahrscheinIichmehrere
LinkerfehIerinderArlundened
ReferenceloXXXnvobeiXXX
eineIunklionislundneineganze
ZahIUmhierAbhiIfezuschaen
mussinderITDXXdefDalei
|edesvorkommenvonXXXdurch
XXXnerselzlverdenunddieIib
Daleierneulkonverlierlverden
Diesmussfr|edenLinkerfehIer
viederhoIlverdenIineITDXXaDalei
islbereilsimIakelenlhaIlenevlIkann
dieseabermilneuerenTreibernnichlmehr
vervendelverden
AchlungnurLinuxDerITDXXHeader
islfrWindovsgedachlAufderITDI
SeilegibleseinenangeasslenHeader
frLinuximTreiberenlhaIlenIaIIsdas
IrogrammunlerLinuxvervendelverden
soIImussnalrIichdieservervendel
verdenAuerdemmussmaninder
DaleiUSCommunicalionModuIe
hfoIgendenCodeenlfernen
DieserdienlnurdazuunlerWindovsdem
ITDIHeaderverschiedeneVariabIenlyen
bekannlzumachen
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
16
[ PFO.FCT ] USB IC Expahder | www.nkrocohLroer.heL
Definitionen
der BefehIe
GrundslzIichisl|eder
efehIgIeichaufgebaul
Dasersleylekennzeichnel
deneigenlIichenefehI
aIIeanderenolionaIen
yleshabenbei|edeme
fehIeineunlerschiedIiche
edeulungHierisleine
UbersichlberaIIemo
menlanimIemenlierlen
efehIe
Funkt|on !. Byte 2. Byte 3. Byte 4. Byte 5. Byte 6+ Bytes
Lese hDC Wert ,a' Kana|
Setze T|mer Frequenz ,f' Presca|er DCP-Wert
Schre|be Wert auf d|g|ta|e husgnge ,o' P|n 0-7 P|n 8-!5
Lese d|g|ta|e E|ngnge ,|'
Schre|be Nuster auf d|g|ta|e husgnge ,p' hnzah| Samp|es Samp|es Samp|es Samp|es
Lese d|g|ta|e E|ngnge w|ederho|t ,s' hnzah|
Komb|nat|on aus ,s' und ,p' ,x' hnzah| Samp|es Samp|es Samp|es Samp|es
Setzte Pe|a|s Status ,r' Pe|a|s Zustand
Sende Daten ber SPI ,t' Daten
Konf|gur|ere SPI ,c' SPCP Peg|ster SPSP Peg|ster
Tr|gger setzen ,z' Tr|gger! Tr|gger! Tr|gger2 Tr|gger2
Ein paar Worte zu den verwendeten BauteiIen
IchhabehierbevusslkeineLisleeingesleIIl
inderdiegenauenTybezeichnungenund
Menge|edesauleiIsslehendasmachlIagIe
soviesoaulomalischunddenSchaIlIan
gibles|ahierzumDovnIoadeieinigen
TeiIenbinichnmIichnochaufderSuche
nachderolimaIenVarianleZumeinen
vrendasdiebeidenOlokoIerWie
sichherausgesleIIlhalislesgarnichlso
einfachschneIIeSMDTyenzunden
DeshaIbhabeichimMomenlnurSlan
dardlyenverbauldie|edochdieUART
GeschvindigkeilbegrenzenDieUberlragung
IuimMomenlnurmilkaudIm
Irinziisldas|edochausreichenddaeine
IchlzeildalenberlragungvonAnfangan
nichlgeforderlvarZumanderenhabeich
imMomenlfrdenMosIITQberden
derITdieSlromversorgungschaIlel
einenTyenimTOGehusegevhIl
dernichlganzinsLayoulasslDieeinzigen
KrileriendieererfIIenmusssindbeiV
GaleSannungdurchzuschaIlenLogicLeveI
KanaITyundeinen
maximaIenSlromvonmindeslensmA
schaIlenzuknnenIineAIlernalivedazu
vreeinIDSimSOGehuseRaum
frVerbesserungenbielelauchderDCDC
WandIermomenlanvervendelSIMS
SILvonReicheIlDieserIieferlzvareine
ziemIichungenaueAusgangssannugevlI
vieveilerunlenbeschriebenmileinem
zuslzIichenLaslviderslandnachheIfen
funklionierlaberbis|elzlohneIrobIeme
Inbetriebnahme
IsbielesichanzuersldenITDIChinebsl
IeriheriesoviedenDCDCWandIerzu
beslckenSokanndiekorrekleSannungs
versorgungmilHiIfederaufderIIaline
bendIichenTeslunklegerverden
eieinigenDCDCWandIernisldieLeer
IaufsannunghheraIsdieangegebene
SannunggemessenbiszuVslader
angegebenenVUnlerLaslgehlsieauf
dasangegebeneNiveauzurckDeshaIb
kannesseindassmandenDCDCWandIer
mileinemzuslzIichenWiderslandbeIaslen
mussumdieSannungineinemverlrg
IichenereichzuhaIlenmaxVDer
genaueWerlhnglvomWandIerabund
IslsichameinfachslendurchAusrobieren
herausndenWenndieSannungOKisl
kannmandiereslIicheIIalinegefahrIos
beslckenWenndieIIalinekorreklaufge
baulislundmansieber
einUSKabeImildem
RechnerverbindelsoIIle
einUSseriaIConverler
erkannlverdenDann
mussmildemIrogramm
MIrogbeiITDIerhIl
IichdasIIIROMdes
ITRrogrammierl
verdenDievorzuneh
mendenIinsleIIungen
kannmanhiersehen
WirkIichvichligsind
nurdieIroducl
Descrilionda
dieSovarean
HanddererdasGerlerkennlsoviedie
mAunddieAusvahIvonusIovered
DerLoadDXXDriverSchaIlerhalIaul
DokumenlalionbeimITRkeinenIekl
anscheinendvirdimmersovohIderDXX
aIsauchderVCITreibergeIaden
ProbIembehandIung
FTIchhabebeimTeslenbeobachlel
dassderITDITreiberIrobIememachl
faIIsmaneinezuaIleVersionvervendel
AmsicherslenislesdenneueslenTreiber
vonderHomeagezuinslaIIierenundmil
derzugehrigenITDXXIibITDXXhdas
IrogrammzucomiIierenAnsonslenkann
esvorkommendassvhrenddeselrieb
dieVerbindungabreilaIsobeieinem
TreiberugradeambeslendasIrogramm
neucomiIieren
AVRIaIIsderConlroIIernachAufsieIen
derSovarekeinenMucksvonsichgibl
vurdenevenlueIIdieIusebilsfaIschgeselzl
DerConlroIIermusssoeingesleIIlverden
dassermileinemexlernenQuarzarbeilel
keinOsziIIalorDiereslIichenIusebils
knneninderSlandardeinsleIIungbeIas
senverden
U5BKnmmunikatinnAIserslessoIIleman
rfenobderITDITreiberinderneueslen
VersioninslaIIierlislundobdieMIrog
IinsleIIungenkorreklsindAnsonslennoch
einmaIdieLsleIIenamITRberrfen
evenlueIILuebzvkonlroIIierenobder
Quarzschvingl
Digita!cEinAusgngcIvenlueIIsind
dieACTreiberfaIschherum
indieSockeIeingeselzlSinddie
LlsleIIenandenSchiebregis
lernSMDkorrekl
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
17
Abb.1: SerieIIe Verbindung
mit USB-zu-RS232 WandIer
Abb.2: FunkmoduI +
USB-Stick mit FunkmoduI
Mchae HarLnahh | UART ohhe Kabe [ PFO.FCT ]
DownIoads
DicP!atincna!sEag!cDatcicn
Dic5nwarcIurdcnPC
Dic5nwarcIurdcnAVR
http://www.m|krocontro||er.net/
art|c|es/USB_ID_Expander
Cndcb!ncks
damilvurdediesesIro|eklersleIIl
http://www.codeb|ocks.org/
QtBib!inthck
http://www.qtsoftware.com/
down|oads/
Hicrgibtsa!!csIurdcn
U5Bscric!!Wand!cr
http://www.ftd|ch|p.com/
Links
UART maI ohne KabeI...
MichaeI Hartmann <michaeI@speicherIeck.de>
ObvohIUARTeigenlIichIngslvonUS
abgeIslvordenislerfreulsichdieseArl
derDalenberlragunginnerhaIbderIIek
lronikundMicroconlroIIerCommunily
nochimmergroereIieblheilDieSchaI
lungislschneIIaufgebaulundreisverl
dennnebeneinerHandvoIIKondensaloren
undeineruchsebrauchlmannureinen
einfachenIegeIvandIer
AIIerdingsbesilzengeradeaufGrundder
DominanzvonUSnichlmehraIIeCom
ulereinenserieIIenRSAnschIuss
VoraIIembeiNolebooksvirdaus
IIalzgrndengernedaraufverzichlel
Was aber lun venn man auf diese
einfacheSchnisleIIeangeviesenisl
IndiesemArlikeIverdenzveiMgIichkeilen
freinemoderneAnbindungerKabeIund
IunkberUSanRSgezeigl
RS232 in Zeiten von USB
KabeIgebundene Lsung
AbhiIfefrdasobengenannleIrobIem
schahiereinUSzuRSWandIer
DieUARTridgevirdzumIChiner
USverbundenIrdieVerbindungzum
MicroconlroIIervervendelmandieIins
VCCGNDTXundRXIreineserieIIe
KommunikaliongenglesdenGNDIin
einesUSzuRSWandIersmilGND
derSchaIlungzuverbindenVCCmil
VCCRXdesWandIersmilTXundTX
desWandIersmilRXdesMicroconlroIIers
DerAdalerunddasslerbeschriebene
IunkmoduIveIcheindiesemArlikeI
vervendelverdenndelmanhierIs
gibl|edochvieIeandereveilereWandIer
diedasseIbeknnen
Mg!ichcU5BzuR5Wand!cr
USzuRSWandIer
vonheroode
TTLKabeIvonITDI
OenOCDUS
CIUSzuRS
WandIerauslein
IT
USzuRSWandIerauslein
DurchdiesenAuaukannmanaufdie
IIalzraubendenIIemenlederkIassischen
SchaIlungnmIichdenIegeIvandIer
meisleinenmaxdieuchseunddie
KondensalorenverzichlenAufdemoard
seIbslbenliglmannurnocheineoIige
SliIeislederenIinsmilGNDTXRXund
VCCverbundensindDieSchaIlungvird
dadurchkomaklerundeinIegeIvandIer
islnichlmehrnolvendigIinUSzuRS
WandIerkoslelinelvaIuro
UnlerLinuxkannmanveilerhindasge
vohnleTerminaIvervendenNachdem
IinsleckenvirdbeiaklueIIenDislribulionen
eineDaleiunlerhaIbvondevomaIs
devyUSNersleIIlIrWindovsgibles
TreibersodassauchhierdasaIleTerminaI
veilervervendelverdenkann
Lsung per Funk
Ansla den USzuRSWandIer di
rekl er KabeI mil dem MicroconlroIIer
zu verbinden kann man auch Iunkmo
duIe vervenden Dafr brauchl man
zvei IunkmoduIe Iines das mil dem
MicroconlroIIer verbunden isl und ein
Weileres das auf dem USzuRS
WandIer sleckl Iin IunkmoduI isl mil
ca Iuro ro Slck reIaliv leuer Auf
GrundseinerReichveilevonMelern
isl es aber deulIich besser fr einen Iin
salz im Ireien geeignel aIs die KabeII
sung Und sogar innerhaIb von Husern
knnen IunkmoduIe durchaus ihre Vor
leiIehabenvoraIIemdannvennserri
geWndeimWegsindLeiderschrauben
sie|edochdiegroeReichveilederIunk
moduIeviederslarkzurck
18
#include <avr/delay.h>
#include <avr/io.h>
#include <uart.h>
int main(void)
{
UARTInit(38400);
while(1)
{
UARTSend(,Ich werde per Funk bertragen\r\n);
_delay_ms(1000);
}
}
Abb.3: QueIItext main.c
Abb.4: TerminaI
/n.eie
[ PFO.FCT ] UART ohhe Kabe | Mchae HarLnahh
Lsung per Funk
Der US zu RS WandIer und
das IunkmoduI sind komIe
komalibeI zu einer UARTUmsel
zung mil IegeIvandIer und KabeI Der
beslehende Code muss aIso nichl ange
asslverdenDerICemfnglTexlden
derMicroconlroIIererUARTundIunk
schicklsiehehbb||ung 4
Fazit
ZieI des ArlikeIs var es kurz zu zeigen
viemilmodernenUSzuRSWand
Iern sich einiges an auleiIen gesarl
verden kann und vie komforlabeI das
Arbeilen dank moderner Iunkberlra
gungenmgIichisl
Links
hLLp://www.eproo.de
19
figure {1]: FuIIy equipped
MyCPU computer system
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
MyCPU
MyCPU - A Homebrew Computer
Dennis KuscheI <dennis_k@freenet.de>
,MyCIU is a lomebrev CIU llal vas
primary deveIoped for fun. Il is a simpIe
8-bil processor llal is compIeleIy buiIl
vill simpIe discrele Iogic gales of lle 74xx
CMOS series. Over lle years lle projecl
las grovn, and nov MyCIU is lle brain
of a reaI IersonaI Compuler. Tle projecl
is lolaIIy open source, and everybody is
inviled lo parlicipale and conlribule lo
lle projecl.
CurrenlIy lle compuler consisls of lle
foIIoving main parls:
8-bit prncessnr, consisling of around 65
inlegraled circuils pIaced on 5 euro cards
Interrupt CnntrnIIer Bnard, providing 7
edge-lriggered, maskabIe inlerrupls and
1 limer inlerrupl
Memnry Unit vill up lo 1 Myle bank
svilcled RAM and 16O kyle ROM
MuIti-I/O-Unit vill keyboard, LCD,
2 x RS232 and one paraIIeI prinler porl
inlerface.
IDE CnntrnIIer Bnard vill RTC/CMOS and
lvo IDL porls for up lo four IDL devices
/ larddisks
VGA Graphic Unit providing 16 coIours
and 8Ox5O claracler lexl mode and severaI
graplic modes
Ethernet CnntrnIIer vill 1OaseT inlerface lo
aIIov simpIe conneclivily lo lle Inlernel
Tle processor performance is around 1
MIIS (vlere an inleger las 8 bil). Tle CIU
can be cIocked up lo 8 MHz. Tle speed
is Iimiled by lle sIov LIROM's used in
lle CIU design and by lle sIov exlernaI
componenls. ecause of lle cabIe Iengll and
mismalcled Iine impedance lle processor
bus cannol be cIocked ligler llan 4 MHz,
making il lo lle bollIeneck.
Tle fuIIy equipped syslem las a pover
consumplion of Iess llan 3.5 Wall. Tlis is
due lo lle facl llal onIy CMOS clips are
used and lle pover dissipalion al 8 MHz
cIock frequency is near zero. Mosl pover
is consumed by lle VCA Unil (1.3 Wall)
llal runs al 25 MHz.
Tle MyCIU is nol onIy a lardvare bul aIso
a soflvare projecl. Today mucl soflvare is
avaiIabIe. Tle Operaling Syslem llal resides
in an LIROM is compIeleIy vrillen in
assembIy. Tle OS is a mixlure of DOS, Unix
and Commodore 64, and provides mosl of
lle veII-knovn commands lo manage lard
disks. MyCIU las ils ovn fiIe syslem llal
is abIe lo landIe up lo 8 disks or parlilions.
Drivers for addilionaI exlernaI lardvare
componenls Iike lle Lllernel ConlroIIer
can be Ioaded from disk.
Iurllermore MyCIU OS comes vill a
buiId-in basic inlerpreler llal is compalibIe
lo lle basic inlerpreler of Commodore 64.
OId pure basic programs llal vere vrillen
for C64 can be run on MyCIU villoul
modificalion.
MyCIU can be programmed in llree more
programming Ianguages: Ior lle fans of
ligler-IeveI Ianguages a ,C-Cross-CompiIer
is avaiIabIe. And lardcore freaks can vrile
lleir programs direclIy in assembIer or
in lle esoleric programming Ianguage
,brainfuck (MyCIU OS comes vill a
buiId-in }IT compiIer for brainfuck).
Tle foIIoving appIicalion soflvare is
currenlIy avaiIabIe for MyCIU: asic
inlerpreler, brainfuck compiIer, assembIer,
lexl edilor, games and demo's, nelvorking
soflvare Iike HTTI veb server and a TeInel
demon. And of course llere are some more
looIs avaiIabIe llal make Iife vill MyCIU
more convenienl.
The Computer
Wlere ,MyCIU slands for lle processor
ilseIf, I use lle lerm ,MyCIU Syslem for
lle vloIe lome-brev compuler. Tle fuIIy
equipped MyCIU Syslem currenlIy consisls
of lle foIIoving componenls (compare
vill figure{1], from Iefl lo rigll): MyCIU
(5 boards), Inlerrupl ConlroIIer (1 board),
Memory (2 boards), I/O (3 boards), IDL
Inlerface (1 board), VCA Craplic (6 boards),
Lllernel ConlroIIer (1 board) and lle Iover
SuppIy (1 board). Tle syslem provides llis
inlerfaces lo lle oulside vorId: IS/2 Key-
board, aIpla-numeric LC-DispIay, 2 RS232
Inlerfaces, IaraIIeI Irinler Iorl (Cenlronics),
8 universaI inpuls and 8 universaI oulpuls,
VCA graplic inlerface (RC, 15 pin ligl
densily Sub-D) and 1O Mil Lllernel (R}45
lvisled pair). ecause I lave nol vrillen lle
ITI server soflvare yel, dala communicalion
vill a IC is sliII done llrougl a seriaI Iink
via RS232 and speciaI soflvare. ul nole:
You can nov lrasl your IC since llere is
everylling avaiIabIe llal you need lo vork
sland-aIone vill lle MyCIU Syslem ,-).
Ior exampIe llere is an assembIer
program avaiIabIe llal runs on My-
CIU and produces code for MyCIU.
Tle evoIulionary slep is llal lle assembIer
can assembIe ilseIf on MyCIU. So you can
vrile soflvare for MyCIU on MyCIU, and
you are no more required lo use a IC for spe-
ciaI lasks.
TechnicaI data of MyCPU
- 8-bL processor, Harvard archLecLure
- 16 bL address bus, 2x64 kB address rahge
- ruhs up Lo 8 MHz
- 8-bL hLeger perIornahce s arouhd 1 MIPS
- 241 CP-Codes, 9 are reserved Ior IuLure use
- 14 addresshg nodes
- 2b6 byLe sLack nenory
- 1 hoh-naskabe soILware hLerrupL
- 1 naskabe hardware hLerrupL
- 6b hLegraLed crcuLs oh b boards
Dehhs Kusche | MyCPU - A Honebrew ConpuLer [ PFO.FCT ]
20
figure {3]: InternaI
architecture of MyCPU
figure {2]: MyCPU
processor cubesystem
A cIoser Iook to the processor
The System's Memory
Tle MyCIU processor (depicled in figure{2])
is a compIex microcode macline (CISC), Iike
any modern processor loday. Tle inlernaIs
of my CIU are slovn in figure{3]. Tle core
of lle processor is lle microcode engine
llal conlroIs lle dala fIov from and lo
lle regislers and arillmelic componenls.
Tle processor las onIy 5 universaI and 1
speciaI purpose regisler: A, X, Y, I and SI
are universaI 8-bil regislers, vlereas lle
Irogram Counler (IC) is a speciaI purpose
16-bil regisler vlose conlenls can be incre-
menled by one llrougl a dedicaled signaI.
Tle I-regisler is onIy an inlernaI regisler
used by lle microcode lo slore lempora-
ry dala and is nol visibIe lo assembIy
programs. In my impIemenlalion lle
microcode covers many commands
and addressing modes of lle good
oId 65O2 processor, bul MyCIU is
nol binary compalibIe lo il. Tle mic-
rocode can be adopled lo simuIale
oller processors Iike Z8O, 8O51 or
vlalever, lle onIy Iimilalion is lle
number of inlernaI CIU regislers. Ior
Z8O or 8O51 il becomes necessary lo
slore regislers in exlernaI memory.
Tle microcode vas deveIoped vill lle
leIp of a ,macro Ianguage. Tle Micro-
code-CompiIer is vrillen in ,C and does
aIso some vaIidily clecks and oplimisalions
on lle generaled microcode. Ior exampIe
lle OI-Code ,CLA (cIear accumuIalor)
is conslrucled from lle foIIoving micro-
OI's: felcl_opcode_and_incremenl_pc,
move_conslO_lo_accu, updale_fIags, nexl_op.
Tle processor design is oplimised for speed.
Will easy lo oblain parls Iike usuaI LIROM's
vill 1OOns propagalion deIay and lle usuaI
74HCxxx series of Iogic gales MyCIU can
be run vill al Ieasl 4 MHz. Il is possibIe lo
cIock MyCIU even ligler, bul llan some
parls musl be repIaced, e.g. fasler LIROM's
are needed and some 74HC-clips musl be
repIaced by fasler 74AC-clips. I lave suc-
cessfuIIy run a MyCIU al above 8 MHz, bul
llal is onIy possibIe vill a slorl bus Iengll
and a reduced number of peripleraI boards.
My goaIs vas lo lave a fasl and efficienl pro-
cessor llal requires as Iess parls as possibIe by
providing a superior ligl processing pover.
Tle MyCIU design is a good compromise.
Of course il vouId be nice lo lave a 16-bil
processor vill 32-bil address range, bul llis
vouId doubIe lle amounl of required parls.
Tle MyCIU Syslem is equipped vill 1 M
RAM and 16O k ROM. Since MyCIU las
onIy an address range of 16 bil (llal means
64 k of Iinear memory can be accessed), il
is necessary lo do some bank svilcling lo
aIIov MyCIU lo access aII lle memory. Tle
ROM is parlilioned inlo clunks of 32 k. Tle
LIROM llal conlains lle Operaling Syslem
KerneI is aIvays visibIe and is mapped lo
lle address range OOOOl - 7IIIl. Tle oller
four 32 k ROM parlilions can be mapped lo
8OOOl - IIIIl. Tlese ROM parlilions conlain
lle fiIesyslem driver, lle sleII and lle asic
Inlerpreler. Tle RAM can aIso be mapped
inlo lle area belveen 8OOOl and IIIIl.
Tlus, a program llal is Ioaded from disk can
lave a maximum size of 32 k. Tlal is vly
il is nol possibIe lo run Linux on MyCIU
(llere are some oller Iimilalions aIso, e.g.
Linux requires al Ieasl a 16 bil processor).
Tlere are some more speciaI fealures on lle
memory board: Tle RAM can be spIil inlo
16k clunks llal can be paged inlo lle area
4OOOl lo 7IIIl. Iurllermore lle lvo Iovesl
256 byle pages, vlicl are lle zero-page and
lle slack-page, can aIso be bank-svilcled.
Tlis aIIovs lle use of more slack memory
and enabIes MyCIU lo run muIlilasking
operaling syslems. I lave successfuIIy porled
lle RTOS ,IicojOS Iink{2] lo MyCIU.
OK, llal is onIy laIf of lle lrull. Remember
MyCIU las a Harvard Iike arclileclure,
excepl llal llere are no lvo separale buses
lo access program and dala memory. Il's
more Iike lle 8O51, MyCIU supporls lvo
differenl read signaIs, one for code- and one
for dala-memory. If you are inleresled in
lov memory bank svilcling reaIIy vorks
pIease read lle Memory-SeIfbuiId-Cuide
llal can be found on my vebsile Iink{1].
IlysicaIIy lle Memory Unil consisls
of lvo boards: Tle baseboard provi-
des 512 k RAM and 16O k ROM. Tle
oplionaI exlension board adds 512 k
more RAM and a second paging unil.
[ PFO.FCTo ] MyCPU - A Honebrew ConpuLer | Dehhs Kusche
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
21
figure {4]: SmaIIest possibIe
MyCPU computer system
figure {5]: The MyCPU-Webserver provides the content for the domain www.mycpu.eu. The website
is stored on a CF-Cardand the server is managed via TeInet. On top is the page-hit-counter.
Dehhs Kusche | MyCPU - A Honebrew ConpuLer [ PFO.FCT ]
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
A minimaIist Computer System
figure{4] slovs lov a minimaIisl compuler
syslem vill MyCIU Iooks Iike. Al lle Iefl
side you see lle MyCIU cube. Tle lvo
oller boards are lle memory baseboard
vill 512 k RAM and lle RS232 inlerface
board llal mainIy consisls of lvo commerciaI
16C55O UART's and some gIue-Iogic. User
communicalion is done vill a lerminaI
program Iike Hyperlerm on MS Windovs
or minicom on Linux. A second seriaI Iink
is used for fiIe lransfer belveen MyCIU
and a IC. Tle IC musl run speciaI server
soflvare for llis purpose. Wlen lle
Syslem is povered on il searcles
for bool fiIes on lle IC. Tle user
can cloose one of four soflvare
packages llal is llen Ioaded inlo
a RAM-disk on MyCIU. Will llis
minimaIisl compuler syslem lle
user can vrile and save lexls, vrile
asic programs, vrile and assembIe
AssembIer programs, pIay games and
run nelvork services Iike lle lllp
server and TeInel over a SLII Iink.
Want to buiId your own MyCPU Computer?
Since lle MyCIU Compuler
is compIeleIy open source
you can gel aII lle sclemalics
and soflvare from my vebsile
Iink{1]. You slouId slarl vill
buiIding lle MyCIU ilseIf and
lle memory board. Ior llis
purpose you need lo dovnIoad
lle ,MyCIU SeIfbuiId Cuide
and lle ,Memory SeIfbuiId
Cuide. Wlen lle sel-up of CIU
and memory vorks as expecled, you can
conlinue lo buiId lle seriaI inlerface board.
Tle fourll board vouId be lle Inlerrupl
ConlroIIer vlicl is required lo be abIe lo
use lle nexl boards llal are: Keyboard/
LCD, IDL ConlroIIer, VCA and Lllernel
(in any order). Are you inleresled` If yes,
you may aIso lry oul lle MyCIU LmuIalor
llal can be dovnIoaded from my vebsile
(go lo ,aII dovnIoads and scroII dovn).
/n.eie
22
figure {6]: MyCPU running an
oId Basic game by Commodore.
figure {7]: MyCPU in an earIy
phase. You see the prototype of the
VGA Graphic Unit and besides the
MuIti-I/O-Unit and the Interrupt
ControIIer.
|1j Tle MyCIU projecl vebsile:
hLLp://www.nycpu.eu
|2j IicojOS reaI-lime OS:
hLLp://pcoos.sourceIorge.heL
Links
[ PFO.FCTo ] MyCPU - A Honebrew ConpuLer | Dehhs Kusche
About the history of MyCPU
It aII started in February 2001.
I vas Iearning for my dipIoma examinalion
in digilaI eIeclronics and gol bored. I van-
led lo do somelling produclive vill lle
knovIedge I jusl oblained. So I decided lo
conslrucl an eIeclronic caIcuIalor macline
by using onIy fundamenlaI digilaI gales
of lle 74-TTL series from vlicl I sliII lad
some lands fuII in a draver. Al llis poinl
il vas sliII nolling speciaI lo conslrucl a
caIcuIalor, many peopIe vouId lave done
llis before. Il vas jusl an educalion projecl
for me.
Which vay tn gn?
ecause I aIready lad some experience
vill lle very simpIe bul poverfuI 65O2
CIU, lle idea vas nol lo impIemenl lle
caIcuIalor aIgorillms in lardvare bul lo
conslrucl some programmabIe macline
llal slouId be simiIar lo lle 65O2. If I couId
porl lle Commodore 64 asic Inlerpreler lo
my macline I vouId gel lle fIoaling-poinl
roulines for my caIcuIalor for free.
8 bit are ennugh!
To keep lle design as simpIe as possibIe 8 bil
slouId be enougl for my macline. Maybe
you sliII remember lle Commodore 64 and
lle poverfuI games and demos llal ran on
il. And llis vill onIy 64 k RAM and Iess
llan 1 MHz cIock frequency. Tlal slouId
be possibIe for my macline, loo.
My pliIosoply vas and is unliI loday lo
use onIy lle simpIe gale parls. No ligler
inlegraled componenls Iike CAL's, IAL's
and IICA's are aIIoved in my design (llis
vouId be loo easy and vas aIready done
by many oller peopIe). Tle onIy ligler
inlegraled parls llal are permilled are
LIROM's because I needed llem lo slore
lle caIcuIalor program anyvay.
Hnv tn start?
I skelcled lle sclemalics on a piece of paper.
Tle drafl of lle CIU vas finisled villin
lvo veeks (vliIe I vas sliII Iearning for my
examinalion). My idea vas lo lave a micro
code based macline. Tle advanlage is llal
onIy a fev componenls are required. Tle
core Iogic vouId reside in a re-program-
mabIe LIROM. And because LIROM's are
so universaI I aIso conslrucled lle ALU
(Arillmelic Logic Unil) vill some big
LIROM's llal are simpIy used as Iook-up
labIes. Tlus an 8 x 8 -bil muIlipIicalion can
be done villin onIy one cIock cycIe.
SimuIatinn!
ul before I vouId slarl conslrucling lle
processor in lardvare (vlal vouId be
an exlausling lask) I vanled lo lesl my
design. My approacl vas lo vrile a CIU
emuIalion in lle programming Ianguage
,C. Version 1 of lle emuIalor simuIaled
every singIe gale of lle processor, incIuding
lle liming conslrainls. Tle resuIl vas llal
lle design vas funclionaI!
What's vith snItvare?
Tle firsl emuIalor simuIaled lle processor
(gale by gale), 32 k ROM and 32 k RAM.
User inleraclion vas done by a simuIaled
seriaI lerminaI. Tle lesl soflvare simpIy
read some inpul from lle lerminaI and
oulpulled il immedialeIy again. Tle firsl
,slupid version of my loday's kSleII vas
born! (Tlis vas around ApriI 2OO1, I aIready
finisled my dipIoma vill besl degree).
And nov: Hardvare! ecause aII venl so
fine I slarled conslrucling ,my CIU in
lardvare. Tle firsl sel-up consisled of lle
CIU, a memory board and a coupIe of LLD's
for I/O. As nexl I conslrucled lle inlerrupl
conlroIIer and lle RS232 I/O-board. Tle
keyboard inlerface and lle VCA Unil foI-
Ioved, and al lle beginning of 2OO2 I lad
a fuIIy fealured ,IersonaI Compuler on
my desk. A friend of mine vas so enllused
of my projecl llal le recommended me lo
slare lle projecl vill ollers. So I slarled
my vebsile yel in Seplember 2OO1.
In the InIInving years
I improved lle design and vrole lle seIf-buiId
guides. I spenl mucl lime vill deveIoping
lle appIicalion soflvare. Lven loday I am
nol finisled vill lle CIU design, and I viII
possibIy never be. Tlere are sliII loo mucl
llings lo improve. My sIogan is: ,Ollers
lave a modeI raiIvay in lleir ceIIar, I lave
my CIU inslead.
enbedded pro|ecLs CnbH
HozbachsLrasse 4
D-861b2 Augsburg
TeeIoh: +49 821 81946-28
TeeIax: +49 821 81946-24
Ma: |ourha@enbedded-pro|ecLs.heL
AhzegengchkeLeh uhd PressLe
auI AhIrage va Ma.
Herauseber. Eenedi oauer
Cesaun/oa..LasMedienoeiv.de
\eroenicnun. 4 / .anr
/usabeorae. PLF / Prin
/uae Prin. 'oOO o.
Fin.everausoreis. .OO FLF
Lies is ein Ooenoource Proe.
noraionen .u /EO www.ebedded
oroecs.ne/ourna
FP. Foonacnweise
Tie. sar.uoer_ooia.co
FP. /n.eie. Faona Hei. Niceone,.
dio...._ooia.co
/e /rie in diese .ourna senen uner
der reien Creaiv Coons i.en.. Lie
Tee duren wie beann von Ooenoource
odii.ier und in die eiene /rbei i au
enoen werden. Lie ein.ie Eedinun
is. dass der neue Te ebenas wieder uner
der eicnen i.en.. uner der dieses He
sen. veroenicn werden uss. und .u
sa.icn au den oriinaen /uor verwiesen
werden uss. /usenoen Firen und
Fienwerbun.
Fceo wnere onerwise noed.
nis wor is icensed under
no.//creaivecoons.or/icenses/b,/o.O/
/usenoen Firen und Fienwerbun.
[ MPFFooLM ]
23
3: Projektbaum
SLahdard C Progranneruhg - Crasshopper [ PFO.FCT ]
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
Programmierung Grasshopper
Dokumentation fr ein BeispieIprojekt mit Standard C Programmierung
des Grasshopperboards {ATMEL AVR32 AP7000 CPU) SLahd: O6.O4.2OO8
Autor unbekannt, Bearbeitung Benedikt Sauter <sauter@embedded-projects.net>
DiesesDokumenlsoIIeineisieICIro|ekl
frdasGrasshoerboardmilderAVR
TooIchainundAVRSludionulzungunler
WindovsXIbeschreiben
IssoIIbeschriebenverdenviemilSlandard
CeineAnvendungrogrammierlunddann
aufdasoardimIIashgeseicherlvird
Dazuvird NICHT deroolIoaderUool
genulzlDas komp|ette F|ash w|rd ge|scht,
d.h. der Boot|oader U-Boot und auch das
vor|nsta|||erte L|nux gehen ver|oren. Man
kannsieslerviedermildem}TAGICI
MKIIaufdasoardrogrammieren
BcntigtcHardwarc
GrasshoeroardIogo
}TAGICIMKIIvonATMIL
zumrogrammieren
ZumNulzenderAusgabevonrinlf
aufdemVzuRSbenligl
IineUARTSchnisleIIeeinenoIigen
IfoslenverbindergeIeglzundenTAG
IfoslenverbinderIrdenIegeI
vandIerkannmanzeinenMAX
vervendenhCHTUNC NICHT NhX232!!
Nntwcndigc5nwarcPakctc
vnnATMEL
ImMomenlnochzuzundenunlerhttp://
www.atme|.no/beta_ware IchhabedieslabIe
VersionennichlrobierlDieseVersionen
hierIiefenbeimiraberohneIrobIem
AVRSludiosecond
reIeasecandidale
GNUTooIchainsecond
reIeasecandidale
RTFMEmpInh!cncDncs
LeiderhabeichkeinebrauchbareDoku
menlalionberdieImIemenlierungder
NevIibIibcIibmgefundenIchhabe
leiIveisedenTooIchainSourcegenulzl
zundenunlerhttp://www.atme|.com/dyn/
resources/prod_documents/avr32-gnu-
too|cha|n-!.3.2-0.exe
IsislscheinbareinigesimIemenlierl
aberIeidernichldokumenlierlHiIfreich
islauchdasWikibeihttp://www.avrfreaks.
com DieSIoardSuorlIackages
zumSTKundNGWvonATMIL
heIfenauchveilerundnalrIichdieA
IicalionNolesaIsDokumenloderauch
aIseisieIrogrammebenfaIIs
vonATMIL
IoIgendeDokumenle
sindhiIfreich
ATMILAVR
AVRSludiogeingslarled
ATMILAVR
GeingslarledvilhGCC
forAVR
ATMILAVR
InlroduclionloAVR
HeaderIes
ATMILATAI
AIManuaI
ATMILAVRArchileclure
Documenl
ATMILAVRAITechnicaI
ReferenceManuaI
EinIeitung
TooIchain InstaIIation
AVRSludiounddieTooIchainsind
beidesausfhrbareIXIDaleiendievie
gevohnlslarlenundinslaIIierenWieman
dannmildemAVRSludioeinIro|ekl
ersleIIlkomiIierlundmildem}TAGICI
leslelislimobengenannlenDokumenl
AVRAVRSludiogeingslarled
beschriebenImIoIgendenauchmehroder
venigergenau
Be|sp|e|projekt erste||en
ImAVRSludiomilIiIeNevAVR
CIro|ecleinneuesIro|eklersleIIen
HierdenIro|eklnameneinlragendie
CIUAIunddenIro|ecyeAVR
SlandaIoneIxeculabIeeinsleIIen
}elzlmssendiemilgeIieferleneisieIC
SourcenimorlierlverdenDazurechler
MauskIickaufdasIro|eklundImorl
vhIenDannindemIenslerdieOlion
GeneraIIiIeSyslemvhIendieDireclory
ausvhIeninderdieDaleienIiegenund
diechSoIiIesimorlieren
DerIro|eklbaumimAVRSludio
soIIledannsohnIichaussehenIro
|eklGrassh
2
1
3
2: Eintrag Projektnamen & Typ
1: BeispieIprojekt ersteIIen
24
**** Rebuild of conh guration Debug for project Grassh3 ****
**** Internal Builder is used for build ****
avr32-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mpart=ap7000 -ffunctionsections
-osdram.o ..\sdram.c
avr32-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mpart=ap7000 -ffunctionsections
-omain.o ..\main.c
avr32-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mpart=ap7000 -ffunctionsections
-omt481c2m32b2tg.o ..\mt481c2m32b2tg.c
avr32-gcc -O0 -g3 -Wall -c -fmessage-length=0 -mpart=ap7000 -ffunctionsections
-opio.o ..\pio.c
avr32-gcc -nostarth les -Xlinker -T -Xlinker
D:\Daten\D\Projekte\EAVR32\Grassh3\avr32elf_ap7000.x -mpart=ap7000 -Wl,--
gc-sections -oGrassh3.elf sdram.o pio.o mt481c2m32b2tg.o main.o
D:\Daten\D\Projekte\EAVR32\Grassh3\crt0.o
Build complete for project Grassh3
Time consumed: 3219 ms.
4: Property-Seite
5: LinkereinsteIIungen
6: KompiIierung
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
[ PFO.FCTo ] SLahdard C Progranneruhg - Crasshopper
}elzlmssennochdieIro|eclIroerliesein
gesleIIlverdenDasdieIinsleIIungenfrden
ComiIerunddenLinkerDazudasIro|eklankIicken
markierenundimMenuunlerIro|eclIroerlies
dieIroerlySeilenen}elzlunlerCCuiId
dasMenuSeingsnenDassiehlsoausvie
dieGrakobenHierkannman|elzldieComiIer
undLinkereinsleIIungenvornehmen
IsmsseninunseremIaIInurLinkerein
sleIIungenvorgenommenverdenderResl
slimmlmildenDefauIlIinsleIIungenDazuunler
AVRGNUCLinker
GeneraIDonoluseslandard
slarlIesmarkierenaIIesanderedarf
nichlmarkierlsein
MisceIIaneousOlherOlionsXIinker
zveiIinlrgeerzeugennureinT
unddieDaleiavreIfax
inkIIfadeinlragenGrak
MisceIIaneousOlherOb|ecls
dieDaleicrloinkIIfadeinlragen
Grak
}elzlimIro|eklbaumdieDaleiavreIfax
milderrechlenMauslsleankIickenundIroerlies
nenHierknnenfr|edenSourceIesezieIIe
IinsleIIungenvorgenommenverdenIrdiese
DaleimuIxcIuderesourcefrombuiIdunler
CCuiIdSeingsmarkierlverdendadas
SludiodieseDaleisonslkomiIierenviIIvarum
dassoislveiichnichl
Bcispic!prn|cktknmpi!icrcn
}elzlkannmandasIro|eklkomiIierenDazuunler
Iro|ekluiIdIro|eclankIickenUnlerdenSludio
VievsWindovShovVievsIrobIemsbzvin
demVievConsoIekannmansehenobaIIes
erfoIgreichvareimirsiehldieConsoIen
ausgabeimSludiosoaus
4
5
6
25
8: Kontextmen
7: View ,Properties"
9: Programm - DiaIogfeId
SLahdard C Progranneruhg - Crasshopper [ PFO.FCT ]
Bcispic!prn|ckt
mic!sJTAGICEMKII
auIdasGrasshnppcrbnard
bringcn
Ichgehevonvorhandenen
Hardvareverbindungen
ausaIsoIC}TAGICI
undGrasshoersindver
bundenundeingeschaIlel
AuchdieserieIIeSchni
sleIIedesGrasshoers
islmildemICberden
IegeIvandIerverbunden
undeinTerminaIrogramm
audDalenbil
noarilySlobilislaklivVonrichlig
inslaIIierlemAVRSludioinkIdesUS
TreibersfrdemICIgeheichauchaus
ImSludio|elzlinderVievAVR
TargelsrechlerMauskIickundScan
Targelsaufrufenvennder}TAGICInichl
schonaIsTargelvorhandenislIrsoIIleden
ICIdannnden}elzldenICIankIicken
ImVievIroerliesunlerAdalercon
neclionUSeinlragenUnleroarddas
NGWeinlragenMCUAI
DadasSludiodenGrasshoernichl
kennlichveiauchnichlviemanesihm
beibringlvirddasNGWeingelragen
daesvomIIashunderAdressierungdes
IIashsmildemGrasshoerkomalibeI
islAIIeanderenIinsleIIungenimViev
IroerlieskannmansoIassen
}elzlkannmanmilrechlemMauskIick
imIenslerAVRTargelsaufden
ICIeinKonlexlMenunen
MilKIickaufIrogrammnelsich
derDiaIogzumIrogrammierendes
Grasshoers
DorldieDalenvieobenangegebenein
lragenAIsIiIealhausdemWorksace
dasIro|eklvhIenunddorldasDireclory
DebugDorlsoIIledererzeugleILIIiIe
slehenDannOKkIickenundderGras
shoersoIIlerogrammierlverdenWenn
dasbeendelisldannsoIIlendieroleLID
undvondengrnendie|eveiIsueren
gIeichzeiligbIinkenAufdemTerminaI
soIIlenAusgabenerscheinen
WiemandasIrogrammmildemDebugger
leslelislhiernichlbeschriebenDazudie
HiIfedesSludiossludierenoderinIoren
zwww.avrfreaks.netIesen
VieISa
7
8
9
/n.eie
26
MMSRootWindow *win;
win = new MMSRootWindow(,,100%,100%);
MMSLabel *lbl;
lbl = new MMSLabel(win, ,);
lbl->setFont(,./,
,DejaVuSansMono.ttf,16);
lbl->setText(,Hello World);
win->add(mylabel);
git clone git:
//www.diskohq.org/disko.git
win->show();
while (1) sleep(1);
Introduction
Disko is a looIkil llal can be used lo pul
ricl CUI appIicalion logeller and aims al
sel-lop boxes as veII as loucl screen lermi-
naIs. Il lries lo seamIessIy inlegrale some
greal leclnoIogies Iike xine[1] or gslreamer
[2] vill a CUI looIkil llal deIivers more
funclionaIily llan lle usuaI media pIayer
overIays. Il vorks on lop of DireclI [8] or
direclIy on lle Linux framebuffer as veII as
X11 [4]. To lave a cIoser Iook al Disko and
ils capabiIilies you lake a Iook al Morpline.
TV [b] or 23p [6]. More informalion can be
oblained al lle Disko lome page [1].
Disko - A GUI tooIkit for set-top boxes
Stefan Schwarzer
[ PFO.FCT ] Dsko - A CUI LookL | SLeIah Schwarzer
Getting Started
To slarl deveIopmenl vill Disko il is re-
commended lo use lle Ialesl deveIopmenl
fiIes. Cel lle source code from lle pubIic
gil reposilory:
Tle SCons buiId environmenl is used lo
compiIe and inslaII lle looIkil, see scons
KHOS for lle buiId oplions.
The first appIication
ecause lhis arlicIe is loo shorl lo cover
aIIlhenecessaryaseclsandIesneeded
lohaveacIoserIookloIviIImakesome
referenceslolheDiskoluloriaIs[8] onlhe
Diskohomeage
Initia!izatinn
Nov vere going lo do lhe rsl sles in
Disko deveIomenl This firsl examIe
simIyiniliaIizesanbasicaIicalionand
disIaysasimIeHeIIovorId
The iniliaIizalion rocess sels Disko u
forlheenvironmenlilviIIrunvilhinTo
make lhings a bil easier ve viII assume
lhalveareinanXenvironmenl
Disko is inliaIized using lhe mmslnlt
funclionThisfunclionreceiveslheinfor
malion needed lo over u lhe aIica
lionThe
MMSlNlTlLAGS ure pussed to mmsl
nltlosecifylheDiskosubsyslemslhal
are needed by lhe aIicalion Iike gra
hicsvindovingIuginsevenlsinuls
orlhemingInlhiscaseveconnelheini
liaIizalionlolhevindovingenvironmenl
vhich lriggers lhe grahics syslem im
IicilIy
Cnnguratinn!cs
There are aIso some configuralion fiIes
neededforasuccessfuIiniliaIizalionThe
main conguralion Ie dlskorcxmI lhe
inulmaingIelnputmupxmIandlhe
lheme Ie themexmI nameIy lhe addili
onaI configuralion fiIes themexmI and
lnputmupxmIonIyhaveloexislolhof
lhemcanbeseluvilhanemlyroollag
lheme and inulma resecliveIy
ThemainaIicalionconguralionmusl
beouIaledvilhlheroerseingsfor
lhe environmenlAn examIe congura
lionforlheXenvironmenlcanbeoblai
nedfromlheDiskoluloriaIs
Hc!!nwnr!d
WhenlheroeriniliaIizalionisdoneand
venlveIIveneedaWlndouAvindovis
anenlilylhalconlainsolhergrahicaIilems
referredasWldgetsvilhinDiskoThese
vindovscanbeshovnhiddenorIaced
anyvhereonlhescreenOneseciaIlyin
Diskoislhexedzorderoflhesevindovs
ThalmeanslherearecIassesofWindovs
RootMulnandPopupulndous
RoolvindovsgololhebackMainvindovs
goonlooflhemandPopupulndous
aboveaIIolhersIoreachcIassofvindov
lherecanonIyonevindovbeshovnal
lhesamelimeThevindovingenviron
menllakescarelhalaWlndouisroerIy
reIacedvhenanolhervindovoflhal
lyeislobeshovnThalenabIesindeen
denlIyoeralingIuginsloinleroerale
vilhlhescreenvilhoulIeavingilamess
IflhereisamoredeskloIikearoach
neededeverymainWindovcIassisabIe
loconlainChlIdulndousvilhadynamic
zorderandlheossibiIilyloshovmore
lhanonesimuIlaneousIy
TocrealeaWindovandshovsomeconlenl
lhefoIIovingcodeshouIdsuce
TheemlyslringsassedlolheWlndou
andlheIabeIWldgetreresenllhemecIas
sesdenedinlhelhemeIeAslhereare
nolhemesdenedlheseslringsareemly
DiskoviIIgiveilaverybasicIookonils
ovnloensuresomelhingisacluaIIyha
eningonlhescreen
ToseelheresuIlslhevindovneedslobe
shovnonlhescreen
TokeelheaIicalionuandrunning
vehaveloseluaninnileIoo
WheneverylhingvenlnelheresuIlshouId
beanXvindovhavinglhelexlHeIIo
vorIddisIayedcenleredvilhin
NolveryseclacuIarbulilslhemoslbasic
aIicalionlhalcanbe
donevilhDisko
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
27
EinIeitung
}edehaIbeSlundebringlderRadiosender
dieaklueIIenVerkehrsnachrichlennurIeider
nievennmansiegeradehrenmchleIs
fehIldieMeIdungfrzvischendurch
AbhiIfeversrichlderTracMessage
ChanneITMCeindigilaIerSlaumeI
deservicedervonnahezuaIIenenl
IichrechlIichensovieauchvieIen
rivalenRadiosendernangebolen
virdDieDalensindindenRadio
DalaSyslemRDSDalenslromdes
UKWRundfunkseingebeelder
veilmehraIsnurdenaklueIIen
SendernamenIieferl
,Achtung FaIschfahrer! Auf der A9 .."
TMC-StaumeIdungen auf dem NIOS II Embedded EvaIuation Kit
Ludwig Schmidt <support@mixed-mode.de>
RDS & TMC - der Aufbau
Die Uberlragung der RDSDalen ndel
araIIeI zumAudiosignaI ber das fre
quenzmoduIierle SignaI des Radiosen
ders sla RDSDalen sind zu Gruen
mil|eveiIsvierIckenorganisierl}eder
Iock enlhIl ils davon Infobils
undCheckundOselbilsIineRDS
GruesleIIlaIsoeeklivInfobilszur
VerfgungDengrundslzIichenAuau
aIIerRDSGruenzeiglhbb||dung !
}ededieserGruenhaleinenbeslimmlen
GrouTyederzuslzIichinzvei
VersionenAundaurelenkann
LaulRDSSezikalionDININ
verden die Gruen deshaIb mil einer
HexzahI x x und einem ange
hnglemAoderbezeichnelDiesergibl
rinziieII verschiedene Kombinali
onendiefrdieverschiedenenDiensle
eingeselzlverdenDieseKIassizierung
isl in il GrouTye und il
VersiondeszveilenIockskodierl
NebendemGrouTyeenlhIl|edeRDS
GroudenIIundcdenITYCodeDer
ProgramIdenlicalionCodeidenlizierl
den Radiosender eindeulig und dienl
insbesondere der aulomalischen Suche
nachAIlernalivfrequenzenMildemIro
gramTyeCodeknnenRadiosendung
kIassifizierl und vom Radioemfnger
aulomalischausgevhIlverdenSokann
derHrerelvadieSarleNevsvhIen
unddasRadiosuchlseIbslslndignach
TheDiskoGUIengineisveryoverfuI
inilscaabiIiliesThemosloverfuIarl
islhediaIogengineIl
readsdenilionsfora
Windovandilscon
lenlsfromanXMLIe
makinglheresuIling
diaIogfuIIylhemeabIe
andskinabIevilhoul
changingasingIeIine
ofsourcecodeIven
lheendusershouId
be caabIe of chan
ginglheIayoullol
hisneedsToachieve
acIeanMVCaroach
everyvidgellhalneeds
lohavearogrammed
inleraclioncanbenamedvilhinlheXML
IeenabIinglheaIicalionlouliIizelhe
diaIog|uslbylhesymboIicnamesUsing
lhelhemeenginemakesilaIsoossibIelo
crealeWldgetorDluIoglemIaleslhus
bringinglheoorlunilylocrealemela
WldgetslhalcanbeusedvilhinlhediaIog
IesThisisanexamIefromusing
lhedierenllechniquesshovinganIITV
slreamandaIicalionconlroIs
TolinlolheembeddedvorIdlheXML
IesareonIyarsedonceandarecomiIed
inloabinaryformalcaIIedtuolimized
forlherenderingengineloreadThisis
donelominimizelheaIicalionslarlu
limeasveIIaslomeellherequiremenlsof
IimiledsloragecaabiIilies
GUI possibiIities
References
hLLp://www.xhepro|ecL.org
hLLp://www.gsLreaner.heL
hLLp://www.drecLIb.org
hLLp://www.x.org
hLLp://www.norphhe.Lv
hLLp://28p.dskohq.org
hLLp://www.dskohq.org
hLLp://www.dskohq.org/LuLoras
hLLp://www.dskohq.org/Iorun
ThisinlroduclioncoversonIylheverybasic
aseclsoflheDiskoframevorkTheinul
modeIsforremoleconlroIlouchscreenor
lheusageofIuginsviIIbecoveredinlhe
nexlarlicIeAnyqueslionscanbeosled
onlheDiskoforums[9]
Whats next?
SLeIah Schwarzer | Dsko - A CUI LookL [ PFO.FCT ]
FMEFLLFLPFO.FCTo.NFT .OLFN/ / 'OOO
28
Abb.1: Aufbau der
RDS-Gruppen
/ 'OOO .OLFN/ FMEFLLFLPFO.FCTo.NFT
Abb.2: Struktur einer
TMC - SingIe - Group Message
Noch mehr ,Stau" in MuIti-Group Messages
DurchdieVervendungvonMuIliGrouMessagesvonbiszu
fnfRDSGruenknnenzuslzIicheInformalionenfreine
MeIdungviezGefahrdurchSchneegIeergnzlverden
DabeiverdenzuslzIichzurerslenGruederenSlruklurder
einerSingIeGrouMessagesehrhnIichislvgIhbb||dung 3
sogenannleSubsequenlGrousberlragenDerUnlerschied
zvischeneinerSingIeGrouundeinerIirslGrouMessageIiegl
IedigIichbeidenilsXXundYXXbeinhaIlelhierden
ConlinuilyIndexdereineGroumileinerbeslimmlenMuIli
GrouMessageverbindelIrvirdmilderAussendungeiner|eden
neuenMuIliGrouMessageinkremenlierlundnachzurck
aufgeselzlYisldersogenannleIirslGrouIndicalorund
islnurbeiderIirslGroubeiaIIenSubsequenlGrousisler
aufgeselzl
Wiehbb||dung 4 zeiglndensichimzveilenIockeinerSub
sequenlGroudiegIeichenMerkmaIevieinderIirslGrou
viederZuslzIichzumIirslGrouIndicalorilYslehlin
[ PFO.FCT ] TMC-SLauneduhgeh | Ludwg SchndL
Abb. 3: Struktur der First Group
einer MuIti-Group Message
demassendemSenderLeidervirdder
ITYCodeonurslalischbeIeglundnichl
dynamischdenSendungenangeassl
DievichligslenRDSGruensindA
frSendernamenAfrRadiolexlA
frUhrzeilundDalumsovieAfrden
TracMessageChanneIDerGrouTye
beslimmlabernichlnurdenTyderGru
esondernIieferlauchdieVorschrivie
dieeinzeInenilszuinlerrelierensind
DerRadiolexlvirdzumeisieIileraliv
inASCIIKIarlexlberlragendieUhrzeil
inUTCkodierlerIorm
RDSsleIIleineDalenralevonkils
zurVerfgungIrTMCverbIeibendavon
cails
Iine lyische VerkehrsmeIdung knnle
foIgendeInformalionenbeinhaIlen
ezeichnungderAulobahn
ezeichnungdesAbschnis
elroeneAusfahrlen
IingelrelenesIreignis
VoraussichlIicheGIligkeilsdauer
derSlrung
UmeinevoIIslndigeundsichereUberlra
gungderDalenzugevhrIeislenvirdauf
redundanleDalenberlragunggeselzlei
einemIayIoadvonilsvirdschneII
kIardasseineUberlragungderInforma
lioneninKIarlexlnichlmgIichisl
TMC vurde deshaIb aIs Iislenbasierles
Syslem enlvorfen ISO Is siehl
eineinlernalionaIgIligeIvenlLislsovie
einenalionaIgeegleLocalionLislvorIn
derIvenlLislsinddieVerkehrsereignisse
kodierlderzeilcadieLocalionLisl
enlhIldieeschreibungderbedeulende
renSlraeninDeulschIandca
DieLocalionLislfrDeulschIandsovie
dieIvenlLislmildeulscherUberselzung
erhIlmanaufAnforderungvonderun
desanslaIlfrSlraenvesen[2]Durchdie
ReferenzierungderLisleneinlrgekann
sodieAnzahIderzuberlragendenils
draslischreduzierlverdenImeinfachslen
IaIIIsslsicheineVerkehrsmeIdungaIs
SingIeGrouUserMessageinnureiner
RDSGruekodierenAbbiIdungzeigl
eineRDSGroudiedieDaleneinerTMC
SingIeGrouUserMessagelrglNeben
den bereils ervhnlen Codes fr Ivenl
und Localion und den ils T und I in
X und X besilzl die Message veilere
eslandleiIe zur nheren eschreibung
derVerkehrsslrungDieilsYY
dienenderIeslIegungvonRichlungund
Ausbreilung der Slrung Der Diversi
on Indicalor Y
beschreibl ob eine
Umfahrung em
fohIen vird oder
nichl Die ils X
X Duralion and
Iersislenceinformie
ren ber das zeilIi
che VerhaIlen der
Slrung elva ob es
sich um einen kurz
anhaIlenden Slau
odereineTagesbau
sleIIe handeIl Der
Ty der TMCMeIdung aIso ob es eine
SyslemoderUserMessageeineSingIe
oder MuIliGrouMessage isl vird in
denilsXundXcodierl
IinemgIicheMeIdungknnleseinA
MnchenRichlungNrnbergzvischen
AIIershausenundIrhoIzenUnfaIIkm
SlauNebendiesenfrdenUsergedach
len Informalionen slehen fr moderne
TMCIndgerle zuslzIiche Informali
onen in den Lislen zur Verfgung So
knnenzumeisieINavigalionsgerle
die geografischen Koordinalen aus der
LocalionLislausverlenunddieseineine
dynamischeRoulenIanungmileinieen
Iassen
29
Ludwg SchndL | TMC-SLauneduhgeh [ PFO.FCT ]
denSubsequenlGrousdasilYaIsSecondGrouIndicalor
bereilderdiezveileGrouidenlizierlMildenilsYundY
virdderGrouSequenceIdenlierberlrageneinZhIerdermil
|ederveilerenGrouvonNabvrlszhIlNslehldabeifrdie
AnzahIderGrouseinerMuIliGrouMessageNebendiesem
zurZusammenfhrungdereinzeInenGrousnolvendigenTeiIs
slehenronachfoIgenderGrueilzurfreienVerfgung
UberdieseIreeIormalilsIsslsicheineSequenzvonLabeI
DalaeIdIaarenberlragenvobeidasLabeIdieLngeundden
InhaIldesdarauffoIgendenDalaeIdsbeschreibl
Abb.4: Struktur der Subsequent Groups einer MuIti-Group Message
IrdieImIemenlierungvurdeeinNIOS
IIImbeddedIvaIualionKilderCycIone
IIIIdilionvonALTIRAvervendelDen
ImfangdesUKWSignaIsbernimmlein
ILVRadiomoduIdesTysRDSdassden
RDSDalenslrombereineRSSchni
sleIIelransarenlausgiblundbereinen
IegeIvandIermildemALTIRAModuI
verbundenislLeiderislesmilderOriginaI
IirmvaredesRadiosnichlmgIichdiesen
berdieSchnisleIIezusleuernvasaber
zumeisieIfrdieaulomalischeSuche
nachaIlernalivenIrequenzenvichlig
vreUndversichdafrinleressierlsei
aufdasRadioIro|eklvonIIorianKrislen
[8] verviesenHiervurdeeineaIlernalive
IirmvarefrdasILVRadioenlvickeIlmil
derdieSleuerungberRSmgIichisl
AufderSeilendensichauchdieSezi
kalionenvonRDSundTMC
DieDekodierungundVerarbeilungder
DalengeschiehlbereinenimIIGA
synlhelisierlenNIOSIISocoreUber
dieUARTSchnisleIIeverdendievom
RadiomoduIemfangenenRDSRohdalen
berlragenDasIrogrammlrennldieRDS
GruenanhandeinesvomRadiomoduI
eingefglenSonderzeichensunddekodierl
dieRDSInformalionenDazuvirdzunchsl
derGrouTyefeslgesleIIlundbeiVorhan
denseinvonreIevanlenInformalioneneine
enlsrechendeRoulineaufgerufen
NebenTMCGrousverdendabeiauch
RDSDalenzuSendernamenRadiolexlsovie
UhrzeilDalumbehandeIlDieRouline
frTMCGrousunlersuchldannzunchsl
dieArlderTMCDalenunlerscheidelaIso
zvischendenobenangesrochenenSingIe
undMuIliGrouMessagesundverarbeilel
dieseenlsrechendderSezikalion
DiezurKIarlexlersleIIungnolvendigen
LislensindaIsTexlIes
imIIashabgeIeglund
verdenberDalei
zugrisoeralionen
angesrochen
IsleineTMCMeI
dungferligdeko
dierlvirdger
obessichumeine
neueMeIdungoder
umdieAkluaIisierungbzvWiederhoIung
einerbereilsvorhandenenMeIdunghandeIl
InlsrechenddieserUberrfungvirdsie
dannzueinerLislehinzugefglodersie
berschreibleinevorhandeneMeIdung
derLisleDieLislevirdimHinlergrund
eriodischdurchIaufenumdiezeilIiche
GIligkeilderenlhaIlenenMeIdungenzu
berrfenundgegebenenfaIIsMeIdungen
zuIschenDieDarsleIIungderinderLisle
enlhaIlenenTMCMeIdungenundveilerer
behandeIlerRDSInformalionen
erfoIglberdasimIvaIualion
KilenlhaIleneTouchaneI
LCDDabeikanndieLisle
durcherhrung
desToucha
neIsdurchIaufen
verden
Die ReaIisierung
AusbIick & Referenzen
Mil der forlschreilenden DigilaIisierung des Rundfunks ver
dendieTMCMeIdungenzunehmendauchimDADalenslrom
berlragenIrveilereReIeasesislgeIanldieRDSDalenaus
einemDASignaIzudekodierenodergardasDASignaImil
demNIOSoderdireklaufdemIIGAzudemoduIieren
hLLp://de.wkpeda.org/wk/Rado_DaLa_SysLen
hLLp://www.basL.de/ch_OOb/hh_422b6/DE/AuIgabeh/
abLeuhg-v/reIeraL-v2/LocaLoh-Code-LsL/
ocaLoh-code-sL-sLarL.hLn
hLLps://wk.Lux-pro|ecL.de/hdex.php/
YeLAhoLherRDS1OOSoILware
/n.eie
Sie suchen?
Hier werden Sie gefunden!
SteIIenanzeigen
n Enbedded Pro|ecLs Jourha
Werbuhg - zegerchLeL
IhIos: www.enbedded-pro|ecLs.heL
Das Motto: Von der Community fr die Community!
Das Magazin ist ein Open-Source Projekt.
FaIIs Du Lust hast, Dich an der Zeitschrift durch einen
Beitrag zu beteiIigen, wrden wir uns darber sehr freu-
en. Schreibe Deine Idee an:
sauter@embedded-projects.net
Wir werden dann gemeinsam sehen, was wir daraus ma-
chen knnen.
Werdet aktiv!
RegeImig Iesen!
Die Zeitschrift wird ber mehrere KanIe verteiIt. Der
erste KanaI ist der DownIoad aIs PDF-Datei. AIIe Ausga-
ben sind auf der Internetseite {1] verfgbar. Diejenigen,
die Iieber eine Papierversion erhaIten mchten, knnen
den zweiten KanaI whIen. Man kann sich dort auf einer
Internetseite {1] in eine Liste fr die gesponserten Abos
eintragen. Beim Erscheinen einer neuen Ausgabe wird
dank SponsorengeIdern an jeden auf der Liste eine Aus-
gabe des aktueIIen JournaI versendet. FaIIs man den Ver-
sandtermin verpasst hat, kann man das Heft auch zum
Preis von einem Euro ber einen OnIine-Shop {2] bezie-
hen.
1. Internetseite {AnmeIdeformuIar gesponserte Abos)
http://www.embedded-projects.net/journaI
2. OnIine-Shop fr JournaI {Preis 1 EUR + Versand)
http://www.eproo.de/journaI
Damit wir weiterhin diese Zeitschrift fr jeden frei be-
reitsteIIen knnen, suchen wir dringend Sponsoren fr
Werbe- und SteIIenanzeigen. Bei Interesse meIdet Euch
bitte unter foIgender TeIefonnummer: 0821/5081581 oder
sendet eine E-MaiI an die oben genannte Adresse.
Sponsoren gesucht!