Skocz do zawartości

Gadający zegar w stylu retro


atlantis86

Pomocna odpowiedź

Podoba Ci się ten projekt? Zostaw pozytywny komentarz i daj znać autorowi, że zbudował coś fajnego!

Masz uwagi? Napisz kulturalnie co warto zmienić. Doceń pracę autora nad konstrukcją oraz opisem.

(edytowany)
4 godziny temu, marek1707 napisał:

poprzez kupowanie elementów na warszawskim Wolumenie aż do kodowania w asemblerze i niezliczonych nawrotów kasowania/programowania EPROMów.

No cóż, ja niestety byłem trochę za młody, żeby zajmować się takimi konstrukcjami, gdy ta technologia była młoda. Byłem wtedy w podstawówce i składałem jakieś proste konstrukcje na paru tranzystorach czy układach scalonych, opierając się na opisach z "Młodego Technika". Jednak przeglądałem od czasu do czasu "Radioelektronika", z podziwem patrząc na zaawansowane konstrukcje, oparte na Z80 albo 8051. 😉 W tamtych czasach budowanie takich urządzeń byłoby niezwykle złożonym procesem. Części były drogie i trudno do zdobycia, a wytrawienie odpowiednio dokładnej płytki w domowych warunkach nie wchodziło za bardzo w grę. Nie wspominając o potrzebnych narzędziach. Dzisiaj części można kupić za bezcen, do zrobienia PCB wystarczy drukarka laserowa i laminator, a i moja pracownia jest nieco lepiej wyposażona. 😉

Cytat

Napisz (nagraj?) do czego go zmusiłeś, bo mi - mimo najszczerszych chęci - nie udało się przekonać go by dobrze gadał po polsku. Mimo sporego wyboru zwyczajnie brakowało naszych fonemów, natomiast angielski wychodził - jak na tamte czasy - wręcz rewelacyjnie.

Wyszedłem z założenia, że on nie został zaprojektowany do mówienia po polsku i zwyczajnie to sobie odpuściłem. Wszystkie komunikaty i cytaty w zegarze są po angielsku. Stworzenie zestawu standardowych słów odnoszących się do czasu było proste - dokumentacja układy zawiera odpowiedni słownik. Tworząc cytaty popkulturowe posługiwałem się narzędziem on-line, które tłumaczy angielskie słowa na fonemy.

https://greg-kennedy.com/sp0256-tts/

Nie wyobrażam sobie nawet bawienia się w zmuszanie tego układu do mówienia po polsku. 😉

Cytat

Przy okazji: nie wiem jak u Ciebie sprawuje się DCF77, ale mój odbiornik (środek dużego miasta) ma całe kwadranse w których nie jest w stanie złapać poprawnego czasu a kiepska kontrola poprawności ramek (pojedyncze bity parzystości) przepuszcza czasem nieporawne dane jako te dobre. Jak sobie z tym radzisz?

Projektanci systemu DCF77 zawalili sprawę, nie umieszczając w ramce jakiejś sumy kontrolnej. Kontrola parzystości nie daje 100% gwarancji, że odebrane dane są poprawne i niestety często zdarza się, że nie są. Jest jedno, proste rozwiązanie, które stosuje się w celu uniknięcia problemów - trzeba odebrać dwie następujące po sobie ramki. Jeśli minuta po minucie uda się je poprawnie zdekodować, a uzyskane dane są poprawne (ten sam dzień, miesiąc, rok i godzina) to można założyć, że wszystko jest w porządku i dopiero wtedy ustawić zegar.

Niestety prawidłowy odbiór sygnału DCF77 jest możliwy tylko przez część doby - zwykle w nocy. Wtedy poprawiają się warunki propagacyjne na dalach długich, a poza tym ludzie wyłączają całkiem sporo sprzętu generującego zakłócenia. 😉

Edytowano przez atlantis86
  • Lubię! 2
Link do komentarza
Share on other sites

Zarejestruj się lub zaloguj, aby ukryć tę reklamę.
Zarejestruj się lub zaloguj, aby ukryć tę reklamę.

jlcpcb.jpg

jlcpcb.jpg

Produkcja i montaż PCB - wybierz sprawdzone PCBWay!
   • Darmowe płytki dla studentów i projektów non-profit
   • Tylko 5$ za 10 prototypów PCB w 24 godziny
   • Usługa projektowania PCB na zlecenie
   • Montaż PCB od 30$ + bezpłatna dostawa i szablony
   • Darmowe narzędzie do podglądu plików Gerber
Zobacz również » Film z fabryki PCBWay

10 minut temu, atlantis86 napisał:

Nie wyobrażam sobie nawet bawienia się w zmuszanie tego układu do mówienia po polsku.

A syntezator Klatta można uruchomić na 6502... do tego jakiś przynajmniej 5-bitowy przetwornik w stylu Covoxa i będzie gadać.

  • Lubię! 1
Link do komentarza
Share on other sites

19 godzin temu, ethanak napisał:

...i będzie gadać.

Taa, jasne, teraz to mądry jesteś. A teraz przypomnij sobie czas gdy sam miałeś 20 lat, byłeś fascynatem czegośtam i próbowałeś w przedinternetowej rzeczywistości zgłębiać jakąś swoją techniczną pasję. Sensowna literatura była za dewizy lub opóźniona o dwa lata tylko do wglądu w bilbiotece uczelni lub instytutu a zdobycie kodów źródłowych do czegokolwiek to już w ogóle jakiś kosmos. Katalogi scalaków, nawet w oficjalnych bilbiotekach były niewyraźnymi kserówkami(!) oryginałów a z własnego doświadczenia wiem, że spora część dokumentacji technicznej oficjalnie używanej w placówkach naukowych była wynikiem pracy służb specjalnych, bo co bardziej wypasione rzeczy miały nałożone embargo na wysyłkę za żalazną kurtynę. No i w takich warunkach, przeglądając w czytelni jakieś zachodnie czasopismo dowiadujesz się o gotowym chipie SP0256 albo o panu Klatt i jego pracach. Z idei syntezy formantowej niewiele jeszcze rozumiesz - sama idea DSP jest jak informacja o lądowaniu UFO w Nevadzie, ale jeśli miesiąc później widzisz scalak GI na bazarku w cenie mieszczącej się w granicach Twoich możliwości, to jakbyś złapał Boga za nogi. Kupujesz w ciemno od nieznajomego gościa, bez żadnej gwarancji, rachunku, możliwości zwrotu czy czego tam jeszcze i podniecony wracasz autobusem do domu by następne dwa tygodnie klecić jakiąś płyteczkę/interfejs do komputerka/procesorka jaki masz już (szczęściarz) zbudowany w domu. Nie, nie do PC bo tych jeszcze w Polsce praktycznie nie ma, tylko do MIK-CA80 lub - jak w moim przypadku - do systemu własnego pomysłu. I po kilku dniach pisania i ręcznej kompilacji asemblerowego kodu, po poprawkach wzmacniacza na UL1480 (ktoś pamięta?) zaczyna coś skrzeczeć. Wow! Po polsku jakoś nie za bardzo, ale dopiero wtedy zaczynasz "na własne ucho" rozumieć, że jednak języki czymś się od siebie różnią i stosunkowo bogaty zestaw fonemów amerykańskiej kostki nijak nie pasuje do słowiańskiej mowy. A dzisiaj? Otwierasz odpowiednią stronę www i czytasz, a nawet ściągasz kody, komentarze, gotowe przepisy itd. Programowanie w asemblerze nadal jest magaczasochłonne i jeśli nie skorzystasz z czyjejś pracy dostępnej na jedno kliknięcie, to zakodowanie w tym języku nietrywialnego algorytmu na jakiś biedny, oldskulowy procesor - choćby i syntezatora mowy - to wciąż są miesiące pracy.

20 godzin temu, atlantis86 napisał:

Tworząc cytaty popkulturowe posługiwałem się narzędziem on-line

Właśnie o tej różnicy możliwości piszę wyżej 🙂

20 godzin temu, atlantis86 napisał:

Nie wyobrażam sobie nawet bawienia się w zmuszanie tego układu do mówienia po polsku.

Uff, no to odetchnąłem. Myślałem, że jednak czegoś nie zauważyłem albo zwyczajnie nie umiałem.

20 godzin temu, atlantis86 napisał:

Jest jedno, proste rozwiązanie, które stosuje się w celu uniknięcia problemów - trzeba odebrać dwie następujące po sobie ramki.

Próbowałem tego, ale jeśli w moich warunkach odebranie jednej dobrej było trudne, to dwie poprawne pod rząd mógłbym zaliczyć do cudów. Hm, nie pamiętam też jakiejś specjalnej korelacji między porą dnia a jakością sygnału. Pasmo 77kHz to fale bardzo długie (VLW) i nic nie pracuje (może nie licząc łodzi podwodnych) na takich częstotliwościach. To raczej pojedyncze zakłócenia impulsowe od załączania/wyłączania urządzeń energetyki, potężnych obciążeń w zakładach przemysłowych itp. Do wygenerowania sensownej fali w tym paśmie za pomocą prostego drutu (a nie specjalnego obwodu z cewką na pręcie ferrytowym) potrzeba gigantycznej anteny, dlatego dobrze tu "działają" wielokilometrowe linie przesyłowe. Na szczęście aby się do nich "dostać" potrzeba sporych przełączanych mocy więc pan Stefan ze swoją kosiarką niewiele tu może zdziałać. No chyba, że obrabia Ci trawnik pod oknem - wtedy ma "direct access" do Twojej anteny.. W każdym razie w mieście sporo tego się dzieje a sieć AC oplata wszystko jak pajęczyna. W moim przypadku konieczność odbioru ramek nie była krytyczna czasowo, bo zegarek ustawiałem ręcznie a DCF służył jedynie do okresowej korekcji chodu więc złapanie nawet raz dziennie kilku dobrych pakietów wystarczało. O ile pamiętam w tym formacie bity kontroli osobno chroniły datę i osobno czas, więc skupiałem się bardziej nie na powtórzeniu tej samej daty (bo o poprawności złapanego czasu niewiele to mówiło) tylko na chronologii (i rzecz jasna poprawności parzystości) kolejno złapanych minut i godzin. No i w sumie krytyczny był też pierwszy impuls każdej minuty (ten po przerwie), bo to on wyznaczał moment "startu" nowego czasu więc i chwilę synchronizacji zegarka. 

 

  • Lubię! 2
Link do komentarza
Share on other sites

43 minuty temu, marek1707 napisał:

Taa, jasne, teraz to mądry jesteś.

No ale przecież kolega wątkotwórca robi to teraz a nie 40 lat temu... a poza tym istniał już wtedy SAM w wersji polskiej (no, powiedzmy polskawej) na 6502.

 

  • Lubię! 1
Link do komentarza
Share on other sites

(edytowany)
6 godzin temu, marek1707 napisał:

Programowanie w asemblerze nadal jest magaczasochłonne i jeśli nie skorzystasz z czyjejś pracy dostępnej na jedno kliknięcie, to zakodowanie w tym języku nietrywialnego algorytmu na jakiś biedny, oldskulowy procesor - choćby i syntezatora mowy - to wciąż są miesiące pracy.

Ja prawdę mówiąc nie wyobrażam sobie pisania dużych projektów od początku do końca w asemblerze. To znaczy wiem, że się da, ale ryzyko popełnienia błędu i dodatkowe utrudnienia w debugowaniu potrafią zamienić zabawę w koszmar. Pisząc kod do swoich projektów na 6502 korzystam z kompilatora CC65. Nie jest idealny, bo chociażby brakuje mu wyższych poziomów optymalizacji, ale do moich zastosowań się nadaje. Oczywiście pewne kluczowe fragmenty kodu - jak na przykład system obsługi przerwań - i tak trzeba napisać w asemblerze.

W przypadku projektów na 8080 sytuacja wygląda już gorzej, bo tutaj zwyczajnie sensownego kompilatora już nie ma. A przynajmniej nic mi o takowym nie wiadomo. 😉

Cytat

Próbowałem tego, ale jeśli w moich warunkach odebranie jednej dobrej było trudne, to dwie poprawne pod rząd mógłbym zaliczyć do cudów. Hm, nie pamiętam też jakiejś specjalnej korelacji między porą dnia a jakością sygnału.

Możliwe że masz pecha i w twojej okolicy zwyczajnie poziom zakłóceń jest za duży przez całą dobę. U nie wyglądało to w ten sposób, że w ciągu dnia właściwie nie dało się odebrać ani jednej sensownej ramki. Zakłócenia powodowały, że moduł cały czas generował bzdury. Sytuacja trochę poprawiała się wieczorem - było już wtedy widać impulsy właściwe dla protokołu DCF77, ale zakłóceń było tak dużo, że nie dało się odebrać ani jednej poprawnej ramki. Dopiero grubo po północy - koło pierwszej albo drugiej - zaczynały się pojawiać pierwsze prawidłowo odebrane ramki. Gdy już się jednak pojawiły, przez jakiś czas możliwy był odbiór jednej po drugiej, pod rząd. A tak naprawdę jeśli uda się zegar zsynchronizować raz na dobę, to już jest bardzo dobry wynik. 😉

Cytat

Pasmo 77kHz to fale bardzo długie (VLW) i nic nie pracuje (może nie licząc łodzi podwodnych) na takich częstotliwościach.

Z tego co pamiętam VLF to dużo niższy zakres, przynajmniej częściowo pokrywający się jeszcze z częstotliwościami akustycznymi. Dlatego do ich odbioru można stosować zwykłą kartę dźwiękową komputera, bez żadnych konwerterów częstotliwości. Wystarczy podłączyć odpowiednią antenę do wejścia audio. Obecnie pracuje tam kilka stacji wojskowych, rosyjska radionawigacja, a zabytkowy nadajnik w Grimeton w Szwecji parę razy do roku nadaje okolicznościowe transmisje morsem. 😉

Częstotliwość 77 kHz to już fale długie, jedynie trochę poniżej tej części pasma, którą przeznaczono na publiczną radiofonię.

Cytat

Na szczęście aby się do nich "dostać" potrzeba sporych przełączanych mocy więc pan Stefan ze swoją kosiarką niewiele tu może zdziałać. No chyba, że obrabia Ci trawnik pod oknem - wtedy ma "direct access" do Twojej anteny..

Problem w tym, że obecnie dookoła jest mnóstwo rozmaitych przetwornic impulsowych, które pracują n zbliżonych częstotliwościach albo sieją harmonicznymi. Faktycznie, tka przetwornica nie nada sygnału na pół Europy, ale już parę różnych pracujących w pobliżu odbiornika może skutecznie zakłócić jego pracę.

Tak swoją drogą, jeśli chodzi o ułatwienia których kiedyś nie było, a które teraz są dostępne, to mogę wymienić jeszcze jedno - emulator pamięci EPROM. Naprawdę mocno ułatwia i przyspiesza rozwijanie kodu na take "wbudowane" projekty retro. 😉

Edytowano przez atlantis86
  • Lubię! 1
Link do komentarza
Share on other sites

20 godzin temu, atlantis86 napisał:

ułatwienia których kiedyś nie było, a które teraz są dostępne

Heh, czasem nam się wydaje, że to co mamy dzisiaj to jakaś nowość wynaleziona kilka lat temu a wcześniej to już tylko rzepa i kłusowanie w pańskich lasach. Opowiem Ci o moim eumulatorze EPROMów. W latach 80 pracowałem w szacownym Instytucie Naukowym, w zakładzie zajmującym się tworzeniem narzędzi sprzętowych i aplikacji dla właśnie powstających w Polsce mikroprocesorów. Poczynając od 8080, poprzez 8048, 8051, nasz rodzimy 4-bitowec (tak, tak) aż po jakieś mgliste plany na 16 bitów. W przypadku 8080 pracowaliśmy wtedy na oryginalnym, intelowskim systemie MDS-800 - na pewno można coś o tym w sieci znaleść. Wielka niebieska skrzynia zawierająca kilka sporych płyt: CPU z najbliższym otoczeniem, kilka płyt RAM-u, jakiś boostrap z ROMu, kontroler 8-calowych dyskietek, dwa porty szeregowe z prawdziwym RS232 (na płycie wielkości A4..), programator ROM/EEPROMów, zasilacz i to chyba wszystko. Do tego podłączało się rzecz jasna konsolę czyli terminal (monitor znakowy + klawiatura) z RS232 i pisało programy. Ponieważ system używany prezez wielu ludzi był jeden, kupiony(?) za dolary przez jakichś magicznych pośredników bo przecież wprost do Polski tego typu rzeczy wprost nie mogły trafiać a sprowadzenie drugiego było praktycznie niemożliwe, nasza rodzima myśl techniczna (nie pamiętam kto to zrobił) wykombinowała sklecić kopię tego cuda. Jak pomyśleli tak zrobili  i powstało MSWP - Mikroprocesorowy System Wspomagania Projektowania. Nie było tak niebieskie jak oryginalny Intel tylko czarne, ale przynajmniej jedno stanęło w moim pokoju i było MOJE. Miało takie same, 8-calowe floppy, ten sam system operacyjny (ISIS - ktoś pamięta?) i podejrzewam, że wszystkie jego programy poczynając od debuggera ROMie poprzez dyskietkowe edytory, assemblery i nawet PL/M (tak, tak, był też kompilator czegoś takiego) miały jedynie zmienione winietki tekstowe wypisywane podczas uruchamiania na polskie. No ale działało. Bardzo szybko zrozumiałem, że tworzenie/uruchamianie nowego kodu poprzez kasowanie i programowanie EEPROMów powtarzane wiele razy dziennie nie jest najlepszą drogą i na dzień dobry wymyśliłem sobie emulator EEPROMów. No ale jak go podłączyć do w sumie dość zamkniętego systemu? Jak "wysysać" dane z tego czarnego pudła? Budowanie własnej karty do magistrali S100 było kosztowne, nie mówiąc o ręcznym zaprojektowaniu PCB, oficjalnym zamawianiu (gdzie?) wykonania, itd itp. No i wpadłem na pomysł, by podłączyć się do.. istniejącego programatora EEPROMów. Zrobiłem więc wtyczkę "udającą" pamięć EEPROM wtykaną do podstawki programatora. W trybie "zapis" impulsy programowania wpisywały mi kolejne bajty do podtrzymywanego bateryjnie SRAMu 6264 (8Kbajtów - ho, ho). Potem wtyczkę wypinałem, przenosiłem ustrojstwo na inne biurko gdzie czekał już jakiś mój projekt z pustym gniazdkiem pod EEPROM, tam wtykałem tę samą wtyczkę, przełączałem jakimś pstryczkiem tryb na "odczyt", włączałem zasilanie procesora i voila, miałem nowy kod bez 20 minut oczekiwania na skasowanie pod UV.

Dziś nawet nie wyobrażam sobie tworzenia oprogramowania na starociowaty system pokroju tego Twojego bez emulatora ROMów. No chyba, że całość zrobisz w FPGA, ale to zupełnie inne doznania. W każdym razie w końcu i tak gdzieś trzeba ten EEPROM fizycznie zaprogramować, bo już sama jego obecność w podstawce to +7 do wyglądu projektu i +10 do prestiżu 🙂 

  • Lubię! 2
Link do komentarza
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Anonim
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.

×
×
  • Utwórz nowe...

Ważne informacje

Ta strona używa ciasteczek (cookies), dzięki którym może działać lepiej. Więcej na ten temat znajdziesz w Polityce Prywatności.