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

FT232BL + Atmega [asm]/[C]

sheeeep 31 Maj 2008 12:30 3709 6
REKLAMA
  • #1 5200055
    sheeeep
    Poziom 25  
    Witam, Chcę stworzyć układ na tych dwóch kostkach, potrzebuję przesyłać poprzez FT232 paczki wielkości 768 bajtów do uC, z prędkością rzędu 1Mbita, i jakieś kilka bajtów do rozpoczęcia wysyłania paczki z PCta.
    Taką czynność potrzebuję powtarzać 50 razy na sekundę, lecz samo przesłanie danych musi przebiegać szybko i sprawnie. Czyli wsumie ok 30kbitów/s

    Z tego co wyczytałem to FT232 podłączamy do UARTa, tylko jak ustawić tego UARTa na 1Mbit? Normalnie baudem ze wzoru policzyć na 1Mb?

    Po przesłaniu danych z FT, potrzebuję wysłać UARTem dane dalej, ale do tego już zastosuję jakąś logikę, np bramki AND, 2 linie z procesora do 2 ANDów i dalej sobie z tym poradzę...

    No chyba żeby szeregowo eproma wpiąć pod FT, i potem z niego czytać uC, ale wydaje mi się że nie będzie to wielki problem zrobić to tak jak napisałem wcześniej.

    Program napiszę w asm, bo tak mi pasuje do dalszych operacji...
  • REKLAMA
  • Pomocny post
    #2 5200947
    zumek
    Poziom 39  
    sheeeep napisał:
    Witam, Chcę stworzyć układ na tych dwóch kostkach, potrzebuję przesyłać poprzez FT232 paczki wielkości 768 bajtów do uC, z prędkością rzędu 1Mbita, i jakieś kilka bajtów do rozpoczęcia wysyłania paczki z PCta.
    Taką czynność potrzebuję powtarzać 50 razy na sekundę, lecz samo przesłanie danych musi przebiegać szybko i sprawnie. Czyli wsumie ok 30kbitów/s

    Mam nieodparte wrażenie , że 300kb/s , byłoby bliższe prawdy ;)
    sheeeep napisał:
    ...Normalnie baudem ze wzoru policzyć na 1Mb?

    Zawsze możesz skorzystać z tabeli , którą producent wspaniałomyślnie umieścił w dokumentacji uC :D

    Piotrek
  • REKLAMA
  • #3 5201210
    sheeeep
    Poziom 25  
    No fakt ;) jeden rząd wielkości się pomyliłem.

    No i faktycznie jest w dokumentacji, bo moja wspaniałomyślna książka o AVRach ma te same tabele co w dokumentacji ale się na 250kb kończy. W dokumentacji elegancko wychodzi. Wsadzę 16Mhz.

    Pomiędzy FT232 a Atmega wsadzę 6N137 bo chcę mieć izolację pomiędzy tymi układami, myślę że powinno działać.

    Teraz jeszcze jeden dylemat, przesyłam dane do uC, obrabiam je i przesyłam je dalej UARTem.
    Narazie mam na to wizję taką, że wrzucę w licznik który będzie odpalał się 50 razy na sek (oczywiście z pomocniczym licznikiem) a następnie wysyłał do kompa informacje poprzez RX(FT232) do komputera że ma zacząć nadawanie tych 768bajtów. Jak skończy bez błędów obrabiam i wysyłam i czekam na następne przerwanie...
    Jest coś takiego w transmisji szeregowej jak stan Busy, czy w przypadku FT232 da się to jakoś wykożystać?

    Busy ustawiam w momencie odebrania paczki i zwalniam w momencie gdy jest kolejny cykl timera?
  • REKLAMA
  • #4 5250811
    Ch.M.
    Poziom 27  
    Nie masz w kompie portu równoległego, czy po prostu lubisz wyzwania typu USB ?
  • #5 5251752
    sheeeep
    Poziom 25  
    Ch.M. napisał:
    Nie masz w kompie portu równoległego, czy po prostu lubisz wyzwania typu USB ?


    Laptop, i tu mnie boli, a pozatym potrzebuję 250kbit
  • REKLAMA
  • Pomocny post
    #6 5259143
    Ch.M.
    Poziom 27  
    Port równoległy wyciska 2Mbity
    Te buforki to chyba nadmiar ostrożności a gwarantowana odpornośc to tylko 2,5kV natomiast FT wytrzymuje 3kV (ESD)
    Pozdrawiam
  • #7 5259870
    sheeeep
    Poziom 25  
    No wsumie może i tak, ale chce dać bo potem będzie to podłączone pod inne zasilanie, i puszczone rs485. Jakby było jakieś przebicie z 230/400V to by było nie przyjemnie, a tak to wsumie 6N137 zawsze jest.

    No i dodatkowo oddzielone masy, komputera a reszty świata.

    Niebawem poskładam to wszystko do kupy, to będę pisał cały program.

    pzodrawiam
REKLAMA