+ All Categories
Home > Documents > GPIO Mini2440

GPIO Mini2440

Date post: 02-Jun-2018
Category:
Upload: dat
View: 238 times
Download: 0 times
Share this document with a friend

of 61

Transcript
  • 8/10/2019 GPIO Mini2440

    1/61

    BGIO DC V O TO

    TRNG I HC S PHM KTHUT HNG YN

    V TIN T

    TRIN KHAI HTHNG NHNG TRN FRIENDLY ARM

    V NG DNG IU KHIN THIT B

    N TT NGHIP I HC

    HNG YN - 2014

  • 8/10/2019 GPIO Mini2440

    2/61

    BGIO DC V O TO

    TRNG I HC S PHM KTHUT HNG YN

    V TIN T

    TRIN KHAI HTHNG NHNG TRN FRIENDLY ARM V NG

    DNG IU KHIN THIT B

    NGNH: CNG NGHTHNG TIN

    CHUYN NGNH: CNG NGHMY TNH

    N TT NGHIP I HC

    NGI HNG DN

    ThS. PHM NGC HNG

    HNG YN- 2014

  • 8/10/2019 GPIO Mini2440

    3/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    3

    MC LC

    MC LC .......................................................................................................... 3

    DANH SCH HNH V ................................................................................... 6

    DANH SCH BNG BIU .............................................................................. 7

    DANH SCH TVIT TT ........................................................................... 8

    CHNG 1: TNG QUAN VTI ....................................................... 9

    1.1 L do chn ti ................................................................................. 9

    1.2 Mc tiu ca ti .............................................................................. 9

    1.3 Gii hn v phm vi ca ti .......................................................... 10

    1.4 Ni dung thc hin ............................................................................ 10

    1.5 Phng php tip cn ........................................................................ 10

    CHNG 2: CSL THUYT .............................................................. 11

    2.1

    KIT Friendly Arm Mini 2440 ............................................................ 11

    2.1.1 a chbnh............................................................................... 12

    2.1.2 Ngun cung cp ............................................................................ 13

    2.1.3 RESET .......................................................................................... 13

    2.1.4 SDRAM ........................................................................................ 14

    2.1.5 FLASH .......................................................................................... 14

    2.1.6 LED ............................................................................................... 14

    2.1.7 Nt nhn ........................................................................................ 15

    2.1.8 ADC .............................................................................................. 15

    2.1.9 Ci PWM ...................................................................................... 16

    2.1.10 EEPROM ...................................................................................... 16

  • 8/10/2019 GPIO Mini2440

    4/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    4

    2.1.11 JTAG ............................................................................................. 16

    2.1.12 Kt ni Ethernet ............................................................................ 17

    2.1.13 UART ............................................................................................ 17

    2.1.14 USB ............................................................................................... 18

    2.1.15 LCD ............................................................................................... 18

    2.1.16 Camera .......................................................................................... 18

    2.1.17Ng vo ra m thanh ..................................................................... 19

    2.1.18

    ng BUS hthng .................................................................... 19

    2.1.19 GPIO ............................................................................................. 19

    2.2 Hiu hnh m ngun mLinux .................................................... 19

    2.2.1 Linux l g? ................................................................................... 19

    2.2.2 Linux u? ................................................................................. 21

    2.2.3 Nhng c im ni bt ca Linux ............................................... 21

    2.2.4 Hiu hnh nhng vi Linux ..................................................... 21

    2.3 Qt Creator .......................................................................................... 25

    2.3.1 Gii thu .............................................................................................. 25

    2.3.2 Thit kdn bng Qt Creator chy trn KIT Friendly Arm mini2440

    ............................................................................................................................... 25

    2.4 Truyn thng qua my tnh bng UDP(cng Ethernet)..................... 28

    2.5 PC817 ................................................................................................ 29

    2.6 R-le (relay) ...................................................................................... 30

    2.6.1 nh ngh rle (relay) .................................................................. 30

    2.6.2 Nguyn tc hot ng ................................................................... 30

    CHNG 3: NI DUNG THC HIN ....................................................... 32

  • 8/10/2019 GPIO Mini2440

    5/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    5

    3.1 Tng quan vhthng ...................................................................... 32

    3.2 Trin khai cc hthng nhng .......................................................... 33

    3.2.1 Build nhn Linux trn KIT Friendly Arm Mini 2440 ................... 33

    3.2.2Ci t cc cng ccn thit cho KIT Friendly Arm Mini 2440 v

    PC ...................................................................................................................... 35

    3.2.3Lp trnh chng trnh iu khin trn PC giao tip vi Friendly

    Arm ................................................................................................................... 41

    3.2.4 Lp trnh chng trnh iu khin trn Friendly Arm mini2440 .. 44

    3.2.5Lp trnh giao tip gia PC v Kit Friendly Arm mini2440 qua

    Ethernet ............................................................................................................. 46

    3.3 Thit kcc module ngoi vi ............................................................ 46

    3.3.1 Thit kmodule iu khin rle .................................................. 46

    3.3.2 Module r-le 4 knh ...................................................................... 47

    3.3.3 Kt ni chn tn hiu ngoi vi ....................................................... 49

    3.4 Trin khai thc nghim v nh gi .................................................. 49

    CHNG 4: KT LUN ............................................................................. 50

    4.1 Kt qut c ca ti ............................................................... 50

    4.2 Hn chca ti ............................................................................. 50

    4.3 Hng pht trin ca ti ............................................................... 50

    TI LIU THAM KHO ................................................................................ 52

    PHLC ......................................................................................................... 53

  • 8/10/2019 GPIO Mini2440

    6/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    6

    DANH SCH HNH V

    Hnh 2-1: KIT Friendly Arm Mini 2440 .......................................................... 11

    Hnh 2-2: a chbnhKit Friendly Arm Mini 2440 ................................... 13

    Hnh 2-3: Mch Reset KIT ............................................................................... 14

    Hnh 2-4: ADC trn KIT ................................................................................. 15

    Hnh 2-5: Ci PWM trn KIT ......................................................................... 16

    Hnh 2-6: EEPROM trn KIT ......................................................................... 16

    Hnh 2-7: JTAG ............................................................................................... 17

    Hnh 2-8: UART .............................................................................................. 17

    Hnh 2-9: LCD Interface ................................................................................. 18

    Hnh 3-1: Tng quan vhthng ..................................................................... 32

    Hnh 3-2: Giao din chng trnh minicom .................................................... 34

    Hnh 3-3: Cu hnh minicom ........................................................................... 34

    Hnh 3-4: Lm vic song song minicom v usbpush ...................................... 35

  • 8/10/2019 GPIO Mini2440

    7/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    7

    DANH SCH BNG BIU

    Bng 2-1: Chi tit LED trn KIT Friendly Arm Mini 2440 ............................. 14

    Bng 2-2: Chi tit nt nhn trn KIT Friendly Arm Mini 2440 ....................... 15

  • 8/10/2019 GPIO Mini2440

    8/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    8

    DANH SCH TVIT TT

    Tvit tt Ty Gii thch

    PC Personal Computer My tnh c nhn, my tnh in

    t

    ARM Advanced RISC Machine Mt loi cu trc vi xl 32-bit

    kiu RISC c sdng rng

    ri trong cc thit knhng.

    GPIO General-purpose input/output Cng giao tip vi xl vi th

    gii bn ngoi

    UDP User Datagram Protocol Giao thc ca mng my tnh

  • 8/10/2019 GPIO Mini2440

    9/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    9

    CHNG 1: TNG QUAN VTI

    1.1 L do chn ti

    Bt u t thkXX, nhn loi chng kin cuc cch mng khoa hc k

    thut pht trin trn ton thgii. c trng v ni bt ca cuc cch mng ny l

    k thut my tnh, cng nghthng tin v ng dng ca tng ha. Trong , vic

    sdng thnh tu ca khoa hc cng nghthng tin vo thit k, chto tng

    ha ng mt vai tr quan trng trong mi lnh vc ca cuc sng.

    Trong nhng nm gn y, xu hng ca th gii l pht trin mnh cng

    nghbn dn. Mt cu trc vi xl c thtch hp trn n nhiu cng logic c th

    ng dng trong nhiu lnh vc. Ngy nay, ngnh cng nghip ch to phn cng

    lun c nhng t ph khng ngng. Tcc mch in n gin n cc mch s,

    mch tch hp,kin trc mch ngy mt trnn phc tp hn.

    Cc h thng nhng c pht trin trn ARM ang c s dng rng ri

    cho cc nghin cu, ng dng, v o to hin nay bi c tnh linh hot cho cc

    thit k thit b trn ARM. Mt khc,ARM c htrrt nhiu cc thit bngoi

    vi to iu kin thun li cho vic pht trin h thng nhng, pht trin cc ng

    dng iu khin trn ARM kt ni vi cc thit bngoi vi.

    c c bc u lm quen v nghin cu v cng ngh ARM t c th

    nghin cu su hn v cng ngh nn Em chn ti nghin cu: Trin khai

    h thng nhng trn FriendlyArm v iu khin thit b qua my tnh lm

    ti tt nghip i hc ca mnh.

    1.2 Mc tiu ca ti

    Lm chhiu hnh Linux trn KIT FriendlyArm Mini 2440.

    ng dng cng ngh trn KIT FriendlyArm Mini 2440 iu khin

    thng minh.

  • 8/10/2019 GPIO Mini2440

    10/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    10

    Lp trnh giao tip gia KIT FriendlyArm Mini 2440 v my tnh qua

    cng Ethernet

    Lp trnh ng dng nhng iu khin thit btrn Friendly Arm

    ng dng bcng cm ngun mQt Everywhere Linux

    Ghp ni hnhng PCFriendlyArmModule R-le iu khin thit

    b

    1.3 Gii hn v phm vi ca ti

    - Tm hiu vlp trnh nhng trn hiu hnh m ngun mLinux.

    - Tm hiu vlp trnh giao tip KIT Friendly ARM Mini 2440 vi PC.

    - Lp trnh ng dng iu khin trn KIT Friendly ARM Mini 2440.

    1.4 Ni dung thc hin

    - Build nhn hiu hnh Linux trn KIT Friendly Arm Mini 2440.

    - Lp trnh giao tip gia KIT Friendly Arm Mini 2440 v PC qua Ethernet.

    - Xy dng module d-le iu khin thit b.

    - Lp trnh ng dng nhng iu khin thit btrn Friendly Arm Mini 2440.

    - Ghp ni PC vi KIT Friendly Arm Mini 2440 module R-le iu khin thit

    b.

    - Trin khai thnghim v nh gi kt qu.

    1.5

    Phng php tip cn

    - Cch tip cn : Nghin cu cc k thut lp trnh trn cc nn tng cng ngh

    khc nhau nh: ARM, PC,..

    - Sdng cc phng php nghin cu:

    - Phng php c ti liu.

    - Phng php phn tch mu.

    -

    Phng php thc nghim.

  • 8/10/2019 GPIO Mini2440

    11/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    11

    CHNG 2: C SL THUYT

    Chng ny s trnh by c s l thuyt ca ti bao gm tng quan v

    Friendly Arm, gii thiu phn mm, cng csdng trong ti, cc bc trin

    khai hthng, truyn thng qua my tnh.

    2.1 KIT Friendly Arm Mini 2440

    Hnh 2-1: KI T F ri endly Arm M ini 2440

    M tvKIT Friendly Arm Mini 2440:

    - Kch thc: 100 x 100mm

    - CPU: 400 MHz Samsung S3C2440A ARM920T (max freq. 533 MHz)

    - RAM: 64 MB SDRAM, 32 bit Bus

    - Flash: 64 MB / 128 MB / 256 MB / 1GB NAND Flash and 2 MB NOR Flash

    with BIOS

    - EEPROM: 1024 Byte (I2C)

  • 8/10/2019 GPIO Mini2440

    12/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    12

    - B nh m rng: H tr th SD-Card

    - Cng ni tip:01 cng kt ni chun RS232

    - Cng giao tip USB: 01 cng chun A-USB, 01 cng chun B-USB

    - Ng ra m thanh: 01 ng vi chun Jack Stereo 3.5mm

    - Ng vo m thanh: 01

    - Kt ni Ethernet: 01 cng vi chun dy RJ-45 10/100m (DM9000)

    - H thi gian thc (RTC): h tr vi ngun pin i km

    - Ci: 01 ci lm vic vi ch PWM

    - Camera: cng kt ni 20 chn (2.0mm)

    -

    Mn hnh LCD: 3.5 inches h tr cm ng-

    Nt nhn: 06 nt nhn

    - LED: 04 led

    -

    Cng vi rng: 01 cng 40 chn, 01 cng 34 chn, 01 cng 10 chn (2.0mm)

    -

    Ngun in cung cp: 5V (Mini2440: 0.3 A, Mini2440 + 3.5" LCD: 0.6 A)

    -

    H iu hnh h tr: Linux, WinCE, Android

    2.1.1

    a chbnhBn pha tay tri l bnhNOR

    Bn pha tay phi l bnhNAND

  • 8/10/2019 GPIO Mini2440

    13/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    13

    Hnh 2-2: a chbnhKI T F riendly Arm M ini 2440

    2.1.2 Ngun cung cp

    Cn phi cp ngun in cho KIT l 5V.

    cc chn mrng ca KIT c cung cp ngun in ra l 5V, 3.3V, 1.8V v

    1.25V

    2.1.3

    RESET

    Mch Reset sdng 1 IC MAX 811 v c cung cp chc nng reset ton b

    KIT nt RST

  • 8/10/2019 GPIO Mini2440

    14/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    14

    Hnh 2-3: Mch Reset KIT

    2.1.4 SDRAM

    C 2 chip 32MB (HY57V561620, 4Banks x 4MBit x 16bit) trn KIT.

    a chvt l bt u t0x3000000

    2.1.5 FLASH

    C 2 loi b nh Flash trn KIT: 2MByte Nor Flash (SST39VF1601) v

    64MByteNand Flash (K9F1208).

    a chv rng:

    Nor Flash: 16bit dliu + 20bit Bus a ch

    Nand Flash: 8bit dliu / Bus a ch

    2.1.6 LED

    Bng 2-1: Chi tit LED trn KI T F ri endly Arm M ini 2440

    LED GPIO Hm khc Tn trn s nguyn l

    1 GPB5 nXDACK nLED_1

    2 GPB6 nXRED nLED_1

    3 GPB7 nXDACK1 nLED_1

    4 GPB8 nXDRED1 nLED_1

  • 8/10/2019 GPIO Mini2440

    15/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    15

    Cc Led ny c thp sng mc 0 khi xut dliu tKIT.

    2.1.7 Nt nhn

    Bng 2-2: Chi tit nt nhn trn KIT F ri endly Arm M ini 2440

    Nt nhn GPIO Hm khc Tn trn s nguyn l / ngt

    1 GPG0 -- EINT8

    2 GPG3 nSS1 EINT11

    3 GPG5 SPIMISO1 EINT13

    4 GPG6 SPIMOSI1 EINT14

    5 GPG7 SPICLK1 EINT15

    6 GPG11 TCLK1 EINT19

    Tn hiu nhn c l 0 khi nt nhn c bm.

    2.1.8

    ADC

    C 4 knh ADC trn KIT v c mrng cng CON4.AIN0 c bin trvi chnh 10k km theo.

    Hnh 2-4:ADC trn KI T

  • 8/10/2019 GPIO Mini2440

    16/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    16

    2.1.9 Ci PWM

    Ci ny c ni ti GPB0.

    Hnh 2-5:Ci PWM trn KIT

    2.1.10EEPROM

    IC EEPROM 24C08 (1024byte) lm vic vi ch I2C: I2CSCL and

    I2CSDA.

    Hnh 2-6:EEPROM trn KI T

    2.1.11JTAG

    10 chn kt ni JTAG (2.0mm)

  • 8/10/2019 GPIO Mini2440

    17/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    17

    Hnh 2-7:JTAG

    2.1.12Kt ni Ethernet

    KIT sdng chip Davicom DM900 htrkt ni Ethernet.

    Mi board u c a chvt l l nh nhau. C thchnh sa li bng phn

    mm BSP driver code trn Linux

    2.1.13UART

    C 3 cng ni tip l: CON1 (UART0), CON2 (UART1), CON3(UART2).

    UART0 l cng truyn thng ni tip RS232COM0 (DB9Connector)

    Hnh 2-8:UART

  • 8/10/2019 GPIO Mini2440

    18/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    18

    2.1.14USB

    C 2 cng htrkt ni USB theo chun A v chun B.

    u ra vi chn bsung USB_EN (GPC5).

    2.1.15LCD

    KIT giao tip vi mn hnh LCD qua cng kt ni c 41 chn (0.5mm). Tt c

    cc tn hiu hnh nh, dliu v cm bin cm ng u nm trong kt ni ny.

    Jumper J2 chnh l ni kt ni vi mn hnh LCD, htrchai loi ngun l

    5V v 3.3V.

    Hnh 2-9:LCD I nter face

    2.1.16Camera

    KIT Friendly Arm Mini 2440 xy dng giao tip Camera Cmos, kt ni ti

    CON20.

  • 8/10/2019 GPIO Mini2440

    19/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    19

    Kt ni ny dng 20 chn (2.0mm).

    2.1.17Ng vo ra m thanh

    Bxl m thanh UDA1341 kt ni qua I2S. C mt ng ra v hai ng vo

    m thanh.

    Ng ra Stereo theo chun Jack cm 3.5mm

    Ng vo m thanh dng microphone v ni tcng CON10chmn

    2.1.18ng BUS hthng

    Bus hthng cng kt ni CON5.Dng 40 chn (2.0mm)

    2.1.19GPIO

    Giao tip vo ra vt l cng kt ni CON4.

    Dng 34 chn (2.0mm)

    2.2

    Hiu hnh m ngun mLinux

    Linux ang thi im pht trin mnh. Tnh n nm 2013 th Linux ra

    i c 22 nm, mt hiu hnh hon thin vi shtrcho mt lot cc m

    hnh s dng. Nhng tht kh khi ngh rng Linux ch l mt h iu hnhn

    ging nh mt con tc k hoa th ng hn. Nhn m un v tnh linh hot ca n

    c thxl trong nhiu m hnh sdng (tsiu my tnh ln nht n cc thit b

    nhng nhnht) n mc tht kh phn loi n vo bt cthg khc hn l mt

    cng nghkhdng. Trong thc t, Linux l mt nn tng. N l mt cng ngh

    then cht cho php to ra cc sn phm mi, m mt vi trong scc sn phm

    mi chc gii thiu gn y.

    2.2.1 Linux l g?

    Nhn bngoi, Linux l mt hiu hnh.Linux gm c mt nhn kernel (m

    ct li qun l cc ti nguyn phn cng v phn mm) v mt bsu tp cc ng

  • 8/10/2019 GPIO Mini2440

    20/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    20

    dng ca ngi dng (chng hn nh cc th vin, cc trnh qun l ca sv cc

    ng dng).

    Hnh 2-10:L inux nhn bngoi

    S trn chra cc thnh phn quan trng. Tng cui cng chnh l mt tphp m kin trc gip Linux c thhtra nn tng phn cng (ARM, PowerPC,

    Tilera TILE v.v...). Tt nhin, chc nng ny c ng k theo giy php GNU,

    to nn tnh di ng ca Linux.

    Linux theo phong cch ring ca mnh trong lnh vc v tnh di ng . H

    thng con ca trnh iu khin (l rt ln vkhnng ca n) htrng cc m

    un c np m khng nh hng n hiu nng, to nn tnh m un (thm vomt nn tng ng hn). Linux cng bo mt mc nhn kernel (trong mt slc

    ) to nn mt nn tng bo mt Trong min hthng tp bn ngoi, Linux to nn

    mt mng ln nht vhtrhthng tp ca bt khiu hnh no, nh l mt

    v d, to nn tnh linh hot thng qua tnh m un thit k. Linux thc hin khng

    chcc tnh nng ln lch trnh tiu chun m cn ln lch trnh thi gian thc bao

    gm cc bo m vtrngt).

  • 8/10/2019 GPIO Mini2440

    21/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    21

    Cui cng, Linux l m, c ngha l trn thc tbt cai cng c thxem v

    ci thin da vo ngun gc ca n. Tnh mny cng gim thiu cc c hi bli

    dng, to ra mt nn tng an ton hn. Nhiu cng ty ng gp cho Linux, bo m

    rng n stip tc gii quyt mt lot cc m hnh sdng trong khi vn duy tr cc

    c tnh ct li ca mnh.

    By nguyn tc quan trng ny chc chn khng phi l cc thuc tnh duy

    nht m Linux cung cp, nhng chng cho php Linux dng nh mt nn tng a

    nng trn rt nhiu cc m hnh sdng. Hn na, Linux l nh nhau trn cc m

    hnh sdng ny - khng chcc nguyn tc thit km cn bn thn m ca n

    na. Ngi ta khng thni iu ny vcc hiu hnh khc (nh Windows

    my tnh bn, my ch, hoc thit bnhnghoc Mac OS X hoc Apple iOS),

    chng c phn khc dch vv m hnh sdng khc.

    2.2.2 Linux u?

    Vi khnng bin i nhanh v mrng quy m ca mnh, c th tm thy

    Linux trong tt ccc phn khc my tnh (v thm ch mt sphn khc vn cha

    c nh ngha y ). Phn ny xem xt mt scc phn khc in ton quan

    trng, bao gm my tnh bn/netbook, my ch, cluster, my tnh ln

    Mainframe, siu my tnh, thit bcm tay/my tnh bng, thit bnhng, o ha v

    cc my thnghim.

    2.2.3 Nhng c im ni bt ca Linux

    - n nh cao.

    -

    Min ph.-

    Minh bch v ty bin.

    -

    Ph hp vi mi cu hnh my.

    -

    Nh gn vi chc nng chuyn bit.

    2.2.4 Hiu hnh nhng vi Linux

    a) Cc thnh phn c bn:

  • 8/10/2019 GPIO Mini2440

    22/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    22

    BootLoader:ng vai tr nh l BIOS trong my tnh ca bn.V

    phn cng v ti nguyn hn hp nn n khng c nguynBIOS nh PC

    m c ci sn trong BIOS, NAND hoc NOR Flash. N l chng

    trnh s chy u tin khi khi ng (reset).N c nhim vLoad nh

    ca nhn linux (kernel Linux Image) vo bnhv "pass" cc thng s

    khi to tbootloader ti nhn Linux trn.

    NOR flash: ging nh bnhBIOS ca PC.

    NAND flash: ging nh cng PC. Hiu hnh v ng dng c

    ci ln y.Cng c trng hp OS chy tSD card th cng ging nh

    WINDOW lite hay LINUX lite chy trc tip tCD ROM m khng cn

    ci vo my.

    Kernel Linux Image: nhn Linux ca hthng nhng. N ging nh

    tri tim, iiu phi ton bhot ng ca hthng.

    Root File System: ging nh th mc cha d liu ca h thng

    Window v cha ProgramFile cc chng trnh, ng dng ca hthng.

    b)

    Qu trnh khi to Kernel L inux (nhn L inux) vRoot F il e System

    Qu trnh khi ng tri qua 2 bc:

    - Uboot :

    c boot ln u tin khi hthng khi ng:

    + Np nhn vo bnh.

    + Ly dliu Root File System tthnhhoc Nand Flash.

    + Khi to cc thng sbin mi trng,bootag, boot cmd,Root

    File System Partition no, vv...Cc thng sny c a ti nhn

    khi nhn c khi ng.ng thi n cng khi to cc ngoi vi

    chun bcho Kernel Boot nh mmc,Ethernet,USB (optional).

    - Kernel Boot:

  • 8/10/2019 GPIO Mini2440

    23/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    23

    Ht nhn Linux sau chy "/ sbin / init", m xl phn cn li ca trnh

    t khi ng (chng hn nh hin th mn hnh splash Screen v thanh tin

    trnh).Trnh tny l nh nhau cho d cc thit bc khi ng tFlash hay t

    thSD. Skhc bit l ht nhn linux c load nh thno, v nhng thit bno

    c mount cha Root File System.

    c) Nhng bin mi trng quan trng

    - Autoload:nu t l "no" (hoc bt k chui bt u bng 'n'), cc lnh

    rarpb, bootp or dhcp s ch thc hin cu hnh tra cu tBOOTP / DHCP

    server, nhng khng cgng ti cc image bng cch sdng TFTP.

    - Autostart:nu t l "yes", mt image c load bng cch sdng rarpb,

    BOOTP, DHCP,tftp,disk, hoc lnh docb sc tng bt u (bng cch

    gi ni blnh bootm).

    - Baudrate:l 1 sthp phn xc nh tc baud ca truyn thng ni tip

    gia uboot v dao din command line bng terminal ca Window hay

    picocom trong Linux....hoc chng trnh truyn nhn COM khc.Mc nh

    l baudrate 115200.

    - Bootargs: Ni dung ca bin ny c truyn cho Linux Kernel nh cc i

    s khi ng (hay cn gi l "Command line"). l 1 chui nhng cmd

    uboot "bt" Kernel cn phi lm khi khi ng.

    - Bootdelay: Sau khi thit lp bao nhiu th uboot schi by nhiu giy

    trc khi n thc hin cc ni dung ca bin bootcmd. Trong thi gian m

    ngc c xut ra dao din terminal,uboot c thbgin on bng cch

    nhn phm bt k.Khi ny ta khng thc hin boot 1 cch tng (auto) na

    m khi ng bng cmd line tcc command ca uboot #MINI2440. Thit

    lp Bootdelay=-1 autoboot v hiu ha.Bootdelay=0 l khng cn delay khi

    boot.

    - Bootfile: tn ca file IMAGE mc nh ti bng TFTP.

  • 8/10/2019 GPIO Mini2440

    24/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    24

    - Ethaddr: a chMAC Ethernet cho u tin / giao din ethernet ch(= eth0

    trong Linux).Bin ny c thc t mt ln (thng l do nh sn xut t

    ). U-Boot tchi xa hay ghi ln bin ny mt ln khi n c thit

    lp.

    - Eth1addr: a chMAC cho giao din Ethernet thhai (= eth1 trong Linux).

    - Eth2addr: a chMAC cho giao din Ethernet thba (= eth2 trong Linux).

    -

    Initrd_high: c sdng hn chvtr ca initrd ramdisk images. Nu

    bin ny khng c thit lp, images initrd sc sao chp vo cc a ch

    cao nht c thtrong bnhRAM, iu ny bn thng mong mun v n

    cho php kch thc initrd ti a. Nu v mt sl do bn mun chc chn

    rng images initrd c np di gii hn CFG_BOOTMAPSZ, bn c th

    thit lp bin mi trng vi gi tr"no" hoc "off" hoc "0". Ngoi ra cng

    c tht n vo mt a chtrn cng sdng (U-Boot vn skim tra

    xem n khng ghi ln U-Boot stack v dliu).

    - Ipaddr: a chIP cn thit cho lnh tftp.

    - Loadaddr: a chload mc nh cho lnh nh tftp hoc loads.

    - Loads_echo: Nu t l 1, tt c cc k t nhn c trong mt Series

    download (dng lnh loads) c lp li(echo li).

    - Pram:Nu tnh nng "bo v RAM" c kch hot trong cu hnh Board

    MINI2440, bin ny c thc nh ngha cho php lu trvo "RAM

    bo v".V dvng RAM m khng bghi bi U-Boot. nh ngha bin

    ny gislng kB bn mun d trcho PRAM. Lu rng thng tin

    cu trc ca Board ban vn shin th tng sdung lng ca RAM. Nu

    PRAM c reserved(dnh ring), mt bin MT mi "mem" stng c

    xc nh gislng RAM cn li dng m c thtruyn c nh

    cc thng skhi ng ti Linux.

    - Oserverip: TFTP server a chIP cn thit cho lnh tftp.

  • 8/10/2019 GPIO Mini2440

    25/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    25

    - Serial #: cha thng tin nhn dng phn cng nh kiu: "string" , "/" hoc

    "serial number". Bin ny c th c t mt ln (thng l do nh sn

    xut). U-Boot t chi xa hay ghi ln bin ny mt Hass c thit

    lp.

    - Verify:Nu thit lp l "n" hoc "no" v hiu ha cc checksum kim tra.

    - Dnsip: a chIP ca my chtn min ca bn.

    -

    Gatewayip: a chIP ca Gateway (Router) sdng.

    - Hostname: Target hostname.

    -

    Netmask: Subnet Mask

    - Rootpath:ng dn ca root filesystem trn my chNFS

    - Filesize: kch thc tnh theo byte( dng sHEX) ca file Download ln

    cui sdng bootp, dhcp, hay tftp command.

    2.3 Qt Creator

    2.3.1 Gii thu

    Qt Creator l mt IDE rt c cc lp trnh vin ngy nay a chung sdng

    c trn Linux v Windows. Hin nay cng ng Qt ngy cng ln mnh v gia

    tng rt nhanh. Qt htrrt mnh trong lp trnh giao din, tng tc vi Database,

    Graphics. c bit Qt cn htrlp trnh thit bdi ng vi nhiu nn tng nh

    Android, WinCE, Linux, Mac .

    2.3.2 Thit kdn bng Qt Creator chy trn KIT Friendly Arm mini2440

    Giao din Start Page (nh hnh di) cho php:

  • 8/10/2019 GPIO Mini2440

    26/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    26

    Hnh 2-11: Giao din Startpage ca Qt Creator

    -

    M Project mu (Choose an example)

    -

    Xem ti liu hng dn lp trnh (Tutorials)

    -

    M project c (Open Project)

    -

    To Project mi (Create Project).

    Bc 1.Chn Create Project to mt dn mi:

    Hnh 2-11: Giao din Creat Project ca Qt Creator

  • 8/10/2019 GPIO Mini2440

    27/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    27

    Bc 2. Ti Form chnh thit kmt giao din c bn nh sau:

    Hnh 2-12: Giao din DesignUI ca QtCreator

    - Ko mt TextEdit v 2 Pushbutton, mt nt tn l Display, mt nt tn l

    Clear.

    -

    Chut phi vo nt display, chn Go to slot ->>chn Clicked() -> OK-

    Thm dng lnh sau cho s kin click ca pushbutton display:

    ui->textEdit->setText(QString("Hello World!"));

    -

    Chut phi vo nt Clear, chn Go to slot ->> chn Clicked() ->> OK.

    -

    Thm dng lnh sau cho s kin click ca pushbutton Clear:

    ui->textEdit->setText(QString(" "));

    Bc 3. Build Project

    Ch trong ca sBuild Settings, chn cu hnh bin dch qmake cho nn

    tng Qt FriendlyArm (phin bn tng ng vi Qt Everywhere ci t)

    - Chn Build/Build All. ng dng c build thnh cng, kt quc file

    thc thi (trong th mc Project) schuyn ln KIT chy. V dny l file

    HelloQt).

    Bc 4.Np file thc thi ln KIT

  • 8/10/2019 GPIO Mini2440

    28/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    28

    - Chuyn file thc thi va Build c xung KIT, v d file t ti

    /ktmt/HelloQt

    -

    Ra lnh thc thi chng trnh trn KIT tdng lnh ( disable Qtopia trnKIT)

    cd /ktmt

    ./HelloQt -qws

    - Quan st ng dng demo c thc hin trn KIT, kim tra tnh nng

    touchscreen.

    2.4 Truyn thng qua my tnh bng UDP(cng Ethernet)

    Vic lin kt gia my tnh v Friendly Arm rt quan trng m bo sn

    nh cng nh tc , truyn v xl ta sdng cng Ethernet truyn dliu, c

    thta sdng giao thc UDP cho n gin v dsdng.

    UDP (User Datagram Protocol) l mt trong nhng giao thc ct li ca giao

    thc TCP/IP. Dng UDP, chng trnh trn mng my tnh c thgi nhng dliu

    ngn c gi l datagram ti my khc. UDP khng cung cp stin cy v tht

    truyn nhn m TCP lm; cc gi dliu c thn khng ng ththoc bmt

    m khng c thng bo. Tuy nhin UDP nhanh v hiu quhn i vi cc mc

    tiu nh kch thc nhv yu cu kht khe vthi gian. Do bn cht khng trng

    thi ca n nn n hu dng i vi vic trli cc truy vn nhvi slng ln

    ngi yu cu.UDP dng cng cho php cc giao tip gia cc ng dng din ra.

    -

    Cng (port) :dng 16 bit nh a ch, v vy s ca cng nm trongkhon 0 n 65.535. Cng 0 c dnh v khng nn sdng. Cng t1

    n 1023 c gi l cng "well-known" v trn cc hiu hnh ta Unix,

    vic gn kt ti mt trong nhng cng ny i hi quyn root. Cng 1024

    n 49.151 l cng ng k ,Cng t49.152 n 65.535 l cc cng tm,

    c dng chyu bi client khi lin lc vi server.

  • 8/10/2019 GPIO Mini2440

    29/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    29

    - Cu trc gi:UDP l giao thc hng thng ip nhnht ca tng giao vn

    hin c m ttrong RFC 768 ca IETF.Trong bgiao thc TCP/IP, UDP

    cung cp mt giao din rt n gin gia tng mng bn di (th d, IPv4)

    v tng phin lm vic hoc tng ng dng pha trn.UDP khng m bo

    cho cc tng pha trn thng ip c gi i v ngi gi cng khng c

    trng thi thng ip UDP mt khi c gi (V l do ny i khi UDP

    cn c gi l Unreliable Datagram Protocol).UDP chthm cc thng tin

    multiplexing v giao dch. Cc loi thng tin tin cy cho vic truyn dliu

    nu cn phi c xy dng cc tng cao hn.

    Hnh 2-13:Cu trc gi dliu UDP

    2.5 PC817

    2.5.1 nh ngha

    -PC 817 cngl dng opto n hot ng tng tnhcc opto khc.

    - Khi cung cp 5V vao chn s1, LED pha trong Opto ni gia chn s1 v

    2 sng, xy ra hiu ng quang in dn n 3-4 thng,mc logic sbchuyn t1

    sang 0 m khng cn tc ng trc tip tIC

    http://mualinhkien.vn/san-pham/204/pc817-5v-5ma-dip.htmlhttp://mualinhkien.vn/san-pham/204/pc817-5v-5ma-dip.html
  • 8/10/2019 GPIO Mini2440

    30/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    30

    2.6 R-le (relay)

    2.6.1 nh ngh r le (relay)

    R le (relay) l mt cng tc chuyn i hot ng bng in. Ni l mt cng

    tc v r le c 2 trng thi ON v OFF. R le trng thi ON hay OFF phthuc

    vo c dng in chy qua r le hay khng.

    2.6.2 Nguyn tc hot ng

    Khi c dng in chy qua r le, dng in ny s chy qua cun dy bn

    trong v to ra mt ttrng ht. Ttrng ht ny tc ng ln mt n by bn

    trong lm ng hoc mcc tip im in v nh ths lm thay i trng thi

    ca r le. Stip im in bthay i c thl 1 hoc nhiu, ty vo thit k.

    R le c 2 mch c lp nhau ht ng. Mt mch l iu khin cun dy

    ca r le: Cho dng chy qua cun dy hay khng, hay c ngha l iu khin r le

    trng thi ON hay OFF. Mt mch iu khin dng in ta cn kim sot c qua

    c r le hay khng da vo trng thi ON hay OFF ca r le.

    Dng chy qua cun dy iu khin r le ON hay OFF thng vo khong

    30mA vi in p 12V hoc c thln ti 100mA. V bn thy , hu ht cc con

    chip u khng thcung cp dng ny, lc ny ta cn c mt BJT khuch i

    dng nhng ra IC thnh dng ln hn phc vcho r le.

    Ch :Tuy vy, IC 555 c dng in ng ra c thln ti 200mA, v thvi

    IC 555 th khng cn mt BJT khuch i dng.

    Cch hot ng ca r le vi cun dy v cc tip im in : khi c dngin chy qua cun dy, cun dy ht mt n by v lm mcc tip im in, v

    thdng in cn kim sot khng thy i qua r le. V ngc li. Bn cng thy

    , dng in chy qua cun dy khng hc lin quan g n dng in cn kim

    sot.

    Trn r le c 3 k hiu l: NO, NC v COM.

  • 8/10/2019 GPIO Mini2440

    31/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    31

    + COM (common): l chn chung, n lun c kt ni vi 1 trong 2 chn

    cn li. Cn vic n kt ni chung vi chn no th phthuc vo trng thi hot

    ng ca r le.

    + NC (NormallyClosed): Ngha l bnh thng n ng. Ngha l khi r le

    trng thi OFF, chn COM sni vi chn ny.

    + NO (NormallyOpen): Khi r le trng thi ON (c dng chy qua cun

    dy) th chn COM sc ni vi chn ny.

    => Kt ni COM v NC khi bn mun c dng in cn iu khin khi r le

    trng thi OFF. V khi r le ON th dng ny bngt.

    => Ngc li th ni COM v NO.

  • 8/10/2019 GPIO Mini2440

    32/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    32

    CHNG 3: NI DUNG THC HIN

    3.1 Tng quan vhthng

    Ton bsn phm ca n: Trin khai hthng nhng trn FriedlyArm v

    iu khin thit bqua my tnh c coi nh mt hthng nhng hon chnh. Vi

    cc thnh phn bao gm phn cng, phn mm nhng v chu trnh xl khp kn

    ca n.

    y l mt hthng nhng a nn tng, bao gm:

    - My tnh c nhn ci h iu hnh Linux v b lp trnh nhng

    Qtcreator.

    - KIT Friendly Arm Mini 2440 vi vi xl li ARM vi hiu hnh v

    phn mm nhng Linux.

    - Module khuch i tn hiu gip module r-le v KIT Friendly Arm

    Mini 2440 c thtng tc dliu vi nhau.

    -

    Module R-le iu khin thit bin.

    Hnh 3-1: Tng quan vhthng

  • 8/10/2019 GPIO Mini2440

    33/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    33

    3.2 Trin khai cc hthng nhng

    3.2.1 Build nhn Linux trn KIT Friendly Arm Mini 2440

    a)

    Mc ch

    Ci t hiu hnh nhng Linux 2.6.32.2 trn KIT FriendlyArm (mini2440

    vi b vi x l Arm9). Thao tc tin hnh thc hin t my tnh ci t Linux

    (Ubuntu).

    b)

    Chun b:

    -

    PC ci t Linux (Ubuntu) phin bn 11.10.

    - BKIT FriendlyArm mini2440

    - Cc file dliu snp ln KIT gm:

    - Bootloader (BIOS qun l khi ng hthng khi cha c hiu

    hnh): file supervivi-128M.

    - Embedded Linux Image (Nhn hiu hnh Linux nhng c

    bin dch): Chn file nh (image) tng thch vi mn hnh LCDm KIT sdng. (File zImage cho KIT sdng mn hnh X35).

    - Root files system: File rootfs_qtopia_qt4 (H thng file v cc

    ng dng nn tng qtopia).

    c) Cc bc thc hin:

    - Ci t phn mm phtrminicom v usbpush: trn my tnh Linux cn s

    dng 2 phn mm iu khin giao tip chun RS232 v USB iu khinv truyn d liu vi KIT tng ng l minicom (iu khin) v usbpush

    (truyn dliu).

    $sudo apt-get install minicom

    $sudo apt-get install usbpush

    Ci t Linux:

  • 8/10/2019 GPIO Mini2440

    34/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    34

    - Mphn mm minicom, giao din ca phn mm xut hin nh sau:

    Hnh 3-2:Giao din chng trnh minicom

    - Nhn thp phm Ctrl+A+Z sau nhn O vo chthit lp thng s

    hot ng cho cng COM, trong v dny chng ti sdng cng COM vi

    tn file thit b l /dev/ttyUSB0 v cu hnh l 115200, 8, n, 1, khng s

    dng tn hiu bt tay phn cng (No Hardware Flow Control).

    Hnh 3-3:Cu hnh mini com

    - Sau khi thit lp thnh cng, lu cc thit lp li v bm nt Reset trn KIT,

    nu kt ni thnh cng, trn mn hnh ng dng minicom s hin ra danh

  • 8/10/2019 GPIO Mini2440

    35/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    35

    sch cc ty chn chng ta tin hnh ci t nh: format nand flash, ci

    t supervivi, ci t kernel, ci t root file system ..

    Hnh 3-4:Lm vic song song mini com vusbpush

    -

    Tin hnh mmt ca sTerminal th2 (Lnh tt Ctrl + Alt + T) mng

    dng usbpush. Sau vi tng la chn vi minicom, y ln lt tng file

    theo tht: vivi, kernel, root image vi ng dng USB push n KIT.

    3.2.2 Ci t cc cng ccn thit cho KIT Friendly Arm Mini 2440 v PC

    a)

    Ci t trnh dch cho, TS-lib,QT-creator,QT-Everywhere trn PC

    -

    Ci t trnh dch choCi t arm-linux-gcc-4.3.2: bn thn vi x l ca my tnh c nhn

    v vi x l ca KIT Friendly Arm Mini 2440 l hai vi x l c nn

    tng v kin trc khc nhau. V vy, khng thsdng chung mt tp

    lnh nh phn cho c hai c. Mun on code thc thi c lp

    trnh trn my tnh c nhn c thhot ng c trn KIT, cn phi

  • 8/10/2019 GPIO Mini2440

    36/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    36

    dng n trnh bin dch cho. Trnh bin dch cho ny c tc dng

    chuyn i tp lnh nhphn c thhot ng c trn KIT.

    o

    Ti vcc ng dng btrcho host PC Linux:sudo apt-get install build-essential

    sudo apt-get install make

    sudo apt-get install ncurses

    sudo apt-get install gcc

    sudo apt-get install g++

    sudo apt-get install libncurses5

    sudo apt-get install libencueses5-dev

    sudo apt-get install autoconf

    sudo apt-get install libtool

    sudo apt-get install zlib1g-dev

    - Ci t TS-lib

    KIT Friendly Arm Mini 2440 c mn hnh h trcm ng, v th trong vic

    thit k, lp trnh ng dng cho KIT cn phi c bth vin chung gia my tnh c

    nhn v KIT.

    TS-lib l bth vin m ngun m. N cung cp cc stack, cc chc nng cho

    vic giao tip, tng tc cm ng.

    Cc bc ci t:

    Trc ht cn ci t gi git-core nhm gip vic ly source ca tslib

    t server cung cp.

    Mterminal :

    $ apt-get install git-core

  • 8/10/2019 GPIO Mini2440

    37/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    37

    dqun l cc cng vic trong bi vit ny, th mc QtTut c

    to lu trcc file c lin quan.

    $ cd /

    $ mkdir QtTut

    vi 2 dng lnh trn chng ta to mt th mc QtTut, tin hnh ti

    tslib:

    $ cd /QtTut/

    $ git clonehttp://github.com/kergoth/tslib.git

    Sau khi ti thnh cng, config cho gi tslib:

    $ cd /QtTut/tslib

    $ ./autogen.sh

    $./configure--host=arm-angstrom-linux-gnueabi

    prefix=/usr/local/tslib --enable-static enable-shared

    Ch rng host y c hiu l chng ta schy th vin ny trnnn phn cng ARM, prefix vi ng dn scha th mc tslib sau khi

    c build,tin hnh build th vin tslib:

    $ make

    $ make install

    -

    QT-creator

    QT-creator l nn tng xy dng cc ng dng chy c trn nhiu hiu

    hnh. Phn ln cc ng dng c xy dng trn QT-creator u c giao din

    ha, do vy n cn c coi l mt bcng c(widget toolkit).

    Ban u QT-creator c ra i nh mt phin bn thng mi v c dng

    to nn mi trng KDE, nhng vsau n c bsung giy php LGPL, theo

    c thsdng n tdo to nn cc phn mm m ngun mhay c thto

    nn cc phin bn thng mi nu mun. Bn quyn thng mi hin nay ca QT

    http://github.com/kergoth/tslib.githttp://github.com/kergoth/tslib.githttp://github.com/kergoth/tslib.githttp://github.com/kergoth/tslib.git
  • 8/10/2019 GPIO Mini2440

    38/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    38

    c chuyn sang hnh thc thu ph htr. C thsdng QT nh mt th vin

    vit phn mm thng mi, nu c sa i no trong b ngun chnh ca QT th

    chng ta phi cung cp m ngun sa ra chkhng yu cu phi mton bm

    ngun mt cch cng khai hay phi mua giy php thng mi nh trc kia.

    QT-creator l mt IDE rt c cc lp trnh vin a chung hin ny, QT h

    trrt mnh trong vic lp trnh giao din, Database, Graphics

    im ni bt ca QT bao gm:

    Cross-platform, n c thhot ng trn mi hiu hnh, bao gm :

    Mac, Linux, Windows. C text-editor cc k p.

    Htrvim editor (vim editor l mt advance editor v c thlp trnh

    c cc key, sdng hotkey rt nhanh).

    Hon ton min ph.

    ci t QT-creator, c thti trc tip trn ca hng ng dng ca Ubuntu.

    Hnh 3-5:Giao din Qt Creator

    -

    QTeverywhere

  • 8/10/2019 GPIO Mini2440

    39/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    39

    Bc 1. Chun b file nn gi ci t qt-everywhere-opensource-src-

    4.7.2.tar.gz C th download t trang ch http://Qt-project.org (chn phin bn

    thch hp), hoc copy trn my tnh. (ti th mc ngi dng $HOME)

    Bc 2. Gii nn file ci t bng cch mca slnh, di chuyn n th mc

    cha file ci t trn v tin hnh gii nn.Dng lnh:

    gunzip qt-everywhere-opensource-src-4.7.2.tar.gz

    tar xf qt-everywhere-opensource-src-4.7.2.tar

    Kt qugii nn ra mt th mc cng tn file tar\

    Bc 3: Cu hnh v bin dch gi ci t. Di chuyn vo th mc gii nn

    cd qt-everywhere-opensource-src-4.7.2

    Thm bin mi trng n ng dn trnh bin dch Qt (Mfile ~/.bashrc, thmbin mi trng $HOME/qt-everywhere-opensource-src-4.7.2). Sa file cu hnhbin dch qmake.conf cha ti $HOME/qt-everywhere-opensource-src-4.7.2/mkspecs/qws/linux-arm-g++/qmake.conf nh sau.

    #

    # qmake configuration for building with arm-linux-g++

    #

    include(../../common/g++.conf)

    include(../../common/linux.conf)

    include(../../common/qws.conf)

    # modifications to g++.conf

    QMAKE_CC = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-

    linux-gnueabi-gcc

    QMAKE_CXX = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-

    none-linux-gnueabi-g++

  • 8/10/2019 GPIO Mini2440

    40/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    40

    QMAKE_LINK = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-

    none-linux-gnueabi-g++

    QMAKE_LINK_SHLIB =/opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-g++

    # modifications to linux.conf

    QMAKE_AR = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-

    none-linux-gnueabi-ar cqs

    QMAKE_OBJCOPY =

    /opt/FriendlyARM/toolschain/4.4.3/bin/arm-none-linux-gnueabi-objcopy

    QMAKE_STRIP = /opt/FriendlyARM/toolschain/4.4.3/bin/arm-

    none-linux-gnueabi-strip

    QMAKE_INCDIR += /opt/tslib/include

    QMAKE_LIBDIR += /opt/tslib/lib

    load(qt_config)

    (Ch : Trong file cu hnh trn sdng ng dn tuyt i gi cc trnh bindch cho c t /opt/FriendlyARM/toolschain/4.4.3/bin) sau , tin hnh cuhnh th vin Qt Everywhere 4.7.2 trc khi ci t (th mc ci t ra l /opt/qte)

    $ cd

    $ cd qt-everywhere-opensource-src-4.7.2

    ./configure --prefix=/opt/qte -embedded arm -xplatform qws/linux-

    arm-g++ -qt-mouse-tslib -little-endian -no-qt3support -fast -no-largefile -

    qt-sql-sqlite -nomake tools -nomake demos -nomake examples -no-webkit -

    no-multimedia -no-javascript-jit

    (Qu trnh cu hnh din ra mt thi gian), chn khi thng bo thnh cng. Tinhnh dch th vin:

    $ make

  • 8/10/2019 GPIO Mini2440

    41/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    41

    (Qu trnh make din ra ~hour phthuc vo cc option la chn khi configure trn). Trong trng hp tht bi (xut hin thng bo li), cn thc hin li: makeconfclean, cu hnh li vi option thch hp v make li (Ch : Sdng tham smake -j2 hoc -j4 i vi cc my c cpu li kp, li ttng tc bin dch,

    cho php rt ngn ng kthi gian make). i qu trnh make thnh cng, g lnhci t:

    $ sudo make install

    i qu trnh ci t thnh cng, kim tra kt quci t ti /opt/qte nh cuhnh trn.

    b) Ci t Qteverywhere cho kit

    Th vin Qt Everywhere ci trn host Linux cho php bin dch ng dng Qt

    chy trn KIT FriendlyArm. Tuy nhin, cn copy mt sfile th vin c bn, v

    font xung KIT ng dng c ththc thi. Th vin Qt Everywhere (Libraries):

    Copy ti thiu 3 file th vin sau (Copy qu nhiu stn bnh)

    - LibQtCore.so.4

    - LibQtGui.so.4

    - LibQtNetwork.so.4

    Trn KIT t vo th mc /opt/qte/lib (nu cha c cn to th mc ny, ging nh

    th mc trn host).Fonts:Copy th mc fonts xung KIT cha /opt/qte/lib/fonts

    Th vin tslib: Copy ton b th mc /opt/tslib trn host ( ci bc 2.2.1)

    xung KIT ti th mc /opt/tslib

    3.2.3

    Lp trnh chng trnhiu khin trn PC giao tip vi Friendly Arm

    -

    Thut ton

  • 8/10/2019 GPIO Mini2440

    42/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    42

    Hnh 3-6: Lu thut ton chng trnh iu khin trn PC

  • 8/10/2019 GPIO Mini2440

    43/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    43

    Chng trnh sc chy trn PC ci hiu hnh linux giao tip vi KITFriednly Arm mini2440 thng qua cng Ethernet bng giao thc UDP

    Khi nhn nt qut s1(pQso1) my tnh gi xung KIT Friednly Arm mini2440 k

    t1

    Khi nhn nt qut s2(pQso2) my tnh gi xung KIT Friednly Arm mini2440 kt2

    Khi nhn nt qut s3(pQso3) my tnh gi xung KIT Friednly Arm mini2440 kt3

    Khi nhn nt qut tt(pQtat) my tnh gi xung KIT Friednly Arm mini2440 k tS

    Khi nhn nt n bt(pDBat) my tnh gi xung KIT Friednly Arm mini2440 ktB

    Khi nhn nt n tt (pQDTat) my tnh gi xung KIT Friednly Arm mini2440 ktT

    -

    Giao din

    Hnh 3-7: Giao din chng trnh iu khin trn PC

  • 8/10/2019 GPIO Mini2440

    44/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    44

    3.2.4 Lp trnh chng trnhiu khin trn Friendly Arm mini2440

    Phn mm sc nhim vnhn tn hiu iu khin tPC qua cng Ethernet

    ri cho ra cc tn hiu iu khin qua cc cng gpio cc thit bin thng quamoulde iu khin v module r-le

    - Thut ton

    Hnh 3-8: Lu thut ton chng trnh iu khin trn K it F r iendly Arm

    mini2440

  • 8/10/2019 GPIO Mini2440

    45/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    45

    Khi nhn c cac tn hiu iu khin th chng trnh scho ra cc chn

    iu khin gpio ca Kit Friendly Arm 2440 tn hiu iu khin tng ng.

    -

    Giao din chng trnh

    Hnh 3-9: Giao din chng trnh iu khin trn KI T F riendly Arm

    mini2440

  • 8/10/2019 GPIO Mini2440

    46/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    46

    3.2.5 Lp trnh giao tip gia PC v Kit Friendly Arm mini2440 qua Ethernet

    Hnh 3-10: Lu thut ton giao thc UDP

    Giao thc UDP l giao thc n gin nh tuyn khng hng ni y ta sthit

    lp :

    + PC l sever gi dliu vi ip localhost (127.0.0.1) qua cng 45454

    + Kit Friendly Arm mini 2440 l client vi ip ca broadcast (255.255.255.0)

    nhn dliu tsever qua cng 45454

    3.3 Thit kcc module ngoi vi

    3.3.1 Thit kmodule iu khin r le

    a) S nguyn l

    Hnh 3-11: S

    nguyn l modulei

    u khin r le

  • 8/10/2019 GPIO Mini2440

    47/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    47

    3.3.2 Module r-le 4 knh

    a) S nguyn l

    Hnh 3-12: S nguyn l Module Relay 4 knh

    Module Relay sdng 6 u vo l Vcc, GND nui ngun, 4 u vo ENB

    iu khin Module. PC 817 ng vai tr dung cch l gia hai khi in p

    chnh lch. Relay ng vai tr l mt kho ng m, dng ng ct nhng ngun

  • 8/10/2019 GPIO Mini2440

    48/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    48

    in p lp (12V-220V/10A). Trong Vcc v GND c ni vi 2 chn mrng

    Vcc, GND ca KIT DE2. Bn u vo EN1,2,3,4 chnh l 4 tn hiu iu khin

    ngoi vi: 3 tn hiu iu khin 3 sca qut v 1 tn hiu iu khin n.

    b) Hnh nh thc t

    Hnh nh Module Relay 4 knh 5V-220V/10A

    Hnh 3-13: Relay 4 knh

  • 8/10/2019 GPIO Mini2440

    49/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    49

    3.3.3 Kt ni chn tn hiu ngoi vi

    Hnh 3-11: S chn tn hiu iu khin gio ca Kit Friendly Arm

    mini2440

    Hthng sdng cc chn CON2,9,13,17,21 ca Kit Friendly Arm mini 2440

    iu khin cc thit bngoi vi vi chn s2 l chn ngun v 4 chn cn li l

    chn tn hiu(3 tn hiu qut, 1 tn hiu ca n)

    3.4 Trin khai thc nghim v nh gi

    - Ghp ni PC vi Kit Friendly Arm v cc module iu khin

    -

    iu khin n qua my tnh

    - iu khin qut qua my tnh

    -

    nh gi kt qu

  • 8/10/2019 GPIO Mini2440

    50/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    50

    CHNG 4: KT LUN

    4.1 Kt qut c ca ti

    Sau thi gian nghin cu v pht trin bng snlc ca bn thn, cng vi

    s hng dn nhit tnh ca thy Phm Ngc Hng. ti c hon thnh

    ng thi hn v t c yu cu t ra l iu khin thit bqua my tnh nh

    vo hthng nhng Friendly Arm mini2440. Trong qu trnh thc hin, tc gi

    thu c nhng kt qusau:

    Tm hiu vhiu hnh m ngun mLinux. Tm hiu c vhiu hnh

    nhng m ngun m. Lm chhiu hnh Linux nhng trn KIT Friendly Arm

    Mini 2440. Bin dch c nhn theo yu cu s dng ca h thng, ty bin h

    iu hnh trn nn tng phn cng nhng nht nh.

    Tm hiu, nghin cu vcng nghlp trnh iu khin trn hthng nhng

    Lp trnh ng dng trn Linux nhng KIT Friendly Arm Mini 2440. Lp trnh

    giao tip KIT Friendly Arm Mini 2440 vi my tnh v cc thit bngoi vi.

    Ghp ni hnhng thc tvi thit bin. Vn dng cc k nng vk thut

    in t, k thut c kh xy dng hthng nhng tng tc a nn tng.

    Rn luyn ch, k nng ca bn thn trong qu trnh thc hin ti.

    4.2 Hn chca ti

    - Hthng c thnh thm mkhng cao.

    -

    Slng thit bin c thkt ni v iu khin cn hn ch.

    4.3 Hng pht trin ca ti

    Trong thi gian nghin cu v thc hin ti, tc gi vch ra c hng

    pht trin tip theo ca ti nh sau:

    Xy dng thm cc module iu khin cc thit b phc tp hn,

    nhiu ty bin cho chng trnh nhng hn.

  • 8/10/2019 GPIO Mini2440

    51/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    51

    Xl linh hot cc iu kin yu cu kh hn.

    Ti u ha thut ton.

    Nng cao tnh thm m v thun li vin tv c kh cho hthng.

  • 8/10/2019 GPIO Mini2440

    52/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    52

    TI LIU THAM KHO

    [1] V Huy Th, Gio trnh vi x l, Hng Yn: Khoa Cng ngh Thng tin -UTEHY, 2010.

    [2] Jonathan W. Valvano, Embedded Systems: Real-Time Interfacing to ArmCortex(TM)-M Microcontrollers, United State: University of Texas, 2010.

    [3]. Trnh Vn Loan, Gio trnh h thng nhng, Hng Yn: Khoa Cng nghThng tin - UTEHY, 2010

  • 8/10/2019 GPIO Mini2440

    53/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    53

    PHLC

    1. M chng trnh iu khin trn PC

    #include "sendw.h"

    #include "ui_sendw.h"

    #include "QtNetwork"

    sendw::sendw(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::sendw)

    {

    ui->setupUi(this);

    udp = new QUdpSocket(this);

    }

    sendw::~sendw()

    {

    delete ui;

    }

    void sendw::SendDatagram()

    {

    udp-

    >writeDatagram(datagram,datagram.size(),QHostAddress::Broadcast,45454);

    QString addr = QHostAddress(QHostAddress::Broadcast).toString();

  • 8/10/2019 GPIO Mini2440

    54/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    54

    ui->label->setText(addr);

    }

    void sendw::on_pushButton_clicked()

    {

    datagram = QByteArray::number(1);

    SendDatagram();

    }

    void sendw::on_pushButton_2_clicked()

    {

    datagram = QByteArray::number(2);

    SendDatagram();

    }

    void sendw::on_pushButton_3_clicked()

    {

    datagram = QByteArray::number(3);

    SendDatagram();

    }

    void sendw::on_pushButton_4_clicked()

    {

    datagram = "T";

  • 8/10/2019 GPIO Mini2440

    55/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    55

    SendDatagram();

    }

    void sendw::on_pushButton_5_clicked()

    {

    datagram = "B";

    SendDatagram();

    }

    void sendw::on_pushButton_6_clicked()

    {

    datagram ="S";

    SendDatagram();

    }

    2. M chng trnh iu khin trn KIT Friendly Arm Mini 2440

    #include "broadcast.h"

    #include "ui_broadcast.h"

    #include

    #include

    #include

    #include

    #include "QtNetwork"

  • 8/10/2019 GPIO Mini2440

    56/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    56

    Broadcast::Broadcast(QWidget *parent) :

    QMainWindow(parent),

    ui(new Ui::Broadcast)

    {

    ui->setupUi(this);

    //

    udp = new QUdpSocket(this);

    udp->bind(45454,QUdpSocket::ShareAddress);

    //

    system ("echo 160 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio160/direction");

    system ("echo 164 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio164/direction");

    system ("echo 193 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio193/direction");

    system ("echo 199 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio199/direction");

    //

    connect(udp, SIGNAL(readyRead()),

    this, SLOT(processPendingDatagrams()));

    }

    Broadcast::~Broadcast()

    {

  • 8/10/2019 GPIO Mini2440

    57/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    57

    delete ui;

    }

    //

    void Broadcast::processPendingDatagrams()

    {

    while (udp->hasPendingDatagrams()) {

    QByteArray datagram;

    datagram.resize(udp->pendingDatagramSize());

    udp->readDatagram(datagram.data(), datagram.size());

    ui->label->setText(tr("\"%1\"").arg(datagram.data()));

    if(datagram=="B")

    { on_pDen_On_clicked();

    ui->label_2->setText("Turn On clicked");

    }

    if(datagram=="T")

    {

    on_pDen_Off_clicked();

    ui->label_2->setText("Turn Off clicked");}

    if(datagram=="1")

    {

    on_pQ_1_clicked();

    ui->label_2->setText("Level1 clicked");}

  • 8/10/2019 GPIO Mini2440

    58/61

  • 8/10/2019 GPIO Mini2440

    59/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    59

    system ("echo low > /sys/class/gpio/gpio160/direction");

    ui->pDen_On->setEnabled(false);

    }

    void Broadcast::on_pDen_Off_clicked()

    {

    system ("echo 160 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio160/direction");

    ui->pDen_On->setEnabled(true);

    }

    void Broadcast::on_pQ_Off_clicked()

    {

    system ("echo 164 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio164/direction");

    system ("echo 193 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio193/direction");

    system ("echo 199 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio199/direction");

    }

    void Broadcast::on_pQ_1_clicked()

  • 8/10/2019 GPIO Mini2440

    60/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    60

    {

    system ("echo 164 > /sys/class/gpio/export");

    system ("echo low > /sys/class/gpio/gpio164/direction");

    system ("echo 193 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio193/direction");

    system ("echo 199 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio199/direction");

    }

    void Broadcast::on_pQ_2_clicked()

    {

    system ("echo 164 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio164/direction");

    system ("echo 193 > /sys/class/gpio/export");

    system ("echo low > /sys/class/gpio/gpio193/direction");

    system ("echo 199 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio199/direction");

    }

    void Broadcast::on_pQ_3_clicked()

    {

    system ("echo 164 > /sys/class/gpio/export");

    system ("echo high > /sys/class/gpio/gpio164/direction");

    system ("echo 193 > /sys/class/gpio/export");

  • 8/10/2019 GPIO Mini2440

    61/61

    Trin khai hthng nhng trn Friendly Arm v ng dng iu khin thit b

    system ("echo high > /sys/class/gpio/gpio193/direction");

    system ("echo 199 > /sys/class/gpio/export");

    system ("echo low > /sys/class/gpio/gpio199/direction");

    }


Recommended