基于A(yíng)RM Cortex-M3的嵌入式網(wǎng)絡(luò)播放系統(tǒng)
網(wǎng)卡初始化的驅(qū)動(dòng)程序包括定義發(fā)送緩沖區(qū)大小、發(fā)送緩沖區(qū)數(shù)、ENC28J60的片選信號(hào)、ENC28J60的復(fù)位引腳以及網(wǎng)卡自檢。具體程序代碼如下:本文引用地址:http://www.biyoush.com/article/151970.htm
網(wǎng)卡數(shù)據(jù)傳輸?shù)尿?qū)動(dòng)程序包括申請(qǐng)IP地址,建立與服務(wù)器的連接,以及數(shù)據(jù)的接收和發(fā)送等,圖5為其程序流程。
3.2文件系統(tǒng)
文件系統(tǒng)是一種以結(jié)構(gòu)化格式存儲(chǔ)和信息檢索的實(shí)現(xiàn)方法,可使用戶(hù)方便快捷的管理存儲(chǔ)數(shù)據(jù)。文件系統(tǒng)一般包括FAT32/16,NTFS,ext2/3,NFS等,本設(shè)計(jì)采用FATl6,可支持2 GB的最大分區(qū),用于管理U盤(pán)中的音頻文件,該文件系統(tǒng)的實(shí)現(xiàn)主要針對(duì)USB接口器件CH375進(jìn)行驅(qū)動(dòng)開(kāi)發(fā)。
在CH375驅(qū)動(dòng)設(shè)計(jì)中,先實(shí)現(xiàn)FAT32/16文件系統(tǒng)層,再實(shí)現(xiàn)文件級(jí)API應(yīng)用層。文件系統(tǒng)層采用CH375開(kāi)發(fā)商提供的U盤(pán)文件級(jí)子程序庫(kù)來(lái)實(shí)現(xiàn),CH375的U盤(pán)文件級(jí)子程序庫(kù)具有以下特性;支持常用的FAT16和FAT32文件系統(tǒng),磁盤(pán)容量可達(dá)100 GB以上,支持多級(jí)子目錄。支持8.3格式的大寫(xiě)字母和中文文件名,支持小寫(xiě)字母或長(zhǎng)文件名,支持文件打開(kāi)、刪除、讀寫(xiě)以及搜索等。文件系統(tǒng)移植好后,再進(jìn)行API應(yīng)用層驅(qū)動(dòng)設(shè)計(jì)。應(yīng)用層驅(qū)動(dòng)包括CH375引腳配置、文件讀寫(xiě)緩沖區(qū)配置、CH375讀寫(xiě)程序的設(shè)計(jì)。在讀寫(xiě)程序的設(shè)計(jì)中,要注意對(duì)CH375的延時(shí)操作,滿(mǎn)足CH375的時(shí)序要求。
3.3音頻驅(qū)動(dòng)程序
音頻驅(qū)動(dòng)的設(shè)計(jì)主要是針對(duì)VSl003的初始化設(shè)置和實(shí)現(xiàn)音頻數(shù)據(jù)流的傳輸,并對(duì)應(yīng)用層提供API接口,這里完成了音頻播放功能程序的設(shè)計(jì)。
在該程序設(shè)計(jì)中,首先對(duì)LMll38和VSl003控制接口的(MISO、MOSI、SCK、CS、Demand)引腳進(jìn)行相應(yīng)配置,VSl003初始化配置完成后,開(kāi)始等待系統(tǒng)的播放標(biāo)志置位,播放標(biāo)志為“0”時(shí),重新初始化VSl003,播放標(biāo)志為“l(fā)”時(shí),接收到系統(tǒng)的播放消息,使能SPI接口,選擇將要播放的數(shù)據(jù)包,把音頻數(shù)據(jù)寫(xiě)入SPI的緩沖存儲(chǔ)區(qū),然后再發(fā)送給VSl003的數(shù)據(jù)寄存器,當(dāng)音頻數(shù)據(jù)發(fā)送完成后,開(kāi)始由VSl003處理這些音頻數(shù)據(jù),實(shí)現(xiàn)模擬音頻數(shù)據(jù)的輸出。該函數(shù)能夠流暢地完成音頻播放功能。
電子鎮(zhèn)流器相關(guān)文章:電子鎮(zhèn)流器工作原理
評(píng)論