Thông báo

Collapse
No announcement yet.

Giúp Fuse bit cho ATMEGA8

Collapse
X
 
  • Lọc
  • Giờ
  • Show
Clear All
new posts

  • Giúp Fuse bit cho ATMEGA8

    Mình đang làm mạch AVR910 USB
    Nghe nói các cao thủ đã từng bị die khi Fusebit cho ATMEGA8 .....
    Đang dự tính sẽ nạp FUSE bit cho AT8 bằng mạch nạp đơn giản 4 dây nối vào cổng LPT
    http://www.hocavr.com/writing/docs/i...p/image003.png
    Dùng phần mềm ISP 30a
    Đang so sánh hướng dẫn theo 2 hình sau
    hình 1: http://www.dientuvietnam.net/forums/...it-atmega8.png
    và:
    hình 2: http://2.bp.blogspot.com/-B02vg8bc8_...40/fusse+1.png
    Ở hình 1 thì BODEN = 1, ở hình 2 thì BODEN = 0 ,? BODEN có ảnh hưởng gì đến chip không?
    Mình mở phần mềm ISP 30a vào FUSE bit thì không thể tích vào SPIEN(ô này bị mờ đi),
    Click image for larger version

Name:	untitled.JPG
Views:	1
Size:	22.5 KB
ID:	1419640 còn trong hướng dẫn thì ô SPIEN có thể tích vào được
    vậy nếu không tích được vào ô này thì giá trị của nó là 0 hay 1? có làm die chip không vậy?
    Email:
    Đau đầu vì điện tử

  • #2
    Mình mới đọc lại trong file Makeifile viết như thế này:
    #
    # Makefile for usbasp
    # 20061119 Thomas Fischl original
    # 20061120 Hanns-Konrad Unger help: and TARGET=atmega48 added
    #

    # TARGET=atmega8 HFUSE=0xc9 LFUSE=0xef
    # TARGET=atmega48 HFUSE=0xdd LFUSE=0xff
    # TARGET=at90s2313
    TARGET=atmega8
    HFUSE=0xc9
    LFUSE=0xef


    # ISP=bsd PORT=/dev/parport0
    # ISP=ponyser PORT=/dev/ttyS1
    # ISP=stk500 PORT=/dev/ttyS1
    # ISP=usbasp PORT=/dev/usb/ttyUSB0
    # ISP=stk500v2 PORT=/dev/ttyUSB0
    ISP=usbasp
    PORT=/dev/usb/ttyUSB0

    help:
    [MENTION=105154]echo[/MENTION] "Usage: make same as make help"
    [MENTION=105154]echo[/MENTION] " make help same as make"
    [MENTION=105154]echo[/MENTION] " make main.hex create main.hex"
    [MENTION=105154]echo[/MENTION] " make clean remove redundant data"
    [MENTION=105154]echo[/MENTION] " make disasm disasm main"
    [MENTION=105154]echo[/MENTION] " make flash upload main.hex into flash"
    [MENTION=105154]echo[/MENTION] " make fuses program fuses"
    [MENTION=105154]echo[/MENTION] " make avrdude test avrdude"
    [MENTION=105154]echo[/MENTION] "Current values:"
    [MENTION=105154]echo[/MENTION] " TARGET=${TARGET}"
    [MENTION=105154]echo[/MENTION] " LFUSE=${LFUSE}"
    [MENTION=105154]echo[/MENTION] " HFUSE=${HFUSE}"
    [MENTION=105154]echo[/MENTION] " CLOCK=12000000"
    [MENTION=105154]echo[/MENTION] " ISP=${ISP}"
    [MENTION=105154]echo[/MENTION] " PORT=${PORT}"

    COMPILE = avr-gcc -Wall -O2 -Iusbdrv -I. -mmcu=$(TARGET) # -DDEBUG_LEVEL=2

    OBJECTS = usbdrv/usbdrv.o usbdrv/usbdrvasm.o usbdrv/oddebug.o isp.o clock.o main.o

    .c.o:
    $(COMPILE) -c $< -o $@
    #-Wa,-ahlms=$<.lst

    .S.o:
    $(COMPILE) -x assembler-with-cpp -c $< -o $@
    # "-x assembler-with-cpp" should not be necessary since this is the default
    # file type for the .S (with capital S) extension. However, upper case
    # characters are not always preserved on Windows. To ensure WinAVR
    # compatibility define the file type manually.

    .c.s:
    $(COMPILE) -S $< -o $@

    clean:
    rm -f main.hex main.lst main.obj main.cof main.list main.map main.eep.hex main.bin *.o main.s usbdrv/*.o

    # file targets:
    main.bin: $(OBJECTS)
    $(COMPILE) -o main.bin $(OBJECTS) -Wl,-Map,main.map

    all: main.bin
    rm -f main.hex main.eep.hex
    avr-objcopy -j .text -j .data -O ihex main.bin main.hex
    # ./checksize main.bin
    # do the checksize script as our last action to allow successful compilation
    # on Windows with WinAVR where the Unix commands will fail.

    disasm: main.bin
    avr-objdump -d main.bin

    cpp:
    $(COMPILE) -E main.c

    flash:
    avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -U flash:w:main.hex

    fuses:
    avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -u -U hfuse:w:$(HFUSE):m -U lfuse:w:$(LFUSE):m

    avrdude:
    avrdude -c ${ISP} -p ${TARGET} -P ${PORT} -v

    # Fuse atmega8 high byte HFUSE:
    # 0xc9 = 1 1 0 0 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
    # ^ ^ ^ ^ ^ ^ ^------ BOOTSZ0
    # | | | | | +-------- BOOTSZ1
    # | | | | + --------- EESAVE (don't preserve EEPROM over chip erase)
    # | | | +-------------- CKOPT (full output swing)
    # | | +---------------- SPIEN (allow serial programming)
    # | +------------------ WDTON (WDT not always on)
    # +-------------------- RSTDISBL (reset pin is enabled)
    # Fuse atmega8 low byte LFUSE:
    # 0x9f = 1 0 0 1 1 1 1 1
    # ^ ^ \ / \--+--/
    # | | | +------- CKSEL 3..0 (external >8M crystal)
    # | | +--------------- SUT 1..0 (crystal osc, BOD enabled)
    # | +------------------ BODEN (BrownOut Detector enabled)
    # +-------------------- BODLEVEL (2.7V)
    #

    # Fuse atmega48 high byte hfuse:
    # 0xdf = 1 1 0 1 1 1 1 1 factory setting
    # ^ ^ ^ ^ ^ \-+-/
    # | | | | | +------ BODLEVEL (Brown out disabled)
    # | | | | + --------- EESAVE (don't preserve EEPROM over chip erase)
    # | | | +-------------- WDTON (WDT not always on)
    # | | +---------------- SPIEN (allow serial programming)
    # | +------------------ DWEN (debug wire is disabled)
    # +-------------------- RSTDISBL (reset pin is enabled)
    # 0xdd = ext.reset, no DW, SPI, no watchdog, no save eeprom, BOD 2.7V
    # Fuse atmega48 low byte lfuse:
    # 0x62 = 0 1 1 0 0 0 1 0 factory setting
    # ^ ^ \ / \--+--/
    # | | | +------- CKSEL 3..0 (internal 8Mhz Oszillator)
    # | | +--------------- SUT 1..0 (start-up time)
    # | +------------------ CKOUT (no clock output)
    # +-------------------- CKDIV8 (divide clock by 8)
    # 0xdc = divide/1,no clock output,fast raising power,low Pw Oszil. 3..8 Mhz
    # 0xe0 = divide/1,no clock output,fast raising power,external Oszil.
    # 0xff = divide/1,no clock output,slow raising power,low Pw Oszil 8.. Mhz


    SERIAL = `echo /dev/tty.USA19QI*`
    UISP = uisp -dprog=$S -dserial=$(SERIAL) -dpart=auto
    # The two lines above are for "uisp" and the AVR910 serial programmer connected
    # to a Keyspan USB to serial converter to a Mac running Mac OS X.
    # Choose your favorite programmer and interface.

    uisp: all
    $(UISP) --erase
    $(UISP) --upload --verify if=main.hex
    vậy là phải fuse bit:
    TARGET=atmega8 (dòng thứ 9,10,11 Makefile)
    HFUSE=0xc9
    LFUSE=0xef
    Nhưng đến đoạn sau lại hướng dẫn:
    # Fuse atmega8 high byte HFUSE:
    # 0xc9 = 1 1 0 0 1 0 0 1 <-- BOOTRST (boot reset vector at 0x0000)
    # ^ ^ ^ ^ ^ ^ ^------ BOOTSZ0
    # | | | | | +-------- BOOTSZ1
    # | | | | + --------- EESAVE (don't preserve EEPROM over chip erase)
    # | | | +-------------- CKOPT (full output swing)
    # | | +---------------- SPIEN (allow serial programming)
    # | +------------------ WDTON (WDT not always on)
    # +-------------------- RSTDISBL (reset pin is enabled)
    # Fuse atmega8 low byte LFUSE:
    # 0x9f = 1 0 0 1 1 1 1 1
    # ^ ^ \ / \--+--/
    # | | | +------- CKSEL 3..0 (external >8M crystal)
    # | | +--------------- SUT 1..0 (crystal osc, BOD enabled)
    # | +------------------ BODEN (BrownOut Detector enabled)
    # +-------------------- BODLEVEL (2.7V)
    Chẳng hiếu làm sao lúc đầu LFUSE=0xef, sau đó thì lại hướng dẫn Fuse atmega8 low byte LFUSE: 0x9f
    Hướng dẫn trên trang chipkool là LFUSE=0xBF,:
    ( http://www.echipkool.com/2013/01/mac...89sxx-avr.html )
    ? không hiểu Makefile này có ai đã chỉnh sửa gì chưa mà lại như vậy?
    các bạn có thể xem giúp mình ở đây: http://113.171.224.215/videoplayer/m...&ich_u_n_i_t=1
    Last edited by lowpass; 18-11-2013, 19:01.
    Email:
    Đau đầu vì điện tử

    Comment


    • #3
      các bạn có thể xem giúp mình file ở đây: http://113.171.224.215/videoplayer/m...&ich_u_n_i_t=1
      Last edited by lowpass; 18-11-2013, 19:04.
      Email:
      Đau đầu vì điện tử

      Comment


      • #4
        Hóng mãi không ai trả lời, mình làm liều vậy:
        Phần cứng lắp trên board đục lỗ:
        Click image for larger version

Name:	at8.JPG
Views:	1
Size:	27.8 KB
ID:	1389230
        Click image for larger version

Name:	atmg8.JPG
Views:	1
Size:	55.9 KB
ID:	1389231
        Lần đầu tiên cắm USB vào máy hơi run khi máy báo USB not reco.... (do chưa nạp phần mềm)
        Lấy mạch nạp ISP qua cổng LPT có IC đệm 74245 để Fusebit và nạp file Hex cho ATMEGA8 (nhớ nối dây RESET của mạch nạp vào pin1 của ATMEGA8 )
        Fuse bit cho nó bằng ISP_30a

        Nạp luôn file hex vào AT8 đồng thời

        xong, Rút mạch gỡ các dây nối của mạch nạp LPT _ ISP ra
        cắm USB vào máy ...

        May quá máy nhận USB cài xong DRIVER
        Attached Files
        Last edited by lowpass; 03-12-2013, 19:55.
        Email:
        Đau đầu vì điện tử

        Comment


        • #5
          May quá máy nhận USB cài xong DRIVER
          Click image for larger version

Name:	driverAVR910.JPG
Views:	1
Size:	7.2 KB
ID:	1389235
          Chưa biết được khi nạp có tốt hay không, nhưng chắc tối nay mình ngủ ngon rồi .........
          Email:
          Đau đầu vì điện tử

          Comment


          • #6
            Nguyên văn bởi lowpass Xem bài viết
            Hóng mãi không ai trả lời, mình làm liều vậy:
            Phần cứng lắp trên board đục lỗ:
            [ATTACH=CONFIG]79400[/ATTACH]
            [ATTACH=CONFIG]79401[/ATTACH]
            Lần đầu tiên cắm USB vào máy hơi run khi máy báo USB not reco.... (do chưa nạp phần mềm)
            Lấy mạch nạp ISP qua cổng LPT có IC đệm 74245 để Fusebit và nạp file Hex cho ATMEGA8 (nhớ nối dây RESET của mạch nạp vào pin1 của ATMEGA8 )
            Fuse bit cho nó bằng ISP_30a
            [ATTACH=CONFIG]79406[/ATTACH]
            Nạp luôn file hex vào AT8 đồng thời
            [ATTACH=CONFIG]79407[/ATTACH]
            xong, Rút mạch gỡ các dây nối của mạch nạp LPT _ ISP ra
            cắm USB vào máy ...
            [ATTACH=CONFIG]79408[/ATTACH]
            May quá máy nhận USB cài xong DRIVER
            sao bn ko làm mạch in cho đẹp


            Comment


            • #7
              Amatơ mà bạn, chắc cũng phải làm cái mạch in cho nó pờ rồ, thank bạn đã quan tâm nhé.
              Email:
              Đau đầu vì điện tử

              Comment


              • #8
                Nguyên văn bởi lowpass Xem bài viết
                May quá máy nhận USB cài xong DRIVER
                [ATTACH=CONFIG]79405[/ATTACH]
                Chưa biết được khi nạp có tốt hay không, nhưng chắc tối nay mình ngủ ngon rồi .........
                đâu phải mạch nạp avr 910 đâu bạn.rõ là USBasp mà.

                Comment


                • #9
                  Mình cũng ko rõ, hình như mình ko phân biệt được 2 mạch này, hình như 2 mạch gần giống nhau thì phải?
                  Email:
                  Đau đầu vì điện tử

                  Comment


                  • #10
                    Nguyên văn bởi lowpass Xem bài viết
                    Mình cũng ko rõ, hình như mình ko phân biệt được 2 mạch này, hình như 2 mạch gần giống nhau thì phải?
                    mach bạn làm có thế nạp được cho cả 89s nữa còn avr 910 thì chỉ nạp được cho avr và 1 số con 89 không thông dụng.
                    Attached Files

                    Comment


                    • #11
                      Nguyên văn bởi lowpass Xem bài viết
                      Amatơ mà bạn, chắc cũng phải làm cái mạch in cho nó pờ rồ, thank bạn đã quan tâm nhé.
                      bạn thử nạp xem có nạp được không nào ? mình có cái như của bạn cài driver ngon lành , máy tính nhận, phần mềm nạp chưong trình cũng oke có điều không sao nạp đựoc.

                      Comment


                      • #12
                        Nguyên văn bởi toi ngu kinh Xem bài viết
                        bạn thử nạp xem có nạp được không nào ? mình có cái như của bạn cài driver ngon lành , máy tính nhận, phần mềm nạp chưong trình cũng oke có điều không sao nạp đựoc.
                        Đúng vậy, đang mừng thì bỗng bị dội một gáo nước lạnh. Hôm nay mới có thời gian lấy ra để tét thử, nạp cái mạch quảng cáo 89S52, bật cái ProgramISP lên read signature nó bảo Chip enable program Erro! Buồn.... thôi đành quẳng đó lúc nào lấy ra ngâm cứu lại, dù sao mình vẫn còn cách nạp qua mạch cổng LPT.
                        Email:
                        Đau đầu vì điện tử

                        Comment


                        • #13
                          Nguyên văn bởi lowpass Xem bài viết
                          Đúng vậy, đang mừng thì bỗng bị dội một gáo nước lạnh. Hôm nay mới có thời gian lấy ra để tét thử, nạp cái mạch quảng cáo 89S52, bật cái ProgramISP lên read signature nó bảo Chip enable program Erro! Buồn.... thôi đành quẳng đó lúc nào lấy ra ngâm cứu lại, dù sao mình vẫn còn cách nạp qua mạch cổng LPT.
                          Ối, không phải vậy, mình đếm sai thứ tự đầu dây kết nối với mạch nạp (RESET, MOSI, MISO, SCK), đảo lại đầu dây, mạch đã nạp ngon rồi.
                          Email:
                          Đau đầu vì điện tử

                          Comment


                          • #14
                            Nguyên văn bởi lowpass Xem bài viết
                            Ối, không phải vậy, mình đếm sai thứ tự đầu dây kết nối với mạch nạp (RESET, MOSI, MISO, SCK), đảo lại đầu dây, mạch đã nạp ngon rồi.
                            chúc mừng.
                            bạn có thể gửi sch và file nạp fw không? để mình thử cái mạch của mình xem nó sai ở đâu mà không sao nap được.

                            Comment


                            • #15
                              Đây là toàn bộ sch, file MAX, file .hex nạp vào AT8, phần mềm nạp Progisp mình đã dùng.
                              Click image for larger version

Name:	schematic.jpg
Views:	2
Size:	52.7 KB
ID:	1389578nap vao chip atmega8.hex.zip
                              Đây là toàn bộ sch, file MAX, file .hex nạp vào AT8, phần mềm nạp Progisp mình đã dùng.
                              chẳng hiểu sao file lớn không gửi được, file .hex mình phải thêm đuôi .zip (bạn nhớ bỏ đuôi này nhé) Phần mềm Prigisp mình ko gửi. được bạn down lấy nhé
                              Last edited by lowpass; 12-12-2013, 12:40.
                              Email:
                              Đau đầu vì điện tử

                              Comment

                              Về tác giả

                              Collapse

                              lowpass Tìm hiểu thêm về lowpass

                              Bài viết mới nhất

                              Collapse

                              Đang tải...
                              X