




免费预览已结束,剩余14页可下载查看
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
ARM系统在LED显示屏中的应用目 录一、设计要求1二、设计的作用目的1三、设计方案13.1方案一:基于51单片机的控制23.2方案二:基于ARM和CPLD的控制33.3方案三:基于ARM7的控制4四、系统硬件设计44.1电源模块的设计45.2串行通信模块的设计65.3 LED显示模块的设计85.4 ARM显示模块的设计86、系统软件的设计106.1软件的控制流程分析116.1.1通信数据帧格式116.1.2 通信实例分析136.2 ARM主程序的设计136.2.1 主程序的简要分析136.2.2 主程序流程图146.3 中断子程序的设计146.3.1 中断子程序的简要分析156.3.2 中断子程序流程157、系统的调试与仿真168、心得体会179、参考文献1810、致谢1816ARM系统在LED显示屏中的应用随着科技的快速发展,LED 显示屏的技术和产业都取得了长足的发展,作为重要的现代信息发布媒体之一,LED显示屏在证券交易、金融、交通、体育、广告等领域被广泛地应用。它可以实时显示或循环播放文字、图形和图像信息,具有显示方式丰富、观赏性强、显示内容修改方便、亮度高、显示稳定且寿命长等多种优点,被广泛应用于商业广告、体育比赛、交通信息报导等诸多领域.LED显示屏的核心技术主要集中在控制器中。目前,大部分异步显示屏采用的是8位或16位的微控制器,由于受到微处理器的处理速度、体系架构、寻址范围、外围接口资源等诸多限制,已难以在要求显示较多像素、显示内容帧频较高、动态显示效果复杂的情况下得到良好的动态视觉效果。针对以上情况,本课程设计开发了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制系统,就控制平台、硬件结构和软件开发实现给出了驱动部分和控制部分的详细分析与设计。一、设计要求本课程设计开发了一种全新的,由32位高性能ARM微处理器组成的LED显示屏控制系统,就控制平台、硬件结构和软件开发实现给出了驱动部分和控制部分的详细分析与设计。二、设计的作用目的在现代信息化社会的高速发展过程中,随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的显示设备将代替传统电视机成为人们享受信息和多媒体内容的中心。专家预言,半导体照明产业将是21世纪最大、最活跃的高科技产业之一,在经济竞争及国家安全方面具有极其重要的意义。该论文采用基于嵌入式实时操作系统的ARM微处理器技术,设计了一种全彩LED显示屏控制系统。三、设计方案对于这个课题的设计方案有很多,基于这次设计要求共提出三个方案,对它们的优缺点进行比较,从中选出最优方案。3.1方案一:基于51单片机的控制一般来说,对于小屏幕的LED显示屏的控制都是采用51系列单片机作为主控芯片。通常的解决方案是这样: 单片机总线驱动器列驱动电路LED点阵行驱动电路图1 单片机对LED的控制显示示意图该解决方案的控制流程如下:首先由单片机发出要在LED显示屏上显示的文字数据信息以及相应的控制信息到总线驱动器。总线驱动器本身并不对上位机发过来的信号进行任何的改变,只是将这些信号传递到下一级,并对其提供足够的驱动电流。然后总线驱动器对传过来的驱动信号分两路,一路传到行驱动电路,一路传到列驱动电路,在常见的显示驱动电路设计中,列控制一般采用串入并带锁存的移位寄存器如74HC595 ,将数据打入锁存器中,使寄存器各引脚呈现与锁存器相同的状态来选中需要点亮的列。行控制一般采用译码器电路如4/16 译码器74HC154 ,控制信号经译码后选中需要点亮的行。当行、列驱动信号分别加载到LED点阵上时,就可将要显示的信息在LED屏上显示出来。该方案的优点主要有:该方案结构简单,使用的器件常见且便宜,设计成本低廉;编程简单,调试方便。缺点主要有:硬件结构设计需要较多的控制信号线,占用单片机较多端口,从而造成端口资源的浪费;且该方案一般只能用于简单的文字和数字的显示,不能用于视频的显示。3.2方案二:基于ARM和CPLD的控制对与大屏幕的显示,由于大型LED屏幕的点阵规模极其庞大,所以采用低端单片机控制,用移位寄存器来实现数据的串行转并行的方法远不能满足需求。目前一般采用的方案是基于ARM的控制和基于CPLD的驱动的模式。基于这种方式的控制系统能很好的满足设计要求,如图2所示。上位机PC串口通信ARM主控芯片扫描驱动电路LED显示屏图2 系统原理图该方案的基本原理如下:该系统主要由三部分组成:PC机,显示控制电路和LED显示屏构成,PC机在控制中作为上位机,用于对下位机的控制和管理。系统的重点是显示控制电路,ARM和CPLD是显示控制电路的核心部分,共同完成数据的转换,控制信号的发送产生以及对LED显示屏的动态扫描控制,其中数据转换信号控制部分采用ARM实现,而LED显示屏的扫描驱动电路采用CPLD来完成。上位机与下位机之间的通信采用标准的RS232或RS485计算机数据串行通讯方式。LED显示屏在显示控制电路的作用下,主要完成以下功能:按照上位机设定的显示效果显示图像和文字。该方案的优点有: 用可编程逻辑器件来完成电路功能,不仅能够满足LED大屏幕系统高速图像数据传输对速度的要求,改善了电路性能,而且增加了电路设计的灵活性,设计中可以根据实际应用的需求灵活修改相应硬件描述语言程序,而不需要修改电路硬件设计,缩短了设计周期,降低了成本。同时,采用基于ARM核的32位微处理器,解决了系统的运行速度、寻址能力和功耗等问题,可以支持更大可视区域的稳定显示,可以存储更多的显示内容。该系统不仅能显示文字信息,而且也能完美支持视频的显示。同时缺点如下:系统设计比较复杂,系统的成本高昂;编程规模巨大,开发难度大,不利于大规模使用。3.3方案三:基于ARM7的控制基于以上两种解决方案的优缺点,本课题采用ARM7作为系统的控制核心,为了节约有限的CPU端口资源,且因为LED屏的文字和数字的显示数据传输要求并不是很高,故ARM与LED屏之间的通信采用串口传输,所使用的协议是RS232串口通信协议。此方案的优点是:这种设计方案大大节省了CPU的端口资源,有效简化了显示屏的电路结构,提高了整个显示系统的可靠性。系统的结构简单,模块与模块之间的信号线数量较少,使得控制更加方便、灵活,模块简单,能有效减少系统的开发周期与开发成本,完全的模块化设计也能增强系统的可扩充性和可维护性。四、系统硬件设计硬件部分的设计是比较关键的,本课程设计的硬件部分设计包括电源模块的设计、串行通信模块的设计、LED显示模块的设计、ARM显示模块的设计等四部分。4.1电源模块的设计电源设计实首先要能提供+5V电源。但是ARM模块需要+3.3V的直流电源,LED显示屏除了需要+3.3V逻辑电压外,还需+12伏的直流驱动电压。系统采用5伏电压管理芯片LT1117+5,220交流输入,5伏直流输出。为了提供+3.3V的直流电压,采用的是+3.3伏电压管理芯片LT1117,+5伏供电,+3.3伏输出。图3是由交流220伏电压转换成5伏直流电压输出的简要原理框图:图3 交流220.伏电压转5伏直流电压电路图从上面的原理图不难理解,该原理图由两部分构成,前级电路的作用主要是整流,后一级电路的作用是稳压。图4是驱动LED点阵的电源设计原理图:图4 3.3伏电压输出电路图上图的作用就是将+5伏直流电压输入转换为+3.3伏直流输出,以便给ARM和LED控制板提供合适的电源供应。图5是12伏电压输出电路图:图5 12伏电压输出电路图此芯片的工作原理是:输入电压V IN可在0. 8| V OU T| 之间选取,芯片的工作电压为2. 75. 5V。对一般的单片机控制电路,供电主要电源电压为5V ,因此在输出电压| V OU T| 5V的情况下,可将VCC与V IN 同时接到5V 电源上, 如图4.3 中虚线所示。二极管采用1N5819 或MBR0540L 肖特基二极管,电感采用典型值47H ,应注意增大电感将减小流过的峰值电流,从而降低输出电流;而减小电感,又将增大流过的峰值电流导致内部电流比较器延时。输出电压V OU T由R1 , R2 确定: (1)式(1) 中= 1. 25V ,可见输出电压只与R1 、R2有关,只需选定R1 、R2的阻值,即可确定输最后从该电路输出的是稳定的12伏直流电压。5.2串行通信模块的设计串口模块是本设计的一个重点模块,它负责ARM模块与LED模块之间的信息通信。硬件电路是否设计得当关系到二者通信质量的好坏。本串口通信协议采用RS232串口协议。在本模块中采用的RS232接口芯片是MAXIM公司的MAX232。该芯片的主要特点是:1、单5V电源工作2、 LinBiCMOSTM工艺技术3、 两个驱动器及两个接收器4、 30V输入电平5、低电源电流:典型值是8mA6、符合甚至优于ANSI标准 EIA/TIA-232-E及ITU推荐标准V.287、ESD保护大于MIL-STD-883(方法3015)标准的2000VMAX232功能分析:MAX23是MAXIM公司生产的RS232收发器,它支持EIA/TIA-232和ITU-TV.28/V.24通信协议,适用于便携式设备使用(如笔记本电脑及PDA)。MAX232内有一个高效电荷泵,可以完成两路TTL/RS-232电平的转换。图6是RS232通信串行通讯数据帧格式:图6 RS232通信串行通讯数据帧格式RS232 接口电路的主要功能是:将来自微处理器的发送信号TxD 通过“发送器”转换成通讯网络中的电压信号,也可以将通讯网络中的电压信号通过“接收器”转换成被微处理器接收的RxD 信号。任一时刻,RS-232收发器只能够工作在“接收”或“发送”两种模式之一,因此,必须为RS-232 接口电路增加一个收/发逻辑控制电路。图7是串口模块部分的主要电路图:图7 串口模块部分的主要电路图5.3 LED显示模块的设计LED模块系统中独立性比较强的一个模块,LED点阵的驱动显示主要是靠LED模块中自带的LED控制器来完成,它只与与ARM的UART口进行通信,当它收到上位机的命令后,直接调用存储器内的相关程序驱动LED点阵。它只和外部的串口模块有连接。图8为LED模块与串口的连接示意图: RxD TxD接口电路VCCRxD LED 模块TxDMAX23212V图8 LED模块与串口连接示意图5.4 ARM显示模块的设计由于飞利浦公司的LPC2294集成了非常丰富的外围接口涉及ARM处理器各引脚的置。图9是ARM复位电路:图9 ARM复位电路图10是系统的时钟电路设计:图10 系统的时钟电路设计在本系统中给ARM设计的晶振频率是11.0592M。下面介绍一下ARM各功能管脚的作用,这里只对本文中用到的管脚和几个常用的管脚作介绍。从设计框图来看,ARM控制块主要的控制功能有:,对串行通信端口的控制。,对存储器读写操作。,对显示模块的控制。以下是ARM芯片在本设计的主要电路连接图。表1 LPC2294部分管脚描述管脚名称管脚号功能P0.042TxD0UART0的发送器输出,PWM1脉宽调制器输出1P0.149RxD0UART0的接收器输入,PWM3脉宽调制器输出3,EINT0外部中断0输入P0.875TxD1UART1的发送器输出,PWM4脉宽调制器输出4P0.976RxD1UART1的接收器输入,PWM6脉宽调制器输出6,EINT3外部中断3输入P2口32位数据总线P3口地址总线以及片选型号,读写控制等135外部复位输入。该管脚的低电平将器件复位,并使I/O口和外围功能恢复默认状态,处理器从地址0开始执行。带迟滞的TTL电平,管脚可承受5V电压。XTAL1142振荡器电路和内部时钟发生器的输入XTAL2141振荡放大器的输出.VSS3,9,26,38,54,67,79,93,103,107,111,128地:0V参考点。VSSA139模拟地:0V参考点。标称电压与VSS相同,但应当互相隔离以减少噪声和故障。VSSA_PLL138PLL模拟地:0V参考点。标称电压与VSS相同,但应当互相隔离以减少噪声和故障。V1837,1101.8V内核电源:内部电路的电源。V18A143模拟1.8V内核电源:内部电路的电源。标称电压与V18相同,但应当互相隔离以减少噪声和故障。V32,31,39,51,57,77,94,104,112,1193.3V端口电源:I/O口的电源。V3A14模拟3.3V端口电源:标称电压与V3相同,但应当互相隔离以减少噪声和故障。图11是LPC2294芯片主要电路连接图:P3,0:23P2,0:31存储器RS232接口MAX232LPC2294RS232接口MAX232图11 LPC2294芯片主要电路连接图6、系统软件的设计硬件设计的骨架,软件是设计的灵魂,软件和硬件一样重要,此课程设计的软件包括软件的控制流程分析、ARM主程序的设计、中断子程序的设计6.1软件的控制流程分析软件的控制流程分析包括通信数据帧格式、通信实例分析。6.1.1通信数据帧格式通讯开始上下位机都处于通讯就绪状态。首先ARM发送帧头,帧头携带通讯模式屏号等信息,LS-L接收到帧头后,根据条件判断是否接收数据,若不符合,立即返回主程序;若符合,则接收数据,并且返回信息。握手通讯过程说明如下: 1上位机发送握手帧头信息(2个字节屏号);2下位机接收帧头后,返回屏号;3上位机接收到返回的屏号后,开始发送正式数据,发送完毕后等待返回成功信息;4下位机接收数据成功后,返回屏号,表示成功。通用格式如下:屏号操作码数据长度操作数帧尾说明:屏号: LED屏号(帧头) (1 byte)操作码: 见操作码编号表 (1 byte)数据长度: 发送的操作数据长度(当下载数据时页数Pages) (1 bytes)操作数据: ARM下发的数据 (n bytes)帧尾: 0XFF (1 byte)操作码编号表: 操作码 意义0XD6 下载数据(16点阵字库方式)0XD7 下载字幕(16点阵字库方式)加载数据的具体格式:1. 0XD6: 下载数据数据段名称意义LED_Number1 byteHEX帧头(屏号)Operate_Code1 byteHEX操作码(0XD6)Area_Mode1 byteHEX区域类型(0XC0)Saved1 byteHEX 保留字节Area_Beginrow2 bytes HEX 区域起始横向坐标Area_Beginlen2 bytes HEX 区域起始纵向坐标Area_Endrow 2 bytes HEX 区域结束横向坐标Area_Endlen2 bytes HEX 区域结束纵向坐标Operate_BytesHEX数据长度Display_ Modex bytes HEX显示方式Display_Datax bytes HEX显示数据Frame_End1 byteHEX帧尾(0xAA)表2 下载数据格式说明:区域类型(1 Byte):主区为0x04显示方式(4 Bytes): 进入方式DisplayStyle:0:表示随机状态1-39:表示相应的进入方式 退出方式 ExitDisplay 保留,默认为0。运行速度DisplayTime:0-15 分16个等级 级别越大处理时间越长,运行速度越慢;当为0时,速度最快。显示时间DisplaySpeed:0-255 分256个等级级别越大显示时间越长,一个级别大约为1秒;当为0时,显示时间为0。2. 0XD7: 下载游走字幕命令该命令的命令格式与上一个是相同的。LED_Number 1 byteHEX帧头(屏号)Operate_Code 1 byteHEX操作码(0XD7)Area_Mode 1 byteHEX区域类型(0XC0)Saved 1 byteHEX 保留字节Area_Beginrow 2 bytes HEX 区域起始横向坐标Area_Beginlen 2 bytes HEX 区域起始纵向坐标Area_Endrow 2 bytes HEX 区域起始横向坐标Area_Endlen 2 bytes HEX 区域起始纵向坐标Operate_Bytes 1 byteHEX数据长度(最大页数Pages)Display_ Mode 4 bytes HEX显示方式Display_Data x bytesHEX显示数据Frame_End 1 byteHEX帧尾(0xAA)说明:区域类型(1 Byte):字幕为0x08其它与主区相同。6.1.2 通信实例分析发送举例说明:1234 5678例如对第1号发送主区数据,对应屏上1号位置显示数据为:通讯格式如下:帧头操作码区域类型区域坐标数据长度显示方式显示数据帧尾0x010xD60x04保留字节起始横向起始纵向结束横向结束纵向Pages(最大数据页)4 字节0x31,0x01,0x32,0x01,0x33,0x01,0x34,0x01,0x35,0x02,0x36,0x02,0x37,0x02,0x38,0x02,0xAA表3 通讯格式6.2 ARM主程序的设计ARM主程序的设计包括主程序的简要分析、主程序流程图。6.2.1 主程序的简要分析在ARM没有收到报站信号(即中断信号)之前,ARM主要执行主程序,主程序的作用就是完成对串口和中断口的初始化设置,随后等待中断信号的到来,若有中断,则转而执行中断子程序。主程序的代码规模不大,以下为主程序的主要程序代码:void main() UARTMODE uart0_set;uart0_set.datab = 8; / 8位数据位 uart0_set.stopb = 1; / 1位停止位 uart0_set.parity = 0; / 无奇偶校验 UART0_Ini(115200, uart0_set); / 初始化串口模式 U0FCR = 0x01; / 使能FIFOInin-IRQ( ) ;while(1) delay(uint32 1000); /等待中断6.2.2 主程序流程图程序流程图如下图12所示: 开始串口初始化 中断初始化执行中断子程序返 回有无中断无有图12 主程序流程图6.3 中断子程序的设计中断子程序的设计包括中断子程序的简要分析、中断子程序流程的分析。6.3.1 中断子程序的简要分析本系统采用的LED模块具有极其完善的底层驱动程序,所以在本设计中就无需设计LED底层驱动程序,只需严格按照既有的数据帧格式向LED模块传送各种参数即可,LED控制器将自行调用各种底层驱动程序。中断子程序的主要功能函数就是将存储器中的数据发送到串口,以及从串口读取下位机的返回信号:实现该功能的三个子程序如下:子程序SendByte(uint8 data)的功能是将一个字节的数据发送到串口,然后串口自动将数据发送到LED模块。void SendByte(uint8 data) U0THR = data; / 发送数据delay(uint32 1000) /延时等待 while( (U0LSR&0x20)=0 ); /判断数据是否发送完毕子程序ISendBuf()的功能:将相关区域的大块数据发送到串口。入口参数:buf是待发送数据区的首地址;no 是发送数据的字节个数。void ISendBuf(uint8 const *buf, uint8 no) uint8 i; for(i=0; ino; i+) SendByte(bufi);子程序reeceiveByte()的功能是从串口UART0接收字节数据。若接收的数据符合预期,函数返回值是“1”,否则,函数返回值是“0”。 Uint8 reeceiveByte(uint8 fiame) uint8 c;C=U0RBR;IF(C=flame) RETURN(1);Else return(0); 6.3.2 中断子程序流程 下图为中断子程序的流程图。开始发送帧头信息有无返回帧头 发送显示方式 发送区域坐标 发送数据长度 发送操作码 发送帧尾 发送显示数据返回主程序有无返回发送成功信号有无有无重发图13 中断子程序程序流程图此流程图是中断子程序的控制流程。本系统的所有功能都可以通过该流程实现。例如字体显示的大小,亮度,响应度以及文字的数量,滚动显示的模式等等都可以通过设置发送数据帧里面的相关参数就可以实现。7、系统的调试与仿真ADS的CodeWarrior IDE是基于Metrowerks CodeWarrior IDE 4.2版本的。它经过适当的裁剪以支持ADS工具链。针对ARM的配置面板为用户提供了在CodeWarrior IDE集成环境下配置各种ARM开发工具的能力,这样用户可以不用在命令控制台下就能够使用各种命令。以ARM为目标平台的工程创建向导,可以使用户以此为基础,快速创建ARM和Thumb工程。由于ARM调试器(AXD)没有集成在CodeWarrior IDE中,这就意味着,用户不能在CodeWarrior IDE中进行断点调试和查看变量。所以在调试的时候将用到AXD软件,在用这个软件调试时要用到ARM仿真器,在调试时
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 肾性水肿病人护理
- 《论语十则》教学课件
- 职业技术学院行政办公楼、教学楼及图书馆视频监控工程系统建设方案
- 《记念刘和珍君》预习课件
- 《让我先说对不起》课件
- 高校资产处年终总结
- 事故安全培训课件
- 教务处年度工作计划汇报
- 事业单位马哲课件
- 海洋馆方案汇报
- 汽车吊维保记录
- 内容创作者合作协议
- 肋骨骨折手术护理配合
- 安保人员管理制度
- 机房网络改造升级方案
- 函数的单调性与最值课件高三数学一轮复习
- 灌区续建配套与节水改造工程施工组织设计
- 中职高一数学开学第一课(非凡数学之旅-中职生也能破茧成蝶)-【开学第一课】2024年中职秋季开学指南之爱上数学课
- DL∕T 5344-2018 电力光纤通信工程验收规范
- DL∕T 2528-2022 电力储能基本术语
- DL∕T 1785-2017 电力设备X射线数字成像检测技术导则
评论
0/150
提交评论