PDA

View Full Version : Có ai đã từng sử dụng vs1011 module?


ttb1988
18-05-2010, 05:58 PM
em đang làm bài tập lớn vxl . Đề tài là mp3 player . em đg làm theo mạch ở trang teuthis.com
sử dụng vdk 16f88 và nối với vs1011 module nhưng nó không chạy. mạch này có modify đi tí chút là sử dụng vdk 5v và dùng vs1011 module . Em không biết lỗi xảy ra do đâu.vậy em muốn hỏi ai đã từng làm mạch rồi thì giúp em với ạ ? Cảm ơn mọi người

xuandinh87
19-05-2010, 08:28 AM
Bởi vì 16f88 xài 5v, còn VS1011 xài 3v3, phải giải quyết vấn đề mức logic nữa thì ok.Có thể dùng cách chia trở, hoặc dùng ic đệm, mình thường dùng 74ALVC164245.Bạn có thể tham khảo về các họ Level shifters ở đây: http://ics.nxp.com/products/levelshifters/

ttb1988
19-05-2010, 11:12 PM
em đã dùng con ic đệm để giảm điện áp của nó từ 5v xuống 3.3v rồi nhưng vẫn ko hoạt động @-)

herrtien
20-05-2010, 02:05 PM
Để cho con này hoạt động được thì cần chú ý cả về phần cứng và phần chương trình, chú ý chân DREQ. Bạn có thể tham khảo thêm ở đây: http://ecaprovn.com/index.php?option=com_content&view=category&layout=blog&id=44&Itemid=75

ttb1988
20-05-2010, 04:28 PM
đây là sơ đồ mạch mà em làm. nhưng em làm với 16f88 ko phải 16lf88. em thắc mắc là chân SO của vs1011 trong mạch tại sao không nối với vdk.Còn đây là link của trang web
http://www.teuthis.com/html/mmc_mp3.html

xuandinh87
08-06-2010, 02:04 AM
Bạn cứ làm theo sơ đồ trên trang http://www.teuthis.com/html/mmc_mp3.html với PIC16F88 vẫn chạy bình thường(với nguồn 3V3), không cần PIC16LF88, nhưng chắc chắn mạch trên không chỉnh âm lượng hoặc bass, treble được( chỉ có thể nhảy bài tới/lui, tạm dừng/hát thôi). Vì trong sơ đồ trên,vi điều khiển có thể ghi, đọc thẻ nhớ bằng đường truyền SPI( SDI(PIC) nối DO(MMC); SDO(PIC) nối DI(MMC)), còn vi điều khiển chỉ giao tiếp với VS1011 qua mấy chân XCS, XDCS,DREQ... chứ không qua đường SPI.

Sơ đồ trên hoạt động theo cách như sau:Vi điều khiển khởi tạo chế độ SPI của thẻ, tìm đến sector đầu tiên của file mp3 thông qua bảng FAT32; vi điều khiển gởi lệnh đọc(sector đầu tiên) đến thẻ nhớ; cho phép VS1011 hoạt động, vì chân SI của VS1011 nối với chân DO của thẻ nhớ trên bus SPI nên khi thẻ nhớ gởi dữ liệu ra, VS1011 sẽ đọc được và giải mã; cứ như vậy mỗi khi buffer trên VS1011 cạn, nó lại thông báo với vi điều khiển qua chân DREQ --> vi điều khiển lại ra lệnh đọc các sector tiếp theo từ thẻ nhớ, khi thẻ nhớ đẩy dữ liệu ra, VS1011 lại "đọc ké", cứ như vậy cho đến hết bài nhạc. Và nếu chưa chỉnh gì thì volume mặc định mà VS1011 xuất ra là mức cao nhất (255).

Chân SO của VS1011 trên sơ đồ trên để trống vì trong project trên, tác giả không cần dùng ram đa dụng trên VS1011 hay đọc nội dung từ thanh ghi nào trong VS1011 hết.

ttb1988
13-07-2010, 10:24 PM
Cảm ơn mọi người đã giúp đỡ em đặc biệt là anh Xuandinh87. Mạch của em đã chạy và hoạt động ngon lành

duchungjava
11-12-2010, 03:49 PM
Mình cũng đang nghiên cứu làm cái MP3 này, nhưng theo như sơ đồ mạch điện thì tác giả đang sử dụng thạch anh 12.96MHz, hoặc 24.576MHz. Cho mình hỏi là thạch anh này mua ở đâu, và có thể thay thế thạch anh này bằng thạch anh 12.88 MHz được không?
Cảm ơn mọi người.

xuandinh87
30-12-2010, 01:18 PM
Không nhất thiết phải dùng thạch anh giống như tác giả, bạn có thể xài thạch anh 12,88Mhz hoặc 24Mhz, nhạc vẫn nghe bình thường,có thay đổi thì tai người nghe không nhận ra khác biệt đâu.Mà hình như xài thạch anh 12,88Mhz thì phải bật chế độ nhân đôi xung thì phải.

hoc_picpicpic
30-12-2010, 05:05 PM
minh` dung 12M van nghe thay binh thuong như nghe trên máy tính

th0001
20-09-2011, 10:32 PM
Bạn cứ làm theo sơ đồ trên trang http://www.teuthis.com/html/mmc_mp3.html với PIC16F88 vẫn chạy bình thường(với nguồn 3V3), không cần PIC16LF88, nhưng chắc chắn mạch trên không chỉnh âm lượng hoặc bass, treble được( chỉ có thể nhảy bài tới/lui, tạm dừng/hát thôi). Vì trong sơ đồ trên,vi điều khiển có thể ghi, đọc thẻ nhớ bằng đường truyền SPI( SDI(PIC) nối DO(MMC); SDO(PIC) nối DI(MMC)), còn vi điều khiển chỉ giao tiếp với VS1011 qua mấy chân XCS, XDCS,DREQ... chứ không qua đường SPI.

Sơ đồ trên hoạt động theo cách như sau:Vi điều khiển khởi tạo chế độ SPI của thẻ, tìm đến sector đầu tiên của file mp3 thông qua bảng FAT32; vi điều khiển gởi lệnh đọc(sector đầu tiên) đến thẻ nhớ; cho phép VS1011 hoạt động, vì chân SI của VS1011 nối với chân DO của thẻ nhớ trên bus SPI nên khi thẻ nhớ gởi dữ liệu ra, VS1011 sẽ đọc được và giải mã; cứ như vậy mỗi khi buffer trên VS1011 cạn, nó lại thông báo với vi điều khiển qua chân DREQ --> vi điều khiển lại ra lệnh đọc các sector tiếp theo từ thẻ nhớ, khi thẻ nhớ đẩy dữ liệu ra, VS1011 lại "đọc ké", cứ như vậy cho đến hết bài nhạc. Và nếu chưa chỉnh gì thì volume mặc định mà VS1011 xuất ra là mức cao nhất (255).

Chân SO của VS1011 trên sơ đồ trên để trống vì trong project trên, tác giả không cần dùng ram đa dụng trên VS1011 hay đọc nội dung từ thanh ghi nào trong VS1011 hết.

chân DREQ báo như thế nào thì buffer trên VS1011 cạn ?

locdoan
16-02-2012, 10:26 PM
The DREQ pin/signal is used to signal if VS1011e’s FIFO is capable of receiving data. If DREQ is high,
VS1011e can take at least 32 bytes of SDI data or one SCI command. When these criteria are not met,
DREQ is turned low, and the sender should stop transferring new data.

tớ nghĩ thế này mong mọi người góp ý:chân hay tín hiệu DREQ được sử dụng để báo hiệu xem bộ đệm vào trước ra trước của VS1011e có khả năng nhận dữ liệu nữa không.Nếu DREQ ở mức cao thì VS1011e có thể nhận ít nhất 32byte dữ liệu qua SDI hoặc 1 lênh qua SCI.Nếu nó ở mức thấp thì phải ngừng gứi dữ liệu mới!

chaungocquy
10-04-2015, 10:25 AM
Bạn cứ làm theo sơ đồ trên trang http://www.teuthis.com/html/mmc_mp3.html với PIC16F88 vẫn chạy bình thường(với nguồn 3V3), không cần PIC16LF88, nhưng chắc chắn mạch trên không chỉnh âm lượng hoặc bass, treble được( chỉ có thể nhảy bài tới/lui, tạm dừng/hát thôi). Vì trong sơ đồ trên,vi điều khiển có thể ghi, đọc thẻ nhớ bằng đường truyền SPI( SDI(PIC) nối DO(MMC); SDO(PIC) nối DI(MMC)), còn vi điều khiển chỉ giao tiếp với VS1011 qua mấy chân XCS, XDCS,DREQ... chứ không qua đường SPI.

Sơ đồ trên hoạt động theo cách như sau:Vi điều khiển khởi tạo chế độ SPI của thẻ, tìm đến sector đầu tiên của file mp3 thông qua bảng FAT32; vi điều khiển gởi lệnh đọc(sector đầu tiên) đến thẻ nhớ; cho phép VS1011 hoạt động, vì chân SI của VS1011 nối với chân DO của thẻ nhớ trên bus SPI nên khi thẻ nhớ gởi dữ liệu ra, VS1011 sẽ đọc được và giải mã; cứ như vậy mỗi khi buffer trên VS1011 cạn, nó lại thông báo với vi điều khiển qua chân DREQ --> vi điều khiển lại ra lệnh đọc các sector tiếp theo từ thẻ nhớ, khi thẻ nhớ đẩy dữ liệu ra, VS1011 lại "đọc ké", cứ như vậy cho đến hết bài nhạc. Và nếu chưa chỉnh gì thì volume mặc định mà VS1011 xuất ra là mức cao nhất (255).

Chân SO của VS1011 trên sơ đồ trên để trống vì trong project trên, tác giả không cần dùng ram đa dụng trên VS1011 hay đọc nội dung từ thanh ghi nào trong VS1011 hết.
anh ơi cho em hỏi là nếu mình dùng con vi xử lý 16f887 thì code có cần phải chỉnh sửa gì không vậy anh,em cảm ơn nhiều