2. 方案說明
芯片選用的是SOC方案,集成了一個16位的MCU,以及一個專門針對音頻解碼的aDSP,采用硬解碼的方式,更加保廣告法證了系統(tǒng)的穩(wěn)定性和音質。小巧的封裝尺寸更加滿足嵌入其它產品的需求
2.1 參數說明
名稱 |
參數 |
MP3文件格式 |
1、支持有比特率11172-3和ISO13813-3 layer3音頻解碼 |
2、采樣率支持(KHZ):8/11.025/12/16/22.05/24/32/44.1/48 |
|
3、支持Normal、Jazz、Classic、Pop、Rock等音效 |
|
USB接口 |
2.0標準 |
UART接口 |
標準串口,TTL電平,波特率可設[用戶不可設] |
輸入電壓 |
3.3V-5V[7805后級串一個二極管為佳] |
額定電流 |
10MA[靜態(tài)] |
低功耗電流 |
<200uA |
功放功率 |
驅耳機,功放 |
尺寸 |
16S |
工作溫度 |
[-40度] -- [80度] |
濕度 |
5% ~ 95% |
主芯片型號 |
YX6100-16S[SSOP24] |
引腳序號 |
引腳名稱 |
功能描述 |
備注 |
1 |
VDD |
5V 電源輸入 |
不可以超過5.2V |
2 |
DAC-L |
音頻輸出左聲道 |
驅動耳機、功放 |
3 |
DAC-R |
音頻輸出右聲道 |
驅動耳機、功放 |
4 |
BUSY |
Busy 輸出 |
播放時輸出低電平 |
5 |
RX |
UART 串行數據輸入 |
3.3V 的TTL 電平 |
6 |
TX |
UART 串行數據輸出 |
3.3V 的TTL 電平 |
7 |
GND |
電源地/音頻地 |
|
8 |
PO1 |
觸發(fā)輸出口 |
對地觸發(fā) |
9 |
SPK+ |
喇叭+ |
接1-5W喇叭 |
10 |
SPK- |
喇叭- |
接1-5W喇叭 |
格式:$S VER Len CMD Feedback para1 para2 checksum $O |
|
||
|
|
|
|
$S |
起始位0x7E |
每條命令反饋均以$開頭,即0x7E |
|
VER |
版本 |
版本信息 |
|
Len |
len后字節(jié)個數 |
校驗和不計算在內 |
|
CMD |
命令字 |
表示具體的操作,比如播放/暫停等等 |
|
Feedback |
命令反饋 |
是否需要反饋信息,1反饋,0不反饋 |
|
dat |
參數 |
和前面的len相關聯(lián),不限制長度 |
|
checksum |
校驗和[占兩個字節(jié)] |
累加和校驗[不計起始位$] |
|
$O |
結束位 |
結束位0xEF |
CMD命令 |
對應的功能 |
參數(16位) |
0x01 |
下一曲 |
|
0x02 |
上一曲 |
|
0x03 |
指定曲目(根目錄) |
詳見3.4.1 |
0x04 |
音量+ |
|
0x05 |
音量- |
|
0x06 |
指定音量 |
詳見3.4.2 |
0x07 |
保留 |
保留 |
0x08 |
單曲循環(huán)指定曲目播放(根目錄) |
詳見3.4.3 |
0x09 |
指定播放設備 |
詳見3.4.4 |
0x0A |
進入睡眠 -- 低功耗 |
功耗10MA |
0x0B |
喚醒睡眠 |
|
0x0C |
芯片復位 |
|
0x0D |
播放 |
|
0x0E |
暫停 |
|
0x0F |
指定文件夾文件名播放 |
詳見3.4.5 |
0x13 |
插播廣告 |
詳見3.4.6 |
0x14 |
單個文件夾支持1000首曲目 |
保留 |
0x15 |
停止插播播放背景音樂 |
|
0x16 |
停止 |
|
0x17 |
指定文件夾循環(huán)播放 |
詳見3.4.7 |
0x18 |
指定整個設備隨機播放 |
詳見3.4.8 |
0x19 |
對當前播放的曲目設置為循環(huán)播放 |
詳見3.4.8 |
0x1A |
開啟和關閉芯片的DAC輸出 |
詳見3.4.9 |
0x21 |
保留 |
詳見3.4.10 |
0x25 |
多文件夾插播 |
詳見3.4.11 |
這里是查詢芯片的狀態(tài)和相關的參數
CMD命令詳解(查詢) |
對應的功能 |
參數(16位) |
0x3C |
保留 |
|
0x3D |
保留 |
|
0x3E |
保留 |
|
0x3F |
查詢在線的設備 |
詳見3.5.1 |
0x40 |
返回錯誤,請求重發(fā) |
|
0x41 |
應答 |
|
0x42 |
查詢當前狀態(tài) |
詳見3.4.10 |
0x43 |
查詢當前音量 |
|
0x44 |
查詢當前EQ |
保留 |
0x45 |
保留 |
該版本保留此功能 |
0x46 |
保留 |
該版本保留此功能 |
0x47 |
查詢UDISK文件總數 |
設備的總文件數 |
0x48 |
保留 |
保留 |
0x49 |
查詢FLASH的總文件數 |
5個文件夾的總文件數 |
0x4B |
查詢UDISK的當前曲目 |
物理順序 |
0x4C |
保留 |
保留 |
0x4D |
查詢FLASH的當前曲目 |
返回文件夾號和曲目指針 |
0x4E |
查詢指定文件夾的曲目總數 |
詳見3.5.3 |
0x4F |
查詢當前設備的總文件夾數 |
詳見3.5.4 |
0x61 |
查詢當前文件夾指針 |
僅支持FLASH |
芯片在關鍵地方均會有數據返回。供用戶掌控芯片的工作狀態(tài)
n 芯片上電初始化成功的數據
n 芯片播放完當前曲目的數據
n 芯片成功接收到指令返回的ACK(應答)
n 芯片接收一幀數據出錯[包括數據沒收完整、校驗出錯兩種情況]
n 芯片在繁忙時,有數據過來,芯片會返回忙的指令
n U盤、TF卡插入拔出,均有數據返回
(1)、芯片上電,需要一定的時間初始化,這個時間是需要根據TF卡、U盤、SPIFLASH設備的文件多少決定的,一般情況在小于500ms這個時間。如果超過這個時間芯片的初始化數據還沒有發(fā)送出來,說明芯片初始化出錯,請檢查硬件的連接
(2)、芯片初始化返回的數據為當前的有效文件夾,譬如返回7E FF 06 3F 00 00 03 xx xx EF
==>其中0x03代表的是U盤和TF這兩個設備在線
U盤 -- 在線 |
7E FF 06 3F 00 00 01 xx xx EF |
各設備之間是或的關系 |
PC -- 在線 |
7E FF 06 3F 00 00 04 xx xx EF |
|
FLASH -- 在線 |
7E FF 06 3F 00 00 08 xx xx EF |
|
(3)、MCU必須等待芯片初始化指令發(fā)出之后才能發(fā)送相應的控制指令,否則發(fā)送的指令芯片將不予處理。同時還會影響芯片的正常初始化。
U盤播放完第1曲 |
7E FF 06 3C 00 00 01 xx xx EF |
U盤播放第1曲完畢 |
U盤播放完第2曲 |
7E FF 06 3C 00 00 02 xx xx EF |
U盤播放第2曲完畢 |
FLASH播放完第1曲 |
7E FF 06 3E 00 01 01 xx xx EF |
第1曲播放完 |
FLASH播放完第2曲 |
7E FF 06 3E 00 02 02 xx xx EF |
第2曲播放完 |
1、針對很多的觸發(fā)型的播放需求,我們芯片更正為播放一曲之后自動進入停止狀態(tài)。如果用戶需要此類應用。只需要指定曲目播放即可。這樣,曲目播放完畢會自動停止,等待指令
2、另外我們專門開辟一個IO作為解碼和暫停的狀態(tài)指示。請參見第16腳
(1)、播放狀態(tài)輸出低電平[很多功放有靜音腳,可以通過此IO直接進行控制]
(2)、播放暫停狀態(tài),輸出高電平。芯片睡眠狀態(tài)。也是低電平
3、芯片通電之后,初始化正常 ,芯片會自動進入設備播放狀態(tài)。并且停止解碼,等待用戶發(fā)送播放的相關指令
4、另外用戶在指定設備之后,需要等待200ms的時間,再發(fā)送指定的曲目,因為一旦指定曲目之后,系統(tǒng)會對指定的設備進行文件系統(tǒng)的初始化,如果立刻發(fā)送指定的曲目命令,會導致芯片接收不到。
芯片返回ACK |
7E FF 06 41 00 00 00 xx xx EF |
說明成功接收數據 |
(1)、為了加強數據通信之間的穩(wěn)定性,我們增加了應答處理,ACKB字節(jié)就是設置是否需要回復應答。這樣做的好處是保廣告法證每次通信都有握手信號,收到應答就表示MCU發(fā)送的數據,芯片已經成功收到,馬上處理。
(2)、對于一般的應用,客戶可以自由選擇,不加這個應答處理也是可以的。
返回忙 |
7E FF 06 40 00 00 01 xx xx EF |
芯片在文件系統(tǒng)初始化時 |
當前處于睡眠模式 |
7E FF 06 40 00 00 02 xx xx EF |
睡眠模式只支持指定設備 |
串口接收錯誤 |
7E FF 06 40 00 00 03 xx xx EF |
串口一幀數據沒接收完畢 |
校驗出錯 |
7E FF 06 40 00 00 04 xx xx EF |
和校驗出錯 |
指定文件超范圍 |
7E FF 06 40 00 00 05 xx xx EF |
文件的指定超過設定的范圍 |
未找到指定的文件 |
7E FF 06 40 00 00 06 xx xx EF |
指定為文件沒有被找到 |
數據不符合規(guī)則 |
7E FF 06 40 00 00 08 xx xx EF |
如小為1的地方,發(fā)送為0 |
(1)、為了加強數據通信之間的穩(wěn)定性,我們增加了數據錯誤處理機制。芯片收到不符合格式的數據,均會有信息反饋出來
(2)、在環(huán)境比較惡劣的情況下,強烈建議客戶處理此命令。如果應用環(huán)境一般,可以不用處理。
(3)、芯片返回忙,基本上是芯片上電初始化的時候才會返回,因為芯片需要初始化文件系統(tǒng)
(4)、芯片上電之后,進入的是設備狀態(tài),設備是SPIFLASH。如果SPIFLASH不在線的話,會自動進入睡眠狀態(tài)。
(5)、只要參考我們給出的測試SDK程序,移植里面的串口操作部分,就不會出現校驗出錯,在這里強烈建議用戶使用我們給出的校驗方式。因為誰都不能保廣告法證數據的傳輸不會出錯。
(6)、文件指定部分出錯,請參考下面的詳解
U盤插入 |
7E FF 06 3A 00 00 01 xx xx EF |
|
PC插入 |
7E FF 06 3A 00 00 04 xx xx EF |
|
U盤拔出 |
7E FF 06 3B 00 00 01 xx xx EF |
|
PC拔出 |
7E FF 06 3B 00 00 04 xx xx EF |
|
(1)、為了加強芯片的靈活性,我們特別增加了,設備插入、拔出的指令反饋。方便用戶知道芯片的工作狀態(tài)。
(2)、設備插入的時候,我們默認進入到設備等待狀態(tài),如果用戶插入的是帶燈的U盤,可以看到U盤燈閃爍。也可以接收到設備插入的串口消息。
以下我們對關鍵的地方進行詳細的說明--針對控制指令:
n 指定曲目播放
n 指定播放的音量
n 指定播放的設備
n 全部循環(huán)播放指令
n 組合播放功能[亮點]
n 帶音量參數的指定曲目播放
我們給出的指令是支持指定曲目播放的,歌曲的選擇范圍為0~3000.其實是可以支持更多的,因為涉及到文件管理的原因,支持過多的歌曲,會導致系統(tǒng)操作緩慢,一般的應用也不需要支持這么多的文件。如果客戶有非常規(guī)的應用,請事前和我們溝通。此指令在TF卡和U盤狀態(tài)是按照存儲的物理順序指定的。FLASH則是默認為FOLDER1區(qū)域
(1)、例如選擇第1首歌播放,串口的發(fā)送部分7E FF 06 03 00 00 01 FF E6 EF
7E --- 起始命令
FF --- 版本信息
06 --- 數據長度(不包含校驗)
03 --- 代表產品編號
00 --- 是否需要應答[0x01:需要應答,0x00:不需要返回應答]
00 --- 曲目的高字節(jié)[DH]
01 --- 曲目的低字節(jié)[DL],這里代表的是第1首歌播放
FF --- 校驗的高字節(jié)
E7 --- 校驗的低字節(jié)
EF --- 結束命令
(2)、對于選曲,如果選擇第100首,首先將100轉化為16進制,默認為雙字節(jié),就為0x0064。
DH = 0x00 ; DL = 0x64
(3)、其它的操作依次類推即可,因為在嵌入式領域采用16進制是為方便的一種操作。
(1)、我們系統(tǒng)上電默認的音量為30級,如果要設置音量的話,直接發(fā)送相應的指令即可
(2)、芯片內部設置的音量細分級數為0--30.請用戶注意
(3)、例如指定音量為15級,串口發(fā)送的指令:7E FF 06 06 00 00 0F FF D5 EF
(4)、DH = 0x00 ; DL = 0x0F ,15轉化為16進制為0x000F??梢詤⒄詹シ徘坎糠值恼f明
循環(huán)播放指定曲目 |
7E FF 06 08 00 00 01 xx xx EF |
根目錄循環(huán)播放第1曲 |
|
7E FF 06 08 00 00 02 xx xx EF |
根目錄循環(huán)播放第二曲 |
|
7E FF 06 08 00 01 03 xx xx EF |
根目錄循環(huán)播放第三曲 |
(1)、爭對一些需要單曲循環(huán)播放的要求,我們改進這一條控制指令0x08。在操作SPI flash者U盤時,根目錄按照的是文件存儲的物理順序指定,這點請用戶注意。但是在操作FLASH時,是按照文件夾分區(qū)指定的,請參考上面的測試指令。
(2)、在循環(huán)播放的過程中,可以正常的操作播放/暫停,上一曲、下一曲、音量調節(jié),包括EQ等等
并且狀態(tài)仍然是循環(huán)播放.可以通過指定單曲觸發(fā)播放或者停止來關閉循環(huán)播放狀態(tài)
(1)、我們的芯片默認是支持4種類型的播放設備,只有設備在線才能指定設備去播放
設備是否在線,我們軟件會自動檢測,無需用戶關系。
(4)、看下表,選擇合適的指令發(fā)送
(3)、指定設備之后。芯片會自動進入停止解碼狀態(tài),等待用戶指定曲目播放。從接收到指定設備到芯片內部完成初始化文件系統(tǒng)。大概需要200ms。請等待200ms之后再發(fā)送指定曲目的指令。
指定播放設備-U盤 |
7E FF 06 09 00 00 01 xx xx EF |
xx xx:代表校驗 |
指定播放設備-PC |
7E FF 06 09 00 00 03 xx xx EF |
指[讀卡、聲卡]模式 |
指定播放設備-FLASH |
7E FF 06 09 00 00 04 xx xx EF |
|
指定播放設備-SLEEP |
7E FF 06 09 00 00 05 xx xx EF |
|
文件夾01的001xxx.mp3 |
7E FF 06 0F 00 01 01 xx xx EF |
TF卡或者U盤或者FLASH |
文件夾11的100xxx.mp3 |
7E FF 06 0F 00 0B 64 xx xx EF |
TF卡或者U盤或者FLASH |
文件夾99的255xxx.mp3 |
7E FF 06 0F 00 63 FF xx xx EF |
TF卡或者U盤或者FLASH |
更多內容請向業(yè)務員索取資料。
聯(lián)系人:李曙光
手 機:17266260250
郵 箱:Lur@yxin18.com
公 司:廣州悅欣電子科技有限公司
地 址:廣州市花都區(qū)商業(yè)大道334號