1 .GPIO及使用 (监考屏蔽器的定时启闭)
General Purpose Input Output (通用输入/输出)简称为GPIO,GPIO 采用标准的LINUX框架,能够使用统一的接口来操作gpio。
GPIO的框架如图1所示,中间层是 gpiolib,用于管理系统中的 GPIO。gpiolib 汇总了 GPIO 的通用操作,根据 GPIO 的特性,gpiolib 对上(其他 Drivers)提供的一套统一通用的操作 GPIO 的软件接口。对下,Gpiolib 提供了针对不同芯片操作的一套 framework,针对不同芯片,只需要实现mdrv_gpio_io.c,然后使用 Gpiolib 提供的注册函数,将其挂接到 Gpiolib 上。
图1 GPIO框架图
原理图上GPIO的Pad name可以在图2中找到对应的GPIO Index,GPIO Index作为软件操作GPIO相关函数的输入参数使用。

图2 变换表
以使用 PAD_GPIO4,可由上图找到其对应的GPIO Index为12。
将其设置为输出模式,并实现高低电平输出的测试见图3至图5所示。

图3 导入GPIO12

图4 输出高低电平

图5 查看属性及清除处理
为了能实测GPIO的引脚控制功能,需先弄清开发板向用户所提供的引脚资源,参见图6和图7所示。

图6 接口J6

图7 接口J4
以使用引脚PAD_FUART_RTS为例,其GPIO Index为27,用它控制LED模块额操作见图8所示,其控制效果见图9和图10所示。

图8 控制操作

图9 点亮状态

图10 熄灭状态
2.RTC及其使用 (点阵屏结合实现电子时钟及多时段任务提示)
Real Time Clock(实时时钟),简称RTC,主要是用于计时和闹钟设置。RTC驱动采用标准的LINUX框架,能够使用统一的接口来操作RTC,同时在LINUX框架外添加符合Sgs IP功能的PWC(Power Controller)功能。
PWC(Power Controller)的功能是通过检测到唤醒源触发时控制PAD_RTC_IO4和PAD_RTC_IO5引脚的高低电平,PAD_RTC_IO4和PAD_RTC_IO5控制外部的电源芯片从而控制整板电源。
1)显示系统时间
其操作命令为:date
2)设置系统时间
其操作命令为: date MMDDhhmmYYYY.ss
其中:
MM : month(01-12);
DD : day(01-31);
Hhmm : time(0000-2359);
YYYY : year[optional];
ss : seconds(00-59) [optional]

3)Show RTC Clock
其操作命令为:hwclock

4)Set RTC Clock to System Clock
其操作命令为:hwclock –w

3.UART通讯及应用
UART一般指通用异步通讯收发器,通讯特征为异步串行。UART总线有两条数据线,即TX和RX,实现全双工的发送和接收。收发双方通过各自设定的帧格式和波特率解析接收到的信号,因此在通讯过程中要求收发双方使用相同的帧格式和波特率。
一般情况下,默认用tty作为console port。
在解决了信息的收发问题后,在串行通讯中还有一个重要问题就是通讯参数的问题。
通过指令,可查看所用串口的参数设置,见图11所示。
图11 测试结果

使用控制台发送字符串的操作见图12所示,发送字节数据的方式见图13所示
图12 发送字符串
图13 发送字节指令
对串口通讯来说,有发送自然也要有接收,使用cat指令就可解决该先要,其操作和结果见图14所示。

图14 接收处理
此外,接收的内容还可存储到文件中,其操作和测试结果见图15所示。

图15 接收到文件
由于上述的接收过程必须经人工干预才能结束,这会影响编程处理。为此,可通过设置结束符的方式来解决,其测试过程见图16所示。

图16 结束符控制接收
除此之外,还可采用限时接收方式,其操作见图17和图18所示。

图17 限时接收

图18 限时接收到文件
4.PWM调节
PWM (Pulse Width Modulation) 模块用于产生脉宽波形,可通过改变频率和占空比来改变输出的电流、电压进而实现控制电机转速、液晶屏调光等功能;Sgs的PWM模块同时具备Group功能 ( 细分为sync 、round、hold、stop ) ,即每4个或者6个channel的PWM可绑定成一组,实现4路或6路PWM同步产生或停止。
对PWM调节功能的测试,见图19所示。

图19 操作测试
