资源简介 2021 年全国职业院校技能大赛(高职组)GZ-2021031 嵌入式技术应用开发赛项正式赛卷表 1 第一模块比赛任务书序任务描述 任务要求号任务 1:GPIO 基础驱动开发 通过按键(任意按键,下同不再重复)控制 RGB LED 灯1 要求参赛选手基于嵌入式最小系统板 开启与关闭,红色、蓝色、绿色单色循环变换。实现对 RGB LED 灯及蜂鸣器的控制。 通过按键控制蜂鸣器的开启与关闭。任务 2:数码管显示驱动开发 通过按键启动数码管依次切换如下指定数据:建党时间2 要求参赛选手基于嵌入式最小系统板 1921;建军时间 1927;建国时间 1949;当前时间 2021。实现对功能电路板上数码管的控制。 要求数据显示时间 5-10 秒,显示清晰便于观察。通过按键启动 OLED 显示指定文本信息:“立德树人、徳任务 3:OLED 显示驱动开发 技并修”(文字内容显示清晰,文字大小 16*16 像素)。3要求 OLED 静态显示指定信息。 通过按键启动 OLED 显示指定图片(图片内容详见比赛现场下发 U 盘附件)通过按键启动语音交互系统播报指定文本信息:“庆祝任务 4:语音交互系统应用开发 中国共产党成立 100 周年”。4 要求语音交互系统实现指定文本信息 通过按键启动语音交互系统进入识别模式,参赛选手根播报及语音识别交互控制。 据控制指令实现对 RGB LED 灯的控制。控制指令仅限于“开灯、关灯、红色、绿色、蓝色”。通过按键启动 OLED 实时显示超声波传感器测距值及单位(字体大小 16*16 像素,单位 cm,精确到小数点后一位,误差±1cm),显示格式:“距离值:XX.Xcm”,要求测距值实时更新,数据显示清晰便于观察。超声波测距范围10.0~50.0cm,测距起点为超声波传感器发射探头最低点,测距终点为被测物体表面。任务 5:传感器数据采集与显示应用开发通过按键启动 OLED 实时显示温度传感器温度值及单位5 要求 OLED 实时显示超声波传感器、温(字体大小 16*16 像素,单位℃,精确到小数点后一位,误度传感器、光照强度传感器数据。差±1℃),显示格式:“温度:XX.X℃”,要求温度值实时更新,显示清晰便于观察。通过按键启动 OLED 实时显示光照度传感器光照强度值及单位(字体大小 16*16 像素,单位 lx,误差±20lx),显示格式:“光强度:XXXXXlx(若首位为 0,则可以不显示)”,要求光照强度值实时更新,显示清晰便于观察。任务 6:手势识别传感器界面交互显示应用通过按键启动手势识别传感器界面交互显示,要求OLED开发6 所显示的方向标识(方向标识图片内容详见比赛现场下发 U要求通过手势识别传感器切换 OLED 正盘附件)与手势挥动方向一致,OLED 显示清晰便于观察。确显示四种方向标识。要求通过按键启动 ADC 信号采集,要求 OLED 实时显示任务 7:ADC 信号采集与显示应用开发被测信号的频率与峰峰值参数(字体大小 16*16 像素,频率7 要求 OLED 实时显示通过 ADC 单元采集单位 Hz,误差±5%;峰峰值单位 mV,误差±5%),频率范围的板载信号相关参数。值为 3000Hz~4000Hz,峰峰值范围为 0~3000mV,要求频率与峰峰值数据实时更新,显示清晰便于观察。要求嵌入式最小系统板能够稳定输出波形(波形仅限于任务 8:DAC 波形输出应用开发方波、三角波、正弦波),支持通过旋钮按键调节该波形频要求参赛选手基于嵌入式最小系统板8 率,支持通过旋钮按键切换输出波形,频率范围值为输出指定波形,支持通过旋钮按键调节波形1KHz~10KHz,OLED 实时显示波形频率参数,误差±5%,显示频率,OLED 实时显示波形相关参数。清晰便于观察。注意事项:(1)第一模块竞赛阶段结束后,参赛选手禁止再次更新嵌入式系统应用程序。(2)第一模块竞赛测评过程中,上述任务只能使用 1 个综合程序,在现场评分裁判口令下,通过板载功能按键等逐个实现上述任务的结果展示。如因字符刷新速度过快,导致裁判无法确认显示字符是否正确,后果由选手自行承担。(3)第一模块竞赛测评结束后,参赛选手将功能电路板上交至裁判指定位置。表 2 第二模块比赛任务流程表序任务描述 任务要求号任务 1:主车启动 LED 显示标志物在主车开始移动之后开启、在入库之前主车放置 B7 位置处,在裁判示意比赛 停止、中途暂停或未启动,均按 5 分钟计时。1开始时,选手点击启动按钮,启动 LED 显示 主车需按以下路径行进:标志物的计时器,而后主车驶出。 B7->B6->D6->F6->F4->D4->B4->B2->D2->D1A6 处 静 态 标 志 物 ( A ) 与 B6 中 心 点 距 离 范 围任务 2:主车测距100mm~400mm,记为 h。主车须测的距离信息发送至 LED 显示2 主车位于 B6 处,获取位于 A6 处静态标标志物第二行显示。测量误差:±20mm志物(A)垂直平面到 B6 处中心点的距离。例如:测距为 123mm,显示效果为:JL-123(±20)任务 3:主车经过特殊地形 比赛测试时裁判将指定地形标志物摆放位置,地形从四主车从 B6->C6->D6 路线行进过程中, 张中选择一张,所有参赛队一致。3顺利通过带有特殊地形的路面(地形标志 主车在通过地形标志物时,不能和地形标志物两侧护栏物),到达 F6 处。 发生碰撞,否则认定任务失败。任务 4:主车调光智能路灯标志物初始档位记为 n。主车位于 F6 处,通过光照度传感器获4 目标档位 r 的计算方式为:r=(h/100)%4+1,其中 h取智能路灯标志物初始档位,并将智能路灯为任务 2的距离数据,单位为毫米。标志物档位调整设置到目标档位。主车上传语音命令编号格式:任务 5:主车语音识别交互0xAF,0x06,0xXX,0x02,0x00,0x00,0x01,0xBF; 其 中主车按照 F6->F4 路径行驶,到达 F40xXX 代表被识别的语音命令编号,其他字符固定不变。位置处,启动语音识别,获取语音播报标志5 语音播报内容与编号说明:物发出的语音命令编号。技能改变命运 0x02、大赛点亮人生 0x03、创造无限可要求主车通过 ZigBee 将该条语音命令能 0x04、赛出新机制 0x05、赛出高水平 0x06、技能让生活编号按指定格式上传至评分终端。更美好 0x07。RFID 卡数量共有 3 张,其中读取数据块内容仅需验证 A密钥(0xFF,0xFF,0xFF,0xFF,0xFF,0xFF)即可。3 张 RFID 卡均随机摆放在 F4->B4 坐标点(含 F4、B4)之任务 6:主车获取 RFID 数据间的循迹线上,其中有且仅有一张 RFID 卡内含有完整且有主车从 F4->B4 路线行进过程中,寻找6 效信息(从车指定路径和从车初始位置(仅限于 F1、F2、F3))到 RFID 卡,并读取其指定数据块内容。如其余两张卡可能为空卡也可能有部分干扰信息。有必要可优先执行任务 7。RFID 卡指定数据块地址为:第 2 扇区第 2 个数据块;有效信息示例(字符串):B4B6D6|F1,其中指定路径以第 1个 B4 开头,以最后 1 个 D6 结束。任务 7:主车通过 ETC 系统主车需在不接触 ETC 抬杆(抬杆时间保持时间约为 10主车在指定路线 F4->E4->D4->B4 上行秒)的情况下通过 ETC 系统。7 进,在 F4 附近处使 ETC 系统感应到主车上选手应计算好通过时间,避免抬杆下落触碰主车。若因携带的电子标签,打开抬杆,主车顺利通过此导致主车失控,则视为选手控制不当。ETC 系统。任务 8:从车启动与交通灯识别从车应在规定的时间内识别出智能交通灯信号颜色,并主车到达 B4 处后,执行 B4->A4 避让,将识别结果发送至智能交通灯标志物(A),超时结果无效。8 开启主车功能电路板左右双闪灯。从车识别后只需将结果返回至智能交通灯标志物即可,从车启动行进至 F2 处,而后启动智能无需执行其他操作。交通灯标志物(A)进入识别模式,并在规定的时间内识别出当前停留信号灯的颜色,按照指定格式发给智能交通灯标志物(A)进行比对确认。A2 处静态标志物(B)中有两个二维码,选手均需要识别。二维码(一)信息为固定 8 个字节长度字符串,有效数据格式为“XYYYXY”字符,X 代表大写 A~Z 中任意一个字母,Y 代表 0~9 中任意一个数字,其他字节仅包含“*”、“/”、“<”、任务 9:从车识别二维码“>”、“#”、“%”,为干扰字符。例如,二维码(一)信息为:从车在 B2 处,识别位于 A2 处静态标志9 “A/145#B6”,则有效数据为“A145B6”字符。物(B)上的二维码信息。并将有效数据发二维码(二)信息为一个计算公式,仅包含以下运算:送至主车。加(+)、减(-)、乘(*)、除(/)、次幂(^), 涉及计算参数仅为 r、n、y;其中 r 为任务 4 计算所得路灯目标档位,n为任务 4所测得路灯标志物初始档位,y 为任务 11 中所获取的立体车库(A)的初始层数。计算结果记为 x。例如,二维码(二)信息为:((n*y+r)^4)/100。任务 10:从车控制立体显示标志物显示立体显示标志物使用车牌显示模式显示从车任务 9 中从车从 B2 到达 B4 处,向位于 C5 处的10 识别二维码(一)中的车牌信息和任务 6中获取的从车初始立体显示标志物发送红外数据,控制立体显位置。示标志物显示指定数据。任务 11:从车按指定路线行进并倒车入库 从车在 B4 处后的行进路线需按照任务 6 中 RFID 给定的从车在 B4 处按照主车从任务 6 中获取 路径行驶。在 B6 与 D6 之间行进应能顺利通过地形标志物。的指定路线行进,到达 D6 处,从车查询立 选手应在倒车驶入车库前确认其是否已经被控制下降11体车库(A)中的初始层数,记为 y,并使 到一层,并确认在倒车入库过程中确保停在合适位置,在车用倒车入库方式进入立体车库(A),并控制 库上升过程中,从车如果从车库跌落,则视为选手控制不当,其上升到指定层数(3层)。 其责任由选手自行承担。道闸开启码为任务 9 中获取的有效数据。在练习赛道发任一车牌均可开启道闸标志物,在比赛赛任务 12:主车通过道闸道只有发送任务 9中获取的有效数据才能开启,一段时间之12 主车退出避让路线,控制道闸开启按照后道闸标志物将自动关闭。B4->B2 路线行进,顺利通过道闸标志物。选手需要控制时间,应当在道闸标志物开启之后快速通过,避免撞上抬杆。任务 13:主车开启烽火台报警标志物 烽火台标志物开启码由 r、n、y、x、q 来确定。其中主车位于 B2 处,指定格式指令控制烽 q=x&0xFFFF,则六字节开启码分别为:q 的高八位、q 的低13火台标志物开启。 八位、r的高八位、r 的低八位、n的低八位、y的低八位。其中关于 r、n、y、x 的说明请参考任务 9。任务 14:主车倒车入库 选手应在倒车驶入车库前确认其是否已经被控制下降主车在 D2 处,查询立体车库(B)中的 到一层,并确认在倒车入库过程中确保停在合适位置,在车初始层数,记为 z,并使用倒车入库方式进 库上升过程中,主车如果从车库跌落,则视为选手控制不当,14入立体车库(B),并控制其上升到指定层数。 其责任由选手自行承担。主车入库完成后,发送对应指令开启无线充 立体车库( B)上升到指定层数计算方式为:电标志物,关闭 LED 显示标志物计时。 ((z+y)^n)%4+1。表 3 第二模块标志物摆放位置表序号 设备名称 摆放位置 备注01 立体车库标志物(A) D7 入口朝向 D6 处02 立体车库标志物(B) D1 入口朝向 D2 处03 智能 TFT 显示标志物(A) G6 显示屏朝向 F6 处04 智能 TFT 显示标志物(B) C1 显示屏朝向 C2 处静态数据源朝向 B605 静态显示标志物(A) A6标志物位置根据赛题需要允许微调静态数据源朝向 B206 静态显示标志物(B) A2标志物位置根据赛题需要允许微调07 智能交通灯标志物(A) E1 信号灯朝向 F2 处08 智能交通灯标志物(B) A5 信号灯朝向 B4 处09 烽火台标志物 B1 红外接收朝向 B2 处10 语音播报标志物 G4 喇叭朝向 F4 处11 LED 显示标志物 G2 显示屏朝向 F2 处12 立体显示标志物 C5 标志物中心位于 C5 处13 ETC 系统标志物 E4 天线朝向 F4 处14 道闸标志物 C3 道闸杆落在 B3 处15 智能路灯标志物 F7 光源朝向 F6 处16 无线充电标志物 E5 标志物中心位于 E5 处17 特殊地形标志物 C6 标志物中心位于 C6 处18 竞赛平台(主)出发点 B7 车头朝向选手自行决定RFID 卡内数据指定,仅限于 F1、F2、F319 竞赛平台(从)出发点 /车头朝向选手自行决定20 RFID 3 张 在 F4-B4 循迹线上任意位置上图 1 第二模块竞赛设备路径示意图表 4 第三模块比赛任务流程表序任务描述 任务要求号任务 1:主车启动控制 LED 显示标志物在主车开始移动之后开启、或在入库之主车放置 B7 位置处,在裁判示意比赛 前停止或中途暂停或未启动,均按 5分钟计时。1开始时,选手点击启动按钮,启动 LED 显示 主车需按以下路径行进:标志物的计时器,而后主车驶出。 B7->B6->D6->F6->F4->D4->B4->B2->入库坐标智能 TFT 显示标志物(A)复位后显示一张默认图片,选手需要执行翻页操作找到需要识别的车牌图片(车牌图片任务 2:主车车牌识别上不同位置有 2张以上车牌信息,有效车牌为渐变绿色车牌,主车按照B6->D6行进,到达D6位置处,2 其他为干扰车牌,数据无效,汉字不需要识别)。控制 D7 处的智能 TFT 显示标志物(A)中图智能 TFT 显示标志物(A)显示车牌格式为:“国 XYYYXY”。片翻页并识别有效车牌。其中“国”固定不变,后面 6 位号码,X 代表 A~Z 中任意一个字母,Y 代表 0~9 中任意一个数字。静态标志物上有三个二维码,分别为红色二维码、黄色二维码、绿色二维码,三个二维码摆放位置随机,但不会超任务 3:主车二维码识别与语音播报出静态标志物显示窗口区,要求识别红色二维码里面的信主车在 D6 位置处,获取位于 D5 处静态息,其它二维码内容数据无效。3 标志物(A)上的二维码信息,然后将识别红色二维码信息与语音播报说明:语音播报标志物仅播到的二维码信息按照指定格式发送到语音报红色二维码信息中的文字,其余数据无效。播报标志物上进行语音播报。例如:二维码信息为“富强]339ab 民主 s”,则语音播报标志物只需播报“富强民主”。任务 4:主车识别交通信号灯 主车应在规定的时间内识别出交通灯信号颜色,并将识主车在 D6->F6 行进路线中,控制 F7 别结果按照指定格式发送至智能交通灯标志物,超时结果无处的智能交通灯标志物(A)进入识别模式, 效。4并在规定的时间内识别出当前停留信号灯 主车识别后只需将结果返回至智能交通灯标志物即可,的颜色,按照指定格式发给智能交通灯标志 无需执行其他操作。物(A)进行比对确认。静态显示标志物(B)中二维码信息说明:有效信息仅任务 5:主车识别二维码获取烽火台开启码 包含大写字母和数字,其余为干扰字符,二维码数据长度不5 主车到达 F6 位置处,识别位于 G5 处静 定。态标志物(B)上的二维码信息。 例如:二维码信息为:/-A*1xB2C|3-数据为:A1B2C3D4E5。智能 TFT 显示标志物(B)复位后显示一张默认图片,任务 6:主车识别交通标志与图形颜色 选手需要执行翻页操作找到交通标志图片与图形颜色图片主车按照 F6->F4 路径行进,到达 F4 (交通标志图片与图形颜色图片显示顺序不定)。位置处,控制 G3 处的智能 TFT 显示标志物 交通标志对应的编号说明:(B)中图片翻页,主车识别交通标志图片, 直行 编号 0x01 左转 编号 0x02获取交通标志编号。主车识别图形颜色图 右转 编号 0x03 掉头 编号 0x046片,获取图形颜色信息,并按照指定格式将 禁止直行 编号 0x05 禁止通行 编号 0x06图形信息发送给智能 TFT 显示标志物(B) 图形类别统计信息格式:AaBbCcDdEe,其中,A 代表矩上显示(HEX 显示模式),将颜色信息按照 形,a为矩形的数量(0~9);B代表圆形,b为圆形的数量(0~9);指定格式发送给 LED 显示标志物第二排上 C 代表三角形,c 为三角形的数量(0~9); D 代表菱形,d显示。 为菱形数量(0~9);E 代表五角星,e 为五角星数量(0~9);此处规定正方形只归属于矩形,不归属于菱形,如果图形图片中有图形重叠时,只需统计完整图形,不统计被遮盖图形(下面颜色统计规则一致)。智能 TFT 显示标志物(B)显示图形信息格式(HEX 显示模式)为 AaDdEe。例:矩形图形数量为 1、菱形数量为 2、五角星数量为 3,则智能 TFT 显示标志物(B)上显示“A1D2E3”。颜色信息格式:FrFgFb,其中,F 为固定字符,r 为红色图形数量(0~9);g 为绿色图形的数量(0~9);b 为蓝色图形的数量(0~9)。LED 显示标志物第二排显示格式为FrFgFb。例:红色图形数量为 3、绿色图形数量为 5、蓝色图形数量为 1,则 LED 显示标志物第二排显示“F3F5F1”。任务 7:主车开启烽火台报警 烽火台报警标志物开启码:由任务 5 中的有效数据经过主车在 F4 位置处,向位于 E3 处的烽火 数据处理算法计算后获得。7台标志物发送指定命令,开启烽火台标志物 烽火台标志物开启码计算方式详见数据处理算法文件。报警功能。在练习赛道发任意车牌均可开启道闸标志物,在比赛赛任务 8:主车控制道闸标志物道只有发送任务 2中识别的车牌才能开启,一段时间之后,主车在 F4->D4->B4 行进到 B4 过程中,8 道闸标志物将自动关闭。须将任务 2 中识别的车牌按照指定格式发选手需要控制时间,应当在道闸标志物开启之后快速通送到道闸标志物上显示,并控制其开启。过,避免撞上抬杆。任务 9:主车控制立体显示标志物 立体显示标志物显示命令格式说明:0xFF、0x15、0xXX、主车按照B4->B2行进,到达B2位置处, 0x00、0x00、0x00。其中 0xXX 为通过任务 6 中识别到的交9向位于 A2 处的立体显示标志物发送红外数 通标志编号。据,控制立体显示标志物显示交通标志。任务 10:主车识别交通信号灯与倒车入库 主车应在规定的时间内识别出交通灯信号颜色,并将识主车在 B2 位置处,控制 C3 处的智能交 别结果按照指定结果发送至智能交通灯标志物,超时结果无通灯标志物(B)进入识别模式,并在规定 效。的时间内识别出当前停留信号灯的颜色,按 主车识别后只需将结果返回至智能交通灯标志物即可,10 照指定格式发给智能交通灯标志物(B)进 无需执行其他操作。行比对确认。主车识别交通灯后,根据交通 交通灯颜色信息与车库位置说明:灯颜色信息驶入不同车库,要求采用倒车入 交通灯为红色进入 1 号车库(坐标点:B1)库方式,成功入库后关闭 LED 显示标志物计 交通灯为黄色进入 2 号车库(坐标点:D1)时器。 交通灯为绿色进入 3 号车库(坐标点:F1)表 5 第三模块标志物摆放位置表序号 设备名称 摆放位置 备注01 道闸标志物 C5 抬杆朝向 C4 处02 语音播报标志物 A4 喇叭朝向 B4 处03 智能 TFT 显示标志物(A) D7 显示屏朝向 D6 处04 智能 TFT 显示标志物(B) G3 显示屏朝向 F4 处05 烽火台标志物 E3 红外朝向 F4 处06 智能交通灯标志物(A) F7 信号灯朝向 E6 处07 智能交通灯标志物(B) C3 信号灯朝向 C2 处08 LED 显示标志物 E1 显示屏朝向 E2 处09 立体显示标志物 A2 正面朝向 B2 处静态数据源朝向 D610 静态显示标志物(A) D5标志物位置根据赛题需要允许微调静态数据源朝向 F611 静态显示标志物(B) G5标志物位置根据赛题需要允许微调主车放置在 B7 处12 竞赛平台(主)出发点 B7车头方向由选手自行决定图 2 第三模块竞赛设备路径示意图数据处理方法(SHA1 编码)一、 SHA1 编码概述安全散列算法(英语:Secure Hash Algorithm,缩写为 SHA)是一个密码散列函数家族,是 FIPS 所认证的安全散列算法。SHA-1(英语:Secure Hash Algorithm 1,中文名:安全散列算法 1)是 SHA 家族中重要的一员,其本质是一种密码散列函数,能计算出一个消息所对应到的,长度固定的字符串(又称消息摘要)的算法。二、 SHA1 编码过程SHA1 编码的基本原理是对于若干长度的消息,会产生一个若干位的消息摘要。当接收到消息的时候,这个消息摘要可以用来计算数据的完整性。编码步骤如下:1. 将二维码中提取的有效文本信息称为原始数据,然后计算出原始数据的二进制位数长度(以下简称消息摘要)。2. 如果消息摘要不足 192 位,则进行位数补足。补位方式:先补一个 0x10,然后再补 0x00,直到消息摘要满足 160 位。补位至少补 1位。3. 将原始数据二进制位数长度(如原始数据为“A1B2C3D4E5”,则位长为 80)补位到已经进行补位操作的消息后面。用一个 32 位的数据来表示原始消息的长度(长度 80 用 32位数据表示为:0x00000050),补位后消息摘要为 192 位。4. 对于 192 位的消息摘要进行分组,将其分成 6 份子密文分组,每份子密文分组为32 位,使用 W[t](t= 0, 1,…,5)来表示这 6 份子密文分组,并计算出常量 K,计算方式如下:(备注:“<<<”为循环左移符号)K = W W W <<< 1;5. 子密文分组需要经过 6 轮运算之后产生新摘要,并分别存放在 6个 32 位的链接变量中,链接变量分别为 A、B、C、D、E、F。链接变量的初始值以 16 进制位表示如下:A = 0x67452301 B = 0xEFCDAB89 C = 0x98BADCFED = 0x10325476 E = 0xC3D2E1F0 F = 0x0F1E2D3C6. 6 轮运算的逻辑函数为下表: