Forum: Mikrocontroller und Digitale Elektronik CCL in AVR mega0 / tiny0 / tiny1


von Randy B. (rbrecker)


Lesenswert?

Hallo zusammen,

gibt es die Möglichkeit, für eine CCL ein "statisches", direkt 
manipulierbares Bit zu verwenden. Als Inputs sind ja nur Zustandswerte 
von den internen Peripherals auswählbar.

Was ich meine wäre etwa ein GPIO-Register-Bit, das als Eingang dient.

Mit dem Event-Channel bekomme ich das auch nicht hin: ein Strobe bewirkt 
ja nur einen Impuls in dem Channel und dann eben auch nur einen Impuls 
als Input für die CCL.

Danke für Ideen.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

irgendwelche Eingänge kannste nicht nehmen. Dafür musste in die Tabelle 
schauen.
Ein Bsp. hatte ich hier gepostet
Beitrag "Re: megaAVR 0-Series"

von Randy B. (rbrecker)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> irgendwelche Eingänge kannste nicht nehmen.

Mmh, nee, das macht keinen Sinn.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

deine Antwort ist leider nichts sagend. Deswegen frage ich nochmal ob du 
die Tabelle 3.1 kennst im Datasheet .pdf? Darin ist alles aufgeführt was 
man für CCL verwenden kann und alles andere auch.

von Randy B. (rbrecker)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> deine Antwort ist leider nichts sagend.

Nochmal: ich verstehe das so, das man dafür physische Pins verwenden 
müsste, und das macht für mich keinen Sinn.

> Deswegen frage ich nochmal ob du
> die Tabelle 3.1 kennst im Datasheet .pdf? Darin ist alles aufgeführt was
> man für CCL verwenden kann und alles andere auch.

Tabelle 3.1. ist in meinem DB von 2019 was anderes. Ich schaue in 
Abschnitt 26.2.2.1. und dort finde ich zwar Events, die sind aber 
transient.

von Veit D. (devil-elec)


Lesenswert?

Hallo,

es gibt 2 Datenblätter. Family Manual und Datasheet Pin Manual. Im 
letzteren ist besagte Tabelle und alle elektrischen Eigenschaften 
beschrieben.

Ich hatte bei meinem verlinkten Code einen Timer programmiert und seine 
Ausgänge per Kabel auf die CCL Eingänge wie im Code kommentiert gelegt.

Wenn du nun zum Bsp. als GPIO Port.C verwendest und davon Bit.0 bis 
Bit.2 dann sollte das klappen auch ohne externe Beschaltung. Die 
"Eingänge" schaltest du intern mit deinem Programm. Das hatte ich schon 
einmal im Forum gelesen.

Wäre das in deinem Sinne oder auch nicht?

von Randy B. (rbrecker)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> es gibt 2 Datenblätter. Family Manual und Datasheet Pin Manual. Im
> letzteren ist besagte Tabelle und alle elektrischen Eigenschaften
> beschrieben.
>
> Ich hatte bei meinem verlinkten Code einen Timer programmiert und seine
> Ausgänge per Kabel auf die CCL Eingänge wie im Code kommentiert gelegt.
>
> Wenn du nun zum Bsp. als GPIO Port.C verwendest und davon Bit.0 bis
> Bit.2 dann sollte das klappen auch ohne externe Beschaltung. Die
> "Eingänge" schaltest du intern mit deinem Programm. Das hatte ich schon
> einmal im Forum gelesen.
>
> Wäre das in deinem Sinne oder auch nicht?

Nein, ich will dafür keine Pins "opfern".

von Veit D. (devil-elec)


Lesenswert?

Hallo,

dann verstehe ich nicht was du machen möchtest. Du hattest von GPIO 
Register geschrieben.

"Was ich meine wäre etwa ein GPIO-Register-Bit, das als Eingang dient."

Deswegen ging ich von einem I/O Port aus. Wenn es das nicht sein soll, 
dann brauchst du sicherlich auch kein CCL ... Logiktabelle in Software 
...

von Randy B. (rbrecker)


Lesenswert?

Veit D. schrieb:
> Hallo,
>
> dann verstehe ich nicht was du machen möchtest. Du hattest von GPIO
> Register geschrieben.

Genau. GPIO-Register = GPIOR. Hat nichts mit I/O-Pins zu tun sondern ist 
sbi  cbi-fähiges Memory.

>
> "Was ich meine wäre etwa ein GPIO-Register-Bit, das als Eingang dient."

Als Eingang für die CCL. Auch dies hat nicht notwendigerweise was mit 
I/O zu tun.

> Deswegen ging ich von einem I/O Port aus. Wenn es das nicht sein soll,
> dann brauchst du sicherlich auch kein CCL ... Logiktabelle in Software
> ...

Ich will einfach nur einen Eingang eines CCL direkt per SW steuern, ohne 
dazu über einen I/O-Pin zu gehen. Die anderen Eingänge kommen von der 
int. Peripherie. Ich will also genau das machen, wozu die CCL auch da 
ist, nämlich externe Logik in den µC zu verlagern. Und natürlich möchte 
ich mir den Umweg über einen Pin dabei sparen.

Ich habe einen Workaround, der aber nicht gut ist: über ein FlipFlop was 
per Event getriggert wird.

von Johann Klammer (Gast)


Lesenswert?

Hab' selbst noch nichts mit mega CCL gemacht, aber im PIC16F1713 
datasheet
empfehlen die ein inversions bit zu setzen oder zu loeschen wenn man 
einen input der CLC toggeln will.
1
It is possible (but not recommended) to select both the
2
true and negated values of an input. When this is done,
3
the gate output is zero, regardless of the other inputs,
4
but may emit logic glitches (transient-induced pulses).
5
If the output of the channel must be zero or one, the
6
recommended method is to set all gate bits to zero and
7
use the gate polarity bit to set the desired level.

Ich weiss aber nicht ob atmels da aehnlich sind.

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.