Перейти к содержанию

Начинающим О Фьюзах (Fuse Bits)


Zheka

Рекомендуемые сообщения

Спасибо за громкое молчание, тогда хоть скажите для Avreal как правильно, чтобы получить встроенный генератор 1 МГц

СКРОТ=1 CKSEL3…0=0001 или инвертировать

СКРОТ=0

CKSEL3…0=1110

и в заводских настройках

SUT=? что стаит по умолчанию

и в пони

BSIZ,

BLB1 как пишется

Изменено пользователем Dmt
Ссылка на комментарий
Поделиться на другие сайты

Самый простой способ выяснить - считать с живого камня. СЧИТАТЬ. и по фьюзу RSTDSBL можно говорить надо их инвертировать или нет.

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

Я уже понял что как-то самому разбираться надо. Но всё же не хочу рисковать, поэтому заказал контролер ардуина, для дальнейшего творчества он тоже на атмеле. Заодно и узнаю как правильно фюзы выстовить.

Ссылка на комментарий
Поделиться на другие сайты

Сравнительное тестирование аккумуляторов EVE Energy и Samsung типоразмера 18650

Инженеры КОМПЭЛ провели сравнительное тестирование аккумуляторов EVE и Samsung популярного для бытовых и индустриальных применений типоразмера 18650. 

Для теста были выбраны аккумуляторы литий-никельмарганцевой системы: по два образца одного наименования каждого производителя – и протестированы на двух значениях тока разряда: 0,5 А и 2,5 А. Испытания проводились в нормальных условиях на электронной нагрузке EBD-USB от ZKEtech, а зарядка осуществлялась от лабораторного источника питания в режиме CC+CV в соответствии с рекомендациями в даташите на определенную модель. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Так там будет тот же риск, и фьюзы там не меняются штатно. Считать их вполне безопасно.

Но, собственно в чем проблема заглянуть в даташит и справку твоего программатора чтобы выяснить что именно нужно ставить?

Учение - изучение правил. Опыт - изучение исключений.

Ссылка на комментарий
Поделиться на другие сайты

  • 3 месяца спустя...

Новый аккумулятор EVE серии PLM для GSM-трекеров, работающих в жёстких условиях (до -40°С)

Компания EVE выпустила новый аккумулятор серии PLM, сочетающий в себе высокую безопасность, длительный срок службы, широкий температурный диапазон и высокую токоотдачу даже при отрицательной температуре. 

Эти аккумуляторы поддерживают заряд при температуре от -40/-20°С (сниженным значением тока), безопасны (не воспламеняются и не взрываются) при механическом повреждении (протыкание и сдавливание), устойчивы к вибрации. Они могут применяться как для автотранспорта (трекеры, маячки, сигнализация), так и для промышленных устройств мониторинга, IoT-устройств. Подробнее параметры и результаты тестов новой серии PLM по ссылке.

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Есть вопрос по поводу фьюза RSTDISB. Вывод ресет в случае его программирования работает как порт ввода/вывода. А не будет ли проблем с ISP программированием при таком режиме?

Антон. Блог

HTPC -> foobar2000 -> SMSL M8A -> Nataly 2012 -> Focal JMLab Tantal 515

Ссылка на комментарий
Поделиться на другие сайты

Литиевые батарейки и аккумуляторы от мирового лидера  EVE в Компэл

Компания Компэл, официальный дистрибьютор EVE Energy, бренда №1 по производству химических источников тока (ХИТ) в мире, предлагает продукцию EVE как со склада, так и под заказ. Компания EVE широко известна в странах Европы, Америки и Юго-Восточной Азии уже более 20 лет. Недавно EVE была объявлена поставщиком новых аккумуляторных элементов круглого формата для электрических моделей «нового класса» компании BMW.

Продукция EVE предназначена для самого широкого спектра применений – от бытового до промышленного. Подробнее>>

Реклама: АО КОМПЭЛ, ИНН: 7713005406, ОГРН: 1027700032161

Будут. Для SPI программирования это дорога в один конец. Потом только параллельный программатор.

Изменено пользователем Геннадий
Ссылка на комментарий
Поделиться на другие сайты

  • 2 месяца спустя...

авр доктор скачал (атмега8 на атмегу8 всеми ногами)

хочу развести и вытравить платку.

уверен что не все ноги используются, поэтому подскажите какие сигналы нужны для параллельного программирования этой прошивкой.

я только начал читать про авр асм.. поэтому пока не уверен что всё правильно понимаю.

я понял что нужны сигналы:

PD1, PD2, PD3, PD4, PD5, PD6, PD7

GND, VCC

PB0, PB3, PB4, PB5, PB6, PC0, PC1, PC2

на reset мертвой атмега8 подается +12в

остальные сигналы, которые выше перечислил соединяются 1 к 1 на обоих атмегах.

не упустил ли я ещё ног, или лишних не приписал ? подскажите.

не хочется по стораз платы перетравливать.

вот исходник прошивки "avr doc+or"

; ******************************************************

;

; RDY/BYSY PD1

; OE PD2

; WR PD3

; BS1 PD4

; XA0 PD5

; XA1 PD6

; PAGEL PD7

; +12V RESET

; BS2 PC2

; XTAL1

; GND

; ******************************************************

.include "m8def.inc"

.def zero = r1

.def tmp = r16

.def tmp2 = r17

.def data= r21

.def _WR_= r22

.equ bysy = pd1

.equ OE = pd2

.equ wr = pd3

.equ bs1= pd4

.equ xa0 = pd5

.equ xa1 = pd6

.equ PAGEL= pd7

.equ bs2 = pc2

.equ xtal1= pb6

.equ pitanie_podanno = pc5

.org 0

rjmp RESET ; Reset Handler

rjmp RESET ; EXT_INT0 ; IRQ0 Handler

rjmp RESET ; EXT_INT1 ; IRQ1 Handler

rjmp RESET ; TIM2_COMP ; Timer2 Compare Handler

rjmp RESET ; TIM2_OVF ; Timer2 Overflow Handler

rjmp RESET ; TIM1_CAPT ; Timer1 Capture Handler

rjmp RESET ; TIM1_COMPA ; Timer1 CompareA Handler

rjmp RESET ; TIM1_COMPB ; Timer1 CompareB Handler

rjmp RESET ; TIM1_OVF ; Timer1 Overflow Handler

rjmp RESET ; TIM0_OVF ; Timer0 Overflow Handler

rjmp RESET ; SPI_STC ; SPI Transfer Complete Handler

rjmp RESET ; USART_RXC ; USART RX Complete Handler

rjmp RESET ; USART_UDRE ; UDR Empty Handler

rjmp RESET ; USART_TXC ; USART TX Complete Handler

rjmp RESET ; ADC ; ADC Conversion Complete Handler

rjmp RESET ; EE_RDY ; EEPROM Ready Handler

rjmp RESET ; ANA_COMP ; Analog Comparator Handler

rjmp RESET ; TWSI ; Two-wire Serial Interface

;****************************

RESET:

nop;

ldi tmp, low(ramend)

ldi tmp2, High(ramend)

out SPH, tmp2 ; настроили стек

out SPL, tmp ; настроили стек

ldi tmp, 0xff

out ddrb, tmp ; порт данных на выход

ldi tmp, (1<<xa0)|(1<<xa1)|(1<<bs1)|(1<<wr)|(1<<PAGEL) ;

out ddrd, tmp

ldi tmp, (1<<bs2)|(1<<pc1)|(pc0)

out ddrc, tmp

ldi _WR_, 1<<wr

clr zero

cbi ddrc, pitanie_podanno

;----------------------------------------------

main:

;sbis pinc, pitanie_podanno

;rjmp main

;начало программирования

rcall delay

sbi portd, wr

;1a

;1. Set XA1, XA0 to “10”. This enables command loading.

;2. Set BS1 to ”0”.

;3. Set DATA to “XXXX XXXX”. This is the command for XXX.

;4. Give XTAL1 a positive pulse. This loads the command.

sbi portd, xa1

cbi portd, xa0

cbi portd, bs1

// 0b01000000 ;команда Write Fuse Bits

out portb, zero

cbi portc, pc1

sbi portc, pc0

rcall xtal_pulse

;2c

;C. Load Data Low byte

;1. Set XA1, XA0 to “01”. This enables data loading.

;2. Set DATA = Data Low byte (0x00 - 0xFF).

;3. Give XTAL1 a positive pulse. This loads the data byte.

cbi portd, xa1

sbi portd, xa0

; 0b11100001 ;BODLEVEL BODEN SUT1 SUT0 CKSEL3 CKSEL2 CKSEL1 CKSEL0

out portb, zero

sbi portb, pb0

sbi portb, pb5

sbi portc, pc0

sbi portc, pc1

rcall xtal_pulse

;3

;(Low byte - Set BS1 and BS2 to “0”)

;(High byte - Set BS1 to “1” and BS2 to “0”. This selects high data byte.)

cbi portd, bs1

cbi portc, bs2

;4. Give WR a negative pulse and wait for RDY/BSY to go high.

cbi portd, wr

rcall delay;

out portd, _WR_ ;все выводы =0 wr=1

_bysy_: sbis pind, bysy

rjmp _bysy_

;1a

sbi portd, xa1

cbi portd, xa0

cbi portd, bs1

; 0b01000000 ;команда Write Fuse Bits

out portb, zero

cbi portc, pc1

sbi portc, pc0

rcall xtal_pulse

;2c

cbi portd, xa1

sbi portd, xa0

;data, 0b11011001 ;(RSTDISBL WDTON SPIEN CKOPT EESAVE BOOTSZ1 BOOTSZ0 BOOTRST)

out portb, zero

sbi portb, pb0

sbi portb, pb3

sbi portb, pb4

sbi portc, pc0

sbi portc, pc1

rcall xtal_pulse

;3

;(High byte - Set BS1 to “1” and BS2 to “0”. This selects high data byte.)

sbi portd, bs1

cbi portc, bs2

;4. Give WR a negative pulse and wait for RDY/BSY to go high.

cbi portd, wr

sbi ddrc, pc4

sbi portc, pc4

end: rjmp end;

rjmp main

;****************************

delay:

ldi tmp, 70

loop1:

dec tmp

brne loop1

ret

;****************************

xtal_pulse:

rcall delay

sbi portb, xtal1

rcall delay

cbi portb, xtal1

out portd, _WR_ ;все выводы =0 wr=1

rcall delay

ret

;****************************

Изменено пользователем goodbye
Ссылка на комментарий
Поделиться на другие сайты

Помогите выставить фьюзы вот по этой картинки в Программе Bascom 2.0.5.0 c usbasp програматором.. И что сперва прошивают данные на Flash или Фьюзы выставляют и прошивают ???

внутреннего генератора 4MHz, скрин от программы PonyProg.

post-14927-0-31404200-1397666295_thumb.jpg

Изменено пользователем iwanich
Ссылка на комментарий
Поделиться на другие сайты

что сперва прошивают данные на Flash или Фьюзы выставляют и прошивают ???
Вообще надежнее сначала флеш, ее прошивкой навредить крайне сложно. Но если установка фузов не будет блокировать программирование кристалла (тактирование, SPIen, RSTdisable), как обычно и стараются делать, то не важно.

Ругался на отсутствие форматирования исходного кода (включая отсутствие осмысленных комментариев и наличие неубранного после конфигуратора мусора) не менее 15 раз.

Часть моих наработок.

Ссылка на комментарий
Поделиться на другие сайты

Нужно запрограммировать фьюзы для ATtony2313 в журнале дан рисунок с фьюзами посмотрите правильно я их выставил с CVAVR. МК один у меня есть боюсь его запороть фьюзами.

post-29150-0-31441700-1397837286_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

Для AVR фьюз считается запрограммирован если установлен в "0". У тебя должны быть запрограммированны фьюзы EESAVE, SPIEN, CKSEL1, SUT0, BODLEVEL0 и BODLEVEL1. Фьюзы SPIEN и SPMEN это разные фьюзы - не перепутай их. Как правило последовательные программаторы не могут менять SPIEN поэтому не во всех программаторах он отображается, иначе можно отключить возможность программирования этим программатором. Теперь разберись со своим программатором, дело в том, что в разных программах установленная "птичка" по разному рассматривается, в одном программаторе установленная "птичка" это - запрограммировать фьюз (т.е. установить в "0"), а в другом наоборот - установить его в "1", т.е. не программировать. Например в PonyProg установленная "птичка" - это программировать фьюз, как в CVAVR не знаю, нету у меня такой проги.

Изменено пользователем donec
Ссылка на комментарий
Поделиться на другие сайты

donec спасибо. Я обычно ориентируюсь по Rstdisbl. Вот меня эти SPIEN и SPMEN и в водили в ступор. Потому что в фьюзах SPIEN нет, наверно просто оставить его.

Рисунок в PonyProg правильно теперь поставил.

post-29150-0-89978700-1397899132_thumb.jpg

Изменено пользователем lukinov
Ссылка на комментарий
Поделиться на другие сайты

Перерыл весь инет...уже каша в голове.. не могу понять какие fuse в Bascom прямые или инверсные ??

выставить не могу по этой картинке из Рони.. уже три атмеди в мир иной ушли..

post-14927-0-97066200-1397921136_thumb.jpg

Ссылка на комментарий
Поделиться на другие сайты

Не программатор определяет прямой/инверсный фьюз, а программа-прошивальщик. У CodeVision галочка означает запрограммированный фьюз (т.е. =0). Объясните режим работы МК, тогда легче подсказать с конфигурацией фьюзов.

Ссылка на комментарий
Поделиться на другие сайты

Помогите, оценить своих опытным взглядом

avr-gcc -c -mmcu=atmega8  -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -DF_CPU=7372800 -Wa,-adhlns=%1.lst  -std=gnu99 %1.c -o %1.o

avr-gcc -mmcu=atmega8   -I. -g -Os -funsigned-char -funsigned-bitfields -fpack-struct -fshort-enums -Wall -Wstrict-prototypes -DF_CPU=7372800 -Wa,-adhlns=%1.o  -std=gnu99 %1.o   --output %1.elf -Wl,-Map=%1.map,--cref -lm

avr-objcopy -O ihex -R .eeprom %1.elf %1.hex

avrdude -p m8 -P COM3 -c usbasp -b 19200 -U flash:w:%1.hex

сейчас так проходит процесс компиляции и заливки

нужно ли -DF_CPU=7372800 чтобы выставлять частоту,или достаточно в самом коде

и в arvdude правильно ли фюзы, чтобы включить внутренний кварц на 8мгц(Atmega8A) кажется делал по программе.

-U lfuse:w:0xe4:m -U hfuse:w:0xd9:m

общая строка так должна быть?

avrdude -p m8 -P COM3 -c usbasp -b 19200 -U flash:w:file.hex -U lfuse:w:0xe4:m -U hfuse:w:0xd9:m

Ссылка на комментарий
Поделиться на другие сайты

  • 4 недели спустя...

Сделал такой код на баскоме. (термометр на ds18b20)

$regfile = "m32def.dat"

$crystal = 8000000

Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , E = Portd.0 , Rs = Portd.1

Config 1wire = Portd.2

Dim A As Byte

Dim B As Byte

Dim C As Byte

Dim D As Byte

Dim E As Byte

Config Lcd = 20 * 4

Initlcd

Cls

Cursor Off

'Виведення температури'

Do

1wreset

If Err = 1 Then

Cls

Lcd "Err"

Do

Loop

Else

1wwrite &HCC

1wwrite &H44

Waitms 750

1wreset

1wwrite &HCC

1wwrite &HBE

A = 1wread()

B = 1wread()

If A > 248 Then

A = &HFF - A

B = &HFF - B

E = 2

Else

E = 1

End If

C = A / 16

D = B * 16

C = C + D

If E = 2 Then C = C + 1

If E = 1 And C = 0 Then E = 0

Cls

Lcd "Temp= "

If E = 0 Then Lcd " " ; C ; "'" ; "C"

If E = 1 Then Lcd "+" ; C ; "'" ; "C"

If E = 2 Then Lcd "-" ; C ; "'" ; "C"

End If

Loop

End

Фюзов не трогал.

Почему оно работает??

Когда писало крисатл=1мгц то не работало.

А так когда пишет кристал=8мгц то работает. Если у него частота 1МГц.

Изменено пользователем Vit@lik
Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.
Примечание: Ваш пост будет проверен модератором, прежде чем станет видимым.

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить в этой теме...

×   Вставлено с форматированием.   Восстановить форматирование

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу

  • Сообщения

    • Это тот самый проект, просто следующий этап задачи - реализовать чтение уже записанных файлов на стороне МК.
    • Когда снова появился интерес к усилителям, тоже хотел всех обмануть, попробовал 7294 в разных схемах, 3886 тоже несколько способов приготовления, вроде и неплохо играет, если ничего другого не слушал, годится. Но червячок сподвиг сделать Натали Хоум, УХ! челюсть отвисла, наслушаться не мог, узнал, что такое сцена в звуке, динамика, детальность, да всё лучше. Вот я всегда и спрашиваю, по сравнению с какими другими УМ играет хорошо расхваливаемый усилитель.
    • @Armenn Хорошо. Сделал резистор на 5 Ом.  Результата два. 1. Если включить блок питания в сеть, а уже потом подключить резистор на 5 Ом в фиолетовый провод, тогда резистор просто будет греться.  2. Если подключить резистор на 5 Ом в фиолетовый провод, а уже потом включить блок питания в сеть, тогда случится следующее: лампочка предохранителя от КЗ засветится (через которую я подключаю БП в сеть), а блок питания начнет пищать. Заснял это на видео -   
    • Ну-вы и сравнили. Вот когда будете строить сварочный инвертор на такую частоту-то там нужно  будет учитывать скин эффект. А на частоты до 75кгц-можно забить, отбить и не принимать во внимание. Тем более-что все стараются аппараты до 200А строить. На кольце плотность тока до 15А на мм ^2, на Ш от 10А на  мм^2 А вентилятор-он все лишние тепло сдует ко льдам в Антарктиде. Проверьте монолит 2,12мм, я таким мотаю СТ. Интересно-что там с ним делается на частотах от 30 до 50кГц? Длинна провода примерно 2 метра-На сердечник Е70 влазит 18 витков
    • Добрый вечер всем!  Проблема следующая: Есть флешка с записанной файловой системой через USB MASS STORAGE DEVICES. При "втыкании"  в порт USB открывается на ПК диск с содержимым. Я подключил библиотеку Fatfs и прописал низкоуровневые функции чтения и записи в файле diskio.c Работаю с файлом так:   disk_initialize(SDFatFs.drv); if(f_mount(&SDFatFs,(TCHAR const*)USER_Path,0)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_f_mount!\r\n"); } else { if(f_open(&MyFile,"01.WAV",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File1!\r\n"); } else { Usart1_Send_String("open_File_OK1!\r\n"); } if(f_open(&MyFile,"01.wav",FA_READ)!=FR_OK) { //Error_Handler(); Usart1_Send_String("Error_open_File2!\r\n"); } else { Usart1_Send_String("open_File_OK2!\r\n"); UINT testBytes=0; f_read(&MyFile, buff1, 512, &testBytes); sprintf(buf1, "TestBytes=%d\r\n", testBytes); Usart1_Send_String(buf1); Usart1_Send_hex((char*)buff1, 512); Usart1_Send_String("read_File_complite!\r\n"); f_close(&MyFile); } } подправил diskio.c так:   DRESULT disk_read ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); sprintf(buffer0, "sector=%lu\r\n", sector); Usart1_Send_String(buffer0); w25qReadPage(buff, sector*2); w25qReadPage(buff + 256, sector*2+256); res=RES_OK; return res; } #if _USE_WRITE == 1 DRESULT disk_write ( BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { DRESULT res; //res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); w25qWritingByUSB(sector, (uint8_t*)buff); res=RES_OK; return res; } #endif /* _USE_WRITE == 1 */ функцию чтения на самом деле пробовал прописывать по разному, все равно не корректно работает... Выдает в отладке такое:   Program start!.... sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File1! sector=0 // это обращение к функции чтения DRESULT disk_read (); Error_open_File2! Что я забыл еще добавить?
    • В былые годы запрещалось размещать на форуме бессмысленные темы. Видать, с тех пор правила существенно изменились.
  • Похожий контент

×
×
  • Создать...