基于uClinux的嵌入式多功能信息交互终端
时间:07-30
来源:互联网
点击:
键实现技
键盘的实现
键盘的实现有两种方案—采用I/ O (输入/ 输出)口或SPI(serial peripheral interface) 口。使用I/ O 口传输速度较快,但占用引脚较多,实现16 个按键的矩阵式键盘需要9 个引脚(4 个输入、4 个输出和1 个中断请求) ; 用SPI 接口传输速度较慢,但只需要IN、OU T、CL K、CS0 、CLR 五个引脚。在主频为66MHz的MCF5272 (Motorola 摩托罗拉) 之上,采用SPI 口基本满足键盘传输速度的要求。
MIIT 键盘硬件电路通过两片74LS164 级联实现16 个按键。其中,164 的输入引脚A 要与B 相连,再接QSPI 的引脚。另外,键盘电路工作时必须将164的CLR 引脚设置为低电平(低电平有效) 。
实现MIIT 键盘的SPI 口工作在主模式下。SPI口数据发送操作是通过向command RAM(命令) 中写数据触发的,经过8 位时钟周期完成1 个字节的发送。键盘扫描码作为输入数据保留在transmit RAM (传输) 中,数据发送完毕后QIR(interrupt register) 自动置位,产生中断。键盘扫描程序检测到该中断信息后,读取Receive RAM(接收) 中的数据,而该数据就是t ransmit RAM 中的键盘扫描码通过键盘电路处理后得到的键盘检测值,软件系统对该检测值进行处理后得到键盘相应按键值。
基于uCLinux 的串口数据采集
基于uCLinux 的和停止位的设置) 、串口write 和read (读写) 、串口close (关闭) 等内容。数据采集程序实现上与windows操作系统下的串口通讯不一样,其中有三点值得特别注意:
1) MIIT 只是通过串口传输数据,不需通过串口模拟终端通信,所以MIIT 串口采用了Raw Mode (原始模式) 方式。设置方式如下:
options. c-lflag & = ~ ( ICANON | ECHO | ECHOE | ISIG) ( Input) ;
options. c-oflag & = ~OPOST(Output) ;
2) 在设置串口时,发送方和接收方的波特率、效验位和停止位要相同,否则双方将不能通讯;
3) 为了防止所采集的数据出现乱码,需要把串口控制字符集control characters 中的VTIME 和VMIN设置为0 和1 。0 表示打开串口后随时接收数据;1 被当做逾时设定值为一字元。
特定应用程序的实现
应用程序主要包括系统设置、基础数据、采集数据、网络通讯和打印等。应用程序采用单任务的控制方式,软件系统接到按键事件后执行相关操作,如网络通讯、打印等。例如,MIIT 在接到自动数据采集的按键命令后,执行采集任务,然后将采集的数据交与数据库处理,完成后等待新的按键事件。
结论
采用性能可靠嵌入式uClinux 操作系统作为MIIT 的操作系统,无疑确保了程序的可靠性、简化了多功能信息交互软件实现的复杂程度。在MIIT 系统上关键技术的实现,解决了MIIT 中的键盘输入、基于Linux 串口数据采集、特定应用程序等问题,为MIIT能够在信息家电、工业控制等领域得到应用和发展奠定了一定的理论和实践基础。
键盘的实现
键盘的实现有两种方案—采用I/ O (输入/ 输出)口或SPI(serial peripheral interface) 口。使用I/ O 口传输速度较快,但占用引脚较多,实现16 个按键的矩阵式键盘需要9 个引脚(4 个输入、4 个输出和1 个中断请求) ; 用SPI 接口传输速度较慢,但只需要IN、OU T、CL K、CS0 、CLR 五个引脚。在主频为66MHz的MCF5272 (Motorola 摩托罗拉) 之上,采用SPI 口基本满足键盘传输速度的要求。
MIIT 键盘硬件电路通过两片74LS164 级联实现16 个按键。其中,164 的输入引脚A 要与B 相连,再接QSPI 的引脚。另外,键盘电路工作时必须将164的CLR 引脚设置为低电平(低电平有效) 。
实现MIIT 键盘的SPI 口工作在主模式下。SPI口数据发送操作是通过向command RAM(命令) 中写数据触发的,经过8 位时钟周期完成1 个字节的发送。键盘扫描码作为输入数据保留在transmit RAM (传输) 中,数据发送完毕后QIR(interrupt register) 自动置位,产生中断。键盘扫描程序检测到该中断信息后,读取Receive RAM(接收) 中的数据,而该数据就是t ransmit RAM 中的键盘扫描码通过键盘电路处理后得到的键盘检测值,软件系统对该检测值进行处理后得到键盘相应按键值。
基于uCLinux 的串口数据采集
基于uCLinux 的和停止位的设置) 、串口write 和read (读写) 、串口close (关闭) 等内容。数据采集程序实现上与windows操作系统下的串口通讯不一样,其中有三点值得特别注意:
1) MIIT 只是通过串口传输数据,不需通过串口模拟终端通信,所以MIIT 串口采用了Raw Mode (原始模式) 方式。设置方式如下:
options. c-lflag & = ~ ( ICANON | ECHO | ECHOE | ISIG) ( Input) ;
options. c-oflag & = ~OPOST(Output) ;
2) 在设置串口时,发送方和接收方的波特率、效验位和停止位要相同,否则双方将不能通讯;
3) 为了防止所采集的数据出现乱码,需要把串口控制字符集control characters 中的VTIME 和VMIN设置为0 和1 。0 表示打开串口后随时接收数据;1 被当做逾时设定值为一字元。
特定应用程序的实现
应用程序主要包括系统设置、基础数据、采集数据、网络通讯和打印等。应用程序采用单任务的控制方式,软件系统接到按键事件后执行相关操作,如网络通讯、打印等。例如,MIIT 在接到自动数据采集的按键命令后,执行采集任务,然后将采集的数据交与数据库处理,完成后等待新的按键事件。
结论
采用性能可靠嵌入式uClinux 操作系统作为MIIT 的操作系统,无疑确保了程序的可靠性、简化了多功能信息交互软件实现的复杂程度。在MIIT 系统上关键技术的实现,解决了MIIT 中的键盘输入、基于Linux 串口数据采集、特定应用程序等问题,为MIIT能够在信息家电、工业控制等领域得到应用和发展奠定了一定的理论和实践基础。
- 支持汽车电子的嵌入式软件编程接口库设计(11-29)
- 用IXP网络处理器设计的数字家庭媒体中心系统 (02-12)
- 基于DSP和CPLD的智能相机系统设计与研制(08-19)
- 基于DM642嵌入式无线视频监控硬件设计 (10-15)
- 基于AD7892SQ和CPLD的数据采集系统的设计(11-10)
- 嵌入式向产业上游迈进(01-06)