![]() |
Trích:
[edit lại] Em mới xem lại cấu trúc của chân Vusb của PIC, nó mắc vào đầu ra của con internal 3v3 regulator, đầu ra này treo 2 chân D+,D- hai trở treo trong, có thế điều khiển qua 2 con fet kênh P. Nếu mắc như vậy thì theo em con tụ đó chỉ có tác dụng ổn áp cho nguồn 3v3, em đã lấy mạch thay thử một vài giá trị tụ khác nhau, vẫn hoạt động bình thường. http://i58.photobucket.com/albums/g2...haihoa/2-2.jpg Trong nhiều thiết kế cũng thấy các giá trị khác nhau, trong ICD2 trên EDA thì giá trị này cỡ 150nF,220nF. Nhưng trong SCH ví dụ của PIC Basic về Easy HID hay sixca.com thì giá trị này là 47uF,470uF. http://www.mecanique.co.uk/products/...atic-small.gif Microchip cho vào chân này con 220nF+-20%, giá trị này theo Microchip là được tính sao cho đủ tích nạp cho tải đỉnh với sụt áp thấp nhất. Nhưng ngay sau đó Microchip thêm câu này "These parameters are characterized but not tested." quả là làm nản lòng chiến sĩ. Ngoài ra, trong USB Spec còn nối đến tụ làm nhiệm vụ "Edge Rate Control" tại chân D+, D- http://i58.photobucket.com/albums/g2...haihoa/1-4.jpg Việc dùng đúng giá trị tụ này khác nhau giữa LowSpeed và FullSpeed, ở đây ta quan tâm đến chuẩn FullSpeed, nên em chỉ nói cho nó. Đối với chuẩn FullSpeed ta nối con tụ 50pF cho mỗi chân D+,D- . Giá trị này được tính để đảm bảo nạp cho chân D+,D- từ 0V đến Vih(min) trong khoảng 2.5uS. Giá trị này còn phải phối hợp với dung kháng và trở kháng của dây D+,D-, với dung kháng đầu vào của host, hub, đảm bảo falltime và risetime của tín hiệu trong khoảng 4-->20ns. Đối với LowSpeed thì lằng nhằng rắc rối hơn, nó phân biệt giữa downstream và upstream, nếu ai muốn tìm hiểu thì có thể đọc USB Spec, có nói khá chi tiết. Ngoài ra còn một giá trị tụ khác, là tụ nối vào chân Vbus (1 trong bốn chân của dây USB, D+,D-, GND, Vbus), giá trị này phải đảm bảo sụt áp khi cắm, rút thiết bị, hay thay đổi thông số self power, không quá 350mV nếu kết nối với Hub, và 125mV nếu nối 2 thiết bị từ cổng A đến B(host-->device). Giá trị này không quá 10uF. namqn: chú Hòa edit lại đi, đơn vị của tụ không đúng rồi! tonamqn: Anh check lại xem đúng vậy không, em đọc chương 7: Electrical của USB Spec. |
Chú Hòa trả lời tốt câu hỏi về tụ VUSB.
Chuyện dùng tụ để điều chỉnh độ dốc của cạnh sóng thì đúng là USB Spec. có đề cập, nhưng với họ PIC18F4550 của Microchip thì chúng nó đã gộp Rs vào cái driver rồi (xem bảng 28-4, datasheet của họ PIC18F4550), do đó chưa từng thấy có thiết kế nào lại nối tụ cỡ vài mươi pF vào D+ và D- của họ PIC18F4550. Khi xét đến ngoại vi USB, chúng ta chỉ nói đến upstream, nên chỉ cần quan tâm đến các yêu cầu đối với upstream. Chú Hòa nên ưu tiên cho học viên, đừng đặt nhiều câu hỏi quá nhé! Thân, |
1 Attachment(s)
Về tụ USB trong datasheet thì Microchip cũng chỉ ghi:
"An external 220 nF (±20%) capacitor is required for stability" nên em cũng chỉ nghĩ giống bạn Hòa. Thực tế giá trị 220nF cũng ko phải là chuẩn. Bản thân mạch PICDEM FS USB của Microchip cũng sử dụng tụ 470nF. Em cho rằng sử dụng các giá trị trong khoảng này là ổn. Chắc ko đến đơn vị uF. Chân Vusb này có thể lắp điện trở ngoài như hình 17-3 trang 167 datasheet. Cũng như Hòa đã nói, chân Vbus cũng cần 1 tụ điện có trị số trong khoảng 1uF-10uF. |
Các đồng chí thiết kế mạch quá cao siêu, tóm lại, con PIC18F4550 hỗ trợ những tính năng gì?
Câu hỏi đặt ra này có vẻ hơi ngớ ngẩn, nhưng đừng cho rằng nó quá ngớ ngẩn, bởi vì hãy nhìn một người mới học, khi đọc luồng này, họ đang bị dội vì những cái có thể nói là chả hiểu gì vả chả có gì để mà hiểu? Làm việc luôn có một mục đích, một đối tượng cụ thể, các đồng chí đi quá xa vấn đề, và dường như các đồng chí đang làm cho những người muốn thực hành từng bước bị dội thì phải? Nếu làm vậy, thì nói thực là picvietnam không thể mạnh được đâu. picvietnam mạnh được là nhờ rất nhiều người cùng học cùng nghiên cứu, chứ picvietnam không thể mạnh nhờ những mod giỏi. Đúng như anh Nam nhắc nhở, việc thảo luận USB tạm thời chấm dứt ở đây, chúng ta sẽ nói lại vấn đề USB ở phần cuối của 4550. Oki, trong lúc nói về USB, PTH đã gửi cho chúng ta một cái sơ đồ nguyên lý. F sẽ sử dụng sơ đồ nguyên lý này để lắp mạch chạy Các bạn làm theo mạch này chú ý, F sẽ không lắp phần USB, và các bạn cũng khoan lắp phần USB. Chúng ta trước tiên đơn giản nói về I/O, I/O và tập lệnh là cái mà chúng ta đang cần quan tâm ở đây. http://www.picvietnam.com/download/taplenh.pdf Chắc các bạn còn nhớ bản tập lệnh này. Nó cần cho người đọc thế nào, thì F cũng rất muốn soạn lại phần tập lệnh này cho người học 18F. Vậy bạn nào soạn lại tài liệu này theo chuẩn form của picvietnam, F xin gửi tặng ngay các bạn 5 con PIC18F4550. Nếu chịu khó ngồi làm việc, các bạn làm việc 1 ngày liên tục để soạn lại, các bạn dường như được trả lương với một cái giá 80K x 5 = 400K cho một ngày làm việc, và các bạn đem lại một lợi ích là 30 phút (đọc, chưa chắc hiểu tập lệnh) x 100 người/ngày = 3000 phút/ngày. = 50 giờ /ngày. Lương kỹ sư 3 triệu/tháng (là thấp lắm rồi) = 100K/ngày = 15K/giờ (cực thấp). Vậy với việc làm này các bạn giúp cho xã hội một ngày 15K x 50 = 750K/ngày. Các bạn bỏ ra 1 ngày làm việc, và các bạn nhận được mức lương 400K/ngày, công việc của các bạn đem lại lợi ích 750K/ngày cho xã hội. Chừng nào picvietnam còn tồn tại, chừng đó lợi ích này vẫn còn. Mỗi năm picvietnam tồn tại, công việc của các bạn đem lại cho xã hội 750K x 300 ngày = 225000K/năm. Cụ thể là 225 triệu VND/năm. Các bạn không tin vào các con số mà F tính toán? Các bạn thử soạn bộ tập lệnh đi rồi các bạn sẽ biết hiệu quả của nó. Riêng picvietnam chỉ ngồi nói dóc 1 năm, kéo được công ty sản xuất vi điều khiển 8bit vào VN, thì đó không phải là nói dóc nữa. Và chúng ta sẽ xem thử VN có lợi được bao nhiêu trong vụ này? Vậy nên, F trả lương 5 con PIC cho người nào soạn lại bộ tập lệnh này có ý nghĩa của nó chứ nhỉ? Cái giá bèo là tại vì F không có tiền :D. Hoàn toàn nghiêm túc nhé. Chúc vui |
Thế thôi, em đóng góp cho luồng này của anh F vậy :D
Trả lời câu 5: Việc muốn biết tính năng của bất cứ tính năng nào của con PIC thì nơi tốt nhất phải là datasheet của nó, tất cả những điều hay của con PIC đều được Microchip giới thiệu ở trang thứ 3 của Datasheet. Mục lục của Datasheet đó cũng gần như là giới thiệu tính năng của con PIC đó. Ở đống câu hỏi dài ngoằng của em ở trên, có nói về hầu hết các tính năng mới của 18F4550, em hỏi cho vui thôi, bạn nào muốn trả lời những câu hỏi đó tớ sẵn sàng giúp. |
Oki, thế giờ F về lắp cái mạch 4MHz rồi nhờ các bạn chỉ cho cách config nhé.
Chúc vui |
Cái này em viết từ trước, dùng HTPICC18
__CONFIG(1,HSPLL & USBPLL & PLLDIV5 & CPUDIV1 & FCMDIS & IESODIS); // Thạch anh HighSpeed với PLL, USB với PLL, PLLDIV5 dùng cho thạch anh 20Mhz // chia 5 để được 4MHz, nếu dùng thạch anh 48Mhz thì config là PLLDIV12, tần // số này sẽ được dùng để tạo tần số làm việc cho USB. // CPUDIV1 tức là không chia, dùng tốc độ của thạch anh ngoài cho PIC. // FCMDIS: disabled chế độ fail-safe clock monitor // IESODIS: disabled chế độ Internal/External Oscillator Switchover __CONFIG(2,VREGEN & PWRTDIS & BOREN & BORV20 & WDTDIS & WDTPS32K); //VREGEN: USB Internal Voltage Regulator Enable //PWRTDIS: Power-up Timer disabled //BOREN: Brown-out Reset enabled //BORV20: Brown-out Reset Voltage //WDTDIS: Watchdog disabled //WDTPS32K: Watchdog Timer Postscaler là 32768 __CONFIG(3,CCP2RC1 & PBADDIS & LPT1DIS & MCLREN); //CCP2RC1: CCP2 input/output is multiplexed with RC1 //PBADDIS: Cổng RB<4:0> được config là digital I/O mỗi lần Reset //LPT1DIS: Timer chạy cần năng lượng cao //MCLREN: Master Clear được bật, vô hiệu hóa RE3 __CONFIG(4,STVREN & LVPDIS & XINSTDIS & DEBUGDIS); //STVREN: Stack Full/Underflow Reset enabled //LVPDIS: Low Voltage Programming Dis //XINSTDIS: Extended Instruction Set disabled //DEGUGDIS: disables chế độ DEBUG __CONFIG(5,UNPROTECT); __CONFIG(6,UNPROTECT); __CONFIG(7,UNPROTECT); |
Thế có đồng chí nào config cho F bằng ASM và bằng CCS C không nhỉ, hoặc C18.
Lý do, với các đồng chí 18F trở xuống, F quen dùng ASM, nên thân thuộc với CCS C. Còn với các đồng chí dsPIC thì chúng ta có C30 rồi, xài vi vu. Một ghi chú nhỏ, bảng config bằng ASM được trình bày ở tài liệu [2] PIC18C Manual Section 29. Ở bảng 29-1, có nói về phần dao động. Có bạn nào trình bày cho F hiểu phần dao động này và khi config cho thạch anh 4MHz thì dùng như thế nào không? Câu hỏi 8: Nếu dùng thạch anh 4MHz, thì có mấy cách lựa chọn? Lý do, F đã nói F chọn thạch anh 4MHz để dùng rồi. Câu hỏi 9: F thấy cái OSC Switch nó hơi lạ so với đồng chí 16F, bạn nào giải thích cho F cái này với? Câu hỏi 10: Tạm thời F chưa dùng cái gì hết, cho nên một số tính năng CCP, WDT.. F không quan tâm, nhưng đọc vào thấy cái liên quan đến Processor thì quan tâm. Đó là cái Processor Mode, bạn nào giải thích cho F biết cái này để làm cái gì vậy? Câu hỏi 11: Hàng loạt các giá trị config phía dưới, liên quan tới các bus, vậy câu hỏi: 11a) Tại sao phải có phần config mấy cái quỷ nhỏ này? 11b) Giải thích các giá trị config này Chú ý, chỉ giải thích vừa đủ hiểu, không giải thích quá chi tiết thì nó sẽ đụng chạm lung tung, lằng nhằng. Vì F mới học, cho nên F chỉ quan tâm đơn giản vừa đủ hiểu thôi. Chúc vui |
Trích:
#include <18F4550.h> #fuses HSPLL,NOWDT,NOPROTECT,NOLVP,NODEBUG,USBDIV,PLL3,CP UDIV1,VREGEN Cái này cho thạch anh 12Mhz, tùy giá trị PLLx mà các bác sửa, cái nì chạy ở 48Mhz, CPUDIV1 ASM: __CONFIG _CONFIG1L, _PLLDIV_5_1L & _CPUDIV_OSC1_PLL2_1L & _USBDIV_2_1L __CONFIG _CONFIG1H, _FOSC_HSPLL_HS_1H __CONFIG _CONFIG2H, _WDT_ON_2H & _WDTPS_128_2H __CONFIG _CONFIG3H, _PBADEN_OFF_3H __CONFIG _CONFIG4L, _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L Thạch anh 20Mhz hoặc chơi kiểu nì: ;__CONFIG _CONFIG1L, _PLLDIV_1_1L & _CPUDIV_OSC3_PLL4_1L & _USBDIV_2_1L ;__CONFIG _CONFIG1H, _FOSC_XTPLL_XT_1H & _FCMEM_OFF_1H & _IESO_OFF_1H ;__CONFIG _CONFIG2L, _PWRT_OFF_2L & _BOR_ON_2L & _BORV_21_2L & _VREGEN_ON_2L ;__CONFIG _CONFIG2H, _WDT_OFF_2H & _WDTPS_32768_2H ;__CONFIG _CONFIG3H, _MCLRE_ON_3H & _LPT1OSC_OFF_3H & _PBADEN_OFF_3H & _CCP2MX_ON_3H ;__CONFIG _CONFIG4L, _STVREN_ON_4L & _LVP_OFF_4L & _ICPRT_OFF_4L & _XINST_OFF_4L & _DEBUG_OFF_4L ;__CONFIG _CONFIG5L, _CP0_OFF_5L & _CP1_OFF_5L & _CP2_OFF_5L & _CP3_OFF_5L ;__CONFIG _CONFIG5H, _CPB_OFF_5H & _CPD_OFF_5H ;__CONFIG _CONFIG6L, _WRT0_OFF_6L & _WRT1_OFF_6L & _WRT2_OFF_6L & _WRT3_OFF_6L ;__CONFIG _CONFIG6H, _WRTB_OFF_6H & _WRTC_OFF_6H & _WRTD_OFF_6H ;__CONFIG _CONFIG7L, _EBTR0_OFF_7L & _EBTR1_OFF_7L & _EBTR2_OFF_7L & _EBTR3_OFF_7L ;__CONFIG _CONFIG7H, _EBTRB_OFF_7H config PLLDIV = 1 config CPUDIV = OSC3_PLL4 config USBDIV = 2 config FOSC = XTPLL_XT config FCMEM = OFF config IESO = OFF config PWRT = OFF config BOR = ON config BORV = 21 config VREGEN = ON config WDT = OFF config WDTPS = 32768 config MCLRE = ON config LPT1OSC = OFF config PBADEN = OFF config CCP2MX = ON config STVREN = ON config LVP = OFF config ICPRT = OFF config XINST = OFF config DEBUG = OFF config CP0 = OFF config CP1 = OFF config CP2 = OFF config CP3 = OFF config CPB = OFF config CPD = OFF config WRT0 = OFF config WRT1 = OFF config WRT2 = OFF config WRT3 = OFF config WRTB = OFF config WRTC = OFF config WRTD = OFF config EBTR0 = OFF config EBTR1 = OFF config EBTR2 = OFF config EBTR3 = OFF config EBTRB = OFF Ý nghĩa thì các bác tự tra datasheet :D C18 #include <p18f4550.h> #pragma config PLLDIV = 1 #pragma config CPUDIV = OSC3_PLL4 #pragma config USBDIV = 2 #pragma config FOSC = XTPLL_XT #pragma config FCMEM = OFF #pragma config IESO = OFF #pragma config PWRT = OFF #pragma config BOR = ON #pragma config BORV = 21 #pragma config VREGEN = ON #pragma config WDT = OFF #pragma config WDTPS = 32768 #pragma config MCLRE = ON #pragma config LPT1OSC = OFF #pragma config PBADEN = OFF #pragma config CCP2MX = ON #pragma config STVREN = ON #pragma config LVP = OFF #pragma config ICPRT = OFF #pragma config XINST = OFF #pragma config DEBUG = OFF #pragma config CP0 = OFF #pragma config CP1 = OFF #pragma config CP2 = OFF #pragma config CP3 = OFF #pragma config CPB = OFF #pragma config CPD = OFF #pragma config WRT0 = OFF #pragma config WRT1 = OFF #pragma config WRT2 = OFF #pragma config WRT3 = OFF #pragma config WRTB = OFF #pragma config WRTC = OFF #pragma config WRTD = OFF #pragma config EBTR0 = OFF #pragma config EBTR1 = OFF #pragma config EBTR2 = OFF #pragma config EBTR3 = OFF #pragma config EBTRB = OFF Có cần PicBasic mà MikroC không anh F nhẩy :D |
Trích:
- Dùng bộ dao động nội 8Mhz của PIC, quên thằng 4Mhz đi :D - Config thạch anh 4Mhz là XT hay HS không dùng USBPLL - Dùng USBPLL đầu vào thạch anh không chia (do đã là 4Mhz) tần số có thể dùng 96Mhz PLL div 2,3,4,6. |
Trích:
Với PIC18 thì bắt đầu xuất hiện PLL, với 18F4550 thì ta có thể có các tùy chọn sau với OSC: - Dùng Primary Oscillator, tức là có thể config như PIC16, nhưng cũng có thể dùng PLL - Dùng Secondary Oscillator, đầu vào bộ dao động lấy từ chân T1OSO, T1OSI - Dùng Internal Oscillator 8Mhz. - Ngoài ra 18F4550 còn có chế độ fail-safe clock monitor, Internal/External Oscillator Switchover, quản lý clock, khi clock ngoài không hoạt động thì dùng clock trong. --> tất nhiên OSC Switch sẽ khác. Với PIC16 thì không nhớ con nào có PLL, còn có bộ dao động nội thì hình như chỉ có ở bọn 10F,12F thì phải :D |
Trích:
Trích:
Vi xử lý chỉ bao gồm bộ xử lý trung tâm, cái mà loằng ngoằng bao gồm ALU, khối tính toán số học... và không bao gồm ngoại vi. Vi điều khiển = Vi xử lý + Ngoại vi: cái đề cập chính ở đây là bộ nhớ chương trình, vi điều khiển có, còn vi xử lý thì không. Hai chế độ này khác nhau ở cách thức định địa chỉ (mapped) và cách thức truy xuất bộ nhớ. Với chế độ vi xử lý thì ta phải truy xuất bộ nhớ ngoài, liên quan trực tiếp đến việc truy xuất qua bus, ngoài ra còn liên quan đến chế độ định địa chỉ bộ nhớ, các hoạt động như Table Reads, Writes... Muốn truy cập được bộ nhớ ngoài thì phải config là Microprocessor mode hoặc Extended microcontroller mode. 8051 có tính năng gần như vậy ở chân EA\ (External Access), nếu là mức cao thì dùng bộ nhớ trong(giống như chế độ controller), mức thấp thì truy xuất bộ nhớ ngoài (giống như chế độ processor). |
Trích:
Em vừa cho mấy thằng bạn mấy chú 877A, giờ nhà còn ít PIC, lại có cơ hội ngon, bổ, rẻ thế này, em kiếm mấy con về dùng, các bác thông cảm :D Anh F còn câu hỏi gì thì post nhanh lên ạ :D |
Trích:
Uhm, mạng ở VN bị động đất ở Đài Loan, nên chập chờn, mọi người cứ thoải mái nhé. Chú PTH không cho trả lời nữa, đứng một bên để cho anh học. Anh mà cần làm gì anh đâu có làm nữa, giao cho chú với Chính làm hết rồi kaka... Ờ, chuẩn bị gửi anh Phước ra HN, có lẽ sau đó sẽ gửi Chính ra (sau khi anh Phước về). Bây giờ anh gọi về VN không được nữa, cho nên anh nhắn lên đây. Khoảng tầm sau tết thì chú coi đứa nào còn chỗ ở, nhắn anh một tiếng, để anh còn sắp xếp cho anh Phước. Thế nhé. |
Trích:
Câu hỏi này ngoài luồng, vì chú Hòa đang ngâm cứu ARM, ngoài ra, cũng muốn giúp các bạn làm rõ nghĩa một số khái niệm về bộ nhớ ở phần này, vì lên tới dòng 18F và dòng dsPIC, một số vấn đề về bộ nhớ nó sẽ gây rắc rối cho các bạn. Đặc biệt, làm việc với 18F, giúp các bạn một bước chuẩn bị tốt để tiến tới sử dụng dsPIC hiệu quả hơn, và từ dsPIC, các bạn tiến tới sử dụng các loại DSP khác không có gì khó khăn, cũng giống như khi học PIC16 và sử dụng các vi điều khiển khác vậy. À, vụ ARM, cuối tháng 1, bạn anh về VN, anh gửi cho chú bộ kit đầy đủ ARM, có thể thực hành và dùng JTAG qua USB ảo của nó. Có đầy đủ CD và kit, cable... Có gì anh sẽ trao đổi thêm với anh BA về định hướng phát triển của phòng. Thực sự chủ trương của anh không muốn phát triển ARM, lý do anh sẽ trao đổi sau. Nhưng anh vẫn chủ trương phát triển TI ở Việt Nam, mặc dù thị phần của ARM mạnh hơn TI trên thế giới. Oki, việc này không bàn xa ở đây. Thế nhé. |
Thế chú Hòa cần con chip gì. :D
Có trả lời thì từ từ thôi. Theo cho kịp chú cũng đuối. Bữa giờ cũng viết firmware cho con này, nhưng cứ lấy C18 mà phang đùng đùng, lấy cái Application Maestro ra mà dộng ầm ầm. Kết quả là ... mất căn bản trầm trọng. :(. Chịu khó đứng ở ngoài, lắng nghe và thấu hiểu. Thư giãn chút xíu đi. http://nhacso.net/Music/Song/Rock-Vi...5/10/05F5F011/ :D |
Thế thui, em không trả lời nữa, có thì bổ xung thôi :D
Anh F với anh Chính có con PIC nào không dùng nữa, đểu đểu thui, em xin vài con, đem cho mấy thằng bạn cho nó đốt, chứ PIC thì em thiếu gì nhưng toàn dsPIC, đem cho em hơi tiếc :D Anh F nói đến con vi xử lý có nói đến bộ nhớ đệm cache L1,L2,L3 của nó, mà cỡ 6M em mới chỉ biết có con Itanium 2 của Intel mới lớn đến như vậy. Bộ nhớ này được dùng làm nháp và nạp trước lệnh vào vi xử lý, thông thường, tốc độ tính toán của vi xử lý dùng cho máy tính cá nhân như con PIV hay Athlon nhanh hơn tốc độ nạp lệnh vào bộ xử lý, nên để hạn chế hiện tượng này, mã lệnh của chương trình được nạp vào bộ nhớ đệm nằm trên chip, nên bộ nhớ đệm càng lớn thì càng tránh được hiện tượng thắt cổ chai. Bác nào đã dùng em Celeron với cache 128K thì thấy khác hẳn với PIV 512K cache, mặc dù cùng tốc độ xung nhịp, rõ nhất là khi dùng nhiều chương trình cùng lúc. Ngoài ra, tận dụng các bộ nhớ đệm này, Intel và AMD còn có công nghệ dự đoán lệnh tiếp theo và tối ưu thứ tự tính toán, còn tốc độ giao tiếp với CPU thì bộ nhớ này có tốc độ cao nhất, em nhớ không nhầm là 6.4GB. Nhưng trong sách vở không thấy nói thằng này thuộc bộ nhớ trong hay bộ nhớ ngoài. Bộ nhớ trong: RAM, ROM Bộ nhớ ngoài: Đĩa cứng, đĩa quang, băng từ... Chứ thằng này em chưa thấy nó vô chỗ nào :D Em cám ơn anh F trước về cái KIT ARM nhá :) Em đi theo hướng ARM để dùng nó làm con trung tâm điều khiển hệ thống, mà chủ yếu nhằm vào RTOS, lợi dụng khả năng quản lý tác vụ của hệ điều hành để quản lý hệ thống lớn, chứ cứ ngồi mà lập trình không có quản lý thì cỡ trên vài ngàn dòng lệnh thì nếu sai thì không biết đằng nào mà lần, nếu có nó quản lý thì sai module nào ta sửa module đó. Chứ em không đi sâu quá nhiều vào ARM. Hướng chính của em sẽ tập trung vào DSC để điều khiển, em đang xem qua họ HCS12, DSP56800 của FreeScale, bọn này thực sự mạnh, nhưng nếu anh định dùng đồ TI thì em xoay sang TMS320 cũng OK. Còn nhà cửa thì anh alo cho anh BA, cả Phương, anh Đoàn, Hùng đều đang ở trọ, thiếu gì nhà :D |
Oki, vụ nhà cửa oki.
Chuyển hướng qua TMS320 đi thôi, ARM làm thì được, nhưng chỉ đi làm thuê thôi, vì mình không sản xuất được chip. Bọn nó sản xuất chip dùng core ARM đã tính toán để dùng cho một số loại ứng dụng nào đó rồi. Để ý, thằng nào cũng có con ARM. Riêng thằng TI, sau khi phát triển dòng ARM thì nó cho lên dĩa luôn. Mà thôi, bàn chuyện này xa quá. Em đọc thêm nhiều về phần xử lý cache, vì phần đó dù DSP nào thì cũng cần. Mấy con ARM chắc chắn có. Còn về phần mấy con Intel hay AMD thì anh nói là đi mua chip, để nói thí dụ thôi, chứ cache thì giá rất cao, cho nên không thể làm dung lượng lớn trong mấy con DSP được (hy vọng sau này càng ngày càng tăng). Oki, tạm dừng ở đó. Bây giờ phần config coi như đã làm xong. F cũng vừa hàn xong cái mạch, gọi là chạy được. Lưu ý, F vẫn dùng thạch anh 4MHz dao động ngoài. Oki, các bạn thích dùng thạch anh khác cũng được, nhưng các phần bài toán tính toán các bạn nhớ xem xét lại cho đúng. Oki, bây giờ chúng ta dùng CCS C bản 4.018 được cung cấp trên tailieuvietnam nhé. Và song song đó, chúng ta dùng ASM để phân tích vấn đề. Lý do, dùng CCS C, nó gần ASM, và F hiện giờ không có thời gian để đọc code nữa. Khi cần, chúng ta sẽ dùng ASM để phân tích vấn đề. Chúc vui. |
Thế chú Hòa có cần chip của TI không?
:D Gửi vài con ra cho chú nhé. |
Sau khi config xong, bây giờ F đang muốn làm một chương trình nhỏ, xuất ra port B, cho đèn nhấp nháy từ B0 đến B7. B0 sáng, rồi tắt, rồi B1 sáng, rồi tắt... cứ như vậy... lặp lại.
Xin cho F một quả ASM và một quả CCS C nhé, để F thực hành. Nhớ cho chương trình đầy đủ và có phân tích cụ thể. Thanks các bạn. Chúc vui. |
Làm xong mạch nghiêm túc, bây giờ chờ có chương trình để nạp vào thử. À, tất nhiên là chờ cả cái mạch nạp Chính gửi sang. Chúc vui PS> Mà này, F nghiêm chỉnh học hành, các bạn cũng nghiêm chỉnh hướng dẫn nhé. Ngoại trừ các MOD của picvietnam, dientuvietnam, F không cho tham gia (Chính, Bắc, Hoà,...) còn lại tất cả các bạn đều có thể tham gia. Đây là một cơ hội để học, và để thử nghiệm từng chút một, rất đơn giản, và hiệu quả. Đừng ngồi chờ người khác bày sẵn cho mình, các bạn có thể vào cuộc ngay. Chúc vui |
hỏi sơ đồ mạch USB trong vd ex_usb_hid.c
Chào mọi người,
Mình đang làm về mạch usb với con 18F4550. Mình muốn chạy các vd về usb của compiler CCS, như vd: ex_usb_hid.c trong thư mục PICC\Examples. Mình đã ráp thử mạch và nạp chương trình này cho PIC nhưng không giao tiếp được với PC. Bạn nào biết chỉ mình với. Xin cảm ơn. |
Trích:
Thân, |
sơ đồ mạch usb với 18F4550
1 Attachment(s)
Trích:
|
Mạch này chắc không phải của CCS rồi, bạn đang dùng râu ông nọ cắm cằm bà kia. Nó chạy được mới là chuyện lạ.
Có phải trong tập tin ex_usb_hid.c của bạn có những dòng này: Code:
//// USB HID example, for use with the PIC16C765 slow speed USB //// Bạn có được sơ đồ phần cứng đó ở đâu thì nên đọc phần hướng dẫn tương ứng ở đó. Tôi đoán là bạn có được sơ đồ này từ pic18fusb.online.fr, trong phần nói về bootloader. Nếu đúng thì sơ đồ đó được dùng với bootloader của Microchip. Thân, |
gởi anh namqn code của ex_usb_hid.c(version4.016)
1 Attachment(s)
Trích:
|
Bạn dùng PIC18F4550 nên mã nguồn sẽ sử dụng chân power sense (chân RB2 của PIC), sơ đồ nối như trong phần chú thích trong mã nguồn của bạn (từ Vbus có 2 điện trở 100k đi đến RB2 và GND).
CCS cung cấp một chương trình mẫu trên host PC, tên là hiddemo.exe, chỉ có trong bộ USB Development Kit của họ, để dùng với ví dụ này. Ngoại vi của PIC khá đơn giản, dùng AN0 để đọc tín hiệu analog, có 3 LED nối vào RB4, RB5, và RA5. Những chân OSC1, OSC2, Vusb, MCLR, D+ và D- thì giống như mạch của pic18usb.online.fr. Những thông tin về phần cứng này nằm trong tập tin nguồn mà bạn vừa cung cấp. Thân, |
tôi giới thiệu web mới viết về 18f2550 www.semifluid.com
|
Chào tất cả mọi người trong diễn đàn, mình mới bắt đầu tìm hiểu vi điều khiển và mình rất quan tâm đến PIC. Mình gia nhạp diễn đàn với mục đích tìm hiểu và học hỏi nên rất mong các bạn chỉ giáo.
|
1 Attachment(s)
Chào các bác
Em đang tập lập trình cho con 18f4550 nhưng chỉ định làm 1 cái ctrinh nhấp nháy led thôi mà mãi ko đc Các chân set high a1 a3 thì sáng, nhưng ko nhấp nháy Mạch của em chỉ có : chân 11-12 :vcc-gnd , 13-14 : thạch anh +tụ Code sinh từ CCS C 3.227 Code:
#include "C:\Program Files\PICC\Examples\18f4550\Vinh.h" Ko rõ là bị làm sao, mong các bác chỉ giáo, nếu có 1 ctrinh sample cho em thì tốt quá :) |
PIC18F4550 có 2 cặp chân nguồn, Vdd ở 11 và 32, Gnd ở 12 và 31. Bạn có đủ những chân đó nối vào chỗ cần thiết chưa?
Thân, |
Chân 31-32 Em nối rồi, kết quả vẫn như vậy cứ chân nào lúc đầu set lên high thì nó lên high còn ko thì nó low, gần như là chỉ set đc 1 lần duy nhất
|
1 Attachment(s)
Code:
Dim digit As Byte Thân, |
Trích:
@Chuthanhcong: mạch của bạn ko chạy được mình nghĩ vấn đề chắc chắn là ở việc lựa chọn thạch anh và tần số hoạt động chưa đúng với cấu hình nên PC ko nhận điện đc thiết bị USB. Trước mình đã làm rồi, gắn vô PC nó sẽ nhận diện đc thiết bị. Trong bản CCS 4 phần sample còn có thêm code tạo Visual COM tức USB >> COM, mình đã dùng thử cổng COM này để giao tiếp thấy cũng khá ổn. Thới gian này đang bận chuyển nhà và cũng một phần vì công việc, sẽ cố gắng có một bài viết cụ thể về 4550 chia sẻ với các bạn. Chúc thành công! |
Em đã thử chương trình của bác namnq, mạch có chạy , 2 đèn sáng mỗi lần, nhưng mỗi đèn sáng tầm 15s mới chịu tắt :(
Một điều kì lạ là nếu em 1 tay sờ vào vỏ hộp nguồn ( em dùng nguồn pc để cấp điện) 1 tay sờ vào board mạch thì nó lại nhấp nháy đc led( code nhấp nháy led ko phải knighrider), thả ra lại hết đèn sáng ko nhấp, thử dùng nguồn khác ( nguồn usb ) thì cũng tương tự, 1 tay chạm vào vỏ máy, 1 tay chạm vào board mạch thì mạch lại chạy . Em đã thử cả trên board cắm lẫn board hàn, cả PIC18f4550 lẫn 16f877A, không hiểu nó cảm ứng kiểu gì, em đã cấp nguồn âm dương đầy đủ cho nó. |
Trích:
Hiện tượng này giống như chân MCLR bị thả nổi. Thân, |
ô là la mới mua nhầm 1 chú pic 18 thôi kệ học đại vậy, dzị mà nạp chương trình vào pic xong cho chạy chạy được 1 nhịp rồi nín khe, vịn vào nguồn cấp âm hoặc dương thì đều chạy tốt định lên hỏi mấy anh nhưng trời ơi thấy cũng giống hệt mình, mấy anh có kinh nghiệm giải quyết vụ này chỉ bảo em với (em cũng đang tìm hiểu sự cố này mặc dù nguồn đã được nắn lọc cực tốt)
namqn: đã nói trên kia rồi, có thể chân MCLR bị thả nổi. |
Hic gặp được người đồng cảnh ngộ mừng quá :p
Em vẫn chưa giải quyết đc cái vụ này, dù chân MCLR đã nối lên Vcc qua 1 trở 10K , làm nút reset đàng hoàng nhưng tình hình vẫn vậy, cứ chạm tay vào GND thì mới chạy bỏ ra là tịt :( |
Trang WEB ma ban "Le vu" đưa ra khá hay. Tôi đã lặp các mạch cho con 2550 theo như trên web và tất cả đều chạy rất tốt, code chương trinh cũng đơn giản và dễ hiểu, gúp cho người dùng dễ dàng modifê lại.
Liệt kê các Project: - Làm OSC đơn giản (tần số thấp) - Quét led RGB - Giao tiếp GLCD, làm OSC - Giao tiếp không dây chuẩn ZigBee (bộ RF-24 ở VN có ai bán ko nhỉ, giá cả ?) ... Mọi người cung tham khảo. |
Trích:
Thân, |
Múi giờ GMT. Hiện tại là 11:21 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