logo elektroda
logo elektroda
X
logo elektroda
REKLAMA
REKLAMA
Adblock/uBlockOrigin/AdGuard mogą powodować znikanie niektórych postów z powodu nowej reguły.

Czy dłuższe czasy impulsów w 89c51/89s51 wpłyną na programowanie?

prokopcio 08 Wrz 2006 11:48 1904 10
REKLAMA
  • #1 2999180
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    Witam.

    Mam programator atmelków 89cXX i 89cXX51 - jest on oparty na procku 89c51. Potrzebuję przerobić go tak, żeby programował też procesory 89s51 - pierwszy problem tkwi w sygnaturze układu - programator go nie rozpoznaje, ale to jest mniejszy problem, który bez problemu ominę zmieniając program w programatorze.
    Większy problem to są różne czasy impulsów programujących / kasujących pamięć programu - dużo krótsze w 89s51 - czy jak nie zmienię czasów z 89c51 to procesor 89s51 się nie zaprogramuje ? Jak będzie trzeba to zmienię czas impulsu programującego z 1,5ms na 50us ale z impulsem kasującym będzie kłopot bo wg. noty 89s51 ten czas powinien się zawierać w granicach 200-500ns - a takiego krótkiego czasu nie jestem w stanie odmierzyć procesorem 89c51 zawartym w programatorze.

    Proszę o pomoc.
    CZY MOŻNA STOSOWAĆ DŁUŻSZE CZASY IMPULSÓW KASUJĄCYCH I PROGRAMUJĄCYCH NIŻ PODANE W PDF ?

    Dodano po 2 [minuty]:

    acha - mówimy o programowaniu równoległym
  • REKLAMA
  • #2 2999250
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    Czemu nie chcesz używać isp? Czasy mogą być dłuższe - najlepiej jeśli jeśli skrócisz w miarę możliwości. W pdfie rzeczywiście piszą o bardzo krótkich czasach ale ja kiedyś programowałem s51 programatorem do c51 z drobnymi modyfikacjami(p3.3) i poszło.
  • #3 3000457
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    Przyszłościowo przesiądę się na ISP - narazie mam programator równoległy na usb współpracujący z oprogramowaniem mojego autorstwa i żaden inny program jego nie obsłuży. o co chodzi z p3.3 ?
  • REKLAMA
  • #4 3000536
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    W c51 przy programowaniu nie uzywa sie p3.3 a w s51 tak. Isp to 5 kabelków i darmowe oprogramowanie wiec nie wiem na co czekasz :)
  • #5 3000876
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    nie mam lpt a używam swojego oprogramowania(usb), z którego niestety nie przeniosę bezpośrednio plików asm do innego programu a też nie chcę się przełączać za każdym razem po kompilacji do innego programu.... ale niedługo będzie ISP przez USB. Teraz potrzebyję pilnie programować s51.
  • REKLAMA
  • #6 3000981
    przemek20
    Poziom 21  
    Posty: 328
    Pomógł: 41
    Ocena: 25
    W takim razie musisz pokombinować z p3.3 - nie da sie go podłączyć pod ktorys z innych pinów np p2.7 bo przy chip erase ma inny stan . Najlepiej jeśli po prostu dorobisz sobie obsługę p3.3 w programie do programatora. Czasy poskracaj tzn wywal wszelkie opóźnienia i będzie działać.
  • REKLAMA
  • #7 3001928
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    do: rokopcio.
    Jaką przyjąłeś metodę na ten isp2usb? Gotowy moduł na ftxxx wstawiony do środka, układ ftxxx lutowany w płytke programatora, tania przejściówka usb2rs i potem max, czy moze sam moduł z kabelka do telefonów komórkowych (to jest chyba najtańsze).

    JA juz prawie skończyłem program na pc i zaczyna działać znakomicie (firmware uproszczony do minimum) ale zastanawiam sie co inni wymyślili w tej dziedzinie.

    Co do równoległego programowania to faktycznie sygnatura jesty inaczej (0,100h, 200h vs 30h,31h)
  • #8 3002176
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    ja miałem sklecony programator chyba z nowego elektronika do 89c51,52,55 - transmisja była przez rs232 z DOSa - napisałem sobie oprogramowanie pod windows z wykorzystaniem kompilatora asm51, transmisyjne i takie tam dodatki. Potem rozbudowałem programator do 89c1051 - 89c4051. Następnie zmieniłem kompa na laptopa w którym nie ma COM ani LPT więc wbudowałem do programatora FT232RL (USB2RS232) i hula super a teraz potrzebuję rozbudować programator na 89s51 i chciałbym programować go - jeśli się da - tak samo jak 89c51 - tylko rozpoznać nowe sygnatury. ale chyba nie będzie to takie łatwe.
  • Pomocny post
    #9 3003653
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Co nie będzie łatwe? Przecież jak popatrzysz w .pdf'a to wszystko staje sie jasne i proste. s51/52 różnia sie tylko paroma detalami w programowaniu.
    JA kiedyś opublikowałem na elektrodzie swój programator (po rs) który programował wszystkie c/s51 atmela (dostępne wtedy).
    Jak coś to:
    http://www.szymtro.trocki.pl potem projekty i pierwszy od góry. Kiedys to też było w dziale download ale teraz (ze dwa lata temu) to nie wiem czy jeszcze jest.

    Co do mojego kolejnego programatora - to jakbyś chciał zostać betatesterem to potrzebny będzie c2051 (wystarczy nawet c1051) kwarc 22118400, parę rezystorów i konwerter na rs232 (nie koniecznie max). Daj znać na PV.
  • #10 3006898
    prokopcio
    Poziom 29  
    Posty: 2027
    Pomógł: 39
    Ocena: 143
    wiesz, nie dopatrzyłem w pdf opisu p3.3 w 89s51 przy programowaniu równoległym... Co do twoich porgramatarków to zastaniawia mnie (dokładnie nie przyglądałem się) ale masz w miltprogramatorze zasilanie z bateryjne 6V -- jak uzyskujesz napięcia programujące 12V potrzebne niektórym procesorom?
  • #11 3007294
    szymtro
    Poziom 30  
    Posty: 1421
    Pomógł: 101
    Ocena: 59
    Wykorzystany był tajmer t2 i jego mozliwość sterowania pinem (chyba p2.0). Do tego tranzystor i dłąwik i jakieś 100kHz. Tzw programowy dc-dc. Można urzyć mc34063. Z bateriami sprzęt jest cięższy i nie ucieka po stole jak się trzyma programowany uC.

    P0 - dane we,wy
    P1 - młodszy bajt adresu
    P2.0..4 - 5 bitów starszego adresu (moze być wiecej dla np s53 albo c55)

    P2.6
    P2.7
    P3.3
    P3.6
    P3.7 - to wsztsko do wyboru trybu programowania/odczytu

    DO tego sterowanie sygnałem reset i dodatkowo załączanie 12V na EA (5V moze być przez diodę z sygnału reset) i jeszcze sygnał /prog do wpisywania/odczytu danych.
    Wszystko podane dla at89s52

Podsumowanie tematu

✨ Dyskusja dotyczy modyfikacji programatora opartego na mikrokontrolerze 89c51, który obecnie programuje układy 89cXX i 89cXX51, aby umożliwić programowanie procesorów 89s51. Głównym problemem są różnice w czasach impulsów programujących i kasujących pamięć – 89s51 wymaga znacznie krótszych czasów, szczególnie impuls kasujący powinien mieścić się w zakresie 200-500 ns, co jest trudne do osiągnięcia przy użyciu 89c51 jako kontrolera programatora. Wskazano, że dłuższe czasy impulsów mogą być stosowane, jednak najlepiej jest je skrócić do wartości zalecanych w dokumentacji. W programowaniu równoległym 89s51 istotne jest wykorzystanie pinu P3.3, który różni się od 89c51 i wymaga odpowiedniej obsługi sprzętowej i programowej. Zaproponowano modyfikację oprogramowania programatora w celu obsługi sygnatury 89s51 oraz implementację sterowania pinem P3.3. Wskazano również na możliwość zastosowania programowania ISP (in-system programming) przez USB z wykorzystaniem konwertera FT232RL, co ułatwi przyszłe programowanie i eliminację problemów z portami LPT/COM. Omówiono także kwestie zasilania 12V potrzebnego do programowania, które można uzyskać za pomocą układu DC-DC (np. MC34063) sterowanego timerem T2 mikrokontrolera. Podsumowując, programowanie 89s51 jest możliwe na bazie programatora 89c51 po odpowiednich modyfikacjach sprzętowych i programowych, zwłaszcza w zakresie czasów impulsów i obsługi pinu P3.3.
Podsumowanie AI na podstawie dyskusji. Może zawierać błędy.
REKLAMA