LFSR Simulator

In: arduino|elektronika|programowanie

4 mar 2011

Od jakiegoś czasu, zacząłem się interesować elektroniką. Jako, że dotychczas byłem w tej kwestii zupełnie zielony, zainteresowałem się projektem arduino, który łagodnie wprowadza w świat elektroniki cyfrowej. Co to jest i dlaczego jest takie super opiszę przy innej okazji. Nie mniej jednak, wciągnąłem się maksymalnie w tematykę budowania hardware’owych zabawek przy użyciu arduino. Jeden z pierwszych moich projektów (pomijając zapalanie paroma diodami LED czy też „hałasowanie” buzzerem) to LFSR Simulator, czyli oparty o arduino (Atmega 328P) programowalny symulator rejestru przesuwnego ze sprzężeniem zwrotnym. Jak działa rejestr LFSR nie będę opisywać, gdyż wikipedia doskonale to objaśnia.

Projekt ten, został przygotowany na zaliczenie jednego z przedmiotów na uczelni, gdzie studiuję;) Całość zaprojektowałem i wykonałem w 3 dni.

Projekt składa się z 2 części:

  1. Program PC – to prosta aplikacja napisana w C#, za pomocą której możemy ustawić stan początkowy (macierz wejściową) dla symulowanego rejestru LFSR. „1″ na przecięciu wiersza z kolumną oznacza sprzężenie zwrotne konkretnych wyjść/wejść rejestru. Dzięki temu, nasz rejestr jest programowalny, tzn może zwracać różne ciągi losowych bitów.
  2. Hardware – czyli mikrokontroler połączony poprzez USB do komputera. Do mikrokontrolera podłączone są diody LED symbolizujące wyjścia rejestru (binarnie oczywiście), oraz wyświetlacz LCD (2×16 znaków), który pokazuje kolejne stany dziesiętnie, oraz inne ustawienia.

Rejestr może działać w 2 podstawowych trybach – z komputerem, lub bez. W przypadku, gdy układ nie wykryje połączenia z komputerem, następuje odczytanie macierzy z pamięci flash (EEPROM) atmegi. Gdy połączenie jest, dane są wczytywane z napisanego przeze mnie programu.

Układ posiada funkcję „step” tzn, kolejne przeskoki rejestru są wyzwalane przyciskiem – jest to zademonstrowane na filmiku. Stany generowane przez symulator są wczytywane do programu, który oprócz ich wyświetlenia, generuje również graf przejść.

> Oglądaj w HD <

Już wkrótce opiszę kolejne projekty:)

2 Responses to LFSR Simulator

Avatar

zeyomir

Marzec 4th, 2011 at 22:36

nie ma co, poszalałeś z tym projektem :P

Avatar

Kamil Karczmarczyk

Marzec 5th, 2011 at 22:45

No tak wyszło, że zrobiłem 3x bardziej skomplikowany projekt niż trzeba było by uzyskać zwolnienie z egzaminu ;) Ale to nie świadomie…

O Mnie

Kamil Karczmarczyk - Znany w sieci jako Limak, student informatyki o geekowskim podejsciu do świata IT, pasjonat nowych technologii oraz geocachingu. Członek Śląskiej Regionalnej Grupy Microsoft. Entuzjasta snowboardu.

Photos

Archiwum

open all | close all

Kategorie

open all | close all