freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于sopc的電子音樂相冊本科生畢業(yè)論文(編輯修改稿)

2025-07-24 19:00 本頁面
 

【文章內(nèi)容簡介】 NIOS II硬件SPI不能在線更改SPI通信速率,所以,采用IO口模擬SPI模式進行通信。如圖43所示:圖43 SD卡硬件連接 SD卡通信協(xié)議1. SD卡命令格式在SPI工作模式下,SD卡具有CMD0~CMD63條指令。每一條指令共48位二進制,總計6字節(jié)。指令格式如所示:圖44 SD卡命令格式Command:SPI通信命令編號;Command:SPI通信附加命令;CRC: 冗余校驗碼。其余的位都是SPI通信固定位。2. SD卡命令協(xié)議介紹本次設(shè)計采用最簡單的4個命令組合即可操作SD卡,分別是CMD0、CMDCMD1CMD24[1]。CMD0:SD卡復位指令,使SD卡工作于SPI接口模式,并且SD卡處于休眠狀態(tài)[2];CMD1:初始化SD卡,激活SD處于工作狀態(tài); CMD17:讀SD卡扇區(qū),讀取SD一個扇區(qū)512字節(jié)數(shù)據(jù),在一次讀寫中需要給出地址信息,即可讀取出數(shù)據(jù);CMD24:寫SD卡扇區(qū),往SD卡指定扇區(qū)寫入512字節(jié)數(shù)據(jù),需要給出寫入扇區(qū)地址以及數(shù)據(jù)[1]。 SD卡驅(qū)動程序由于本設(shè)計主要是從SD卡中讀取數(shù)據(jù)然后進行處理,因此,SD卡驅(qū)動只需要3個步驟即可完成:(1) 復位SD卡;(2) 初始化SD卡;(3) 讀取SD卡扇區(qū)數(shù)據(jù);接下來,詳細介紹各個步驟的程序設(shè)計。1. 復位SD卡首先,查閱到SD卡數(shù)據(jù)手冊的復位時序如圖45所示:圖45 SD卡復位時序復位SD卡指令位CMD0,指令碼為{0x40,0x00,0x00,0x00,0x00,0x95},用于復位SD卡工作于SPI通信模式,同時使SD卡進入休眠模式。復位SD卡時候,SPI時鐘速率一定要低速,如果SPI時鐘速度過高,會照成初始化時鐘失敗。根據(jù)實際測量[4],SPI時鐘速率在10K以下能穩(wěn)定成功復位。根據(jù)時序圖,寫出程序流程圖如圖46所示:圖46 SD卡復位程序流程圖2. 初始化SD卡根據(jù)SD卡數(shù)據(jù)手冊查閱,初始化SD卡時序如圖47所示:圖47 初始化SD卡時序圖初始化SD卡的命令指令為CMD1,指令碼為{0x41,0x00,0x00,0x00,0x00, 0xff},用于把SD卡從休眠模式中喚醒到工作模式下。初始化指令和復位指令一樣,對于SPI時鐘速度要求比較低。根據(jù)時序圖,程序流程圖如圖48所示:圖48 SD卡初始化程序流程圖3. 讀取SD卡扇區(qū)數(shù)據(jù)SD卡讀取扇區(qū)時序圖如圖49所示:圖49 SD卡讀取扇區(qū)時序圖讀取SD卡扇區(qū)指令為CMD17,指令碼為{0x58,0x00,0x00,0x00,0x00,0xff},中間4個字節(jié)為讀取扇區(qū)的地址,需要程序中填入地址信息。根據(jù)時序圖寫出程序流程圖如圖410所示:圖410 SD卡讀取扇區(qū)流程圖根據(jù)流程圖設(shè)計出讀取程序如下:/*********************************************** 函數(shù)名稱:SD卡讀取扇區(qū)函數(shù),讀取一個塊* 參數(shù)說明:address SD卡扇區(qū)地址* *buffer 讀取的數(shù)據(jù)存放數(shù)組* 返回參數(shù): 0 讀取成功* 1 讀取失敗***********************************************/uint8 SD_read_kuai (uint32 address, uint8 *buffer)。 音頻芯片驅(qū)動程序設(shè)計 VS1003B簡介VS1003是芬蘭VLSI公司出品的一款單芯片的MP3/WMA/MIDI音頻解碼和ADPCM編碼芯片,其擁有一個高性能低功耗的DSP處理器核VS_DSP,5K的指令RAM,串行的控制和數(shù)據(jù)接口,4個通用IO口,一個UART口;同時片內(nèi)帶有一個可變采樣率的ADC、一個立體聲DAC以及音頻耳機放大器。VS1003B支持MPMP3+V、WMA、WAV、MIDI和SPMIDI格式的音頻解碼播放。VS1003B支持IMAADPCM(單聲道)編碼,采用麥克風和線入(Line input)兩種輸入方式。 VS1003B硬件接口1. VS1003B的管腳信息在使用VS1003B之前必須對V1003B硬件端口熟悉,經(jīng)過閱讀VS1003B數(shù)據(jù)手冊,總結(jié)出關(guān)鍵的管腳如下:XRESET:用于VS1003B芯片復位;DREQ: VS1003B數(shù)據(jù)處理完成后的中斷信號;XDCS: VS1003B數(shù)據(jù)片選端;XCS: VS1003B指令片選端;SCLK: VS1003B通信時鐘輸入管腳;MOSI: VS1003B數(shù)據(jù)輸出端;MISO: VS1003B數(shù)據(jù)輸入端。在連接VS1003B注意電源管腳:AVDD: ,;CVDD: 數(shù)字電源,;IOVDD:IO口電壓標準。2. VS1003B于NIOS II的硬件連接在SOPC設(shè)計時候,設(shè)計了7個專用IO口,以供操作VS1003B使用,硬件連接圖如圖411所示:圖411 NIOS II與VS1003B連接圖 VS1003B驅(qū)動時序VS1003B共有16個16位控制寄存器,地址分別為0x0~0x0F,通過SCI通信對寄存器配置和SDI進行傳送解碼數(shù)據(jù),使它能正確播放音頻文件。VS1003B SCI驅(qū)動時序如圖412所示,一個寄存器配置占據(jù)4個字節(jié)。圖412 SCI通信方式VS1003B SDI驅(qū)動時序如圖413所示,寫入數(shù)據(jù)長度為1~32個字節(jié)。圖413 SDI數(shù)據(jù)通信方式 VS1003B驅(qū)動程序1. VS1003B初始化在使用VS1003B之前需要對VS1003B寄存器進行初始化,以便VS1003B能正確進行音頻解碼。配置程序流程圖如圖414所示:圖414 VS1003B初始化程序流程圖2. VS1003B寫入數(shù)據(jù)正確配置好VS1003B后,即可往VS1003B中寫入數(shù)據(jù),程序流程圖如圖415所示:圖415 音頻數(shù)據(jù)寫入流程圖最終應用程序使用的兩個程序為:void VS1003_init(void); // VS1003B初始化void VS1003_data(uint8 *pDat)。 // VS1003B寫入數(shù)據(jù)函數(shù) TFT液晶驅(qū)動程序設(shè)計 TFT液晶以及HX8347簡介1. TFT液晶TFTLCD即薄膜場效應晶體管LCD,是有源矩陣類型液晶顯示器(AMLCD)中的一種。 它是目前唯一在亮度、對比度、功耗、壽命、體積和重量等綜合性能上全面趕上和超過CRT的顯示器件,它的性能優(yōu)良、大規(guī)模生產(chǎn)特性好,自動化程度高,原材料成本低廉,發(fā)展空間廣闊,是做PDA掌上設(shè)備的最佳選擇。2. HX8347驅(qū)動TFT液晶的芯片有多種選擇,本文使用的是HX8347芯片,該芯片最大支持320*240分辨率的TFT液晶,同時內(nèi)置173KB的RAM,色彩模式支持最大26萬色的顯示。HX8347支持4種接口方式:8/9/16/18位i80系統(tǒng)總線、SPI總線、寄存器接口方式和RGB接口方式。 HX8347硬件接口1. 硬件連接由于FPGA管腳很充足,所以采用16位總線模式,硬件接口如圖31所示,占用NIOS II 21個IO口:圖416 TFT液晶和NIOS II硬件連接圖HX8347相應管腳功能如下:RST: 液晶復位;CS: 液晶片選端;RS: 液晶指令/數(shù)據(jù)選擇端;WR: 液晶寫使能信號;RD: 液晶讀使能信號;DATA: 液晶16位數(shù)據(jù)端口。 HX8347驅(qū)動時序HX8347主要時序位寄存器操作時序和顯示數(shù)據(jù)發(fā)送時序。1. 寄存器操作時序HX8347功能非常強大,提供寄存器地址從0x00~0x93總共132個寄存器。在使用液晶前必須對大部分寄存器初始化,寄存器操作非常重要,如圖417所示,寄存器操作使用CS、RS、RD、WR、DATA[7:0]這幾個腳進行操作。圖417 HX8347寄存器操作時序2. 數(shù)據(jù)操作時序正確配置寄存器,然后即可進行顯示數(shù)據(jù)傳輸,數(shù)據(jù)傳輸協(xié)議如所示,和寄存器管腳一樣,值的注意的是寄存器操作采用數(shù)據(jù)總線的低八位,而數(shù)據(jù)操作采用的是整個數(shù)據(jù)總線16位。圖418 數(shù)據(jù)操作時序 HX8347驅(qū)動程序HX8347驅(qū)動程序主要包括以下幾個方面:1. 初始化HX8347液晶操作的最開始既是進行初始化操作,初始化主要是設(shè)置液晶內(nèi)部參考電壓、開啟晶振、顯示緩沖區(qū)、RGB色彩等等寄存器的設(shè)置,以便能正確顯示。2. 設(shè)置HX8347顯示區(qū)域初始化TFT后即可進行顯示操作,任何顯示操作都必須在液晶的RAM中開辟一個顯示緩沖區(qū),然后再往顯示緩沖區(qū)填入顯示數(shù)據(jù)既能完成顯示。液晶的顯示緩沖區(qū)設(shè)置相關(guān)的寄存器為:列起始地址寄存器(地址0x02,0x03):列起始地址寄存器是設(shè)置顯示區(qū)域的列起始地址寄存器,16位列起始地址分為高8位和低8位分別寫入地址為0x02和0x03的寄存器,即完成起始地址的設(shè)置。列結(jié)束地址寄存器(地址0x04,0x05)、行起始地址寄存器(地址0x06,0x07)、行結(jié)束地址寄存器(地址0x08,0x09)和列起始地址寄存器設(shè)置一樣,共同完成一個顯示緩沖區(qū)的定制。根據(jù)這個原理編寫出顯示緩沖區(qū)函數(shù)如下:/*********************************************************** 函數(shù)名稱:TFT_SetWindow入口參數(shù):startX 顯示窗口的起始X坐標 startY 顯示窗口的起始Y坐標 endX 顯示窗口的結(jié)束X坐標 endY 顯示窗口的結(jié)束Y坐標出口參數(shù):無***********************************************************/void TFT_SetWindow(uint16 startX, uint16 startY, uint16 endX, uint16 endY);3. GUI底層函數(shù)設(shè)計任何一個GUI系統(tǒng)最底層的只需要提供三個函數(shù)即可實現(xiàn),屏幕任意一點打點函數(shù)、屏幕上畫橫線函數(shù)和屏幕上畫豎線函數(shù)即可完成GUI的移植。根據(jù)這個原理實現(xiàn)了三個接口程序以便提供給上層GUI程序使用。任意坐標打點函數(shù):/*********************************************************** * 函數(shù)名稱:GUI_Point* 函數(shù)功能:畫點函數(shù),在屏幕上指定坐標畫一個點 * 入口參數(shù):ucX 橫坐標 * ucY 縱坐標 * color 打點顏色* 出口參數(shù):無***********************************************************/void GUI_Point (uint16 ucX, uint16 ucY, uint16 color)畫橫線函數(shù):/*********************************************************** * 函數(shù)名稱:GUI_HLine* 函數(shù)功能:畫橫線函數(shù) * 入口
點擊復制文檔內(nèi)容
職業(yè)教育相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1