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 23-04-2006, 06:53 PM   #1
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
dsPIC-Các vấn đề về phần cứng

Bên cạnh việc mở luồng cho các thắc mắc về ASM30, và C30, tôi mở luồng này để các bạn có thể trao đổi các vấn đề về phần cứng của dsPIC. Tôi dự đoán là sẽ nảy sinh nhiều vấn đề về phần cứng, nhưng trước mắt chúng ta chỉ dùng luồng này để trao đổi, khi nào các vấn đề cho một module phần cứng nào đó phát triển khá nhiều thì tôi sẽ tách luồng cho module đó.
Nào các bạn, cùng nhau mổ xẻ dsPIC thôi!

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 24-04-2006, 11:13 AM   #2
Grp
Nhập môn đệ tử
 
Tham gia ngày: Apr 2006
Bài gửi: 5
:
Em có ý kiến đầu tiên, em dùng ADC của 4013, các thông số lối vào cho AN0 đảm bảo: điện trở Rs<<2,5kom (đệm bằng opamp), tốc độ lấy mẫu nhanh chậm test đủ cả, vậy mà khi hiển thị ra số vẫn nhảy tùm lum trong khi đo tín hiệu lối vào thì vẫn đứng im phăng phắc. Copy chương trình mẫu và sửa lại cho phù hợp với mach nó vẫn thế, hổng hiểu tại sao. Em viết bằng C30, liệu có phải do phần cứng không bác?
Cấu trúc ADC cho PIC của Microchip có phải không được xịn cho lắm?
Grp vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-04-2006, 07:27 PM   #3
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 Grp
Em có ý kiến đầu tiên, em dùng ADC của 4013, các thông số lối vào cho AN0 đảm bảo: điện trở Rs<<2,5kom (đệm bằng opamp), tốc độ lấy mẫu nhanh chậm test đủ cả, vậy mà khi hiển thị ra số vẫn nhảy tùm lum trong khi đo tín hiệu lối vào thì vẫn đứng im phăng phắc. Copy chương trình mẫu và sửa lại cho phù hợp với mach nó vẫn thế, hổng hiểu tại sao. Em viết bằng C30, liệu có phải do phần cứng không bác?
Cấu trúc ADC cho PIC của Microchip có phải không được xịn cho lắm?
Tôi cho là module ADC của 4013 không có vấn đề, vì nhiều người đã sử dụng loại này nhưng không có thông tin về lỗi của module này trong các bản Errata dành cho chip này. Bạn có được tín hiệu lối vào tốt, nhưng kết quả hiển thị sai, điều đó không có nghĩa là ADC bị lỗi, vẫn có khả năng chúng ta hiển thị sai.

Bạn có thể post phần code mà bạn cho là gây lỗi lên không?

C30 vẫn đang trong giai đoạn hoàn thiện, nó được port từ gcc sang cho dsPIC, do đó chúng ta vẫn phải để ngỏ khả năng C30 có vấn đề.

Theo tôi, kiến trúc ADC của Microchip là khá tốt, được phát triển và kiểm nghiệm từ dòng PIC cơ bản cho đến dsPIC. Chặng đường này tôi cho là đủ dài để có thể tin tưởng vào kiến trúc đã được thiết kế.

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 24-04-2006, 08:53 PM   #4
BinhAnh
Trưởng lão PIC bang
 
Tham gia ngày: May 2005
Bài gửi: 11
:
Việc dùng ADC tới 12 bit thì cần một số chú ý sau, nếu không các digit cuối cùng sẽ bị nhảy.
-Thiết kế Vref ổn định. Nên chọn các loại Vref lownoise và độ trôi nhiệt thấp.
-Cần cách đi dây của chân AGND và AVdd đúng. Nên tách GND và AGND riêng và nối về một điểm.
-Các mạch yêu cầu độ ổn định cao, người ta phải dùng thêm kỹ thuật tự chuyển hóa bằng các điểm chuyển mạch ổn định, tính lại các thông số như: độ trôi điểm không, chuẩn hóa hệ số góc qua các điểm chuyển mạch.
-Ngoài ra, bạn có thể dùng một số giải thuật loại nhiễu, nó càng hiệu quả nếu như biết trước tần số nhiễu(ví dụ nhiễu 50hz), ngoài ra bạn có thể tận dùng tính năng dsp tạo các mạch lọc số. Có khá nhiều ví dụ dễ hiểu về mạch lọc trong các appnote của microchip
Riêng cá nhân tôi thì dùng ADC của microchip rất ổn định
__________________
www.binhanh.com
BinhAnh vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-04-2006, 03:57 PM   #5
Grp
Nhập môn đệ tử
 
Tham gia ngày: Apr 2006
Bài gửi: 5
:
Híc híc, giờ tôi mới phát hiện ra:
- Đo tín hiệu bằng digital multimeter, tốc độ im phắc chẳng qua là tốc độ biến đổi của nó chậm thời gian tích phân lớn => chẳng thấy gì là phải.
- Khi dùng oscilloscope, thấy ngay nhiễu đến chục mV, dùng bộ chuyển đổi ADC12bit tốc độ nhanh khác cũng y chang.
Tạm kết luận: Mạch chẳng có gì sai => bài học là chủ quan với nhiễu.

Không biết kết luận như vậy có vội vàng quá không các bác?
Grp vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 24-04-2006, 04:17 PM   #6
minhpic
Đệ tử 9 túi
 
Tham gia ngày: Nov 2005
Bài gửi: 99
:
Bác namqn có thể post một project nào đó về DSPIC không, chẳng hạn về nội dung điều khiển động cơ đi.
minhpic vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 25-04-2006, 07:13 PM   #7
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 minhpic
Bác namqn có thể post một project nào đó về DSPIC không, chẳng hạn về nội dung điều khiển động cơ đi.
Nếu bạn muốn tìm hiểu dsPIC thông qua một project nào đó thì bạn có thể dùng hơn 10 ví dụ đã được Microchip đưa lên. Bản thân tôi chỉ mới bắt đầu dùng dsPIC cho một project thực sự, nhưng nó là đề tài cho luận án của tôi, nên chưa thể công bố được. Tôi nghĩ chúng ta nên tìm hiểu các module thông qua các ví dụ đơn giản, để có được các viên gạch, sau đó bạn có thể xây ngôi nhà (project) của riêng bạn bằng những viên gạch đó.
dsPIC còn tương đối mới (chưa quá 2 năm tuổi), nên vẫn chưa có nhiều những project mẫu cho chúng ta tham khảo. Mặt khác, vì phải chạy đua với thời gian, nên các thiết kế phần cứng của dsPIC cũng chưa hoàn chỉnh. Chúng ta chọn cách tiếp cận từng bước thì có lẽ thích hợp hơn.

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 17-08-2006, 06:22 PM   #8
pham_v_quang3i
Đệ tử 1 túi
 
Tham gia ngày: Aug 2005
Bài gửi: 12
:
Bác xem lại chỗ này giúp em !
Trang 7-5 bảng 7-1 có mô tả . Nguồn giao động của dsPIC có 3 loại Primary, Secondary, internal. Các nguồn này được cấu hình bằng các bit trong FOS và FPR.
Trong config bit của MPLAB có các mục :
- Oscillator source
- Primary oscillator mode : Cái này đề thế này có nghĩa là chỉ sử dụng cho Primary oscillator. Trong mục này em thấy có cả FRC nên em mới tưởng là khi chọn dao động là thạch anh ngoài , chẳng nhẽ lại còn chế độ liên quan gì đến FRC. Nhưng xem lại bảng 7-2 thì trong chế độ Primary oscillator ko có FRC. Vậy do em ko hiểu hay do mấy thằng Microchip đặt hãng nào đó viết phần mềm , mấy thằng viết vừa nhìn gái vừa viết. Hi

thay đổi nội dung bởi: pham_v_quang3i, 17-08-2006 lúc 06:25 PM. Lý do: Viết sai chính tả
pham_v_quang3i vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 17-08-2006, 06:43 PM   #9
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 pham_v_quang3i
Bác xem lại chỗ này giúp em !
Trang 7-5 bảng 7-1 có mô tả . Nguồn giao động của dsPIC có 3 loại Primary, Secondary, internal. Các nguồn này được cấu hình bằng các bit trong FOS và FPR.
Trong config bit của MPLAB có các mục :
- Oscillator source
- Primary oscillator mode : Cái này đề thế này có nghĩa là chỉ sử dụng cho Primary oscillator. Trong mục này em thấy có cả FRC nên em mới tưởng là khi chọn dao động là thạch anh ngoài , chẳng nhẽ lại còn chế độ liên quan gì đến FRC. Nhưng xem lại bảng 7-2 thì trong chế độ Primary oscillator ko có FRC. Vậy do em ko hiểu hay do mấy thằng Microchip đặt hãng nào đó viết phần mềm , mấy thằng viết vừa nhìn gái vừa viết. Hi
Phần bạn đã nêu thuộc Version 1 của hệ dao động, chỉ được dùng cho các chip dsPIC30F601x (bây giờ đã được thay thế bằng các chip dsPIC30F601xA, dùng Version 3 của hệ dao động).

Còn bảng 7-3 mà tôi đã trích là Version 2 của hệ dao động, dùng cho một số chip mà trong đó có chip 5013 bạn đang dùng. Version 2 có một điểm bổ sung cho Version 1 là đầu ra của FRC có thể nối vào PLL. Do đầu ra của PLL trong Version 1 chỉ nối vào các nguồn clock từ Primary oscillator, nên người ta thường để các option có dùng PLL thuộc vào Primary oscillator source.

Nếu FRC không được nối vào PLL thì nó vẫn chỉ là internal oscillator. Chỗ này hơi rắc rối một chút, nhưng không có vấn đề gì lớn nếu bạn chỉ cần biết cách cấu hình để cho chip chạy đúng tốt.

Xem bảng 7-4 thì bạn thấy là người ta đã đặt tên chính xác hơn cho các nguồn clock, trong Version 3 của hệ dao động.

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

thay đổi nội dung bởi: namqn, 17-08-2006 lúc 06:45 PM.
namqn vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-08-2006, 05:14 PM   #10
frank
Nhập môn đệ tử
 
frank's Avatar
 
Tham gia ngày: Nov 2005
Bài gửi: 9
:
Thắc mắc về dao động trong dsPIC

Mình cũng đang vấn đề về việc configbit của dsPIC đây, mình muốn nhờ các bác giải thích dùm:

Mình đang sử dụng dsPIC6010, trong chương trình mình config như thế này:

_FOSC(CSW_FSCM_ON & EC) hoặc _FOSC(CSW_FSCM_ON & EC_PLL4)
_FWDT( WDT_OFF );
_FBORPOR( PBOR_OFF & BORV_45 & MCLR_EN );
_FGS( CODE_PROT_OFF );

Với config như vậy thì PIC vẫn chạy đúng theo chương trình đã viết, mình tưởng là PIC đang sử dụng thạch anh ngoại, nhưng có một lần mình lấy thạch anh ra thì thấy PIC cũng vẫn chạy đúng, hóa ra PIC đang sử dụng nguồn dao động nội, mình cũng đã thử config lại nhiều cách như sau:

_FOSC(CSW_FSCM_ON & XT);
hoặc
_FOSC(CSW_FSCM_ON & HS);
thì kết quả cũng vẫn giống như vậy

và đến khi config như sau:
_FOSC(CSW_FSCM_OFF & EC);

thì PIC hết hoạt động luôn

Nhưng theo những gì viết trong file header của 6010 thi _FOSC(CSW_FSCM_ON & EC) là cho phép external clock, mình dùng thạch anh 4 chân(20MHz), nối vào chân OSC1 của PIC
mong các bác gỡ rối dùm,

thay đổi nội dung bởi: frank, 23-08-2006 lúc 05:46 PM.
frank vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 23-08-2006, 06:08 PM   #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
HS hay XT là cho thạch anh ngoài, EC là cho bộ dao động ngoài (nó là một vi mạch tạo ra xung clock). Đối với EC thì bạn chỉ nối ngõ ra của EC vào chân OSC1.

Bạn đã bật CSW, do đó khi bạn dùng thạch anh ngoài với cấu hình EC, bộ dao động sơ cấp không có xung clock, và dsPIC tự chuyển sang bộ dao động nội (cái này có trong tài liệu của dsPIC).

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 09-10-2006, 02:48 PM   #12
pham_v_quang3i
Đệ tử 1 túi
 
Tham gia ngày: Aug 2005
Bài gửi: 12
:
Vào hồi 12h17 phút ngày 9/10 con dspic6014A của em đã chính thức chạy. Vì vậy một số lỗi trước đây em thắc mắc, em có thể kết luận-> Dòng dsPIC5013 mà công ty em nhập về có vấn đề, vì thử đến 4 hay 5 con gì vẫn ko chạy. Hôm nay có hàng mới dsPIC6014A , thử phát chạy luôn.
pham_v_quang3i vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 30-11-2006, 07:17 PM   #13
kennyha85
Nhập môn đệ tử
 
Tham gia ngày: Nov 2006
Bài gửi: 10
:
Anh Nam cho em hỏi?
Em dùng Dspic30F3012 và gặp một vấn đề về ALT UART1.
Em init truyền:
U1STAbits.UTXISEL = 1;
theo kiểu truyền cả 4 byte cho mỗi lần ngắt sau khi thanh ghi U1TXREG đầy 4byte.
vấn đề là trong 4 byte đó có một byte có giá trị là 0 thì nó không truyền. còn nếu cả 4 byte đều có giá trị khác không thì nó chạy rất tốt.
Tốc độ Baud là 38400, tốc độ lấy mẫu ADC 1k truyền định dạng byte nhận dạng-> byte thấp -> byte cao-> byte cuối để nhét cho đầy U1TXREG trên mỗi lần truyền.
Em xử lý theo kiểu cộng giá trị byte lên 1 nếu như byte đó = 0;Mạch chạy song vẫn không thỏa mãn lắm vì giá trị ADC có thể bị sai tối thiểu 1 tối đa là 256.
Cám ơn anh!
kennyha85 vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2007, 12:53 AM   #14
scentoflove
Đệ tử 6 túi
 
Tham gia ngày: Mar 2006
Bài gửi: 129
:
Hiện em đang làm về ds33F, trước em để chip o ngoài nối dây vào mạch và cấp nguồn bằng nguồn máy tính nhưng giờ gắn vào board chỉ có nguồn 5V, em muốn hỏi mạch tạo áp 3.3V từ 5V.
scentoflove vẫn chưa có mặt trong diễn đàn   Trả Lời Với Trích Dẫn
Old 19-07-2007, 02:57 AM   #15
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 scentoflove View Post
Hiện em đang làm về ds33F, trước em để chip o ngoài nối dây vào mạch và cấp nguồn bằng nguồn máy tính nhưng giờ gắn vào board chỉ có nguồn 5V, em muốn hỏi mạch tạo áp 3.3V từ 5V.
Dùng các ổn áp loại LDO (low-dropout) như LM1086CT-3.3. Nếu không thì dùng 2 con diode như 1N4001 mắc nối tiếp để tạo sụt áp khoảng 1.4V (với cách này thì bạn nên thí nghiệm trước, lấy điện trở sao cho dòng điện qua điện trở tương đương với dòng tiêu thụ của mạch làm tải, và đo áp rơi trên 2 diode).

Bổ sung: Dùng LM317 với R1 = 1.2k, R2 = 2k sẽ cho áp ra 3.33V (R1 mắc từ ngõ ra đến chân ADJ, R2 mắc từ chân ADJ xuống GND). Với áp vào 5V thì dòng tải không nên vượt quá 200 mA (theo datasheet của LM317).

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

thay đổi nội dung bởi: namqn, 29-07-2007 lúc 01:56 AM.
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à 04:55 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