2020年TI杯省赛A题制作

2020年电子竞赛中,团队选择了A题,涉及ADS1292心电模块、LMT70温度传感器和蓝牙无线传输。面对将人体作为信号源的难题,团队计划使用软件滤波,但由于缺乏MATLAB经验,未能实现心电图滤波。LMT70模块的实现则相对顺利,参照官方数据手册完成。
摘要由CSDN通过智能技术生成

2020年TI杯省赛A题制作*

  • 期待已久的电子竞赛终于在10月10号那天拉开了序幕。之前根据官方给出的材料清单,我们提前购买了ADS1292模块和LMT70温度传感器模块。等到题目出来之后,我们便很快的决定出我们要做的题目是A题。

    在这里插入图片描述

  • 确定好模块之后,我们很快决定出我们每个人要做的模块,分工明确。这次的电赛总计用到蓝牙无线传输模块,ADS1292模块,LMT70模块,mpu6050计步模块。

  • 对于ADS1292模块,之前官方给出的材料清单有心电信号模拟器,但是题目出来之后,我们发现我们想的还是太简单了。题目要求我们用人体作为信号源,如果用人体作为信号源的话,我们之前买的模块没有考虑到滤波,所以用硬件滤波的话基本不可能了。所以我们打算用软件滤波。软件滤波的最好方法是用matlab,但是matlab我们队的几个人都没有学过。最终我们没有对心电图进行滤波。

    对于LMT70模块,可以说我们做这个模块特别的顺利。在做的时候我们查看了它的官方数据手册。完整的代码。


```cpp
#include "adc.h"
#include "delay.h"
void  Adc_Init(void)
{
       
    ADC_InitTypeDef ADC_InitStructure; 
    GPIO_InitTypeDef GPIO_InitStructure;
    RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA |RCC_APB2Periph_ADC1, ENABLE );   //使能ADC1通道时钟
    RCC_ADCCLKConfig(RCC_PCLK2_Div6);  //设置ADC分频因子6   72M/6=12,ADC最大时间不能超过14M
    //PA0作为模拟通道输入引脚                         
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_0;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;       //模拟输入引脚
    GPIO_Init(GPIOA, &GPIO_InitStructure);  
    //PA1作为模拟通道输入引脚                         
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_1;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;       //模拟输入引脚
    GPIO_Init(GPIOA, &GPIO_InitStructure);
    //PA2作为模拟通道输入引脚                         
    GPIO_InitStructure.GPIO_Pin = GPIO_Pin_2;
    GPIO_InitStructure.GPIO_Mode = GPIO_Mode_AIN;       //模拟输入引脚
    GPIO_Init(GPIOA, &GPIO_InitStructure); 
    ADC_DeInit(ADC1);  //复位ADC1,将外设 ADC1 的全部寄存器重设为缺省值
    ADC_InitStructure.ADC_Mode = ADC_Mode_Independent;  //ADC工作模式:ADC1和ADC2工作在独立模式
    ADC_InitStructure.ADC_ScanConvMode = DISABLE;   //模数转换工作在单通道模式
    ADC_InitStructure.ADC_ContinuousConvMode = DISABLE; //模数转换工作在单次转换模式
    ADC_InitStructure.ADC_ExternalTrigConv = ADC_ExternalTrigConv_None; //转换由软件而不是外部触发启动
    ADC_InitStructure
  • 5
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
2020ti电赛的E是一个有趣的挑战。这道目要求参赛者使用Verilog语言设计一个时钟模块,并通过FPGA实现该模块的功能。 时钟模块在数码时钟、计时器、通信协议等许多电子设备中都是非常重要的组成部分。设计一个时钟模块需要考虑到准确性、稳定性和功耗等因素。 在解答这道目时,我首先会设计一个计数器,用于记录时钟的周期。然后,我会在Verilog代码中实现时序逻辑,以便将计数器的值转换为时、分、秒等可读的形式。 我会使用Verilog中的时钟分频器和计数器功能来实现这个模块。时钟分频器可以将输入时钟的频率降低到合适的范围,而计数器则可以记录时钟的周期。此外,我还会使用Verilog中的时序逻辑操作来进行时钟的功能转换。 在设计过程中,我会注重时钟模块的精度和稳定性。我会选择合适的时钟源,并对时钟信号的延迟进行调整,以确保模块的输出准确无误。另外,我也会考虑到功耗的问,尽量优化设计以减少功耗。 在完成Verilog代码的编写后,我会使用FPGA来实现时钟模块。通过FPGA的可编程特性,我可以将Verilog代码下载到FPGA芯片中,从而将设计的时钟模块体现在实际硬件中。 总之,2020ti电赛的E是一个有挑战性的目,要求参赛者设计一个完整的时钟模块。在回答这道目时,我会注重准确性、稳定性和功耗等因素,并将Verilog代码通过FPGA实现,使设计的时钟模块能够在实际硬件中运行。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值