PIC Vietnam

PIC Vietnam (http://www.picvietnam.com/forum/index.php)
-   Cơ bản về vi điều khiển và PIC (http://www.picvietnam.com/forum/forumdisplay.php?f=8)
-   -   Dạy bang chủ học PIC18 (http://www.picvietnam.com/forum/showthread.php?t=810)

falleaf 19-12-2006 06:28 PM

Dạy bang chủ học PIC18
 
Như đã viết bài lần trước, F mở ra luồng này để mời các bạn tham gia nghiên cứu về dòng High End PIC18.

Nguyên tắc hoạt động của luồng này như sau:
- Người học: falleaf
- Người dạy: tất cả các thành viên có hứng thú
- Nội dung: nghiên cứu về PIC18F4550.
- Học phí: thành viên nào dạy cho F được 5 điều, bất kể gì về PIC18F4550, thì xin liên hệ với phuongchinh2000@yahoo.com để nhận một con PIC18F4550.

Xin nhắc lại, câu chuyện của việc F đi học PIC là như thế này. Có bạn đặt vấn đề ở luồng sau: http://www.picvietnam.com/forum/show...=6413#post6413.

F nghĩ rằng điều đó đúng và hợp lý. Cộng với sự phân tích rằng, hiện nay, về vấn đề Midrange trở xuống coi như đã giải quyết xong. Vấn đề dsPIC do anh Nam phụ trách. Vậy tóm lại, chỉ còn dòng High End là còn thiếu sót một chút.

Sau chính xác là 2.5 năm không hề đụng tới PIC, bây giờ F muốn cùng các bạn học lại từ đầu. Chỉ có cái khác, vì các bạn quá đông, cho nên nội dung bài học không phải các bạn đưa ra, mà là F sẽ đưa ra.

Trong tay F hiện có con 18F4550, có đúng 1 con duy nhất, và các bạn đừng hướng dẫn cho F để nó bị cháy là coi như F hết đồ chơi :D.

Đầu tiên, F xin một cái mạch để chạy với con 18F4550, xì ke ma tít. F không có tiền làm mạch in, cho nên F sẽ hàn mạch test.

HOÀN TOÀN KHÔNG NÓI ĐÙA MỘT TÍ NÀO VỀ CÁI LUỒNG NÀY!

Một là để thúc đẩy việc nghiên cứu dòng 18F, một mặt khác, luồng này như một luồng khuyến khích các bạn nghiên cứu và học tập. F xin treo ở đây 50 con 18F4550 và 18LF4550, xin học được 500 điều từ các bạn. Từ điều lớn đến điều nhỏ xíu, kể cả con điện trở mắc thế nào.

Bạn nào làm F bị cháy chip, thì bắt các bạn phải đền cho F 1 con chip khác bằng cách hướng dẫn F 5 điều bất kỳ mà các bạn nghĩ ra trong khi sử dụng 18F4550.

Đây là một cơ hội vừa học, vừa dạy, hoàn toàn nghiêm túc.

Cách học tốt nhất, đó là vừa học và vừa truyền đạt lại những gì mình học. Nếu mình truyền đạt được một cách suông sẻ, thì có nghĩa là mình đã nắm chắc về nó.

Các bạn cũng đừng lo mình không nhận được PIC, bởi vì nếu các bạn không nhận được PIC, có nghĩa là có một người khác nhận được, và người đó đã cung cấp cho các bạn 5 điều mà người đó biết về 18F4550 cho các bạn. Đường nào thì cũng có lợi cả.

Tại sao lại không bắt đầu nhỉ?

Tài liệu tham khảo cho luồng này có thể download ở đây, tài liệu việt nam, hoặc trên microchip. F sẽ tổng hợp nó trong quá trình học và đưa lên bài viết đầu tiên này. Trong quá trình theo dõi các luồng bên dưới, các bạn cần có những tài liệu này. Các tài liệu tham khảo được nói đến trong các phần bên dưới sẽ được cập nhật thường xuyên ở đây.

TÀI LIỆU THAM KHẢO:
[1] Datasheet 18F2455/2550/4455/4550: http://ww1.microchip.com/downloads/e...Doc/39632c.pdf
[2] PIC18C Manual: http://ww1.microchip.com/downloads/e...Doc/39500a.pdf
[3] Mạch nạp (programmer) và Bootloader: http://www.picvietnam.com/forum/forumdisplay.php?f=9
[4] Thông tin về các mạch nạp và phần mềm: http://www.picvietnam.com/forum/showthread.php?t=299
[5] Học PIC trong 1 ngày: http://www.picvietnam.com/forum/showthread.php?t=5
[6] USB Complete: http://kho.tailieuvietnam.net/index....etails&gid=331

falleaf 19-12-2006 06:34 PM

Con PIC thứ nhất chuẩn bị dùng để đóng học phí!!!
 
Câu hỏi 1: Mạch schematics để cho con 18F4550 chạy được? Có nhiều chỗ modify được, các bạn có thể cung cấp các sơ đồ mạch modify chỗ này, chỗ kia, vẫn oki, vẫn xem như là trả lời câu hỏi này.

Câu hỏi 2: Thạch anh trong mạch chạy tối đa là bao nhiêu MHz? thấp nhất là bao nhiêu? RedRose

Câu hỏi 3: Các sơ đồ mạch reset khác nhau, và nói sơ về các mạch đó, tính năng, hoạt động...

Câu hỏi 4: Các loại mạch nạp + chương trình nạp nào mà bạn biết, có thể kết hợp với nhau và nạp được cho 18F4550? (chỉ cần kể tên ra, F có thể tìm thấy trên picvietnam, hoặc trên google. Nếu bạn có lòng tốt thì đưa link cho F dễ kiếm) RedRose

Câu hỏi 5: Liệt kê các tính năng của PIC18F4550?

Chúc vui

RedRose 20-12-2006 09:04 AM

Thanks falleaf mở luồng này.
Mình cũng mới dùng PIC8F4550 để lập trình USB. Còn lại chưa sử dụng gì khác.
Tham gia luồng này chắc sẽ học được nhiều điều.

Đầu tiên chắc chắn là cần 1 mạch nạp :). Vừa qua để làm mạch nạp cho PIC18F4550 thì mình đã lắp mạch Schear+ Mod của anh Nam và chạy rất tốt với Winpic800.
Link: https://www2.hcmut.edu.vn/~nqnam/uC.php

Hì hì, còn lại mình sẽ học tiếp ^_^

littlephoc 20-12-2006 12:02 PM

Xin cho hỏi bang chủ lý do chọn PIC18F4550 để làm việc?

chumeodihia 20-12-2006 01:31 PM

Dòng pic 18 theo tôi được biết thạch anh sử dụng tối đa là 40 Mhz.Nếu sử dụng mplab thì có thể sử dụng thạch anh 10Mhz sau đó thiết lâp chế độ nhân 4 lên là có thể sử dụng giống như sài thạch anh 40MHZ

falleaf 20-12-2006 01:41 PM

Trích:

Nguyên văn bởi littlephoc (Post 6468)
Xin cho hỏi bang chủ lý do chọn PIC18F4550 để làm việc?

Câu hỏi 6: Vì sao khi học 18F, thì F lại chọn 18F4550 để học? Không ai

falleaf 20-12-2006 01:45 PM

Trích:

Nguyên văn bởi chumeodihia (Post 6469)
Dòng pic 18 theo tôi được biết thạch anh sử dụng tối đa là 40 Mhz.Nếu sử dụng mplab thì có thể sử dụng thạch anh 10Mhz sau đó thiết lâp chế độ nhân 4 lên là có thể sử dụng giống như sài thạch anh 40MHZ

Bạn có thể cụ thể hơn không? Câu hỏi của F là sử dụng thạch anh nào? Mạch thiết kế ra sao? Giá trị lớn nhất là bao nhiêu, giá trị nhỏ nhất là bao nhiêu?

Cứ mỗi lần F bấm Thanks, có nghĩa là các bạn cung cáp đầy đủ thông tin, thông tin chính xác, sớm nhất, các bạn kể như dạy cho F được một vấn đề.

Có một điểm này nữa, đó là F là người đi học, cho nên giờ F phải có một số trang bị đồ đạc để học. Cho nên bây giờ F muốn có cái schema để lắp mạch thí nghiệm lắm.

Cho luôn thông số của mạch rõ ràng, nếu không cho sai, F cháy chip là các bạn sẽ đền đó nhé. hihi

Chúc vui

falleaf 20-12-2006 01:50 PM

Trích:

Nguyên văn bởi RedRose (Post 6462)
Thanks falleaf mở luồng này.
Mình cũng mới dùng PIC8F4550 để lập trình USB. Còn lại chưa sử dụng gì khác.
Tham gia luồng này chắc sẽ học được nhiều điều.

Đầu tiên chắc chắn là cần 1 mạch nạp :). Vừa qua để làm mạch nạp cho PIC18F4550 thì mình đã lắp mạch Schear+ Mod của anh Nam và chạy rất tốt với Winpic800.
Link: https://www2.hcmut.edu.vn/~nqnam/uC.php

Hì hì, còn lại mình sẽ học tiếp ^_^

Bạn chưa nói cho mình biết bạn dùng phần mềm nào để nạp? Cái mình cần luôn là một bộ công cụ đầy đủ để làm việc. Mặc dù có liệt kê, nhưng chính xác thì bạn dùng chương trình nạp nào? Tối mai mình rảnh, sẽ lắp cái mạch này (hàn tay, không mạch in), và gửi lên đây, coi như là báo cáo nhé :). Nhưng phải coi thử trong lab có đủ đồ nghề không đã. Mà bạn cho mình cái phần mềm nạp đi rồi mình mới biết chắc là dùng nó có đủ bộ hay không?

<< Đang có GTP và ICD2 nhưng mà mình thích cái gợi ý này của bạn cho người mới học :). Nếu bạn vẽ mạch in của đồng chí này 1 lớp và gửi lên nữa thì cực hay. :) (nhớ sử dụng chuẩn ICSP_BLD của picvietnam).

Chúc vui

fluidmech 20-12-2006 02:24 PM

Bang chủ ơi, em cũng đang muốn tự làm cái mạch để điều khiển robot qua USB, em cũng đang bắt đầu học VC++ thôi, mình cùng học nhé.
Em co mấy quyển ebook, làm sao mà gửi cho bang chủ được?

tda 20-12-2006 02:36 PM

tại sao anh F ko chọn 4431 (đk động cơ) hoặc 458/4680 ( có CAN/ECAN) mà lại chọn 4550 với usb với USB vốn ko là sở trường của Cơ điện tử ???

littlephoc 20-12-2006 02:40 PM

mạch nạp
 
Về mạch nạp cho 18F4550, link sau đây hướng dẫn rất kỹ:
http://pic18fusb.online.fr/wiki/wikk...ka=UsbBootload
không biết có cần thiết phải dịch sang tiếng Việt hay không?

falleaf 20-12-2006 03:07 PM

Trích:

Nguyên văn bởi tda (Post 6475)
tại sao anh F ko chọn 4431 (đk động cơ) hoặc 458/4680 ( có CAN/ECAN) mà lại chọn 4550 với usb với USB vốn ko là sở trường của Cơ điện tử ???

http://www.picvietnam.com/forum//showthread.php?t=436

Câu trả lời nằm ở đây, các bạn mất 1/5 con PIC.

Trích:

Về mạch nạp cho 18F4550, link sau đây hướng dẫn rất kỹ:
http://pic18fusb.online.fr/wiki/wikk...ka=UsbBootload
không biết có cần thiết phải dịch sang tiếng Việt hay không?
Đây không phải mạch nạp, nó là bootloader. Người mới học mà dính với cái này thì hơi phiền. Nếu như bạn có thể dịch tài liệu này ra, và cung cấp một bài chi tiết về vấn đề này trên picvietnam, bạn sẽ có ngay một con PIC4550.

Chúc vui

RedRose 20-12-2006 03:38 PM

@falleaf: Dùng phần mềm nạp là Winpic800
Link down: www.winpic800.com

PIC8F4550 có thể chạy với các nguồn:
+ Thạch anh: tối đa là 48Mhz
+ External Clock: tối đa là 48Mhz
+ Internal Oscilator Block: có thể chọn từ 31Khz-8Mhz

Chú ý khi sử dụng modul USB:
+ Với modul USB chạy ở mode Full-speed, tần số cho modul USB phải là 48Mhz. Với các bộ PLL, tần số thạch anh của mạch phải là: 4,8,12,16,20,24,40,48Mhz
và lựa chọn các số chia của bộ PLL thích hợp.
+ Với modul USB chạy ở Low-speed thì tần số cho modul USB phải là 6Mhz. Tần số này lại ko lấy từ bộ PLL mà lấy từ tần số thạch anh và được chia 4. Vì vậy thạch anh bắt buộc phải sử dụng là 24Mhz.

falleaf 20-12-2006 04:15 PM

Vậy cuối cùng F mới học PIC18, bạn đề nghị F ráp một cái mạch như thế nào để học? Câu hỏi 1 đó vẫn chưa trả lời thì F không thể nào học được!!

falleaf 20-12-2006 04:23 PM

Ở đây, F nói với các bạn, F cũng không quá chuối, cho nên F có ở đây MPLAB, CCS C 4.018, có HT PICC 950, có C18... nói chung là có đủ các trình dịch cả.

Vậy nói về 4 đồng chí này:

Câu hỏi 7: Bạn nào có thể cho F được 4 đoạn config mẫu cho con 18F4550? Và trong mỗi đoạn config đó giải thích cho F biết các thông số đó có ý nghĩa gì? F mới học PIC, cho nên đầu tiên là phải cài đặt làm sao cho trình dịch hiểu, và F nạp được vào con PIC cái đã nhỉ.

Nói chung, giai đoạn này giống như F từng nói về PIC16 (nhớ là PIC18 bây giờ F mới học từ các bạn), là giai đoạn chuẩn bị các công cụ để học.

Có nghĩa là, mạch nạp F có rồi, F có một con PIC, F có chương trình nạp, F có chương trình dịch. Gần như là F thiếu một cái mạch chạy PIC, và một cái đoạn config đầu.

Nhưng vì đoạn config theo F quá dễ, cho nên câu hỏi này nâng lên một chút, F muốn hỏi cho 4 loại luôn: MPASM cho PIC18, config thế nào, CCS C config thế nào, HTPICC thế nào, và C18 thế nào?

Bạn nào trả lời 3 trong số 4 đồng chí cho F thì coi như oki, lưu ý là phải nhớ ít nhất có 1 đồng chí ASM, vì F rất khá về thằng ASM, chắc F sẽ hơi thiên vị cho nó hơn.

Chúc vui

tranhuyky 20-12-2006 04:31 PM

vì 18F4550 có đây đủ tính năng
 
1 Attachment(s)
Trích:

Nguyên văn bởi falleaf (Post 6470)
Câu hỏi 6: Vì sao khi học 18F, thì F lại chọn 18F4550 để học?

Trong dòng pic18 thì 18F4550 có đủ tính năng, ngoài hổ trợ USB còn có bộ nhớ lớn lập trình lụi đã luôn, hihi. Tuy bộ nhớ chưa phải là lớn nhất nhưng giá cả hợp lý. Mời các bạn xem hình

littlephoc 20-12-2006 06:45 PM

Trích:

Nguyên văn bởi falleaf (Post 6479)
[url]
Đây không phải mạch nạp, nó là bootloader. Người mới học mà dính với cái này thì hơi phiền. Nếu như bạn có thể dịch tài liệu này ra, và cung cấp một bài chi tiết về vấn đề này trên picvietnam, bạn sẽ có ngay một con PIC4550.
Chúc vui

Tự nhiên giật mình nhìn lại, mới hiểu mình chưa hiểu khái niệm mạch nạp là gì. Vậy mong được giải thích thế nào là mạch nạp.
Mình sẽ túc tắc dịch bài này đóng góp cho mọi người. Với PIC18 thì dùng cổng usb để nạp bootloader thì tiện hơn, hợp thời trang hơn. Và nếu Falleaf có nhã gì sau đó tặng mình 1 con 18F4550 thì mình xin nhường lại cho bạn sinh viên nào ở việt nam đang cần. Hôm nay mình mới đặt mua 2 con 18F4550 và 1 bộ ICD 2 + PICDEM 2 plus để cùng học với Falleaf rồi.
Thân

falleaf 20-12-2006 08:04 PM

Trích:

Nguyên văn bởi tranhuyky (Post 6484)
Trong dòng pic18 thì 18F4550 có đủ tính năng, ngoài hổ trợ USB còn có bộ nhớ lớn lập trình lụi đã luôn, hihi. Tuy bộ nhớ chưa phải là lớn nhất nhưng giá cả hợp lý. Mời các bạn xem hình

Câu trả lời của bạn hơi muộn, F đã trả lời trên kia rồi. Lý do chủ yếu F chọn học 18F4550, bởi vì ngoài việc hỗ trợ USB như trong bài viết, về các dòng điều khiển động cơ thì picvietnam đã có một luồng rồi. Do vậy, F chú ý đến việc chọn một con sao cho: nó có khá nhiều tính năng để học cơ bản (dường như nó có hết các tính năng cơ bản để đi từ 16F877 lên), đồng thời, nó cũng đủ hấp dẫn với các bạn tham gia chương trình này, vì nó có USB. :)

Do vậy, thấy rõ mục đích chọn con 4550 của F là như vậy, để chính các bạn tự dạy mình bằng cách dạy F. Cách học tốt nhất là tìm hiểu thật chính xác các thông tin, và tìm cách truyền đạt tốt nhất.

Thầy ThS. Cao Hào Thi, Quản lý công nghiệp, BK HCM, một lần nói với lớp F mà F nhớ mãi: "Khi anh hiểu một vấn đề, anh có thể nói vấn đề đó trong một năm cũng được, nói trong 45 tiết cũng được, nói trong 1 tiết cũng được, nói trong 15 phút cũng được, và thậm chí nói bằng 3 câu anh cũng nói được về vấn đề đó. Đó là anh hiểu vấn đề!". Thầy nói trong giờ giảng về môn Thống kê. Bởi vì giờ của Pháp quy định dạy cho bọn F chỉ có 15 tiết (tương đương với 1 đơn vị học trình, vừa học thống kê, vừa học hồi quy, vừa học ra quyết định bằng phương pháp định lượng. Thầy từng dạy giáo trình này ở Mỹ, và vì vậy thầy tin tưởng vào bài giảng của mình, thầy muốn tạo lòng tin cho sinh viên rằng thầy có thể truyền đạt được cho sinh viên đủ về nội dung được yêu cầu, nếu các bạn cố gắng học. Kết quả, môn thầy dạy được lớp F rất thích, và đến bây giờ F vẫn dùng nó khá hiệu quả.

Đây chính là vấn đề của luồng này. Và mong rằng các bạn thực sự tập trung vì càng về sau F sẽ càng không biết gì, và khi không biết gì, có nghĩa là F hỏi các bạn càng khó trả lời, hoặc phải lôi hàng lô hàng lốc tài liệu ra để chỉ giảng cho F về một vấn đề cực kỳ ngắn nào đó (ngắn nhưng chưa chắc đơn giản). Chính các bạn tự làm thầy giáo của mình.

Lâu lâu F nhắc lại câu chuyện này trên diễn đàn, để khích lệ và động viên, nhất là những bạn hiện đang là sinh viên, các bạn hoàn toàn có thể làm được. Nghĩ khác, làm khác, thay vì đi học, thì chúng ta học bằng cách dạy. Nghiêm túc, hoàn toàn nghiêm túc.

Chúc vui

falleaf 20-12-2006 08:07 PM

Trích:

Nguyên văn bởi littlephoc (Post 6489)
Tự nhiên giật mình nhìn lại, mới hiểu mình chưa hiểu khái niệm mạch nạp là gì. Vậy mong được giải thích thế nào là mạch nạp.
Mình sẽ túc tắc dịch bài này đóng góp cho mọi người. Với PIC18 thì dùng cổng usb để nạp bootloader thì tiện hơn, hợp thời trang hơn. Và nếu Falleaf có nhã gì sau đó tặng mình 1 con 18F4550 thì mình xin nhường lại cho bạn sinh viên nào ở việt nam đang cần. Hôm nay mình mới đặt mua 2 con 18F4550 và 1 bộ ICD 2 + PICDEM 2 plus để cùng học với Falleaf rồi.
Thân

Bạn chưa được nhường, vì bạn chưa dịch tài liệu này ra tiếng Việt :D, tài liệu này F biết từ lâu rồi, chỉ tặng bạn nếu bạn dịch ra tiếng Việt thôi, và điều đó cũng tương ứng với việc nếu bất kỳ bạn sinh viên nào dịch tài liệu của littlephoc gửi ra tiếng Việt thì cũng được tặng 1 con PIC, và tất nhiên là dịch hoàn chỉnh nhé :). Dịch cũng là một cách học rất tốt :).

Dear littlephoc, rất vui là có bạn cùng học.

Các bạn hướng dẫn nhớ chấm điểm và xếp hạng nhé, vì bây giờ lớp học có hai người rồi :)

Chúc vui.

ntc 21-12-2006 11:44 AM

Chuẩn bị gửi mạch nạp và mấy con 18F4550 qua cho bang chủ học đây.

:D

falleaf 21-12-2006 12:33 PM

Trích:

Nguyên văn bởi ntc (Post 6505)
Chuẩn bị gửi mạch nạp và mấy con 18F4550 qua cho bang chủ học đây.

:D

Khà khà, mạch chú gửi là để anh làm cái haptics, đã hứa là làm cái mạch do các bạn chỉ thì sẽ làm đúng như vậy chứ không có ý định chơi ăn gian. :)

Đã nói là làm, không có lỡ hẹn với các bạn đâu :)

Chúc vui

dandiennang 21-12-2006 03:25 PM

18F4550 có nạp được bằng mạch Pic1 không bang chủ?
Em mới học PIC thấy bang chủ học nên em cũng học ké.Hehe

falleaf 21-12-2006 03:31 PM

Báo cáo với các bạn là hôm nay F định làm cái mạch nạp cổng song song, nhưng mà sau đó cúi xuống coi cái máy tính, thì...

Hôm bữa bị cháy máy, bác thầy sắm cho con Duo core của Dell, nguyên một con máy bộ, từ đầu tới chân, kể cả đến bộ loa... chẳng làm gì được vì trong lab không mở loa ầm ỹ được :D.

Và một điều rất vui là vì mua máy bộ, cho nên một chuyện khá chuối xảy ra là, máy F ngoại trừ có 8 cổng USB ra, thì nó chẳng còn cái cổng song song hay COM nào khác!!

Vậy nên đành xin lỗi các bạn về cái mạch nạp mà F nói sẽ làm, vì có làm đi nữa cũng không thể dùng được!!! Phải nói là chuối một nải to đùng luôn...

Anyway, F sẽ sử dụng mạch GTP mà Chính sắp gửi sang cho F vậy.

Chúc vui

falleaf 21-12-2006 03:36 PM

Trích:

Nguyên văn bởi dandiennang (Post 6509)
18F4550 có nạp được bằng mạch Pic1 không bang chủ?
Em mới học PIC thấy bang chủ học nên em cũng học ké.Hehe

Mạch nạp thì hoàn toàn không có gì khác nhau cả, nó chỉ đảm bảo vấn đề điện áp chuyển sang mode nạp, và đảm bảo tín hiệu truyền về mặt điện. Còn lại mọi thứ là do chương trình nạp quyết định.

Mạch PIC1 là mạch được làm lại từ mạch PG2C, PG2C được làm lại từ JDM, JDM được làm lại từ NOPPP. Phiên bản của NOPPP dùng trên Linux là SNOPPP (Son of NOPPP).

Bạn thử mở IC-PROG và WinPIC800 mới nhất lên thì bạn sẽ trả lời được câu hỏi này thôi.

Chúc vui

littlephoc 21-12-2006 04:30 PM

Mạch nạp là cái chi chi vậy Falleaf? có phải là mạch để tải chương trình vào cho con chip nó chạy hay ko? Nếu vậy sao không dùng cổng usb?

phamthaihoa 21-12-2006 05:50 PM

Dạy bang chủ học PIC18 mà cứ như dạy bang chủ làm PIC USB ấy :D, em không thấy cái hay của dòng 18 hơn so với 16 ở đâu cả.
Em cũng tò mò về con PIC18 này lắm, mà em mới chỉ biết PIC16 thui, cụ thể là con 877, em có một số câu hỏi muốn hỏi:

1.Câu đầu tiên là về phần dao động, iem thấy 18F4550 ngoài bộ dao động ngoài, còn có bộ dao động trong nữa, config nó thể nào đây ạ :confused:
Em thấy khi config USB PLL thì nó cứ nhân chia tần kiểu gì ấy ?, vì sao thạch anh cắm vào lại là 4,8,12,16,20,24,48 Mhz, không cắm được các loại như 10,18.432 hay 7,3728Mhz :o
Mà em nghe nói con này có thể chạy được ở 48Mhz :confused: , sao vậy nhỉ, với PIC16 thì khi cắm thạch anh 20Mhz thì nó chỉ chạy ở 5MIPS thui chứ, em nghe nói con này cắm thạch anh 4Mhz có thể chạy ở 12MIPS cơ :eek:
Bác nào giải thích cho em với ???

2. Câu hỏi này em hỏi về các chân IO, ở thằng 18F4550 này em thấy chân MCLR/Vpp còn có chân RE3 nữa, dùng nó thế nào nhỉ ???
Để điểu khiển các chân IO, em thầy ngoài thanh ghi PORTx, TRISx còn có thanh ghi LATx, tác dụng của nó là gỉ nhỉ ? mà tại sao PIC16 không có cái nì ???
Sau khi Reset thì trạng thái các chân ADC của 18F4550 thế nào nhỉ, có khác gì so với 877 không, mà em còn thấy chân RA4 của nó cũng khác 877, các bác giải thích dùm :D

3. Em hỏi về Timer, thằng này em thấy có 4 Timer, timer0 của nó khác với 877 ???
Cái Timer3 em còn thấy dùng làm gì nữa í ???

4. Em hỏi về CCP, ngoài đầy đủ tính năng CCP như 877, 4550 còn có ECCP, nó là gì nhỉ, có gì hay, em đọc thấy nó còn dùng để điều khiển động cơ nữa đó :D, haft bridge, full bridge ???
PROGRAMMABLE DEAD-BAND là gì nhỉ, ứng dụng nó làm gì ???
Ngoài ra em có thấy nó có tính năng Auto-Shutdown and Auto-Restart lạ nhỉ ???

5. Em hỏi về USB. Em nghe nói USB cũng là một chuẩn truyền dữ liệu dạng nối tiếp thế thì nó khác RS232 cơ bản ở điểm gì nhỉ ?
Chuẩn giao tiếp USB nói là nó hoạt động ở điện áp 3v3, em có thấy 3v3 ở chỗ nào của PIC đâu nhỉ ? còn chân Vusb dùng để làm gì ? Có thể nối 5V vào đây được không ?
Trong một số project em thấy có thể dùng 4550 làm USB1.1, thể thì phân biệt giữa USB2.0 và 1.1 như thế nào trên cơ sở phần cứng và phần mềm !
Trong các thanh ghi của 4550, không có thanh ghi nào nói jack USB có được nối vào PIC hay không, làm thể nào để phát hiện ra nhỉ ?
Em chỉ hỏi rất cơ bản thế thôi, còn hơi để em hỏi bác bien_van_khat, ngoc du, ntc :D

6. Về SPI, I2C em thấy nó khác giống với 877, nhưng I2C em thấy nó có chế độ Multi-Master ??? bác nào có thể nói qua cho em Multi-Master khác Master-Slave ở chỗ nào nhỉ ?
Tại sao I2C lại có chế độ 7 bit, 10bit ??? Làm sao để biết Master đang yêu cầu Slave truyền hay nhận dữ liệu ? Dữ liệu nhận được gần nhất là địa chỉ hay dữ liệu ? Giả sử em dùng chế độ 7bit, em gửi địa chỉ 0b11111111 hay 0b11111110 thì khác nhau gì nhỉ ? Em gửi thế vẫn là 7bit đó.

7. 4550 có bộ EUSART, nó hơn USART ở chỗ nào chỉ ? Các bác có thể giải thích cho em thế nào là truyền đồng bộ thế nào là truyền không đồng bộ ?
Thằng này còn có AUTO-BAUD RATE DETECT dùng nó sao nhỉ ?? :confused:

8. Em thấy bộ ADC của 4550 xịn hơn của 877, bác nào có thể giới thiệu một chút được không ?

9. Ngoài ra còn một số thắc mắc nhỏ như HLVD là zi ??? Watchdog của 4550 khác gì so với 877, theo các bác, con 4550 đang chạy với thạch anh bình thường nếu thạch anh bị hỏng, nó có chạy tiếp không nhỉ ???

Em ngu lâu khó đào tạo, hôm nay chỉ hỏi vậy, có gì mai em hỏi tiếp :D

Trả lời được câu hỏi của em chắc bang chủ cũng cho PIC chứ nhỉ :D

tda 21-12-2006 06:57 PM

8. Em thấy bộ ADC của 4550 xịn hơn của 877, bác nào có thể giới thiệu một chút được không ?

xịn hơn à, mới thấy ADC của 4431 là xịn nhất trong 18FXXX thôi, bộ ADC của con này khác với truyền thống, ko biết ADC của 4550 có giống ko?

falleaf 21-12-2006 08:09 PM

Này, chú làm thế làm sao anh học hả? Chú phải biết là anh mới tập tễnh học, chú hỏi thế thì anh hết sạch PIC vẫn chưa học được gì đâu đấy. hì hì..

Chúc vui

falleaf 21-12-2006 10:23 PM

Đang quan tâm vấn đề làm cái mạch thí nghiệm, nên F giải thích câu đầu tiên của chú Hoà bằng hai hình sau.

Các bạn tham khảo datasheet 18F4550 trang 29 sẽ có hai hình này, và nó giải thích câu hỏi của PTH ở trên kia. Đây là câu thứ nhất, chú Hoà nợ anh 1/5 con PIC :).

Tạm thời các bạn đừng chú ý quá nhiều, các bạn mà hướng dẫn F kiểu đó thì đúng là bội thực. Chúng ta vừa quan tâm xong phần dao động. Bây giờ đến câu hỏi thứ hai mà PTH đặt ra F nghĩ rất là hay, và đó cũng là câu F đặt ra trên kia, mạch RESET.

Như đã trao đổi trước đây về PIC16, một mạch chạy PIC, đơn giản chỉ cần có nguồn, phần dao động (có hai loại nội, ngoại), và phần reset. Chỉ cần 3 phần này là một con PIC có thể chạy. Vậy bạn nào hướng dẫn F cái phần RESET cái nhỉ? F phải làm thế nào đây?


namqn 22-12-2006 12:53 AM

Trích:

Nguyên văn bởi littlephoc (Post 6512)
Mạch nạp là cái chi chi vậy Falleaf? có phải là mạch để tải chương trình vào cho con chip nó chạy hay ko? Nếu vậy sao không dùng cổng usb?

Trước tiên, bạn nhìn thử xem ICD 2 của bạn dùng bao nhiêu dây để nối với board thử nghiệm (PICDEM 2 Plus chẳng hạn).

Để nạp chương trình vào một vi điều khiển PIC, cần tối thiểu 5 dây để cấp nguồn cũng như các tín hiệu. Nếu dùng USB thì cần phải có smart chip trên mạch nạp, là điều khá khó khăn và không mong muốn đối với những mạch nạp ra đời trước họ PIC18F4550 (dùng PIC16C765/PIC16C745 vẫn có khó khăn). Do đó, những mạch nạp như kiểu của David Tait (công bố năm 1996) thường dùng cách truy xuất trực tiếp cổng ngoại vi (với mạch của David Tait là cổng song song). Mọi logic thực hiện các giải thuật nạp chương trình được phần mềm trên PC đảm nhiệm => phần cứng đơn giản.

Thân,

littlephoc 22-12-2006 05:10 AM

Hiện tại mình không dùng PICDEM bỏad nữa mà dùng mạch riêng trong việc nghiên cứu của mình. Để nạp chương trình cho chip, mình vẫn dùng ICD 2 nối với mạch :
Vpp(nguồn), Vss(mát), RB6,RB7(data), và 1 line clock. tổng cộng hết 5 dây.
Tất cả những chip xử lý truớc đây đều dùng cách nạp thông qua cổng ngoại vi là serial rs-232, hoặc cổng song song. Có lẽ do thời truớc USB interface chưa phổ biến.
Còn bây giờ, càng ngày càng hiếm máy tính dùng cổng seiral mà thay vào đó là cổng usb, và con chíp thì nó đã hỗ trợ giao tiếp usb. Mạch nạp thì đơn giản, chỉ cấp nguồn cho nó bằng nguồn của usb, dữ liệu nối vào cổng RC4,RC5
thế là xong, đâu có thêm chi tiết nào vào mạch để nó phức tạp đâu ???
Cái này là ý kiến của /me, ai thấy sai thì mong chỉ cho mình, như thế mình sẽ thấy đuợc cái dốt của mình ở chỗ nào mà sửa.

falleaf 22-12-2006 01:28 PM

Trích:

Nguyên văn bởi littlephoc (Post 6525)
Hiện tại mình không dùng PICDEM bỏad nữa mà dùng mạch riêng trong việc nghiên cứu của mình. Để nạp chương trình cho chip, mình vẫn dùng ICD 2 nối với mạch :
Vpp(nguồn), Vss(mát), RB6,RB7(data), và 1 line clock. tổng cộng hết 5 dây.
Tất cả những chip xử lý truớc đây đều dùng cách nạp thông qua cổng ngoại vi là serial rs-232, hoặc cổng song song. Có lẽ do thời truớc USB interface chưa phổ biến.
Còn bây giờ, càng ngày càng hiếm máy tính dùng cổng seiral mà thay vào đó là cổng usb, và con chíp thì nó đã hỗ trợ giao tiếp usb. Mạch nạp thì đơn giản, chỉ cấp nguồn cho nó bằng nguồn của usb, dữ liệu nối vào cổng RC4,RC5
thế là xong, đâu có thêm chi tiết nào vào mạch để nó phức tạp đâu ???
Cái này là ý kiến của /me, ai thấy sai thì mong chỉ cho mình, như thế mình sẽ thấy đuợc cái dốt của mình ở chỗ nào mà sửa.

Bạn xem lại, nó là VPP = MCLR* (nâng lên mức điện âp cao, chuyển PIC vào chế độ nạp, đẩy lên khoảng 13V), VDD = VDD (nguồn 5V), VSS = GND, RB6, RB7 thực ra là PGD và PGC (không nhớ thứ tự), nó mới là data và clock.

Tuy nhiên, tránh làm loãng vấn đề về PIC18, bạn chuyển vấn đề thảo luận này sang luồng của về "Thông tin về mạch nạp và chương trình nạp" do anh Nam chủ trì, nằm trong box Programmer và Bootloader.

Chúc vui

RedRose 22-12-2006 04:57 PM

Thạch anh
 
1 Attachment(s)
Về thạch anh thì các bạn xem hình sau chắc sẽ hiểu ngay.
+Vì tần số vào bộ PLL2 là (4Mhz Input only), và bộ PLL1 có các số chia 1,2,3,4,5,6,10,12 nên tần số thạch anh phải là thế.
+Tần số của CPU có thể được lấy từ bộ PLL2 nên có thể hoạt động ở tốc độ cao với crystal thấp.

+ USB hoạt động ở 3,3V. Trong PIC đã có modul ổn áp rồi, khi sử dụng USB bạn phải cấu hình bật nó lên (USB Voltage Regulator). Chân Vusb là chân đầu ra của bộ ổn áp này, dùng để nối với điện trở ngoài nếu cần. Nối với điện trở ngoài để xác lập USB chạy ở tốc độ nào (low or full). Trong pic đã có điện trở này nên thường bạn ko cần nối với điện trở ngoài nữa. Thường chỉ cần nối với 1 tụ điện nhỏ. Dĩ nhiên không được nối 5V vào đó.

falleaf 23-12-2006 10:26 AM

Vậy tóm lại các bạn có định cho F một cái mạch chạy tạm thời không nhỉ? Không có mạch thì cuối cùng F cũng chỉ là học chay thôi đó.

Phần dao động tạm thông qua, còn phần RESET nữa nhỉ?

Chúc vui

tda 23-12-2006 12:14 PM

Trích:

+ USB hoạt động ở 3,3V. Trong PIC đã có modul ổn áp rồi, khi sử dụng USB bạn phải cấu hình bật nó lên (USB Voltage Regulator). Chân Vusb là chân đầu ra của bộ ổn áp này, dùng để nối với điện trở ngoài nếu cần. Nối với điện trở ngoài để xác lập USB chạy ở tốc độ nào (low or full). Trong pic đã có điện trở này nên thường bạn ko cần nối với điện trở ngoài nữa. Thường chỉ cần nối với 1 tụ điện nhỏ. Dĩ nhiên không được nối 5V vào đó.
Vậy có dùng được chân này nối vào các con IC dùng nguồn 3.3 V ko? như 33dsPIC chẳng hạn.

Và nếu vậy 2 con PIC dùng nguồn khác nhau thì có giao tiếp trực tiếp thông qua các chân được ko nhỉ ? (như I2C - chân nối vào chân)?

thắc mắc

falleaf 23-12-2006 12:50 PM

undefined
Trích:

Nguyên văn bởi tda (Post 6538)
Vậy có dùng được chân này nối vào các con IC dùng nguồn 3.3 V ko? như 33dsPIC chẳng hạn.

Và nếu vậy 2 con PIC dùng nguồn khác nhau thì có giao tiếp trực tiếp thông qua các chân được ko nhỉ ? (như I2C - chân nối vào chân)?

thắc mắc

Các bạn chuyển qua các phần khác thảo luận thêm về USB và I2C, CAN nhé.. Luồng này để làm phần cơ bản thôi. Please...

Lý do chính của luồng này các bạn cũng đã biết rồi. Nó không phải dành cho những thứ quá "cao siêu", F không thích cái gì xa quá cả. F chỉ đơn giản mỗi ngày dành ra 15 phút cho cái này, làm theo các bạn. Thực tế đang lắp cái mạch chạy trên test board, nói nghe hơi buồn cười nhưng mà bạn nào gửi cho F cái mạch chạy đi, không F lại lắp sai, cháy chip thì toi....

Chúc vui

falleaf 23-12-2006 01:01 PM

Nhắc lại câu hỏi 5: Liệt kê các tính năng của PIC18F4550.

Chúc vui

falleaf 23-12-2006 01:04 PM

Trích:

Nguyên văn bởi fluidmech (Post 6474)
Bang chủ ơi, em cũng đang muốn tự làm cái mạch để điều khiển robot qua USB, em cũng đang bắt đầu học VC++ thôi, mình cùng học nhé.
Em co mấy quyển ebook, làm sao mà gửi cho bang chủ được?

Bạn lên Tài liệu Việt Nam download cuốn USB Complete nhé.

Chúc vui

namqn 23-12-2006 11:42 PM

Trích:

Nguyên văn bởi RedRose (Post 6529)
+ USB hoạt động ở 3,3V. Trong PIC đã có modul ổn áp rồi, khi sử dụng USB bạn phải cấu hình bật nó lên (USB Voltage Regulator). Chân Vusb là chân đầu ra của bộ ổn áp này, dùng để nối với điện trở ngoài nếu cần. Nối với điện trở ngoài để xác lập USB chạy ở tốc độ nào (low or full). Trong pic đã có điện trở này nên thường bạn ko cần nối với điện trở ngoài nữa. Thường chỉ cần nối với 1 tụ điện nhỏ. Dĩ nhiên không được nối 5V vào đó.

Chú ý: xem hình 17-1, trang 163 của datasheet cho PIC18F4550 family (DS39632C), nếu có dùng điện trở pull-up bên ngoài thì người ta nối nó với nguồn ngoài 3.3V. Lý do chính để đưa chân VUSB ra vỏ chip là cần có một tụ (mà RedRose nói là tụ điện nhỏ).

RedRose nói tụ điện nhỏ thì bao nhiêu có thể coi là nhỏ, và bao nhiêu có thể coi là đủ? (câu này hỏi RedRose)

Một câu hỏi nữa là tại sao cần có tụ điện cho chân VUSB (mà Microchip nhắc nhở rất nhiều lần về việc dùng giá trị đúng cho nó)?

Hy vọng chú F cũng tính điểm cho phần trả lời của các câu hỏi này.

Thân,

falleaf 24-12-2006 03:40 PM

Trích:

Nguyên văn bởi namqn (Post 6547)
Chú ý: xem hình 17-1, trang 163 của datasheet cho PIC18F4550 family (DS39632C), nếu có dùng điện trở pull-up bên ngoài thì người ta nối nó với nguồn ngoài 3.3V. Lý do chính để đưa chân VUSB ra vỏ chip là cần có một tụ (mà RedRose nói là tụ điện nhỏ).

RedRose nói tụ điện nhỏ thì bao nhiêu có thể coi là nhỏ, và bao nhiêu có thể coi là đủ? (câu này hỏi RedRose)

Một câu hỏi nữa là tại sao cần có tụ điện cho chân VUSB (mà Microchip nhắc nhở rất nhiều lần về việc dùng giá trị đúng cho nó)?

Hy vọng chú F cũng tính điểm cho phần trả lời của các câu hỏi này.

Thân,

Sure, miễn là có một điều để học về 18F4550, thì sẽ tính điểm trả lời.

Chúc vui


Múi giờ GMT. Hiện tại là 12:14 PM.

Tên diễn đàn: vBulletin Version 3.8.11
Được sáng lập bởi Đoàn Hiệp.
Copyright © PIC Vietnam