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

正文內(nèi)容

數(shù)字fm電臺(tái)設(shè)計(jì)開發(fā)課程設(shè)計(jì)(參考版)

2025-03-03 00:36本頁面
  

【正文】 設(shè)計(jì)雖然完了,但是學(xué)習(xí)將是一輩子的事,沒有終點(diǎn)。 這次的設(shè)計(jì),由于時(shí)間較短,很多地方都還不是很完善,不過,在今后的工作中,我會(huì)更加的嚴(yán)格要求自己,努力做到最好。在設(shè)計(jì)中使我對(duì)電子繪圖軟件 Altium ;辦公軟件 word、 Excel 等的操作過程更加熟練。掌握了調(diào)頻發(fā)射電臺(tái)電路的設(shè)計(jì)與調(diào)試方法,以及高頻電路的調(diào)試中常見故障的分析與排除。熟悉各種儀器的調(diào)試,特別是關(guān)于頻偏的測試。有的東西看起來很簡單,實(shí)踐了才知道難易。特別是有的參考文獻(xiàn)上介紹的經(jīng)典電路,上面的器件可能是很多年前的型號(hào),有可能是已經(jīng)停產(chǎn)的器件。 器件的選型是一個(gè)比較麻煩而又相當(dāng)關(guān)鍵的過程。 在這次課程設(shè)計(jì)中也遇到了不少問題,集中體現(xiàn) Altium 繪圖軟件運(yùn)用極不熟練,操作不靈便浪費(fèi)了很多時(shí)間。主要的工作情況如下: ( 1)了解了小功率調(diào)頻發(fā)射電臺(tái)的現(xiàn)狀和發(fā)展趨勢,本課題來源及研究的現(xiàn)實(shí)意義; ( 2)提出系統(tǒng)總體設(shè)計(jì)方案,進(jìn)行方案對(duì)比,提出系統(tǒng)構(gòu)架; ( 3)學(xué)習(xí)了 VS1053 芯片的具體功能; ( 4)學(xué)習(xí)了調(diào)頻發(fā)射原理、音頻選擇電路、芯片內(nèi)部原理和外圍電路等; ( 5)了解各單元電路的作用。 //設(shè)置屏幕顯示方向 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 31 第 4 章 下載調(diào)試 調(diào)試環(huán)境 調(diào)試所用軟件: Keil uVision4 調(diào)試所用硬件如下圖 所示 : 戰(zhàn)艦 STM32 開發(fā)板 J_link 下載器 FM 收音耳機(jī) SD 卡 USB 電源線 圖 調(diào)試所用硬件 下載驗(yàn)證 下載程序后開發(fā)板上顯示“電臺(tái)實(shí)驗(yàn)”、測試頻率、設(shè)計(jì)者姓名學(xué)號(hào)、調(diào)試日期、以及各按鍵功能。 void LCD_Scan_Dir(u8 dir)。 void LCD_WriteRAM_Prepare(void)。 //顯示一個(gè)字符串 ,12/16 字體 void LCD_WriteReg(u8 LCD_Reg, u16 LCD_RegValue)。 //顯示一個(gè)數(shù)字 void LCD_ShowxNum(u16 x,u16 y,u32 num,u8 len,u8 size,u8 mode)。 //填充指定顏色 void LCD_ShowChar(u16 x,u16 y,u8 num,u8 size,u8 mode)。 //畫矩形 void LCD_Fill(u16 sx,u16 sy,u16 ex,u16 ey,u16 color)。 //畫圓 void LCD_DrawLine(u16 x1, u16 y1, u16 x2, u16 y2)。 //快速畫點(diǎn) u16 LCD_ReadPoint(u16 x,u16 y)。 //設(shè)置光標(biāo) void LCD_DrawPoint(u16 x,u16 y)。 //關(guān)顯示 void LCD_Clear(u16 Color)。 //初始化 void LCD_DisplayOn(void)。0X01。0X01。GPIO_InitStructure)。 = GPIO_Pin_7。 GPIO_Init(GPIOB, amp。 = GPIO_Mode_Out_PP。 RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB|RCC_APB2Periph_GPIOD, 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 29 ENABLE)。//寫 SD 卡 74HC4052 音頻選擇 該模塊實(shí)現(xiàn)了 74HC4952 音頻通道的選擇我們可以利用這些函數(shù)選擇 VS1053輸出的音頻。 //初始化 SD 卡 u8 SD_ReadDisk(u8*buf,u32 sector,u8 t)。 //從 sd 卡讀取一個(gè)數(shù)據(jù)包的內(nèi)容 u8 SD_SendBlock(u8*buf,u8 cmd)。 //等待卡準(zhǔn)備好 u8 SD_GetResponse(u8 Response)。 //取消選擇 ,釋放 SPI 總線 u8 SD_Select(void)。 以下是 SD 卡控制的主要函數(shù): void SD_SPI_Init(void)。 //切歌 void VS_Set_Vol(u8 volx)。 //設(shè)置播放速度(僅 VS1053 有效) u16 VS_Get_HeadInfo(void)。 //正弦測試 u16 VS_Ram_Test(void)。 //軟復(fù)位 VS10XX u8 VS_HD_Reset(void)。 //讀 VS10XX 的寄存器 以下是利用上面函數(shù)封裝的 VS1053 功能實(shí)現(xiàn)函數(shù): void VS_Init(void)。 //向 VS10XX 寫命令 void VS_WR_Data(u8 data)。//設(shè)置到低速模式 } void VS_SPI_SpeedHigh(void) //SD 卡正常工作的時(shí)候 ,可以高速了 { SPI1_SetSpeed(SPI_BaudRatePrescaler_8)。 以下是需要的 SPI 函數(shù): u8 VS_SPI_ReadWriteByte(u8 data) //SPI 讀寫數(shù)據(jù)函數(shù) { return SPI1_ReadWriteByte(data)。 //設(shè)置 RDA5820 的工作頻段 void RDA5820_Space_Set(u8 spc)。 //設(shè)置 TX 發(fā)送功率 void RDA5820_TxPGA_Set(u8 gain)。 //設(shè)置 RDA5820 為 RX模式 void RDA5820_TX_Mode(void)。 //返回讀到的數(shù)據(jù) } 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 27 以下是利 用以上兩個(gè)函數(shù)實(shí)現(xiàn) RDA5820 具體配置的函數(shù): u8 RDA5820_Init(void)。 //讀低字節(jié) ,發(fā)送 NACK IIC_Stop()。 //讀高字節(jié) ,發(fā)送 ACK res=8。 //發(fā)送讀命令 IIC_Wait_Ack()。 IIC_Start()。 IIC_Send_Byte(addr)。 IIC_Send_Byte(RDA5820_WRITE)。 //產(chǎn)生一個(gè)停止條 件 } u16 RDA5820_RD_Reg(u8 addr) //讀 RDA5820 寄存器 { u16 res。 //發(fā)送低字節(jié) IIC_Wait_Ack()。 IIC_Send_Byte(valamp。 IIC_Send_Byte(val8)。 IIC_Send_Byte(addr)。 IIC_Send_Byte(RDA5820_WRITE)。 //麥克風(fēng)音源 IIC 驅(qū)動(dòng) RDA5820 FM 收發(fā)芯片 該模塊部分實(shí)現(xiàn)了用 IIC 驅(qū)動(dòng) RDA5820,從而實(shí)現(xiàn)了 RDA5820 的各種設(shè)置。以下是兩個(gè)音源控制的函數(shù)調(diào)用: mp3_play()。 Show_Str(60,110,200,16,KEY_UP:Mode Set,16,0)。 LCD_ShowString(60,70,200,16,16,2021/11/13)。 Show_Str(60,30,200,16,調(diào)頻 ,16,0)。以下是程序內(nèi)容: POINT_COLOR=RED。 //默認(rèn)為 RDA5820_Freq_Set(freqset)。 //發(fā)射功率為最大 . RDA5820_TX_Mode()。 //設(shè)置步進(jìn)為 100Khz RDA5820_TxPGA_Set(3)。以下是所有相關(guān)配置函數(shù)的調(diào)用: RDA5820_Band_Set(0)。 //初始化 USMART RDA5820_Init()。 //掛載 SD 卡 f_mount(1,fs[1])。 //初 始化 VS1053 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 25 exfuns_init()。 //usmart 初始化 mem_init(SRAMIN)。 //初始化字庫 Audiosel_Init()。 //顯示屏初始化 KEY_Init()。 //設(shè)置 NVIC 中斷分組 2:2 位 搶占優(yōu)先級(jí), 2位響應(yīng)優(yōu)先級(jí) uart_init(9600)。以下是所有初始化函數(shù): delay_init()。比如設(shè)置為0X0000則音量最大,而設(shè)置為 0XFEFE則音量最小。 HDAT0 和 HDTA1 是兩個(gè)數(shù)據(jù)流頭寄存器,不同的音頻文件,讀出來的值意義不一樣,我們可以通過這兩個(gè)寄存器來獲取音頻文件的碼率,從而可以計(jì)算音數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 22 頻文件的總長度。該寄存器是一個(gè)存放解碼時(shí)間的寄存器 ,以秒鐘為單位,我們通過讀取該寄存器的值,就可以得到解碼時(shí)間了。 VS1053 的 EarSpeaker 效果則由 MODE 寄存器控制,請(qǐng)參考表 。 接著我們看看 BASS寄存器,該寄存器可以用于設(shè)置 VS1053的高低音效。這里 SM_RESET,可以提供一次軟復(fù)位,建議在每播放一首歌曲之后,軟復(fù)位一次。表 是MODE 寄存器的各位描述: 表 MODE 寄存器各位描述 這個(gè)寄存器,我們這里只介紹一下第 2 和第 11 位,也就是 SM_RESET 和SM_SDINEW。由于我們使用的是 的晶振,在這里設(shè)置此寄存器 的值為 0X9800,也就是設(shè)置內(nèi)部時(shí)鐘頻率為輸入時(shí)鐘頻率的 3倍,倍頻增量為 倍。 VS1053 的 SCI 寄存器 VS1053 的所有 SCI 寄存器如表 所示 : SCI寄存器 寄存器 類型 復(fù)位值 縮寫 描述 0X00 RW 0X0800 MODE 模式控制 0X01 RW 0X000C STATUS VS0153狀態(tài) 0X02 RW 0X0000 BASS 內(nèi)置低音 /高音控制 0X03 RW 0X0000 CLOCKF 時(shí)鐘頻率 +倍頻數(shù) 0X04 RW 0X0000 DECODE_TIME 解碼時(shí)間長度(秒) 0X05 RW 0X0000 AUDATA 各種音頻數(shù)據(jù) 0X06 RW 0X0000 WRAM RAM 寫 /讀 0X07 RW 0X0000 WRAMADDR RAM 寫 /讀的基址 0X08 R 0X0000 HDAT0 流的數(shù)據(jù)標(biāo)頭 0 0X09 R 0X0000 HDAT1 流的數(shù)據(jù)標(biāo)頭 1 0X0A RW 0X0000 AIADDR 應(yīng)用程序起始地址 0X0B RW 0X0000 VOL 音量控制 0X0C RW 0X0000 AICTRL0 應(yīng)用控制寄存器 0 0X0D RW 0X0000 AICTRL1 應(yīng)用控制寄存器 1 0X0E RW 0X0000 AICTRL2 應(yīng)用控制寄存器 2 0X0F RW 0X0000 AICTRL3 應(yīng)用控制寄存器 3 表 SCI 寄存器 首先,我們介紹一下 CLOCKF 寄存器,這個(gè)寄存器用來設(shè)置時(shí)鐘頻率、倍頻等相關(guān)信息,該寄存器的各位描述如表 所示: 表 CLOCKF 寄存器各位描述 此寄存器,重點(diǎn)說明 SC_FREQ, SC_FREQ 是以 4Khz 為步進(jìn)的一個(gè)時(shí)鐘寄存器,當(dāng)外部時(shí)鐘不是 的時(shí)候,其計(jì)算公式為: SC_FREQ=(XTALI8000000)/4000 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 21 式中為 XTALI 的單位為 Hz。細(xì)心的讀者可能發(fā)現(xiàn)了,在這兩個(gè)圖中, DREQ 信號(hào)上都產(chǎn)生了一個(gè)短暫的低脈沖,也就是執(zhí)行時(shí)間。 看完了 SCI 的讀,我們再來看看 SCI 的寫時(shí)序,如圖 所示: 數(shù)字 FM 電臺(tái)設(shè)計(jì)開發(fā) 20 圖 SCI 寫時(shí)序 圖 ,其時(shí)序和圖 ,都是先發(fā)指令,再發(fā)地址。 一個(gè)典型的 SCI 讀時(shí)序如圖 所示: 圖 SCI讀時(shí)序 從圖 可以看出,向 VS1053 讀取數(shù)據(jù),通過先拉低 XCS( VS_XCS),然后發(fā)送讀指令 ( 0X03),再發(fā)送一個(gè)地址,最后,我們在 SO 線( VS_MISO)上就可以讀到輸出的數(shù)據(jù)了。 SCI 的字節(jié)數(shù)據(jù)總是高位在前低位在后的。 SCI 串行總線命令接口包含了一個(gè)指令字節(jié)、一個(gè)地址字節(jié)和一個(gè) 16 位的數(shù)據(jù)字。 SDI和前面介紹的 SPI協(xié)議一樣的,不過 VS1053的數(shù)據(jù)傳輸是通過 DREQ控制的,
點(diǎn)擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1