|
軟件運(yùn)行界面:
0.jpg (88.46 KB, 下載次數(shù): 84)
下載附件
2017-12-5 15:21 上傳
0.jpg (79.67 KB, 下載次數(shù): 92)
下載附件
2017-12-5 15:21 上傳
Stu-02型雙通道數(shù)字示波器,是一款以“低成本、高性能”為設(shè)計(jì)目標(biāo),精心設(shè)計(jì)的200K、400KS/s、2通道的虛擬示波器。通過USB將采集數(shù)據(jù)快速的傳輸給PC,借助PC的強(qiáng)大計(jì)算能力,可以完成對采集數(shù)據(jù)的“波形合成”、“濾波處理”、“李薩茹圖形”、“幅頻”、“相頻”、“對數(shù)幅頻”、“自功率譜”、“對數(shù)自功率譜”、“自相關(guān)”和“互相關(guān)”的分析功能。其中濾波器,支持設(shè)計(jì)IIR和FIR濾波器設(shè)計(jì)。IIR支持“巴特沃斯”、“切比雪夫I”、“切比雪夫II”、“橢圓”和“貝塞爾”類型的濾波器設(shè)計(jì);FIR支持“矩形窗”、“三角窗”、“漢寧窗”、“海明窗”、“布萊克曼窗”和“凱塞—貝塞爾窗”。
0.jpg (58.44 KB, 下載次數(shù): 80)
下載附件
2017-12-5 15:06 上傳
0.jpg (58.1 KB, 下載次數(shù): 89)
下載附件
2017-12-5 15:07 上傳
0.jpg (34.22 KB, 下載次數(shù): 94)
下載附件
2017-12-5 15:07 上傳
0.jpg (31.65 KB, 下載次數(shù): 72)
下載附件
2017-12-5 15:08 上傳
0.jpg (64.42 KB, 下載次數(shù): 71)
下載附件
2017-12-5 15:08 上傳
0.jpg (61.51 KB, 下載次數(shù): 82)
下載附件
2017-12-5 15:09 上傳
1. 簡介
“低成本和高性能”為設(shè)計(jì)思想, 借助虛擬儀器的概念和高速的數(shù)字信號(hào)處理算法將傳統(tǒng)的函數(shù)發(fā)生器、 示波器、 數(shù)據(jù)記錄儀、 頻率計(jì)、 譜分析儀以及濾波器設(shè)計(jì)和仿真等功能高度集成、統(tǒng)一平臺(tái)方便使用。
軟件環(huán)境支持聲卡、 USB模塊和虛擬仿真,三種模式。聲卡模式,可以借助電腦的聲卡來完成對音頻范圍內(nèi)信號(hào)的分析和處理; USB模塊,可以完成對帶寬允許內(nèi)的信號(hào)的分析和處理;其中仿真模式采用軟件模擬來實(shí)現(xiàn)所有的功能,便于教學(xué)和理論的演示
2. 特性說明
帶寬 200K
采樣率 400KS/s
通道 2
輸入電壓范圍 [-150,150V]
存儲(chǔ)深度 8K*2
AD采樣位數(shù) 8位
軟件觸發(fā) 上升沿、下降沿、上升/下降沿、差分、上下+差分
分析功能 波形合成:波形相加 波形相減 波形相乘,
濾波處理:支持設(shè)計(jì)IIR和FIR濾波器。IIR支持“巴特沃斯”、“切比雪夫I”、“切比雪夫II”、“橢圓”和“貝塞爾”類
型的濾波器設(shè)計(jì);FIR支持“矩形窗”、“三角窗”、“漢寧窗”、“海明窗”、“布萊克曼窗”和“凱塞—貝塞爾窗”,
波形分析:李薩茹圖形、幅頻、相頻、對數(shù)幅頻、自功率譜、對數(shù)
自功率譜、自相關(guān)、互相關(guān)。
抓幀功能 支持連續(xù)抓幀功能
傳輸接口 USB2.0
3. 示波器使用說明
當(dāng)將Stu-02型的USB和電腦相連后,軟件會(huì)自動(dòng)檢測到,并和硬件建立連接。在數(shù)字存儲(chǔ)示波器右側(cè)工作區(qū)“屬性控制”的頂端便會(huì)出現(xiàn)一個(gè)Stu-02(N)的下拉選項(xiàng),N會(huì)隨不同的電腦而不同,用于區(qū)別多個(gè)的相同的設(shè)備。選擇該選項(xiàng)后彈出如圖3.1的界面。
3.1 通道控制 “通道控制”里的“左通道”和“右通道”用于啟動(dòng)和關(guān)閉對應(yīng)的示波器通
道。
3.2 自動(dòng)和暫停 當(dāng)打開示波器后,點(diǎn)擊“自動(dòng)”可以開啟示波器的自動(dòng)檢測功能;點(diǎn)擊“暫停”可 以將采集數(shù)據(jù)暫停。
3.3 觸發(fā)條件 “觸發(fā)”可以是硬件觸發(fā)和軟件觸發(fā)。
硬件觸發(fā)采用硬件電路觸發(fā);軟件觸發(fā)只是 將采集的數(shù)據(jù),采用算法來進(jìn)行觸發(fā)。
軟件觸發(fā):選擇軟件觸發(fā)后, “觸發(fā) 源”可以是“各自”、“左通道”和“右通 道”; “觸發(fā)條件”可以是“不觸發(fā)”、“上升 沿”、“下降沿”、“上升/下降沿”、“差 分”和“上下+差分”;“觸發(fā)電平”用于設(shè) 置觸發(fā)的電平;”觸發(fā)延遲”用于設(shè)置觸發(fā) 點(diǎn),向前或向后的數(shù)據(jù)顯示比例。
說明:
a、觸發(fā):“硬件觸發(fā)”采用硬件電路的觸發(fā);“軟件觸發(fā)”采用軟件觸發(fā)。
b、觸發(fā)源:“各自”,兩個(gè)通道,各自對采集的. 數(shù)據(jù)進(jìn)行觸發(fā);“左通道”,右通道使用左通道的觸 發(fā)點(diǎn),而不是采用自己的觸發(fā)點(diǎn);“右通道”,左通 道使用右通道的觸發(fā)點(diǎn),而不是采用自己的觸發(fā)點(diǎn)。
c、觸發(fā)條件:“不觸發(fā)”,對于硬件電路,不觸發(fā)直接采集,對于軟件觸發(fā),采集的數(shù)據(jù) 直接顯示,不做任何觸發(fā);“上升沿”,檢測到上升沿并且高于觸發(fā)電平便觸發(fā);“下降沿”,檢 測到下降沿并且低于觸發(fā)電平便觸發(fā);“上升/下降沿”滿足上述“上升沿”或“下降沿”情況就觸發(fā);“差分”觸發(fā)電平為正值時(shí),當(dāng)兩次的數(shù)據(jù)采集的差大于 觸發(fā)電平設(shè)置的值便觸發(fā)(此時(shí)波形應(yīng)該是上升的),當(dāng)觸發(fā)電 平為負(fù)值時(shí),當(dāng)兩次的數(shù)據(jù)采集的差覺得值大于觸發(fā)電平設(shè)置的
uu.006.jpg (29.04 KB, 下載次數(shù): 80)
下載附件
2017-12-5 15:12 上傳
圖3.1屬性設(shè)置
值的絕對值便觸發(fā)(此時(shí)波形應(yīng)該是下降的);“上下+差分”當(dāng)兩次的數(shù)據(jù)采集的差大于或小于 觸發(fā)電平設(shè)置的值便觸發(fā)。
d、觸發(fā)電平用于設(shè)置觸發(fā)的電平,對于沿觸發(fā)和差分觸發(fā)的意義不同,詳細(xì)解釋見d中。
e、觸發(fā)延遲用于設(shè)置觸發(fā)點(diǎn),向前或向后的數(shù)據(jù)顯示比例g。如果小于0就代表,就從“觸發(fā)點(diǎn)-采集長度*g”處開始顯示;如果大于0就代表,就從“觸發(fā)點(diǎn)+采集長度*g”處開始顯示。
3.4自動(dòng) 和傳統(tǒng)的示波器一樣,點(diǎn)擊“自動(dòng)”以后,示波器將自動(dòng)檢測信號(hào),并根據(jù)實(shí)際的信號(hào)調(diào)整顯示界面。
3.5暫停
點(diǎn)擊“暫停”可以,暫停示波器的數(shù)據(jù)采集。
3.6內(nèi)插
支持自動(dòng)和手動(dòng)來內(nèi)插,選擇內(nèi)插后,將根據(jù)給定的內(nèi)插頻率,當(dāng)采集的波形的頻率大于內(nèi)插頻率,系統(tǒng)就會(huì)啟動(dòng)正弦內(nèi)插功能。
3.7 探頭 當(dāng)改變了示波器探頭上面的×1,×10,需要在界面上選擇相應(yīng)的探頭倍數(shù),這樣便可以正確的現(xiàn)實(shí)波形峰值。
3.8抓幀
如圖3.1,在“屬性設(shè)置”窗口的頂端,有“抓幀”按鈕,點(diǎn)擊便可以啟動(dòng)抓幀;“雙通道”下拉復(fù)選框用于選擇抓幀的通道,可以是“左通道”、“右通道”和“雙通道”;“1幀”下拉復(fù)選框用于選擇連續(xù)抓幀的幀數(shù),可以是1~100幀。
抓取完成后,可以在“數(shù)據(jù)記錄”選項(xiàng)卡里面,找到以日期的時(shí)間命名的txt文本文件,例如10-5+14-13-2+1.txt表示這是10月5日14時(shí)13分2秒抓取的第一幀數(shù)據(jù)。只要雙擊或者右鍵“導(dǎo)入分析”便可以將數(shù)據(jù)載入分析。
3.9 設(shè)備屬性
“設(shè)備信息”顯示了該設(shè)備的一些具體的參數(shù)。
3.10波形分析
請參照“多功能虛擬信號(hào)分析儀使用說明書”。
安裝說明:
1.安裝驅(qū)動(dòng)
正確連接 9V/1A 電源適配器,主機(jī)指示燈亮,然后將方口 USB 數(shù)據(jù)線連接于主機(jī)與電腦直接,電腦右下角出現(xiàn)發(fā)現(xiàn)新硬件 STM Virtual Com Port,如下圖所示,使用向?qū)Р檎倚掠布?qū)動(dòng),選擇從列 表或指定位置安裝(高級(jí))(S), 點(diǎn) 擊 下 一 步 (N)。
首先解壓上位機(jī)驅(qū)動(dòng)安裝包,出現(xiàn) driver 文件夾,將驅(qū)動(dòng)瀏覽到 此文件夾,點(diǎn)擊下一步(N)。
出現(xiàn)硬件安裝警告,點(diǎn)擊仍然繼續(xù)(C)。
點(diǎn)擊完成。
安裝完成后,右下角會(huì)出現(xiàn)新硬件已安裝并可以使用了,然后將 USB 線與電腦斷開,在重新連接一次,此次即可正常驅(qū)動(dòng),檢查“我 的電腦 屬性 硬件 設(shè)備管理器”在端口中出現(xiàn)主機(jī)設(shè)備的正常連 接,如下所示,由于各個(gè)電腦中設(shè)備號(hào)均不相同,所以 COM 號(hào)各異 , 屬正常現(xiàn)象。
2.軟件互聯(lián)
雙擊多功能虛擬信號(hào)分析儀軟件圖標(biāo),出現(xiàn)下圖所示界面,詳讀 軟件許可協(xié)議后,點(diǎn)擊接受。
進(jìn)入軟件第一主界面,在顯示界面上方有四個(gè)工作切換區(qū),分別 是函數(shù)發(fā)生器、數(shù)字存儲(chǔ)示波器、數(shù)據(jù)記錄儀、濾波器設(shè)計(jì)。
如使用數(shù)字存儲(chǔ)示波器功能,點(diǎn)擊上方工作切換區(qū),即彈出數(shù)字 存儲(chǔ)示波器主界面,或在電腦下方工作區(qū)內(nèi)多出一個(gè)軟件,即數(shù)字存 儲(chǔ)示波器,雙擊使其最大化,并選擇波形界面最大化,軟件右下方工 作條如下圖所示。
點(diǎn)擊屬性設(shè)置,上方下拉列表中出現(xiàn)主機(jī)設(shè)備編號(hào) Stu-0.2(X), 選擇即可,如下圖所示。
通道控制內(nèi)有左、右通道選擇開關(guān),勾上后即可使用相應(yīng)通道進(jìn) 行示波顯示功能,如下圖所示,綠色信號(hào)線表示 CH1( 左 通 道 ), 紅 色信號(hào)線表示 CH2( 右 通 道 )。
軟件相應(yīng)功能,請?jiān)斠娛褂谜f明書。
stm32單片機(jī)源程序如下:
- /*
- * Copyright (c) 2010 儀星電子
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
- */
- /*
- * 著作權(quán)所有(C) 2010 儀星電子
- *
- * 本程序?yàn)樽杂绍浖荒梢罁?jù)自由軟件基金會(huì)所發(fā)表的GNU通用公共授權(quán)條款規(guī)定,
- * 就本程序再為發(fā)布與/或修改;無論您依據(jù)的是本授權(quán)的第二版或(您自行選擇的)
- * 任一日后發(fā)行的版本。
- * 本程序是基于使用目的而加以發(fā)布,然而不負(fù)任何擔(dān)保責(zé)任;亦無對適售性或特定
- * 目的適用性所為的默示性擔(dān)保。詳情請參照GNU通用公共授權(quán)。
- * 您應(yīng)已收到附隨于本程序的GNU通用公共授權(quán)的副本;如果沒有,請寫信至自由軟件
- * 基金會(huì):59 Temple Place - Suite 330, Boston, Ma 02111-1307, USA。
- * Email yixingdianzi@126.com
- * Email/MSN yixingdianzi@hotmail.com
- * QQ 648887464
- */
- /******************** (C) COPYRIGHT 2009 STMicroelectronics ********************
- * File Name : main.c
- * Author : MCD Application Team
- * Version : V3.1.0
- * Date : 10/30/2009
- * Description : Virtual Com Port Demo main file
- ********************************************************************************
- * THE PRESENT FIRMWARE WHICH IS FOR GUIDANCE ONLY AIMS AT PROVIDING CUSTOMERS
- * WITH CODING INFORMATION REGARDING THEIR PRODUCTS IN ORDER FOR THEM TO SAVE TIME.
- * AS A RESULT, STMICROELECTRONICS SHALL NOT BE HELD LIABLE FOR ANY DIRECT,
- * INDIRECT OR CONSEQUENTIAL DAMAGES WITH RESPECT TO ANY CLAIMS ARISING FROM THE
- * CONTENT OF SUCH FIRMWARE AND/OR THE USE MADE BY CUSTOMERS OF THE CODING
- * INFORMATION CONTAINED HEREIN IN CONNECTION WITH THEIR PRODUCTS.
- *******************************************************************************/
- /* Includes ------------------------------------------------------------------*/
- //#include "stm32f10x.h"
- #include "stm32f10x_gpio.h"
- #include "usb_lib.h"
- #include "usb_desc.h"
- #include "usb_pwr.h"
- #include "qdmx_usb.h"
- #include "qdmx_adc.h"
- #define SEND 32
- /* Private typedef -----------------------------------------------------------*/
- /* Private define ------------------------------------------------------------*/
- /* Private macro -------------------------------------------------------------*/
- /* Private variables ---------------------------------------------------------*/
- /* Extern variables ----------------------------------------------------------*/
- extern __IO uint32_t count_in;
- extern uint8_t Controla_a;
- extern uint8_t Controla_b;
- /* Private function prototypes -----------------------------------------------*/
- /* Private functions ---------------------------------------------------------*/
- void Set_System(void);
- void Callback(uint8_t *p);
- void Delay(__IO uint32_t nCount);
- void GPIO_configure(void);
- /*******************************************************************************
- * Function Name : main.
- * Description : Main routine.
- * Input : None.
- * Output : None.
- * Return : None.
- *******************************************************************************/
- int main(void)
- {
- vu8 s;
- /*設(shè)置系統(tǒng)時(shí)鐘*/
- Set_System();
-
- /*初始化USB模塊*/
- Set_USBClock();
- USB_Interrupts_Config();
- USB_Init();
- /*初始化AD模塊*/
- m_adc_clk_config();
- m_adc_gpio_config();
- m_adc_Interrupts_Config();
- m_adc_init();
- /*初始化GPIO引腳作為放大控制引腳*/
- GPIO_configure();
-
- count_in=0;
- /*默認(rèn)初始值為放大1倍*/
- GPIO_ResetBits(GPIOA,GPIO_Pin_0);
- GPIO_ResetBits(GPIOA,GPIO_Pin_1);
- GPIO_ResetBits(GPIOA,GPIO_Pin_2);
- GPIO_ResetBits(GPIOB,GPIO_Pin_12);
- GPIO_ResetBits(GPIOB,GPIO_Pin_13);
- GPIO_ResetBits(GPIOB,GPIO_Pin_14);
- while (1)
- {
- }
- }
- void GPIO_configure(void)
- {
- GPIO_InitTypeDef GPIO_InitStructure;
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
- RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
-
- RCC_AHBPeriphClockCmd(RCC_APB2Periph_GPIOA , ENABLE);
- RCC_AHBPeriphClockCmd(RCC_APB2Periph_GPIOB , ENABLE);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_12 | GPIO_Pin_13 | GPIO_Pin_14;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
- GPIO_Init(GPIOB, &GPIO_InitStructure);
-
- GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0 | GPIO_Pin_1 | GPIO_Pin_2;
- GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
- GPIO_Init(GPIOA, &GPIO_InitStructure);
- }
- void Delay(__IO uint32_t nCount)
- {
- for(; nCount != 0; nCount--);
- }
- void Callback(uint8_t *p)
- {
- if (GetENDPOINT(ENDP1) & EP_DTOG_RX)
- {
- FreeUserBuffer(ENDP1, EP_DBUF_IN);
- UserToPMABufferCopy((uint8_t*) p, ENDP1_TX1ADDR, SEND);
- SetEPDblBuf1Count(ENDP1,EP_DBUF_IN,SEND);
- }
- else
- {
- FreeUserBuffer(ENDP1, EP_DBUF_IN);
- UserToPMABufferCopy((uint8_t*) p, ENDP1_TX0ADDR, SEND);
- SetEPDblBuf0Count(ENDP1,EP_DBUF_IN,SEND);
- }
- }
- #ifdef USE_FULL_ASSERT
- /*******************************************************************************
- * Function Name : assert_failed
- * Description : Reports the name of the source file and the source line number
- * where the assert_param error has occurred.
- * Input : - file: pointer to the source file name
- * - line: assert_param error line source number
- * Output : None
- * Return : None
- *******************************************************************************/
- void assert_failed(uint8_t* file, uint32_t line)
- {
- /* User can add his own implementation to report the file name and line number,
- ex: printf("Wrong parameters value: file %s on line %d\r\n", file, line) */
- /* Infinite loop */
- while (1)
- {}
- }
- #endif
- /*******************************************************************************
- * Function Name : Set_System
- * Description : Configures Main system clocks & power
- * Input : None.
- * Return : None.
- *******************************************************************************/
- void Set_System(void)
- {
- ErrorStatus HSEStartUpStatus;
- /* SYSCLK, HCLK, PCLK2 and PCLK1 configuration -----------------------------*/
- /* RCC system reset(for debug purpose) */
- RCC_DeInit();
- /* Enable HSE */
- RCC_HSEConfig(RCC_HSE_ON);
- /* Wait till HSE is ready */
- HSEStartUpStatus = RCC_WaitForHSEStartUp();
- if (HSEStartUpStatus == SUCCESS)
- {
- /* Enable Prefetch Buffer */
- FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable);
- /* Flash 2 wait state */
- FLASH_SetLatency(FLASH_Latency_2);
-
- /* HCLK = SYSCLK */
- RCC_HCLKConfig(RCC_SYSCLK_Div1);
-
- /* PCLK2 = HCLK */
- RCC_PCLK2Config(RCC_HCLK_Div1);
- /* PCLK1 = HCLK/2 */
- RCC_PCLK1Config(RCC_HCLK_Div2);
- #ifdef STM32F10X_CL
- /* Configure PLLs *********************************************************/
- /* PLL2 configuration: PLL2CLK = (HSE / 5) * 8 = 40 MHz */
- RCC_PREDIV2Config(RCC_PREDIV2_Div5);
- RCC_PLL2Config(RCC_PLL2Mul_8);
- /* Enable PLL2 */
- RCC_PLL2Cmd(ENABLE);
- /* Wait till PLL2 is ready */
- while (RCC_GetFlagStatus(RCC_FLAG_PLL2RDY) == RESET)
- {}
- /* PLL configuration: PLLCLK = (PLL2 / 5) * 9 = 72 MHz */
- RCC_PREDIV1Config(RCC_PREDIV1_Source_PLL2, RCC_PREDIV1_Div5);
- RCC_PLLConfig(RCC_PLLSource_PREDIV1, RCC_PLLMul_9);
- #else
- /* PLLCLK = 8MHz * 9 = 72 MHz */
- RCC_PLLConfig(RCC_PLLSource_HSE_Div1, RCC_PLLMul_9);
- ……………………
- …………限于本文篇幅 余下代碼請從51黑下載附件…………
復(fù)制代碼
|
-
0.png
(36.86 KB, 下載次數(shù): 132)
下載附件
2017-12-5 15:19 上傳
-
0.png
(5.83 KB, 下載次數(shù): 115)
下載附件
2017-12-5 15:19 上傳
-
0.png
(2.52 KB, 下載次數(shù): 127)
下載附件
2017-12-5 15:19 上傳
-
0.png
(4.2 KB, 下載次數(shù): 118)
下載附件
2017-12-5 15:20 上傳
-
0.png
(6.09 KB, 下載次數(shù): 121)
下載附件
2017-12-5 15:20 上傳
-
-
多功能虛擬信號(hào)分析儀上位機(jī) (1).zip
2017-12-5 10:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
2.96 MB, 下載次數(shù): 42, 下載積分: 黑幣 -5
-
-
下位機(jī)原理圖和PCB源文件.zip
2017-12-5 10:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
355.18 KB, 下載次數(shù): 44, 下載積分: 黑幣 -5
-
-
下位機(jī)源碼和USB驅(qū)動(dòng).zip
2017-12-5 10:39 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
1.09 MB, 下載次數(shù): 38, 下載積分: 黑幣 -5
-
-
測量圖片以及信號(hào)分析儀說明書等.zip
2017-12-5 15:17 上傳
點(diǎn)擊文件名下載附件
下載積分: 黑幣 -5
7.21 MB, 下載次數(shù): 35, 下載積分: 黑幣 -5
|