1、基于物联网的广告发布系统设计 目 录引 言11 系统设计21.1 系统的设计目标21.2 总体设计21.3 系统方案分析22 方案论证32.1 主控制器芯片选择32.2 无线传输方案32.3 显示屏方案43 LED显示技术及系统中的主要芯片63.1 STM32F103VET6微处理器芯片63.2 NEF24L01射频通信芯片93.3 MAX232串口通信芯片113.4 移位寄存器74HC595123.5 信号收发器74HC245145 系统硬件设计155.1 各功能实现原理155.1.1 led显示原理155.1.2 点阵LED显示屏的外观和引脚155.1.3 驱动模块165.2 具体硬件电路
2、实现175.2.1 电源电路175.2.2 时钟电路175.2.3 启动模式选择电路175.2.4 复位电路185.2.5 RS-232电路195.2.6 NRF24L01电路195.2.7 LED接口电路195.2.8 按键电路206 系统软件设计206.1 开发环境介绍206.2 系统编程语言介绍216.3 软件总体设计216.4 系统各模块程序的设计226.4.1 GPIO端口配置226.4.2 串口通信配置246.4.3 NVIC中断配置256.4.4 NRF24L01模式配置276.5 主控机程序模块286.6 从机程序模块297 系统调试307.1 元件的焊接和整板测试307.2
3、系统硬件调试317.3 软件测试317.4 系统联调328 结论339 参考文献3410 附 录3510.1 系统原理图3510.2 部分主机程序3510.3 部分从机机程序3811 谢 辞4141引 言 由于物联网的快速发展,信息传播为21世纪的发展发挥了越来越大的作用。特别是在近20年来,物联网的发展日新月异,无论是商业、农业、工业,甚至是国防科技都将为之发生意想不到的变革,同时也为技术发展打下了坚实的理论基础。我们则应当具备开发和创新的能力,本文所介绍的无线广告屏就是一个例子。系统以单片机为处理器,其以极其高的性能价格比受到嵌入式研发人员的重视和关注。单片机拥有很多的优势比如功能齐全、稳
4、定性好、性价比高、对环境要求不高、产品设计周期短、价格低廉、灵活性好。单片机以其优越的性价比,使得它的应用在生活当中随处可见,并且单片机的性能也越来越好。单片机的应用范围包括工业检测与控制、机械设备、智能仪器仪表、汽车控制、家用电器等。 运用做多的还是嵌入式微型应用系统中。随着科技的发展,单片机性能会更加强大,将会更多的运用在通信、视频和控制等方面,与人们的生活生产更加密切,未来单片机的应用会是一片光明。总的来看,无线广告屏是一种新型的信息显示方式,当然成本低也是人们选择的理由,另外 1.2公里度的传输距离使之更加适合于像户外和街道之类的场合。如果能较好的解决信息的及时更新问题,可应用于户外,
5、尤其是一些广告塔、屋顶等场所,是显示屏发展的新方向。如果更进一步的开发,解决视频数据的存储,则可以解决无线视频的传输并显示,当前视频显示的控制已经是比较成熟,只需要将显示屏替换为显示视频的屏,这样为扩大应用范围提供了可能性。本文所设计的无线广告屏以STM32F103VET6微处理器核心利用STM32F103VET6的资源和便于后续的升级,通过无线数据传输技术,与LED显示屏紧密结合实现系统功能。本文分为六章,详细说明了无线广告屏的原理、设计方法、以及设计流程。第1章简要的介绍系统设计方案。第2章较详细的论证和介绍了系统设计各个子方案。第3章简要介绍了SPI,RS232通信协议。第4章简单介绍了
6、显示及系统设计中使用的主要芯片,其主要是对意法半导体(ST)公司32位处理器STM32F103VET6作了一下介绍。第5章详细介绍了系统的硬件设计。本章对电源、复位、按键、接口作了详细的介绍。第6章详细介绍了系统的开发平台、编程语言、系统的软件设计方案。第7章对系统软、硬件调试的方法及遇到的问题作了说明,并对最终效果进行了测试和分析。1 系统设计1.1 系统的设计目标本设计要求进行无线广告屏的研究和设计。系统以STM32F103VET6微处理器作为核心控制器件,通过无线数据传输进行LED广告屏信息的更新,扩大广告屏的使用范围以及提高广告信息的有效性。1.2 总体设计如图1所示,无线广告屏的系统
7、总框图。系统由5个模块组成:电源转换模块、主控制模块、显示模块、无线收发模块和键盘输入模块。其中,LED显示由STM32和NRF24L01共同控制,键盘则用来实现人机交互的功能,系统供电源是市电,然后通过变压器,给系统提供5V电源。用户可以通过计算机的串口将信息传给发送模块再由发送模块对数据进行变换,并按键将数据通过2.4G无线传输到从接受模块,再由从接受模块对接收到的数据进行提取再传送到显示屏。系统中,收发模块都以STM32F103VET6为控制器,对数据进行存储与转换。2.4G无线射频通信进行数据传输。显示模块接收主控制器模块发送主控制器模块键盘输入模 块无线接收模块无线发送模块图1 系统
8、总框图1.3 系统方案分析广告发布系统具有如下优点:可实现组网:因为传统LED显示屏的信息由计算机通过串口线传输,所以显示屏在组网数量上受到很大的制约。无线LED信息显示系统采用2.4G无线传输模块来发送信息,可控制6个显示终端;通过树形连接可扩展更多的终端节点。信息发布方便:传统广告显示屏只可以固定地显示控制卡内存储的数据,如需发布新的信息必需通过电脑联机来刷新信息。无线广告显示系统可以随时接收发射机下发送的信息,信息的更新不受任何时间和地理位置限制。安装维护方便:因为不需要架设通讯电缆或者光缆,因此无线广告显示屏的安装位置不会受到太大的限制。 本设计采用软硬件模块化设计方案,便于维护和检修
9、。2 方案论证2.1 主控制器芯片选择方案1:采用STC89C52为处理器,STC89C52RC单片机是台湾宏晶设计的一款频率高,低功耗小,抗干扰能力强的单片机,与传统8051单片机指令代码完全兼容,机器周期可以任意选择可以选择12时钟周期或6时钟周期的。但是STC89C52容量小,内部资源少,不适合后续系统的升级。方案2:采用意法半导体(ST)公司出品的STM32F103VET6为处理器,STM32F103VET6是 32位ARM微控制器属于中低端市场,该芯片其内核是Cortex-M3。STM32相比STC89C52有过之而无不及,性能高效,在同样的主频率下能做处理更多的任务,为程序设计提供
10、了全面支持;功耗小;实时性强;采用了极其前卫甚至革命性的架构设计思想,相比传统单片机它具有快速的中断响应,而且中断响应所需的周期时间确定的;所能存储代码密度得到很大提高,一边能支持大型应用程序,另一边为低成本开发费用。相比之下决定采用STM32F103VET6为处理器。2.2 无线传输方案方案1:ZigBee:Zigbee是基于IEEE802.15.4标准的低功耗个域网协议 ,是一种新兴的短距离,低速率无线网络技术。它是一种介于蓝牙与无线标记之间的技术方案,此前一直被称作HomeRFLite或firefly无线技术,主要用于近距离无线连接。它有自己的优势。功耗很低,在待机模式(低功耗)下,两节
11、普通5号电池可使用180-720天;网络容纳节点数目多,网络最多可以容纳六千多个节点;响应速度快,一般设备搜索时延大约为三十毫秒,设备激活时延大约为十五毫秒,设备信道接入时延约为十五毫秒;网络的自主组网、修复功能强;数据传输稳定、数据保密性可靠,ZigBee有着鉴权功能和数据完整性校验,采用的算法是AES-128(全球新加密算法,是目前最好的文本加密算法之一),应用不必担心安全型;频带宽,全球通用频率为2.4GHz,在美国是915MHz的频段,欧洲是868MHz的频段,都是免费的频段。是一种让无线控制简单技术革新。采用IEEE 802.15.4国际标准,该技术大多应用于低传输速率和功耗小的开发
12、。但是成本比较高,比nRF2401等要高很多,通信距离短,应用最好在100米以内。方案2:蓝牙:基于IEEE 802.15.1的标准。工作于 2.4GHz 频段,现在已经在PC 市场和移动电话上获得了成功。Bluetooth SIG 推出的各种版本已经应用在多种外设上,比如无线耳机。方案3:Wi-Fi:Wi-Fi 是基于 IEEE 802.11 标准的第三代无线技术。它已被广泛应用于家庭,“hotspots”和办公室作为一种无线局域网技术。Wi-Fi 技术主要为TCP/IP 网络的传输层做支持。方案4:赛普拉斯公司的无线USB:赛普拉斯公司的专利产品-和名为“无线认证USB”的产品无关,那是由
13、无线 USB 促进组织(基于 WiMedia 联盟 UWB 平台)研发的。无线USB 是一种新型产品,工作于 2.4GHz 频段,有半双工的工作模式。它以扩展频谱方式使满足国际电信联盟的标准,以免和现有的其它工作在 2.4GHz 频段的无线技术产生干扰。方案4:北欧半导体公司的 NRF24L01:北欧的方案是有专利的,工作在2.4GHz 频段,半双工的调制解调器。它使用一个数字分段和跳频技术方式,最大可以发送256个字节的数据包。接收器对于校验错误的数据包采取丢弃方式。按照数据手册,NRF24L01是一种单芯片GFSK收发器,数据传输速率最大为2Mbps。它的内部结构由晶体振荡器,功率放大器,
14、频率合成器和调制器组成。蓝牙技术也许在 PC和 Mac上的应用看起来很有优势。不幸的是,仔细研究之后发现,实际上所有计算机备的都是低功率的蓝牙Class2或Class3,工作距离不超过10米。能够达到我们要求的蓝牙 Class1 的成本很高,而且功耗太大。对于前几种的技术衡量,最后选择了北欧半导体公司的NRF24L01,作为本设计的无线传输技术。2.3 显示屏方案方案1:LCD(Liquid Crystal Display),即液晶显示屏。在计算机、手机、手持设备和电视机有着广泛的应用。LCD的原理是两端是玻璃基板,在它们之间的是一种有机化合物。以电流通过该化合物使晶体重新分布,以使入射光线发
15、生偏转。看起来每个晶体就像过滤网,能对穿过的光线加以选择。未来液晶显示器应用都将朝着更加轻薄,更加耐用的方向发展,以后我们将看到LCD的应用会无处不在。相比古老的CRT映像管显示器等等,LCD携带更加方便与更加实用,不仅如此CRT映像管显示器体积庞大或功耗大等众多因素,将会被社会的需求所淘汰。而LCD显示技术的出现正好服合以后人们的需求,出色的显示性能、节能环保、大小定制和辐射低等优势,完胜于传统的CRT映像管显示器。方案2:LED显示屏,LED显示屏(LED panel):LED就是light emitting diode ,发光二极管的英文缩写,简称LED。它是一种通过控制半导体发光二极管
16、的显示方式,其原理就是有多个发光二极管组成显示矩阵,有0和1控制某个二极管的亮灭。已经用来显示文字、数字、图像、符号、视频等各种信息。显示方面,LED已经广泛应用于工业设备、电子电器多媒体平板显示屏、交通信号灯等各种产品的运行状态性能的显(指)示。LED的技术应用已经具有了很广的应用范围、很大的发展规模, LED拥有的不仅是社会应用所需的技术、并且相关技术的发展空间也是巨大的。因此LED将会有着更为美好的发展。当前技术背景下,与传统的显示媒介比较LED显示屏显示出了更多实用的优点,有以下特点:一是使用寿命超长,业内公认的使用时间平均可达10多万小时,理想使用寿命将可达到25万小时;二是显示色彩
17、丰富,现在的LED显示屏在颜色上已有了很多种类,比如红色、琥珀黄、黄色、绿色、蓝色等,对LED色彩能够满足一般应用的要求。随着新材料的开发,将来还会出现更多的单色;三,性能稳定可靠,在正常LED的寿命期限内,LED一般都能稳定无故障的工作,日常维护工作简单;四,电气安全性高,由于LED工作在低电压(5-20V)、小电流(11-19mA)范围,属于弱电电子器件,有良好的电气安全性能;五,节能环保,在同样显示情况下,LED的耗电量仅为普通白炽灯的十分之一,并且不存在有辐射,噪声污染等问题,适合社会发展的需要;六,应用灵活,LED可以选择110V/220V电源供电或低压供电,由于单个LED的体积较小
18、(贴片更小),只需要三平方毫米左右,所以提高了广泛应用的可能性;七,可控制能力强,当前的技术足够可以实现灰度、LED的亮度、动态显示、分布式控制等,是其它发光原件不能相比的;八,抗震性能好,LED抗抖动,抗冲击的坚固性能,已经超过了其它种类的电光源产品;九,反应速度快,LED的反应速度已经在毫秒之内,已经自如有效地应用到了显示屏、相机闪光灯、汽车刹车灯等;当然,LED产业还存在很多需要从根本加以解决的问题。基色还不是十分全面,可见光波段的覆盖没有达到理想的目标,即能达到自然光的水平;显色性仍然达不到理想要求,理想要求是黑体无差别,即达到Ra=100;LED亮度还不够强,主要是发光效率即光输即效
19、率和内量子效率以及功率的提高;另外包括专用集成电路、大小、费用、驱动芯片、“冷光”感等问题。结合各种因素,最终选择LED显示屏,为系统的显示屏。3 LED显示技术及系统中的主要芯片3.1 STM32F103VET6微处理器芯片STM32F103VET6属于增强型系列采用高性能的ARM处理器 Cortex-M3属于32位的RISC内核,是一种低功耗处理器,此处理器采用了ARMv7-M的架构。具有门数目少的,中断延迟短的,调试效率高的特点,专门为要求具有快速中断响应时间的深度嵌入式开发而设计的。Cortex-M3内核简介:Cortex-M3内核由一个新型Thumb-2指令和传统Thumb指令译码器
20、、一个支持硬件除法和硬件乘法的先进ALU、用于连接处理器其他部件和控制逻辑的接口。Cortex-M3处理器又是首款基于ARMv7-M的架构的ARM处理器。Cortex-M3内核采用3级流水线哈佛架构,采用分支预测、硬件除法和单周期乘法功能实现有着出色的效率(1.25DMIPS/MHz)。另外Cortex-M3处理器是一款32位处理器,采用32位宽的数据路径、基于传统ARM7处理器的系统和寄存器库只支持4字节对齐的数据访问,对数据进行存储和访问必须沿着对齐的字边界。Cortex-M3处理器也采用了非对齐数据访问方式,使得非对齐数据能够在单核访问中进行访问和传输。Cortex-M3处理器是专门为那
21、些对于功耗和成本非常重要但于此同时对于性能的要求又十分高的应用而出现的。凭借更小的内核尺寸大小和突出的中断延迟响应、灵活的配置、集成的系统部件、高级编程语言、强大的外设系统。以后Cortex-M3处理器将必将成为嵌入式开发人员的低端微控制器的理想选择对象。表1为ARM7与Cortex-M3处理器比较。比较项目ARM7Cortex-M3架构ARMv4T(冯诺依曼)指令和数据总线共用,会出现瓶颈ARMv7-M(哈佛)指令和数据总线分开,无瓶颈指令集32位ARM指令+16位Thumb指令两套指令之间需要进行状态切换Thumb/Thumb-2指令集16位和32位指令可直接混写,无需状态切换流水线3级流
22、水线若出现转移则需要刷新流水线,损失惨重3级流水线+分支预测出现转移时流水线无需刷新,几乎无损失性能0.95DMIPS/MHz(ARM模式)1.25DMIPS/MHz功耗0.28mW/MHz0.19mW/MHz低功耗无内置睡眠模式面积0.62mm2(仅内核)0.86mm2(内核+外设)中断普通中断IRQ和快速中断FIQ太少,大量外设不得不复用中断不可屏蔽中断NMI+1-240个物理中断每个外设都可以独占一个中断,效率高中断延迟24-42个时钟周期,缓慢12个时钟周期,最快只需6个中断压栈软件手工压栈,代码长且效率低硬件自动压栈,无需代码且效率高存储器保护无8段存储器保护单元(MPU)内核寄存器
23、寄存器分为多组、结构复杂、占核面积多寄存器不分组(SP除外),结构简单工作模式7种工作模式,比较复杂只有线程模式和处理模式两种,简单乘除法指令多周期乘法指令,无除法指令单周期乘法指令,2-12周期除法指令位操作无访问外设寄存器需分“读-改-写”3步走先进的Bit-band位操作技术,可直接访问外设寄存器的某个值系统节拍定时无内置系统节拍定时器,有利于操作系统移植表1Cortex-M3与ARM7相比较ARM Cortex-M3内核,高性能的ARM Cortex-M332位的结构优化。64KB RAM,512kB Flash,LQFP 144脚封装的32位RISC性能处理器。硬件除法和单周期乘法,
24、72 MHz 运行频率/90MIPS(1.25DMIPS/MHz),快速可嵌套中断,具有MPU保护设定访问规则,612个时钟周期, 1MBit *2 的SRAM(ISSI),工作频率为高达72MHz,128M字节NADN Flash(SAMSUNG),内置高速存储器(高达512K字节的闪存和64K字节的SRAM)。丰富的增强I/O端口和联接到两条APB总线的外设。包含2个PWM定时器和4个通用16位定时器、3个12位的ADC,还包括先进和标准的通信接口:多达3个SPI接口、2个I2C接口、2个I2S接口、5个USART接口、1个SDIO接口、2个USB接口和1个CAN接口。Cortex-M3处
25、理器包括了以下组件:1:处理器内核。这一款中断延迟短,门数目少的处理器具有以下特点:. ARMv7-M:采用Thumb-2 ISA子集,包含全部基本的32位和16位Thumb-2指令集,可用于多媒体,E(DSP),SIMD和ARM系统访问的功能除外。. 只有分组的SP . 硬件除法指令,有UDIV和SDIV(Thumb-2指令). 线程模式和处理模式. 调试状态和Thumb状态. 可继续-可中断的LDM/STM,PUSH/POP,有着较低中断延迟时间。. 恢复处理器状态和自动保存,可以实现以低延迟地退出和进入中断响应程序(ISR)。. 支持ARMv6架构BE8/LE . ARMv6非对齐访问2
26、: 嵌套向量中断控制器(NVIC)。它与处理器内核有着紧密联系能够实现低延迟中断处理程序,它具有如下特性:. 外部中断可配置为1240个. 优先级位可配置为28位. 中断优先级可以动态地再配置. 优先级分组。分为非占先中断等级和占先中断等级. 支持末尾连锁(tail-chaining)和迟来(late arrival)中断。这样,在两个中断之间没有多余的状态保存和状态恢复指令的情况下,使能背对背中断(back-to-back interrupt)处理。. 处理器状态在进入中断时自动保存,中断退出时自动恢复,不需要多余的指令。3: 存储器保护单元(MPU)。MPU功能可选,用于对存储器进行保护,
27、它具有以下特性:. 8个存储器区. 子区禁止功能(SRD),实现对存储器区的有效使用。. 可使能背景区,执行默认的存储器映射属性。4: 总线接口. AHBLite ICode、DCode和系统总线接口. APB专用外设总线(PPB)接口. Bit band支持,bit-band的原子写和读访问。. 存储器访问对齐. 写缓冲区,用于缓冲写数据。5: 低成本调试解决方案,具有以下特性:. 当内核正在运行、被中止、或处于复位状态时,能对系统中包括Cortex-M3寄存器组在内的所有存储器和寄存器进行调试访问。. 串行线(SW-DP)或JTAG(JTAG-DP)调试访问,或两种都包括。. Flash修
28、补和断点单元(FPB),实现断点和代码修补。. 数据观察点和触发单元(DWT),实现观察点,触发资源和系统分析(system profiling). 仪表跟踪宏单元(ITM),支持对printf类型的调试。. 跟踪端口的接口单元(TPIU),用来连接跟踪端口分析仪。. 可选的嵌入式跟踪宏单元(ETM),实现指令跟踪。工作于-40C至+105C的温度范围,供电电压2.0V至3.6V,微控制器适合于多种应用场合:(1)汽车导航和应用控制 (2)医疗机械设备 (3)PC游戏外设和GPS平台 (4)工业应用:可编程控制器(PLC)、变频控制器、示波器和遥控器 (5)家电控制、汽车电子、和暖气通风空调系
29、统等3.2 NEF24L01射频通信芯片NRF24L01是北欧公司最近研发的一款无线通信通信芯片。采用FSK的调制,内部集成北欧自己的增强型短脉冲协议。工作在ISM 频段的2.4GHz2.5GHz单片无线收和发器芯片。无线收发器有以下模块组成:1.频率发生器,2.增强型“SchockBurst”模式控制器,3.功率放大器,4.晶体振荡器,5.调制器和解调器。可以实现点对点或是1对到6对的无线通信。无线通信速度可以达到2M/s。极小的电流消耗:当NRF24L01工作在发射模式时发射功率为0dBm而电流消耗只有为9.0mA ,工作在接收模式时为12.3mA,当在待机模式和掉电模式下电流消耗更低。N
30、RF24L01的系统框图如图2所示,从应用控制者的角度来看,我们需要关注的是图3.2.1右面的六个数据和控制信号引脚,分别为CE、IRQ、MOSI、MISO、SCK、CSN。CSN:NRF24L01的片选线,当CSN为低电平时芯片工作。SCK:NRF24L01控制的时钟线(SPI通信时钟)MISO:NRF24L01控制数据线(主输入从输出)MOSI:NRF24L01控制数据线(主输出从输入)IRQ:NRF24L01的中断信号。无线数据传输过程中微处理器主要是通过检测此引脚与NRF24L01进行响应。CE: NRF24L01芯片的模式控制线。 在CSN为低的情况下,CE协同芯片的CONFIG寄存
31、器共同判别NRF24L01的状态模式(可以参照芯片的状态机)。图2 NRF24L01系统框图NRF24L01的状态机见图3 所示,对于NRF24L01的软件编程工作主要是参照NRF24L01的状态机。主要有以下几个状态Power Down Mode:掉电模式,在掉电模式下。nRF24L01各功能关闭,保持电流消耗最小。在进入掉电模式时,设备处于不工作状态,但是所有寄存器的内容依然存在。同时,SPI口也有可能处于被激活状态。掉电模式是由CONFIG寄存器中的PWR_UP位来控制的。Tx Mode:发射模式,发射时,工作电流只有9.0mARx Mode:接收模式,接收模式时工作电流只有12.3mA
32、Standby-1Mode:待机1模式Standby-2 Mode:待机2模式,待机模式是用来最大限度地减少平均电流消耗,同时保持较短的启动时间。这种模式下,晶振是正常工作的。在待机模式下,部分时钟缓冲器处于工作状态。当 CE为高电平且发送端TX FIFO为空时进入待机模式。在待机模式期间,配置字内容仍然存在。SPI接口有可能处于被激活状态。图3 NRF24L01的状态图3.3 MAX232串口通信芯片美信(MAXIM)公司的MAX232芯片是专为RS-232串口标准设计+5v单电源供电的电平转换芯片。MAX220MAX249系列芯片为线驱动器/接收器,是专为EIA/TIA-232E和V.28
33、/V.24通信接口标准设计的,尤其是对于无法提供标准12V电源的应用。这些芯片特别适合于电池供电的系统,这是归功于其低功耗的关断模式,此模式可以将功耗缩减到到5uW以内。该芯片符合 TIA/EIA-232-F 的标准,每一个接受芯片将 TIA/EIA-232-F 电平转换成 5V的 TTL/CMOS 电平。每一个发送芯片将 TTL/CMOS 电平转换成 TIA/EIA-232-F 电平。主要特点1、单 5V 电源工作2、 LinBiCMOSTM 工艺技术3、 两个发送器及两个接收器4、 3V 输入电平5、低电源电流:典型值是 8mA6、符合甚至优于ITU 推荐标准的V.28及ANSI的标准 E
34、IA/TIA-232-E 7、静电释放保护超过 MIL-STD-883(方法3015)标准的2000V内部结构大体可以分成三部分:第一部分是电荷泵提供电路。由I, II, III, IV, V, VI脚和4只电容构成。功能是产生+12V和-12V两个电源,提供给RS-232串口电平的需要。第二部分是数据传输通道,由VII, VIII, IX, X, XI, XII, XIII, XIV构成两个数据通道。其中XIII脚(R1IN), XII脚(R1OUT), XI脚(T1IN), XIV脚 (T1OUT)为第一数据通道。VIII脚(R2IN), IX脚(R2OUT), X脚(T2IN), VII
35、脚(T2OUT)为第二数据通道。TTL/CMOS数据从X脚和XI脚输入MAX232,并转换成TIA/EIA-232-F 电平从XIV脚和VII脚送到电脑DP9插头;DP9插头的TIA/EIA-232-F 电平从XIII脚和VIII脚输入MAX232并转换成TTL/CMOS数据后从XII脚和IX脚输出。第三部分是供电。XV脚DNG,XVI脚VCC(+5V)。图4 MAX232原理图3.4 移位寄存器74HC595M74HC595是一个八位串行输入,平行输出的位移缓存器。在时钟信号的上升延,串行数据由数据端口输入到芯片内部的八位移位缓存器,然后由Q7串行输出。并行输出则是在时钟信号的上升延,将在八
36、位移位缓存器的数据存储到八位数据并行输出的缓存器,当使能的控制信号号为低时并行输出输出数据,这些数据是并行输出缓存器所储存的数据。而当使能的控制信号为高时,并行输出端会保持在高阻抗状态,也就是关闭输出。参考数据:100MHz的移位频率8位串行或并行输出Cpd决定动态的能耗Pd=CpdVCCf1+(CLVCC2f0)F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压图5 M74HC595脚位图脚位说明:脚位名称功能说明GND控制逻辑及驱动电流之接地端。SDI输入至位移缓存器之串行数据输入端。SCK位移缓存器的串行输入的时钟讯号;资料位移会发生在SCK的上升缘。LCK平行输
37、出缓存器的数据撷取时钟讯号。在LCK的上升缘,八位平行输出缓存器会撷取八位位移缓存器上的数据Q0Q7平行输出端。OE输出致能讯号端。(低电位使能)当OE是低电位时,即会启动Q0Q7输出,也就是输出值等于平行输出缓存器的值。当OE是高电位时,Q0Q7输出则处于高阻抗状态。Q7串行数据输出端。SCLE清除位移缓存器;当SCLR是低电位时,则会将位移缓存器的内容清为零。VDD清除位移缓存器;当SCLR是低电位时,则会将位移缓存器的内容清为零。3.5 信号收发器74HC24574HC245是一种三态输出、八路信号收发器,主要应用于消费类电子产品中增加驱动,比如在LED显示屏中作为信号功率放大芯片。器件
38、特点:采用标准的CMOS工艺;工作电压范围宽:3.0V5.0V;双向三态输出;八线双向收发器。图6 74HC245引脚图符号引脚名称管脚号说明A0-A7数据输入/输出2-9B0-B7数据输入/输出11-18OE输出使能19DIR方向控制1DIR=1,B-A;DIR=0,A-BGND逻辑地20逻辑地VCC逻辑电源10电源表2引脚定义输出使能方向控制工作状态OEDIRLLBn输入,An输出LHAn输入,Bn输出HX高阻态表3 功能真值表图7 74HC245逻辑框图图5 系统硬件设计5.1 各功能实现原理5.1.1 led显示原理发光二极管(LED),是一种把电能变成光能的特种器件,主要由PN结芯片
39、、电极和光学系统构成。当系统受到外界激发后,会从稳定的低能态跃迁到不稳定的高能态,当系统由不稳定的高能态重新回到稳定的低能态时,能量差以光的形式辐射出来,就会产生发光现象。当在PN结上加以正向电压之后,P区的空穴注入至N区,N区的电子注入至P区,相互注入的电子与空穴相遇后即产生复合,这些多数载流子在结的注入和复合中产生辐射而发光。它是自发辐射发光,不需要较高的注入电流产生粒子数反转分布,也不需要光学谐振腔,发射的是非相干光。5.1.2 点阵LED显示屏的外观和引脚3216点阵LED显示屏由512个LED发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上。它的外观形状如图5.1.1所示
40、,内部结构如图5.1.2所示。且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮。图888点阵LED显示屏大小及引脚图9 88点阵LED显示屏内部结构5.1.3 驱动模块LED显示屏的列驱动电路主要由芯片74HC595构成,74HC595由一个8位输出锁存器和一个8位串入并出移位的寄存器构成,并且移位寄存器和输出锁存器的工作是互不受的影响,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移
41、位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。SCLR信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QAQH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH,作为
42、与移位寄存器完全同步的级联输出。5.2 具体硬件电路实现5.2.1 电源电路本设计只需3.3V电源供电,系统电源模块由AMS117-3.3将5V转换为3.3V电源。当连接5V电源是LED灯点亮。 图10 电源电路5.2.2 时钟电路系统时钟电路采用8MHZ的HSE晶体作为振荡器晶振。如图11所示,由Y2(HSE晶振)、C8及C9电容构成系统时钟电路。HSE晶体可以通过设置时钟控制寄存器里RCC_CR中的HSEON位被启动和关闭。实时时钟电路选择LSE时钟模式,如图5.2.2所示,由Y1(LSE晶振)、C5及C7电容构成LSE旁路,提供一个32.768kHz频率的外部时钟源。LSE晶体是一个32
43、.768kHz的低速外部晶体或陶瓷谐振器。它为实时时钟或者其他定时功能提供一个低功耗且精确的时钟源。 图11 时钟电路5.2.3 启动模式选择电路表3所示,STM32F103VET6有三种不同启动模式,通过BOOT1:0引脚可以选择。如下表3所示。在系统复位后,SYSCLK的第4个上升沿,BOOT引脚的值将被锁存。此时可以通过设置BOOT1和BOOT0引脚的状态,来选择在复位后的启动模式。启动模式选择引脚启动模式说明BOOT1BOOT0X0主闪存存储器主闪存存储器被选为启动区域01系统存储器系统存储器被选为启动区域11内置SRAM内置SRAM被选为启动区域 表3启动模式 图12启动模式电路5.
44、2.4 复位电路当以下事件中的一件发生时,STM32F103VET6产生一个系统复位:1. NRST引脚上的低电平(外部复位) 2. 窗口看门狗计数终止(WWDG复位) 3. 独立看门狗计数终止(IWDG复位) 4. 软件复位(SW复位) 5. 低功耗管理复位这里在硬件上当我们按下开关S2时,将致NREST端口为低电平产生系统复位。 图13 复位电路5.2.5 RS-232电路 本设计的串口通信电路选用美信(MAXIM)公司的MAX232芯片,此电路实现与计算机的相互通信。MAX232芯片共有2个串口通信通道,但我只用了第二个通道。及STM32F103VET6的PA2TX与2IN,PA3RX与
45、2OUT。 图14 RS-232电路5.2.6 NRF24L01电路 图15 NRF24L01电路5.2.7 LED接口电路 LED接口有8*2个端口,以LED-IDE1为例,1接5V,3,4,7,9,11,13,15,接地,2为HC595的行选高位,4为HC595的行选地位,8为HC59的5数据输出使能位,12为HC595的数据输出时钟位。图16 LED接口电路5.2.8 按键电路按键电路共有4个按键S1-S4,分别与单片机的PA8,PA9,PA10,PA10连接。 图17 按键电路6 系统软件设计6.1 开发环境介绍开发环境用的是KeiluVision4, KeiluVision4是ARM公司研发的的ARM开发工具,是专门用于开发基于ARM内核的微控制器的嵌入开发环境。不同层次的开发者都能较好的运用,从单片机初学者到高级嵌入式工程师。KeiluVision4集成了编译器、汇编器、链接器、调试器和仿真环境、开发库等组件,完美支持基于ARM的所有芯片。KeiluVision4开发环境集成的有用工具非常多,学习正确的在项目运用它们,可以有利于提