PIC Vietnam

Go Back   PIC Vietnam > Microchip PIC > dsPIC - Bộ điều khiển tín hiệu số 16-bit

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

dsPIC - Bộ điều khiển tín hiệu số 16-bit Theo dự kiến của Microchip, vào khoảng năm 2011 dsPIC sẽ có doanh số lớn hơn PIC

Trả lời
 
Ðiều Chỉnh Xếp Bài
Old 25-02-2009, 08:02 PM   #1
hoanggiamta
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 5
:
Unhappy dao động trong dspic30F6010A- Các bác giúp em với!!!

em đang viết thử 1 chương trình cho con dspic30f6010A, gặp vấn đề về phần dao động. Cụ thể là là em không thấy có dao động. khi chạm tay vào 1 chân của thạch anh thì em mới thấy có dao động nhưng tần số rất thấp, thấp hơn nhiều so với tần số của thạch anh và tần số dao động nội FRC. Em đã kiểm tra rất kỹ phần cứng và em nghi là config bits của em có vấn đề. Em dùng MPLAP C30, em cấu hình lần lượt cho hai trường hợp là dùng dao động thạch anh và dao động nội. config bits như sau:
dao động nội:
_FOSC(CSW_FSCM_ON & FRC_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF& MCLR_EN);

dao động dùng thạch anh:
FOSC(CSW_FSCM_OFF & XT_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF& MCLR_EN);

thì đều không chạy. Mong các bác giúp em với!!!
hoanggiamta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 08:28 PM   #2
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hoanggiamta View Post
em đang viết thử 1 chương trình cho con dspic30f6010A, gặp vấn đề về phần dao động. Cụ thể là là em không thấy có dao động. khi chạm tay vào 1 chân của thạch anh thì em mới thấy có dao động nhưng tần số rất thấp, thấp hơn nhiều so với tần số của thạch anh và tần số dao động nội FRC. Em đã kiểm tra rất kỹ phần cứng và em nghi là config bits của em có vấn đề. Em dùng MPLAP C30, em cấu hình lần lượt cho hai trường hợp là dùng dao động thạch anh và dao động nội. config bits như sau:
dao động nội:
_FOSC(CSW_FSCM_ON & FRC_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF& MCLR_EN);

dao động dùng thạch anh:
FOSC(CSW_FSCM_OFF & XT_PLL8);
_FWDT(WDT_OFF);
_FBORPOR(PBOR_OFF& MCLR_EN);

thì đều không chạy. Mong các bác giúp em với!!!
Sơ đồ mạch ứng dụng của bạn ra sao? Bạn có các tụ decoupling giữa các cặp chân nguồn không? Bạn đặt trạng thái cho chân MCLR ra sao?

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 08:47 PM   #3
hoanggiamta
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 5
:
em đặt trạng thái cho MCLR =1 bằng cách nối với Vcc qua điện trở 4,7K.Chương trình của em đã chạy nhưng đó là khi em chạm tay vào 1 chân của thạch anh.Giữa các cặp chân nguồn e không có tụ nào cả. em chỉ có 2 tụ 104 nối giữa Vcc và GND thôi.theo bác lỗi của em là do đâu?
hoanggiamta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 08:53 PM   #4
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hoanggiamta View Post
em đặt trạng thái cho MCLR =1 bằng cách nối với Vcc qua điện trở 4,7K.Chương trình của em đã chạy nhưng đó là khi em chạm tay vào 1 chân của thạch anh.Giữa các cặp chân nguồn e không có tụ nào cả. em chỉ có 2 tụ 104 nối giữa Vcc và GND thôi.theo bác lỗi của em là do đâu?
dsPIC30F6010A có 5 cặp chân nguồn (VDD, VSS và AVDD, AVSS) mà bạn chỉ có 2 tụ 104! Bạn đã cấp nguồn vào tất cả các cặp chân nguồn chưa? Nên có một tụ ceramic 104 cho mỗi cặp chân nguồn kề nhau, đặt càng gần chip càng tốt.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 09:06 PM   #5
hoanggiamta
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 5
:
Vâng, nhưng em chọn nguồn dao động nội FRC cũng không được, và em cứ chạm tay vào 1 chân thạch anh thì chương trình lại chạy(nhưng với tốc độ rất chậm). Bác xem hộ em phần config bits của em có đúng không ạ?em sợ dspic30f6010a thuộc version 3 nên phải config có gì khác chứ ạ?
hoanggiamta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 09:31 PM   #6
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hoanggiamta View Post
Vâng, nhưng em chọn nguồn dao động nội FRC cũng không được, và em cứ chạm tay vào 1 chân thạch anh thì chương trình lại chạy(nhưng với tốc độ rất chậm). Bác xem hộ em phần config bits của em có đúng không ạ?em sợ dspic30f6010a thuộc version 3 nên phải config có gì khác chứ ạ?
Tôi có thói quen xác định tường minh giá trị của tất cả các từ cấu hình, với bộ dao động nội thì tôi thường dùng như sau:
Code:
	_FOSC(CSW_FSCM_OFF & FRC_PLL8);
	_FWDT(WDT_OFF);
	_FBORPOR(PBOR_OFF & MCLR_EN);
	_FBS(CODE_PROT_OFF);
	_FSS(CODE_PROT_OFF);
	_FGS(CODE_PROT_OFF);
	_FICD(ICS_NONE);
Khi bạn dùng cấu hình XT_PLL8 thì bạn dùng thạch anh tần số bao nhiêu?

Chú ý đọc errata sheet sau, mục 14: http://ww1.microchip.com/downloads/e...Doc/80258G.pdf.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 09:42 PM   #7
hoanggiamta
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 5
:
em dùng thạch anh tần số 8 MHz.em cũng đã đọc datasheet này rồi,nhưng em không thấy khác dspic30f4012 điểm nào ở phần dao động.trước đây em đã làm với dspic30f4012, thạch anh 4MHz và chạy rất tốt rồi ạ.
hoanggiamta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 10:53 PM   #8
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi hoanggiamta View Post
em dùng thạch anh tần số 8 MHz.em cũng đã đọc datasheet này rồi,nhưng em không thấy khác dspic30f4012 điểm nào ở phần dao động.trước đây em đã làm với dspic30f4012, thạch anh 4MHz và chạy rất tốt rồi ạ.
Ở luồng dưới đây đã có bạn phản ánh rằng dsPIC30F5013 có lỗi ở bộ dao động:
http://www.picvietnam.com/forum/showthread.php?t=401

Do đó, không loại trừ khả năng bộ dao động của chip dsPIC30F6010A của bạn cũng có vấn đề. Tuy nhiên, bạn nên kiểm tra lại phần cứng của bạn, để đảm bảo không phải vì một nguyên nhân ngớ ngẩn nào khác.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-02-2009, 10:59 PM   #9
hoanggiamta
Nhập môn đệ tử
 
Tham gia ngày: Jul 2008
Bài gửi: 5
:
vâng.Cảm on bác rất nhiều!
hoanggiamta vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 01-03-2009, 11:24 PM   #10
conglong
Đệ tử 4 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 68
:
Thầy Nam (namqn) cho em hỏi là :em đọc "dsPIC30F Family Reference Manual" ở phần "Device configuration" họ có nói về thanh ghi FOSC là :

" bit 3-0 FPR<3:0>: Primary Oscillator Mode Selection bits
1111 = EC w/ PLL 16x - External Clock mode with 16x PLL enabled. OSC2 pin is I/O.
1110 = EC w/ PLL 8x - External Clock mode with 8x PLL enabled. OSC2 pin is I/O.
1101 = EC w/ PLL 4x - External Clock mode with 4x PLL enabled. OSC2 pin is I/O.
1100 = ECIO - External Clock mode. OSC2 pin is I/O.
1011 = EC - External Clock mode. OSC2 pin is system clock output (FOSC/4).
1010 = Reserved. Do not use.
1001 = ERC - External RC Oscillator mode. OSC2 pin is system clock output (FOSC/4).
1000 = ERCIO - External RC Oscillator mode. OSC2 pin is I/O.
0111 = XT w/ PLL 16x - XT Crystal Oscillator mode with 16x PLL enabled (4 MHz-10 MHz crystal)
0110 = XT w/ PLL 8x - XT Crystal Oscillator mode with 8x PLL enabled (4 MHz-10 MHz crystal)
0101 = XT w/ PLL 4x - XT Crystal Oscillator mode with 4x PLL enabled (4 MHz-10 MHz crystal)
0100 = XT - XT Crystal Oscillator mode (4 MHz-10 MHz crystal)
001x = HS - HS Crystal Oscillator mode (10 MHz-25 MHz crystal)
000x = XTL - XTL Crystal Oscillator mode (200 kHz-4 MHz crystal) "

vây thì External Clock với XT Crystal Oscillator khác nhau chỗ nào hả thầy ?
khi em muốn thiết lập các chế độ tương ứng thì em phải thiết lập như thế nào (cả ASM lẫn C30) ?
Thầy có thể cho em xin cach thiết lập tường minh tất cả các mode của bộ giao động dsPIC30 không ?
em cảm ơn!
Chúc vui!
conglong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 02-03-2009, 05:11 AM   #11
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi conglong View Post
Thầy Nam (namqn) cho em hỏi là :em đọc "dsPIC30F Family Reference Manual" ở phần "Device configuration" họ có nói về thanh ghi FOSC là :

" bit 3-0 FPR<3:0>: Primary Oscillator Mode Selection bits
1111 = EC w/ PLL 16x - External Clock mode with 16x PLL enabled. OSC2 pin is I/O.
1110 = EC w/ PLL 8x - External Clock mode with 8x PLL enabled. OSC2 pin is I/O.
1101 = EC w/ PLL 4x - External Clock mode with 4x PLL enabled. OSC2 pin is I/O.
1100 = ECIO - External Clock mode. OSC2 pin is I/O.
1011 = EC - External Clock mode. OSC2 pin is system clock output (FOSC/4).
1010 = Reserved. Do not use.
1001 = ERC - External RC Oscillator mode. OSC2 pin is system clock output (FOSC/4).
1000 = ERCIO - External RC Oscillator mode. OSC2 pin is I/O.
0111 = XT w/ PLL 16x - XT Crystal Oscillator mode with 16x PLL enabled (4 MHz-10 MHz crystal)
0110 = XT w/ PLL 8x - XT Crystal Oscillator mode with 8x PLL enabled (4 MHz-10 MHz crystal)
0101 = XT w/ PLL 4x - XT Crystal Oscillator mode with 4x PLL enabled (4 MHz-10 MHz crystal)
0100 = XT - XT Crystal Oscillator mode (4 MHz-10 MHz crystal)
001x = HS - HS Crystal Oscillator mode (10 MHz-25 MHz crystal)
000x = XTL - XTL Crystal Oscillator mode (200 kHz-4 MHz crystal) "

vây thì External Clock với XT Crystal Oscillator khác nhau chỗ nào hả thầy ?
khi em muốn thiết lập các chế độ tương ứng thì em phải thiết lập như thế nào (cả ASM lẫn C30) ?
Thầy có thể cho em xin cach thiết lập tường minh tất cả các mode của bộ giao động dsPIC30 không ?
em cảm ơn!
Chúc vui!
Với External Clock, bạn cung cấp cho dsPIC một tín hiệu dao động từ một mạch dao động bên ngoài dsPIC. Còn với XT Crystal Oscillator, bạn dùng mạch dao động bên trong dsPIC với một thạch anh nối giữa hai chân OSC1 và OSC2.

Nếu dùng ASM30, bạn thiết lập hai chế độ trên như sau (giả sử dùng dsPIC30F4012, cả hai trường hợp đều dùng PLL x8):
Code:
	config	__FOSC, CSW_FSCM_OFF & EC_PLL8
	config	__FOSC, CSW_FSCM_OFF & XT_PLL8
Nếu dùng C30, bạn thiết lập hai chế độ trên như sau (giả sử dùng dsPIC30F4012, cả hai trường hợp đều dùng PLL x8):
Code:
	_FOSC(CSW_FSCM_OFF & EC_PLL8);
	_FOSC(CSW_FSCM_OFF & XT_PLL8);
Về việc thiết lập tường minh tất cả các mode có thể có cho bộ dao động trong dsPIC30F, bạn có thể xem ở cuối tập tin .inc (nếu lập trình hợp ngữ) hay cuối tập tin .h (nếu code bằng C30) tương ứng của chip đang dùng. Các tập tin này có thể tìm thấy ở thư mục con "Support/dsPIC30F/inc" trong thư mục cài đặt trình hợp dịch hay thư mục con "support/dsPIC30F/h" trong thư mục cài đặt trình biên dịch.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-03-2009, 06:09 PM   #12
conglong
Đệ tử 4 túi
 
Tham gia ngày: Jan 2008
Bài gửi: 68
:
Dạ vâng em hiểu rồi a.
Thầy cho em hỏi cái nữa về dao động nội, khi em dùng lệnh sau trong ASM :
" config __FOSC, CSW_FSCM_OFF & FRC "
Vậy thì tần số dao động chính xác của nó là bao nhiêu? Em tìm trongg datasheet và "manual reference ..." mà chưa thấy họ nói gì về điều này.
Em cảm ơn thầy !
Trân trọng !
conglong vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 04-03-2009, 06:47 PM   #13
namqn
Trưởng lão PIC bang
 
Tham gia ngày: Feb 2006
Nơi Cư Ngụ: Tp. HCM, Việt Nam
Bài gửi: 3,025
:
Send a message via Yahoo to namqn
Trích:
Nguyên văn bởi conglong View Post
Dạ vâng em hiểu rồi a.
Thầy cho em hỏi cái nữa về dao động nội, khi em dùng lệnh sau trong ASM :
" config __FOSC, CSW_FSCM_OFF & FRC "
Vậy thì tần số dao động chính xác của nó là bao nhiêu? Em tìm trongg datasheet và "manual reference ..." mà chưa thấy họ nói gì về điều này.
Em cảm ơn thầy !
Trân trọng !
Vì bộ dao động nội sử dụng mạch RC, nên tần số chính xác của nó không thể xác định được (phụ thuộc vào điện áp nguồn, nhiệt độ làm việc, sai số chế tạo, ...). Chỉ có tần số dao động danh định được nêu trong datasheet. Vì bạn hỏi ở cả hai luồng, tôi đưa ra thông tin cho cả dsPIC30F2010 và dsPIC30F6010A. Theo mục 19.2.5 trong datasheet của dsPIC30F2010, tần số danh định của FRC là 7.37 MHz +/- 2%. Theo mục 21.2.5 trong datasheet của dsPIC30F6010A, tần số danh định của FRC là 7.37 MHz.

Thân,
__________________
Biển học mênh mông, sức người có hạn.

Đang gặp vấn đề cần được giúp đỡ? Hãy dành ra vài phút đọc luồng sau:
http://www.picvietnam.com/forum/showthread.php?t=1263
namqn 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à 07:18 AM.


Đượ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