![]() |
|
Tài trợ cho PIC Vietnam |
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 |
|
Ðiều Chỉnh | Xếp Bài |
![]() |
#1 |
Đệ tử 5 túi
Tham gia ngày: Jan 2008
Bài gửi: 97
: |
máy nghe nhac with Wav(PCM) và sd card
mình đã cơ bản làm xong rồi, mình dùng Dspic33fj64gp804, dùng DAC Module để phát nhạc, nhưng lại gặp một vấn khó giải:
1- Nó phát ra nhạc nhưng lại dứt quãng: lý do dùng hàm Fsread() để đọc file nhạc(một lần đọc 512 byte) rồi đưa nó vào bộ đệm, từ bộ đệm này cho nó lần lượt vào bộ đệm FIFO có Four word deep của DAC, khi hết dữ liệu trong bộ đệm thì tiếp tục dùng hàm Fsread() để đọc và lặp lại mãi, nhưng ác nỗi vì tốc độ truy cập thẻ SD có giới hạn chỉ 10MHz (SPI) nên suy ra đọc 512 Byte cần tối thiểu 409.6us (chưa kể thời gian chờ, ...), trong khi với file nhạc có định dạng 16khz, 16bit và DAC có độ sâu 4 từ , nên suy ra cứ mỗi 250us lại phải nạp dữ liệu vào bộ đệm của DAC, thành thử nó phát ra nhạc nhưng lại ngắt quãng liên tục. 2-mình dùng ngắt cũng không thực hiện được với lý do nêu ở trên, dùng ngắt nó sẽ ảnh hưởng tới hàm Fsread(), nó cứ ngắt liên tục hàm Fsread() thành ra nó không thể đọc dữ liệu từ thẻ SD. Mong các bạn giúp đỡ. |
![]() |
![]() |
Ðiều Chỉnh | |
Xếp Bài | |
|
|