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

正文內(nèi)容

一種便捷的dsp自舉模塊設(shè)計-資料下載頁

2025-07-07 12:10本頁面
  

【正文】 子程序。 D S P 初始化時鐘初始化中斷初始化模式選擇初始化存儲器空間初始化S P I 通信子程序開始圖 33 DSP 部分軟件總體設(shè)計在完成以上兩個部分的總體設(shè)計后,經(jīng)行軟件實(shí)現(xiàn)流程圖的整體設(shè)計,在本文中軟件的整體實(shí)現(xiàn)先從 C8051F340 上電開始,依次完成看門狗的處理、 USB總線的處理、C8051F340 單片機(jī)的初始化、DSP 初始化等準(zhǔn)備工作,隨后根據(jù)INT0 的具體請求經(jīng)行處理是否自舉等,軟件部分具體實(shí)現(xiàn)流行如圖 34:西安工程大學(xué)本科畢業(yè)設(shè)計(論文)27 C 8 0 5 1 F 3 4 0 上電程序開始 禁止看門狗初始化 U S B 總線時鐘C 8 0 5 1 F 3 4 0 初始化使能 A P I 中斷S P I 端口初始化復(fù)位 D S P I N T 0 中斷觸發(fā) ?從 F L A S H 提取一組數(shù)據(jù)數(shù)據(jù) A S C Ⅱ 轉(zhuǎn)換數(shù)據(jù)寫入 D S P數(shù)據(jù)發(fā)送完成 ?數(shù)據(jù)是否寫完 ?結(jié)束Y E SY E SY E SN ON ON O圖:34 下位機(jī) C8051F340 程序流程圖西安工程大學(xué)本科畢業(yè)設(shè)計(論文)28 軟件詳細(xì)設(shè)計軟件設(shè)計是本次設(shè)計整個系統(tǒng)設(shè)計中非常重要的環(huán)節(jié),軟件設(shè)計的功能決定這系統(tǒng)功能的實(shí)現(xiàn),軟件設(shè)計的效果也關(guān)系這系統(tǒng)功能的能否實(shí)現(xiàn)。本文的軟件總體設(shè)計分為兩部分:上位機(jī) LabVIEW 程序設(shè)計和下位機(jī) C8051F340 程序設(shè)計。 上位機(jī) LabVIEW 詳細(xì)程序設(shè)計上位機(jī)的程序設(shè)計包括前面板的程序設(shè)計和后面板的程序設(shè)計,下面將依次對其經(jīng)行介紹。 上位機(jī)前面板詳細(xì)程序設(shè)計LabVIEW 開發(fā)的程序一般由一個或多個 VI 組成,所有 VI 都可分為前面板和框圖兩部分。前面板是 VI 的交互界面,用戶輸入數(shù)據(jù)通過前面板傳遞給框圖,計算和分析結(jié)果也在前面板上以不同方式顯示出來。圖 35 是本系統(tǒng)的前面板設(shè)計。該前面板中,通過設(shè)置路徑將文件信息傳遞給框圖進(jìn)行處理,同時顯示具體的執(zhí)行信息。USB 的連接狀況也可以通過面板上的指示燈顯示。圖 35 上位機(jī) LabVIEW 前面板設(shè)計圖西安工程大學(xué)本科畢業(yè)設(shè)計(論文)29 上位機(jī)后面板詳細(xì)程序設(shè)計借助 USBXpress 提供的 USB 主機(jī) API,即 USBXpress 安裝目錄下的 SiU ,可以簡便的實(shí)現(xiàn)在 PC 機(jī)上通過 LabVIEW 軟件編寫的 GUI 程序與作為 USB 器件的 C8051F 340 單片機(jī)的 USB 通信。USBXpress 提供了 10 個 USB主機(jī) API 函數(shù),通過 LabVIEW 中的 CLF(調(diào)用庫函數(shù)節(jié)點(diǎn))調(diào)用 USBXpress提供的 USB 主機(jī) API 函數(shù),便可訪問 USB 底層硬件。圖 36 為本文 LabVIEW上位機(jī)程序調(diào)用 API 的設(shè)計圖。圖 36 上位機(jī) LabVIEW 調(diào)用 USB 主機(jī) API 設(shè)計圖LabVIEW 程序在通過成功調(diào)用 SI_Open()函數(shù)打開 USB 器件,通過“file path ”函數(shù)獲取待轉(zhuǎn)換文件的具體路徑之后,跳入主循環(huán)。主循環(huán)主要在順序結(jié)構(gòu)中完成文格式的轉(zhuǎn)換和向 USB 寫數(shù)據(jù):首先通過“”函數(shù)調(diào)用 軟件(與自舉文件位于同一個目錄) 代碼文件轉(zhuǎn)換為.hex 格式; 格式轉(zhuǎn)換為 .dat 格式;最終在文件轉(zhuǎn)換完畢之后將代碼提取并轉(zhuǎn)換為數(shù)組,并在循環(huán)中調(diào)用 SI_Open()函數(shù)以每次 512 字節(jié)的速度將數(shù)據(jù)寫入 USB 器件。詳細(xì)程序設(shè)計如圖 37 所示。西安工程大學(xué)本科畢業(yè)設(shè)計(論文)30圖 37 上位機(jī) LabVIEW 主函數(shù)設(shè)計圖 下位機(jī) C8051F340 詳細(xì)程序設(shè)計本小節(jié)將從通信協(xié)議的制定、DSP 部分程序設(shè)計和單片機(jī)部分程序設(shè)計三方面詳細(xì)介紹畢業(yè)設(shè)計中的軟件設(shè)計。 主程序設(shè)計主程序的下位機(jī)軟件設(shè)計的基礎(chǔ),在下位機(jī)軟件設(shè)計中主程序有著非常重要的地位。在本次主程序設(shè)計部分主要包括禁止看門狗、USB 初始化、初始化單片機(jī) C8051F3調(diào)用執(zhí)行自舉程序 和 FLASH 擦寫。程序執(zhí)行流程如圖 38:西安工程大學(xué)本科畢業(yè)設(shè)計(論文)31 開始禁止看門狗初始化 U S B 總線初始化單片機(jī) C 8 0 5 1 F 4 3 0使能 A P I 中斷執(zhí)行自舉程序 ( b o o t l o a d e r )B o o t F L A G = 0B o o t F L A G 是否為 1Y E SN OB 圖 38 主函數(shù)流程圖在主函數(shù)設(shè)計中,各部分具體程序代碼及相關(guān)解釋如下: 禁止看門狗部分為了使程序順利執(zhí)行,在程序開始部分禁止看門狗,禁止看么狗相對簡單,代碼如下:PCA0MD amp。= ~0x40。 USB 初始化部分USB 初始化部分主要是調(diào)用一些庫函數(shù)對 USB 總線的處理,在處理過程西安工程大學(xué)本科畢業(yè)設(shè)計(論文)32中調(diào)用 AN169USB 通信庫函數(shù) USB_Clock_Start()。完成初始化 USB 總線時鐘,調(diào)用 AN169USB 通信庫函數(shù) USB_Init()完成 USB 總線使能,調(diào)用 AN169USB 通信庫函數(shù) USB_Int_Enable()。完成 API 中斷使能。具體代碼如下:USB_Clock_Start()。USB_Init(USB_VID,USB_PID,USB_MfrStr,USB_ProductStr,USB_SerialStr,USB_MaxPower,USB_PwAttributes,USB_bcdDevice)。 USB_Int_Enable()。 初始化單片機(jī) C8051F340 部分單片機(jī) C8051F340 初始化包括對端口 0 和端口 1 的配置和端口 I/O 交叉開關(guān)的配置,具體程序代碼如下:Port_Init{P0MDOUT = 0x0D。 P1MDOUT = 0x0F。P0SKIP = 0x8F。P1SKIP = 0x0F。XBR1 = 0x40。 } 自舉程序自舉程序是用來實(shí)現(xiàn)自舉功能,在編寫過程中,編寫了自舉子程序bootloader()。用來實(shí)現(xiàn)自舉功能,自舉子程序 bootloader()。的具體實(shí)現(xiàn)過程將在后面自舉程序詳細(xì)設(shè)計中介紹。 初始化程序設(shè)計 初始化時程序正常運(yùn)行的前提,也是程序執(zhí)行過程的第一步。在該模塊中初始化部分包括對單片機(jī) C8051F340 的初始化、USB 總線的初始化和對 SPI 端口的初始化。單片機(jī) C8051F340 的初始化單片機(jī) C8051F340 的初始化是為整個模塊的運(yùn)行做準(zhǔn)備,以至自舉過程的西安工程大學(xué)本科畢業(yè)設(shè)計(論文)33正常順利執(zhí)行。單片機(jī)的初始化包括初始化時鐘以及端口的配置等,其中對端口 0 和端口 1 的配置和端口 I/O 交叉開關(guān)的配置通過調(diào)用 Port_Init()子函數(shù)來完成。具體的初始化代碼如下:() CLKSEL |= 0x02。 RSTSRC |= 0x02。 Port_Init{P0MDOUT = 0x0D。 P1MDOUT = 0x0F。P0SKIP = 0x8F。P1SKIP = 0x0F。XBR1 = 0x40。 } USB 總線的初始化USB 總線的初始化是為上位機(jī)與下位機(jī)的通信提供保障,使得上位機(jī)轉(zhuǎn)換后的程序代碼能夠正常存儲到下位機(jī)單片機(jī) C8051F340 的 FLASH 中,通過調(diào)用AN169USB 通信庫函數(shù) USB_Clock_Start()完成初始化 USB 總線時鐘;調(diào)用AN169USB 通信庫函數(shù) USB_Init()完成 USB 總線使能;調(diào)用 AN169USB通信庫函數(shù) USB_Int_Enable()完成 API 中斷使能。SPI 端口的初始化SPI 端口的初始化是為了實(shí)現(xiàn)該模塊與測試模塊的通信,通過通信來實(shí)現(xiàn)自舉結(jié)果的測試。初始化過程比較簡單,初始化用以下程序代碼完成:RS=1。BFSR0=0。 BCLKR0=0。 通信程序設(shè)計 通信時該模塊的一個主要部分,在該模塊中有關(guān)下位機(jī)利用 API 實(shí)現(xiàn) USB西安工程大學(xué)本科畢業(yè)設(shè)計(論文)34通信的具體流程圖如圖 39 所示:C 8 0 5 1 F 3 4 0 上電復(fù)位程序開始程序結(jié)束C 8 0 5 1 F 3 4 0 初始化調(diào)用用戶上層程序是否進(jìn)行U S B 通信初始化 U S B 總線時鐘使能 U S B 總線使能 A P I 中斷向 U S B 主機(jī)寫數(shù)據(jù)塊或讀取 U S B 主機(jī)數(shù)據(jù)塊U S B 通信是否完成掛起 U S B 中斷關(guān)閉 U S B 接口YYNN圖 39 下位機(jī)利用 API 實(shí)現(xiàn) USB 通信流程圖流程圖中的部分代碼及注釋如下: 初始化 USB 總線時鐘初始化 USB 總線時鐘通過調(diào)用 AN169USB 通信庫函數(shù) USB_Clock_Start()完成,程序代碼如下:USB_Clock_Start()。 使能 API 中斷使能 API 中斷通過調(diào)用 AN169USB 通信庫函數(shù) USB_Int_Enable()完成,具體代碼如下:USB_Int_Enable()。 使能 USB 總線西安工程大學(xué)本科畢業(yè)設(shè)計(論文)35使能 USB 總線通過調(diào)用 AN169USB 通信庫函數(shù) USB_Init()完成,具體代碼如下:USB_Init()。 向 USB 主機(jī)寫數(shù)據(jù)塊或向 USB 主機(jī)讀數(shù)據(jù)塊程序通過調(diào)用 Block_Write()子函數(shù)完成向 USB 主機(jī)寫數(shù)據(jù)塊,調(diào)用 Block_Read()子函數(shù)完成讀取 USB 主機(jī)數(shù)據(jù)塊,代碼如下:Block_Write()。 Block_Read()。 掛起 USB 中斷掛起 USB 中斷通過調(diào)用 AN169USB 通信庫函數(shù) USB_Suspend()完成,具體代碼如下:USB_Suspend()。 關(guān)閉 USB 接口關(guān)閉 USB 接口通過調(diào)用 AN169USB 通信庫函數(shù) USB_Disable()完成,具體代碼如下:USB_Disable()。 自舉程序設(shè)計 對于 TMS320C54x DSP 芯片來說,一般都在芯片內(nèi)設(shè)置有自啟動(BOOT)程序。BOOT 程序的主要作用是在開機(jī)時將用戶程序從外部裝入到程序存儲器ROM 中,即 TMS320VC5416 片內(nèi) 4KROM 掩膜設(shè)計的程序中包含自舉程序。在我們設(shè)計的自舉程序 bootloader()主要完成 SPI 端口的初始化、復(fù)位 DSP,在自舉程序開始后完成從 FLASH 中提取數(shù)據(jù)、數(shù)據(jù)的 ASCII 轉(zhuǎn)換和將數(shù)據(jù)寫入DSP 中。自舉程序流程如圖 310:西安工程大學(xué)本科畢業(yè)設(shè)計(論文)36開始S P I 端口初始化復(fù)位 D S P數(shù)據(jù) A S C I I 碼轉(zhuǎn)換自舉開始 , 從 F L A S H中提取一組數(shù)據(jù)I N T 0 中斷觸發(fā)數(shù)據(jù)寫入 D S P結(jié)束YN 圖 310 自舉函數(shù)流程圖在自舉程序 bootloader()中各部分主要代碼和相關(guān)解釋如下:SPI 端口的初始化程序代碼RS=1。BFSR0=0。BCLKR0=0。 復(fù)位 DSP 程序代碼在復(fù)位 DSP 部分首先完成 DSP 的復(fù)位,然后等待 DSP 的 XF 引腳觸發(fā)INT0 中斷。 RS=0。 Delayms(1000)。 INT0_FLAG=1。 RS=1。 do { }while(INT0_FLAG)。 發(fā)送數(shù)據(jù)程序代碼 for(i=0。i16。i++) {西安工程大學(xué)本科畢業(yè)設(shè)計(論文)37 BDR0= (w amp。 (0x8000 i)) 0。 BCLKR0=1。 BFSR0=0。 delayus(20)。 BCLKR0=0。 delayus(20)。 }數(shù)據(jù) ASCII 轉(zhuǎn)換部分編寫一個子函數(shù) ASCII_Transform()用于將loader_ARRA 中存放的直接從 FLASH 文件中讀取的 ASCII 字符數(shù)據(jù)轉(zhuǎn)換為相應(yīng)16 進(jìn)制數(shù),轉(zhuǎn)換過程中每四個 ASCII 字符轉(zhuǎn)換為一個 16bit 字。 DSP 測試程序設(shè)計在 SPI 通信過程中將 DSP 系統(tǒng)設(shè)置為主機(jī),所以 DSP 運(yùn)行 SPI 主機(jī)程序。此程序設(shè)計中先對 DSP 進(jìn)行初始化,包括 DSP 的 MCBSP0 的初始化,接下來便是 SPI 通信的主程序,在通信的過程中,從機(jī)(單片機(jī))先給主機(jī)(DSP)發(fā)數(shù)據(jù),在發(fā)數(shù)據(jù)之前,主機(jī)做好接受的準(zhǔn)備,在 DSP 接收數(shù)據(jù)完成后,將接受的
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1