PIC Vietnam

Go Back   PIC Vietnam > Truyền thông > Giao tiếp USB, CAN, I2C, SPI, USART...

Tài trợ cho PIC Vietnam
Trang chủ Đăng Kí Hỏi/Ðáp Thành Viên Lịch Bài Trong Ngày Vi điều khiển

Giao tiếp USB, CAN, I2C, SPI, USART... Những giao tiếp được tích hợp trên PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 03-08-2009, 02:29 PM   #1
enti
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 26
:
USB với PIC24F

Mình thiết kế board để sử dụng USB với PIC24FJ256GB110.
Các giao tiếp khác đã sử dụng được, còn USB thì chưa hoạt động.
Mình nạp code mẫu của Microchip (USB Device - HID - Mouse).
Mình thiết kế tương tự với PIC24Fj256GB106 thì hoạt động được, nhưng sang con GB110 thì không được.
Mình gửi kèm schematic và code config, có ai đã làm được thì chỉ giúp mình.
Code:
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) 
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV5 & IOL1WAY_ON)
Thạch anh mình dùng 20MHz
File Kèm Theo
File Type: pdf PIC24FJ256GB110.pdf (38.6 KB, 124 lần tải)
enti vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-08-2009, 03:06 PM   #2
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi enti View Post
Mình thiết kế board để sử dụng USB với PIC24FJ256GB110.
Các giao tiếp khác đã sử dụng được, còn USB thì chưa hoạt động.
Mình nạp code mẫu của Microchip (USB Device - HID - Mouse).
Mình thiết kế tương tự với PIC24Fj256GB106 thì hoạt động được, nhưng sang con GB110 thì không được.
Mình gửi kèm schematic và code config, có ai đã làm được thì chỉ giúp mình.
Code:
_CONFIG1( JTAGEN_OFF & GCP_OFF & GWRP_OFF & COE_OFF & FWDTEN_OFF & ICS_PGx2) 
_CONFIG2( 0xF7FF & IESO_OFF & FCKSM_CSDCMD & OSCIOFNC_OFF & POSCMOD_HS & FNOSC_PRIPLL & PLLDIV_DIV5 & IOL1WAY_ON)
Thạch anh mình dùng 20MHz
Không rõ bạn dùng stack version mấy

Vấn đề có thể nằm ở chân BUS_SENSE, để kiểm tra xem cable USB có được cắm hay không (đối với các thiết kế self-powered). Khi chưa phát hiện cắm cable các hàm phục vụ USB sẽ không làm gì hết.

Khi chọn GB106, stack sẽ dùng hardwareprofile của PIC24F-starter-kit, kit này ko dùng chân BUS_SENSE vì nó cấp nguồn từ USB (bus-powered)

Nhưng khi chọn GB110 nó sẽ dùng hardwareprofile của Explorer 16

Do thiết kế của bạn không dùng BUS_SENSE nên bạn cần kiểm tra lại trong file hardwareprofile.h và các file hardwareprofile-xxxx.h tương ứng.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-08-2009, 04:22 PM   #3
enti
Đệ tử 2 túi
 
Tham gia ngày: Nov 2006
Bài gửi: 26
:
Trong file "HardwareProfile.h"
Code:
#if defined(__C30__)
        #if defined(__PIC24FJ256GB110__)
            #include "HardwareProfile - PIC24FJ256GB110 PIM.h"
        #elif defined(__PIC24FJ256GB106__)
            #include "HardwareProfile - PIC24F Starter Kit.h"
        #endif
    #endif
Trong file "HardwareProfile - PIC24FJ256GB110 PIM.h"
Mình sửa code như sau
Code:
    //#define USE_USB_BUS_SENSE_IO
    //#define tris_usb_bus_sense  TRISDbits.TRISD0    // Input
    //#define USB_BUS_SENSE       1
    #define tris_usb_bus_sense  U1OTGSTATbits.SESVD  //TRISBbits.TRISB5    // Input
    #define USB_BUS_SENSE       U1OTGSTATbits.SESVD
Hai dòng cuối là mình copy từ bên file "HardwareProfile - PIC24F Starter Kit.h" sang, nhưng USB vẫn không hoạt động.
Có bạn nào đã làm không, có cách nào khác chỉnh sửa thiết kế không? mình có header nên có thể nối dây được.
Ngoài ra, mình dùng nguồn từ USB để hoạt động.

thay đổi nội dung bởi: enti, 03-08-2009 lúc 04:37 PM.
enti vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 03-08-2009, 04:56 PM   #4
bien_van_khat
...Damned...
 
bien_van_khat's Avatar
 
Tham gia ngày: Apr 2006
Nơi Cư Ngụ: Hồ Chí Minh
Bài gửi: 522
:
Trích:
Nguyên văn bởi enti View Post
Trong file "HardwareProfile.h"
Code:
#if defined(__C30__)
        #if defined(__PIC24FJ256GB110__)
            #include "HardwareProfile - PIC24FJ256GB110 PIM.h"
        #elif defined(__PIC24FJ256GB106__)
            #include "HardwareProfile - PIC24F Starter Kit.h"
        #endif
    #endif
Trong file "HardwareProfile - PIC24FJ256GB110 PIM.h"
Mình sửa code như sau
Code:
    //#define USE_USB_BUS_SENSE_IO
    //#define tris_usb_bus_sense  TRISDbits.TRISD0    // Input
    //#define USB_BUS_SENSE       1
    #define tris_usb_bus_sense  U1OTGSTATbits.SESVD  //TRISBbits.TRISB5    // Input
    #define USB_BUS_SENSE       U1OTGSTATbits.SESVD
Hai dòng cuối là mình copy từ bên file "HardwareProfile - PIC24F Starter Kit.h" sang, nhưng USB vẫn không hoạt động.
Có bạn nào đã làm không, có cách nào khác chỉnh sửa thiết kế không? mình có header nên có thể nối dây được.
Ngoài ra, mình dùng nguồn từ USB để hoạt động.
Có vẻ như không phải do BUS_SENSE.

Khi nối vào máy tính, windows không nhận ra có thiết bị kết nối hay nó báo có kết nối nhưng ko nhận ra thiết bị?

Bạn có thể thử debug bằng ICD2 hoặc PICkit2 để tìm nguyên nhân chip ko chạy.
__________________
- Xin đọc trước khi post bài

Xin đặt code trong thẻ [ code ] [ /code ]
bien_van_khat vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Trả lời


Quyền Sử Dụng Ở Diễn Ðàn
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is Mở
Smilies đang Mở
[IMG] đang Mở
HTML đang Tắt

Chuyển đến


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


Được sáng lập bởi Đoàn Hiệp
Powered by vBulletin®
Page copy protected against web site content infringement by Copyscape
Copyright © PIC Vietnam