报刊分发自动显示系统开发文档.docx
- 文档编号:3715772
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:12
- 大小:1.13MB
报刊分发自动显示系统开发文档.docx
《报刊分发自动显示系统开发文档.docx》由会员分享,可在线阅读,更多相关《报刊分发自动显示系统开发文档.docx(12页珍藏版)》请在冰豆网上搜索。
报刊分发自动显示系统开发文档
“报刊分发自动显示系统”开发文档
一、分发流程概述
每个地州邮政局从贵州省邮政局通过TCP/IP网络下载当天应分发的报刊的电子数据到本地计算机,然后对当天送来的报刊进行分拆发送,具体是将每种报纸或杂志的刊号即日期输入到已下载数据的计算机,计算机屏幕自动显示出每个地方要投递的报刊数量,并在报刊柜上以LED形式显示出来。
由于其业务流程是将每一种报刊进行分拆,然后将每个地区应发送的报刊数量显示在计算机屏幕上,并通过数据线将要发送的数量以LED方式在每个格架的格口上显示出来(一个格口代表一个地区)。
所以,其网络拓扑结构如图1所示,一个报刊柜由一个单元控制器控制(也称集中器数据转发模块),计算机通过RS485总线控制各个单元控制器(也称集中器数据转发模块),单元控制器(也称集中器数据转发模块)再控制每个报刊柜的格口显示器。
也就是说,每个格口要显示的数据是通过计算机传送到单元控制器(也称集中器数据转发模块),再由单元控制器(也称集中器转发模块)将要显示的数据转发到每个格口显示器(即每个地区应分发报刊的数量)。
二、硬件系统构成
“报刊分发自动显示系统”由1台后台上位机管理和发送数据模块、多个集中器数据转发模块和多个前台显示终端模块三个部分组成。
每个上位机可以接1到多个集中器数据转发模块,每个分发格架有16个显示终端模块,1个报刊分发柜子(也叫分发格架)对应一个集中器数据转发模块。
后台上位机管理和发送数据模块是报刊分发人员和计算机系统进行直接交流的平台,报刊分发人员使用键盘输入报刊的代号、期数,功能键等信息,上位机从数据库中读出相应的报刊在不同地区需要发出的数量,将数据加上集中器数据转发模块地址以数据包形式通过RS485总线发出,集中器数据转发模块收到自己的数据包后,将其分组并根据规定协议加上显示终端模块的地址通过RS232串口发送给显示终端。
图1报刊分发自动显示系统示意图
三、数据的通信协议
3.1、后台计算机与集中器数据转发模块的通信协议
由图1示意图知,单元控制器(集中器数据转发模块)的功能是将后台计算机传来的数据进行转发给每个分发柜子(也叫分发格架),一个格架有一个单元控制器,每个格架对应16个格口,一个格口对应一个分发投递区。
由于后台计算机(PC机)控制多个单元控制器,协议使用广播方式进行通信,这就要求每个单元控制器必须有一个唯一的地址,我们使用一个字节来表示,规定如下:
11XXXXXY(X标识0或1,Y左右屏标识符,0为左屏,1为右屏)。
由于业务需求每个格口有左右屏显示,这里使用最低位为左右屏标识符。
中间5位就作为单元控制器的地址编码,最大有32个地址,即最多可控制器32个柜子,大大超过现在的业务需求,可满足以后的扩展。
左屏地址为C0,C2,C4,…CD,D0,D2,…DD,E0,…,ED,F0,…,FD,共32个;右屏地址为:
C1,C3,C5,…CE,D1,D3,…DE,E1,…,EE,F1,…,FE,共32个。
确定地址编码后,其通信协议规定如下:
PC机将通过串口依次以9600的波特率向每个柜子单元控制器的所有格口显示器发送数据,先发送每个单元控制器的地址,再发送每个单元控制器所控制的16个格口的数据。
为保证传输的可靠性,让每个数据都发送3次,单元控制器对收到的3个数据进行比较,3次中有两个数据相同则认为数据发送正确,增加了容错能力。
计算机通过串口向各单元控制器发送数据,每个单元控制器对收到的数据进行比较,看是否与本单元控制器地址相符,相符则接收所控制的16个格口显示器的数据,不符则丢弃此数据,继续接收。
由于后台计算机离每个单元控制器(单元控制器安装在分发格架上)有一定的距离,所以它们之间的物理层的数据传输使用RS485通讯协议,保证数据通信快速、可靠。
3.2、集中器数据转发模块与显示终端模块的通信协议
单元控制器(集中器数据转发模块)收到16个格口的数据后,要转发给16个格口的显示终端模块(显示器),因此,双方有约定的通讯协议,保证数据无误、可靠地传送。
单元控制器与显示器使用UART串口协议,也使用一对多的广播方式,具体为方式3(单片机工作方式3)。
每个格口的地址为:
左屏:
C0,C1,C2,…,CF;右屏:
E0,E1,…,EF。
四、硬件设计
4.1、集中器数据转发模块(单元控制器)设计
采用双单片机分工协作,左边STC12C2052为主片,右边为从片。
主片作用有通过识别地址拨码值并将其作为本模块地址、通过RS485串口接收上位机发送的数据包、将数据通过P1.0-P1.7并口传送给从片。
从片作用有接收主片传来的数据包,将其分组根据规定的协议加上显示终端模块的地址通过RS232串口发送给显示终端。
地址拨码为一个8位拨码开关,用于设置每个集中器模块的硬件地址。
优点有:
采用两片各带一个串口的廉价51内核单片机实现两个串口功能,取代较昂贵的带两个串口单片机,较大幅度降低了生产成本。
图2集中器数据转发模块实物图
图3集中器数据转发模块电路原理图
图4集中器数据转发模块PCB图
图5
4.2集中器数据转发模块设计
集中器数据转发模块(显示器)功能是把单元控制器传来的数据在数码管上显示出来,设计使用4只数码管,使其最大显示数据为9999,大大超过实际分发量。
又因需要有左右屏显示,为加以区别,左屏使用4只红光数码管,右屏使用4只绿灯数码管。
数码管的显示一般有动态显示和静态显示,由于每个格口有左右屏共8只数码管,因为数码管电流较大,为降低功耗,我们使用动态显示方法。
其原理图、PCB印刷电路板图、实物图见图6~图10。
图6显示终端模块实物图正面
上图中模块左边LED数码管为红色,右边为绿色。
颜色不同是为了让两组人员分发时不会混淆自己的。
图7显示终端模块实物图反面
实物图反面左右两边金属壳插座为RJ45,用于数据和电源线接口,左边为接入端,右边接出端接到下一个显示终端模块。
图8显示终端模块电路原理图
图9显示终端模块PCB图
图10
4.2.1显示终端模块硬件结构框图说明:
STC12C2052单片机为显示模块控制核心,作用有控制RS232串口(UART)收发、识别地址拨码值并将其作为本模块地址、控制驱动电路点亮LED数码管显示。
RS232串口用于同集中器数据转发模块进行数据通信,接收发来的显示数据包。
LED为8段数码显示,每个LED数码管可显示一个数字,设计采用8个数码管分两组显示数据,每组最大可显示数据9999,两组采用红色和绿色数码管,可同时进行显示。
地址拨码为一个5位拨码开关,用于设置每个模块的硬件地址。
五、软件设计
5.1集中器数据转发模块程序流程图
数据采用压缩BCD码格式,每个字节8位存放2个BCD码。
其中单元控制器地址中第0位为左右屏标志。
左屏为0,右屏为1。
5.1.1主片主程序流程图
5.1.2从片主程序流程图
从片采用外部中断方式响应接收主片通过P1口传来的数据,当收到规定97个字节数据(32*3个数据+1个左右屏标志)后,调用向显示终端模块发数据子函数。
从片向显示终端模块发送数据包格式为:
显示终端模块地址+32*3个字节BCD码数据
其中,显示终端模块地址中前4位包含了左右屏标志:
C为左屏,E为右屏
5.1.3从片中断子程序流程图
若左右屏标志错误,则收到数据全部赋ABH,显示终端模块收到后显示“————”。
表明数据出错。
5.2显示终端模块程序流程图
5.2.1显示终端模块主程序流程图
5.2.2显示终端模块串口接收中断程序流程图
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 报刊 分发 自动 显示 系统 开发 文档