基于AT91X40系列的手持式触摸屏
扫描二维码
随时随地手机看文章
摘要: 基于当前手持式触摸屏稳定性不高,性能不可靠的状况,采用AT91X40 系列微控制器作为控制芯片,由于该芯片功能强大,集成度高,处理数据能力强,稳定性高,所以基于AT91X40 系列的手持式触摸屏具有体积小巧,功能强大,操作简便等特点。手持式触摸屏的显示和输入设备选用了ADS7843 和SED1335 两种主流触摸和LCD 显示芯片。通过现场的实验验证,基于AT91X40 系列的手持式触摸屏稳定性高,工作可靠,具有实际应用价值。
手持系统是一种当前颇为流行的便携设备,其具有体积小巧,功能强大,操作简便等特点。常见的手持系统如PDA掌上电脑就是一种高级的设备,现在的手持系统已经成为众多大公司追逐的新宠,未来的前景更是被广泛看好。随着科技发展,人们生活水平日益提高,新型的掌上手持系统越来越受到广大消费者的喜爱。原来的手持设备多以键盘作为输入设备,这样限制了设备本身的体积大小与便携性。如今大多手持设备已经采用LCD 液晶屏作为显示屏,用触摸屏代替原来的键盘, 使在功能不变的情况下操作更简便。基于AT91X40 系列微控制器的手持系统,突出体现了电子产品的性价比较高的优势。目前,AT91X40 系列微控制器应用广泛,材料易于购买, 与速度较高的其他芯片相比价格也相对低廉,适用于大众化的中低端产品。手持系统的显示和输入设备,采用了现在流行的触摸屏。触摸屏技术发展速度快,前景广阔,目前已经得到广泛应用,具有极大的研究价值。这个系统中,选用了ADS7843 和SED1335 两种主流触摸和LCD 显示芯片。整个硬件的选择突出了主流性、先进性,保证研究成果拥有一定实际价值。
1 系统的核心控制芯片
AT91X40 系列微控制器集成了ARM7TDMI 核、嵌入式ICE 接口、存储器以及外围部件。系列结构有两条主要总线:
先进系统总线ASB (Advanced System Bus) 和先进外围总线APB(Advanced Peripheral Bus)。ARM7TDMI 通过ASB 接口实现与片内32 位存储器、外部总线接口EBI 以及AMBA 桥的互连。AMBA 桥用来驱动APB;APB 用来访问片内外围,优化系统功耗。AT91X40 系列方框图如图1 所示。
图1 AT91X40 系列方框图
1.1 存储器
AT91X40 系列微控制器有多达256 kB 的片内SRAM 和128 kB 的片内ROM。内部存储器通过32 位数据总线与ARM核连接,具有单周期访问的特性。当使用ARM 指令集时可以达到0.9 MIPS/MHz 的性能,系统功耗最小,性能优于使用分开存储器的方案。该系列产品具有外部总线接口EBI。通过它,ARM 核可以与外部存储器及专用外设相连接[2]。EBI 支持8 位和16 位器件, 并可以用两个8 位器件来仿真一个16 位器件。EBI 还实现了早读协议,使用户可以获得比标准读协议更快的存储器访问速度。
1.2 片内外围
AT91X40 系列产品集成有片内外围,分为系统外围和用户外围。ARM 核可以通过AMBA 桥以32 位的总线宽度访问,用最少的指令编程所有的片内外围。外围寄存器集包括控制寄存器、模式寄存器、数据寄存器、状态寄存器以及使能/禁止/状态寄存器。片内外围数据控制器PDC (PeripheralData Controller) 用来在USART 和片内/外存储器之间传送数据而无需处理器的干预。最重要的是,PDC 省去了处理器中断处理的开销,使得系统无需重新编程起始地址就可以连续传送多达64 kB 的数据,从而提高了微控制器的性能,降低了功耗。
2 触摸屏的结构及功能特性
2.1 触摸屏的结构
典型触摸屏的工作部分一般由3 部分组成, 如图2 所示:两层透明的阻性导体层、两层导体之间的隔离层、电极。
阻性导体层选用阻性材料,如铟锡氧化物(ITO)涂在衬底上构成,上层衬底用塑料,下层衬底用玻璃。隔离层为粘性绝缘液体材料,如聚脂薄膜。电极选用导电性能极好的材料(如银粉墨)构成,其导电性能大约为ITO 的1 000 倍。
图2 触摸屏结构 2.2 触摸控制芯片ADS7843 的功能特性 ADS7843 是4 线电阻触摸屏转换接口芯片。它是一款具有同步串行接口的12 位取样模数转换器。在125 kHz 吞吐速率和2.7 V 电压下的功耗为750 μW,而在关闭模式下的功耗仅为0.5 μW。因此,ADS7843 以其低功耗和高速率等特性,被广泛应用在采用电池供电的小型手持设备上。ADS7843 采用SSOP-16 引脚封装形式,温度范围是-40~+85 ℃。ADS7843具有两个辅助输入(IN3、IN4),可设为8 位或12 位模式。其外部连接电路如图3 所示, 该电路的工作电压Vcc 在2.7~5.25 V 之间,基准电压介于1 V~+Vcc。该电路基准电压确定了转换器输入范围,输出数据中每个数字位代表的模拟电压等于基准电压除以4 096。平均基准输入电流由ADS7843 转换率来确定。 图3 ADS7843 外部连接电路 3 液晶显示芯片SED1335 的结构和特点 液晶显示器简称LCD, 由于液晶显示器具有低损耗、低价格、寿命长、接口方便等优点,被广泛应用于手机、照相机、计算机、智能仪器仪表等产品上。主要有两种液晶显示控制器。一种是将控制器集成在CPU 中,制成带液晶显示控制器的专用CPU。这种控制器的CPU 功能强大,外电路简单,一般只适用于小规模LCD 模块。另一种是专用控制器芯片。这种芯片具有较强的指令功能,与CPU 接口简单,便于控制,驱动能力可达640 ×256 点阵。本系统液晶显示控制芯片SED1335 具有功能较强的I/O 缓冲器和丰富的指令系统,可以并行传送4 位数据,最大驱动能力达640×256 点阵,而且能够实现图形和文本格式混合显示。它的结构包括接口部分、管理控制部分和LCD 显示驱动部分。其电路原理如图4所示。 图4 电路原理图 3.1 接口部分 SED1335 接口部分由指令输入缓冲器、数据输入缓冲器、数据输出缓冲器和标志寄存器组成。常用接口引脚功能如表1 所示。这些缓冲器通道的选择由引脚A0 和读/写操作信号联合控制。“忙”标志寄存器是一位只读寄存器。仅有一位“忙”标志位BF。当BF=1 时,表示SED1335 正向液晶显示模块传送有效显示数据。在传送完一行有效显示数据起到下一行传送开始之前的间歇内BF=0。当大屏上大量显示数据修改时,若BF=0,传送不影响大屏的显示效果。 表1 SED1335 常用引脚功能
SED1335 接口部分带有功能较强的I/O 缓冲器, 可随时准备接收MPU 的访问,并按内部时序,及时把MPU 发来的指令和数据传输就位。SED1335 在接口部分设置了适配8080系列和M6800 系列MPU 的两种操作时序电路, 通过设置引脚电平来选择操作时序。
3.2 控制部分
SED1335 的控制部分由振荡器、功能逻辑电路、显示RAM 管理电路、字符库管理电路以及产生驱动时序的时序发生器等组成。振荡器的工作频率范围为1 ~10 MHz。
SED1335 能在很高的工作频率下迅速地编译MPU 发来的指令代码。将参数置入相应寄存器内,并触发相应的逻辑功能电路。显示RAM 管理电路用以管理64 k 显示RAM 及内藏的字符发生器CGRAM 或EXCGROM。
1)文本显示特性具有文本显示特性的显示RAM 区用于文本显示,在该显示RAM 区中,每个字节的数据都是字符代码。SED1335 利用这些字符代码来确定字符库中字符的首地址,然后将相应数据传送到液晶显示模块上,在液晶屏上以8×8 点阵块显示该字符。SED1335 中专门有一组寄存器来管理这两种特性的显示区, 使其既可以单独显示一个特性,也可按某种逻辑关系显示两个特性。显示方式的设置可以通过软件指令来完成。
2)图形显示特性具有图形显示特性的显示RAM 区用于图形显示。在该显示RAM 区中,每一个字节的数据都直接送到液晶显示模块上,每一位的电平决定上一个点的显示状态。“1”为显示,“0”为不显示。所以,图形显示RAM 的一个字节对应显示屏上的8×1 点阵。SED1335 中专门有一组寄存器来管理这两种特性的显示区, 使其既可以单独显示一个特性,也可按某种逻辑关系显示两个特性。显示方式的设置可以通过软件指令来完成。
3)字符发生器CGROM SED1335 管理内藏字符发生器CGROM, 在字符发生器内固化了160 种5×7 点阵字符的字模。SED1335 还有外扩字符发生器,需要外扩字符发生器时,既可以用RAM 区开辟的CGRAM,也可以用EPROM 固化字库来实现。由SED1335 仅能处理8 位的字符代码,所以一次最多只能显示及建立156 种字符。在SED1335 的字符表中给出了内部字符发生器的全部内容。同时也给出了外扩字符发生器的字符代码范围:80H-9FH 和E0H-FFH 共64 种。
4 系统功能的实现要点及程序流程
在调试核心控制芯片AT91X40 系列微控制器时, 根据触摸屏的参数要求,要设置了一些基本参数。例如:系统时钟、中断类型、I/O 口选用方式。因为没有大功率的外部设备需要驱动,把各个管脚统一设置为漏极模式。因为只用到了0中断这个特殊功能,所以把其他功能关闭。SED1335 的设置很繁琐,关键之处在于初始化的设置,把握住几个关键性参数的设置即可,比如:屏幕显示大小、显示频率、开关屏指令。
触摸功能的实现在于坐标采集的正确,以及中断服务程序的编写。如果单纯考虑控制芯片对中断的响应,而加大延迟,势必造成程序运行不流畅甚至死机的后果。可是不加大延迟,就要通过长时间的触摸一点来达到系统对中断的充分响应,这样一来会使触摸按键显得过于迟钝。在触摸点坐标采集的问题上,现在有几种理论思想。第一种,多次测量触摸点坐标取平均值,这样采集到的坐标点很精确,但是耗时较多;第二种,通过查表的方式来确定坐标点。其原理大概是,事先编好一个坐标的数据表,当触摸点在一个区域内时,根据查表的结果判定触摸的位置。这种方法适用于触摸固定位置的屏,因为要事先编数据表,所以灵活性稍差。这里采用了第二种方法,但是根据实际情况适当地进行了简化。具体的程序流程图如图5 所示。主要包括:AT91X40 系列控制芯片的初始化设置,ADS7843 的初始化设置,SED1335 的初始化设置,图形显示,清屏功能。
图5 程序流程图
5 结束语
基于AT91X40 系列的手持式触摸屏,具有体积小巧,功能强大,操作简便等特点。手持式触摸屏的显示和输入设备,采用了现在流行的触摸屏。触摸屏技术发展速度快,前景广阔,目前已经得到广泛应用,具有极大的研究价值。这个系统中,选用了ADS7843 和SED1335 两种主流触摸和LCD 显示芯片。整个硬件的选择突出了主流性、先进性,保证研究成果拥有一定实际价值。