Thông báo
Collapse
No announcement yet.
Hỏi cách và xin hướng dẫn set fuse cho atmega8a Dip
Collapse
X
-
CKOPT nữa là ngon !Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
-
-
bên bán linh kiện .vn hướng dẫn như sau:Nguyên văn bởi maitamhoa Xem bài viếtbác xem lại giúp em 2 hình này hình nào đúng ạ
a.
[ATTACH=CONFIG]73155[/ATTACH]
b.
[ATTACH=CONFIG]73156[/ATTACH]
trong ô extvalue có phải điền gì ko ạ
Comment
-
Mong các bác chỉ bảo cho em biết thêm. Em đọc datasheet vẫn chưa hiểu được sao lại phải chon các bit như vâY? Desktop.rar
MẠNG LAG QUÁ UP MÃI KHÔNG ĐƯƠC EM ĐÀNH UP LÊN MEDIAFIRE VẬY. MONG CÁC BÁC THÔNG CẢM!
Comment
-
Để thực hiện set fuse cho ATmega ...
Đầu tiên các bạn nên đọc mục ( clock source ) trong mỗi datasheet của con ATmega tương ứng
- Có 2 khái niệm về bit fuse : bit mang giá trị 1 ( tức là unprogrammed ) , bit 0 tức là programmed
- Để ý phần mềm mạch nạp ( Có nhiều phần mềm mạch nạp khác nhau - và cách sử dụng cũng khác nhau )
//// Có phần mềm mạch nạp thể hiện bit fuse là số : 0 hoặc 1 ... khi đó xem datasheet gõ 0,1 tương ứng \
Lấy ví dụ trong Atmega8 người ta có nói : For resonators, the maximum frequency is 8MHz with CKOPT unprogrammed and 16MHz with CKOPT programmed.
tạm dịch : tần số lớn nhất 8Mhz khi CKOPT unprogrammed ( tức là = 1 ) và 16 Mhz programmed ( tức là =0 )
+ Nếu mình dùng thạch anh ngoài ... tần số dưới 8Mhz ... ta đánh vào ô CKOPT là 1, 16Mhz ta đánh là 0 .
đây là tần số lớn nhất ... Bạn đánh số 1 thì sẽ không hoạt động được 16Mhz ... đánh số 0 thì ... 16 Mhz ... chứ 8 Mhz cũng vẫn có khả năng chạy tốt ===> đánh số 0 cho nó !
+ với các phần mềm loại này ... ta cứ nhòm datasheet và chọn 1,0 tương ứng
/// Một số phần mềm mạch nạp ... không dùng số 0 hay 1 để thể hiện . Mà dùng cách ... đánh dấu vào ô vuông ( checkbox )
a) để ý nó ghi chú thích xem đánh dấu là 0 hay 1 ( thường đánh dấu là 0 programmed ) ( Rất ít và hãn hữu lắm mới có những phần mềm =1 )
Ví dụ : để fuse bit CKOPT = 0 programmed... thì phải đánh dấu vào ô bên cạnh nó
b) trên 1 phần mềm ... phần fuse bit có rất nhiều ... làm rối mắt ... ta chỉ quan tâm đến những cái của ta ... còn đâu thì kệ nó .
Lấy Ví dụ về ATMEGA8
- BODEN , BOD.... mấy cái này khi điện chập chờn , quá yếu ... sẽ có tác dụng reset MCU ( Chẳng cần quan tâm ) ... vì lúc nào điện có ổn áp 5V rồi .
- SUT SUT ... sút đi đâu thì sút ... khỏi quan tâm cũng được
- CKSELx ... những bit quan trọng để xác định dùng thạch anh trong hay ngoài , nguồn dao động ( CKSEL <=> Clock Select .... ( lựa chọn clock )
( xem datasheet để gõ 0 ,1 hoặc đánh dấu , không đánh dấu tương ứng )
- RSTDIS... dùng reset trong hay ngoài ... dùng reset ngoài thì phải gắn con trở , dùng reset trong ... thì có thể tận dụng chân đó làm I/O ( lưu ý 1 số loại ATMEGA ) sử dụng các chân này cho cách nạp SPI ... nếu vô tình đánh sai bit này sẽ là cho MCU không nạp được nữa ( Phải dùng mạch nạp song song ... để chữa fuse chẳng hạn )
- WDTON : nếu có hoạt động , sử dụng watchdog thì đánh dấu ( hoặc gõ 0 ) ( programmed ) .... Không sử dụng watchdog thì thôi ( không đánh dấu hoặc 1 ) .
Không sử dụng watchdog mà đánh dấu ( hoặc 0 ) sau 1 thời gian watchdog timeout sẽ làm reset MCU
- SPI : Đương nhiên là đánh dấu hoặc 0 ( programmed ) ... nếu còn muốn sau này dùng cái mạch nạp SPI của bạn để nạp lại nó .
( Đối với những mạch nạp song song ... như STK500 chẳng hạn ... thì chẳng vấn đề gì ... khi mất SPI họ có thể chuyển sang parallel để nạp hoặc chữa lại mode SPI )
- Những thứ còn lại ( cũng không cần quan tâm nhiều )
- Lockbit : Làm sản phẩm , tránh để các thể loại " ăn cắp , ăn cướp công nghệ " tránh các loại chó săn ... chỉ rình mò ăn cắp của người khác .... ta sử dụng Lock bit để khóa chương trình. ( khóa hoặc không khóa chương trình là do mỗi người lập trình ) ( lời khuyên ... luôn luôn khóa )
--- thoải mái đánh 0101... mà không lo ngại điều gì . ... Đánh toàn 000 hoặc xen kẽ 01 cũng OKModule RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
Cảm ơn bác đã trả lời rất nhiệt tình và chi tiết. Do em ko chuyên về điện tử nhưng thích nghịch những món này, mà tra google ko có kiến thức lên làm theo kiểu chỉ đâu đánh đó. Em xin hỏi thêm bác câu nữa. Em có mua một mạch arduino uno R3, thấy các bài ví dụ của nó cũng dễ làm theo như điều khiển led, motor dc.. Giờ cho cả mạch vào chỉ để điều khiển 1 thiết bị thì hơi phí, em có thể lấy chíp đó sang một boar khác, rồi dùng 1 chíp mới thay thế để nạp chương trình cho nó(em dùng con atmega8A-16PU). Em thấy trên google họ hướng dẫn phải nạp bootload cho nó mới nhận chíp mới tren Arduino uno. Nên em làm theo các bước:
B1.: em set fuse dùng thạch anh ngoài 16MHZ.
B2: nạp file . hex bootload( theo em hiểu cái này ghi vào flash của chíp mới) - có đúng ko a.?
Comment
-
Bản chất Arduino phần cứng là chip AVR ... trong chip này được " cài chương trình - firmware " tương tự như mình cài Windows .Nguyên văn bởi maitamhoa Xem bài viếtCảm ơn bác đã trả lời rất nhiệt tình và chi tiết. Do em ko chuyên về điện tử nhưng thích nghịch những món này, mà tra google ko có kiến thức lên làm theo kiểu chỉ đâu đánh đó. Em xin hỏi thêm bác câu nữa. Em có mua một mạch arduino uno R3, thấy các bài ví dụ của nó cũng dễ làm theo như điều khiển led, motor dc.. Giờ cho cả mạch vào chỉ để điều khiển 1 thiết bị thì hơi phí, em có thể lấy chíp đó sang một boar khác, rồi dùng 1 chíp mới thay thế để nạp chương trình cho nó(em dùng con atmega8A-16PU). Em thấy trên google họ hướng dẫn phải nạp bootload cho nó mới nhận chíp mới tren Arduino uno. Nên em làm theo các bước:
B1.: em set fuse dùng thạch anh ngoài 16MHZ.
B2: nạp file . hex bootload( theo em hiểu cái này ghi vào flash của chíp mới) - có đúng ko a.?
Lập trình Adruino là thao tác " chương trình " chạy trên nền firmware ( core ) đã cài sẵn trong chip.
- set fuse bình thường như ( vì nó là AVR mà )
- đưa ( bootloader , Core ) vào ( nếu có ) ===> ta được 1 mạch Adruino ( tương tự cái mà ta đã đi mua về ).
- Sài phần mềm lập trình cho Adruino để làm những công việc riêng của mình ( như bật tắt led , điều khiển motor chẳng hạn ...v.v. )Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
-
bác QD giải thích hộ mớ lockbit này với ^^Nguyên văn bởi queduong Xem bài viếtĐể thực hiện set fuse cho ATmega ...
Đầu tiên các bạn nên đọc mục ( clock source ) trong mỗi datasheet của con ATmega tương ứng
- Có 2 khái niệm về bit fuse : bit mang giá trị 1 ( tức là unprogrammed ) , bit 0 tức là programmed
- Để ý phần mềm mạch nạp ( Có nhiều phần mềm mạch nạp khác nhau - và cách sử dụng cũng khác nhau )
//// Có phần mềm mạch nạp thể hiện bit fuse là số : 0 hoặc 1 ... khi đó xem datasheet gõ 0,1 tương ứng \
Lấy ví dụ trong Atmega8 người ta có nói : For resonators, the maximum frequency is 8MHz with CKOPT unprogrammed and 16MHz with CKOPT programmed.
tạm dịch : tần số lớn nhất 8Mhz khi CKOPT unprogrammed ( tức là = 1 ) và 16 Mhz programmed ( tức là =0 )
+ Nếu mình dùng thạch anh ngoài ... tần số dưới 8Mhz ... ta đánh vào ô CKOPT là 1, 16Mhz ta đánh là 0 .
đây là tần số lớn nhất ... Bạn đánh số 1 thì sẽ không hoạt động được 16Mhz ... đánh số 0 thì ... 16 Mhz ... chứ 8 Mhz cũng vẫn có khả năng chạy tốt ===> đánh số 0 cho nó !
+ với các phần mềm loại này ... ta cứ nhòm datasheet và chọn 1,0 tương ứng
/// Một số phần mềm mạch nạp ... không dùng số 0 hay 1 để thể hiện . Mà dùng cách ... đánh dấu vào ô vuông ( checkbox )
a) để ý nó ghi chú thích xem đánh dấu là 0 hay 1 ( thường đánh dấu là 0 programmed ) ( Rất ít và hãn hữu lắm mới có những phần mềm =1 )
Ví dụ : để fuse bit CKOPT = 0 programmed... thì phải đánh dấu vào ô bên cạnh nó
b) trên 1 phần mềm ... phần fuse bit có rất nhiều ... làm rối mắt ... ta chỉ quan tâm đến những cái của ta ... còn đâu thì kệ nó .
Lấy Ví dụ về ATMEGA8
- BODEN , BOD.... mấy cái này khi điện chập chờn , quá yếu ... sẽ có tác dụng reset MCU ( Chẳng cần quan tâm ) ... vì lúc nào điện có ổn áp 5V rồi .
- SUT SUT ... sút đi đâu thì sút ... khỏi quan tâm cũng được
- CKSELx ... những bit quan trọng để xác định dùng thạch anh trong hay ngoài , nguồn dao động ( CKSEL <=> Clock Select .... ( lựa chọn clock )
( xem datasheet để gõ 0 ,1 hoặc đánh dấu , không đánh dấu tương ứng )
- RSTDIS... dùng reset trong hay ngoài ... dùng reset ngoài thì phải gắn con trở , dùng reset trong ... thì có thể tận dụng chân đó làm I/O ( lưu ý 1 số loại ATMEGA ) sử dụng các chân này cho cách nạp SPI ... nếu vô tình đánh sai bit này sẽ là cho MCU không nạp được nữa ( Phải dùng mạch nạp song song ... để chữa fuse chẳng hạn )
- WDTON : nếu có hoạt động , sử dụng watchdog thì đánh dấu ( hoặc gõ 0 ) ( programmed ) .... Không sử dụng watchdog thì thôi ( không đánh dấu hoặc 1 ) .
Không sử dụng watchdog mà đánh dấu ( hoặc 0 ) sau 1 thời gian watchdog timeout sẽ làm reset MCU
- SPI : Đương nhiên là đánh dấu hoặc 0 ( programmed ) ... nếu còn muốn sau này dùng cái mạch nạp SPI của bạn để nạp lại nó .
( Đối với những mạch nạp song song ... như STK500 chẳng hạn ... thì chẳng vấn đề gì ... khi mất SPI họ có thể chuyển sang parallel để nạp hoặc chữa lại mode SPI )
- Những thứ còn lại ( cũng không cần quan tâm nhiều )
- Lockbit : Làm sản phẩm , tránh để các thể loại " ăn cắp , ăn cướp công nghệ " tránh các loại chó săn ... chỉ rình mò ăn cắp của người khác .... ta sử dụng Lock bit để khóa chương trình. ( khóa hoặc không khóa chương trình là do mỗi người lập trình ) ( lời khuyên ... luôn luôn khóa )
--- thoải mái đánh 0101... mà không lo ngại điều gì . ... Đánh toàn 000 hoặc xen kẽ 01 cũng OK
Comment
-
Nguyên văn bởi chung1608 Xem bài viếtbác QD giải thích hộ mớ lockbit này với ^^
[ATTACH=CONFIG]73224[/ATTACH]
cách đầu thì không lock bit ( nghĩa là thằng khác có thể đọc được, sao chép nội dung trong chip )
- cách 2 là lock bit ( thằng khác không đọc được nội dung bên trong chip ( thực ra có đọc được nhưng ra toàn 0000 hoặc linh tinh không đúng chương trình, không copy sang Chip khác để mà dùng được). Khác nhau Nếu chip khóa cả verifi ( chức năng kiểm tra bổ mã mà không ảnh hưởng đến các quá trình khác - chẳng hạn ta muốn biết chắc chắn mạch nạp đã " nhét" vào MCU đúng nội dung file hex chưa) 2 phương pháp trên có hiệu quả lock gần như tương đương nhau. nên chẳng quan trọng. Cứ mỗi lần nạp 1 chương trình mới ( hoặc thay đổi) ta lại ấn nút nạp và sang phần lock bit , lock chúng lại ( thế là khỏi sao chép, ăn cắp )Module RF chuyên dụng điều khiển, truyền dữ liệu, thiết kế đề tài, dự án điện tử - chuyển giao công nghệ... ĐT: 0904964977 - email: dientuqueduong@yahoo.com
Comment
-
vấn đề là em fuse LB mode 2 thằng mega16 nó bị khóa cứng ngắt, đọc fuse thì đc, set fuse lại ko đc, nạp code vào ko đc luôn ^^Nguyên văn bởi queduong Xem bài viếtcách đầu thì không lock bit ( nghĩa là thằng khác có thể đọc được, sao chép nội dung trong chip )
- cách 2 là lock bit ( thằng khác không đọc được nội dung bên trong chip ( thực ra có đọc được nhưng ra toàn 0000 hoặc linh tinh không đúng chương trình, không copy sang Chip khác để mà dùng được). Khác nhau Nếu chip khóa cả verifi ( chức năng kiểm tra bổ mã mà không ảnh hưởng đến các quá trình khác - chẳng hạn ta muốn biết chắc chắn mạch nạp đã " nhét" vào MCU đúng nội dung file hex chưa) 2 phương pháp trên có hiệu quả lock gần như tương đương nhau. nên chẳng quan trọng. Cứ mỗi lần nạp 1 chương trình mới ( hoặc thay đổi) ta lại ấn nút nạp và sang phần lock bit , lock chúng lại ( thế là khỏi sao chép, ăn cắp )
Comment
Bài viết mới nhất
Collapse
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Cho tới thời điểm này, quả thật Đình Thường đây quá thất vọng, không hào hứng với Suno-AI lắm bởi ra lệnh Creat mấy chục lần với các thay đổi thì mới chọn được 2 bản hát đúng giai điệu tầm 80% để cắt ghép tạo thành bài hát...
-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 17:01 -
-
Trả lời cho Yêu thơ mê nhạc, mời các bác vào đây!bởi dinhthuong92Kính chào cả nhà, nhân dịp Tết đang về, sắp 23 tháng chạp rồi, xin gởi lời chúc xuân qua bài hát sau ạ:
Bao nhiêu hân hoan
Chúc Mừng Năm Mới, xuân sang!
Nơi nơi hát vang
nâng chén vui chúc câu An Lành.
Vạn Sự đều Hanh Thông,
Rạng...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 16:46 -
-
bởi ittcChán quá các bác, em nhạt nhẽo quá nên tán em nào cũng tạch, tuyệt vọng vô cùng, nay lại được mấy anh đồng nghiệp cty đối tác mách cho em gái kia sinh năm 2K đầu, em chả biết nhóm đối tượng này phải tán ra sao bây giờ ?
Tính ra em...-
Channel: Tâm tình dân kỹ thuật
Hôm qua, 00:18 -
-
bởi bqvietCó thể, ví dụ phần phản hồi gồm vi mạch cách ly quang, zener thứ cấp, transistor và điện trở phản hồi dòng ... Bất kỳ linh kiện nào nhóm đó hỏng dẫn tới mất đường phản hồi. TNY chính hãng phát hiện được chuyện đó nhưng linh kiện...
-
Channel: Điện tử công suất
05-02-2026, 18:36 -
-
bởi Nexus 6Pcho e hỏi, khi mạch có linh kiện nào đó hư thì có làm hỏng led đắt tiền (osram) không?
-
Channel: Điện tử công suất
05-02-2026, 10:42 -
-
bởi chinhnguyen9· Thí nghiệm 1 (Mạch boost, Vcc=12V, kích bằng dao động PƯM, duty 10%):
* Không có snubber + không tải: Xuất hiện hiện tượng dao động tắt dần tại cực D Mosfet (ringing). Hình 1 cho thấy trong chu kỳ đầu, điện áp spike lên tới hàng trăm V, điện...-
Channel: Hướng dẫn sử dụng diễn đàn
04-02-2026, 09:16 -
-
bởi Nexus 6Pe dùng KiCad 9.0 và đã xuất được file PDF mạch in gòi bác...
-
Channel: Điện tử công suất
03-02-2026, 16:25 -
-
bởi bqvietBấm chuột vào các tệp sẽ bật ra chương trình tương ứng. Nên dùng bản KiCAD sau
https://kicad-downloads.s3.cern.ch/a...ll_version.exe-
Channel: Điện tử công suất
03-02-2026, 14:57 -
-
bởi Nexus 6Pe cài KiCAD 2012 khi mở ra nó chỉ hiện ntn...
-
Channel: Điện tử công suất
03-02-2026, 11:20 -
-
bởi bqvietThực tế bạn nào không tải được tệp nén thiết kế thì căn cứ theo ảnh sơ đồ mạch có thể vẽ lại sơ đồ bằng chương trình EDA nào đó rồi làm mạch được mà. Càng thêm quen thuộc với sơ đồ. Sau đó tùy ý chuyển sang TinySwitch-III hoặc TinySwitch-4.
-
Channel: Điện tử công suất
02-02-2026, 21:13 -

Comment