Forum: Mikrocontroller und Digitale Elektronik tiny2313-90S2313


von Rene046 (Gast)


Lesenswert?

Hallo,

Wolte fragen ob ein program der auf einem 90S2313 lauft,
aug auf eine tiny2313 lauft, habe leider nur ein hex file.
geht um dass program for minidmx.

mit freunlichen grusse,
Rene aus Holland

von Sonic (Gast)


Lesenswert?

Versuch macht kluch! Probier's doch einfach aus, könnte klappen!

von Rene046 (Gast)


Lesenswert?

ich hab shon versucht aber leider weis ich jezt nicht ob ich ein
hartware problem habe oder dass es durch dem software komt.

alles funtioniert soweit nur der komunication via der rs232 nicht.

rene

von Bjoern B. (tishima)


Lesenswert?

Hallo!

Fusebits anpassen fuer Quarz und CLK/Div128.

gruss,
Bjoern

von Rene046 (Gast)


Lesenswert?

Hallo Bjoern,

Dass klinkt fast spanisch fuhr mir.

als ist niks da mit 128 als teiler, dass solte ich denke ich im program
andern mussen.

von Michael Nagler (Gast)


Lesenswert?

Hallo Rene,
beim Tiny2313 ist im Auslieferungszustand der interne Oszillator (8MHz)
aktiviert und der Taktteiler auf 8 eingestellt; er läuft damit mit
1MHz.

Du musst nur die Fusebits geeignet setzen:
CKDIV8: unprogrammed (Bit=1)

Den Rest je nach Taktversorgung (Quarz oder ext. Oszillator). Ein
schönes Beispiel findest Du bei Klaus Leidinger, der seinen
hervorragend funktionierenden AVR910 Programmer von AT90S2313 auf
Tiny2313 bei unverändertem Programm umgerüstet hat.

Gruß
Michael

von Rene046 (Gast)


Lesenswert?

Hallo Michael.

Danke, Ich habe gleich im anfang shon der CKDiv8 teiler aus
geschalted.

denke dass da fieleigt andere probleme sind wie ich hier in ein
datasheet gefunden habe
http://www.atmel.com/dyn/resources/prod_documents/doc4298.pdf

also dass program arbeited mit dem Uart und der heist shon im tiny
nicht mehr so da heist er Usart und funtionier anders, leider bin ich
so neu mit Atmel chips dass ich nicht 1 2 3 wuste was ich anderen
solte, wehn ich shon die datei bearbeiten konte.

von Michael Nagler (Gast)


Lesenswert?

Hallo Rene,
deshalb schätze ich ja das Beispiel von Klaus Leidinger so! Der benutzt
auch den UART für seinen AVR910-Programmer. Alleine das Umstellen der
Fusebits genügt, um die Schnittstelle am Tiny2313 mit hoher
Geschwindigkeit sicher arbeiten zu lassen. Voraussetzung ist allerdings
ein "Baudrate-Quarz". Hast Du eigentlich auf externen Quarz
umgestellt?

Schau doch mal auf seiner Homepage nach. Die ist am einfachstem mit
Google unter dem Stichwort "Klaus Leidinger" zu finden.

Viel Erfolg,
Michael

von Schmidle (Gast)


Angehängte Dateien:

Lesenswert?

Hallo Rene,

vielleicht findest such was im angehängten Dokument.

Gruß
Markus

von Mike (Gast)


Angehängte Dateien:

Lesenswert?

Mach so wie im Anhang.
Software ist Ponyprog.

von Rene046 (Gast)


Lesenswert?

Hallo

erstens shon danke fuhr die antworten.

Leider habbe ich alles shon so gemacht.
ich denke da ist noch fieles mehr dass im code selber geanderd werden
solte.

von Uwe (Gast)


Lesenswert?

Hi!
Da bleibt wohl nur ReASM und ändern oder neu schreiben.
Habe aber gerade mal die PDF's verglichen, das musss gehen wenn die
Fuse richtig sind.

MFG Uwe

von TravelRec. (Gast)


Lesenswert?

Ein für den 90S2313 geschriebenes Programm läuft dann nicht mehr auf
einem Tiny2313, wenn es Interrupts und einige spezielle I/O-Register
nutzt, da diese auf beiden Controllern auf verschiedenen Adressen /
Vektoren liegen. No way! Bestenfalls einen 90S2313 ordern,
CSD-electronics haben noch welche.

von Christian Nöding (Gast)


Lesenswert?

Hallo :)

Ich habe selber AT90S2313 Programme OHNE Änderung auf ATtiny2313
laufen.  Es müssen wirklich nur die Fuses richtig gesetzt werden.
Darunter 1. CKDIV8 weg und 2. auf externen Quarz.
Bei AVRDude wäre das z.B. so ein Befehl:

avrdude -c avr910 -p t2313 -P com1 -U lfuse:w:0xed:m

Mit Ponyprog hatte ich schon ein paar Probleme beim Setzen der Fuses.
Einfach AVRDude nutzen und fertig.

Schönen Abend noch :)
Christian

von Uwe (Gast)


Lesenswert?

Hi!
Int.S2323
5 $004 TIMER1 COMP1 Timer/Counter1 Compare Match
6 $005 TIMER1 OVF1 Timer/Counter1 Overflow
7 $006 TIMER0, OVF0 Timer/Counter0 Overflow
8 $007 UART, RX UART, Rx Complete
9 $008 UART, UDRE UART Data Register Empty
10 $009 UART, TX UART, Tx Complete
11 $00A ANA_COMP Analog Comparator

Int.Tiny2323
4 0x0003 TIMER1 CAPT Timer/Counter1 Capture Event
5 0x0004 TIMER1 COMPA Timer/Counter1 Compare Match A
6 0x0005 TIMER1 OVF Timer/Counter1 Overflow
7 0x0006 TIMER0 OVF Timer/Counter0 Overflow
8 0x0007 USART0, RX USART0, Rx Complete
9 0x0008 USART0, UDRE USART0 Data Register Empty
10 0x0009 USART0, TX USART0, Tx Complete
11 0x000A ANALOG COMP Analog Comparator
.
.
.
Der Tiny hat zwar mehr, aber bis 11 ist alles gleich. Die Adressen
sollten also ungenutzt/frei sein und "rjmp Reset" sollte klappen. Es
muss gehen!

MFG Uwe

von Rene046 (Gast)


Lesenswert?

Hallo Christian,

Dan versuch mall bitte dass program.
http://s101188989.alturo-host.de/mathia ... inidmx.htm

da hab ich es fon ist der minidmx

wurde mich alleine shon freuen wehn dass rs232 teil funtionierte, dan
komt dass DMX teil fon selber.

leider bekomme ich immer fom computer die meldung MDMX gerat nicht
gefunden.
der kabel fon mir solte ok sein weil ich damit auf die tiny's
programiere, com1 habe ich auf 115200 databit 8, stopbit 1,  0

von Hauke Radtki (Gast)


Lesenswert?

Sorry nimms mir nich übel aber "von" schreibt man mit v und nich mit
f


Zur not müsste man das Programm wie gesagt disassemblieren und die
Änderungen vornehmen, da es ja (fast) der gleiche Controller ist
sollten  es nicht so viele sein.

von Rene046 (Gast)


Lesenswert?

Hallo Hauke,

wehn du genau su gut Hollandisch screiben kans wie ich Deutsch machen
wir beide es super

Groetjes Rene

von Hauke Radtki (Gast)


Lesenswert?

Achso du bist holländer :)
Hab ich nicht bemerkt.
Schreiben kann ich holländisch nicht aber ein bisschen verstehen schon.
(Ich fahre 1-2x im Jahr nach Holland in den Urlaub)

Viele Grüße :)

von Johannes A. (Gast)


Lesenswert?

Hallo Rene,

es gibt da von Atmel die AppNote
AVR091: Replacing AT90S2313 by ATtiny2313

Vielleicht findest Du da einen Hinweis.

Besten Gruß
Johannes

von Rene046 (Gast)


Lesenswert?

Hallo,

Da hab ich shon in gelezen,
leider sind da so fiele unterschiede dass ich gar nicht weis wass ich
uberhaupt anderen solte.

SB. hat der Tiny ja ein USART anstad ein UART

Andere unterschiede:
AT90S2313/ATtiny2313
TICIE1/ ICIE1
PWM10/ WGM10
PWM11/ WGM11
CTC1/ WGM12
WDTOE/ WDCE
EEWE/ EEPE
EEMWE/ EEMPE
OR/ DOR
CHR9/ UCSZ2
USR/ UCSRA
UCR/ UCSRB
UBRR/ UBRRL

90s2313>
If the OCR1x Register is read before the update is done, the actual
compare value is read – not the temporary OCR1x buffer.
Tiny2313>
If the OCR1x Register is read before the update is done, the value in
the OCR1x buffer is read.

und denklich dass wichtigste weil der USART benutz wird dieses>

The UART in AT90S2313 has been replaced by a USART in ATtiny2313. The
ATtiny2313 USART is compatible with the AT90S2313 UART with one
exception: The two-level Receive Register acts as a FIFO.
The following must be kept in mind:
A second buffer register has been added. The two buffer registers
operate as a circular FIFO buffer. Therefore the UDR must only be read
once for each incoming data. More important is the fact that the Error
Flags (FE and DOR) and the ninth data bit (RXB8) are
buffered with the data in the receive buffer.
Therefore the status bits must always be read before the UDR Register
is read. Otherwise the error status will be lost since the buffer state
is lost. The Receiver Shift Register can now act as a third buffer
level. This is done by allowing the received data to remain in the
Serial Shift Register if the buffer registers are full, until
a new start bit is detected. The USART is therefore more resistant to
Data OverRun (DOR) error conditions.
Another minor difference is the initial value of RXB8, which is “1” in
the UART in AT90S2313 and “0” in the USART in ATtiny2313.
The USART has a new Double Speed mode, which allows a higher
communication speed.

Leider weil ich normal meine kleine projecte mit Bascom gemacht habe
weis ich nicht wass is andern darf, oder wie, und wass nicht.

Leider kann aug dass problem liegen naturlich dass ich ein falsches
Quarz benutze. da ich momentan nur 8Mhz 9.984Mhz und 10Mhz versucht
habe.

Ich hoffe bald ein shop hier in der gegent su finden der eine fon
9.216Mhz hat. Bis jeztz gein gluck.

bis jezt gibt mir wehn ich dass terminal program fon bascom program
laufen lass der schaltung nur ein signal sum PC ( €Mº€€Mº€€Mº€)nonstop

nochmall entschuldige fuhr mein slechtes Deutsch.

Aber ich weis sicher das da jemanden ist hier im forum der mir hiermit
helfen kan.

oder fieleigt ein anderes program hat fuhr ein Mega8 womit ich mit
Freestyler oder DMCcontrol ein dmx gerat steuren kan.

von Läubi (Gast)


Lesenswert?

Also das hauptproblem wird der Quarz sein... Flasche Quarz = Falsche
Baudrate = UART gibt murks aus!

Und ich denke der hinwei mit fon <=> von war nur nett gemeint,
vieleicht magst ja drauf achten, mann will doch immer besser werden ;)

Hat Reichelt vieleicht einen passenden Quarz im Angebot?

von Hauke Radtki (Gast)


Lesenswert?

Ne war natürlich nicht böse gemeint.

Reichelt hat keinen entsprechenden Quarz im angebot.

Aber bei deinen Quarzen 9.984Mhz und 9.216Mhz sind es schon 8% fehler,
das macht eigentlich kein UART richtig mit. Kannst du nicht an den
alten Quarz ran ?

von Picht Wigbert (Gast)


Lesenswert?

Hallo Rene046 ,
der Quarz muss stimmen.Also du musst nehmen 9,216 Mhz,oder
7,3728 Mhz oder 3,6864 Mhz(Conrad oder Reichelt)Dann hast Du
u.a. bei 9K6 19K2 38K4 keine Fehlerabweichung.
Mit den Programm AVR Baud Rate Calculator kannst Du prüfen,
welche Baudrate zu welchen Quarz passt.( http://WWW.elektronik.de.vu)
Zumindest für AVR.Wenn Du über 8 Mhz externen Quarz gehst,ändern
sich natürlich die Fusebits.
Also mein ATtiny90S2313 arbeitet mit 9,216 Mhz ext.Quarz.
Ponyprogr: Haken CKOUT , Haken SUTO.
Versuch Dein Glück

von Uwe (Gast)


Lesenswert?

Hi!
Wenn er das alte .hex-File nutzen will muss der original Quarz drann.
DMX, welche Baudraten versteht das denn? Wenn mehrere, könnte man
versuchen einen anderen passenden zu finden. Ansonsten RE-ASM. Hänge
doch mal das .hex an.

MFG Uwe

von TravelRec. (Gast)


Lesenswert?

DMX ist 250kbit/sek. Geht mit Standard 8 oder 16Mhz Quarz und U(S)ART
problemlos.

von Rene046 (Gast)


Lesenswert?

Danke danke leute.

Ihr hab vollich recht gehabt.

Mit dem quarz , der mir 3,50 euro gekosted had, und ich 1 woche sufohr
besteld habe in elektronic laden, hats heute funtioniert.

Leider hab ich nur der hex file fon dieser version 2.0 fon minidmx.
und habe versucht mit re-asm aber der spuckt aug nicht alles 100% aus.


Wurde mich fiel mehr gefreud haben wehn dass alles mit einfachen 10 Mhz
gelauft hatte.

Jetz weis ich aber dass ich nicht immer ein anderes quarz nemen kan und
dinge dan noch immer fuctionieren ( nur langzamer).

Fieleigt hat jemanden aug nog info fuhr ein echter DMX sender mit einen
MEGA8 oder 16 der alle 512 Kanale hat.

danke lieber leute.

von Picht Wigbert (Gast)


Lesenswert?

Stimmt,
es ist ja ein Hex_file vorhanden.Dann muss er den selben Quarz
nehmen.Danach richten sich auch die gesetzten Bits.Richtig?  Ansonsten
habe ich mal gelernt die "krummen"Quarze zu
nehmen um Probleme mit der Schnittstelle aus den Weg zu gehen.Kann
natürlich auch mit"glatten"Quarzen gehen.

von TravelRec. (Gast)


Lesenswert?

>>Fieleigt hat jemanden aug nog info fuhr ein echter DMX sender mit
>>einen
>>MEGA8 oder 16 der alle 512 Kanale hat.


Hallo Rene,

auf Hendrik Hoelschers DMX-Seite findest Du alle relevanten Routinen
für das Senden von DMX-Signalen. Dann nimmst Du Dir ´nen ATMEGA162
(wegen der 2 USARTS besonders einfach), fütterst ihn damit, gestaltest
ihn nach Deinen Vorstellungen um und initialisierst das 2. USART für
115kBaud 1s8d1snp. Dann implementierst Du ein bestimmtes PC-Protokoll,
meinethalben vom DWORKIN PRO (auf deren Seite beschrieben), hängst das
Ding an die serielle Schnittstelle, lädst Freestyler herunter und
installierst das Modul und dann "Bingo"! So hab ich´s auch gemacht
und es läuft prima. Übrigens mit einem 8MHz Quarz. Wegen der Fehler von
2,5% bei 115kBaud vom PC mußt Du Dir keine Sorgen machen, das Modul geht
trotzdem!

von TravelRec. (Gast)


Lesenswert?

Doppelpost, guck mal weiter oben, da ist die Antwort ;-)

von Rene046 (Gast)


Lesenswert?

Hallo Travelrec.

Leider bin ich anfanger auf dem gebied Atmel Uc.
habe nur eigenlich ein bissel Bascom erfarung.

Und fon der ATMEGA162 hore ich jezt erst.
habe nur mega8 und 16, und tiny 2313 und tiny26.

normal programiere ich ab und su ein project mit Microchip
prozessoren.
wahr einfacher, leider seit ich ein neues Mainbord habe lauft mein
programmer nicht mehr.
Und ich habe da ein STK500 board dass noch funktionierte.

aber werde mir mall vertiefen ins DMX wurde gerne ein program haben,
dass aug dmx in had und wehn mocklich ein Eprom und daten fest su
halten wehn wass falsch geht.

dan kan ich dass mit su arbeit nemen, und mall versuchen ins theater su
nutzen.
da machen wir alles mit einem Compulite Micron 4D, und einen Spark 4D.
die haben shon 2045, und 1536 kanale.

Selber haben wir noch nie gespield mit ein pc und dmx software fuhr
dass licht su bedienen.

von TravelRec. (Gast)


Lesenswert?

Alles klar - guck Dir mal die DMX-Seiten an, die man so hier und da
findet. Das EEPROM braucht man zum Zwischenspeichern der DMX Daten gar
nicht, dazu reicht das SRAM, weil der DMX-Sender fällt eigentlich nie
wirklich aus. Meist stürzt der PC ab und das fängt der DMX-Sender dann
halt ab. Im EEPROM sollten nur Bertriebsvariablen stehen, die nur
gelegentlich geändert werden, zum Beispiel Channel-Patches. Der Tip mit
dem ATMega162 war wegen der 2 USARTS und der somit völlig
unkomplizierten Handhabe vom 250kBit DMX-Signal und 115kBit vom PC, da
muß man dann nicht so komplex programmieren, weil die Hardware einem
viel abnimmt. Und man spart auch etliche externe Bauelemente und hat
genügend Port-Pins frei für Schalter, Taster und LEDs ;-)

von Wysocki Robert (Gast)


Lesenswert?

Hallo,
ich verstehe das nicht,
es gibt da auch ein source in c auf der Hompage von MiniDMX

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.