1、ARM小系统的外围接口电路设计 ARM小系统的外围接口电路设计指导老师:刘勃设计者:陈恩峰2004/6/10华中科技大学电信系摘 要AT91M40800是ARM系列芯片中的一款RISC处理器。其特点是功能强大,成本低,耗能省,适应嵌入式系统设计发展的趋势。本文是在基于AT91M40800为核心的小系统的基础上,设计了LCD,PS2,RS232,USB等外部接口,以形成一个完整的ARM小系统。论文首先对ARM系列处理器作了介绍。然后根据对AT91M40800引脚的功能分析,分别画出各接口电路的电路设计图,并对设计的工作原理进行详细介绍,对电路图进行总体设计。最后总结了论文的成果和不足。【关键字】
2、ARM,接口电路,AT91M40800,LCD,PS2,USB,RS232。ABSTRACT The AT91M40800 is a kind of RISC processors in ARM series chips.It is characteristics for the mightiness of its function and the low cost and low depleted and it meets with the development of tumble in system transfer. This paper is on the foundation of
3、 the small system which based on AT91M40800.Along with theLCD port,PS2 port,RS232 port,USB port and so on,they together form a full ARM system. In this pater, the processors of ARM series is firstly introduced. Then finish the preliminary scheme of circuit according to the analysis of the AT91M40800
4、s pinout diagram. And how to finishthe design is presented, then design the circuit diagram overallly. Finally,the achievement and insufficient of the paper is summarized.【Keywords】ARM, electrocircuit of port, AT91M40800, LCD, PS2, USB, RS232.第一章ARM系统简介:1.1 ARM介召:ARM(Advanced RISC Machines)是微处理器行业的一
5、家知名企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。ARM将其技术授权给世界上许多著名的半导体、软件和OEM厂商,每个厂商得到的都是一套独一无二的ARM相关技术及服务。利用这种合伙关系,ARM很快成为许多全球性RISC标准的缔造者。目前,总共有30家半导体公司与ARM签订了硬件技术使用许可协议,其中包括Intel、IBM、LG半导体、NEC、SONY、菲利浦和国民半导体这样的大公司。至于软件系统的合伙人,则包括微软、升阳和MRI等一系列知名公司。 ARM体系的发
6、展历史CISC体系由于指令集庞大,指令长度不固定,指令执行周期有长有短,使指令译码和流水线的实现在硬件上非常复杂,给芯片的设计开发和成本的降低带来了极大困难。针对这些明显的弱点,美国加州大学伯克利分校的Patterson 教授领导的研究生团队设计和实现了“伯克利*RISC I”处理器,他们在此基础之上又发展了后来SUN公司的SPARC 系列RISC 处理器,并使得采用该处理器的SUN 工作站名振一时。与此同时,斯坦福大学也在RISC研究领域取得了重大进展,开发并产业化了MIPS 系列RISC 处理器(后来被SGI 公司收购,并广泛用于SGI的图形工作站)。被这两种RISC 处理器所取得的巨大成
7、功所鼓舞,英国的Acorn 计算机公司在1983到1985年之间也开发出了第一代ARM处理器,当时RISC ARM 还只是Acorn RISC Machine的缩写。之后于1990年,公司又把名字改为简单的ARM limited,并且是Advanced RISC Machine(先进RISC 机器)的缩写。经过这么多年的发展,ARM已经形成了如下系列的大家族。表中的核心Core 包括处理器核Processor Core (ARM7TDMI ,ARM8, StrongARM, ARM9TDMI&ARM10TDMI) 和 Cup Core(其它)。Cup Core 实际上是在各种相应的处理器核的基
8、础之上,集成和优化了Cache 和MMU 内存管理单元后形成的,它能以单独的CPU 芯片提供给用户更高的性能。而各种处理器核(Processor Core)则可用软IP模块,或者硬IP 模块的方式嵌入到各种用户不同的应用之中, 形成相应的SOC(System On a Chip)系统芯片,这不仅节省了功耗和成本,还最大限度的节省了用户的开发时间。另外特别值得一提的是STONGARM,它原来是DEC公司和ARM公司合作开发的。1998 年,Intel 收购了DEC的半导体部门。此后,Intel 又开发和生产出SA110,SA1100,SA1110 等一系列STRONGARM 高性能嵌入式处理器。
9、特别是SA1110,本身就是一个非常典型的SOC 芯片,已经把液晶控制器、外设接口(USB,IRDA,UART,PCMCIA)音频编解码器Codec等和CPU 集成到了同一个芯片内,可以很方便地嵌入于各种掌上设备。产品介绍ARM提供一系列内核、体系扩展、微处理器和系统芯片方案。由于所有产品均采用一个通用的软件体系,所以相同的软件可在所有产品中运行(理论上如此)。典型的产品如下。 CPU内核 -ARM7:小型、快速、低能耗、集成式RISC内核,用于移动通信。- ARM7TDMI(Thumb):这是公司授权用户最多的一项产品,将ARM7指令集同Thumb扩展组合在一起,以减少内存容量和系统成本。同
10、时,它还利用嵌入式ICE调试技术来简化系统设计,并用一个DSP增强扩展来改进性能。该产品的典型用途是数字蜂窝电话和硬盘驱动器。-ARM9TDMI:采用5阶段管道化ARM9内核,同时配备Thumb扩展、调试和Harvard总线。在生产工艺相同的情况下,性能可达ARM7TDMI的两倍之多。常用于连网和顶置盒。体系扩展- Thumb:以16位系统的成本,提供32位RISC性能,特别注意的是它所需的内存容量非常小。嵌入式ICE调试由于集成了类似于ICE的CPU内核调试技术,所以原型设计和系统芯片的调试得到了极大的简化。微处理器-ARM710系列,包括ARM710、ARM710T、ARM720T和ARM
11、740T:低价、低能耗、封装式常规系统微型处理器,配有高速缓存(Cache)、内存管理、写缓冲和JTAG。广泛应用于手持式计算、数据通信和消费类多媒体。 -ARM940T、920T系列:低价、低能耗、高性能系统微处理器,配有Cache、内存管理和写缓冲。应用于高级引擎管理、保安系统、顶置盒、便携计算机和高档打印机。-StrongARM:性能很高、同时满足常规应用需要的一种微处理器技术,与DEC联合研制,后来授权给Intel。SA110处理器、SA1100 PDA系统芯片和SA1500多媒体处理器芯片均采用了这一技术。-ARM7500和ARM7500FE:高度集成的单芯片RISC计算机,基于一个
12、缓存式ARM7 32位内核,拥有内存和I/O控制器、3个DMA通道、片上视频控制器和调色板以及立体声端口;ARM7500FE则增加了一个浮点运算单元以及对EDO DRAM的支持。特别适合电视顶置盒和网络计算机(NC)。1.2 外部接口概述作为小系统的外部接口,其目的是方便用户进行操作和实现系统的必要功能。外部接口主要包括LCD接口,PS2接口,RS232接口,USB接口等。其中,LCD接口功能是连接显示设备,以显示主机和用户操作的信息。PS2接口是连接键盘,鼠标等设备,方便主机和用户之间的人机交流。USB接口和RS232接口是实现主机与外部的通讯功能。1.3 课题任务本课题的任务是基于ARM小
13、系统,设计LCD,PS2,RS232,USB等外部接口,以实现各种功能。第二章ARM小系统的结构:本系统采用Atmel公司的ARM7系列AT91M40800作为处理器。外部接口包括LCD接口,PS2接口,RS232接口,USB接口。本系统的主要结构框图如下:本设计中LCD由内置T6963C控制器的液晶显示模块VPG12864TSCHTLED03完成.PS2键盘的设计由专用键盘芯片BC7281实现.RS232口选用MAX232EESE芯片.USB口采用PDIUSBD12芯片.本系统选用的主芯片为AT91M40800,如图:第三章外围接口的分布设计3.1 LCD的原理与接口设计3.1.1 LCD的
14、分类:从显示技术上来看.LCD可分为简单矩阵(SM)和有源矩阵(PM)两大类,并经过了扭曲向列(TN-LCD),超扭曲向列(STN-LCD),薄膜晶体管向列(TFT-LCD)三个重要发展阶段.目前,.TFT-LD成为液晶显示器的主流产品.TFT-LCD的显示原理是基于液晶的透光率随其所加的电压大小而变化的特性.当光通过上偏振片后,变成线性偏振光.偏振方向和偏振偏振动方向一致.当光通过液晶层时,由于液晶折射,线性偏振光被分解成两束光.又由于这两束光的传播速度不同,因而当两束光合成后,必然使偏振光的振动方向发生变化,当光到达下偏振片时,光轴振动方向被扭曲了90度,且与下偏振片的振动方向保持一致.这
15、样,光线通过下偏振片时形成亮场.加上电压以后,液晶在电场作用下取向,扭曲消失,这时,通过上偏振片的线性的偏振光,在液晶层不再旋转,无法通过下偏振片而形成暗场.可见液晶本身不发光,在外光源的调制下,才能显示,在整个显示过程中,液晶起到一个电压控制光阀作用:TFT-LCD的工作原理是漏电极与ITO象素电极连接,源电极与源电极连接,栅极与栅线连接,当栅极正向电压大于施加电压时,漏源电极导通;当正向电压等于0或负电压时,漏源电极断开.3.1.2模块介绍:设计采用T6963C为控制器的VPG12864TSCHTLED03液晶模块. 1. T6963CT6963C的最大特点是具有独特的硬件初始值设置功能,
16、显示驱动所需的参数如占空比系数,驱动传输的字节数行及字符的字体选择等均由引脚电平设置,这样T6963C的初始化在上电时就已经基本设置完成,软件操作的主要精力就可以全部用于显示画面的设计上了。T6963C控制器参数描述:名称符号条件范围单位电源电压VDDTa=25-0.37.0V输入电压VINTa=25-0.3VDD+0.3V工作温度Topr-1070存储温度Tstg-551252. VPG12864T-SC-HT-LED03本模块所用液晶的型号为VPG12864TSCHTLED03。液晶屏参数描述:点阵数12864点尺寸0.390.55像素尺寸0.440.60视屏尺寸62.044.0模块尺寸7
17、8.070.0T表示控制模块为T6963C控制器,SC表示无需外部提供负压驱动。(注:模块应用一般有三种电源:逻辑电源,液晶驱动电源,背光电源。如果所选用的液晶模块是双电源(VDD/V0)供电的就需要提供一个负电压(即液晶驱动电压V0/VEE),用以调节对比度,接在液晶模块的V0引脚上。如果所选用的液晶模块是单电源(型号里有SC字母或有特别说明的)供电的,V0悬空(或详见管脚说明)即可使用。对于这类模块,因为内部的液晶驱动电压转换电路是带温度补偿的,所以当工作温度变化时,无须手动调节液晶驱动电压。)HT表示此液晶为宽温型,宽温型液晶模块的工作温度范围在-20C+70C,贮存温度-30C+80C
18、。LED03表示此液晶的背光方式为边背光方式。(LED04指底背光方式)。引脚定义:引脚号名称说明1FG接外壳地2Vss电源地3Vdd电源+5V4VoLCD工作电源(此型号不使用)5WR写信号,低电平有效6RD读信号,低电平有效7CE片选信号,低电平有效8C/D命令/数据 选择9RESET复位10-17D0-D7数据线18FS内置字型选择6*8(H)或8*8(L)19LED+背光电源正20LED-背光电源负注: 背光电源应加负电压,所以LED+接地,LED-接+5V(可串联一小电阻).D0-D7:T6963C与MPU接口的数据总线,三态;/RD,/WR:读、写选通信号,低电平有效,输入信号;/
19、CE:T6963C的片选信号,低电平有效;C/D:通道选择信号,1为指令通道,0为数据通道;/RESET,/:/RESET为低电平有效的复位信号,它将行、列计数器和显示寄存器清零,关显示;VO:此种LCD模块不用A,K:背光VSS:接地FS:用于选择字体,8*8,8*6VPG12864TLCD背光设计: 本液晶模块是带背光的型号,为LED03(即边背光)方式,供电为3.84.3V直流电源,严格限制5V电源直接供电,否则不仅会增加功耗,更会增加损坏背光灯的可能性和缩短液晶模块的使用寿命。推荐电压如下:当背光方式为LED03(即边背光)时,VLED4.1V。LED背光工作电压4.04.3V条件下的
20、电流值(表四,测试条件:温度20)LED背光电压与电流的关系电压(V)背光电流 (mA),精度:10 mA4.0604.1804.21104.31303.1.3设计原理及电路图:简要原理:把内置T6963C控制器的液晶显示模块作为存储器或IO设备直接挂在计算机的总线上。模块的数据线接计算机的数据总线上,片选及寄存器选择信号线由计算机的地址总线提供,读和写操作由计算机的读写操作信号控制。T6963C具有独特的硬件初始值设置功能,显示驱动所需的参数如占空比系数,驱动传输的字节数行及字符的字体选择等均由引脚电平设置(具体的要看说明书),这样T6963C的初始化在上电时就已经基本设置完成,软件操作的主
21、要精力就可以全部用于显示画面的设计上了。3.1.4编程控制T6963C液晶控制器具有内部16位地址线,可管理64KB的内部RAM. T6963C控制器支持图形和字符,以及两者合成显示. 可通过改变内部首地址指针位置设置图形的字符显示区的位置,也可以通过此功能实现滚屏.LCD通过一系列的命令来控制, 每个命令可包含0-2个数据,带数据的命令必须选送数据再送命令. 发送命令例程如下:void LCD_DelayIt(unsigned int Delay) unsigned int i; for (i=0;i=Delay;i+); /*/#define LCD_Delay2 15#define LC
22、D_Delay#define LCD_BASE 0x40020000 / 由片选线及片选寄存器决定,#define LCD_Delay 10#define LCD_Delay2 50#define LCD_Command (volatile unsigned char *)(LCD_BASE | 0x100)/ 0x100 也可为其它值,只要保P8(即C/D)为1即可.下面同理#define LCD_Data (volatile unsigned char *)(LCD_BASE | 0x0)void LCD_WriteControlByte(unsigned char Num, unsign
23、ed char Add0, unsigned char Add1, unsigned char Command) unsigned i; switch(Num) case 2: i = LCD_Delay2; while(i & (*LCD_Command) &0x03)!=0x03) i-; *LCD_Data = Add0; /写入数据1 LCD_DelayIt(LCD_Delay); / no need break here case 1: i=LCD_Delay2; while(i & (*LCD_Command) &0x03)!=0x03) i-; *LCD_Data = Add1;
24、 /写入数据2 LCD_DelayIt(LCD_Delay); i = LCD_Delay2; while (i & ( *LCD_Command ) &0x03)!=0x03) i-; *LCD_Command = Command; /写入命令 LCD_DelayIt (LCD_Delay);LCD的控制其实就是向模块写控制命令,如关闭光标的命令为0x9d,无数据则其控制函数为:void LCD_CloseCursor (void) LCD_WriteControlByte ( 0, 0, 0, 0x9d);3.2 PS2的原理与接口设计3.2.1 PS2键盘原理及连接PS/2协议最初由IB
25、M公同制定,目前广泛应用于鼠标,键盘,条码扫描器等设备,其接口定义如下:PS/2接口有主从之分,主设备采用Female插座,从设备采用Male插座. 时钟与数据线都是开漏模式,需外接上拉电阻. 且一般放在主设备上.主从之间数据可以双向同步串行传输,主设备随时可以将时钟线拉低禁止通信过程. PS2传输一般时钟频率都在1020KHZ. 3.2.2 BC7281本设计采用键盘控制芯片BC7281.简述:BC7281芯片是8位/16位LED数码管显示及键盘接口专用控制芯片.BC7281芯片可以连接最多64键(8*8)的键盘矩阵. 内部具有去抖动功能,键盘为互锁式,扫描到的键值将被锁存在内部的锁存器内直
26、至被读出.BC7281芯片内部共有25个寄存器,包括16个显示寄存器和9个特殊(控制)寄存器.所有的操作均通过对这25个寄存器的访问完成.BC7281采用高速二线接口与CPU进行通讯,只占用很少的I/O口资源和CPU时间.特点可驱动16数码管显示或128只独立LED具有64键键盘接口,内含去抖动功能独具光柱译码方式,可独立控制两条64段光柱显示段寻址功能便于控制独立LED各位可独立控制闪烁属性,BC7281闪烁速度可调段驱动极性及移位脉冲时序均可控,可配合各种形式的驱动电路键盘部分具有键值锁存功能内部显示寄存器和控制寄存器的内容均可读出2线高速串行接口引脚说明:3.2.3 BC7281的连接与
27、电路图:BC7281与MCU之间通讯采用2线高速串行接口,二根连线分别是数据线DAT和同步时钟线CLK,其中DAT为双向数据传输线,BC7281既用该线从MCU接受数据,也用该线向MUC发送数据.BC7281的DAT引脚为漏极开路输出结构,使用时需要在该线上加一20k欧的上拉电阻.CLK引脚为串行接口的同步时钟,由MCU控制,下降沿有效.串行接口数据宽度为8位,两个字节为一组,构成一条完整的指令.第一个字节为命令字,第二个字节为数据.串行接口数据结构如下:BC7281采用外接的RC振荡电路为显示和键盘扫描提供时钟驱动,外接元件的典型参数为R=3.3K,C=20pF.在Vcc=5V的情况下,振荡
28、电路的频率约为4.5MHz.BC7281的CLK0端为内部振荡电路输出端,一般此脚悬空. 芯片的RST引脚为复位端.因为BC7281的内部有上电复位电路,因此在一般情况下不需要特殊的复位电路,只需要将RST引脚直接连接到VCC端就可以了.BC7281与MUC的接口公需要三根线,数据线DAT,时钟线CLK和按键指示KEY,其中CLK和KEY引脚分别为输入和输出引脚,而DAT脚则为双向口,其内部为OPEN DARAIN结构,需要外接一20K欧的上拉电阻,以使其能可靠地输出高电平.BC7281需要外接移位寄存器构成段驱动电路.BC7281最多可以连接64个按键,按8*8矩阵排列,矩阵地行连接到BC7
29、281地位驱动DIG0-DIG7,矩阵地列连接到第0-7位显示地段驱动以为寄存器的输出.当使用键盘功能时,DIG0-DIG7上应加以100K的下拉电阻,且8根引脚必须都接,即使所用的键比较少时,也不能省略.矩阵中各键键值参看下表:3.2.4 电路原理图及应用程序:电路原理图:应用程序:void delay(unsigned char); / 短暂延时void write7281(unsigned char, unsigned char); / 写入到BC7281unsigned char read7281(unsigned char); / 从BC7281读出void send_byte(un
30、signed char); / 发送一个字节unsigned char receive_byte(void); / 接收一个字节/* 变量及I/O口定义 *unsigned char key_number;unsigned int tmr;sbit clk=P35; / clk 连接于 P3.5sbit dat=P37; / dat 连接于 P3.7sbit key=P33; / key 连接于 P3.3(INT1)/* 主程序 *main() for (tmr=0;tmr0xffff;tmr+); / 等待 BC7281 完成复位 write7281(0x12,0x80); / 初始化BC7281为164模式,不反相 while (1) while(key); / 等待按键 key_number=read728x(0x13); / 读键值 write728x(0x15,0x10+(key_number&0
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1