一种基于ARM Cortex-M3的短距离无线触摸通信系统
2009-10-26李志鹏刘明明邢诗宁
李志鹏 刘明明 邢诗宁
[摘要]详细介绍ARM Cortex-M3架构的无线触摸点菜系统的组成和程序的设计。
[关键词]ARM Cortex-M3处理器射频通信触摸操作电脑上位机
中图分类号:TN92文献标识码:A文章编号:1671-7597(2009)0710024-01
一、系统设计
(一)设计思路
该系统要求设计一套具有射频通信功能的短距离触摸通信系统,实现触摸端的控制信息能够以无线传输的方式发送到电脑上位机程序,实现电脑上位机与操作者之间的通信。设计分为触摸、发射、接收和电脑上位机四部分。
(二)方案论证
1.触摸屏的选择。本系统采用的电阻式非内置MCU的触摸屏。这样获得触摸信号的过程将会变得相当复杂,但是有点也非常明显。首先,由于触摸屏没有内置MCU,使得触摸屏的成本大大下降,这对于价格极其敏感的电子产品市场而言极其重要。其次,通过外加的处理器对触摸底层信号进行处理,方便编程者对触摸屏进行二次开发,如提高或者降低触摸精度,增加滑动操作等触摸功能等。再次,内置MCU的触摸屏出于成本考虑,控制器频率往往不够高,导致触摸屏反应不够灵敏,操作可靠性下降,效率降低。如果采用外置的高速处理器对触摸底层信号进行处理,则可以缩短触摸屏的反应时间,操作感受更佳。
2.微处理器的选择。无线发射控制和触摸屏控制是该系统的主要组成部分,要求发射迅速,触摸屏反应要灵敏,因而本系统采用Luminary Micro的32位ARM系列微控制器。首先,如果采用51单片机,需要模拟SPI总线方式与无线模块通信,系统可靠性降低;如果采用内置SPI外设的微处理器,则系统的可靠性较高。其次,对触摸屏的触摸信号的获得需要进行AD转换,而一般的51单片机需要外置AD转换芯片才能完成该功能,这无疑增加了硬件成本和复杂度,并且数据处理速度也大大降低。如果采用内置AD转换的高速ARM芯片,则可以避免这些问题。并且触摸屏需要的高速AD转换和数据处理也不是51单片机能做到的。
3.无线收发部分的选择。考虑到本系统的应用场合,选择nRF905作为本系统的无线收发装置。首先本系统一般是室内使用,考虑到室内环境对无线信号的影响,传输距离的理论值会大打折扣,因此选用nRF905可以提高系统无线通信的可靠性。其次,考虑到本系统无线传输数据量并不大,只需要间歇性地发送少量数据,因此50kbps的传输速度已经足以满足要求。
4.电脑上位机程序设计的选择。本系统上位机程序选择Visual Basic语言进行上位机编程。虽然Turbo C语言编程比较容易,但是其编制的程序只能在DOS方式下运行,程序界面的友好程度远不如Viual C++和Visual Basic语言,并且Turbo C语言并不适合在Windows下运行。Visual C++可以编写专业的Windows下的程序,但是编程难度较大,开发周期较长。因此我们选择Visual Basic开发上位机程序。如果上位机程序较复杂并且要求高稳定性,则应该使用Visual C++进行上位机程序开发。
二、单元硬件电路设计
(一)Luminary LM3S1751微处理器最小系统设计。LM3S1751是一款高性能的32位RISC微处理器,采用为小封装应用方案而优化的32位ARM® CortexTM-M3 v7M架构,提供的系统定时器(SysTick)包括一个简单的24
位写清零、递减、自装载计数器,同时具有灵活的控制机制。LM3S1751仅采用与Thumb®兼容的Thumb-2指令集以获取更高的代码密度,工作频率为50-MHz,支持硬件除法和单周期乘法,集成嵌套向量中断控制器(NVIC),使中断的处理更为简捷。LM3S1751包括32个中断,具有8个优先级,其存储器保护单元(MPU)提供一个特权模式来保护操作系统的功能,同时支持对非对齐式数据的访问,使数据能够更为有效的安置到存储器。LM3S1751支持精确的位操作(bit-banding),不仅最大限度的利用了存储器空间,而且还改良了对外设的控制。
(二)触摸屏部分的电路的设计。本系统使用的触摸屏利用压力感应进行控制。电阻触摸屏的主要部分是一块与显示器表面非常配合的电阻薄膜屏,这是一种多层的复合薄膜,它以一层玻璃或硬塑料平板作为基层,表面涂有一层透明氧化金属(透明的导电电阻)导电层,上面再盖有一层外表面硬化处理、光滑防擦的塑料层。它的内表面也涂有一层涂层。在他们之间有许多细小的(小于1/1000英寸)的透明隔离点把两层导电层隔开绝缘。当手指触摸屏幕时,两层导电层在触摸点位置就有了接触,电阻发生变化,在X和Y两个方向上产生信号,然后送ARM处理器。处理器侦测到这一接触并计算出(X,Y)的位置,再对比系统类状态机所提供的信息,得知触摸者需要进行什么样的操作。这就是电阻式触摸屏的最基本的原理。
(三)发射部分的电路设计。Nodiac公司生产的nRF905芯片一般工作于433Mhz开放ISM频段,免许可证使用。其最高工作速率50kbps,采用高效GFSK调制,抗干扰能力强,特别适合工业控制场合。芯片内置125频道,满足多点通信和跳频通信需要,内置硬件CRC检错和点对多点通信地址控制。该芯片功耗功耗低,1.9-3.6V下均可工作,待机模式下状态仅为2.5uA。该芯片收发模式切换时间<650us。在发射模式下,芯片工作电流为30mA,在接收模式下仅为12.2mA。
三、程序设计(触摸屏程序设计)
初始化之后,触摸屏将会显示待选项,此时如果操作者触摸屏幕选择相应的选项,将会导致屏幕下电阻值发生改变,通过AD转换,CPU将会得知这一触摸信号,并通过一系列的计算确定触摸者的触摸位置,进而得到触摸者的触摸对象。
本系统工作在nRF905芯片的ShockBurstTM收发模式下,使用片内的先入先出堆栈区,数据低速从微控制器送入,但高速发射,这样可以尽量节能,因此,使用低速的微控制器也能得到很高的射频数据发射速率。与射频协议相关的所有高速信号处理都在片内进行,这种做法有三大好处:尽量节能;低的系统费用(低速微处理器也能进行高速射频发射);数据在空中停留时间短,抗干扰性高。ShockBurstTM技术同时也减小了整个系统的平均工作电流。
四、结论
以触摸端、发射端、接收端和电脑上位机四部分组成的该系统工作稳定,数据传送正确率高,传输距离远,用户操作直观简便,可以大大提高相关应用场合的管理效率,节约人力成本。
参考文献:
[1]张克彦,AVR单片机使用程序设计[M].北京:北京航空航天大学出版社,2004.
[2]周立功等,Cortex-M3开发指南基于LM3S8000.广东:广州致远电子有限公司,2007.
[3]张伟,电路板设计与制作实战训练[M].北京:人民邮电出版社,2006.