設(shè)計指標(biāo):
主控: STM32F103ZET6
液晶屏: 4.3寸TFT480×272 65K彩色LCD顯示屏 FSMC
AD: 12位1MHz采樣速率
最高實時取樣率: 1Msps 8Bits
取樣緩沖器深度: 5K
垂直靈敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV;
水平時基范圍: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ā)功能: 實現(xiàn)自動、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā)
參數(shù)計算: 頻率、周期、占空比、交流峰-峰值、平均值
觸發(fā)電平: 觸發(fā)電平高低位置可調(diào),觸發(fā)時基位置可調(diào)
實現(xiàn)RUN/STOP功能
功能預(yù)留:
1、波形發(fā)生器:使用STM32一路DA實現(xiàn)正弦,三角波,方波輸出。 任意一種波形幅值在
0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項
可以通過觸摸屏完成設(shè)置。
2、SD卡存儲: SD卡波形存儲輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲在SD卡上。能夠存儲1S內(nèi)的波形數(shù)據(jù),可以隨時調(diào)用查看。
3、數(shù)據(jù)傳輸: 用C#編寫上位機(jī),通過串口完成對下位機(jī)的控制。初步功能為:(1)實現(xiàn)STOP/RUN功能(2)輸出波形電壓、時間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)其他
4、圖形接口: 完成UCGUI的移植和使用工作。
5、遠(yuǎn)期計劃: 添加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、被測信號的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。
Altium Designer畫的原理圖和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];
/*-----------------------------------------
因為涉及到對共享資源的訪問,創(chuàng)建互斥信號量
------------------------------------------*/
OS_EVENT *LCD_Buffer_MUTEX;
OS_EVENT *USART_Buffer_MUTEX;
OS_EVENT *SDtoRAM_Buffer_MUTEX;
/*-----------------------------------------
主 函 數(shù)
------------------------------------------*/
int main(void)
{
INT8U err;
SystemInit(); //初始化RCC時鐘
OSInit();
LCD_Buffer_MUTEX = OSMutexCreate(4,&err); //創(chuàng)建3個共享資源互斥信號量
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è)
說 明:因為跑操作系統(tǒng),所以外設(shè)的初始化應(yīng)該放在操作系統(tǒng)的初始任務(wù)中完成,不能
在while(1)循環(huán)外部完成外設(shè)的初始化工作,否則操作系統(tǒng)可能無法啟動.
本函數(shù)在app.c中被調(diào)用
-------------------------------------------------------------------------------*/
void BSP_Init(void)
{
OS_CPU_SR cpu_sr = 0u;
OS_ENTER_CRITICAL();
DelayInit(); //初始化延時
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頻率計數(shù),每2ms溢出中斷
// TIM4_Config(59999,71); //TIM4以1MHz頻率計數(shù),每60ms溢出中斷
RTC_Init(); //初始化RTC
// SD_Init();
JDQ_ACDC = 1; //交流耦合
ManualGainScan(3); //調(diào)試用
IWDG_Init(4,625); //喂狗時間為1000ms
OS_EXIT_CRITICAL();
}
設(shè)計文檔:
設(shè)計指標(biāo): 主控: STM32F103ZET6 液晶屏: 4.3寸TFT480×272 65K彩色LCD顯示屏 FSMC AD: 12位1MHz采樣速率 最高實時取樣率: 1Msps 8Bits 取樣緩沖器深度: 5K 垂直靈敏度: 5V,1V,500mV,200mV,100mV,50mV,20mV,10mV; 水平時基范圍: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ā)功能: 實現(xiàn)自動、常規(guī)、單次觸發(fā)方式 ,上升或下降邊沿觸發(fā) 參數(shù)計算: 頻率、周期、占空比、交流峰-峰值、平均值 觸發(fā)電平: 觸發(fā)電平高低位置可調(diào),觸發(fā)時基位置可調(diào) 實現(xiàn)RUN/STOP功能
功能預(yù)留: 1、波形發(fā)生器:使用STM32一路DA實現(xiàn)正弦,三角波,方波輸出。任意一種波形幅值在 0-3.3V任意可調(diào)、頻率在一定范圍任意可調(diào)、方波占空比可調(diào)。調(diào)節(jié)選項 可以通過觸摸屏完成設(shè)置。 2、SD卡存儲:SD卡波形存儲輸出,能夠?qū)Ξ?dāng)前屏幕截屏,以JPG格式存儲在SD卡上。能夠存儲1S內(nèi)的波形數(shù)據(jù),可以隨時調(diào)用查看。 3、數(shù)據(jù)傳輸: 用C#編寫上位機(jī),通過串口完成對下位機(jī)的控制。初步功能為:(1)實現(xiàn)STOP/RUN功能(2)輸出波形電壓、時間參數(shù)(3)控制截屏(4)控制波形發(fā)生器(5)其他 4、圖形接口: 完成UCGUI的移植和使用工作。 5、遠(yuǎn)期計劃: 添加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、被測信號的各種參數(shù)屏幕顯示,包括頻率、電壓峰峰值等。
硬件電路
全部資料51hei下載地址(資料為網(wǎng)上轉(zhuǎn)載,PCB還未布線,還有一些不完善,望大家一起來完善):
硬件設(shè)計.zip
(2.65 MB, 下載次數(shù): 82)
2020-11-12 20:42 上傳
點擊文件名下載附件
設(shè)計文檔.zip
(60.19 KB, 下載次數(shù): 67)
2020-11-12 20:42 上傳
點擊文件名下載附件
源代碼.7z
(1.29 MB, 下載次數(shù): 88)
2020-11-12 21:13 上傳
點擊文件名下載附件
|