CE业控制计算机}2017年第30卷第8期 基于STM32最小系统串口通信显示系统设计 Minimum System and Design of Serial Communication Display System Based on STM32 刘 宁 陈冬琼 杨克磊 (昆明五威科工贸有限公司,云南昆明650106) 摘要:介绍了水下运载器基于STM32最小系统串口通信显示的基本组成,详细介绍了STM32的最小系统电路设计。 给出了最小系统的电路原理图。选用北京迪文科技有限公司的串口智能显示终端DMTIO6OOT070_2W作为图像显示设备, 详细介绍了DGUS屏显示菜单的组成,显示菜单的基本结构等。实验证明采用该系统设计的液晶屏幕灵敏可靠,具有很好 的稳定性,实用价值很高。 关键词:STM32,串口通信,显示屏 Abstract:In this study,the minimum system and design of serial communication diaplay system based on stm32 of the underwater vehicle is introduced.This paper detailed describes the minimum system of STM32,the circuit diagram of the minimum system is given.The Beijing dwin Technology Co.Ltd.DMT10600T070-_2W is selected as the image display device. The composition of the DGUS screen display menu is described. Keywords:STM32,serial communication,LCD 本文所研究的水下运载器是一种由身着自携式潜水装具的 STM32F103RCT6,该处理器是基于ARM Cortex—M3内核的32 潜水员在水下操控骑行的电动力推进辅助设备,该设备能够为 位微控制器,性能稳定,功耗低,成本低。STM32F1O3RCT6具有 水下执行搜救任务的潜水员提供助推力,节省潜水员体力,提高 64个IO端口,内置高速存储器(256k的Flash和48k的SRAM) 任务执行效率。液晶显示器作为人机接口的重要设备,与 以及ADC、SPI、TIMER、UART等模块,主频可达72MHz,具有 STM32微处理器连接,辅以其他电路,构成了具有功能强、结构 较高的性价比,完全能满足设计和工业生产要求。 简单、操作方便的人机交互系统。通过该液晶显示界面可以完成 2-2核心处理器的外围电路设计 各种指令的发送,实时显示运载器的各种运行状态,实现对水下 本文以STM32F103RCT6微处理器为核心的外围辅助电路 运载器的整个运动过程的监控。本文基于STM32串口通信的液 主要包括时钟电路、复位电路、滤波电路、电源电路、调试接口、串 晶显示,实现了航向角偏差显示、深度显示、电机转速显示、电池 行通信接I:1等电路。STM32F103RCT6具有8MHz的内部高速 电量显示、深度报警显示、电量过低报警显示、航向设定、过流设 RC振荡器,也可以采用外部时钟,本系统采用8MHz的外部时钟 定、过压设定、深度设定以及设备编号、电池编号和累计运行时 供给,外部低速的32.768k的晶振主要作为RTC时钟源[2]。 间的显示。设计的电路结构简单,实验证明液晶屏幕灵敏度高可 STM32F103RCT6的工作电压范围为2.OV~3.6V。本系统中微 靠性良好,具有很好的稳定性和较高的工业使用价值。 处理器的工作电压为3.3V。 1 串口通信液晶显示硬件系统设计 该系统供电电源为12V直流电源,通过LM7805电路将电 本系统设计中水下运载器在水中运行过程中需要实时获取 压稳定 ̄U+5V。LM7805芯片是三端正电源稳压电路,最大输出 运载器的航向、深度、转速等信息,要求选取的微处理器需具有较 电流为1.5A,具有优异的线性和负载调整率。+5V电压通过三 高的处理能力,较多的通信接口满足应用。如图1所示,硬件系统 端稳压芯片AMS1 1 17—3.3将电压转换为+3.3V为主控芯片、串 包括运载器主控板、供电电路、通信接口电路、STM32F103RCT6 口电路和其它的外围电路供电。电源电压转换过程中需要进行 微处理器以及SD卡存储器等模块电路。该系统使用RS485通 滤波处理,+12V转+5V的电路中,需要在+12V输入端加入 信协议实现水下运载器总控板与STM32F103RCT6微处理器之 1O01 ̄F的电解电容,+5V的输入端加入IO0 ̄F的电解电容,+ 间的信息传递,微处理器STM32F103RCT6与DGUS屏之间通 5V输出端加入471 ̄F的电解电容。在+12V转+5V的电路中前 过RS232进行通信,SD存储器用于存储液晶显示屏幕的图像。 后接两个并联的1041 ̄F的钽电容。在该STM32中有3组 LCD液晶显示 VDD/VSS管脚和一组VDD ,\,SSA管脚。在芯片的外部需要 RS2321 将所有的VDD和VSS相连接,漏接的话很容易造成线路的损 坏,降低芯片的抗干扰能力,并且每对VDD与VSS都必须在尽 可能靠近芯片处放置一个1041 ̄F的瓷介电容。 RS485 STM32F103ZET6 微处理器 在STM32F103RCT6中,提供了BOOTO和BOOT1两个 管脚用于三种启动模式的选择,本系统采用的是从用户闪存启 动模式。三种启动模式对应的芯片内置的存储介质分别是:①用 童 户闪存启动对应的是芯片内置的Flash存储器;②SRAM,即芯 片内置的RAM区;③系统存储器。三种启动模式的配置如表1 {............__ 图1 基于STM32串口通信的控制与显示系统 所示。 2硬件构成 STM32支持两种调试方式,J.『AlG仿真调试和串行单线调试 2.1主控芯片的选取与设计 SWD。标准的J_f_AG接口需要5根信号线(TDO、TDI、TCK、NRST、 本文硬件系统的微处理器选取的是ST公司生产的 TMS)和硬件复位RST信号。本文采用SWD调试,调试电路如图 基于STM32最小系统串口通信显示系统设计 表1启动模式配置 启 模式选择l』l脚 心动模式 BCX)r0 l I{(X)l'1 机、PLC、DSP、ARM等,MCU只需要有串口,就可以实现该设 说明 备与终端的连接、控制。DMT10600T070—2W的尺寸为8寸,分 辨率为800x600,控制器为K600。DMT10600T070—2W的串口 x l 0 0 l 1 1 I l 嫩 n 嘲 lF常的启动模式 系统仃储器 船动桂序的功能由J家设定,用于串r1 ISI 山1I聱SRN ̄I 该启动模式 J以用十调试 模式为全双工异步串口,采用的是8N1(1个起始位,1个停止 位,8个数据位,没有校验位),波特率为1200 115200bps。 DMT10600T0702W的字库空间为32MB,6O个宇库,图片存 —2所示,SWD只需1根时 钟信号线(SWCLK)和1 根数据信号线(SWDIO), 不仅提高r调试速度,减 储空间为96MB,用户串口访问的存储空间最大为32MB 、表 2所示为液晶屏的用户接口。本文所采用的RS232串¨驱动液 晶屏接口电路原理图如图4所示。 表2 DMT10600T070—2W的用户接口 引脚名称 vCc BUSY DOUT DIN GND 少l『GPlO的使用,而且 节省PCB的空间和布线 难度。在该设计中为了降 低功耗保护内部接¨ SWDIO和SWCLK分别 通过1Okn的上拉电阻 引脚编号 说明 1.2 供电电源输入 3 串u缓冲区满信号指求 4 u输出 5,6 7,8 L=I输入 公共地 和1Okn的F批电阻接 到VCC和地端 片机在实际应Jfj中 图2 SWD下载调试电路 都要和其他部件连接,通 常采取串行通信..本设计中,采用的是RS485通信芯片实现与其 它芯片之问的信号连接。RS485属于OSl模型物理层,电气特性 规定为2线、半烈 、多点通信 :。本系统的RS485通信电路图如 图3所示 往实际的运用过程中,由于现场情况会十分复杂,各个 节点之间存在很高的共模电压 虽然RS485接口采用的是差分 传输方式,具钉一定的抗共模干扰的能力,担当共模电压超过 RS485接收器的极限接收电压,即大于+12V或小于一7V时,接 受器就再也无法i=F常lI:作,甚至会烧毁芯片和仪器设备。通过 DC-DC将系统电源和RS485收发器的电源隔离;通过隔离器件 图4 RS232串口驱动液晶屏接口电路原理图 DGUS具有强大的数据处理和图形处理功能,被广泛运用 将信号隔离,彻底消除共模电压的影响。本设计中采用的是 BXT2WR2和HCPL一091J实现上述隔离功能。电路原理图如 于工业控制系统。DGUS屏幕通过标准串13直接与CPU连接组 成人机交互界面。DGUS屏幕主要用于显示工业图形,与现实生 活中的手机屏,电脑电视液晶显示屏幕有很大的区别。普通商业 一3所示 中的屏幕通过点击屏幕来控制系统的运行 ,DGUS屏拥有自己 的CPU控制器和内置操作系统,能通过对数据的实时变化完成 系统的监视功能,具有很高的稳定性,能适应环境恶劣的工业现 场运用。 北京迪文科技有限公司开发了DWlN配置工具,用户可以进 行图片、字库、图标等添加,并且设置各个变量的存取以及与生板 CPU之间的通讯。本系统的菜单翻屏功能由按键的操作来完成。具 圈3 RS485通信电路 体的图形界面如图5所示,液晶显示页面共14页,大致可以分为: 矗 篡 嚣 漂熹0逞 w ……如图3所示,隔离RS485接13电路由两个完全独立的电源 供电,一是3.3V或5V的系统供电电源Vddl;二是RS485总线 部分的供电电源Vdd2,・般为5V。两路电源的地线之间是完全 隔离的,往这咀使用隔离的DC—DC模块BXT2WR2实现。本 系统采用MAX3483EESA作为收发器,该芯片采用5V电压供 一 + ‘ . 。^蕊静 ● 0 越0霹培^0 i∞凰 、 ,…勺-囊曩. 一电,最大传输速度_口『达10Mbps。A、B总线接El用于连接485总 线,RO是接受输出端,DI是发送数据输入端,RE是接接收使能 信号(信号是低电 有效),DE足发送使能信号(高电平有效)。 本文中将STM32F103RCT6和水下运载器总控板的RS485接 bl相连接,实现两块板之问的通信。R7和R10是两个偏置电 阻,用来保证总线卒闲时,AB之间的电压差都会大于200mY避免总线空闲时 差小定逻辑混乱。 3 RS232串口驱动液晶屏接口设计 . 图5 DGUS触控及变量配置 1)菜单屏:菜单屏即显示主屏。主要包括航向角偏差显爪、 本系统使 ff】北隶迪文科技有限公司的串口智能显示终端 DMT10600T0702W作为图像显示设备,对所有的PC、单片 深度、电机的转速、电池电量显示以及深度报警、电城过低报警. .(下转第36页) 基于DDS的增量式PID闭环控制算法在FPGA中的实现 原因成为工业自动控制领域的主导控制算法之一,其控制结构 图如图4所示。实质是以设定的输入初值rin(k)与实际输出值 yout(k)之差:e(k)=r(k)-y(k)作为输入,控制调节输出u(k), 对被控对象实施实时控制。 1 .正弦波信号的发生、跟踪响应试验研究。由于受硬件所限,本实 验研究采取将实际采集到的实时数据首先进行存储、转换,最后 结合Matlab 2009b软件完成试验仿真。 _f二 J 一 ¨ .墨o ; .f f }y 图4增量式PID控制系统结构图 ■嗍 增量式PID控制算法如下所示: 图6阶跃、正弦信号仿真波形 u(f)= [e(})十手J e(t)dt+ _d_e( t)一] J u‘ (1) 实验结果表明:提出的基于DDS原理的波形发生器和增量 式PID闭环控制算法在FPGA中的实现研究,能够产生期望的 其中K。为比例系数;T.为积分时间常数;1Id为微分时间常 数。然而基于FPGA的控制系统是采样控制系统,只能根据采样 波形输出,并结合增量式PID闭环控制算法能够对输出波形进 度等方面有待进一步研究。 5结束语 行实时动态调整,但在超调量、稳态误差、动态响应时间、控制精 时刻的偏差值计算控制量。因此,不能直接使用连续PID控制算 法,需要采用离散化方法,没计成数字PID控制器,具体离散推 导在此不做详述。 本文旨在克服传统波形发生与实际应用中的不足,设计完 本模块主要由三个乘法器和一个加法器组成,采用宏功能 自定义模块LMP叶-的LMP—MULT自定义模块来实现的,然后 成一种基于DDS原理的波形发生与增量式PID闭环控制算法, 最终在实验平台完成数据获取,在Matlab软件实现仿真。证明 送入到三个乘法器,与由偏差求取模块送来的e(k)、e(k一1)和 了硬件电路设计及VerilogHDL语言编程的正确性,验证了在 e(k一2)相乘,再经一个加法器,最终完成增量式PID控制算法 的输出结果u(k),FPGA内部实现原理图如图5所示,并在Quar- tus II中完成RTL级Verilog HDL语言编程。 rCk) r一一一一一 …FPGA上实现任意波形发生并实现增量式PID闭环控制算法完 成控制的可行性,具有集成度高、可靠性高、稳定性好和扩展性 的开发空白。 强等优点,填补了利用单片FPGA芯片满足相应功能需求应用 y(时 一一一- …一一一- I 一● ● 司 h 流水线 攫 求取傧差 2008.20:14-27 , 一 参考文献 [1]赵贵,魏巍,陈虎.三种PID控制的性能比较[J].中国矿业大学, 磊水 2处理 [2]张妮.高频疲劳试验机动态特性的研究[D]杭州:浙江工业大学, 2009 i \、 4实验结果与分析 / ●矗u(k) 秉嘏礞和 [3]唐玉蓉.基于FPGA的高速数据采集系统的设计与实现[D]北京:北 京邮电大学,2012 图5 FPGA内部实现示意图 [4]肖忠祥.数据采集原理[M].西安:西北工业大学出版社,2001:31-37 用,2003(6):68—71 [5]李刚强,田斌,易克初.FPGA设计中关键问题的研究[J]电子技术应 试验研究采用AItera公司生产的Cyclone ll系列EP2C20一 Q240C8N作为主控制芯片,并结合AD转换器AD7888、DA转 换器DAC0832完成整个试验研究平台的搭建,完成阶跃信号、 ・◆_◆”◆一◆・・◆一◆・・◆_....H◆一+-+m—・● 一◆一 [收稿日期:2016 12.15] (上接第34页) 参考文献 滨工程大学,2011 Technology Design for AC servo Motor Based on STM32 M__ 2)设定屏:在规定范围内设置控制过程中的各种种参数。本 系统中主要包括航向设定、过流设定、过压设定和深度设定。 [1]钟多就.蛙人运载器导航与控制系统关键技术研究[D].哈尔滨:哈尔 3)设备参数显示屏。主要包括设备编号、电池编号和累计运 行时间的显示。 [2]Yong Sang,Fengtao Li,Yuebang Dai,et a1.The Practical Control 本文中DGUS屏幕与主控芯片STM32F103RCT6通过串 口3相连接。由于DGUS屏采用的是1一rL电平,在与主控芯片 连接时直接连接,不需要电平转换芯片。 cro—controller[C]//2015 IEEE Advanced lnformation Techno1. 2015) SCM and PC Serial Communication Pr0gram Design[J].Ad— vanced Materials Research.2013,629:667—670 ogy,Electronic and Automation Control Conference(IAEAC DGUS通信协议:迪文DGUS屏的串口数据帧由4个数据 块组成。串口的所有指令或者数据都是16进制。 4结束语 [3]Yun Yang,Yue Zhu.Based on Serial Port Class Implements of [4]北京迪文科技有限公司.迪文GDUS屏用户开发指南[DB/0L] V40 pdf sTM32微处理器各方面的性能均优于51单片机,本文基 于STM32F103设计了具有串口通信的硬件电路系统,对北京 http://www.dwin com.cn/upl0ads Ie/迪文DGUS屏开发指南 迪文科技有限公司的串口液晶屏的串口通信的硬件电路进行了 介绍,通过DWIN配置工具完成屏幕的变量配置及系统配置,实 现DGUS串口屏与主控芯片STM32F103RCT6的通信功能。 [5]胡小颖基于DWIN DGUS屏的铅酸电池智能再生系统HMl设计 [J].信息系统与工程,2014(7):23—24 [收稿日期:2017 4 14]