CCL in AVR mega0 / tiny0 / tiny1

OP #5883642
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.
OP #5885056
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.
#5885381
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?
OP #5885396
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".
#5885640
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 
...
OP #5885677
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.
Gast #5886897
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.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren