基于ARM Cortex-M3的嵌入式網絡播放系統
2 系統硬件模塊設計
2.1 以太網接口
ENC28J60是獨立的以太網控制器,采用業界標準的SPI串行接口,具有10 Mb/s SPI接口,符合IEEE802.3協議,內置10 Mb/s以太網物理層器件(PHY)及介質訪問控制器(MAC)。另外,它還具有可編程8 KB雙端口SRAM緩沖器,此緩沖存儲器具有靈活可靠的數據管理機制,以高效方式進行信息包的存儲、檢索和修改,以減輕主控器件的內存負荷。
圖2為網絡接口硬件連接示意圖。ENC28J60通過SPI總線實現與LM3Sll38的數據傳輸,CS為片選信號,SCLK為時鐘信號,MOSI/MISO為數據傳輸串口。此外,ENC28J60還與網絡變壓器HR901l70A相連,引出剛45接口。
2.2音頻接口
VSl003音頻編解碼器為VSl0XX系列第3代產品,包括MP3/WMA/MIDI解碼和ADPCM編碼2個單器件。其內置有高性能、低功耗的DSP處理核(VSDSP),工作內存,可供用戶程序使用的5.5 KB RAM,串行SPI總線接口,高質量的采樣頻率可調的過采樣D/A轉換器以及16位的過采樣A/D轉換器。圖3為音頻編解碼器模塊硬件連接示意圖,VSl003采用SPI總線與LM3Sll38實現通信。其中,SCLK為輸入時鐘,CS為片選信號,MOSI/MISO為數據串口,Demand為命令有效信號,VSl003外接音頻輸出設備。
2.3 USB控制接口
CH375是一款支持USB-HOST主機方式和USB-DE-VICE/SLAVE從設備方式的器件,主機端點輸入和輸出緩沖區各64字節,支持常用的12 Mb/s全速USB設備,支持USB設備的控制傳輸、批量傳輸、中斷傳輸。內置固件處理海量存儲設備的專用通訊協議,支持Bulk-Only傳輸協議和SCSI,UFI,RBC或等效命令集的USB存儲設備。
圖4為USB控制接口模塊硬件連接示意圖,CH375通過UART串口與LM3S1138傳輸數據,*****為中斷信號,TXD/RXD為數據傳輸串口,CH375連接USB存儲設備。
3 系統軟件設計
μC/OS-II是專門為嵌入式應用設計的實時操作系統內核,其具有以下優點:源代碼公開,代碼結構清晰,注釋詳盡,組織有條理,具有良好的可擴展性和可移植性,最多可以管理60個任務。該系統移植的μC/OS-II由用戶層、中間件層、μC/OS-II源碼層、μC/OS-II移植層和驅動庫組成。用戶層存放用戶代碼及設置,其中Main.c是用戶編寫任務處,Main.h定義堆棧大小及優先級;中間件層Middleware存放UART、SPI等串口通信中間件和TCP/IP協議棧LwIP;μC/OS-II源碼層Source存放μC/OS-II的源代碼;μC/OS-II移植層Port存放μC/OS-Ⅱ基于LM3S的移植代碼,包括OS_CPU_C.C,OS_CPU_A.A,OS_CPU.C等3個必要文件;驅動庫層是直接面向硬件設備層,它是硬件設備和應用程序之間的樞紐,直接與系統底層的硬件設備打交道,按照硬件設備的具體工作方式讀寫設備寄存器。將寄存器的數據與應用軟件交互,ENC28J60、VSl003和CH375的驅動函數都在該層。
3.1網絡驅動程序
本系統采用ENC28J60以太網控制器,需編寫網絡設備驅動程序,實現低層網絡接口及硬件函數驅動。該驅動程序設計主要包含網卡的初始化和數據的發送接收。
電子鎮流器相關文章:電子鎮流器工作原理
評論