Simulator x51 do vyuky

tomas.martinec@centrum.cz tomas.martinec@centrum.cz
Úterý Březen 9 10:13:13 CET 2010


Dobry den,

diky za reakci.

Jan Waclawek napsal(a):
> Nemam priamu odpoved na vasu otazku, pretoze nie som fanusik simulatorov (jedine co obcas pouzivam je jeden prastary ciste textovy DOSovy simulator). Chapem vsak Vasu motivaciu. Dovolte niekolko utrhnutych napadov.  
>

Ja osobne take moc simulatory nevyuzivam, zejmena proto, ze u vetsiny uloh pouzivam nejaky exoticky hardware, ktery stejne nelze simulovat. Programovani v C a Bootloader na UARTu pak zjednodusuje ladeni natolik, ze to ani neni potreba. Kdyz jsem zacinal programovat v assembleru, tak jsem pravdepodobne pouzival stejny DOSovy simulator, jako Vy  ;-).

> Z toho, co pisete, mam pocit, ze *nejaky* (nie prilis velky) rozpocet na tuto ulohu k dispozicii mate.
>
> 1. Neviem, aku motivaciu presne ma Promis, ale ak ziju naozaj z toho microscopu - ktory ma zrejme najvacsi trh vo vyuke - tak to, co pisete, neznie celkom ako reklama pre nich... Nepomohlo by ich skusit skontaktovat s poziadavkou o pridanie nejakej "pluginovatelnosti"? Je mi jasne, ze sa boria so svojimi vlastnymi problemami, tak co tak ponuknut ten rozpocet za jednorazove urychlene a kompletne riesenie? Bolo by predsa aj v ich zaujme mat podporu pre externy hardware, najma ak by im ju napisal niekto iny...
>

Nechci firme Promis delat negativni reklamu. V urcitem ohledu je ten jejich produkt pomerne unikatni. Program uScope je jen cast jejich prace, mimo nej jeste delaji konkretni aplikace nejen s jednocipy (nedokazu rict, v jakem rozsahu). Jedna se ale o rodinou firmu, ktera (jak jsem pochopil) ma jen dva vyvojare (z toho syn navic jeste studuje na nasi fakulte). Tim jsou nektere veci dane. 

Program uScope pouzivame ve vyuce jiz tretim nebo ctvrtym rokem, zatim jen jako editor a prekladac asembleru (tudiz vyuzivame jen par procent jeho moznosti). To je dane tim, ze Designer byl v te dobe v plenkach a monitor uMon (ktery je soucast programu uScope) nefungoval s puvodni verzi naseho pripravku (nepodporoval procesory ED2 od Atmela). Jiz od prvopocatku jsem panu Ramesovi nabizel, ze pokud uvolni dokumentaci k rozhrani, tak se budeme podilet na vyvoji designeru v ramci projektu, bakalarek a diplomek aby jsme ho pomohli dotahnout do pouzitelneho stavu. Pan Rames sliboval, ze az se vyvoj trochu ustali, tak ze nam dokumentaci poskytne. Naposledy jsem mu podobny navrh ucinil letos (kdyz jsme kupovali novou verzi uScope, ktera ma zatim bohuzel nejake mouchy, takze ji jeste nemame odvahu nasadit do vyuky) ale zadnou konkretni odpoved jsem nedostal. Obavam se, ze i kdyby k tomu doslo, tak nektere veci se podari dotahnout az v prubehu nekolika nasledujicich let.

> 2. Simulator ADuC ma "potomka" v podobe Pinnacle52. Ani ten Vam nebude ako taky vyhovovat takmer vo vsetkych ohladoch, ale s autorom (ktory sa mu uz roky nevenuje) si obcas (citaj: tak raz za rok ;-) ) dopisujem, tak by som sa ho mohol aspon opytat, ci by bol trebars ochotny venovat zdrojaky alebo tak nejak, ale len ak o take nieco mate vazny zaujem. Z nezaujateho pohladu mi vsak pripada, ze to je slepa cesta, zdrojaky trebars k jsim-u su k dispozicii a co z nich, ze.
>

Zdrojove texty simulatoru nejsou zadny problem. Je mozne je ziskat z nekolika mrtvch projektu. Navic mam svoje zdrojove texty  - asi pred peti lety jsem jiz simulator x51 psal (je to cele vyvojove prostredi pro SDCC, vcetne integrovaneho simulatoru x51 s podporou LCD displeje, terminalu a krokovani na urovni zdrojoveho textu v C a bootloaderu pro procesory 89C420, dodnes ho pouzivam, zajemcum z HW konference zaslu i se zdrojovymi texty). Bohuzel jsem dalsi vyvoj musel zmrazit kvuli nedostatku casu a pro dalsi moznosti dalsiho rozsirovani by bylo nutne nektere komponenty prepsat (hlavne kvuli rychlosti). Mam i jeden funkcni simulator jako vysledek jedne bakalarske prace, kterou jsem pred lety vedl (ale tomu chybi periferie). Takze mam na cem stavet.

> 3. Autor EdSim51 je  byvaly pedagog - http://www.8052.com/forum/read/121438 . Mozno by sa dal oslovit k spolupraci.  
>
> 4. Co tak priamo hardware? Ja viem, davat ho (zapoziciavat) "detom" do ruky je Vam proti srsti, ale ved na druhej strane su to nejaki dospeli ludia, nie? Ci nedalo by sa trebars formou rozsirenych hodin v labaku alebo tak nejak?
> Bolo by treba napisat nejaky sikovny monitor, ale to je o rad jednoduchsia uloha nez pisat simulator. A hardware je hardware. Treba tiez obetovat UART, ale to tiez nie je az taka katastrofa. Dalo by sa mozno na uvod inspirovat CMON51 http://cmon51.sourceforge.net/ , aj ked to treba potiahnut dalej - mimochodom autor je tiez pedagog, mozno by sa s nim dalo aj spolupracovat.
>

Ja jsem nepsal, ze mi je proti srsti dat do ruky pripravek. Naopak bych chtel, aby si na nej meli vsichni prilezitost sahnout. Dnes uz neni mnoho predmetu, kde by tuto moznost meli. Ale laborator je dost vytizena (vyucuje se tam vic ruznych predmetu) a pripravku je omezene mnozstvi (momentalne 12 na 20 studentu behem cviceni). Proto chci dat studentum moznost, aby si doma mohli dodelat to, co na cviceni nestinou. <nekonstruktivni stiznost> Kdysi pro tento predmet byla vyhrazena jedna mala ucebna, kde byly pripravky neustale v pohotovosti a mimo cviceni jsme studentum pujcovali klice. Bohuzel v ramci optimalizace jsme o tuto ucebnu prisli a ted sdilime vetsi ucebnu. To take prinasi napriklad komplikace s tim, ze musime pripravky uklizet a zamykat (uz se nam jedne ztratil) a volno v ucebne je jen par hodin tydne. </nekonstruktivni stiznost> 

Co se tyka monitoru, tak ten take planujeme nasadit do vyuky (uMon, soucast uScope) ale se starsi verzi uScope nefunguje a nova jeste neni pouzitelna. Chceme ti hlavne odstranit nutnost pouziti programu FLIP, ktery neni prilis stabilni a dela problemy.

Jinak dekuji za odkaz na CMON51, prilezitostne ho vyzkousim.

> No dobre, tolko sialene napady.... ;-)
>
> wek
> ___________

Prochazel jsem i odkazy, ktere jste uvadel a nasel jsem i nekolik dalsich simulatoru. Bohuzel jsou to bud jsou to mrtve projekty, nebo komercni (=nerozsiritelne), ktere neumoznuji hromadnou licenci (=zaplati skola a student muze s omezenim vyuzivat doma bez omezeni poctu studentu) a navic nepodporuji hardware, ktery mame na pripravku.

S firmou Promis povedu v nejblizsi dobe jednani a mozna se nam povede dotahnou to do podoby, kdy budeme schopni simulovat LCD, LED a tlacitka (pan Rames je pomerne ochotny, ale bohuzel dost zaneprazdneny). Urcite se ale nepodari v dohledne dobe zprovoznit vsechny periferie (AD prevodnik, CAN, RTC, piezo beeper, zarovku ovladatelnou PWM, teplotni cidlo). Jakmile ale alspon cas periferii pujde, dam to studentum k dispozici.

Moje predstava (kdyz jsem psal puvodni mail) byla ta, ze bych se rad pripojil k nejakemu existujicimu projektu, ktery je ale zivy. Aby bylo dost dokumentace a aby bylo koho se pripadne zeptat (EdSim uz bohuzel z tohoto pohledu neni dost zivy, navic Java neni pro me prijatelna platforma). Pokud bych mel zkoumat cizi nezdokumentovany software, tak to si to za stejnou dobu jsem schopny napsat sam (i kdyz bych ten cas radeji venoval necemu jinemu). Urcite chci mit ale moznost udelat podporu pro exoticke periferie a i pro jiny procesor (v tomhle by z komercnich programu vyhovel asi jen Protel, ktery umi vsechno, co si lze predstavit). Momentalne napr. vedu rocnikovy projekt na rozsireni pripravku o podporu procesoru rady AT89S a ve vyhledu je PIC, Sylabs a dalsi (i treba FPGA). Externe pak pujdou pripojit napr. motory a dalsi HW. 

Zatim se mi jako jedine reseni jevi opravdu zalozit novy projekt a zacit psat vlastni simulator (s vyuzitim svych existujicich zdrojaku a s pomoci studentu). Momentalne se tomu muzu venovat v ramci sveho uvazku, protoze na inovaci tohoto predmetu mame ESF projekt. kazdopadne je mi jasne, ze s vyuzitim existujiciho SW by vyvoj bylo mozne dotahnou mnohem dal.

Kdyz uz jsme u toho, neznate nejake (volne dostupne) knihovny pro vypocet analogovych obvodu? Jedna se mi jen o analyzu jednoduchych zapojeni s odpory a diodami. Uvazoval jsem, ze kdybych se do toho pustil, tak bych chtel pracovat analogove (aby bylo mozne ukazat napr. jas zarovky) a dat moznost vlozit mezi piny napr. RC filtr (kondenzator by byla ale samostatnta soucastka, prechodovy dej by se pocital uvnitr, aby se nemuseli tyto deje resit mezi vsemi piny). Nejedna se mi zadne slozite vypocty, v podstate bych jen vsechny piny pripojene k nejakemu dratu nahradil zdrojem napeti a odporem a pak mezi kroky simulace bych vypocitaval ustalenou hodnotu napeti. Muselo to ale byt dost rychle, aby to zbytecne neprodluzovalo cas simulace. 
  
S pozdravem

                                                                                  Tomas Martinec


More information about the Hw-list mailing list