评审委员会:
何为评审委员会:
本次大赛21ic采用评审委员会点评、打分的机制,以示比赛结果的公平公正,希望各位同学不要错过论坛大咖点评的机会
- zhanzr21
- yewuyi
- ohy3686
活动时间:即日起-2019.6.30
活动规则:
1、任选以下其中一个主题,完成设计。
2、活动时间内在技术类版块以【21ic第三届设计大赛】+标题 的形式发帖分享你做的过程和设计。
竞赛主题A:数字函数发生器
基础项目:
1. 通过简单的控制, 如按键, 选择输出几种周期信号, 至少包括正弦波,方波,三角波。
2. 可以控制输出频率与幅度, 如通过另外两个按键分别控制输出的频率与幅度。
加分项目:
1. 通过串口进行精确控制频率与幅度, 如串口输入"sin 1000 0.5"表示输出1KHz,满幅度的0.5倍的正弦波。
2. 增加可输出周期信号的种类, 如增加周期高斯信号,周期半圆信号,周期锯齿波信号等等。
3. 可以输出预先存储的自定义信号, 存储器可利用外部也可使用MCU的内部Flash。
4. 信号叠加功能, 如输入"sin 1000 0.5 + square 100 0.1"表示1KHz, 满幅度的0.5倍的正弦波与100Hz的满幅度的0.1倍的方波的叠加输出。
竞赛主题B:冗余执行系统
基础项目:
1. 两个MCU分别作为主控制器与从控制器, 接了同一个ADC输入, 同一个LED输出. 正常情况下主控器完成如下控制模式: ADC读值分为三个档位[adc_val < LIMIT_A, (adc_val >= LIMIT_A) && (adc_val <= LIMIT_B), adc_val > LIMIT_B], 分别对应LED的三种状态[灭, 3Hz闪烁, 常亮] ADC的输入建议使用电位器进行控制, LED输出控制建议使用负逻辑控制(输出低LED亮)。
2. 从控制器同时读取ADC的读数并监视LED输出情况, 监视的状态可以查看, 如接有小屏幕或者通过串口输出当前状态[ADC读数, LED输出状态], 刷新间隔2秒或更短。
加分项目:
1. 破坏主控制器的控制功能, 使之不能完成控制功能, 如通过外部调试器擦除主控制器固件, 或者按键输入,或者直接断开主控制器与LED的电路连接使之不对LED进行输出, 而输出高阻状态. 此时从控制器能检测出主控制器没有完成控制功能。
2. 上述故障发生时, 从控制器能够接管控制功能, 从主控制器发生故障不能完成控制功能到从控制器接管间隔为2秒或更短。
3. 通过外部调试器或者按键输入使得主控制器能完成控制功能, 但与预先设定的不一样, 比如对应三种ADC读数档位全部输出LED亮. 此时从控制器能检测到该状况, 能够断开主控制器(通过控制主控器的复位引脚或者总电源开关)并接管控制功能。