AVR-GSM

Hogyan programozzak AVR chipet? Programozók beállításai...
Bascom nyelvű programok...
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

AVR-GSM

Hozzászólás Szerző: Higgins »

Régen voltam már az oldalon, de remélem segítséget találok most is, mint másfél évvel ezelőtt.

Kaptam egyik ismerősömtől egy AVR-GSM modult http://www.olimex.com/dev/pdf/AVR/AVR-GSM/AVR-GSM.pdf, hogy írjak rá egy jelszavas védelmet. Vagyis a lényeg az, hogy ne lehessen a panelen lévő reléket akármilyen telefonszámról vezérelni SMS-ben.

Ezt Bascomban szeretném megírni, mivel a C-hez nem sokat értek.:(

Elsőre nem hangzik túl nehéznek, a szakdogámban is foglalkoztam már GSM-el,szóval bátran nekiálltam.

A fejlesztőeszköz kapcsolási rajza itt látható:
http://www.olimex.com/dev/images/AVR/AVR-GSM-SCH.gif

A kapcsolási rajz is érthető számomra, azzal sincsen gondom.
Van egy ATmega32 és egy GSM modul, a kettő össze van kötve RS232-vel, és ezen lóg egy FTDI232-es chip amivel USB porton is el lehetne érni a GSM modult, valamint az AVR-t.

Lehetne,DE NEM LEHET!
Ismerősöm mondja, hogy ő csak úgy tudta elérni a GSM modult (a gyári lefordított hex kód volt az AVR-ben), hogy az AVR studio-ban resetelte az AVR-t, így elérhetővé vált a GSM modul, és AT parancsokkal tudta vezérelni.
Az AVR studio-ban én nem jöttem rá, hogy lehetne ezt (Debug, Reset....stb, nekem nem jött be, no mindegy)

A probléma tehát az, hogy egyik eszközt se (se az AVR-t se a GSM részt) nem érem el. :(

A tervem a következő volt, hogy írok egy programot Bascom-ban meg egy windows-os programot Delphiben is, hogy USB-n át is lehessen vezérelni a GSM részt (ezt is jó lenne megcsinálni).

A működés elvileg a következő lenne:
-bekapcsoláskor az USB feszültséget érzékeli az ATMega32 a PORTD5-ön és ennek hatására a PORTB2-őn keresztül elengedi az FTDIchip Reset lábát, és az AVR leválik a soros portról, így elérhetővé válik az USB kommunikáció. A gyári hex kódot beletöltöttem az AVR-be és láss csodát, nem csinálja meg....szval nagy kamu az egész :(

Én viszont ezt az egészet Bascomban szeretném megírni, hogy elérhető legyen mind az AVR és mind a GSM rész is.


1. Ha a gyári leírást jól értelmezem, trükközni kellene, hogy a GSM modult el lehessen érni USB-n át is, vagyis az AVR-t valahogy le kellene választani a soros portról, de hogyan?

2. Próbálkoztam úgy is, ahogy a C kódban volt ddrd-vel a PORTD-t megfelelően beállítottam, így a bekapcsoláskor a GSM modul válaszolt, Call ready, stb, vagyis Rx rész az ment, és Hyperterminal-al láttam a dolgokat, de nem tudtam neki AT parancsokat adni. :(Miért nem?

3. Olyan próbát is tettem, hogy az AVR adta ki bekapcsolás után a GSM-nek az AT parancsot, és a Hyperterminal-on láttam a választ.
Vagyis a két eszköz kommunikál egymással jól abban nincs hiba, de legalább az egyik eszközt el szeretném érni normálisan USB-n át Hyperterminalról.


Milyen megoldást javasoltok?
Hogyan szeparáljam el a két egységet egymástól, hogy ne zavarják a soros kommunikációt?
Minden segítséget, ötletet szívesen fogadok és előre is nagyon köszönöm!

üdv:Higgins

ui:bocs, hogy hosszú voltam

8) :oops:
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

Hozzászólás Szerző: Higgins »

Nos? Senkinek semmi ötlete, hogyan lehetne az AVR-t vagy a GSM modult leválasztani a soros portról (persze Bascom-ban megírt SW-vel)?

Nagyon nagy segítség lenne, ha valaki bármi ötletet adna!
Előre is nagyon köszönöm nektek!

üdv:Higgins
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Kapcsolási rajz alapján amit láttam:
- A processzor TxdRxd lába _direktben_ elérhető. Így az utána levő ellenállás miatt felülbírálható hogy ki/bemenő jelen mi jön.
- A Main/Dbg/Tx lábak (illetve ennek megfelelő Rx) jól kezelhető.

Szóval amink van:
- USB kivezetések Tx/Rx. Ez _önállóan_ hozzáférhető forraszjumperen át (MTX/DTX jel, MRX/DRX jel)
- Mobiladapter lábai hozzáférhetőek ugyanezen forraszjumperen át (Debug/Normal TxM/RxM)
- AVR lába az ellenállás miatt szintén hozzáférhető, akár a 2 db 220R ellenállás kivételével!

USB RESETben tartása okán a TxRx kivezetései lebegő állapotban vannak, így az AVR az ellenálláson át meghajt/hat/ja a telefonmodult.
Ha az USB működik, akkor az AVR kilép a a kommunikációból és a mobilrész a PCvel az úsb-n át beszélget.


Én a hozzáférhető Tx/DebugMobilTx/AVRTxD/USBTx lábakta egy sima 4066-os kapcsolóval kapcsolgatnám, hogy mi hova kerüljön.


Az alapáramkörben amit most nem tudsz megoldani, az az AVR->PC kommunikáció. A Rádiós részt nem lehet kitiltani - _kivéve_ ha a Forraszjumpert kikötöd! Azaz ha a DDO_TX és a TXD valamint a DDO_RX és az RXD közé teszed me a 2 kapcsolót 4066-os ICből. Így ha a kapcsoló megy, akkor a PC->Mobilegység kommunikáció van. Ha a kapcsolót tiltod, akkor AVR->PC.

Ezzel - egyeten CMOS áramkörrel (~30 Ft) - sikerült is megoldani az összes kommunikációs irányt....
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Ja, az 5V illetve 3V-os rendszerillesztésel nem foglalkoztam a gondolatmenetben....
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

Hozzászólás Szerző: Higgins »

Köszönöm Robi, hogy megnézted nekem a rajzot!

Akkor szoftveres úton a programozás csak úgy történhet, hogy az AVR vezérli AT parancsokkal a GSM részt, és kívülről, PC-ről a GSM rész csak egy egy átkapcsolóval érhető el, ha jól értelmezem amit leírtál.

Sejtettem, hogy valami nem stimmel, mivel egy FTDI chipre általában csak egy eszközt szoktak rákötni, nem pedig kettőt. A gyári doksiban is csak utalást tettek rá, hogy lehet használni az PC<----[USB]---->GSM részt,de a gyári szoftvert átnyálazva nem találtam ilyen részt (függvényhívás, stb..a C kódban)..

Szval szerintem egyetérthetünk abban, hogy ez egy elkapkodott hardver tervezés eredménye...ideje lenne ha az Olimex-nél összekapnák magukat. :twisted:

Ami még bosszantóbb, hogy ennek a fejlesztő eszköznek az ára 47500Ft, ami azért elég durva, ha megnézzük, hogy az anyagköltség kb.~18-20000Ft-ra jön ki.

No mindegy....nem én árulom, csak a progit írom rá..csak utálom az olyan hardvert, főleg ha szívni kell vele,amit nem én terveztem. :roll:

Nagyon hálás vagyok mégegyszer a segítségért

üdv:Higgins
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

Hozzászólás Szerző: Higgins »

Egyébként a gondom továbbra is az, hogy ha az USB-t rádugom (Windows XP felismeri, COM8-nak nevezi el), akkor csak kapom az infókat a GSM részről, de nem tudok neki AT parancsot adni.

Szóval az AVR rész nem lép ki a kommuniációból (szerintem), ha megy az USB! :twisted:
Most az AVR-GSM közötti kommunikációval nem akarok egyelőre foglalkozni, az megy alapból is.

Mivel a panelen úgy vannak a forraszjumperek alapból, hogy az FTDI chip és a GSM rész van össze kötve, de az AVR tuti bezavar(remélem jól érzem :oops: )

Az AVR-t nem lehet kitiltani valahogy, hogy ne kelljen beleforrasztani a jumperekbe???
:roll:

Gondolom, az meg nem egészéges, hogy az MRx-et és a DRx-et az FTDI chip RX-ére ráforrasztom, mert így két eszköz lógna rajta egyszerre... 8O


üdv: Higgins
Avatar
kapu48
Elektronbűvölő
Hozzászólások: 3375
Csatlakozott: 2008. augusztus 29. péntek, 6:00

Hozzászólás Szerző: kapu48 »

Bocsi, hogy tudatlanul beleszólok!
De amíg 3 RX együtt van csak az a gond, hogy mind csak olvasna de, nincs aki írjon? A gond akkor van, ha 2 TX akar egyszerre írni!
De Róbert vagy valaki profi biztos jobban átlátja a problémát!
Ha megtudod bontani gari vesztés nélkül legjobb, lenne a kapcsolós megoldás. (pl: 4066)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Itt a trükk:

Kód: Egész kijelölése

Tx----+--R---AVRTxD
     |
  GSM Tx
Ha a GSM jel aktív (H vagy L szint), akkor _tökmindegy_ hogy az AVR mit akar....
Ha a GSM lebeg (3State), akkor az AVR jele a domináns...


Én megnézném az AVR melletti 2 db 220R-es ellenállást, hogy működik-e....


AVR kitiltása - nem elegáns, de próbát megér : tedd RESETbe a programozóval. gyakorlatilag a Reset lábat kösd fix GNDre 8) .


Gond lehet ha a FTDI és a SMD debug módon van összekötve és nem a Tx/Rx lábon... (Lsd rajz)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Az anyagköltség csak egy kis része a költségeknek...

Erre jön:
- tervezés költsége (adatlapnyálazás, nyáktervezés)
- Proto eszközök, amíg eljut az RC1-állapotba (megjelenés előtti)
- szoftvertámogatás
- "vízfej" - kereskedők, marketingesek, konferenciaktsg, reklámktsg
- garanciális ügyintézés ktsg-e
- a beépítendő alkatrészeket raktározni is kell (nem 1-2 dbról van szó)
- nyereséget is kell hozzon, minimum a banki 2-4x-ét, mert áll benne a pénze, és ha bankba rakja, akkor minden dolgozó éhenhal:)

Ha egyedül viszed, gondold végig:
- tervezel
- proto
- programozol
- hibajavítasz
- eladod
- marketingeled
- idődet rászánod
- szerszámot veszel + elhasználódik + pótolod...
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

Hozzászólás Szerző: Higgins »

Az a három Rx egybe kötve csak inkább egy költői kérdés volt :)
Tudom, hogy nem egészséges!

Kipróbálom amit Robi mondott!

Köszönöm a tippet!
Majd írok a fejleményekről!

üdv:Higgins
Avatar
nobody_hun
Bitfaragó
Hozzászólások: 425
Csatlakozott: 2005. november 14. hétfő, 7:00

Hozzászólás Szerző: nobody_hun »

Nem bántásból írom, szeretném az elején tisztázni:

Ilyen ketyerét gyártanak Mo-n is, a TELL GSM nevű cég. Ha jól emlékszem, 40+áfa az ára szoftverrel, antennával, kompletten bedobozolva.

Igaz PIC-cel szerelve, de komplett céláramkör. Kiszámoltam, mennyiből lenne, ha én csinálnék ilyet, hát, ha az időmet is beleszámítom, majdnem kétszerese... :(
"Az IC-k füsttel működnek. Ha kijön belőlük a füst, nem működnek tovább." - ismeretlen szerző
"Az ID:FFFFFF egyenlő az Atmel még nem kiadott processzorával."
Avatar
szovhoz
Bitfaragó
Hozzászólások: 608
Csatlakozott: 2007. április 7. szombat, 6:00

Hozzászólás Szerző: szovhoz »

nobody_hun De az nem mérnöki feladat.
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Dehogynem.

Nézd meg a kínait.
Copy-Paste. Csak közben Reverse engineering + fejlesztés...

Vagy ha van egy gyári. Építsd utána. És még fejleszd. Az biza keményen mérnökfeladat....
Avatar
Higgins
Tranzisztorgyógyász
Hozzászólások: 169
Csatlakozott: 2006. február 23. csütörtök, 7:00

Hozzászólás Szerző: Higgins »

Érdekes és megszívlelendő gondolatok merültek fel úgy látom mindenki részéről egy ilyen hardver fejlesztési költségeit tekintve.

Egyébként nézőpont kérdése, hogy ki mit tart drágának, és pl egy adott cég mekkora haszonnal adja el.

Személy szerint én csak az anyagköltséget néztem,s nem számoltam bele a rá fejlesztett két gyári példaprogram fejlesztési költségeit.

Robi meg néhányan emlékeznék még szerintem, amikor 2006 végén a wiznet ethernet modullal építettem meg egy hasonló elektronikát,igaz ott egy külső telefont tettem az AVR-re.

Saját magam tapasztalhattam milyen is egy ilyen project kivitelezése.
Nálam a 3-ik NYÁK verzió lett a végleges....
..és a felháborodásom talán ebből is indult ki....hogy egy ilyen beágyazott rendszerekkel foglalkozó cég,akinek már elég nagy tapasztalata lehet az ilyen tervezésekben, hogy követhet el ilyen áramköri tervezési hibát....

Robi már is talált benne kivetnivalót....és jogosan is, és máris lehetne továbbfejleszteni, használhatóbbá tenni...

Aki megveszi és elkezd fejleszteni rá, rögtön pofára esik, ahogy én is, hogy hoppá,kommunikációs gondok vannak :(

Remélem az Olimex hamarosan kiad egy újabb verziót, bár már ez is REV.B jelzésű.. :(

üdv:Higgins

ui:na most már befejezem a duzzogást 8)
Avatar
Robert
Elektronbűvölő
Hozzászólások: 10213
Csatlakozott: 2005. december 9. péntek, 7:00

Hozzászólás Szerző: Robert »

Szerezzünk egy Rev.A jelűt:)
Akkor lehet örülni, hogy mégsem az jutott hozzád:)

Mondjuk én helyből ATMega128-ra fejlesztettem volna... Azon ott a 2 sorosport...
Vagy nem FT232-t hanem FT2232-t rakok rá (az a 2xsorosporti USB illesztő..).
vagy egy DIP kapcsolósort amivel kiválasztható, hogy mely kombinációkban akarom a sorosportokat használni. Vagy sima logikai kapuáramkört, hogy a sorosportok oda-vissza kapcsolgathatóak legyenek....


A Wiznetes modulra emlékszem....
Szép projekt volt, de lett is eredménye és nem "kukafejlesztés" lett a végén:)
Válasz küldése