Sendbyte() für Infrarot-Datenübertragung in Hardware gegossen
© kner2006
FSM für Infrarot-Datenübertragung: Realisierung mit CPLD und ISE-Webpack in VHDL
Aufbau eines Frames:
Präambel = langer Burst (40kHz, Länge: 30 Pulse = 3/3)
Logisch 1 = mittellanger Burst (20 Pulse = 2/3)
Logisch 0 = kurzer Burst (10 Pulse = 1/3)
Pause = Dauer wie kurzer Burst, aber kein Ausgangssignal
FSM2:
liefert 10, 20, 30 Bursts abhängig vom Eingang count; die Bursts werden auf eine Led ausgegeben, wenn nicht eine Pause ansteht (EnableData=0); das Signal „fertig“ schaltet die FSM1 um einen Zustand weiter
FSM1:
schickt einen Frame aus Präambel + 8 Datenbits; zwischen den Datenbits wird immer eine Pause eingeschoben. Die Datenbits werden als Bursts auf die LED geschickt.
Die Datenbits werden vom Eingang bit geholt; getaktet wird die FSM durch den Mikrocontroller bzw. durch die zweite Statemachine, wenn diese die Bursts fertig ausgepulst hat.
Wenn ein Bit gesendet wurde, wird aus dem Schieberegister SR8CE das nächste Bit geschoben (shiftR) und gesendet.
Probleme: die Statemachines müssen als VHDL-Files in das Projekt eingebunden werden, nicht als State-Diagramme (*.DIA); das System lässt nur 1 .DIA-File zu
Summary
Design Name |
top |
Fitting Status |
Successful |
Software Version |
I.34 |
Device Used |
|
Date |
11-23-2006, 8:27PM |
RESOURCES SUMMARY
Macrocells Used |
Pterms Used |
Registers Used |
Pins Used |
Function Block Inputs Used |
---|---|---|---|---|
22/72 (31%) |
70/360 (20%) |
19/72 (27%) |
6/34 (18%) |
32/216 (15%) |
Man sieht: der IC ist durch diese Anwendung zu ca 25% ausgelastet. (19 Flipflops, 70 Produktterme).
Simulation: es muß ein Testbench-File ins Projekt eingebunden werden und ISE auf Behavioral Simulation geschaltet werden.