住宅小区信息发布系统本科毕业设计(编辑修改稿)内容摘要:

单、速度快。 考虑到难易程度和读写速度,最终采用了 SRAM 作为显存。 设计时采用的显示器分辨率是 1024x768,刷新率为 60Hz, VGA 信号频率为65MHz,使用 RGB565来表示像素颜色。 1024x768的分辨率要求存储器至少有 768KB的存储空间, 65MHz 频率要求显存具有优于 (1/65MHz)=15ns 的读写速度, RGB565要求存储器的存储单元最好是 16 位。 IS61WV102416BLL 具有 1024K 个位宽为 16 位的存储单元,读写速度为 10ns,完全满足设计要求。 RGB 三基色生成方案 在标准 VGA 协议中 RGB 三基色电压为 0V~,是模拟量。 而无论是单片机还是 FPGA,其 I/O 口输出的都是数字 量,所以需要一种将数字量转换成模拟量的措施。 可采用专用的视频 DAC 芯片,例如 ADV7123, GM7123 等芯片。 这类 DAC 专门为 VGA 接口打造,自带 3 个分离的 10 位数据输入端口,由信号 SYNC 和 BLANK分别控制同步和消隐功能。 分辨率最大支持为 1600 1200,刷新率为 100Hz。 芯片很强大,性能也很好,在实际应用在首选此方案。 然而,使用这类芯片,会让 VGA 接口蒙上一层面纱,不利于理解,而且这类芯片价格也不便宜,故最终决定,采用电阻网络将数字量转换成模拟量的方案。 微处理器方案 本设计采用 STM32F103ZET6 作为微处理器。 MCS51单片机的管脚数量、处理速度,片内资源、自带功能等都不能满足本系统的要求,故未采用 MCS51 单片机作为微处理器。 STM32F103 系列属于 ARM CortexM3 内核,增强型 32 位微处理器,该系列有规格不同的多个型号,引脚数量从 64 个到 144 个, FLASH 容量从 16KB 到 1MB,SRAM 容量从 6KB 到 96KB。 桂林电子科技大学毕业设计(论文)报告用纸 第 9 页 本系统选用的 STM32F103ZET6 具有 144 个引脚, 512KB FLASH 和 64KB SRAM的资源。 片内外设有 3个 SPI/I2S, 2个 I2C, 5 个 USART, 1 个 全速接口,1 个 CAN 总线接口, 3个 12位 16 通道 ADC, 2 个 12 位 DAC,资源非常丰富。 其时钟频率可由自带的 PLL 锁相环电路对晶振倍频,最高可达 72MHz,速度是 MCS51单片机的 72 倍,基本可以满足显示静态图片的要求。 在确定采用 FPGA 作为 VGA 时序的控制芯片之后,对 FPGA 有了新的认识,发现完全可以用 FPGA 实现 UART、 SPI 等功能,用状态机来更新 SRAM 也比使用 STM32通过外部中断的方式更新 SRAM 快速, FPGA 内部也有足够的存储空间。 采用 FPGA独立工作的方案, 甚至能实现更加优秀的显示效果。 但是初学 FPGA,暂时不能实现以上难度较高的功能。 若采用 STM32+FPGA 的方案, STM32 负责写 SRAM, FPGA 负责读 SRAM,则思路清晰,易于实现。 采用单片机结合 FPGA 的方案完成毕业设计,是对单片机知识的总结,也是对 FPGA 知识的初步尝试。 故采用 STM32+FPGA 的方案。 通信总线方案 本设计采用 2片 MAX485 和 2片 SP3485 搭建全双工串口通信电路。 虽然一般在远程自动工控环境中,采取的是半双工通信,但是有些场合还要求设备节点能及时响应主机的命令,需要采 取全双工的串行数据通信。 [5] 电脑与单片机常见的通信方式有: ①:使用 USB 转 UART(异步收发传输器)芯片。 USB 端的 TXD、 RXD 分别与单片机端的 RXD、 TXD 相连, USB 地线和单片机地线相连。 这种通信方式最简单,成本最低,短距离时通信速率快,为全双工。 学习串口、调试串口时通常采用这种接法。 但是 UART 之间直接相连,导致了这种接法在长距离通信时,信号衰减严重,不适合用于长距离通信。 ②:使用 USB 转 UART, UART 转 RS232 芯片,如 MAX232。 此类芯片可以将 TTL电平( 0V~5V)转换成 RS232 电平( +15V~15V)。 但是, RS232C 最大通信距离仅为 15m, 同时 RS232C 是点对点 (即只用一对收、发设备 )的通信 , 因此 PC 机无法直接对多个下位机进行远离通讯和管理。 [6]不满足小区信息发布系统的要求。 ③:使用 USB 转 UART,UART 转 485 芯片,如 MAX485。 这类芯片能把 TTL 电平转换成差分电压信号。 芯片的 A端和 B端为差分信号端 ,当 A引脚的电平高于B 时,代表数据 1;当 A 的电平低于 B 端时,代表数据 0。 差分方式传输数据,能把通信距离延长至几十米至上千米。 RS485 标准抗干扰能力强 ,传输速率高 ,传送距离远 .采用双绞线 ,不用 MODEM的情况下 ,在 100kbit/s的速率时 ,可传送的距离为 ,若速率降到 9600bit/s,桂林电子科技大学毕业设计(论文)报告用纸 第 10 页 则传送距离可达 15km.[7] RS485 总线以其构造简单,造价低廉,可选芯片多,便于维护等特点在许多工业控制的系统中得到广泛的应用。 [8]因此,本设计采用此方案。 单片 MAX485 只能实现半双工,故采用两片 MAX485 芯片,一片负责接收,一片负责发送,实现全双工通信。 存储方案 本系统采用 Micro SD 卡作为主要存储。 在单片机设计中,常用的存储芯片 有 EEPROM 类的 AT24Cxx 系列, FLASH 类的 W25Qxx 系列。 然而,本系统字库总大小可达 78MB 以上,加上图片的存储区,这两个系列的存储器已经无法满足设计要求。 Micro SD 卡,广泛应用于手机、平板、相机等数码产品中。 其容量以 GB 为单位,有 4GB、 8GB 到 64GB。 Micro SD 卡,可以支持 SPI 协议。 STM32 自带 SPI接口,操作 Micro SD 卡高效、简便。 上位机开发软件选择 上位机一般指的是 PC 机也就是电脑,下位机指的是单片机。 在电脑上,每一个软件都可以称为一台仪器,所以这里的 上位机指的运行在电脑上的一个软件,这个软件利用电脑的硬件资源,可实现多种多样的功能。 上位机开发软件有很多,有 VC、 VB、 DELPHI、 .NET、 LABVIEW、 C++Builder等。 在大学课程中,接触过 VC 和 LabVIEW。 拿这两款开发软件做比较,容易发现使用 LabVIEW 制作上位机比使用 VC更加方便、美观。 LabVIEW 是一种基于图形编程语言的开发环境。 它与传统编程语言有着诸多相似之处,如相似的数据类型、数据流控制结构、程序调试工具等,但二者最大的区别在于:传统编程语言是用文本语言编程,而 LabVIEW 用图形语言(即各种图标、图形符号、连线等)编程。 [9]程序框图使用图形方式编写代码,使用函数选板中的 VI 和函数控制前面板上的对象。 [10] 使用图形符号编程,程序更加直观。 LabVIEW 具有丰富的控件,只需调用这些控件就能实现复杂的功能。 控件的位置可以随意安排、大小可随意调整,使得LabVIEW 的界面更加灵活、美观和个性化。 2 硬件设计 硬件框架 一共有四块电路板。 第一块: USB 转 485,包含 USB 转 UART 芯片、 12MHz 晶振、 2片 MAX485 芯片。 负责接收 STM32 发出的数据并将数据传 输给上位机,和向 STM32 发送数据。 第二块: STM32 模块,包含 STM32F103ZET6 微处理器、晶振、 稳压电源桂林电子科技大学毕业设计(论文)报告用纸 第 11 页 CH340G MAX485 发 MAX485 收 晶振 USB接头 485接头 SD接头 SD插座 按键 485接头 SD FLASH 稳压 CH340G SRAM 接口 复位 STM32 SP3485 x2 USB JTAG VGA接口 SRAM 接口 SRAM芯片 FPGA DC 插座 , 稳压 EPCS4 VGA电阻网络 图 硬件框架图 电路、 ISP( 在线系统编程 )下载电路、 SRAM 接口、 Micro SD 接口、 FLASH 存储器、按键。 负责接收上位机发送的数据、进行数据分析和存储、更新显存。 第三块: Micro SD 转接板。 负责连接 Micro SD 卡和 STM32。 第四块: FPGA 模块,包含 EP4CE6E22C8N FPGA 芯片、 EPCS4SI8N 程序存储芯片、 50MHz 有源晶振、 , 稳压电路、 JTAG 接口、 IS61WV102416BLL静态随机存储器、复位按键、 VGA 电阻网络。 负责读取显存,产生 VGA 时序和 RGB信号,并在场消隐期间向 STM32 发送可写显存的信号。 硬件框架图如图 所示: ① ② ③ ④ ⑤ 桂林电子科技大学毕业设计(论文)报告用纸 第 12 页 框图连线简介: ①: SD 转接板接入 STM32 上的 SD 接口。 ②:电脑端 485 芯片与 STM32 板载 485 芯片通过 4 根信号线相连。 ③: STM32 向 SRAM(显存)写入数据。 ④: FPGA 在场消隐期间产生低电平,通知 STM32 可以向 SRAM 写入数据。 ⑤: FPGA 从 SRAM 读取数据。 USB 转 485 模块 首先,通过 CH340G 芯片,将 USB 信号转换为 UART 的 RXD、 TXD 的 TTL 信号。 两片 MAX485,负责接收的为 R,负责发送的为 T。 则: R的 DE、 RE 引脚接地,设置为接收模式。 RO端接 RXD, DI 端悬空。 T的 DE、 RE 引脚由 电阻上拉到 VCC,设置为发送模式。 DI端接 TXD,RO 端悬空。 搭建好的全双工 485 电路如下图所示: 图 TTL 转 485 图 USB 转 TTL 桂林电子科技大学毕业设计(论文)报告用纸 第 13 页 STM32 数据处理电路 STM32 最小系统 让 STM32 芯片正常工作,需要 稳压电源电路、晶振电路、程序下载电路、复位电路。 稳压芯片采用 AMS1117。 其内部集成过热、过流保护电路,固定输出 电压,具有 1%的精度,最大输出 800mA 电流,采用 SOT223 贴片封装,体积小,非常适合作为 数字 IC 的稳压芯片。 主晶振采用 8MHz 49s 型无源晶振,晶振两端接 22pF 电容到 GND,为 STM32提供精准的时钟。 RTC 时钟采 用 无源晶振,晶振两端接 22pF 电容到 GND,若时钟走的较快,稍微加大电容,反之稍微减小电容。 其频率 即 32768Hz,即2 的 15次方,经单片机内部分频器进行 15 次 2 分频后,可生成精确的 1Hz 方波,即周期为 1秒的脉冲,这个脉冲信号,让计数器每秒加 1。 关于程序下载电路,未采用 JTAG 接口,因为 JTAG 接口占用 IO口,还需要额外购买仿真器,性价比较低。 所以,本设计采用串口的方式下载程序。 CH340G 是一种 USB 总线的转接芯片,可实现 USB 转串口、 USB 转 IrDA 红外和 USB 转 打印口等功能。 使用 电源时,将 V3引脚连接至 电源;使用 5V 电源时,将 V3引脚外接 电容到 GND。 在 STM32 模块中,采用 的接线方式。 相关电路图如下: 图 STM32 稳压电路 桂林电子科技大学毕业设计(论文)报告用纸 第 14 页 485 收发电路 为了不引人 5V 电压到 STM32 电路板中,采用 SP3485 这款 的 485 芯片。 其封装和接法和 MAX485 完全相同,官方数据手册称其最大支持 10Mbps 的通信速率,完全满足设计要求。 为了直观的观察数据的收发情况,在 RXD 和 TXD 引脚都图 STM32 程序下载电路 图 STM32 RTC 时钟电路 图 STM32 主晶振与复位电路 桂林电子科技大学毕业设计(论文)报告用纸 第 15 页 接入了 LED 指示灯。 W25Q64 FLASH 存储电路 在嵌入式应用上广泛用于字库的存储。 嵌入式平台大多采用分辨率较低的液晶屏,不需要大字号字库,而本设计使用 1024x768 分辨率的显示器,最大需要56x56p 像素的字号,一个 GBK 字库有 9,384,480 个字节,已经超出了 W25Q64 的存储范围。 所以,最后采用 Micro SD。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。