設(shè)計(jì)指標(biāo):
主控: STM32F103ZET6
液晶屏: 4.3寸TFT480×272 65K彩色LCD顯示屏 FSMC
AD: 12位1MHz采樣速率
最高實(shí)時(shí)取樣率: 1Msps 8Bits
取樣緩沖器深度: 5K
垂直靈敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;
水平時(shí)基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS
輸入阻抗: ≥1MΩ
最高輸入電壓: 30Vpp
耦合方式: AC/DC
觸發(fā)功能: 實(shí)現(xiàn)自動(dòng)、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā)
參數(shù)計(jì)算: 頻率、周期、占空比、交流峰-峰值、平均值
觸發(fā)電平: 觸發(fā)電平高低位置可調(diào),觸發(fā)時(shí)基位置可調(diào)
實(shí)現(xiàn)RUN/STOP功能
功能預(yù)留:
1、波形發(fā)生器:使用STM32一路DA實(shí)現(xiàn)正弦,三角波,方波輸出。 任意一種波形幅值在
0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項(xiàng)
可以通過(guò)觸摸屏完成設(shè)置。
2、SD卡存儲(chǔ): SD卡波形存儲(chǔ)輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲(chǔ)在SD卡上。能夠存儲(chǔ)1S內(nèi)的波形數(shù)據(jù),可以隨時(shí)調(diào)用查看。
3、數(shù)據(jù)傳輸: 用C#編寫(xiě)上位機(jī),通過(guò)串口完成對(duì)下位機(jī)的控制。初步功能為:(1)實(shí)現(xiàn)STOP/RUN功能(2)輸出波形電壓、時(shí)間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)其他
4、圖形接口: 完成UCGUI的移植和使用工作。
5、遠(yuǎn)期計(jì)劃: 添加FFT等等
1、采樣速率:600Sa/s,6kSa/s ,60kSa/s,600kSa/s ,3MSa/s,,6MSa/s,30MSa/s ,60MSa/s
2、水平掃速:250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms
3、垂直電壓靈敏度:10mV/div, 20mV/div, 50mV/div, 0.1V/div, 0,2V/div, 0.5V/div, 1V/div,
2V/div, 5V/div
4、被測(cè)信號(hào)的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。
Altium Designer畫(huà)的原理圖和PCB圖如下:(51hei附件中可下載工程文件)
電路原理圖如下:
主程序:
#include "stm32f10x.h"
#include "ucos_ii.h"
#include "app.h"
#include "GUI.h"
#include "usart1.h"
#include "pincfg.h"
#include "delay.h"
#include "tft_api.h"
#include "dac.h"
#include "adc.h"
#include "iwdg.h"
#include "timer.h"
#include "EXTI.H"
#include "oscilloscope.h"
#include "indkey.h"
#include "tsc2046.h"
#include "task_rtc.h"
#include "task_gui.h"
#include "task_sd.h"
/*-----------------------------------------
聲明起始任務(wù)棧
------------------------------------------*/
OS_STK Task_Start_Stk[TASK_START_STK_SIZE];
/*-----------------------------------------
因?yàn)樯婕暗綄?duì)共享資源的訪問(wèn),創(chuàng)建互斥信號(hào)量
------------------------------------------*/
OS_EVENT *LCD_Buffer_MUTEX;
OS_EVENT *USART_Buffer_MUTEX;
OS_EVENT *SDtoRAM_Buffer_MUTEX;
/*-----------------------------------------
主 函 數(shù)
------------------------------------------*/
int main(void)
{
INT8U err;
SystemInit(); //初始化RCC時(shí)鐘
OSInit();
LCD_Buffer_MUTEX = OSMutexCreate(4,&err); //創(chuàng)建3個(gè)共享資源互斥信號(hào)量
USART_Buffer_MUTEX = OSMutexCreate(4,&err);
SDtoRAM_Buffer_MUTEX = OSMutexCreate(4,&err);
OSTaskCreate(Task_Start,(void *)0,&Task_Start_Stk[TASK_START_STK_SIZE-1],TASK_START_PRIO); //起始任務(wù)
OSStart();
}
/*-------------------------------------------------------------------------------
函數(shù)功能:初始化各種外設(shè)
說(shuō) 明:因?yàn)榕懿僮飨到y(tǒng),所以外設(shè)的初始化應(yīng)該放在操作系統(tǒng)的初始任務(wù)中完成,不能
在while(1)循環(huán)外部完成外設(shè)的初始化工作,否則操作系統(tǒng)可能無(wú)法啟動(dòng).
本函數(shù)在app.c中被調(diào)用
-------------------------------------------------------------------------------*/
void BSP_Init(void)
{
OS_CPU_SR cpu_sr = 0u;
OS_ENTER_CRITICAL();
DelayInit(); //初始化延時(shí)
PinCfg(); //外部器件控制配置
FSMC_LCD_Init(); //FSMC總線配置
GUI_Init(); //初始化UCGUI界面
TSC2046_Config(); //初始化觸摸控制器
USART1_Config(); //初始化串口
DAC_Config(); //初始化DAC1
ADC1_Init(); //初始化ADC1
EXTI_Config(); //初始化外部中斷
Key_EXTI_Config(); //初始化按鍵中斷
TIM5_Config(1999,71); //TIM5以1MHz頻率計(jì)數(shù),每2ms溢出中斷
// TIM4_Config(59999,71); //TIM4以1MHz頻率計(jì)數(shù),每60ms溢出中斷
RTC_Init(); //初始化RTC
// SD_Init();
JDQ_ACDC = 1; //交流耦合
ManualGainScan(3); //調(diào)試用
IWDG_Init(4,625); //喂狗時(shí)間為1000ms
OS_EXIT_CRITICAL();
}
設(shè)計(jì)文檔:
設(shè)計(jì)指標(biāo): 主控: STM32F103ZET6 液晶屏: 4.3寸TFT480×272 65K彩色LCD顯示屏 FSMC AD: 12位1MHz采樣速率 最高實(shí)時(shí)取樣率: 1Msps 8Bits 取樣緩沖器深度: 5K 垂直靈敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV; 水平時(shí)基范圍:2S,1S,500mS,200mS,100mS,50mS,20mS,10mS,5mS,2mS,1mS,500uS,200uS,100uS,50uS,20uS,10uS,5uS,2uS,1uS 輸入阻抗: ≥1MΩ 最高輸入電壓: 30Vpp 耦合方式: AC/DC 觸發(fā)功能: 實(shí)現(xiàn)自動(dòng)、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā) 參數(shù)計(jì)算: 頻率、周期、占空比、交流峰-峰值、平均值 觸發(fā)電平: 觸發(fā)電平高低位置可調(diào),觸發(fā)時(shí)基位置可調(diào) 實(shí)現(xiàn)RUN/STOP功能
功能預(yù)留: 1、波形發(fā)生器:使用STM32一路DA實(shí)現(xiàn)正弦,三角波,方波輸出。任意一種波形幅值在 0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項(xiàng) 可以通過(guò)觸摸屏完成設(shè)置。 2、SD卡存儲(chǔ):SD卡波形存儲(chǔ)輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲(chǔ)在SD卡上。能夠存儲(chǔ)1S內(nèi)的波形數(shù)據(jù),可以隨時(shí)調(diào)用查看。 3、數(shù)據(jù)傳輸: 用C#編寫(xiě)上位機(jī),通過(guò)串口完成對(duì)下位機(jī)的控制。初步功能為:(1)實(shí)現(xiàn)STOP/RUN功能(2)輸出波形電壓、時(shí)間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)其他 4、圖形接口: 完成UCGUI的移植和使用工作。 5、遠(yuǎn)期計(jì)劃: 添加FFT等等 1、采樣速率:600Sa/s,6kSa/s ,60kSa/s,600kSa/s ,3MSa/s,,6MSa/s,30MSa/s ,60MSa/s 2、水平掃速:250 ns*、500ns、1μs、5 μs、10μs、50μs、500 μs、5ms 、50ms 3、垂直電壓靈敏度:10mV/div, 20mV/div, 50mV/div,0.1V/div, 0,2V/div, 0.5V/div, 1V/div, 2V/div,5V/div 4、被測(cè)信號(hào)的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。
硬件電路
全部資料51hei下載地址(資料為網(wǎng)上轉(zhuǎn)載,PCB還未布線,還有一些不完善,望大家一起來(lái)完善):
硬件設(shè)計(jì).zip
(2.65 MB, 下載次數(shù): 82)
2020-11-12 20:42 上傳
點(diǎn)擊文件名下載附件
設(shè)計(jì)文檔.zip
(60.19 KB, 下載次數(shù): 67)
2020-11-12 20:42 上傳
點(diǎn)擊文件名下載附件
源代碼.7z
(1.29 MB, 下載次數(shù): 88)
2020-11-12 21:13 上傳
點(diǎn)擊文件名下載附件
|