基于LPC2214和uC/OS-II的音頻處理方案及電路說明
3 VS1003控制協(xié)議的實(shí)現(xiàn)
VS1003通過一個(gè)工作于從模式的SPI串行總線與主機(jī)進(jìn)行數(shù)據(jù)和控制信息的交流,音頻數(shù)據(jù)通過串行數(shù)據(jù)接口(SDI)傳送,控制數(shù)據(jù)則通過串行控制接口(SCI)來傳送,控制數(shù)據(jù)總是為16位,通過讀/寫不同的寄存器來實(shí)現(xiàn)對(duì)VS1003的控制。
VS1003的SPI接口具有兩種工作模式:VS1002新模式和VS1001兼容模式。設(shè)置SM_SDINEW為1,使VS1003處于VS1002新模式。當(dāng)SMSDISHARED為0時(shí),控制信號(hào)和數(shù)據(jù)信號(hào)的傳送分別采用xCS和xDCS作為同步信號(hào),而當(dāng)SMSDISHARED為1時(shí),共用xCS作為同步信號(hào),設(shè)置SM_SDINEW為0,使VS1003處于VS1001兼容模式,該模式僅以xCS作用同步信號(hào)。
作為從機(jī)工作模式,VS1003通過一個(gè)信號(hào)線DREQ指示是否允許主機(jī)傳送數(shù)據(jù),當(dāng)DREQ為高時(shí),VS1003至少可以接受32KB的SDI數(shù)據(jù)或者SCI控制命令。
在這里,以VS1002新模式且SMSDISHARED設(shè)置為0為例介紹VS1003通信協(xié)議的實(shí)現(xiàn)。圖2描述了SDI工作時(shí)序,它以xDCS為同步信號(hào),隨著時(shí)鐘信號(hào)DCLK的變化,數(shù)據(jù)根據(jù)SCL_MODE的設(shè)置依次從高位或低位送出。
SCI協(xié)議包括1個(gè)控制指令字節(jié)、1個(gè)地址字節(jié)和1個(gè)16位數(shù)據(jù)字。每次讀寫控制可以操作一個(gè)寄存器。讀命令和寫命令分別為0x03和0x02,這兩種控制命令的工作時(shí)序分別如圖3和圖4所示。
4 電路設(shè)計(jì)
本設(shè)計(jì)最終要實(shí)現(xiàn)的目標(biāo)是一款具有人機(jī)界面及數(shù)據(jù)存儲(chǔ)功能的工控手持設(shè)備,通過人機(jī)對(duì)話界面發(fā)送控制命令來操縱VS1003,以實(shí)現(xiàn)錄放音功能。
4.1 硬件電路設(shè)計(jì)
VS1003的所有數(shù)據(jù)和控制命令均通過SPI總線接口實(shí)現(xiàn),因此與LPC2214的接口實(shí)現(xiàn)比較簡(jiǎn)單,包括3條SPI數(shù)據(jù)線和4條控制線,如圖5所示。
DIY機(jī)械鍵盤相關(guān)社區(qū):機(jī)械鍵盤DIY
評(píng)論